Источник: Министерство образования Российской Федерации. Нижегородский государственный университет им. Н.И. Лобачевского. Учебное пособие. Издание 2-е, дополненное. Издательство Нижегородского госуниверситета. Нижний Новгород. 2003 г.
Главным делом жизни вашей
Может стать любой пустяк.
Надо только твердо верить,
Что важнее дела нет.
И тогда не помешает
Вам ни холод, ни жара,
Задыхаясь от восторга,
Заниматься чепухой.
Г. Остер. Из книги "Вредные советы"
Настоящий текст посвящен изложению теоретических основ приближенных
методов решения обыкновенных дифференциальных уравнений. Он написан на
основе курса лекций, которые автор читал в
Здесь представлены одно- и многошаговые методы решения задачи
Коши, описаны понятия аппроксимации, устойчивости и сходимости
разностных схем, приведены признаки сходимости, изложены методы решения
жестких уравнений. Для краевых задач описаны методы стрельбы,
конечно-разностные и проекционные методы решения. Кроме того, в третьей
главе совсем кратко описаны приближенные методы решения интегральных
уравнений. Основное внимание уделяется идейной стороне вопроса,
конкретные методы решения описываются лишь как иллюстративный материал,
очень мало обсуждаются алгоритмические вопросы. Как правило, мы
старались обращать внимание на геометрическую, а не на аналитическую
суть описываемых методов.
§ 1.1. Сведения из теории обыкновенных дифференциальных уравнений. Постановки задач
Наконец общество начинает сознавать, что на нем лежит
Д.И. Писарев.. Народные книжки
В этом параграфе кратко напоминаются основные сведения из теории обыкновенных дифференциальных уравнений, описываются возможные методы приближенного решения задачи Коши и постановка задачи о разностных методах решения задачи Коши.
1.1.1. Воспоминания о курсе "Обыкновенные дифференциальные уравнения"
Если не оговорено противное, мы будем рассматривать систему обыкновенных дифференциальных уравнений первого порядка, разрешенных относительно старшей производной,
x′ = f(t, x), | (E) |
где f: R×Rm → Rm непрерывная функция.
На протяжении всего курса Rm m-мерное линейное вещественное пространство. Мы всегда считаем, что в Rm фиксирован базис и отождествляем Rm с координатным m-мерным вещественным пространством: точки из
x′1= f1(t, x1, ..., xm), |
... |
x′m= fm(t, x1, ..., xm), |
в которой x = (x1, ..., xm), а
Решением уравнения (E) на промежутке [a, b] называется функция
φ′(t) ≡ f(t, φ(t)), t ∈ [a, b]. |
График решения (лежащий, по определению, в расширенном фазовом пространстве
В общей ситуации, уравнение (E) имеет бесконечное множество решений (точнее, m-параметрическое семейство решений). Для того чтобы выделить одно из них, нужны дополнительные условия (уравнения). Такие условия могут быть различными. В этой главе рассматривается только один вид дополнительных условий, так называемые начальные условия требование, чтобы решение в заданной точке принимало заданное значение:
x(t0) = x0. | (C) |
Задача о нахождении решения уравнения (E), удовлетворяющего начальному условию (C), называется задачей Коши. Обозначение "задача Коши
|
Говорят, что функция f удовлетворяет условию Липшица по второму аргументу, если
∃(L) ∀(t ∈ R; x, y ∈ Rm) [||f(t, x) f(t, y)|| ≤ L||x y||] |
(число L называется константой Липшица).
Фундаментальное в теории обыкновенных дифференциальных уравнений утверждение о разрешимости задачи
Теорема
Всюду ниже мы всегда будем предполагать, что
|
Простым достаточным условием выполнения условия Липшица является следующее утверждение. Если функция f дифференцируема по второму аргументу и ее производная равномерно ограничена некоторой константой L:
Это же утверждение в "координатной форме": если функции
Несколько слов о геометрической трактовке уравнения (E). В каждой точке расширенного фазового пространства это уравнение задает направление касательной к интегральной кривой, поскольку предписывает, чему должна равняться производная
(
Утверждение о гладкости решений.
1.1.2. Для чего нужны дифференциальные уравнения и чего мы от них хотим?
Дифференциальные уравнения являются инструментом познания мира и, как всякий инструмент, они развиваются и самосовершенствуются. Поэтому с точки зрения теории это самодостаточный объект. С прикладной же точки зрения дифференциальные уравнения описывают окружающий нас мир, и с их помощью мы можем узнавать о нем новое. "Познание мира" с помощью дифференциальных уравнений обычно состоит из двух этапов: составление модели (дифференциального уравнения, описывающего то или иное явление) и исследование получившейся модели.
Нас интересует в данном курсе второй этап. Поскольку именно решения описывают те или иные природные процессы, в конечном счете прикладнику важна информация именно о них. Большáя часть теории обыкновенных дифференциальных уравнений посвящена изучению решений в случаях, когда оно точно не известно. Это так называемая качественная теория обыкновенных дифференциальных уравнений. К ней относится, например, теория устойчивости, позволяющая, не зная решения, по свойствам уравнения указать свойства устойчивости решений. В конкретных задачах часто возникает необходимость найти решение или иметь возможность вычислить решение в каждой точке. Иногда решение некоторых дифференциальных уравнений удается выписать в явном виде. В то же время множество дифференциальных уравнений, решения которых можно в явном виде выразить через элементарные функции, весьма и весьма бедное. Уже простейшее нелинейное уравнение первого порядка
1.1.3. Как можно решать дифференциальные уравнения приближенно? Метод разложения в ряды.
Исторически первым методом решения дифференциальных уравнений, который использовал еще их автор Ньютон, был метод разложения в ряды. Искомое решение разлагается в ряд (например, Тейлора) с неизвестными коэффициентами. Этот ряд подставляется в (E) и из получившегося уравнения находятся коэффициенты.
Предположим, например, что в уравнении (E) функция f аналитична, т.е. допускает разложение в ряд по степеням t и x:
f(t, x) = f00 + f10t + f01x + f20t2 + f11tx+ f02x2 + ... . | (1) |
Тогда известно (это достаточно громоздко доказываемая теорема), что решение φ задачи
φ(t) = x0 + x1t + x2t2 + ... | (2) |
с неизвестными пока коэффициентами x0, x1, .... Очевидно,
φ′(t) = x1 + 2x2t + 3x3t2 + ... . | (2) |
Подставим разложения
x0 = x0, x1 = f00 + f01x0 + f02x20+ ..., 2x2 = f10 + f01x1 + f11x0 + 2f02x0x1 + ..., 3x3 = f20 + f11x1 + f01x2 + f02x21+ 2f02x0x1 + ..., . . . |
Из второго уравнения находится x1 (через x0 и fij), из
Задача 1.1.1. Найдите описанным методом решение скалярной задачи Коши x′ = ax, x(t0) = x0.
Эти методы требуют, как правило, большого объема аналитической плохо алгоритмизируемой работы. Например, для нахождения коэффициентов ряда Тейлора решения нужно вычислять производные высоких порядков от правой части уравнения. В силу этого разложения решений в такие ряды пока мало пригодны для практического использования на ЭВМ. Кроме того, эти методы обладают плохими свойствами устойчивости в вычислительном плане.
1.1.4. Как можно решать дифференциальные уравнения приближенно? Метод последовательных приближений.
Для отыскания приближенного решения можно воспользоваться также методом последовательных приближений. Напомним его суть. Задача Коши
| (4) |
в следующем смысле: если φ решение задачи Коши
Обозначим правую часть уравнения (4) через (Jx)(t). Тогда оно перепишется в операторном виде
x = Jx. |
Если применить к получившемуся уравнению метод простой итерации, начиная, например, с функции
| (5) |
Известно, что последовательность функций xn равномерно сходится к решению задачи
Задача 1.1.2. Найдите описанным методом решение скалярной задачи Коши x′ = ax, x(t0) = x0.
Поскольку этот метод требует большого объема вычислительной работы (на каждой итерации приходится неоднократно вычислять значения правой части уравнения), он играет, в основном, теоретическую роль - например, он полезен при доказательстве теоремы
1.1.5. Как можно решать дифференциальные уравнения приближенно? Асимптотические методы.
Искать приближенные решения можно также, пытаясь найти интегрируемое в квадратурах дифференциальное уравнение, решения которого аппроксимируют решения исходного. Такое уравнение указать, как правило, все-таки трудно. Поэтому можно попытаться искать более простое уравнение, аппроксимирующее решения исходного. С этим направлением тесно связаны асимптотические методы или методы разложения по параметру. В данном курсе мы их тоже не рассматриваем.
В настоящее время наиболее универсальными и эффективными методами приближенного решения дифференциальных уравнений признаны так называемые конечно-разностные (их еще называют разностными или сеточными) методы.
1.1.6. Конечно-разностные методы. Постановка задачи.
Пусть для любого τ > 0 задано множество Gτ точек
Конечно-разностным или разностным методом приближенного решения задачи |
Чаще поступают следующим образом. "Проектируют" решение φ на пространство сеточных функций Sτ, ставя в соответствие функции φ ее сужение
|
|
|
После такой подготовки приступит он к судебным делам и
прежде всего установит, какого рода эти дела.
Цицерон. Оратор
В данном параграфе на примере явного метода Эйлера даются основные
понятия теории разностных
1.2.1. Метод ломаных Эйлера.
Напомним, что метод ломаных Эйлера это метод нахождения аппроксимирующей интегральную кривую ломаной, который
в образах парка со стрелками-указателями может быть представлен
так (рис. 2). Из точки
Легко видеть, что координаты i-й вершины (i = 1,..., n) ломаной Эйлера определяются формулами
ti = t0 + iτ, x0 = x0, xi = xi1 + τf(ti1, xi1). | (1) |
Перепишем эти равенства в следующем виде:
|
xi = x0, если i = 0. |
1.2.2. Операторная запись задачи
Запишем метод ломаных Эйлера в общем виде, в
котором могут быть записаны другие разностные методы и который
позволяет укладывать исследование таких методов в общую схему. Для
этого сначала запишем задачу
g(x) = 0, |
где функция g имеет вид
F(x) = 0, | (O) |
где F(x) = (x′(·) f(·, x), g(x)). Не будем обсуждать подробно вопрос об областях определения и
значений оператора F. В случае задачи
1.2.3. Операторная форма метода ломаных Эйлера.
Пусть x сеточная функция из Sτ. Определим на Sτ оператор Fτ равенством
|
(2) |
(Здесь [Fτ(x)]i обозначает значение сеточной функции [Fτ(x)] в точке ti.)
Задача о нахождении ломаной Эйлера, очевидно, эквивалентна задаче о нахождении решения φτ уравнения
Fτ(x) = 0 | (S) |
в пространстве Sτ сеточных функций в следующем смысле: значения (φτ)i решения
уравнения (S) в узлах сетки и только они являются
ординатами вершин ломаной Эйлера в точках ti (см. формулу (1)). Таким образом, вместо точного решения |
1.2.4. Разностные схемы.
Любое уравнение вида (S)
для нахождения сеточной функции x будем называть разностной схемой, а его (уравнения) решение, которое мы всегда будем обозначать
В последнем случае разностная схема (S) называется явной (разностной) схемой Эйлера. Явной она называется потому, что ее решение может быть выписано в явном виде с помощью рекуррентных соотношений:
(φτ)0 = x0, |
(φτ)i = (φτ)i1 +τf[ti1,(φτ)i1], i = 1, ..., n. |
Единственное отличие метода ломаных Эйлера от явной схемы Эйлера заключается в том, что в первом ищется функция, заданная на отрезке
Задача 1.2.1. Докажите, что разностное решение φτ явной схемы Эйлера для задачи Коши
x′ = ax, x(t0) = x0 |
(a ∈ R) на равномерной сетке (τi = iτ) задается формулой (φτ)i = x0(1 + τa)i.
1.2.5. Пример. Сходимость явной разностной схемы Эйлера.
В условиях задачи 1.2.1 разностное решение φτ аппроксимирует решение
(φτ)i→ x0eat при τ→ 0, | (3) |
где i = [t/τ]
|
|
|
Сомножитель
|
и соотношение (3) доказано.
Задача 1.2.2. Докажите более сильное, чем (3) утверждение
||φτ Pτφ||τ→ 0 при τ→ 0. |
означающее, что предельное соотношение (3) выполнено равномерно по
1.2.6. Сходимость разностных схем.
Будем говорить, что разностная схема (S) сходится (к решению φ задачи
||φτ Pτφ||τ→ 0 при τ→ 0. | (4) |
Сходимость разностной схемы означает, что при достаточно малом τ значения сеточного (приближенного) решения φτ и точного решения φ мало отличаются. Соотношение (4) на практике оказывается мало полезным, поскольку на основании его нельзя судить о том насколько малым мы должны выбрать шаг τ, чтобы в узлах сетки точное и приближенное решения отличались друг от
друга не более, чем на ε (заранее заданную
точность). Если удается доказать, что при достаточно
||φτ Pτφ||τ ≤ Cτk, | (5) |
где C не зависящая от τ константа, то говорят, что схема (S) сходится с порядком k (или является схемой k-го порядка (сходимости)). Оценка (5), если в ней известна (для конкретной задачи
||φτ Pτφ|| τ ≤ ε; |
достаточно взять τ ≤ k√ε/C. |
1.2.7 Аппроксимация.
Явная схема Эйлера обладает двумя важными свойствами, из которых, как будет показано ниже, последует ее сходимость с первым порядком. Во-первых, при достаточно малых τ
||Fτ(Pτφ)||τ ≤ Caτ, | (6) |
где Ca константа, не зависящая от τ, а φ как обычно, точное решение задачи
Часто вместо свойства аппроксимации на решении рассматривают формально более жесткое требование, которое называют свойством аппроксимации (в зарубежной
||Fτ(Pτx) PτF(x)||τ ≤ Caτk. |
Обычно требуется, чтобы схема обладала свойством аппроксимации на множестве функций из некоторого класса гладкости. Очевидно, если решения дифференциального уравнения (E) m раз непрерывно дифференцируемы, а разностная схема обладает k-м порядком аппроксимации (согласованности) на m раз непрерывно дифференцируемых функциях, то она обладает k-м порядком аппроксимации на решении.
1.2.8. Аппроксимация явной схемы Эйлера.
Покажем, что если функция f в (E)
непрерывно дифференцируема по t и x, то явная схема Эйлера имеет первый порядок аппроксимации на решении. Действительно, пусть
φ′(t) ≡ f[t, φ(t)], t ∈ [t0, t0 + T]. |
Поскольку f дифференцируема по t и x, решение φ дважды непрерывно дифференцируемо (см.
утверждение о гладкости решений). В частности, найдется M такое, что
|
где Φ ∈ (0, 1). Но тогда
|
|
|
|
|
(Если i = 0, то очевидно, [Fτ(Pτφ)]i = 0.) Из сказанного следует, что
|
|
Задача 1.2.3. Покажите, что явная схема Эйлера обладает первым порядком аппроксимации (согласованности) на любой дважды непрерывно дифференцируемой функциию
1.2.9. Устойчивость.
Второе важное свойство, которым обладает явная схема Эйлера, называется устойчивостью и определяется так: если
Fτ(y) = z | (7) |
однозначно разрешимо и существует такая не зависящая от τ и
||y φτ||τ = ||Fτ1(z) φτ||τ ≤ Cs||z||τ. | (8) |
Устойчивость разностной схемы означает, что малые возмущения z в начальных данных и правой части разностной схемы приводят к равномерно малому по τ изменению решения (напомним, что |
Устойчивость очень важное в приложениях свойство разностных схем. При практической реализации на ЭВМ разностных методов возникают, в частности, проблемы, связанные с невозможностью представления точных чисел в компьютере. В результате мы решаем не разностную схему (S), а несколько отличающееся от (S) уравнение. Все такие возмущения в разностной схеме, грубо говоря, можно "перенести в правую часть" и, таким образом, считать, что в ЭВМ ищется решение не разностной схемы (S), но решение возмущенного уравнения (7). Свойство
устойчивости разностной схемы гарантирует близость при достаточно малых τ между точным (теоретическим) решением φτ разностной схемы и его
практической реализацией |
1.2.10. Пример. Устойчивость явной схемы Эйлера.
Докажем, что явная схема Эйлера устойчива.
Разрешимость уравнения (7) для любых τ и z очевидным образом следует из того, что явная схема Эйлера
является явной: значения yi решения |
y0 = x0 + z0, |
yi = yi1 + τf(ti1, yi1) + τzi, i = 1, ..., n. |
Обозначим y φτ через ξ. Очевидно,
ξ0 = z0, |
ξi = ξi1 + τf(ti1, yi1) τf[ti1,(φτ)i1] + τzi, i = 1, ..., n. |
Покажем теперь, что
|
Для этого заметим сначала, что
||ξi|| = ||ξi1 + τf(ti1, yi1) τf[ti1,(φτ)i1] + τzi|| ≤ |
≤ ||ξi1|| + τ||f(ti1, yi1) f[ti1,(φτ)i1]|| + τ||zi|| ≤ |
≤ ||ξi1|| + τL||yi1 (φτ)i1|| + τ||z|| τ = (1 + τL)||ξi1|| + τ||z|| τ. |
Проведя такие оценки i раз, получим
||ξi|| ≤ (1 + τL)||ξi1|| + τ||z|| τ ≤ |
≤ (1 + τL)[(1 + τL)||ξi2|| +τ||z|| τ] + τ||z|| τ = |
= (1 + τL)2||ξi2|| + [(1 + τL) + 1]τ||z|| τ ≤ ... |
... ≤ (1 +τL)i|| ξ0|| + [(1 + τL)i1 + ... + (1 + τL) + 1]τ||z|| τ = |
|
|
|
Воспользуемся теперь известным неравенством (1 + α)1/α < e (напомним также, что
(1 + τL)i ≤ (1 + τL)n = (1 + τL)[(TL)/(τL)] ≤ [(1 + τL)[ 1/(τL)]]TL < eTL. |
Окончательно,
|
|
Итак, явная схема Эйлера устойчива.
Покажем теперь, что из аппроксимации и устойчивости следует сходимость разностной схемы.
1.2.11. Теорема Лакса.
Любая устойчивая разностная схема k-го порядка аппроксимации на решении является схемой k-го порядка сходимости.
Д о к а з а т е л ь с т в о. Действительно, если разностная схема имеет k-й порядок аппроксимации на решении, то |
||Pτφ φτ|| τ = ||Fτ1[Fτ(Pτφ)] φτ||τ ≤ |
≤ Cs|| Fτ(Pτφ)|| τ ≤ CsCaτ ≝ Cτk. |
что и требовалось доказать.
Эта теорема описывает наиболее распространенный способ доказательства сходимости разностных схем.
Задача 1.2.4. Приведите пример не сходящейся разностной схемы, обладающей своством аппроксимации.
1.2.12. Немного о методах построения разностных схем.
Явная схема Эйлера может быть построена, исходя из различных соображений. Каждый из описываемых ниже приемов порождает ряд обобщений явной схемы Эйлера и может иллюстрировать основные методы построения разностных схем. В дальнейшем эти методы будут рассматриваться подробнее.
Попытаемся, отталкиваясь от уравнения (E), заменить его приближенным в том или ином смысле уравнением так, чтобы в результате получилась разностная схема. Первая идея выглядит так. Заменим в уравнении
x′(t) = f[t, x(t)] | (9) |
производную x′(t) в точке ti1 ее приближенным значением
|
для отыскания значений точного решения уравнения (E) в точках
Вторая идея основывается на замене дифференциального уравнения (9) интегральным
| (10) |
Если заменить в (10) t на ti1, а
x(ti) ≈ x(ti1) + τf[ti1, x(ti1)], |
которое так же, как и выше приводит к явной схеме Эйлера. Если использовать другие квадратурные формулы (заменяя, например,
интеграл на
Третья возможность построения разностных схем связана с разложением решения в ряд Тейлора:
|
"Обрежем" этот ряд до второго члена и выразим производную
x(ti) ≈ x(ti1) + τf[ti1, x(ti1)], |
приводящее к явной схеме Эйлера. Удлинение отрезка ряда и другие аппроксимации коэффициентов приводят к другим разностным схемам.
Наконец, четвертая возможность связана с поиском решения в виде полинома. Допустим, мы ищем решение в виде полинома первого порядка:
ψ(t) = xi1 + a·(t ti1) |
с неизвестным коэффициентом a. Потребуем, чтобы этот полином точно удовлетворял уравнению (9) в некоторой точке
ψ′(ti1 + α) = a = f(ti1 +α, xi1 + aα). |
Переходя к сеточным функциям, как и выше, получаем разностную схему:
xi = ψ(ti) = ψ(ti1 + τ) = xi1 + τf(ti1 + α, xi1 + aα). |
При α = 0 это явная схема Эйлера. Если выбирать отличные от нуля α, а также брать полиномы более высоких порядков, то получается класс различных разностных схем.
Сопровождающие изложение задачи носят учебный характер, причем некоторые из них являются неотъемлемой частью излагаемой теории, и их результаты используются в последующем изложении.
Автор благодарен своему коллеге и товарищу
Анатолию Георгиевичу Слепцову |