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

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

.pdf
Скачиваний:
63
Добавлен:
25.10.2023
Размер:
13.2 Mб
Скачать

и линейная функция у =

преооразует отрезок

а ^ Я , ^

в отрезок — 1 ^ г / ^ 1

(с изменением направления). Лег­

ко показать, что Tj(y)=

cos

(/ arccosу)

при

 

Известно, что на

интервале

— п

о л и н о м ы

Tj(X)

наилучшим образом (равномерно) приближаются к нуль-

функции

Q(K)^0.

При

этом

количество

нулей

полинома

зависит

от его порядка

/. Вне

интервала

[ — 1 , 1]

полином

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

личин т. Для этой цели воспользуемся

следующим алгорит­

мом. Найдем все нули полинома

Pj{X).

Как известно,

корпи

полиномов

Чебышева Tj(y)

при

фиксированном номере

/ оп­

ределяются

по формуле

 

 

 

 

 

 

У 1 = cos { 2 i

~ l )

n

( / = 1 , 2 , . . . , /) .

(1.27)

Теперь нетрудно установить формулу для выбора Я,,-. В са­

мом деле, для этого требуется

решить уравнение '

 

 

Р +

а —

{

 

 

 

Отсюда находим к( (при фиксированном / ) , которые обраща­

ют В НУЛЬ Pj (X).

Итак, мы нашли полином Pj{X), который наилучшим обра­ зом аппроксимирует нуль-функцию. Теперь наша задача со­ стоит в том, чтобы соответствующим выбором параметров т, в выражении

П (1 — тД)

сделать этот полином тождественным полиному (1.26). Как известно, для этого достаточно потребовать, чтобы Pj(X) и

і

П (1 — гД) имели одни и те же нули и единую нормировку.

і =1

Поскольку нули функции Pj{X) нам уже известны и равны Хи

а

полином

п ^1—т, A,j разложен

на

линейные

множи­

тели, то, если выбрать т,-=1Д;,

мы

приходим

к

 

полиному

П ^ 1 — j r j - j ,

нули которого

совпадают

с нулями

 

полинома

Pj(X)

из (1.26). Совпадают

также и значения этих

полиномов

при А = 0 . Это значит, что полином п

^

X " ) я

в л я

е

т с я поли­

номом Pj [X)

с нулями в точках

Х—Х{.

 

 

 

 

 

ПО

 

 

 

 

 

 

 

 

 

Но поскольку полином PjCk) разложен на линейные мно­ жители (см. (1.24)), то значения параметров тг- определяются из условия обращения в нуль сомножителей произведения (1.24). Таким образом п=\/Хи т. е.

 

* i

=

 

 

 

 

( 9 t -

_ h

n

(і =h2,...,

і).

(1.28)

 

 

 

(В + о ) - ( Р - а ) c o s ( - '

| ) л

 

 

 

 

 

 

 

 

 

 

 

2І

 

 

 

 

 

 

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

сходимо­

сти

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

(1.23). С

этой целью

нам

необ­

ходимо

оценить

 

max }

 

 

 

 

(1.29)

 

 

 

 

qi

=

(к}\.

 

 

Поскольку

максимальное

значение

P J ( A )

достигает

на грани­

це интервала

[а, р ] , учитывая свойство полиномов

Чебышева

 

 

 

 

Гл -(±1) =

( ± 1 ) і ,

 

 

 

при />-оо имеем

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

2

 

 

 

 

2

 

4 1 =

ЇЇЇЩ

=

(г + УТ^ТУ

+ (г-

YF=T)i

^ ( T V y ^ T ) ? '

г д е

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Р — а '

 

 

 

 

Полагая р^>а, получим

асимптотическое

равенство

 

 

 

 

 

 

'

 

Г

= 1 + *

 

 

 

 

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

 

 

 

Р

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

s = — In q =

— ~ 1п2 + In (г +

j/TaZTi) .

 

 

ПрИ /

»"00

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

s =

In (г + j

7 ^

)

 

 

 

ИЛИ

 

 

 

 

 

 

 

 

 

 

 

 

 

s - i n ( i + i + / ( T T | F T ) - i n ( i + ^ ) + 0 ( i . ) -

Таким образом, при /—>-oo и p^l

 

асимптотическая скорость

сходимости

метода (1.23),

(1.28)

определяется формулой

 

 

 

 

 

 

 

_2

 

 

 

 

 

(1.30)

 

 

 

 

 

 

s

= — •

 

 

 

 

УР

Отсюда видно, что рассматриваемый метод (1.23), (1.28) дает большой выигрыш в сходимости итерационных процес­ сов для плохо обусловленных систем с Поскольку этот

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

Таким образом, для осуществления метода (1.23), (1.28) необходимо прежде всего определить границы спектра — ве­ личины а(Л), (3(Л)и построить последовательность опти­

мальных значений параметра

 

 

ТІ =

9 . _ ,

(і = 1.2

/„).

p ( i l ) +

a ( i 4 ) - [ P ( i 4 ) - a H ) ] c o s t i _ L

 

Здесь / = / о — число шагов в цикле.

 

 

При очень

больших числах р = р/а

рассматриваемый

ме­

тод может оказаться неустойчивым. В сущности этот хорошо известный факт вызвал некоторый пессимизм в отношении эффективности метода применительно к широким классам задач. Другой особенностью метода является необходимость предварительного расчета не только верхней, но и нижней границы спектра. Этот вопрос изучен в 1Л.2. Проблема же устойчивости решена В. И. Лебедевым и С. А. Финогеновым1 9 1 , которые доказали, что метод оказывается устойчивым по отношению к погрешностям округления при упорядочении параметров т,- (см. также А. А. Самарский1 3 1 ).

 

Пусть

г — наименьшее

целое

число

такое, что / о < 2 г и

1 ^ й ^ 2 г . Представим

k— 1 в

двоичной

системе

записи

k=

=

7172.

• • •> 7г, где уа является либо нулем, либо единицей. Об­

разуем

число

x{k)

= у г

. . . 7271+1 -

Будем

считать, что т,- пред­

шествует

т0 ,

если

х(/) < % ( о ) .

Когда / о = 2 г , это

значит,

что

т,- будет иметь новый номер, равный

Вторую

процедуру

упорядочения

удобно при jo—2r

определить

рекуррентным спо­

собом.

 

 

 

 

 

 

 

 

 

 

 

 

 

=

Пусть

( а ь

аг, -., оу2)

( l ^ a ^ / ' o / 2 , щфан

при іфк,

і,

k—

1 , 2 , . . . , ]й\2) — порядок

номеров т,-, установленный

при /о/2

в соответствии с этой процедурой. Тогда для / о = 2 г

потребуем,

чтобы порядок номеров Ті был следующим:

 

 

 

 

 

(ku k2,...,kjB)

=

(оь /о+1 — 0ь

о2 , /о+1—о"2,...,/о+ 1—о/о/г)-

 

 

При описанных двух способах выборки операторы пере­

хода — ТгЛ) с

большой

нормой как

бы

«равномерно

раз­

мешиваются» среди операторов, уменьшающих норму ошиб­ ки. Следует, однако, подчеркнуть, что если «длина цикла» / 0 невелика ( / о ^ Ю ) , то вычислительный процесс, как правило, оказывается устойчивым и не требует специальной организа­ ции выборки параметров т*.

В заключение отметим, что если / о = 1

и мы имеем дело

с одношаговым чебышевским ускорением

метода последова-

тельных приолижении, то для получения оптимального пара­ метра т воспользуемся формулой (1.28), из которой при г = 1 , j — l следует

_ 2

Асимптотическая скорость сходимости итерационного процес­ са в этом случае определяется непосредственно с помощью формулы для q

,

і

і

р — а

 

Р\ (')

 

Р + а

и имеет вид

S

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

3.1.4. Метод верхней релаксации

Во многих приложениях большую популярность приобрел итерационный метод, разработанный Янгом и Франкелом и названный методом верхней релаксации. Идея метода состо­ ит в следующем.

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

 

Л<р=г

 

(1.31)

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

О

 

Е

—Тг

0

0 .

 

„ -S2

Е —Т-г 0 .

О

 

О

О

О

О .

- 5

Ь Е

Следует отметить, что рассматриваемая структура матри­ цы А возникает во многих эллиптических задачах математи­

ческой физики при редукции их к конечно-разностным.

 

Матрицу А запишем в виде

 

 

 

 

 

 

A=E

— S — T,

 

 

 

где

О 7, О

. О

0 0 0 .

. 0 0

 

Т =

О 0

Тг

. о

S = S.

0 0

. 0

0

 

 

 

 

0 0

о . . .

о о

О О О .

Sk

0

и Е- единичная матрица.

8 Г. И. Марчук

113

Уравнение (1.31) можно теперь записать в виде

где

B

=

S + T.

 

Будем предполагать, что итерационный процесс

 

ф" + 1

=

В(рп+т

(1.32)

сходится. Это значит, что максимальное по модулю собствен­ ное число матрицы В по абсолютной величине меньше едини­ цы, т. е. (3(5) < 1 . Именно это условие и является основным ограничением применимости метода верхней релаксации, к описанию которого мы приступаем.

Систему уравнений (1.31) можно записать в виде трехчлен­ ного разностного уравнения

O P - S / P P _ 1

~ 7 ' P 0 P + I

= F P

( р = 1 , 2, . . . ,

к)

(1.33)

при условии

Si =

0,

TH = 0,

 

 

 

 

 

 

где Фр — вектор, являющийся

компонентом вектора ф, a F p

вектора

f.

системы

(1.33) воспользуемся

методом по­

Для

решения

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

Ф£+ 1 = Ф $ - т ( Ф ; , - s p

Фр±\ -тр

Ф>Р+) ~ FP )

(/7=1, 2,

k).

(1.34)

Если решение уравнений вида (1.34) проводить в порядке возрастания индекса р, начиная с р = 1 , то для каждого за­ данного р вектор Фрі.! в правой части (1.34) будет уже из­ вестен из только что проведенного цикла вычислений, соот­ ветствующего индексу (р—1). Заметим, что в некоторых случаях процесс (1.34) удобно записать в виде двухшагового

• алгоритма

a>j+1/2 = s„ Ф Р ± \ + Т Р Ф Р + 1

+

? Р ,

 

 

Ф І + ' = т Ф І І + , ' 2 + ( 1 - т ) Ф І ,

 

 

 

(1-35)

причем в правой части первой формулы

(1.35)

выражение

Фр-\ предполагается уже известным

для заданного

р.

Рассмотрим сначала однородное уравнение (1.34):

ф £ + 1 = ФР - т (Ф> -

SP ФР+\

-

Т Р

ФР+,

)•

(1 -36)

Решение этого уравнения будем искать в виде

 

 

Ф'Р = Х

(G)\PT

 

 

 

 

(1.37)

где V(G) есть /-я степень константы X(G), которая является собственным числом оператора

G = ( £ - T S ) - ! [ ( 1 — т ) £ + т Т ] .

Для нахождения X(G)

поступим

следующим

образом.

Подставив (1.37)

в (1.36)

и сокращая

на Xі(G), получим

X(G)Vp

=

Vp-x(Vp-SPX(G)Vp.l-Tp\p+i).

 

(1.38)

Рассмотрим

две спектральные задачи:

 

 

Aw=X(A)w;

Bw = X(B)w.

(1.39)

Очевидно, что они имеют общий набор собственных векторов,

поскольку А — Е — В,

 

Предположим, что { w n } — полная система

собственных

векторов. Тогда решение однородного уравнения

(1.38) будем

искать в виде

 

р

Vp = X* (G) w p .

Подставив (1.40) в (1.38) и используя (1.39), получим

[(MG) + T - l ) l w p = T ] / T ( G ) 4 f i ) w „ . Отсюда приходим к уравнению, связывающему Х(В) с

X (G) — хХ (В)УХ (G) +х — 1 = 0 ,

(1.40)

X(G):

(1-41)

т. е. к квадратному уравнению относительно ) ^ ( G ) , имеющему

корни

 

 

 

 

 

 

.

 

 

 

 

 

 

 

 

 

УТЩ

=

^

 

±

У~Щ^-х

 

 

+

\.

 

 

(1-42)

Для

получения вещественных

решений

необходимо и

доста­

 

 

 

 

 

 

 

 

 

 

ти"

(В\

 

 

 

точно

потребовать выполнения

у с л о в и я — т

— 1.

Для

того,

чтобы при

| Ц В ) | < 1

величина

|MG)|

также

была

меньше единицы,

а это

достаточное

условие

сходимости ме­

тода

последовательных

приближений

(1.34),

следует

потре­

бовать

 

 

 

| т — 1 | < 1 .

 

 

 

 

 

 

 

Отсюда имеем условие

 

 

 

 

 

 

 

 

 

0 < т < 2 .

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Рассмотрим

максимальное

значение

модуля

величины

/ Я

(G):

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

т а х | уТЩ

=

Н

І

Ш

+ У\

 

 

-

х + 1|.

 

Нетрудно показать,

что

минимальное

значение

величина

max (|]/\(G) |) будет принимать при таком выборе

параметра

8*

'

 

 

 

 

 

 

 

 

 

 

 

 

И5

т, который обеспечивает обращение в нуль подкоренного вы­ ражения

Отсюда получаем оптимальный

параметр

 

 

 

 

 

т0

=

г

"

 

 

 

(1.43)

 

 

 

1 + Y\

-

 

 

 

 

 

который

приводит

 

к

минимальному

выражению

max{|A,(G) |} = (3(G)

для

всех

собственных

чисел Х{В).

 

При

таком выборе т имеем

 

 

 

 

 

 

 

 

р ( 0 ) =

(

Р <g )

V =

т0 -

1.

(1.44)

Найдем теперь асимптотическую скорость сходимости ите-1»

рационного

процесса

верхней

релаксации.

Вспомним,

что

| р ( В ) | < 1 . Более того, обычно

для

плохо

обусловленных

си­

стем алгебраических

уравнений

| р ( В ) | » 1 .

Именно

этим

объясняется крайне медленная сходимость итерационного процесса (1.32).

Оценим асимптотическую скорость сходимости метода верхней релаксации для плохо обусловленных матриц. Сна­

чала покажем, что для сходящихся итерационных

процессов

(1.32) (а

именно такие случаи уравнений (1.31) мы рассма­

триваем)

всегда выполняется

условие

 

 

 

 

0 < С І ) = = Ї

) < 2 .

 

Действительно, это условие( Л

соблюдено,М Л Х Р ( Л

так как с учетом

структуры

матрицы А=Е

В и естественной линейной свя­

зи между собственными числами %(А) =

 

1 — Я ( 5 )

имеем

 

|Р(5)| = т а х { | 1 - р ( Л ) | , | 1

- а ( Л ) | } < 1 .

Предположим теперь, что матрица А, возникающая в ре­ зультате решения некоторой задачи математической физики,

плохо

обусловлена. Обычно

в этом случае а

 

) « 0 ,

р

 

 

)«=2

и а

) / р

 

) < 1 . Это

значит,

что спектр

оператора

А,

 

кото­

рый( Л

 

( Л

 

 

отнесем

к

интервалу

0 < Я ( Л ) < 2 ,

 

для

мы

приближенно

 

оператора В трансформируется

в интервал 1 < Я ( Б ) < 1 .

Более того, исходя

из связи

спектров

 

 

 

 

 

 

 

 

 

 

 

 

ЦА)

= \

—%{В)

 

 

 

 

 

 

 

и вида матрицы В,

получаем

 

 

 

 

 

 

 

 

 

 

 

 

а ( Л ) « 1 - р ( В ) ,

р ( Л ) « 1 + р ( Я ) .

 

 

(1.45)

С учетом

(1.45) имеем

 

Р(Л) - а(Л )

 

 

 

 

 

 

 

 

 

 

 

 

Р(Б):

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ЩА) + а{А)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

или для плохо обусловленных систем

 

 

где

P ( f i ) ^ l - ^ T T

 

(1-46)

р =

$(А)/а(А).

 

 

 

 

 

Ограничиваясь

главными

членами,

соотношение

(1.44)

представим в форме

 

 

 

 

_

1

 

 

где <7=rnax|A.(G) | = ( 3 ( G ) .

Поскольку

s=—In q, то

имеем

 

s =

r ^ = .

 

(1.47)

 

 

VP

 

 

Сопоставление формул (1.47) с (1.30) показывает, что в

рассматриваемом

случае метод верхней

релаксации сходится

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

необходимо найти

только

максимальное

собственное

число

оператора B—S-\-T.

Так

же,

как и

метод

чебышевского

ускорения, метод

верхней

релаксации

удобно

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

в тех случаях, когда при

одном

и том

же

операторе

задачи

А необходимо найти решения при

различных входных

данных.

 

 

 

 

 

 

 

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

Ф = £ ф + т ,

гдеЙ. —матрица такая, что в покомпонентной форме это уравнение запишется в виде

4>k,i = dh,i ф« - і,/+ h,i Ф м - і + Ch,i фл-н.' + dhti фя>/+1 + /h,o (1-48)

Предположим, что все коэффициенты aka, б ы ,

и dh,i

положительны и

 

flh,z+bft./+Cft.j+dft.z^l.

 

причем строгое неравенство должно иметь место хотя бы для одного набора (k, I ) . Это условие свойственно разностным аналогам уравнений эллиптического типа. Заметим, что в (1.48) граничные условия задачи уже удовлетворены за счет специального выбора коэффициентов уравнения. Метод верх-

ней релаксации для разностного уравнения (1.48) запишем следующим образом:

фЯ-і/2

= ак, ф£И>;

+

bhii ФІ+І., + ck<i

ф*+

1 і І

-1- 4 , i

Ф£,г + 1

+

 

 

 

 

 

 

+

k,r,

 

 

 

 

 

 

 

 

 

чу

= мііт + и-^%.г

 

 

 

 

( L 4 9 )

Порядок перебора k, l таков: в узле

{ku

 

ly)

значение

ц>$1

из (1.49) находится раньше, чем в узле (k2,

t2),

если

ki<.k2;

если же k] = k2,

то — если

1\<.12. При таком

переборе матри­

ца (Е— В) может быть

приведена

к блочно-трехдиагональ-

ному виду (Вазов, Форсайт1 3 1 , Варга1 3 1 ).

 

 

 

 

 

Схема реализации алгоритма такова. Сначала решается

частная

спектральная

проблема на

отыскание

 

максимально­

го собственного числа оператора В:

 

 

 

 

 

 

 

Ф ^ "

= аьл Ф £> u

+

bKl

 

ф(») _ 1

+ с м

ф«»| 1 > г

4 Ч / 1 > $ - И ,

(1.50)

'"Де gh,h—вообще

 

говоря, произвольный

вектор. При

этом,

по методу Люстерника,

имеем

 

 

 

 

 

 

 

 

 

 

 

р ( В )

=

1 і т т ^ г -

'

 

 

 

 

( Ш )

 

 

 

 

 

 

п~со

|| ф

П,

 

 

 

 

 

 

После того, как Р(б)

найдено, определим

т по

формуле

 

 

 

 

 

 

 

 

9

 

 

 

 

 

 

(1.52)

При найденном оптимальном значении т далее решается

задача

(1.49).

Алгоритм

верхней

поточечной

релаксации

оказывается очень простым в приложениях.

 

 

 

 

Сделаем одно важное

замечание

алгоритмического

харак­

тера. При реализации алгоритма верхней релаксации необ­ ходимо предварительное знание максимального собственного числа оператора В. В этом случае используется метод по­ следовательных приближений (1.50), (1.51).

В самом деле, для отыскания верхней границы спектра

оператора

В

можно

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

итерационный процесс

(1.49) при т = 1 . С помощью формулы

(1.41) получаем

связь

р(<?) и р ( 5 ) в

виде

 

 

 

 

 

 

 

p * ( B ) = P ( G ) .

 

 

 

Следовательно,

теперь

задача состоит в

нахождении

P(G)

с помощью

итерационного процесса (1.49)

при т = 1 . В

отли­

чие от однородного уравнения (1.50)

мы

теперь имеем

дело

с неоднородной задачей. Для этого случая метод Люстерника обобщается тривиально, и мы будем иметь

 

HG) =

l i m ! ^ +

1

- « " П .

 

 

 

ІІФ"

-

Ф п - ' 1

 

где ф" решение задачи

(1.49)

при т = 1 . После

нахождения

P(G)

оптимальное значение для

т

находится в виде

 

 

- Р ( 0 )

(1.52а)

 

0

 

 

 

 

 

 

В

некоторых случаях

весьма

 

эффективным

является ме­

тод блочной релаксации, который проиллюстрируем на трех­

мерной

задаче

 

 

 

Фй,/,т

= u.k,l,m ф / t - l , l,m + Ьк,1,т ф к , / - 1 , т + CkJ.m <fk,l,m- 1 +

+

d/i,;,m ф ь + І . / . т + ^ , , ; , т

ф й , г +1,т - Г " / м , т фл ,/,т + І + ^ f t , i ,m,

(1.53)

где

все

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

разностного уравнения (1.53)

счита­

ются неотрицательными и выполняются условия

 

 

Qfc,/,m + ЬкЛчП1 +Ctl,l,m + dhi[<m + &k,l,m + fh.i.m 1

(1 -54)

и хотя бы для одного набора {к, I, т) в (1.54) будет иметь место строгое неравенство. Метод блочной релаксации оп­ ределим следующим образом:

 

 

(fe =

l , 2 , . . . , l

= l , 2 , . . . , m

=

l , 2 , . . . ) ;

 

 

 

 

ф з + і = Т Ф І + 1 ' 2 + (1 x) ф» . .

 

 

Для

решения задачи

(1.55) необходимо найти т. С этой

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

решается

задача

 

 

 

Ф

- С М . т

ф Щ _ ,

- / * . l . m Ф Ю + І

=

flft.'.-

Ф*"ІІ.І.«

+

 

 

+ &к.«.« Ф $ - , , Т

+rfk,«,mФ ) ^ 1 Л Т

+

Єк.1,1» Ф # + 1 , Т

(1-56)

 

 

 

 

Фк,и = &.«..»•

 

 

 

 

 

В результате решения задачи (1.56)

находится

 

 

 

 

р (В) -

l i m

" Q

b

 

 

 

и т по формуле (1.52).

 

 

 

 

 

 

 

 

При

использовании

 

формулы

(1.52а)

необходимо

найти

P(G)

методом

(1.55)

с

т = 1 . Заметим,

что

всякий раз при

заданных k, I и m требуется

решение одномерного разностно-

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