Fedorenko-RP-Vvedenie-v-vychislitelnuyu-fiziku (810773), страница 50
Текст из файла (страница 50)
е,. (Р), (б) 3 ! где а — произвольные числа. 2. Можно выделить Я(1) системой и — г линейных уравнений, имеющих ту же форму, в которой заданы краевые условия (х, 1(Г)) = Ь(1), 1=1, 2, ..., и — г, где 1,(Г) — система и — г лннейно-независимых векторов в Я", Ь„(1) — некоторые числа. Способ вычисления Х, е, был указан выше. Почему же он в такой форме не пригоден? Причина в том, что не всякие формально правильные базисы приводят к устойчивому представлению многообразия. Хорошими являкпся ортогональные и близкие к ним базисы, плохими — сильно «сплюснутые» базисы, векторы которых хотя 248 ииьлижьнньн: методы вы вслятхльнон «нонки и линейно-независимы, но очень близки друг к другу. Рисунок 2б поясняет сказанное.
Каждый из двух базисов, изображенных на рисунке, описывает в трехмерном пространстве плоскость рисунка. Если вектор е, подвергнуть малому возмущению, до«г и бавив малый вектор, ортогональный плоскости риг'«4 сунка, то в первом случае определяемая базисом новая плоскость лишь на малый угол отклонится от первоначального положения, во втором случае (если «! возмущение по модулю сопоставимо с разностью р„, 2ь ез — е,) новая плоскость может стать почти ортогональной по отношению к плоскости рисунка. При интегрировании задачи Коши (слева-направо) с начальными значениями х(0) = ео образующими линейно-независимый, близкий к ортогональному базис, по мере роста времени 1 базис е2(1), ез(1), ..., «,(1) начинает вырождаться.
В каждом решении выделяются быстро растущие вправо компоненты, на фоне которых остальные «теряются» и даже пропадают из конечной разрядной сетки машинного представлении чисел: происходит «сплющивание» базиса, и он уже определяет нужные нам многообразия неустойчивым образом. Однако нам нужны сами подпространства 11 (1), А«(Г), а не их частные представления, Поэтому можно бороться с вырождением, исправляя базис через какие-то отрезки времени. Следует иметь в виду, что хороший базис при интегрировании не сразу становится плохим.
Для того чтобы растущие экспоненты «задавили» все остальные, нужно некоторое время. Эти соображения и лежат в основе метода прогонки с ортогонализацией, предложенного С. К. Годуновым. Перейдем к более аккуратному описанию метода. Прежде всего предположим, что векторы 1, (1= 1, 2, ..., к), входящие в левые краевые условия, ортогональны друг к другу (если это не так, можно перейти к эквивалентной системе краевых условий, ортогонализовав векторы 1,.).
Более того, дополним совокупность векторов 1, (О) = 1, (1= 1, 2, ..., й) — нам удобно именно такое обозначение этих векторов — до полной ортонормированной системы векторов 1,. (О) (1= 1, 2, ..., и). Левые краевые условия теперь можно записать в виде (1, (О), х(0)) = Ь, (1 = 1, 2, ..., й). Начнем интегрировать слева-направо и — й + 1 задач Коши. Их решения обозначим через Х«, Х', ..., Х««(1). Вектор Х«(1) — это «какое-то» решение неоднородного уравнения. Определим его следующими данными Коши: Х«(0) = ~Х' Ь, 1,(О).
Очевидно, выполняются г ! условия Х« = АХ«+ а, (Х«(0), 1, (О)) =* Ьп 1= 1, 2, ..., /с. 249 жесткие линеЙные кРАеоые ЗАЛАчи 8 181 Остальные л — к векторов Х'(!) определяются данными Коши для однородной системы: Хт(0) = 1,,«2(0), у = 1, 2, ..., л — А. Тогда конструкция (5) при произвольных а, дает все решения системы (1), удовлетворяющие левым краевым условиям, и описывает многообразие Р (1). Однако это плохое описание, так как точка Хо(1) состоит в основном из растущих со скоростью еш решений, т.е.
она находится далеко от искомого решения, которое в силу (3) ограничено (О(1)). При этом погрешности в вырождающемся при росте ! базисе Хт(1) (2 = 1, 2, ..., л — к) приводят к очень большому отклонению представления (5) от точного многообразия Л (1). Мы заинтересованы и в качестве базиса, и в том, чтобы «начало координат» Хо(1) находилось на расстоянии О(1) от искомого решения х(1).
Как уже отмечалось, эффект жесткости системы не сразу приводит к столь неприятным последствиям. При малых временах ! разница между еш и е ш еще не очень велика. Итак, назначим некоторое число 2», такое, что 11А!!Ь 0.1 . 1, и проинтегрируем систему для Хо, Х', ..., Х" ! так, как было указано выше.
В момент времени !! = с! мы имеем представление Я (1) вида (5). Перейдем к другому, более удобному для наших целей представлению. Для этого систему векторов Х'(1,), Хз(1,), „., Х" 4(1!) подвергнем стандартной процедуре ортонормировкн и превратим ее в ортонормированный базис е'и ез, ..., е„' Таким образом, конструкции л-! л-4 Хо(! ) + ~к' а.Х1(1), Хо(1) + С, а е! 2=! 2 ! описывают одну и ту же (л — к)-мерную гиперплоскость.
Теперь в этой гиперплоскости следует найти более «удобную» точку Хо(1,), например наиболее близкую к началу координат, с тем чтобы расстояние от искомою решения (о котором мы знаем только, что ))х(1)!! = О(1)) до Хо(1!) было О(1). Такой пересчет Х(!!) в Х(1!) легко осуществляется: Хо(1) х, (Хо(1) !) е! / ! На интервале (1,, 1, + й) интегрируется неоднородная система (1) с начальными данными при ! = 1,; Хо(1,) дает «продолжение» пгивлиженные методы вычислительной»изнкн 1ч.
и решения Хв на новый интервал. В качестве базиса на этом интервале используются векторы хг(1) (1=1, 2, ..., л — й), являющиеся решениями однородной системы х = Ах с начальнымн данными Хг(1,) = г'. Этот процесс продолжается с периодической ортонормировкой базиса и смещением точки Хв. Интегрированием справа-налево с периодической ортонормнровкой базиса получаем представление многообразии Я+(1). Имея Я (1) и Я+(1), решение х(1) в каждый момент времени 1 находим как Шщнственную точку пересечения (л — л)-мерной гиперплоскости Я (1) с й-мерной гнперплоскостью Л+(О.
Фактически этО сводится к системе л линейных уравнений с л неизвестными + «ы а„ам ..., а„= (а,, аз, ..., а„ы а,, аз, ..., ав).' Х" (~) +~; а Хт (1) = Хо(1) + ~к, 'а+Х'„(Г). Непрерывная ортонормирпвка; А. А. Абрамовым был предложен иной подход к построению устойчивого алгоритма решения краевой задачи (1) с использованием методов численного интегрирования задач Коши.
Он основан на втором способе описания мнопюбразий Л, Я+ (см. (7)). Имея левые краевые условия (1,, х(0)) = Ь; (1= 1, 2, ..., Ь), попытаемся «распространить» этн соотношения на весь интервал, т.е. получить для решения х(1) соотношения (7). Если функции 1;(1), Ь;(1) будут вычислены (и для правых краевых условий тоже), краевая задача в сущности будет решена. На первый взгляд вычисление требуемых Функций несложно. В самом деле, продифференцируем по г соотношение (7), опуская для простоты индекс и (1, х) + (1, х) = Ь. Используя прн этом уравнение х = Ах + а, получаем (1, х) + (1, Ах) + (1, а) = Ь нли, в другой форме, (1+ А'1, х) + (1, а) = Ь. Очевидно, цель будет достигнута, если в качестве 1(1) взять решение задачи Коши: 1= — А 1, Ь=(1, а) (1(0) и Ь(0) берутся из краевого условия).
Однако зто решение не может нас устроить: спектр А" аналогичен спектру А, н интегрирование задачи Коши для 1(1) содержит те же проблемы, что и интегрирование задач Коши для уравнения х = Ах; в 1(1) также происходит выделение быстро растущих экспонент. Можно нормировать 1((),.т.е. записать (7) в виде (1(1)/И1(1) И, х(Г)) = Ь(1)1И1(Г) ~К 251 ЖЕСТКИЕ ЛИИЕЙИЫЕ КРАЕВЫЕ ЗАДАЧИ 8 18! или, вводя новые функции Л(1) = 1(1)/Ц/(/) Ц и р(/) = Ь(1)/Ц/(1) Ц, в форме (Л(/), к(1)) = ~3(/), где растущие функции уже не фигурируют. Нетрудно проверить, что Л(1) является решением задачи Коши '/Л = —.8*Л+ 1АЛ' Л~ Ж * 1Л, Л> ' Уравнение для Ц не выписываем, так как этот прием не снимает основной неприятности: прн независимых, например, взаимно-ортогональных векторах Л;(О) векторы Л;(1) по мере роста ( вырождаются, выходят на общую асимптотику, определяемую наиболее быстро растущей экспонентой.
Другими словами, «базис» из векторов Л,.(1) сплющивается, становится плохим, его использование приводит к резкому возрастанию влияния малых вычислительных погрешностей. Переход от 1,(/) к Л,(1) только маскирует ситуацию, делая ее внешне более благополучной: из расчета устраняются быстро растущие функции, иногда приводящие к выходу чисел из класса машинных (выход в машинную бесконечность, т.е. «авост»). Выход состоит в том, чтобы в процессе интегрирования всех уравнений для 1,.(1) подправлять .векторы, беря их специальные линейные комбинации (краевые условия (1,, х) = Ь, можно заменять некоторыми их линейными комбинациями, не меняя самой краевой задачи). Перейдем к систематическому изложению варианта прогонки, в котором ортогонализация производится непрерывно и, так сказать, автоматически.
Представим левые краевые условия в компактной форме: 1. х(0) = Ь . Здесь /. — матрица л — /с, имеющая /с строк, л сголбцов; ее строками являкпся векторы 1; (1= 1, 2...,, /г), входящие в левые краевые условия. Вектор Ь составлен из чисел Ь; (1= ), 2, ..., Л), входящих в те же левые краевые условия.