Эти вводные лекции были прочитаны почти 40 лет назад. Фактическое их содержание невелико и могло быть изложено на вдвое меньшем числе страниц. Я думаю, однако, при знакомстве с любой научной дисциплиной эмоциональная сторона предмета не менее важна, чем фактическая. В серьёзных курсах вычислительной математики пропорции меняются. Но и там обсуждение основных идей и рассмотрение простых примеров часто играют большую роль, чем общие теоремы. За прошедшие десятилетия электронные вычислительные машины (компьютеры) чрезвычайно развились, и общение человека с ними стало совсем другим. Вычислительная математика за этот громадный срок тоже сильно изменилась. Однако стиль работы людей, решающих трудные научные или технические задачи, остался в главном таким, каким он был в 70-е годы (об этом немного сказано в первой лекции). Работа протекает примерно так. Для изучаемой проблемы выбирается ее математическая модель, и производятся расчеты – ставится численный эксперимент. Сопоставляются данные этих экспериментов с наблюдениями (данными опытов) и с теорией, если она разработана. Подправляется модель, снова производятся расчеты и т.д. При этом может возникать много "внутренних", вычислительных вопросов, с которыми нужно разбираться. Например, перестает работать какой-нибудь алгоритм, реализованный в стандартной программе или программном комплексе; или же он работает, но очень медленно. В каком-нибудь упрощенном варианте, где ответ известен, получается плохая точность и т.п. Наконец, если вычислительный эксперимент дает неожиданные интересные результаты, нужно убедиться, что они надежны и не являются артефактом. Разумеется, элементарных сведений, содержащихся в этих лекциях, недостаточно, чтобы разбираться с подобными вопросами. Цель их гораздо скромнее: объяснить, что не всегда можно полагаться на готовые компьютерные программы, и бывает нужно знать, какая вычислительная математика в них заложена. Э.Э.Шноль, июнь 2007 г.
В 1970–71 годах в Пущине и Москве проводилась подготовительная работа по созданию специализированного вычислительного центра "для нужд биологов". Базой для его развертывания могла служить лаборатория математического моделирования Института биологической физики, которой руководил А.М.Молчанов. Ему и было предложено организовать вычислительный центр. Я был приглашен А.М.Молчановым включиться в "математическое просвещение" сотрудников Пущинского научного центра биологических исследований. При поддержке тогдашнего Совета Научного центра и директора ИБФ Г.М.Франка был организован цикл лекций об элементах вычислительной математики. Аудитория состояла преимущественно из молодых людей, имеющих самые разные вузовские дипломы – физиков, химиков, биологов. Этот состав в основном определил стиль и содержание этого (вводного) курса. Просмотрев сейчас текст "свежим взглядом" спустя много лет, я, конечно, увидел в нем много недостатков. Один из крупных – полное отсутствие упоминания о задачах минимизации. В нескольких местах текста указывается, что тот или иной вопрос будет подробно разобран позже, в более систематическом курсе. Эти намерения мне удалось осуществить лишь в небольшой мере. Но потребность в таком, более продвинутом курсе для естествоиспытателей, на мой взгляд, сохраняется. Его бы следовало, наверное, прочесть, записать и опубликовать. Надеясь на реализацию этого замысла, я не стал ничего менять в записках лекций 1970 года. (август 1988 г., Пущино) 1. Я начну с нескольких общих замечаний на тему: в каком виде сейчас представляется положение дел в вычислительной математике специалистам-математикам. Вычислительная математика существует столь же давно, что и математика вообще, но за последние 20–25 лет произошел качественный скачок, связанный с появлением электронных вычислительных машин. Этот скачок привел к появлению нового метода изучения природы, а именно – к возможности проведения численного эксперимента. Можно сказать, что сейчас, кроме теоретического и естественно-экспериментального метода, существует еще третий – метод численного эксперимента. Это и есть то новое, что возникло в последние 20–25 лет. В методологическом смысле все три подхода равноправны, т.е. в зависимости от задачи, от области науки и, наконец, от сложившейся ситуации, первый, второй или третий подход к проблеме оказывается более успешным, более важным, необходимым и т.д. Соотношение между ними можно изобразить следующим образом:
Стрелки изображают связи: теория может проверяться численным экспериментом, численный эксперимент – физическим или наоборот. 2. Можно кратко обрисовать те случаи, когда численный эксперимент становится особенно важным или просто необходимым. Я попытался наметить три таких области, границы между которыми, конечно, можно провести лишь условно. Первая область задач охватывает те вопросы, для которых, можно сказать, теория разработана безупречно. Говоря языком математиков – уравнения абсолютно достоверны, но эксперимент поставить трудно или вообще невозможно. Роль численного эксперимента при этом необычайно высока. Самый, пожалуй, яркий пример этому – проблемы небесной механики, или же, в современном аспекте – проблемы космической динамики. Уравнения, с которыми имеем дело, это уравнения динамики. Они бесспорны. Но, скажем, если речь идет о выработке программы полета к Луне, то раньше, чем полетит к ней реальный объект, проводятся расчеты множества траекторий с оптимизацией нужных параметров и т.д., и без подобного численного эксперимента были бы невозможны успешные полеты. В эту же группу задач, очевидно, входит и знаменитая проблема трех тел. Здесь численный эксперимент оказывается полезным уже не для чисто практических целей, а для выяснения сложных теоретических вопросов. Вторая область задач охватывает те вопросы, когда явления в общем понятны, но имеются неизвестные нам параметры. Мы же, имея данные эксперимента, хотим выяснить, каковы эти параметры. Один из ярких примеров этому – проблема внутреннего строения звезд. Там, внутри звезд, происходят ядерные реакции, которые в настоящее время детально изучены, есть теория механической устойчивости звезд, но вместе с тем есть и множество неясностей. Например, мы не знаем химический состав звезды (от него зависит очень много!), не известны условия в центре и т.д., словом – нет характеристик, которые не поддаются прямому измерению. В нашем распоряжении имеется тем не менее, достаточно много данных: спектры, поверхностная температура, масса. Чтобы достигнуть понимания того, что происходит в звездах, – нам необходимо построить такие модели внутреннего строения звезд, которые давали бы нужные значения внешних наблюдаемых параметров. Здесь, по-видимому, более 95% известных сведений получено из численных экспериментов. В ходе таких экспериментов выясняются тонкие детали строения звезд. Например, различные ядерные реакции могут протекать в различных слоях (зонах). Есть случаи, когда таких зон было найдено до 10. Довольно успешно удавалось также проследить и эволюцию звезды во времени. Третья область задач – изучение очень сложных явлении, когда протекают одновременно и взаимодействуют множество элементарных процессов. Грубо говоря, теория известна лишь в общих чертах, и с точки зрения формального математика тут нечего решать, так как не написаны сами уравнения. В этих случаях можно не пытаться сразу объяснить явление в целом, а вместо этого получить некоторые частные сведения, используя упрощенные "модели". При рассмотрении ряда моделей можно будет, хотя бы в принципе, добиться нужного понимания наблюдаемых явлений. К этой области задач относятся современные задачи газовой динамики, и в качестве примера рассмотрим стандартную газодинамическую задачу: тело сложной формы летит с большой скоростью. Во время полета оно сильно разогревается, начинается диссоциация молекул газа, затем, при более высоких температурах – ионизация, может статься, что тело начнет плавиться и т.д. Картина явления, в целом, необычайно сложна, и описать ее математически точно не представляется возможным. Что делают в таком случае? Берут несколько упрощенных задач, заведомо зная, что они не отвечают действительности, и получают для них решения. Ну, например, тело имеет "хитрую" форму и рассмотрение его движения строго математически исследователи дать не могут. Тогда они заменяют его конусом и говорят: "Эту задачу мы можем решить точно и это решение может быть полезно при рассмотрении движения тел другой формы". Вторую разновидность задач этой области (не отделенную резко от первой) составляют проблемы, в которых мы не знаем всех элементарных процессов и не ставим себе целью их полное изучение. Вместо этого мы строим (по возможности простые) математические модели, правильно описывающие то, что происходит в природе. Сюда относится, в частности, большое количество задач химической кинетики. Таким образом, в этой области задач речь может идти: а) о расчете идеализированных вариантов поставленной задачи; б) о подборе механизма, дающего совпадение с наблюдаемыми эффектами. Постановка численного эксперимента сводится при этом к построению моделей и решению уравнений, описывающих эти модели. Вот таковы, приблизительно, те проблемы, в которых численный эксперимент играет важную роль. Естественно, можно привести примеры и противоположного свойства, когда от численного эксперимента никакой пользы нет, но на этом я останавливаться не буду. 3. Сама вычислительная математика с появлением возможности проведения численного эксперимента изменила свой дух; рассматриваемые проблемы настолько усложнились, что точные теоремы в реальных задачах доказываются лишь в исключительных случаях. Вкратце положение дел сейчас таково. Математикам удается, следуя своим математическим традициям, строго доказать теоремы для простейших моделей, и поэтому вся область собственно вычислительной математики состоит как бы из двух подобластей: малой подобласти, где рассматриваются сравнительно простые задачи и где результаты рассмотрения можно представить в виде серии теорем, и громадной подобласти, связанной с решением практических задач, где никаких теорем нет. Здесь успехи в решении задачи связаны с проведением численных экспериментов. Придумаем модель. Посчитаем. Получилось – хорошо, не получилось – подумаем в чем дело, пересмотрим исходную модель и т.д. Такова стандартная схема работы современного вычислителя. Чтобы понять "до какой степени нет теорем" в реальных задачах, я приведу единственный пример. Сейчас значительный процент машинного времени во всех странах тратится на решение задач газовой динамики и гидродинамики. Между тем у математиков нет теоремы, которая бы утверждала очень скромную вещь: решение этих задач существует. Уравнения (в простейшем варианте) написаны около 200 лет назад, а теоремы, которая бы утверждала, что решение существует, нет и сегодня, т.е. нет того, с чего, казалось бы, математик должен бы был начинать. Резюмируя, можно сказать, что вычислительная математика является сейчас полуэкспериментальной наукой. Во всяком случае считать ее просто разделом математики, я думаю, уже нельзя. Вместе с тем не надо забывать, что вычислительная математика опирается на все громадное здание современного Математического Анализа (и алгебры), используя подчас глубокие и абстрактные математические теоремы. 4. То, что я думаю рассказать, наполовину или даже более можно было бы изложить в виде точных теорем. Но я буду больше стремиться объяснить суть дела, чем доказывать теоремы, даже тогда, когда это возможно сделать. В целом я думаю, что разумно принять порядок, который был когда-то в средней школе – порядок концентрического изложения. Мне кажется, что для курса вычислительной математики стоит сделать 3 концентра. Сначала – основные идеи и общие соображения, затем – более глубоко – основы, а затем отдельные избранные вопросы со всеми подробностями. В первом концентре, с которого я начну, я буду доказывать очень мало, и даже точные формулировки будут приводиться не всегда. Позже можно будет сделать необходимые уточнения. Первую тему можно назвать так: интегрирование обыкновенных дифференциальных уравнений. Более точно, мы будем заниматься сегодня начальной задачей, или задачей Коши, для обыкновенных дифференциальных уравнений. При этом я немного нарушу традиции. Ни в одном курсе вычислительной математики эта тема не является первой, она в лучшем случае излагается где-нибудь "в серединке". По степени же практической важности эта тема является одной из важнейших. Учитывая это, а также то, что для понимания сути дела нам потребуются минимальные сведения из математики (только то, что дифференциальные уравнения – это вещь полезная, что их нужно решать, и сверх того – лишь формула Тейлора), я решил начать изложение с этой темы. Эммануил Эльевич Шноль Несколько лет преподавал в средней школе и в Московском физико-техническом институте. Опыт чтения лекций в МФТИ, конечно, сказался на содержании этой брошюры. Около четверти века Э.Э.Шноль был сотрудником Института прикладной математики АН СССР, который носит теперь имя М.В.Келдыша. С 1970 года автор работает в Пущинском Центре биологических исследований Российской академии наук. |