He estado leyendo el libro Computer Simulation of Liquids de Allen y Tildesley. A partir de la página 71, los autores analizan los diversos algoritmos que se utilizan para integrar las ecuaciones de movimiento de Newton en simulaciones de dinámica molecular (DM). A partir de la página 78, los autores discuten el algoritmo Verlet, que es quizás el algoritmo de integración canónica en MD. Ellos declaran:
Quizás el método más utilizado para integrar las ecuaciones de movimiento es el adoptado inicialmente por Verlet (1967) y atribuido a Stormer (Gear 1971). Este método es una solución directa de la ecuación de segundo orden . El método se basa en las posiciones , las aceleraciones y las posiciones del paso anterior. La ecuación para avanzar las posiciones dice lo siguiente:r ( t ) a ( t ) r ( t - δ t )
Hay varios puntos a tener en cuenta sobre la ecuación (3.14). Se verá que las velocidades no aparecen en absoluto. Se han eliminado mediante la adición de las ecuaciones obtenidas por la expansión de Taylor sobre :
Luego, más tarde (en la página 80), los autores declaran:
Contra el algoritmo de Verlet, ... la forma del algoritmo puede introducir innecesariamente alguna imprecisión numérica. Esto surge porque, en la ecuación (3.14), se agrega un término pequeño ( ) a una diferencia de términos grandes ( ), para generar la trayectoria. O ( δ t 0 )
Supongo que el "término pequeño" es , y la "diferencia de términos grandes" es .
Mi pregunta es, ¿por qué la imprecisión numérica resulta de agregar un término pequeño a una diferencia de términos grandes?
Estoy interesado en una razón conceptual bastante básica, ya que no estoy familiarizado con los detalles de la aritmética de coma flotante. Además, ¿conoce alguna referencia de "tipo general" (libros, artículos o sitios web) que me presente ideas básicas de aritmética de coma flotante relacionadas con esta pregunta? Gracias por tu tiempo.