Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

книги из ГПНТБ / Марчук Г.И. Методы вычислительной математики

.pdf
Скачиваний:
63
Добавлен:
25.10.2023
Размер:
13.2 Mб
Скачать
4/fp
Метод верхней релакса­ ции
2/1'р~
р+а
Метод чебышевского ус­ корения
2
С Т0=-7—^—
Смещения
UP
Простейшая итерация
т 0 = 1 / Р
с
Метод решения задачи
s

го уравнения. Для этого эффективно

используется метод

фак­

торизации. Если

требуется решить разностную задачу без

предварительного

расчета параметра

(3 (В), то обычно

при­

нимается то = 1 , 8 -

Во многих задачах этот параметр оказы­

вается близким к

оптимальному.

 

 

Естественно, что метод блочной релаксации может быть применим и для решения двумерных разностных уравнений

вида

(1.48), при этом сходимость этого метода будет

быст­

рее,

чем сходимость метода поточечной релаксации

(1.49).

Весьма полно теория верхней релаксации рассмотрена в мо­ нографиях Базова, Форсайта1 3 1 , Варги1 3 1 и других.

3.1.5. Сопоставление асимптотической скорости сходимости различных итерационных методов

Асимптотическая скорость сходимости итерационных ме­ тодов может быть связана с обусловленностью матриц р==р/а. Большой интерес представляет оценка скорости схо­ димости итерационных про-

цессов для разностных урав­ нений в зависимости от ша­ га сетки h. Такую зависи­ мость от h для рассмотрен­ ных методов можно просле­ дить лишь на частных при­ мерах, тогда как установ­ ленная связь скорости схо­ димости с числом обуслов­ ленности не зависит от част­

ного характера задачи. Приведенная таблица характеризует скорость сходимости s от р.

Известны и другие итерационные методы, имеющие более быструю сходимость, чем указанные в таблице. Однако их эффективность установлена только для частного случая раз­ ностной задачи Пуассона и других простейших задач. Рас­ пространение этих результатов на более широкие классы за­ дач весьма затруднительно.

3.2.ГРАДИЕНТНЫЕ ИТЕРАЦИОННЫЕ МЕТОДЫ

Современные вычислительные машины стимулировали дальнейшее развитие таких итерационных методов, оптими­ зация которых производится на основе апостериорной ин­ формации о самом решении в процессе счета. Такие алгорит­ мы можно назвать с а м о н а с т р а и в а ю щ и м и с я на оп­ тимальную скорость сходимости. В отличие от спектральных

методов оптимизации, которые используют только априорную информацию о спектре определенных операторов, связанных с решением задачи, самонастраивающиеся методы неявно используют информацию как о спектре операторов, так и об амплитудах невязок соответствующих гармоник ряда Фурье в самом итерационном процессе. Это существенно повышает эффективность алгоритма, поскольку отдельные гармоники невязки подавляются более целенаправленно и предпочтение

отдается

подавлению гармоник с наибольшими

амплитудами.

Начало развитию градиентных методов было положено ра­

ботами

Л. В. Канторовича1 1 1 1 , Хестенса,

Штифеля1 1 1 1 ,

М. А. Красносельского, С. Г. Крейна1 1 1 1 , Ланцоша1 3 1 и про­ должено многими исследователями.

Среди самонастраивающихся алгоритмов прежде всего отметим градиентные методы, основанные на вариационной оптимизации.

3.2.1. Метод минимальных невязок

Сосредоточим наше внимание на одном из вариантов градиентных методов — методе минимальных невязок, сущ­ ность которого состоит в следующем.

Рассмотрим систему линейных алгебраических уравнений

 

 

 

Лф=т .

 

 

 

(2.1)

Пусть

А >

0. Для

решения уравнения

(2.1)

воспользуемся

методом последовательных приближений

 

 

 

 

 

Ф?' + і = ф.' — XJ (А ф' f),

ф° =

0.

(2.2)

Для невязки

^=Лф^ — f

 

 

 

 

 

 

 

 

 

 

 

вместо

(2.2)

будем

иметь

 

 

 

 

 

 

 

Ъ^=(Е-т;А)Ъ\

? ° = - f .

 

(2.3)

Легко

видеть, что

решение уравнения (2.2)

выражается

че­

рез невязку с помощью формулы

 

 

 

 

 

 

 

J - 1

 

 

 

 

 

 

 

ф ; = _ 2 Т . |І .

 

 

(9 4)

Переходим к выбору параметров Xj. С этой целью в прост­ ранстве R л-мерных вещественных векторов определим ска­ лярное произведение

л

 

(ф, ф) = ^ Ф і фі

(2.5)

и норму

 

 

щи = va,

D-

 

С помощью рекуррентных соотношений (2.3) имеем

 

где

 

 

q, = 1 / і - 2 т П ^ ' І М

+ ^ A V ' ^ \

(2.7)

Параметр релаксации х;- найдем из условия минимума функ­ ции q_i{%). С этой целью соотношение (2.7) продифференци­ руем по параметру Tj и результат приравняем нулю. Тогда получим

 

 

 

 

 

 

> • У

 

(2.8)

 

 

 

 

 

 

 

 

 

Это и будет

оптимальным

параметром релаксации

для

шага

с номером

у. Выражение

(2.8)

подставим в (2.7)

и найдем

 

 

 

9/

=

У

1 —Р?.

 

(2.9)

где

 

 

 

 

 

 

 

 

 

 

 

Р 2 =

|

)

) а

. —

 

(2.Ю)

Покажем

теперь, что

при

А >

0

имеем 0 ^ ( / j < ; l .

В

самом

деле, из (2.6)

следует,

что

(]-, ^

0, а это значит, что

 

 

 

 

 

0 < р 2 < 1 .

 

(2.11)

Заметим, что р2. не может стремиться к нулю, а ограничен снизу. Это следует из того, что

и, следовательно,

 

i n f

( a ^ L =

m

i n

^ ( ^ ) } >

0 .

 

6 / є Л

(V I 7 )

п

У

\ -

I)

 

Таким образом, приходим

к требуемому

заключению

 

 

0 < ^ « 7 < 1 ,

 

(2.12)

где q <

1 — некоторое заданное

число,

не

зависящее от /.

М. А.

Красносельский

и С. Г.

Крейн1 1 " показали, что ме­

тод минимальных невязок имеет асимптотическую скорость сходимости

На первый взгляд кажется, что сходимость этого метода весьма медленна и он существенно уступает методу чебышевской оптимизации и методу верхней релаксации. Асимптоти­

чески это

так. Однако

еще Л. В. Канторович1 1 1 1 , а затем

С. К. Годунов и Г. П.

Прокопов1 1 1 1 заметили, что в первых

нескольких

итерациях

стремление приближенного решения

к точному существенно быстрее, чем для других методов. Поэтому асимптотическая оценка оказывается слишком гру­ бой для оценки числа арифметических действий для получе­ ния результата с заданной точностью. К сожалению, из-за не­ линейного характера метода более точные характеристики ме­ тода минимальных невязок получить не удается.

Структура подавления компонентов Фурье невязки в этом методе такова, что первоначально сильно подавляются гармо­ ники невязки внутри спектрального интервала. Подавление таких гармоник идет весьма быстро. Подавление же возмуще­ ний, соответствующих собственным числам а и р (и их окрест­ ностям), происходит более медленно. Поэтому на некотором этапе итерационный процесс выходит на асимптотический ре­ жим подавления этих двух гармоник. Для ускорения процесса, очевидно, необходимо рассмотренный одношаговый метод ми­ нимальных невязок комбинировать с двухшаговым.

3.2.2. Двухшаговый метод минимальных невязок

До сих пор во всех случаях предполагалось, что матрица ,4 в системе линейных алгебраических уравнений положи­ тельна. Однако зачастую при решении уравнений (2.1) при­ ходится иметь дело с матрицами А, спектр которых вещест­

венный, но часть собственных чисел положительна,

а дру­

гая — отрицательна. В этом случае сформулированные

выше

методы последовательных приближений, вообще говоря, при­ водят к расходящимся процессам. Однако еще Гауссом был предложен метод, позволяющий от системы уравнений с про­ извольной матрицей перейти к другой системе (эквивалент­ ной первой), матрица которой уже будет симметричной и по­ ложительной. Такое преобразование получило название трансформации Гаусса.

Рассмотрим это преобразование. С этой целью уравнение (2.1) слева помножим на А* — матрицу, сопряженную мат­ рице А. Тогда получим новое уравнение

A*A<p=A*t. (2.13) Обозначив A*i = g, будем иметь

A*A<p=g. (2.14)

Предположим,

что Х—0

не

является

точкой

спектра Л

(а следовательно,

и А*).

В

этом

случае

обратная матрица

( Л * Л ) - ' = Л - 1 Л * - 1

существует,

и

формальное

решение

за­

дачи (2.14) примет

вид

 

 

 

 

 

 

 

 

Ф =

Л - ' Л* - ' g =

Л - ' Л * - 1 Л*ї = Л-'f.

(2.15)

Вместе с тем нетрудно убедиться, что симметричная

мат­

рица Л* Л является положительной, поскольку

 

 

 

 

 

(А*А%;1)

=

(А%,АЪ)>0,

 

 

(2.16)

если Я = 0 не является точкой

спектра матрицы

А.

Таким

об­

разом, вместо

уравнения

(2.1),

не поддающегося

реализа­

ции с помощью рассмотренных итерационных процессов, мы пришли к уравнению (2.14), которое уже можно решать с помощью различных итерационных методов. Известно, од­

нако, что при трансформации Гаусса матрица Л* Л, как

пра­

вило, становится плохо обусловленной. В самом

деле,

пусть

Л =

Л* >

0 и эта матрица

имеет спектр

,

 

 

 

 

0 < а < ? і п ( Л ) ^ 6 .

 

 

Тогда матрица Л* Л =

Л2 имеет спектр уже следующий:

 

 

 

0<а2п(А*А)^2.

 

 

Если

^- =

/?^>1, то

^ з " ^ -

и, следовательно,

обусловлен­

ность новой матрицы резко ухудшается. А это значит, что итерационный процесс будет сходиться весьма медленно, да­ же при использовании эффективных методов оптимизации. Тем не менее во многих случаях оказывается целесообраз­ ным использовать для решения уравнения (2.14) итерацион­ ный метод типа минимальных невязок

ф ;+і =

ф і _ Т і ( Л * Л ф з — g ) ,

(2.17)

где

 

 

Т'

~

( 2 Л 8 )

 

i> = A*Aq,l-g.

(2.19)

Таким образом, мы пришли к выводу, что в случае А > О весьма эффективным методом будет метод минимальных не­

вязок в форме (2.2), а

в случае произвольной матрицы Л

можно

воспользоваться

методом

минимальных

невязок

в форме

(2.17). В обоих

случаях в

предположении,

что нуль

не является точкой спектра матрицы Л, итерационные про­ цессы сходятся к точному решению задачи (2.1).

Возникает мысль о введении двухшагового метода мини­ мальных невязок, содержащего лучшие стороны обоих

процессов. Рассмотрим метод последовательных приближе­ ний в виде

«р>+і = ф ' — Т , И Ф * — f ) — IJA* (Atf—Ї),

(2.20)

где Tj и yj — пока произвольные параметры. Для невязки %, процесс (2.20) перепишем в виде

 

 

^=%i-XjAV-yjAA*y.

 

 

 

 

 

(2.21)

Переходя к выбору оптимальных параметров

и yj на

осно­

ве метода минимальных невязок, составим

функционал

 

 

( Г " , V+1) =

(V,

1 0 - 2 т , ( Л ^ , %>)-2ъ(АА*%\

 

%') +

 

 

 

+ 2т,- у,- (Л V

, А А* V) +

%) (Л І* , Л V) + у) [А А* V

Л Л*

Ю -

 

 

 

 

 

 

 

 

 

(2.22)

Найдем минимум функционала

(|'+ 1 , £ т )

=

|||'+1||2

по х,

и

j>

Тогда приходим к системе линейных уравнений:

 

 

 

Ъ(УК

У5)+УЛУК

zi) =

(xi, yi);

 

 

 

( 2 2

3

где

 

 

 

 

 

 

 

 

 

 

 

 

 

X J = | J ;

у і = Л ^ ;

 

z i — Л Л * ^

 

 

(2.24)

Решая систему

уравнений

(2.23),

получим

 

 

 

 

 

•СУ

(х'т y 3 ) ( z ' ,

z>) —

( х ' , z')(y>,

zJ)

,

 

 

 

 

 

(x'\ z')(y*. y') -

( x ' , y ' ) ( y ' ,

z>)

 

 

 

 

 

 

(у',

y')(z>, z ' ) - ( y ' , z 3 ) a

 

 

 

 

Следовательно, для выбора оптимальных параметров необ­

ходимо подсчитать

следующие функционалы:

(х', у^), (х^, z->),

(У>,

(yj ,

yJ )

и

(zi,

zi).

 

Рассмотрим

теперь

свойства двухшагового

итерационного

процесса (2.20).

 

 

 

 

 

Во-первых, следует отметить, что для положительно оп­

ределенной

матрицы Л этот процесс будет сходиться быстрее,

чем

любой

из

одношаговых процессов (2.2)

и (2.17), по­

скольку оба указанных одношаговых процесса являются частными случаями двухшагового, и поэтому минимум нормы невязки для двухшагового процесса с учетом оптимизации по двум параметрам т3- и yj, как говорят, «глубже», чем мини­ мум по каждому из одношаговых процессов.

Во-вторых, двухшаговый процесс (2.20) имеет универ­ сальный характер, поскольку он применим для решения ал­ гебраических систем с матрицами произвольного спектра.

Система (2.23)

разрешима

всегда, поскольку определи­

тель ее отличен от

нуля. В этом

нетрудно убедиться, используя

неравенство Бупяковского — Шварца, из которого следует

 

 

(AV, АА*%іу^(А%>,

А$)

(ЛАПК

ЛЛ*%>)-

(2.26)

При этом

равенство возможно только в случае

 

 

 

 

АА*%з =

ХА%з, т. е. А%і=ІІК

 

(2.27)

Поскольку А,=0 не является собственным числом опера­

тора / 1 ,

то это равенство может иметь место

только в случае,

когда

в

итерационном процессе

отличной

от

нуля

оста­

лась лишь одна гармоника, соответствующая

некоторому

собственному числу оператора А*. Однако, как

легко видеть,

в этом

случае знаменатель и числитель в (2.25)

обращаются

в нули. Поэтому мы имеем

дело

с неопределенностью

вида

у . Чтобы избежать этого случая, желательно иногда комби­ нировать двухшаговый метод с любым из одношаговых, ко­

торый немедленно подавит отдельную гармонику.

Таким образом, мы снова приходим к мысли о целесооб­ разности комбинирования одношагового и двухшагового ме­ тодов минимальных невязок.

Аналогичным образом могут быть введены n-шаговые ме­ тоды минимальных невязок. Эти методы изучены в ряде ра­ бот Ю. А. Кузнецова1 "1 . До сих пор метод минимальных не­ вязок оптимизировался по отношению к простейшей норме невязки. В качестве оптимизирующего функционала в ряде случаев удобно воспользоваться нормами более сложными, типа |)Щ = (С|, £), где С > 0. Такие нормы позволили от­ крыть ряд новых эффективных итерационных процессов, са­ монастраивающихся на оптимальную скорость сходимости.

Особое место занимают симметричные матрицы с произ­ вольным спектром. Итерационные процессы типа метода со­ пряженных градиентов (Хестенс, Штифель1 1 1 1 , С. К. Годуноь, Г. П. Прокопов1 1 1 1 и другие) оказываются весьма удобными для реализации на ЭВМ.

3.2.3. Метод сопряженных градиентов

Одним из эффективных методов решения систем линей­ ных уравнений вида

Л<р == f

(2.28)

с симметричной и положительно определенной матрицей Л яв­ ляется метод сопряженных градиентов. Остановимся кратко на задаче, которая послужила причиной его возникновения.

Пусть Еп — пространство п-мерных векторов со скаляр­ ным произведением

( Ф , Ч > Ь = ( А Ф,Я|З),

где(и, v) = V

U{Vi,

(u, v e f „ ) и D — симметричная и поло-

i =

l

 

 

 

соотношение

 

жительно определенная матрица. Тогда

 

 

 

 

||u||D =(Du, и)

 

 

определяет в

Еп

норму. Если теперь

ввести некоторое

под­

пространство

М Е

Еп

размерности

т с базисом (g,)"=i , то

задачу нахождения

приближенного

решения системы

(2.28)

в подпространстве М можно сформулировать как задачу оп­ ределения вектора ф Є М, для которого

||ф* -

фііл =

min Цф* -

Ф||В =

min

||q>* -

2

аф\\в, (2.29)

г д е ф * = Л - 1 т — точное

решение

системы

(2.28).

Система

определения

коэффициентов

(осі )

разложения

ф =

2

аї g,-

имеет вид

 

 

 

 

 

 

 

 

 

i = l

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

В а = 5 ,

 

 

 

 

 

 

(2.30)

где В =

{bu j) — матрица порядка

т с элементами

 

 

 

 

 

Ьщ=

(g{,

gj)D

 

{і, / = 1

, - • •,

т)

 

 

 

и S =

(Si, . . . , S m ) ' — вектор

с

компонентами

 

 

 

 

 

 

S , =

(ф*,

gi)D

 

( i = l ,

• •,

пі).

 

 

 

Уже

отсюда

видно, что

наиболее

простым

является случай

(g і>g/b =

%

gifx)

(6ц —символ

Кронекера),

т.

е.

когда

{gi)ILi

D — ортогональный

 

базис

подпространства

М.

Тогда

 

 

*

(Ф*.

 

..

,

 

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

II ЩЪ

 

 

 

 

 

 

 

 

Необходимым условием численной реализации такого про­ цесса является требование, чтобы вектор Dq>* был известен.

Для этого достаточно, например, чтобы D=A.

Конкретизи­

руем несколько

вариационную задачу

(2.29)

применительно

к нашим целям.

 

 

 

 

 

 

Пусть задан

некоторый ненулевой

вектор

ф° е

Еп,

D=A

и подпространство М является линейной

оболочкой

си­

стемы линейно

независимых векторов

1

( Ф * — Ф°)}:І=Ь

об­

разующих базис

в пространстве М. Тогда

задача

(2.29)

мо­

жет быть переформулирована следующим образом. Требует­ ся найти вектор и є Д чтобы

1(Ф* - Ф°) - Чл = min ||(Ф* - Ф°) - и||л.

(2.31)

Как уже было указано выше, если в заданном подпростран­ стве М мы сможем найти некоторый Л-ортогональный ба­

зис I g i l i L j , то

искомое приближение ф к вектору ф* находит­

ся по формулам

 

 

 

 

 

 

 

 

 

 

 

 

т

 

 

 

 

 

 

 

Ф = <PQ + i2=l а & 1 >

 

 

 

 

(Ф«-<ро,

g i ) A

_

( И ф о - t , g | )

 

(2.32)

a i ~

(Si. Si) и

~

 

<Si. Лві)

(

*

 

 

Этот процесс молено еще записать следующим

образом:

 

 

 

 

<pk=<pk-l—ahgk,

 

 

 

 

 

 

а к

=

<ЯЙ7в5~

 

{ 2

- 3 3 )

 

 

 

[k

=

1, . ., m ) ,

 

 

 

ГДЄ

5 * = (Лф''—f) В е К Т О р

НеВЯЗКИ

И ф =

ф т .

 

 

 

Наиболее

известным

способом

построения

базиса в

про­

странствах типа М является процесс Шмидта. Однако для матриц Л высокого порядка он требует большого числа арифметических действий и большой памяти ЭВМ при чис­ ленной реализации. Для случая симметричных, но не поло­ жительно определенных матриц эффективным способом по­

строения Л2 -ортогоналыюго

базиса

(т. е. когда

D=A2)

в пространстве М является

метод

минимальных

итераций

Ланцоша, детально описанный в монографии Д. К- Фаддеева и В. Н. Фаддеевой1 8 1 . Самым экономичным из известных

способов Л-ортогонализации векторов

( А1 (ф° — ф* )} ,1і =

= {l(A(f>° — f))iLi для симметричных

и положительно опре­

деленных матриц является метод сопряженных градиентов, формулы которого в постановке (2.31) имеют вид

(1°,

если

k = 1,

I s ' 1 - 1 —bhgk-i,

если

/ г > 1 ,

 

а ' і = ( ^ Г І І Г

( / г =

1

m ) -

где {%h=Aq>h-fJfeLi

векторы

невязки.

 

Докажем,

что

построенные

по

этим

формулам векторы

!gft]fe=i образуют

Л-ортогональный базис пространства М,

если векторы

{ Л й - 1 | ° ) й 1 = 1 линейно

независимы. Сначала по-

кажем, что все векторы {g/i}/Г==і будут ненулевыми. В самом деле, если в (2.34) провести последовательное исключение, то легко видеть, что

g b =

+ *2 І М ' - Ч 0 (* - 1.

(2-35)

/=і

с некоторыми коэффициентами {р&, ,•}. Поэтому gfc=0 будет противоречить требованию линейной независимости векторов

Теперь остается показать, что векторы {gh}™_[ ортого­ нальны. Для этого предположим, что для некоторого k~^2 выполняются соотношения (для ft=l, 2 их выполнение уста­ навливается непосредственной проверкой) .

( 4 g t , g i ) = 0

( / = 1

, £ - 1 ) .

 

(1\

& ) = 0

. ( / = 1 ,

1,

ft),

(2.36)

 

« І > 0

( / = 1 , . . . .

ft),

 

 

и докажем их справедливость на (ft-f-l)-M

шаге. Для

этого

нам понадобятся равенства

 

 

 

 

Agi = ~ lg» +

fyg/_i g / + i — 6/+ig/l

=

e / g / + 1 + p/g,

+

 

+

Y/g/ - i

 

 

(2 -37)

 

( / = 1 ,

. . . f t - l )

 

 

 

(здесь аолагается g o = 0 ) . Чтобы вывести эти соотношения, достаточно воспользоваться равенствами, полученными из (2.34), и условиями

=- a,Agh

 

 

g/+i =

§' -

6/+ig/

(/ =

1, . . . ,

— 1),

 

 

Так как в силу предположений

имеем

 

 

 

 

H g n - b

g/) =

H S h

- &»+i^gk,

g/) =

M S \

St) -

bk+i

x

 

X (Agk,

g}) =

( l f t , i4g/) =

 

e /

g / + 1

+ p / g /

+ T/g/-i) =

0

 

 

 

 

( / = 1 , . . . ,

 

ft-l)

 

 

 

 

и по построению

(Agi+b

g „ ) = 0 ,

то

 

 

 

 

 

 

 

 

 

W l

g / ) = 0

 

 

 

(2.38)

для

всех ; ' ^ f t . Далее,

поскольку

( l m

, g k + i ) = 0 ,

по постро­

ению и из предположений (2.36)

следует

 

 

 

(lh+1,

Si) = ( l h .

Si) ~

(Agk+u

Si)

(/ =

1, . . .

, ft),

(2.39)

9 Г. И. Марчук

1'29

 

Соседние файлы в папке книги из ГПНТБ