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

Основы научных вычислений. Введение в численные методы для физиков и инженеров

.pdf
Скачиваний:
0
Добавлен:
07.09.2026
Размер:
2 Мб
Скачать
☆
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
Bp·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∗, Ax
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 <ω<ω∗.
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]