Mecanique celeste: поцелуями не то что "в лоб"
АрхивСтатья "Разборки второго уровня", опубликованная мной в 327 номере "Компьютерры", вызвала в мой адрес некоторое количество замечаний. Их авторы нашли противоречие между моими словами о том, что "задачи небесной механики... нельзя решать "в лоб", численно интегрируя уравнения движения...", и тем, что в справочниках по небесной механике приводятся эфемериды планет, полученные ПУТЕМ ЧИСЛЕННОГО ИНТЕГРИРОВАНИЯ.
Раскрою свою мысль подробнее, а заодно и попытаюсь, насколько это возможно в рамках колонки, ознакомить читателей с одним крайне интересным и полезным разделом математики. Сразу оговорюсь, что мои описания будут достаточно нестрогими, иначе они потребовали бы десятка томов.
Итак, что я имел в виду, говоря о численном интегрировании уравнений движения "в лоб"? Те из читателей, кто знаком с "Фейнмановскими лекциями по физике", возможно, помнят, что в первом томе, в главке "Движение планет" замечательный американский физик приводил пример с численным интегрированием динамических уравнений Ньютона, описывающих движение планеты вокруг Солнца ("Фейнмановские лекции по физике", т. 1. - М.: 1976).
Там он наглядно показывал, как, численно интегрируя с помощью таблиц и логарифмической линейки уравнения
m(dvx/dt)=-GMmx/r3;
m(dvy/dt)=-GMmy/r3;
r=(x2+y2)1/2,
можно всего лишь за двадцать шагов интегрирования проследить половину пути планеты вокруг Солнца!
Особый восторг Фейнмана, читавшего эту лекцию в 1961 году, вызывало появление быстродействующих счетных машин, позволяющих выполнять за одну секунду целых сто тысяч операций умножения и целый миллион целочисленных операций сложения!!! Фейнман указывал, что всего лишь за 130 секунд такая машина проинтегрирует цикл обращения Юпитера вокруг Солнца с достаточно низкой погрешностью!
Именно такое решение задачи и подразумевалось мной под решением "в лоб". Ричард Фейнман использовал его для демонстрации первокурсникам мощи даже элементарных формул физики и даже самых простых методов вычислительной математики. И для решения большого количества инженерных задач такие методы вполне подходят. Поэтому многие, видя упоминание о том, что задача была решена ЧИСЛЕННО, предполагают, что именно так просто все и делалось.
Реальность же значительно сложней. При численном решении уравнений неизбежно накапливаются ошибки. И методические, связанные с тем, что природа по своей сути на исследуемых уровнях скорее аналогова, чем дискретна, и чисто вычислительные, связанные с ограниченностью длины разрядной сетки процессора. Последних можно избежать, пользуясь переменными удвоенной длины или еще большими. Помню, в советские времена астрономы очень любили машину "Мир", позволявшую очень просто производить вычисления с числами большой разрядности. Правда, реализовать такие алгоритмы можно на любом языке высокого уровня. Это приводит лишь к увеличению объема вычислений. При простейших реализациях - пропорционально квадрату увеличения размерности числа, при более изощренных - значительно меньшей... Сегодня алгоритмы такого рода чаще используются для решения задач криптографии, чем для вычислений...
От методической же погрешности при численном решении невозможно избавиться В ПРИНЦИПЕ. Аналоговость мира, цикличность многих процессов, исследуемых математической физикой, приводит к тому, что такие задачи "в лоб" не решаемы. (Естественно, если речь идет об интегрировании уравнений на достаточно длинном интервале.) Прошу отметить: здесь речь не идет о неразрешимости типа той, которая описывается "теорией хаоса". Нет, здесь дело просто в неприменимости одних методов математики к решению задач другого рода.
Более подробно о затруднениях и путях их решения можно прочитать в замечательной работе академика Никиты Николаевича Моисеева "Асимптотические методы нелинейной механики". - М.: 1969. ("Компьютерра" как-то брала интервью у этого видного ученого). Популярно (в ущерб точности) суть таких методов, наверное, можно описать следующим образом. Существуют классы задач, которые методически невозможно решать численно. Вроде задачи об обращении искусственного спутника вокруг Земли по низкой орбите при атмосферных, приливных, солнечно-ветряных и пр. воздействиях; даже если пренебречь объемом вычислений, через несколько тысяч обращений ошибки станут неимоверны...
Хотелось бы иметь аналитическое решение этой задачи - вроде кеплеровских законов движения. Подставил в него числа, соответствующие 2746839-му обороту, - и получил ТОЧНОЕ решение! Но аналитически такие задачи тоже не решаются: увы, мир, в котором мы живем, описывают дифференциальные уравнения, которые в общем случае неинтегрируемы. Так как же быть?
Выход из сложившейся ситуации нашел французский астроном Жозеф-Луи Лагранж (1736-1813) задолго до эпохи компьютеров. Им был предложен метод, с галльским остроумием названный методом оскулирующих элементов. (Osculatio по-латыни значит "поцелуй".) По этому методу ищутся аналитические решения уравнений движения с замороженными возмущающими параметрами, а потом вносятся вариационные поправки.
Не менее остроумный основатель московской школы небесной механики Николай Дмитриевич Моисеев говорил, что такое название метода отражает тесную, интимную близость возмущенной и невозмущенной орбит. Подробнее о таких методах можно прочитать в: Дубошин Г. Н. "Небесная механика. Основные задачи и методы". - М.: 1968. Правда, надо отметить, что труд этот требует для своего понимания математической подготовки, заметно выходящей за рамки программы технических вузов, включая фундаментальное знакомство с уравнениями математической физики. Для широкого читателя же отметим, что в данном случае одинаково важно и нахождение аналитически решаемых асимптотических решений, и численное решение уравнений возмущенного движения на КОНКРЕТНЫХ интервалах.
Методы, аналогичные упомянутым выше, применяются не только в небесной механике. Опасаясь проблем, аналогичным тем, что возникли у питерского эколога каперанга Никитина, ограничусь лишь историческими примерами.
Есть стихи:
Он поверял размер стиха таблицей,
Суровою таблицею стрельбы.
Сказано это было об Алексее Лебедеве, штурмане балтийской субмарины, погибшем осенью 1941-го. А вот строки самого Лебедева:
...и я беру ее с собой,
Рассчитанную методом Сиаччи,
Подругу управляющих огнем.
В докомпьютерную эпоху баллистические таблицы рассчитывались "праасимптотическими методами" - Сиаччи, "транспортирующих эллипсов" и т. д. Дело тогда было не в методической погрешности, а просто в объеме вычислений...