Я читал книгу Аллена и Тилдесли « Компьютерное моделирование жидкостей ». Начиная со страницы 71, авторы обсуждают различные алгоритмы, которые используются для интеграции уравнений движения Ньютона в моделирование молекулярной динамики (МД). Начиная со страницы 78, авторы обсуждают алгоритм Верле, который, возможно, является каноническим алгоритмом интегрирования в MD. Они заявляют:
Возможно, наиболее широко используемый метод интегрирования уравнений движения - это метод, первоначально принятый Верле (1967) и приписанный Штормеру (Gear 1971). Этот метод является прямым решением уравнения второго порядка . Метод основан на позициях , ускорениях и позициях из предыдущего шага. Уравнение для продвижения позиций выглядит следующим образом:
Следует отметить несколько моментов, касающихся уравнения (3.14). Будет видно, что скорости не появляются вообще. Они были устранены путем сложения уравнений, полученных разложением Тейлора по :
Затем, позже (на странице 80), авторы утверждают:
Против алгоритма Верле, ... форма алгоритма может излишне вводить некоторую числовую неточность. Это возникает потому , что, в уравнении (3.14), маленький член ( ) добавляют к разности больших членов ( O ( δ т 0 ) ), для того , чтобы генерировать траекторию.
Я полагаю , что «малый термин» является , а «разность больших терминов» является 2 г ( т ) - г ( т - δ т ) .
Мой вопрос: почему численная неточность является результатом добавления маленького термина к разнице больших?
Меня интересует довольно базовая концептуальная причина, поскольку я совсем не знаком с деталями арифметики с плавающей запятой. Кроме того, знаете ли вы какие-либо «обзорные» ссылки (книги, статьи или веб-сайты), которые познакомили бы меня с основными идеями арифметики с плавающей точкой, связанной с этим вопросом? Спасибо за ваше время.