А.А. Самарский, Е.С. Николаев - Методы решения сеточных уравнений (1978) (1160094), страница 19
Текст из файла (страница 19)
Методы решения таких разностных задач мы рассмотрим в 3 4. Второй способ заключается в непосредственной аппроксимации исходной дифференциальной задачи. В этом случае мы приходим к многоточечным разностным уравнениям. Наиболее часто встречаются системы пятиточечных уравнений следующего 4 А. А. Самарский, В. С. Никсаааа 97 видак Соуо — о(оуо+ еоу = 7о 1= О, (1) — Ь,у, +с,у,— Н,у, +е,у, = 7„ 1 = 1, (2) агу!,— Ь,у,;+с у,— о(оуо„+е!у!+,— — 7о 2<1<У вЂ” 2, (3) ам- Уи-о Ьм- Ум-о +сто- Ум- ~и- Уи= Ь-о 1 =У 1 ( ) а, у,, — Ьгум, + сдул = 7„, (=У.
(5) Такого вида системы возникают при аппроксимации краевых задач для обыкновенных дифференциальных уравнений четвертого порядка, а также при реализации разностных схем для уравнений в частных производных. Матрица А системы (1) — (5) является пятидиагональной квадратной матрицей размерности (У+1)х(У+1) и имеет не более 5У вЂ” ! ненулевых элементов. Для решения системы (1) — (5) используем метод исключения Гаусса. Учитывая структуру системы (1) — (5), легко получим, что обратный ход метода Гаусса должен осуществляться по формулам у,=а!+,Уг+,— 6„,у,оо+у!о„О(1(У вЂ” 2, (6) Ул-о=алуа+Ул !=У вЂ” 1. (7) Для реализации (6), (7) необходимо задать у,, а также опреДелить коэффициенты аь 13о Уо Сначала найдем формулы для ао ~; и у;. Используя (6), выразим у,, и у;, через у, и у;,. Получим (8) у;,=(а;а;,— ро,)у; — ~,ао,уо~,+а! оу!+у! ! (9) для 2<1(Л! — 1. Подставляя (8) и (9) в (3), получим [с;-а [т,+а,(а,ао,— Ь,)] у, =[!(о+К(аао,— Ь!)] у;„— Сравнивая это выражение с (6), видим, что если положить ! е; а!+, — — — [Й!+~о(аоао,— Ь!)], ! у,,= — [[! — аоу,,— у, (аа;,— Ь;)], (10) где обозначено Л, = с,— аф;, +а! (а!ао,— Ь;), то уравнения системы (!) — (5) для 2 ( ! ( У вЂ” 2 будут удовлетворены.
Рекуррентные соотношения (10) связывают а,о„~о„и уоо, с а,, а, „(1,, (), „у; и уо,. Поэтому, если будут заданы а;, ~; н у, для 1=1, 2, то по формулам (10) последовательно можно найти коэффициенты ао ~! и у; для 3(1(У вЂ” 1. 98 Найдем ао (1» и у, для» =1, 2.
Из (1) и формулы (6) для 1=0 непосредственно получим а» = »(о»с„р» = е„'с„у, = »о/с .. (11) Далее, подставляя значение (8) при 1=1 в (2), получим (с,— Ь,а,) у, = (»(, — Ь,р») у,— е,у, + 7»+Ь»у». Следовательно, (2) будет выполнено, если положить 4,— Ь~Р» и е 7,+Ь»т» с» — Ь~и ' » о с» — Ь»и» ~о с» — Ь»о' или где у~+» определяется по формуле (1О) при » = )Ч. Объединяя полученные выше формулы, запишем алгоритм правой прогонки для системы (1) — (5) в следующем виде: 1) по формулам сс»+,— — — [»1»+5»(а»а»» — Ь»Я, »=2, 3, ..., »Ч — 1, (13) »»о — о»» = (»1 ~Ь) со 7»+» — — — [7» — а»у»» — у»(а»а»» — Ь!)1, »=2, 3, ..., Ф, (14) 1 » у»= —,, у,= —,', (1»+Ь»у»), Й р»о,=е»)й»»=1, 2, ...
Ь» — 2, 5,=еоlс„ (15) где 2 (» ( У, Л» = с, — Ь,и„(16) Л»=с,— иЯ»»+а»(а,и;,— Ь,), находятся прогоночные коэффициенты ио ()» и у;; 2) неизвестные у» находятся последовательно по формулам 1=Ь( — 2, Л» — 3, ..., О, (17) у» = а»о»у»о» (» — у»+»+ 7»о» ум, — — а~у»о+ у»», ум — — учо». 4о Итак, используя (10) — (12), можно найти ао р» и 7»для 1(»( (»11 — 1. Осталось опРеДелить ам, Уь, и Уь„вхоДЯЩие в фоР- мулу (7). Воспользуемся для этого уравнениями (4) и (5). Подставляя (8) и (9) при»=Л» — 1 в (4) и сравнивая полученное выражение с (7), найдем, что и»о и ум определяются по формулам (!О) для»=М вЂ” 1.
Найдем теперь уь,. Для этого подставим (6) прн » =»1! — 2 и (7) в уравнение (5). Получим [с»е — а»»(»„»+и»г(а»»и и,— Ь»оЯ ум — — Ц~ — а»»»т~ » — 7»г(аь,аь» — Ь»г) Построенный алгоритм будем также называть алгоритмом монотонной прогонки. Замечание. Не представляет труда построить алгоритм левой прогонки, а также алгоритм встречных прогонок для системы (1) — (5). Подсчитаем число арифметических действий для алгоритма (13) — (17).
Для реализации (13) — (17) потребуется: 8гт' — 5 операций сложения и вычитания, 8ггг — 5 операций умножения и ЗЛг операций деления. Если не делать различий между временем выполнения арифметических операций на ЭВМ, то общее число действий для предложенного алгоритма Я = 19Лг — 10. 2. Обоснование метода. Построенный выше алгоритм прогонки (13) †(17) будем называть корректным, если для любого 2 = г' ( У будет верно неравенство бг=сг — аг(!г г+аг(агаг г — Ьг)ФО, Лг=сг — сс,Ьг~О, Следующая лемма дает достаточные условия корректности алгоритма (13) — (17).
Лемма 4. Пусть коэффициенгггы системы (1) — (5) удовлетворяют условиям )аг!> О, 2(г(ггг', )Ь,)) О, 1(г(!У, 1г(г!>О, 0' г(ггг — 1, !ег(>0, 0-- г '(гг — 2, и условиям (с, !) !г(, (+) е,(, !сг !>1Ьг !+1г(г !+(ег(, )см)>)аге(+)Ьге1, ~с„, г)>)а~,,!+)Ь, г(+)г(ге г(, (18) (сг!' ь!аг(+!Ьг(+)г(г!+(ег(, 2(г(гУ вЂ” 2, причем хотя бы в одном из неравенств (18) достигается строгое неравенство. Тогда алгоритм (13) — (17) корректен и, кроме того, имеют место неравенства !аг!+(рг! ' 1, 1(г()у — 1, !а ! - 1.
Действительно, в силу условий леммы из (13) н (15) получим Далее, используя полученное неравенство 1 — (а,! > !р,), найдем )с,— Ьсг,!~)(с,! — (Ь,()а, ! >!Ь,!(1 — (а,, !)+(г(г !+!е, !> > ! Ь, ! ! р, ! + ) г(, )+ ) е, () ! г(, — Ь,(), (+ ! е, ( ) О. Отсюда и из (13) — (15) следует оценка ! о — Р,ь, 1-г-! е, ! 100 Далее доказательство проведем по индукции. Пусть выполнень( неравенства )иг-.!+!Рг- (~1, )иг!+!Рг!.=1.
(19) Покажем, что тогда будут справедливы неравенства йг —— — сг — аг!3;, + а; (а и;, — Ь ) ~ь О, ! иге, ! + ! рг, т ! < 1. Действительно, из (18) и (19) получим '!ог!)!с;! — !аг)!!3,,! — !и;!!аг, !!а,! — !иг!!Ь,!) ) ! а; ! ( ! — ! ()г г !) + ! Ьг ! (1 — ! иг !) — ! и, ! ! и,, ! ! а; ! + ! Нг ! + ! ег ! ) -!аг!!и;,!+!Ьг!/8,! — !а;!/и;, !!аг/+!г(;!+!ег!)~ ) ! аг ! ! а,, ! (1 — ! иг !) + ! Й; — ЬО, ! + ! ег ! )~ ) ! а; ! ! и;, ! ! 81 ! + ! г(г — Ь(3г! + ! е, ! ) ))г(г+р;(агиг,— Ьг)!+!е,!) О, 1(М вЂ” 2. (20) Отсюда и из (13), (!5) найдем !+!8 != !"'+~г(""'-1 Ьй!+! "! ( 1, 1(й) — 2. г+1 Далее, для 1 = М вЂ” 1 будем иметь вместо (20) оценку !Ьгг, !) !агг,!!ич,!!()м,!+!Ьд, г!!Ца,,!+)г(ч,! >О. Кроме того, отсюда получим !б,!) !г(дг,+(3,(агг,им а — Ь,)!, и, следовательно, )им!= — — )-!дд,+)3д,,(а,,ад,„в — Ь, г))~1.
1 Осталось показать, что бы~О. Будем иметь ! Л, !.==. ! с, ! — ! агг (!)3дг, ! — ! а,! !ссм, ! ! ам! — !идг! !Ьдг! =!с„! — !агг! — !Ьгг)+!адг!(! — !)3м, !)+!Ьм((1 — )идг!)— — !ам!!идг г! !ам!)!сд! — !агг! — !Ьдг(+ +(1 — !и !)(1 — !рд,!) !а,!+!Ь,И1 — )идг!). В силу предположений леммы легко получить, что хотя бы в одном из неравенств !с, !)!алг!+!Ьл,(, !ич!(1, достигается строгое неравенство. Отсюда следует, что бччьО. Лемма до- казана. 3 а м е ч а н и е. Из указанных в лемме 4 оценок ! а, !+ ! рг ! (1 следует, что если при вычислении уа допущена погрешность, то она не будет расти при счете по формулам (17).
3. Вариант иемонотоииой прогонки. Приведем теперь алгоритм метода прогонка, который получается, если искать решейие системы (1) †(5) по методу Гаусса с выбором главного элемента по строке. Такой алгоритм будет корректен при единственном условии иевырождениости матрицы ь4 системы 101 (22) (25) Если У четно и не кратно 3, то система (27) имеет единственное решение гп .
1п у;= — соз — — шп —, 0~1~ У. 2 2 (23) Несложно убедиться в том, что алгоритм монотоаной прогонки для системы (27) некорректен — прн вычислении прогоночных коэффициентов а,, ()з и уз нужно будет делить на нуль. Алгоритм немонотонной прогонки позволяет 102 (1) — (5). Так как прием построения алгоритма аналогичен рассмотренному в п.4 2 2, то мы ограничимся приведением окончательной формы алгоритма. 1) Задаются начальные значения: С=со, 04 Во, В=Ьх, Ц=сы Я=по, Т=Ьо, й=о, А=аз, Р=)о, Ф=г'„6 =7з, Н= 7, и полагается но= О, з1о= 1.
2) Последовательно для 1=0, 1, ..., У вЂ” 2 в зависимости от ситуации выполняются действия, описанные в пп, а), б) нли а): а) если )С)~) 0) и ) С)))е;), то аг+х=07С, ()г+;=еНС, уььт=Р/С, С=6 — ВЩем 0= (;„— ВО;,и Р=Ф-ЬВУьот, В=Т вЂ” Ва;охь Я=оооо — 31)ьь„Ф=6 — Луг+э, В=А — йх;+х, Т=Ьььз — й5г.г 6=Н+йуо+ (2!) й=о, А=проз, Н=уьоз, Ого;=нн нг+т=э)г з)1од —— 1+2; б) если ) О) > (С( и )0)~) еу), то аз+1=670, 57+э — — — е;/0, угох= — Р70, С=баг+1 — В, 0=651+э+Аг+х, Р=Ф вЂ” 67;„т, В=Тщ+х — 3, 6=ТОгог+сгоз, Ф=Туьог--, '6, В=Аагог — й Т=АОге +Ьг+з 6=Н вЂ” Ауьог (23) й=о, А=а;оы Н=(гоо, (24) Оеоз=т)0 кзо,=ии Ньох — — 1+2; ) в) если )ег) > С и )ег) > (0 ~, то а;от=0/еп ()г+,—— С/еь тй„г=Р!еь С=6 — Агохаг „0= — иго,бгоы Р=Ф+П,„гуг г, В=Т вЂ” сгооагот, Я=Я вЂ” с!озО~ог, Ф=6 — сьозуг+х, Я=А — Ь;+ах;оы Т=й — Ьг+з()г+г, 6= Н+Ьг+зуг+ь й= — аььоагох, А= — агой;ег, Н=угоо — агооуг+х 01+1=1+2, нг+х — — г)ь э)гох=нп ( ) 3 а меча ние.
Длн 1) У вЂ” 3 вычислений по форлгулам (22), (24) или (20) проводить не нужно, а для Ь=У вЂ” 2 не проводятся вычисления по форму- лам (21), (23), (25). 3) Если )С!) ! 0 ), то ай=0/С, уч=Р/С, уУ+г= (Ф+Вуго)(Я вЂ” Вам) Ой=им х, наг=т)хг г. Если ) 0 / > ! С /, то ау =С/0, ухг= — Р,0, уй+э —— =(Ф вЂ” Яуу)/(Яам — В), ОН=ой и нзг=нУ 4) Вычисляются неизвестные у„=уй+, уе=аууз+уй лг=оу л=нд а затем последовательно для 1 = У вЂ” 2, У вЂ” 3, ..., О определяются остальные неизвестные ум=аг+эуз — ргогуа+угог И=01+о я=не+и Ь=Чьеп Рассмотрим 'пример применения метода немонотонной прогонки. В п. 3 2 3 гл, ! была решена следующая разностная краевая задача; уо — ух+ 2уз = 2, э=о. Уо+ Уг — Уа+ Уз = О, 1=1, уг з — уг г+2у; — уг+г+уьоз — О, 2~(и" У 2, (27) УУ- — УУ- +УУ-г — Ум=О, 1=У вЂ” 1, 2уу- — уу- т+ уу = О 1= У.
получить точное решение 128). Приведем для иллюстрации етого алгоритма (табл. 2) значения прогоночных козффициентов гзг, рг и уь а также Ог, иг и тГ для У=10. Таблица 2 Из таблицы видно, что неизвестные уг определяются в следующем порядке: ущ уь уз уз уг уз уз уе уз уз уз т. е. в немонотонном порядке. й 4. Метод матричной прогонки 1. Системы векторных уравнений. Выше было отмечено, что одним из способов решения краевых задач для обыкновенных дифференциальных уравнений высокого порядка является сведение к системе уравнений первого порядка с последующей аппроксимацией этой системы разностной схемой.
В результате мы получим двухточечную векторную систему уравнений с краевыми условиями первого рода. В общем виде она записывается следующим образом: Рг+,Це,— ЦгЦ= Рг „О(з(У вЂ” 1, (1) где Ц вЂ” вектор неизвестных размерности М, Р,е, и Яг для О(г(У вЂ” 1 — квадратные матрицы МхМ, Р, и Я~,— прямоугольные матрицы соответственно размеров М, х М и М, х М, М, + М, = М. Вектор Р;+, для О ( з ( У вЂ” 1 имеет размерность М, а векторы,Гз и Рч г — М, и М, соответственно. Заметим, что другим способом решения указанных дифференциальных уравнений является непосредственная аппроксимация этих уравнений разностными схемами. При этом мы получим систему многоточечных скалярных уравнений.