Введение в вычислительную физику - Федоренко Р.П.
ISBN 5-7417-0002-0
Скачать (прямая ссылка):
Итак, назначим некоторое число Д, такое, что ||Л|| Д « 0.1 + 1, и проинтегрируем систему для X0, Xі, ..., Хп~к так, как было указано выше. В момент времени Z1 = Д мы имеем представление R~(t) вида (5). Перейдем к другому, более удобному для наших целей представлению. Для этого систему векторов X1 (J1), X2(Z1), ..., Xfl^fc(J1) подвергнем стандартной процедуре ортонормировки и превратим ее в ор-тонормированный базис е\, е\, .... е[п_к.
Таким образом, конструкции
x°(h) +2 aJxjOi), x°ot) +2 aJe}
j=i j=i
описывают одну и ту же (п — &)-мерную гиперплоскость. Теперь в этой гиперплоскости следует найти более «удобную» точку X0(J1), например наиболее близкую к началу координат, с тем чтобы расстояние от искомого решения (о котором мы знаем только, что II-vrCOII = 0(1)) до X0(Z1) было 0(1). Такой пересчет X(Z1) в X(Z1) легко осуществляется: ^
X(t\) — X0(I1) — 2 (X0(I1), ej) ej.
J = і
На интервале (ZpZ1-HA) интегрируется неоднородная система (1) с начальными данными при Z = Z1: X0(Z1) дает «продолжение»
250
ПРИБЛИЖЕННЫЕ МЕТОДЫ ВЫЧИСЛИТЕЛЬНОЙ ФИЗИКИ
[Ч. II
решения X0 на новый интервал. В качестве базиса на этом интервале используются векторы X1 (t) (/' = J, 2, ..., п — к), являющиеся решениями однородной системы к = Ax с начальными данными Xi(Il) = elj. Этот процесс продолжается с периодической ортонормировкой базиса и смещением точки X0. Интегрированием справа-налево с периодической ортонормировкой базиса получаем представление многообразия R+(I).
Имея R~(t) и R+(t), решение x(t) в каждый момент времени t находим как единственную точку пересечения (п — ?)-мерной гиперплоскости R~(t) с /с-мерной гиперплоскостью R+(t). Фактически это сводится к системе п линейных уравнений с п неизвестными O1, а2, ..., а„= {ctf, Ct2, ..., а~_к, ctf, ct?, ..., а+}:
Х°_(0 + 2 ajXL(t) = X°+(t) + 2 ajXL(t).
J=і /-і
Непрерывная ортонормировка. А. А. Абрамовым был предложен иной подход к построению устойчивого алгоритма решения краевой задачи (1) с использованием методов численного интегрирования задач Коши. Он основан на втором способе описания многообразий R~,R+ (см. (7)). Имея левые краевые условия (Ii, х(0)) = bt (і = I, 2, ..., к), попытаемся «распространить» эти соотношения на весь интервал, т.е. получить для решения x(t) соотношения (7). Если функции /,-(/), bj(t) будут вычислены (и для правых краевых условий тоже), краевая задача в сущности будет решена.
На первый взгляд вычисление требуемых функций несложно. В самом деле, продифференцируем по t соотношение (7), опуская для простоты индекс V. (Ї, х) + (/, х) = Ъ. Используя при этом уравнение X. = Ax + а, получаем (I, х) + (I, Ах) + (/, а) = йили, в другой форме, (/ + А*1, х) + (/, а) = Ь. Очевидно, цель будет достигнута, если в качестве l(t) взять решение задачи Коши:
I = -AtI, Ь=(1,а) (8)
(/(0) и 6(0) берутся из краевого условия).
Однако это решение не может нас устроить: спектр А* аналогичен спектру А, и интегрирование задачи Коши для l(t) содержит те же проблемы, что и интегрирование задач Коши для уравнения х = Ах; в l(t) также происходит выделение быстро растущих экспонент. Можно нормировать /(/), .т.е. записать (7) в виде
(l(t)/\\l(t)\\,x(t)) = b(t)/\\i(t)\),
§ 18]
ЖЕСТКИЕ ЛИНЕЙНЫЕ КРАЕВЫЕ ЗАДАЧИ
251
или, вводя новые функции X(t) = l(t)/\\l(t)\\ и Р(0 — 4t)/\\Kt)\U в форме (X(t), x(t)) = Р(0, где растущие функции уже не фигурируют.
Нетрудно проверить, что \(t) является решением задачи Коши
dX_ л,^ , (АХ,Х) df- А К + а х) .
Уравнение для р не выписываем, так как этот прием не снимает основной неприятности: при независимых, например, взаимно-ортогональных векторах Xi(O) векторы Xi(I) по мере роста t вырождаются, выходят на общую асимптотику, определяемую наиболее быстро растущей экспонентой.
Другими словами, «базис» из векторов Xi(I) сплющивается, становится плохим, его использование приводит к резкому возрастанию влияния малых вычислительных погрешностей. Переход от IJt) к Xt(t) только маскирует ситуацию, делая ее внешне более благополучной: из расчета устраняются быстро растущие функции, иногда приводящие к выходу чисел из класса машинных (выход в машинную бесконечность, т.е. «авост»). Выход состоит в том, чтобы в процессе интегрирования всех уравнений для IJt) подправлять векторы, беря их специальные линейные комбинации (краевые условия (Ii, х) = bj можно заменять некоторыми их линейными комбинациями, не меняя самой краевой задачи).
Перейдем к систематическому изложению варианта прогонки, в котором ортогонализация производится непрерывно и, так сказать, автоматически. Представим левые краевые условия в компактной форме:
L-X(O) = Ь~.
Здесь LT — матрица п-* к, имеющая к строк, п столбцов; ее строками являются векторы Ii (i = 1, 2, ..., к), входящие в левые краевые условия. Вектор Ъ~ составлен из чисел bt (і = I, 2, ..., к), входящих в те же левые краевые условия. Аналогичное обозначение примем и для правых краевых условий:
L+X(T) = Ь+,
где L+ — матрица и -* п — к.
Как было сказано выше, решение краевой задачи является пересечением двух интегральных многообразий системы (1): R~(t) и Д+(0. Используем второе представление этих многообразий в виде пересечения к и п — к гиперплоскостей (зависящих от параметра t) соответственно: