Введение в вычислительную физику - Федоренко Р.П.
ISBN 5-7417-0002-0
Скачать (прямая ссылка):
R-(t): L~(t)x = b~(t), R+(t): L+(t)x = b+(t). W
252
ПРИБЛИЖЕННЫЕ МЕТОДЫ ВЫЧИСЛИТЕЛЬНОЙ ФИЗИКИ
14. II
Повторим (в матричной форме) вывод уравнений для L(t) и _Ь(1). Дифференцируя по t соотношение Lx = Ъ, получаем Lx + Lx = Ь. Замена х на Ax + а дает (L + LA)x + La = b. Примем для Lnb урав-
UPUifa
L + L,4 = 0, 6 = La. (10)
Начальные данные Коши L-(O), Ь~(0) дают левые краевые условия, L+(T), Ь+(Т) — правые.
Пусть L~(t), L+(t), b~(t), b+(t) найдены интегрированием соответствующих задач Коши. Тогда решение x(t) в каждый момент времени находится решением системы п линейных уравнений:
L~(t) x(t) = b~(i) (к уравнений),
L+(t) x(t) — b+(t) (п — к уравнений).
Эта процедура, называемая иногда алгоритмом встречной прогонки, как было сказано, в нашем случае (для жесткой краевой задачи) вычислительно неустойчива. Однако она полезна как теоретический ориентир. В частности, полезна следующая теорема.
Теорема. Пусть L~(t), L+(t), b~(t), b+(t) получены решением соответствующих задач Коши для уравнения (10) и x(t) находится из системы (11), которая не вырождена ни при каком t. Тогда x(t) является решением краевой задачи.
Заметим, что предположение о невырожденности системы (11) при всех t можно, конечно, заменить предположением о невырожденности при одном каком-то t или, иначе, предположением о невырожденности самой краевой задачи.
Доказательство. Пусть (11) выполняется при всех /. Дифференцируя по t, получаем Lx + Lx = Ь. Используя (10) для Ln b, имеем
-LAx + Lx — La, или L(x — Ax — а) = 0.
Таким образом, мы приходим к системе
L~(x — Ax — а) = 0, L+ (х — Ax — а) = 0,
из которой в силу ее невырожденности получаем уравнение х — Ax — a = Q. Выполнение краевых условий следует из данных
Кеши для L-, L+, Ъ~, Ь+.
Перейдем к построению «устойчивых» описаний многообразий
R~(t), R+(t)- Рассмотрим, для определенности, описание R~. Поскольку для R+ все делается точно так же, индексы «—» и «+» опустим. Итак, опишем многообразие R(t) в форме
G(0*(0 = P(0, (12)
где G есть матрица п-* к, |3 — А-вектор. При этом мы должны позаботиться о том, чтобы описание (12) было эквивалентно описа-
ЖЕСТКИЕ ЛИНЕЙНЫЕ КРАЕВЫЕ ЗАДАЧИ
253
нию (9), а строки G(t) образовывали хорошо обусловленный базис. Лучше всего, чтобы они были взаимно-ортогональными. (Требования к р сформулируем несколько позже.)
Будем искать G(t) в форме G(t) = M(t)L(t), где M(t) — матрица к-* к, пока не определенная. При любой матрице M(t) строки G суть некоторые линейные комбинации строк L. Если M — невырожденная матрица (т.е. из Mr = 0 следует г = 0), то линейные подпространства, натянутые на строки L и G, совпадают, или, другими словами, LaG отображают «-мерное подпространство в одно и то же ^-мерное, определенное лишь разными базисами. Требование равномерной по t хорошей обусловленности базиса из строк G можно оформить в виде требования постоянства матрицы G(t) G'(t). Это — матрица к-* к, элементами которой являются всевозможные скалярные произведения строк G.
Предполагая, что строки Ii, входящие в левое краевое условие, предварительно ортонормированы, будем считать, что M(O) = Ek (так будем обозначать единичную матрицу к~> к). Постараемся определить M(t) таким образом, чтобы GG* при всех t оставалась единичной, т.е. чтобы строки G(t) образовывали ортонормирован-ный базис. Для этого нужно обеспечить равенство
^t(GGt) = GGt + GGt = GGt + (GGt)* = 0. (13)
Из (10) имеем
G = (ML)1 = ML+ ML = ML-MLA.
Используя выражение для G, а также соотношение L = M~lG, преобразуем GGt:
GGt = (ML - MLA)Gt = (MM~lG - MМ~ 1GA)Gt =
= MM-lGGt -GAGt.
Определим M таким образом, чтобы это выражение было равно нулю. (Второй член (13) при этом тоже автоматически обратится в
нуль, и будет обеспечено G(I)GtO) = const.)
Итак, после несложных формальных преобразований для M получаем задачу Коши:
M=GAGt(GGt)-lM, M(O) = E. (14)
Это уравнение решать не придется. Мы используем его при выводе уравнения для G:
254
ПРИБЛИЖЕННЫЕ МЕТОДЫ ВЫЧИСЛИТЕЛЬНОЙ ФИЗИКИ
[Ч. II
И наконец, учитывая, что ML = G, GGt = Ek, получаем
G = G AG'G — GA, G(O) = L(O). (15)
Теперь приступим к выводу уравнения для P(Z). Из (9) имеем L(t) x(t) = b(t), ще b(t) — решение задачи Коши (10). Умножение на M дает
ML x(Z) = M b(t), т.е. G(t) x(t) = M(t) b(t).
Однако брать P(Z)=M(Z) b(t) нельзя, так как мы не собираемся вычислять М, L, Ъ.
Выведем уравнение для P(Z), используя то соотношение, которое мы хотим получить: G(Z) x(Z) = P(Z), где G(Z) — уже известная матрица п-*к, x(t) — решение краевой задачи. Дифференцируя по Z, имеем
P = Gx + Gx = (G + GA)x + Ga,
Учитывая (15) и связь р = Gx, преобразуем первый член:
(G + GA)x = GAGTGx = GAGt р.
Окончательно для P(Z) получаем задачу Коши:
P = GAGtP+ Ga, P(O)=ZT(O). (16)
Отметим важное обстоятельство. Так как р(t) = G(t) x(t), а строки G(Z) образуют ортонормированную (хотя и не полную в п-мерном пространстве) систему, то P(Z) — величина того же порядка, что и x(t). Если задача вычислительно корректна и искомое решение x(Z) ограничено в смысле (3), то P(Z) — такая же величина. Ho пока мы получили только часть уравнений для x(t), порожденную переносом («прогонкой») левого краевого условия на весь интервал [0, Г]. Точно так же можно перенести правые краевые условия, интегрируя задачи Коши справа-налево. Сами же уравнения для G+ и P+ по форме в точности совпадают с уравнениями для G- и р~ (выше мы выводили их в общей форме (15), (16)).