URSS.ru Магазин научной книги
Обложка Шноль Э.Э. Семь лекций по вычислительной математике Обложка Шноль Э.Э. Семь лекций по вычислительной математике
Id: 233929
399 р.

Семь лекций по вычислительной математике Изд. 4

URSS. 2018. 112 с. ISBN 978-5-9710-5103-9.
Типографская бумага

Аннотация

Предмет этих лекций --- первоначальное знакомство с вычислительной математикой. Они рассчитаны на широкий круг читателей, не специализирующихся в этой области.

Студентам, обучающимся по специальностям "Математика", "Прикладная математика", "Физика", и лицам, преподающим вычислительную математику, могут быть интересны отдельные замечания, сделанные в лекциях 1–3 и 7. (Подробнее)


Содержание
top
Предисловие к третьему изданию
Предисловие
Лекция 1.Общее введение
Задача Коши для обыкновенных дифференциальных уравнений
 1. Постановка задачи Коши
 2. Теоретическое отступление
 3. Стандартная запись
 4. Метод Эйлера
 5. Более точные методы: использование старших производных
 6. Более точные методы: многократное использование заданного уравнения
 7. Идея Адамса: использование уже найденного участка решения для приближенного вычисления старших производных
 8. Исторические и другие-замечания
 9. Пример
 Дополнения и примечания к I лекции
Лекция 2.Системы линейных уравнений. Метод исключения
 1. Метод исключения
 2. Трудности в методе исключения
 3. Трудности, связанные с приближенностью вычислений. Исключение с выбором главного элемента
 4. Всегда ли метод исключения с выбором главного элемента дает разумный результат?
 5. О трудоемкости метода исключения для общей системы n линейных уравнений
 6. Пример: трехдиагональная система
 7. Метод исключения и определители
 8. Решение системы линейных уравнений и обращение матриц
 Примечания ко 2 лекции
Лекция 3.Нелинейные уравнения. Метод последовательных приближений
 1. Локальная постановка задачи
 2. Линеаризация
 3. Метод Ньютона
 4. Поведение последовательности x(s)
 5. Алгебраические уравнения
 6. Огрубленный метод Ньютона
 7. Метод Ньютона как метод итераций
 8. Достаточное условие сходимости итераций
 9. Добавления и уточнения к теореме о сходимости
 10. Сходимость огрубленного метода Ньютона для некратного корня
 11. Сходимость метода Ньютона
 12. Система двух уравнений
 13. Система уравнений. Метод Ньютона
 14. О сходимости метода Ньютона для системы уравнений
 15. Итерации в системах
 16. Процесс итераций в линейном приближении
 Заключительные замечания. Последовательные приближения для решения линейных систем
Лекция 4.Приближенное дифференцирование и интегрирование
 1. Приближенное нахождение производной
 2. Вычисление второй производной
 3. Приближенное нахождение определенного интеграла
 4. Формула Симпсона
 5. Свойства формулы Симпсона
 6. Старшие производные
 7. Примеры дискретных задач, отвечающих задачам анализа
 8. Линейные дифференциальные и линейные разностные уравнения
 9. Три примера
Лекция 5.Уравнения в частных производных. Проблема устойчивости разностных аппроксимаций
 1. Вводные замечания
 2. Уравнения
 3. Простейшие разностные аппроксимации
 4. Теорема
 5. Определение устойчивости
 6. Пояснения и замечания к определению устойчивости
 7. Обнаружение неустойчивости разностных аппроксимаций по методу Фурье
 8. Пример доказательства устойчивости разностной схемы
Лекция 6.Уравнения в частных производных. Неявные разностные аппроксимации. Вопрос о точности приближений
 1. Простейшая неявная схема
 2. Решение уравнений на слое. Прогонка
 3. Об устойчивости неявной схемы (4)
 4. Еще один пример
 5. О необходимом условии устойчивости
 6. Типичная картина при возникновении неустойчивости
 7. Линеаризация и "замораживание" коэффициентов
 8. Понятие о точности разностных аппроксимаций дифференциальных уравнений
 9. Определение порядка точности при приближенном интегрировании обыкновенных дифференциальных уравнений
 10. Заключительные замечания
 Дополнения и примечания к 6 лекции
Лекция 7.Краевые задачи для обыкновенных дифференциальных уравнений
 1. Предварительные замечания
 2. Постановка задачи
 3. Способ решения краевой задачи, вытекающий из теории дифференциальных уравнений
 4. К чему может привести "сокращение знаков"
 5. Отступление. Что значит "хорошая" краевая задача?
 6. Разностная задача, отвечающая краевой задаче I
 7. Идея переноса граничных условий
 8. "Прогонка" для дифференциального уравнения y" + q(x)y = f(x)
 9. Аналогия с дискретной задачей
 Дополнение. Некоторые учебники по вычислительной математике

Предисловие к третьему изданию
top

Эти вводные лекции были прочитаны почти 40 лет назад. Фактическое их содержание невелико и могло быть изложено на вдвое меньшем числе страниц. Я думаю, однако, при знакомстве с любой научной дисциплиной эмоциональная сторона предмета не менее важна, чем фактическая.

В серьёзных курсах вычислительной математики пропорции меняются.

Но и там обсуждение основных идей и рассмотрение простых примеров часто играют большую роль, чем общие теоремы.

За прошедшие десятилетия электронные вычислительные машины (компьютеры) чрезвычайно развились, и общение человека с ними стало совсем другим. Вычислительная математика за этот громадный срок тоже сильно изменилась.

Однако стиль работы людей, решающих трудные научные или технические задачи, остался в главном таким, каким он был в 70-е годы (об этом немного сказано в первой лекции).

Работа протекает примерно так. Для изучаемой проблемы выбирается ее математическая модель, и производятся расчеты – ставится численный эксперимент. Сопоставляются данные этих экспериментов с наблюдениями (данными опытов) и с теорией, если она разработана. Подправляется модель, снова производятся расчеты и т.д. При этом может возникать много "внутренних", вычислительных вопросов, с которыми нужно разбираться. Например, перестает работать какой-нибудь алгоритм, реализованный в стандартной программе или программном комплексе; или же он работает, но очень медленно. В каком-нибудь упрощенном варианте, где ответ известен, получается плохая точность и т.п. Наконец, если вычислительный эксперимент дает неожиданные интересные результаты, нужно убедиться, что они надежны и не являются артефактом. Разумеется, элементарных сведений, содержащихся в этих лекциях, недостаточно, чтобы разбираться с подобными вопросами.

Цель их гораздо скромнее: объяснить, что не всегда можно полагаться на готовые компьютерные программы, и бывает нужно знать, какая вычислительная математика в них заложена.

Э.Э.Шноль, июнь 2007 г.

Предисловие
top

В 1970–71 годах в Пущине и Москве проводилась подготовительная работа по созданию специализированного вычислительного центра "для нужд биологов". Базой для его развертывания могла служить лаборатория математического моделирования Института биологической физики, которой руководил А.М.Молчанов. Ему и было предложено организовать вычислительный центр.

Я был приглашен А.М.Молчановым включиться в "математическое просвещение" сотрудников Пущинского научного центра биологических исследований. При поддержке тогдашнего Совета Научного центра и директора ИБФ Г.М.Франка был организован цикл лекций об элементах вычислительной математики. Аудитория состояла преимущественно из молодых людей, имеющих самые разные вузовские дипломы – физиков, химиков, биологов. Этот состав в основном определил стиль и содержание этого (вводного) курса. Просмотрев сейчас текст "свежим взглядом" спустя много лет, я, конечно, увидел в нем много недостатков. Один из крупных – полное отсутствие упоминания о задачах минимизации.

В нескольких местах текста указывается, что тот или иной вопрос будет подробно разобран позже, в более систематическом курсе. Эти намерения мне удалось осуществить лишь в небольшой мере. Но потребность в таком, более продвинутом курсе для естествоиспытателей, на мой взгляд, сохраняется. Его бы следовало, наверное, прочесть, записать и опубликовать. Надеясь на реализацию этого замысла, я не стал ничего менять в записках лекций 1970 года.

(август 1988 г., Пущино)


Общее введение
top

1. Я начну с нескольких общих замечаний на тему: в каком виде сейчас представляется положение дел в вычислительной математике специалистам-математикам.

Вычислительная математика существует столь же давно, что и математика вообще, но за последние 20–25 лет произошел качественный скачок, связанный с появлением электронных вычислительных машин.

Этот скачок привел к появлению нового метода изучения природы, а именно – к возможности проведения численного эксперимента. Можно сказать, что сейчас, кроме теоретического и естественно-экспериментального метода, существует еще третий – метод численного эксперимента. Это и есть то новое, что возникло в последние 20–25 лет.

В методологическом смысле все три подхода равноправны, т.е. в зависимости от задачи, от области науки и, наконец, от сложившейся ситуации, первый, второй или третий подход к проблеме оказывается более успешным, более важным, необходимым и т.д.

Соотношение между ними можно изобразить следующим образом:

dop

Стрелки изображают связи: теория может проверяться численным экспериментом, численный эксперимент – физическим или наоборот.

2. Можно кратко обрисовать те случаи, когда численный эксперимент становится особенно важным или просто необходимым. Я попытался наметить три таких области, границы между которыми, конечно, можно провести лишь условно.

Первая область задач охватывает те вопросы, для которых, можно сказать, теория разработана безупречно. Говоря языком математиков – уравнения абсолютно достоверны, но эксперимент поставить трудно или вообще невозможно. Роль численного эксперимента при этом необычайно высока. Самый, пожалуй, яркий пример этому – проблемы небесной механики, или же, в современном аспекте – проблемы космической динамики. Уравнения, с которыми имеем дело, это уравнения динамики. Они бесспорны. Но, скажем, если речь идет о выработке программы полета к Луне, то раньше, чем полетит к ней реальный объект, проводятся расчеты множества траекторий с оптимизацией нужных параметров и т.д., и без подобного численного эксперимента были бы невозможны успешные полеты.

В эту же группу задач, очевидно, входит и знаменитая проблема трех тел. Здесь численный эксперимент оказывается полезным уже не для чисто практических целей, а для выяснения сложных теоретических вопросов.

Вторая область задач охватывает те вопросы, когда явления в общем понятны, но имеются неизвестные нам параметры. Мы же, имея данные эксперимента, хотим выяснить, каковы эти параметры. Один из ярких примеров этому – проблема внутреннего строения звезд. Там, внутри звезд, происходят ядерные реакции, которые в настоящее время детально изучены, есть теория механической устойчивости звезд, но вместе с тем есть и множество неясностей. Например, мы не знаем химический состав звезды (от него зависит очень много!), не известны условия в центре и т.д., словом – нет характеристик, которые не поддаются прямому измерению. В нашем распоряжении имеется тем не менее, достаточно много данных: спектры, поверхностная температура, масса. Чтобы достигнуть понимания того, что происходит в звездах, – нам необходимо построить такие модели внутреннего строения звезд, которые давали бы нужные значения внешних наблюдаемых параметров.

Здесь, по-видимому, более 95% известных сведений получено из численных экспериментов. В ходе таких экспериментов выясняются тонкие детали строения звезд. Например, различные ядерные реакции могут протекать в различных слоях (зонах). Есть случаи, когда таких зон было найдено до 10. Довольно успешно удавалось также проследить и эволюцию звезды во времени.

Третья область задач – изучение очень сложных явлении, когда протекают одновременно и взаимодействуют множество элементарных процессов. Грубо говоря, теория известна лишь в общих чертах, и с точки зрения формального математика тут нечего решать, так как не написаны сами уравнения. В этих случаях можно не пытаться сразу объяснить явление в целом, а вместо этого получить некоторые частные сведения, используя упрощенные "модели". При рассмотрении ряда моделей можно будет, хотя бы в принципе, добиться нужного понимания наблюдаемых явлений. К этой области задач относятся современные задачи газовой динамики, и в качестве примера рассмотрим стандартную газодинамическую задачу: тело сложной формы летит с большой скоростью. Во время полета оно сильно разогревается, начинается диссоциация молекул газа, затем, при более высоких температурах – ионизация, может статься, что тело начнет плавиться и т.д. Картина явления, в целом, необычайно сложна, и описать ее математически точно не представляется возможным. Что делают в таком случае? Берут несколько упрощенных задач, заведомо зная, что они не отвечают действительности, и получают для них решения. Ну, например, тело имеет "хитрую" форму и рассмотрение его движения строго математически исследователи дать не могут. Тогда они заменяют его конусом и говорят: "Эту задачу мы можем решить точно и это решение может быть полезно при рассмотрении движения тел другой формы". Вторую разновидность задач этой области (не отделенную резко от первой) составляют проблемы, в которых мы не знаем всех элементарных процессов и не ставим себе целью их полное изучение. Вместо этого мы строим (по возможности простые) математические модели, правильно описывающие то, что происходит в природе. Сюда относится, в частности, большое количество задач химической кинетики. Таким образом, в этой области задач речь может идти:

а) о расчете идеализированных вариантов поставленной задачи;

б) о подборе механизма, дающего совпадение с наблюдаемыми эффектами. Постановка численного эксперимента сводится при этом к построению моделей и решению уравнений, описывающих эти модели.

Вот таковы, приблизительно, те проблемы, в которых численный эксперимент играет важную роль. Естественно, можно привести примеры и противоположного свойства, когда от численного эксперимента никакой пользы нет, но на этом я останавливаться не буду.

3. Сама вычислительная математика с появлением возможности проведения численного эксперимента изменила свой дух; рассматриваемые проблемы настолько усложнились, что точные теоремы в реальных задачах доказываются лишь в исключительных случаях.

Вкратце положение дел сейчас таково. Математикам удается, следуя своим математическим традициям, строго доказать теоремы для простейших моделей, и поэтому вся область собственно вычислительной математики состоит как бы из двух подобластей: малой подобласти, где рассматриваются сравнительно простые задачи и где результаты рассмотрения можно представить в виде серии теорем, и громадной подобласти, связанной с решением практических задач, где никаких теорем нет. Здесь успехи в решении задачи связаны с проведением численных экспериментов. Придумаем модель. Посчитаем. Получилось – хорошо, не получилось – подумаем в чем дело, пересмотрим исходную модель и т.д. Такова стандартная схема работы современного вычислителя.

Чтобы понять "до какой степени нет теорем" в реальных задачах, я приведу единственный пример. Сейчас значительный процент машинного времени во всех странах тратится на решение задач газовой динамики и гидродинамики. Между тем у математиков нет теоремы, которая бы утверждала очень скромную вещь: решение этих задач существует. Уравнения (в простейшем варианте) написаны около 200 лет назад, а теоремы, которая бы утверждала, что решение существует, нет и сегодня, т.е. нет того, с чего, казалось бы, математик должен бы был начинать.

Резюмируя, можно сказать, что вычислительная математика является сейчас полуэкспериментальной наукой. Во всяком случае считать ее просто разделом математики, я думаю, уже нельзя. Вместе с тем не надо забывать, что вычислительная математика опирается на все громадное здание современного Математического Анализа (и алгебры), используя подчас глубокие и абстрактные математические теоремы.

4. То, что я думаю рассказать, наполовину или даже более можно было бы изложить в виде точных теорем. Но я буду больше стремиться объяснить суть дела, чем доказывать теоремы, даже тогда, когда это возможно сделать.

В целом я думаю, что разумно принять порядок, который был когда-то в средней школе – порядок концентрического изложения. Мне кажется, что для курса вычислительной математики стоит сделать 3 концентра. Сначала – основные идеи и общие соображения, затем – более глубоко – основы, а затем отдельные избранные вопросы со всеми подробностями.

В первом концентре, с которого я начну, я буду доказывать очень мало, и даже точные формулировки будут приводиться не всегда. Позже можно будет сделать необходимые уточнения.

Первую тему можно назвать так: интегрирование обыкновенных дифференциальных уравнений. Более точно, мы будем заниматься сегодня начальной задачей, или задачей Коши, для обыкновенных дифференциальных уравнений.

При этом я немного нарушу традиции. Ни в одном курсе вычислительной математики эта тема не является первой, она в лучшем случае излагается где-нибудь "в серединке". По степени же практической важности эта тема является одной из важнейших. Учитывая это, а также то, что для понимания сути дела нам потребуются минимальные сведения из математики (только то, что дифференциальные уравнения – это вещь полезная, что их нужно решать, и сверх того – лишь формула Тейлора), я решил начать изложение с этой темы.


Об авторе
top
Эммануил Эльевич Шноль

Несколько лет преподавал в средней школе и в Московском физико-техническом институте. Опыт чтения лекций в МФТИ, конечно, сказался на содержании этой брошюры.

Около четверти века Э.Э.Шноль был сотрудником Института прикладной математики АН СССР, который носит теперь имя М.В.Келдыша. С 1970 года автор работает в Пущинском Центре биологических исследований Российской академии наук.