§ О33. Приближенные методы решения задачи Коши |
...Кто делает большие шаги, не может [долго] идти ... Умеющий шагать не оставляет следов ... Кто умеет считать, тот не пользуется инструментом для счета...
Дао дэ цзин
В подавляющем большинстве случае (или, как еще говорят, в общем положении) нельзя указать точную формулу, позволяющую вычислить значение в любой точке того или иного решения дифференциального уравнения. В то же время исследователю-прикладнику часто нужна именно количественная информация о решении. Поэтому задача построения различных эффективных способов приближенного нахождения решений дифференциальных уравнений весьма актуальна.
Искать приближенные решения, разумеется, можно разными способами. Например, можно искать интегрируемое в квадратурах дифференциальное уравнение, решения которого аппроксимируют решения исходного. Такое уравнение указать, как правило, все-таки трудно. Поэтому можно попытаться искать более простое уравнение, аппроксимирующее решения исходного (см. по этому поводу, в частности, очерки Дифференциальные уравнения с малым параметром при старшей производной, Принцип усреднения и Теория возмущений).
Для отыскания приближенного решения можно воспользоваться также
методом последовательных
приближений, заменив в нем интеграл (вовсе не обязательно берущийся)
какой-либо квадратурной формулой (возможность такой замены
требует, конечно, обоснования). Но поскольку этот метод требует
большого объема вычислительной работы (на каждой итерации
приходится неоднократно вычислять значения правой части
уравнения), он играет, в основном, теоретическую
Можно также пытаться раскладывать искомое решение в степенные или тригонометрические ряды (например, в ряды Тейлора или Фурье). Уравнения на коэффициенты этих рядов получаются из исходного дифференциального уравнения. Эти методы требуют, как правило, большого объема аналитической плохо алгоритмизируемой работы. Например, для нахождения коэффициентов ряда Тейлора решения нужно вычислять производные высоких порядков от правой части уравнения. В силу этого разложения решений в такие ряды пока мало пригодны для практического использования на ЭВМ. Правда, в последнее время появились эффективные пакеты программ для символьных преобразований на ЭВМ; возможно они окажутся полезными в этом направлении.
В настоящее время наиболее универсальными и эффективными методами приближенного решения дифференциальных уравнений являются так называемые конечно-разностные) их еще называют разностными или сеточными) методы, к изложению основ которых мы и переходим. Вводная часть этого очерка относится и к следующему очерку.
Итак, рассматривается (для простоты, скалярное) дифференциальное уравнение
x′ = f(t, x). | (1) |
Мы будем искать решение (1), удовлетворяющее начальным или краевым условиям, которые будут записываться в виде
g(x) = 0. | (2) |
Например, в случае задачи Коши для уравнения (1), выделяемой начальным условием x(0) = x0, оператор g имеет вид g(x) = x(0) x0. А для краевой задачи
x′′ = φ(t, x, x′), t ∈ [0, T], |
x(0) = x0, x′(T) = x1, |
в которой уравнение приведено к виду (1)
заменой переменных
Запишем теперь задачу (1) (2) в операторном виде
F(x) = 0, | (3) |
где
F(x) = (x′ f(t, x), g(x)). |
Здесь мы не обсуждаем вопрос об области определения и области значений оператора F.
Задачу о приближенном решении уравнения (3),
вернее, задачи |
Fτ(y) = 0, | (4) |
из которого находится сеточная функция
xτ, называется
разностной схемой. Обычно считается, что
||Pτx xτ|| ≤ Cτm, |
где C не зависящая от τ константа.
В виде разностной схемы может быть интерпретирован
известный читателю метод ломаных Эйлера
для задачи Коши (
|
здесь использовано обозначение
yi = y(ti).
Такая разностная схема называется
явной схемой Эйлера.
Явной она называется потому, что ее решение (
y0 = x0, |
yi = yi1 + τf(ti1, yi1), i = 1, ..., k. |
Единственным отличием метода ломаных
Эйлера от явной схемы Эйлера заключается в
том, что в первом ищется функция, заданная на
Явная схема Эйлера при некоторых естественных предположениях на f обладает двумя важными свойствами, из которых, как мы покажем ниже, будет вытекать, что она является сходящейся с первым порядком.
Во-первых, при достаточно малых τ
||Fτ(Pτx)|| ≤ C1τ, | (5) |
где C1 константа, не зависящая от
τ, а x как обычно, точное решение задачи
Задача О33.1. Докажите, что если f непрерывно дифференцируема по t и x, то явная схема Эйлера имеет первый порядок аппроксимации на решении (воспользуйтесь ограниченностью второй производной решения x и разложением
|
Во-вторых, если z ∈ Sτ и, кроме того, ||z|| и τ достаточно малы, то уравнение
Fτ(y) = z | (6) |
однозначно разрешимо и существует такая не зависящая от малых
τ и
||Fτ1(z) xτ|| ≤ C2||z||. | (7) |
Такое свойство разностных схем называется
устойчивостью. Устойчивость разностной схемы
означает, что малые возмущения z в начальных данных и правой
части разностной схемы (вызванные, например, невозможностью представления
точных величин в ЭВМ) приводят к равномерно малому по τ
изменению решения (напомним, что
|
Задача О33.2. Докажите (воспользовавшись тем, что
схема Эйлера явная) однозначную разрешимость уравнения (6)
при любых
Задача О33.3. Покажите, что сеточная
функция |
|
|
Задача О33.4. Индукцией по i покажите, что
|
где L константа Липшица функции f по x.
Задача О33.5. Докажите, что
|
Итак, явная схема Эйлера устойчива.
Покажем теперь, что из аппроксимации и
устойчивости следует сходимость
разностной схемы. Действительно, если разностная схема имеет
m-й порядок аппроксимации на решении, то
|
||Pτx xτ|| = ||Fτ1[Fτ(Pτx)] xτ|| ≤ C2C1τm = Cτm, |
что и требовалось. Таким образом, имеет место следующая
Теорема Лакса. Если разностная схема имеет m-ый порядок аппроксимации на решении и устойчива, то она сходится с m-ым порядком.
Эта теорема описывает наиболее распространенный способ доказательства сходимости разностных схем.
Отметим, что если схема не является устойчивой,
то наличия аппроксимации в общем случае не
достаточно для сходимости
(см. задачи
Остальную часть очерка мы посвятим описанию некоторых наиболее распространенных способов построения разностных схем. Особенно важна задача повышения порядка аппроксимации разностных схем.
Попытаемся повысить порядок аппроксимации явной
схемы Эйлера следующим образом. В исходном уравнении
(1)заменим производную обычным конечно-разностным
соотношением, а |
| (8) |
Эту схему, вернее, шаг от значения yi1 к yi записывают обычно в виде двух полушагов
y*i= yi1 + τf(ti1, yi1), | (8а) |
|
(8б) |
Поэтому разностная схема (8) носит название
предиктор-корректор:
на первом полушаге (8а) приближенное решение
"предсказывается" (от англ. to predict) с первым порядком точности,
а на втором
Задача О33.6. Докажите, что если f дважды непрерывно дифференцируема, то схема предиктор-корректор имеет второй порядок аппроксимации на решении.
Описанная схема (так же как и явная схема
Эйлера) является представителем обширного класса так называемых
разностных схем
x(ti) x(ti1) = τx′(ti1 + θτ) = τf[t*, x(t*)] |
(здесь t* = ti1 +
θτ) неизвестной
величины f[t*, x(t*)].
Например, весьма популярна схема
|
где
Схемы Рунге Кутты являются
одношаговыми, поскольку при вычислении значения
приближенного решения в точке yi
используется значение приближенного решения только в одной
точке
|
подынтегральное выражение каким-либо интерполяционным полиномом,
используя в качестве узлов точки
Несколько иным способом этот подход можно описать на примере
трехточечной схемы
|
(9) |
значения неизвестной функции x(ti),
x(ti1) и ее производных
|
(10) |
Рекуррентная формула (10) не позволяет вести
вычисления до тех пор пока не заданы y0
и y1. Если y0
и y1 заданы точно или со вторым порядком точности
(по τ), то схема
Все описанные выше разностные схемы относятся к классу явных разностных схем (значение на следующем шаге может быть вычислено по явным формулам). Простейшим представителем неявных разностных схем является неявная разностная схема Эйлера:
|
На каждом шаге она требует решения следующего уравнения относительно неизвестной yi
yi = yi1 + τf(ti, yi). |
Имеются также "неявные" аналоги схем Рунге Кутты и Адамса. Разумеется, неявные методы требуют бóльших вычислительных затрат на каждом шаге. Но в общем случае они обладают тем преимуществом, что, как правило, являются безусловно устойчивыми, что по определению означает устойчивость при любых шагах τ; явные же схемы обычно лишь условно устойчивы (устойчивы лишь при малых шагах τ).
Важным и весьма активно развивающимся разделом теории разностных методов решения задачи Коши являются методы решения так называемых жестких систем дифференциальных уравнений. Мы не будем давать точного определения жесткой системы (тем более, что терминология здесь пока не установилась), но приведем типичный пример линейной жесткой системы:
x′1= λ1x1, |
x′2= λ2x2, |
причем, λ1, λ2 > 0 и S = λ1/λ2 >> 1 (число S называется обычно коэффициентом жесткости системы).
Жесткие системы часто встречаются на практике. Жесткими, как
правило, являются (обычно еще и нелинейные) дифференциальные
уравнения химической кинетики,
обыкновенные дифференциальные уравнения, получающиеся из дифференциальных
уравнений гидродинамики дискретизацией по пространственным переменным
Общее решение приведенной выше системы, очевидно,
|
При решении жестких систем оказываются полезными неявные методы, особенно такие их модификации, которые автоматически выбирают шаг в зависимости от поведения решения.
Литературные указания. Данный очерк, как и следующий,
относится, скорее, к разделу математики, называемому "Методы
вычислений", чем к теории обыкновенных дифференциальных
уравнений. Описание приближенных методов решения задачи Коши
можно найти почти в каждом учебнике по методам вычислений (см.,
напр., [
Задачи. О33.7. Докажите, что явная схема Эйлера для задачи Коши
x′ = ax, x(0) = x0 | (11) |
устойчива, если |1 + τa| ≤ 1.
О33.8. Докажите, что неявная схема Эйлера для уравнения (11) безусловно устойчива.
В следующих пяти задачах приводится пример неустойчивой разностной схемы первого порядка аппроксимации на решении, не являющейся вследствие своей неустойчивости сходящейся.
О33.9. Докажите, что если f
непрерывно дифференцируема, то семейство разностных схем,
зависящих от параметра
|
(12) |
имеет первый порядок аппроксимации на решении.
О33.10. Для задачи Коши (11)
разностная схема (12)
при
yi = (3 + aτ)yi1 + 2yi2, если i = 2, ..., k, | (13) |
yi = x0, если i = 0, 1. | (14) |
Докажите, что уравнение (13) имеет решения вида
λ2 (3 + aτ)λ + 2 = 0. | (15) |
(это уравнение называется характеристическим уравнением разностной схемы).
О33.11. Представив решение разностного уравнения
(13) в виде
О33.12. Докажите, что решение y из предыдущей задачи при
О33.13. Докажите, что разностная схема
О33.14. Рассмотрим задачу Коши для линейной системы обыкновенных дифференциальных уравнений
x′ = Ax + f(t), x(0) = x0 | (16) |
(A: Rn →Rn линейный оператор). Явную схему Эйлера для (16) запишем в виде
yi =
Rτ yi +
τfi1,
если i = 1, ..., k, yi = x0, если i = 0, |
где оператор Rτ:
Rn →Rn
определяется равенством
О33.15. Покажите, что для равномерной по
τ ограниченности степеней оператора перехода достаточно
выполнения при малых τ неравенства
О33.16. Докажите, что для выполнения оценки
О33.17. Покажите, что разностная схема
(13) (14)
не удовлетворяет сформулированному в предыдущей
задаче необходимому условию устойчивости (для записи указанной схемы в
каноническом виде надо сначала перейти к двухточечной схеме в пространстве
О33.18. Докажите, что спектр оператора
перехода разностной схемы
О33.19. Обобщите утверждение предыдущей задачи на общие разностные схемы вида
ayi + byi1 + cyi2 = fi |
(характеристическое уравнение в этом случае имеет вид
О33.20. Покажите, что если f дважды непрерывно дифференцируема, то разностная схема
|
имеет второй порядок аппроксимации.
О33.21. Покажите, что даже если f по-прежнему дважды непрерывно дифференцируема, то в отличие от разностной схемы предыдущей задачи разностная схема
|
имеет первый порядок аппроксимации на решении. (Эти две задачи показывают, в частности, что важен не только порядок аппроксимации дифференциального оператора, но и порядок аппроксимации начальных условий.)
О33.22. На примере покажите, что явная схема
Эйлера для задачи Коши (11) при
File based on translation from
TEX by TTH,
version 2.32.
Created 25 Mar 2000, 12:17.
Last modified 3 May 2002.