Análisis numérico se utiliza para calcular aproximaciones a cosas: el valor de una función en un punto determinado, dónde está la raíz de una ecuación o las soluciones de un conjunto de ecuaciones diferenciales. Se trata de un tema enorme e importante, ya que en la práctica la mayoría de los problemas reales de matemáticas, ciencia y tecnología no tendrán una solución explícita. solución de forma cerrada (y aunque así fuera, quizá no fuera posible calcular con una precisión infinita; al fin y al cabo, los ordenadores representan los números con una precisión finita). En general, existe un equilibrio entre precisión y velocidad de cálculo.
Para el problema de los tres cuerpos tenemos tres masas puntuales en posiciones iniciales $\mathbf{x}_i(0)$ con velocidades $\mathbf{v}_i(0)$ que queremos calcular para momentos posteriores $t$ . Matemáticamente queremos encontrar la solución del sistema $$\mathbf{x}'_i(t)=\mathbf{v}_i(t),$$ $$\mathbf{v}'_i(t)=\mathbf{f}_i(t)/m_i,$$ $$\mathbf{f}_i(t)=Gm_i \sum_{j\neq i} \frac{m_j(\mathbf{x}_j-\mathbf{x}_i)}{||\mathbf{x}_i-\mathbf{x}_j||^3}.$$
El método obvio es pensar "si avanzamos un pasito $h$ en el tiempo, podemos aproximar todo para que sea lineal", así que hacemos una fórmula donde calculamos el estado en el tiempo $t+h$ del estado en el momento $t$ (y así sucesivamente para $t+2h$ en adelante): $$\mathbf{x}_i(t+h)=\mathbf{x}_i(t)+h\mathbf{v}_i(t),$$ $$\mathbf{v}_i(t+h)=\mathbf{v}_i(t)+h\mathbf{f}_i(t).$$ Esto se llama Método de Euler . Es sencillo pero tiende a ser impreciso; el error por paso es de $\approx O(h^2)$ y tienden a acumularse. Si lo intentas para un problema de dos cuerpos hará que las masas en órbita realicen una órbita de roseta en precesión debido a la acumulación de errores, especialmente cuando se acercan la una a la otra.
Hay una colección de métodos para la resolución numérica de EDO. Se pueden utilizar métodos de orden superior que muestrean las funciones en más puntos y, por tanto, las aproximan mejor. Existen métodos implícitos que en lugar de intentar encontrar un estado en un momento posterior basándose únicamente en el estado actual busque un estado tardío e intermedio autoconsistente. La mayoría de los métodos serios para resolver EDOs también reducirán el tamaño del paso $h$ cuando las fuerzas aumentan durante los encuentros cercanos para garantizar que la precisión siga siendo aceptable. Como ya he dicho, se trata de un gran tema.
Sin embargo, en el caso de las simulaciones mecánicas, es posible que le interesen los métodos diseñados para preservar la energía y otras magnitudes conservadas ( métodos simplécticos - son los que utilizan los profesionales para calcular la órbita a largo plazo). Quizá el más sencillo sea el método de Euler semiimplícito . También existe la Método Verlet y integración leapfrog . Me gusta el método de Euler semiimplícito porque es supersencillo (pero al ser un método de primer orden sigue sin ser terriblemente preciso): $$\mathbf{v}_i(t+h)=\mathbf{v}_i(t)+h\mathbf{f}_i(t),$$ $$\mathbf{x}_i(t+h)=\mathbf{x}_i(t)+h\mathbf{v}_i(t+h).$$ ¿Ves la diferencia? Primero calculas la velocidad actualizada y luego la utilizas para actualizar las posiciones: un pequeño truco, pero de repente las órbitas de 2 cuerpos se comportan bien.
El problema de los tres cuerpos es caótico en un verdadero sentido matemático. Sabemos que hay situaciones en las que pequeñas diferencias en las condiciones iniciales se convierten en diferencias arbitrariamente grandes en las posiciones posteriores (incluso si descartamos los pasos supercercanos entre masas). Por tanto, incluso con una precisión numérica arbitraria, habrá un momento en el que nuestras órbitas calculadas serán totalmente erróneas. El "estilo" general de la trayectoria puede seguir siendo correcto, por lo que está bien jugar con Euler semiimplícito siempre que no se esté planeando ninguna misión espacial basada en los resultados.