Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Основы научных вычислений. Введение в численные методы для физиков и инженеров
.pdf
2.7. Итерационные методы 51
Разложим вектор e
Тогда
Оценка нормы вектора e
Следовательно
если все |λ
(B)| < 1. Этот простой анализ поясняет основную теорему
n
(0)
по собственным векторам матрицы B:
N
(0)
e
=
αnzn, zn =1.
n=1
N
(k)
e
=
αnBkzn=
n=1
(k)
даёт
N
(k)
e
k→∞
lim
n=1
N
αnλ
n=1
|αn|·|λn(B)|k.
(k)
e
=0,
k
(B)zn.
n
итерационных методов.
Теорема 2.2. Итерационный процесс (2.13) сходится для любого
начального вектора x
(0)
тогда и только тогда, когда
s(B) < 1, (2.17)
здесь s(B)=max
|λn(B)| — спектральный радиус матрицы B.
n
Достаточное условие сходимости итерационного процесса:
B < 1,
тогда условие (2.17) также выполняется, потому что s(B) B
для любой матричной нормы.
На результат итерационного процесса (2.13) влияют ошибка алго-
ритма и, естественно, ошибки округления. Ошибку алгоритма можно
легко оценить. Пусть, для простоты, итерации начинаются с вектора
(0)
x
= g,тогда
x
(k)
k
=
p=0
Bpg, x∗=
∞
p=0
Bpg.

52 Глава 2
Следовательно
=
pl=k+1
k
Bpg
(k)
a
∗
=
x
e
− x
(k)
Для B < 1 мы получаем
k
p=k+1
Bp·g.
B
1 −B
k+1
·g
,
(k)
e
a
таким образом, чем меньше спектральный радиус матрицы B,тембыстрее приближения x
(k)
стремятся к x∗. Что касается ошибок округле-
ния, то следующая оценка может быть получена:
(k)
e
r
1 −B
ε
g
1
, для всех k.
Эта оценка показывает, что при использовании итерационных мето-
дов ошибки округления не накапливаются.
2.7.2. Метод Якоби
Представим матрицу A вследующейформе:
A = L + D + U, (2.18)
где
L=
⎛
⎜
⎜
⎜
⎝
0
∗ . 0
∗∗.
∗ . ∗ .
∗∗∗∗0
⎞
⎟
⎟
, D= diag(a
⎟
⎠
,...,aNN), U=
11
⎛
0 ∗∗∗∗
. ∗ . ∗
⎜
⎜
⎜
⎝
. ∗∗
0 . ∗
⎞
⎟
⎟
.
⎟
⎠
0
Один из простейших способов построения эквивалентной фор-
мы (2.12) следующий:
Ax =(L + D + U)x = f
Dx = −(L + U)x + f =(D − A)x + f,

2.7. Итерационные методы 53
иокончательно
x =(I − D
−1
A)x + D−1f. (2.19)
Тогда итерационная матрица B ивекторg для метода Якоби запи-
сываются как
B = B
g = g
= I − D−1A,
J
= D−1f.
J
Построение эквивалентной формы (2.19) состоит в явном выраже-
нии n-го неизвестного из n-го уравнения системы. Так как матрица B
легко вычисляется, можно оценить s(BJ) и определить, сходится ли
метод Якоби. Имеются также достаточные условия, которые позволяют
выяснить сходимость этого метода непосредственно через компоненты
матрицы A. Итерационный процесс (2.13) с матрицей B = B
ром g = g
сходится, если
J
ивекто-
J
1) A есть матрица со строгим диагональным преобладанием. В этом
случае, учитывая структуру матрицы B
что B
J∞
< 1;
,можнолегкопоказать,
J
2) A есть неразложимая матрица со слабым диагональным преоблада-
нием.
РИМЕР 2.2 (МЕТОД ЯКОБИ).
П
Рассмотрим систему (2.1), где матрица A ивекторf имеют следу-
ющий вид:
⎛
⎞
2 −10
A =
⎝
−12−1
⎠
0 −12
Эта система имеет точное решение x
матрица B
ивекторgJзаписываются как
J
⎛
⎞
00.50
B
⎝
0.500.5
=
J
⎠
00.50
⎛
, f =
⎝
∗
=(2/3, 1, 1/3)T.Итерационная
⎛
, g
⎝
=
J
1/3
1
−1/3
1/6
1/2
−1/6
⎞
⎠
. (2.20)
⎞
⎠
.
J
Собственные значения матрицы B
)=−0.5√2, 0, 0.5√2,s(BJ)=0.5√2 ≈ 0.7071.
λ(B
J
Следовательно, метод Якоби для данной системы уравнений сходится. Результаты вычислений для начального вектора x
:
J
(0)
=(0, 0, 0)
и εp=10−5представлены в Таблице 2.1.
T

54 Глава 2
Таблица 2.1.
k x
(k)
x
(k)
− x
(k−1)
0.1666
0.5000
1
5.5277e − 01 8.5602e − 01
−0.1666
0.4166
0.5000
2
3.5355e − 01 6.1237e − 01
0.0833
... ... ... ...
0.6510
0.9687
10
2.2097e − 02 3.8272e − 02
0.3177
... ... ... ...
0.6661
0.9990
20
6.9053e − 04 1.1956e − 03
0.3328
... ... ... ...
0.6666
0.9999
33
7.6293e − 06 1.2619e − 05
0.3333
e
(k)
2
2
2.7.3. Метод Гаусса–Зейделя
Обратимся опять к выражению (2.18). Только теперь мы построим
эквивалентную форму (2.12) в другом виде:
Ax =(L + D + U)x = f,
(L + D)x = −Ux + f
(B = B
= −(L + D)−1U, g = gGS= −(L + D)−1f)
GS
или
(U + D)x = −Lx + f,
(B = B
= −(U + D)−1Lg= gGS= −(U + D)−1f).
GS

2.7. Итерационные методы 55
Обращать матрицу L+ D или U+D не имеет смысла, так как мы можем
построить итерационную схему в виде
(k)
+ f (2.21)
(k)
+ f. (2.22)
или
(L + D)x
(U + D)x
(k+1)
(k+1)
= −Ux
= −Lx
Матрица L + D нижняя треугольная, а матрица U + D —верхняя
треугольная, поэтому системы (2.21) и (2.22) могут быть легко решены относительно вектора x
(k+1)
.ТаккакматрицаBGSв явном виде
не вычисляется и анализ её собственных значений невозможен, то метод Гаусса–Зейделя обычно применяется к системам, удовлетворяющим
определённым условиям, а именно:
1) A есть матрица со строгим диагональным преобладанием;
2) A есть неразложимая матрица со слабым диагональным преоблада-
нием;
3) A есть SPD-матрица. В этом случае если метод Якоби сходится
(s(B
) < 1), тогда метод Гаусса–Зейделя сходится более быстро,
J
так как s(B
П
РИМЕР 2.3 (МЕТОД ГАУССА–ЗЕЙДЕЛЯ). Рассмотрим систему (2.20)
из примера 2.2. Итерационная матрица B
)=s2(BJ) для матриц этого типа.
GS
GS
ивекторgGSдля этой
системы имеют следующий вид:
B
GS
⎛
00.50
⎝
00.25 0.5
=
00.125 0.25
⎞
⎠
, g
GS
⎛
⎝
=
1/6
7/12
1/8
⎞
⎠
.
Собственные значения матрицы B
λ(B
)=0, 0, 0.5; s(BGS)=0.5.
GS
Результаты вычислений для начального вектора x
GS
:
(0)
=(0, 0, 0)Tи εp=10
−5
представлены в Таблице 2.2.
Как показывают эти результаты, для данной системы метод Гаусса–
Зейделя сходится быстрее, чем метод Якоби. Это объясняется тем, что
матрица A,определённаяв(2.20),естьSPD-матрицаиs(B
) <s(BJ).
GS

56 Глава 2
Таблица 2.2.
k x
(k)
x
(k)
− x
(k−1)
0.1666
0.5833
1
6.1941e − 01 6.8338e − 01
0.1250
0.4583
0.7916
2
3.7325e − 01 3.1249 −01
0.2291
... ... ... ...
0.6658
0.9991
10
1.2207e − 03 1.2200e − 03
0.3329
... ... ... ...
0.6666
0.9999
17
9.5169e − 06 8.9655e − 06
0.3333
2.7.4. Метод релаксации
e
(k)
2
2
Основной вопрос, возникающий при использовании итерационных
методов: как достичь наиболее быстрой сходимости, или, другими словами, как построить итерационную матрицу для данной системы, которая имела бы наименьший спектральный радиус s(B).Дляэтогонеобходимо иметь некоторый способ управления свойствами итерационной
матрицы B. Один из таких способов реализуется в методе релаксации.
Вначале обсудим общую схему этого метода. Рассмотрим систе-
му (2.1) с SPD-матрицей A. Для вектора приближенного решения x
(k)
мы определим функционал ошибки в виде
=
(k)
ϕx
Длятогочтобывычислитьдругойвекторx
(k)
от x
жим x
только n-й компонентой и такой, что ϕ(x
(k+1)
= x
(k)
− x∗, Ax
x
(k)
+ αbn(bnесть базисный вектор, смотри 2.1). Тогда
(k)
− x
=
∗
=
(k)
(k)
, Ae
e
(k+1)
, который отличается
(k+1)
) <ϕ(x
(k)
e
(k)
(k)
, r
),поло-
.

легко получить, что
2.7. Итерационные методы 57
где
ϕx
(k+1)
= ϕx
r
(k)
(k)
n
+
=Ax
αa
nn
(k)
+ r
a
nn
− f, b
(k)
n
2
−
2
(k)
r
n
a
nn
, (2.23)
n
есть n-я компонента вектора невязки. Сумма второго и третьего слагаемых в (2.23) принимает отрицательное значение, если выбрать параметр α так, чтобы
|αa
nn
или
α = −ω
Тогда n-я компонента вектора x
(k+1)
x
n
(k)
+ r
n
(k)
r
n
, 0 <ω<2.
a
nn
(k+1)
(k)
= x
n
(k)
| < |r
|
n
вычисляется как
(k)
r
n
− ω
,
a
nn
где ω называется параметром релаксации. Выбирая таким же образом
параметр α для n =1,...,N, мы получим следующую итерационную
схему:
(k+1)
x
= ((1 − ω) I + ωB
= x
) x
J
(k)
(k)
−1
− ωD
+ ωD−1f = BJR(ω) x
Ax
(k)
− f=
(k)
(2.24)
+ gJR(ω) .
Эквивалентная форма (2.12) для этой итерационной схемы может быть
также записана в виде
Dx = Dx − ω (Ax − f) . (2.25)
Теперь мы имеем итерационную матрицу, которая зависит от параметра ω. Можно подобрать такое значение параметра ω, которое обеспечивает минимальное значение s(B
тимальным значением параметра релаксации и обозначается ω
тод релаксации (2.24) основывается на методе Якоби (B
(ω)). Такое значение называется оп-
JR
opt
(1) = BJ),
JR
.Ме-

58 Глава 2
и λ(BJR(ω)) = 1 + ω(λ(BJ) − 1).Пусть−λl λ(BJ) λr,тогдаоптимальное значение параметра релаксации вычисляется как
ω
=
opt
2
2+λl− λ
r
и
+ λ
λ
l
⎞
r
.
r
s(B
JR(ωopt
П
РИМЕР 2.4 (ВЫЧИСЛЕНИЕ ОПТИМАЛЬНОГО ПАРАМЕТРА РЕЛАКСАЦИИ
ДЛЯ ИТЕРАЦИОННОЙ СХЕМЫ
(2.24)). Рассмотрим следующую матрицу для
системы (2.1):
⎛
)) =
2+λl− λ
311
A =
⎝
131
⎠
.
113
Собственные значения матрицы Якоби B
вательно, s(B
чим ω
opt
)=2/3. Учитывая, что λl=2/3 и λr=1/3,полу-
J
≈ 0.8571.Тогдаs(BJR(ω
)) ≈ 0.4286 <s(BJ),иэтоговорит
opt
: − 2/3, 1/3, 1/3,и,следо-
J
о том, что можно ускорить сходимость по сравнению с методом Якоби.
Следующий логический шаг — построить метод релаксации, осно-
ванный на методе Гаусса–Зейделя (2.21). Учитывая выражение (2.18),
можно преобразовать (2.25) в следующую эквивалентную систему:
Dx = Dx − ω (L + D + U)x + ωf ,
(D + ωL) x =(D − ω (D + U)) x + ωf
=(D + ωL)−1(D −ω (D + U)).
B
SOR
Как и прежде, обращать матрицу D + ωL не нужно, а записать итерационную схему в виде
(k+1)
(D + ωL)x
=(D − ω(D + U))x
Матрица D + ωL нижняя треугольная, и система (2.26) может быть
легко решена относительно вектора x
(k)
+ ωf ,k=0,... . (2.26)
(k+1)
.Напрактикебылозамечено
(в некоторых случаях доказано), что итерационная схема (2.26) сходится медленнее при ω<1 (нижняя релаксация), чем при ω 1 (верхняя
релаксация). Поэтому обычно используется ω 1 изаитерационной
схемой (2.26) закрепилось название метод последовательной верхней

2.7. Итерационные методы 59
релаксации (SOR, Successive Over-Relaxation). Для небольшого числа
специфических (но важных) задач оптимальное значение параметра релаксации может быть определено. Рассмотрим кратко этот случай.
Матрица Якоби
B
= I − D−1A = −D−1L −D−1U
J
называется согласованно упорядоченной, если
λ−αD
−1
L −
1
−1
D
α
U= λ(BJ)
длялюбогопараметраα =0. Например, блочно-трехдиагональные мат-
рицы вида
T =
где D
U
— квадратная матрица размером Nm×Nm(m =1,...,p), Lmи
m
— матрицы размером Nm× N
m−1
(m =2,...,p; N
⎛
D
1U1
⎜
L2D2U
⎜
⎜
⎜
⎜
⎝
+...+Np= N), являются согласованно упорядоченны-
1
2
.. .
.. .
0 L
p−1Dp−1Up−1
m+1
и N
L
0
p
m−1
⎞
⎟
⎟
⎟
,
⎟
⎟
⎠
D
p
× Nm, соответственно
ми. Пусть A есть SPD согласованно упорядоченная матрица. Если метод
Якоби для этой системы сходится (s(B
) < 1), то значение оптимального
J
параметра релаксации для метода SOR вычисляется по формуле:
=
ω
opt
1+1 −s2(BJ)
П
РИМЕР 2.5 (МЕТОД SOR). Рассмотрим снова систему (2.20) из
2
и s(B
SOR
)=ω
− 1. (2.27)
opt
примера 2.2. Матрица A трехдиагональная (это специальный случай
блочно-трёхдиагональной матрицы) и, следовательно, согласованно упорядоченная. В дополнение, она также является SPD-матрицей, и мы можем вычислить ω
согласно выражению (2.27). Для данной матрицы
opt
)=0.5√2,
s(B
J
тогда ω
≈ 1.17157 иs(B
opt
) ≈ 0.17157. Это означает, что для данной
SOR
системы метод SOR обеспечивает очень быструю сходимость по сравнению с методами, рассмотренными выше. Результаты вычислений для

60 Глава 2
Таблица 2.3.
k qwex
(k)
x
(k)
− x
(k−1)
0.1952
0.7001
1
7.5798e − 01 5.7109e − 01
0.2148
0.5719
0.9265
2
4.4975e − 01 1.2202e − 01
0.3106
... ... ... ...
0.6666
0.9999
9
7.9500e − 06 1.5046e − 06
0.3333
e
(k)
2
2
начального вектора x
(0)
=(0, 0, 0)Tи εp=10−5представлены в Табли-
це 2.3.
Как показывают эти результаты, требуется только 9 итераций, для
того чтобы получить приближенное решение с заданной точностью, и это
в два раза меньше по сравнению с методом Гаусса–Зейделя.
Вычисление спектрального радиуса матрицы Якоби часто требует
значительных вычислительных затрат, поэтому иногда прибегают к грубой оценке s(B
метра релаксации, близкое к ω
), что позволяет получить приемлемое значение пара-
J
opt
.
Что касается других типов матриц, то простые способы вычисления значения оптимального параметра релаксации не известны. Однако,
известны достаточные условия, при которых метод SOR сходится:
1) если A есть SPD-матрица, то метод SOR сходится при 0 <ω<2.
В этом случае значение параметра релаксации, определяемого по
формуле (2.27), близко к оптимальному, так как
ω
− 1 s(B
opt
SOR
) ω
opt
− 1;
2) если A есть матрица со строгим диагональным преобладанием или
неразложимая матрица со слабым диагональным преобладанием, то
существует такое ω
∗
> 1, что метод SOR сходится при 0 <ω<ω∗.
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
