А.А. Самарский, Е.С. Николаев - Методы решения сеточных уравнений (1978) (1160094), страница 15
Текст из файла (страница 15)
Поясним ситуацию. Так как расчетные формулы (6) — (8) метода прогонки содержат операции деления, то нужно гарантировать необращение знаменателя с; — аы, в (7), (8) в нуль. Будем говорить, что алгоритм метода правой прогонки корректен, если с~ — а;а; ~ 0 при 1 = 1, 2, ..., Ж. Далее решение у; находится по рекуррентной формуле (6). Эта формула может порождать накопление ошибок округления результатов арифметических операций. Действительно, пусть прогоночные коэффициенты а, и (3г найдены точно, а при вычислении ун допущена ошибка вь„т. е.
найдено ум=у, +ем. Так как решение у; находится по формулам (6) у,=а;„у;+,+~;„, 1=7ч" — 1, Ж вЂ” 2, ..., О, то погрешность вг=-у; — у, будет, очевидно, удовлетворять однородному уравнению юг=и;~,е,~„!=У вЂ” 1, У вЂ” 2, ..., О, с заданным вы.
Отсюда следует, что если все аг по модулю больше единицы, то может произойти сильное увелйченне погрешности е„и, если М достаточно велико, то полученное реальное решение у,будет значительно отличаться от искомого решения у, Не имея возможности более детально останавливаться на обсуждении вопросов вычислительной устойчивости метода и механизма образования неустойчивости, сформулируем требование, обычно предъявляемое к алгоритму метода прогонки. Будем требовать, чтобы прогоночные коэффициенты а, не превосходили по модулю единицы. Это достаточное условие гарантирует невозрастаиие погрешности в; в рассмотренной выше модельной ситуации.
Если выполнено условие !а,~(1, то будем говорить, что алгоритм правой прогонки устойчив. Выясним условия корректности и устойчивости алгоритма (6) — (8). Следующая лемма содержит достаточные условия корректности и устойчивости алгоритма правой прой>нки. Л е м м а 1. Пусть коэффициенты системы (1) действительны и УдовлетвоРЯют УсловиЯм 1Ь,1)0, (ад,))0, (с,) > О, !сн(> О, )а,)>0, )Ь!(> О, 1=1, 2, ..., У вЂ” 1, Доказательство леммы проведем по индукции. Из условий леммы и (7) следует, что (16) Покажем, что из неравенства !я,!<! (1<Ь7 — 1) и условий леммы следуют неравенства с; — а;а,ФО, !а,~,) <1, ! ' У вЂ” 1.
(17) Тогда, учитывая (16), получим, что имеют место неравенства (и;( < 1 для ! =- 1, 2, , Л' и с; †,.чьО для ! = 1, 2, ..., )У вЂ” 1. Для завершения доказательства леммы останется доказать неравенство см — азз,ЧТО. Итак, сначала установим (17). Пусть ! а, ! < 1, ! ~, й( — 1. Тогда из (14) ) с; — ар; ! > ) с; ! — ) а; ! ( я; ) > ! Ь; 1+ !а; ( (1 — ) а; !) > ! Ь| ( > О, (18) и, следовательно, с; — а;а;ФО.
Далее из (7) и (18) получим что и требовалось доказать. Осталось показать, что сз — ачссч~ О. Для этого используем предположение, что хотя бы в одном из неравенств (14) или (16) имеет место строгое неравенство. Здесь возможны несколько случаев. Если )сл,)) )аз,(, то в силу доказанного (яч)<1 и, следовательно, сл, — аз,ичко О. Если строгое неравенство достигается в (14) для некоторого 1,, 1 < 1, < Л~ — 1, то из (18) получим, что (с, — а,а,,) ) 1Ь; ), и, следовательно, имеет место неравенство ! ';"' а; „( < 1.
По индукции далее легко устанавливается неравенство и;( < 1 для ! >1, + 1. Следовательно, в этом случае будем иметь (ич(<1, и поэтому с~ — азаз~О. Если !с,!)1Ь,(, то неравенство (а,) ( 1 имеет место, начиная с 1=1. Поэтому снова пол чим (ач( < 1 и см — агач=,й О. Лемма доказана. амеч ание 1. Условия корректности и устойчивости алгоритма (6) — (8), сформулированные в лемме 1, являются лишь достаточными условиями.
Эти условия можно ослабить, разрешив некоторым из коэффициентов а, или Ь, обращаться в нуль. Так, например, если при некотором 1 < гй < У вЂ” 1 окажется, что а„=О, то система (1) распадается на две системы: су„— Ьу „,=7, — а;у;, + с;у; — Ь;у;„= ~о — аму„, + смум =- ~д, для неизвестных у, у „,, уч и соуо Ьау1 ~о — п,у,, + с;у; — Ь,д;.„, = ~о — а,д„, +с,у„, = 7 (=и, т+1<!<й/ — 1, !=У !=О, 1<!(и — 2, + Ьи-1уи для неизвестных у„у„..., у,. К каждой из этих систем можно применить алгоритм (6) — (8), если для них выполнены условия леммы 1.
Но в этом случае формулы (6) — (8) можно использовать для нахождения решения сразу всей распадающейся системы (1), причем алгоритм будет корректен и устойчив. Замечание 2. Условия леммы ! обеспечивают коррект. ность и устойчивость алгоритмов левой и встречных прогонок. Зги условия сохраняются и для случая системы (1) с комплексными коэффициентами а,, Ь; и с;. Покажем теперь, что при выполнении условий леммы 1 система (1) имеет единственное решение -урн любой правой части. Действительно, учитывая соотношения (7), непосредственным перемножением матриц можно показать, что матрица А системы (1) представляется в виде произведения двух треугольных матриц Еии А=ЕЮ, где а, 0 — а! а! 0 — ас 0 0 0 0 О 0 а, о — ас ас 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 о аФ з — аа 0 а!г-с — а,т 0 0 У 0 0 0 0 а - о — ам Ьл 1 — а! 0 0 ...О О 0 0 1 — аа 0 ...О 0 0 О О 1 — Ф3...0 О О О О ...
! — ссч ! 0 0 0 ... О ! — сст 0 0 ... 0 0 ! 0 О О 0 0 и Ь! с,— ар.„1=1, 2, ..., !т'. Так как Йе1А=Йе1Е с)е! У=с, Ц Лс, с= 1 а всилу леммы! с,ФО и ЛсФО для 1=1,2, ..., л1, то!)е!А~О. Поэтому система (1) в случае выполнения условий леммы 1 имеет единственное решение, и это решение может быть найдено по методу прогонки (6) — (8). 4. Примеры примененисГ метода прогонки. Рассмотрим некоторые примеры применения изложенного выше метода прогонки.
80 Пример 1, Первая краевая задача. Пусть требуется решить следующую задачу: (й (х) и' (х))' — в (х) и (х) = — 1(х), О < х < 1, и (0) = р„и (1) = р„й (х) о с, ) О, а (х) ) О. (19) На отрезке О < х < 1 построим произвольную неравномерную сеткУ !о=(х!Е[0, 11, 1=0, 1„..., Л!, х,=О, хм — — 1) с шагами Ь, =х! — х, „1= 1, 2, ..., Л' и заменим (19) следующей разностной задачей: (аУ-„)„-,. дьуь= ~и 1<1<ЛГ 1, уо =(оо ул =ро (20) где Й! = д (х!), ср! = 1(х!), а для а! используем простейшую аппроксимацию коэффициента й(х): а;=й(х,— 0,56!).
Расписывая ревностную производную, входящую в (20), по точкам УГ+ — У1' а У!-У!-! (ау-)- = — а. Уо)о! Ь 1 1+! !, !, !1 1 1'+1 ! Здесь В,=А. = О, С,=С =1, 1,=р„1 =р„1,= у,, (21) Вь= — „"', С!= А!+В!+!(„1 <1< Л( — 1. ! !.1 А!= —, а; Ьл!' В силу построения разностной схемы (20) для коэффициентов а, и о(! выполнены следующие условия: а;)с, ) О, о(!)О. Поэтому из (21) следует, что для (1") условия леммй 1 выполнены, и эта задача может быть решена методом прогонки.
Пример 2. Третья краевая задача. Рассмотримтеперьслучай краевых условий третьего рода: (й (х) и' (х))' — д (х) и (х) = — 1(х), 0 < х < 1, й (0) и' (0) = ооо и (0) — р;, — й(1) и'(1) =х,и (1) — р, (22) Будем считать выполненными следующие условия: й(х)) с, > О, в(х)>0, к,)0, но)0, причем, если в(х)=0, то х,'+н',чьО. 81 где ли=0,5(й!-(-й!+1) — средний шаг в точке хе, получим, что задача (20) записывается в виде системы Соуо Воуо = Го — Аьу;, + С!у; — В!у!+, — — ~!, 1<!' < Л! — 1, (1") — Аяуы,+С!чу!ч=!!у 1 =Л1.
На введенной выше неравномерной сетке задача (22) аппроксимируется следующей разностной схемой: (ау„-)-,— д,у1= — <ро 1 <1< М вЂ” 1, (23) где коэффициенты ао д, н ~~! выбраны указанным в примере ! способом. Расписывая вторую разностную производную (ау ) по точкам, а также первые производные У~~-~ — У1 Ги У1-1 а1„~ 1 1ч сведем (23) к виду (1"), где 2 2 2 СЕС= А1У+С(у+а Нм ~о = Фо+1Рг Ь ЧЛ'+а Ре "еч ' А-~с я~ ~ 0(х( и(0, 1)=р,(1), и(1, 1)=-р,(1), и (х, 0) = и, (х). (24) На плоскости (х, 1) введем сетку со=((х,, 1„), х,=1й, 1=0, 1, ..., Аг, й= ЦМ, 1„=пт, а==О, 1...) с шагом й по простран- ству и т по времени. Аппрокснмируем (24) разностной схемой Ун;=оу-~' +(1 — о) у', ! <1< А1 — 1, хв [ хк, ~ Уо=рг(1,) Уй=У~(1.) у)=и,(х,), п=О, 1, где а — вещественный параметр, у,"= — у(х1, 1 ) 1 1 Угл, ~= ае (У1+1 2У1+У1-~), У1 1= — (у)'"~ — УВ).