Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Численные методы. В 2 частях. Ч.2. Учебное пособие
.pdf
Величину
y
y
y
нию предобусловленной системы
Cond λ / λA можно уменьшить, если перейти к реше-
12
11
MAx Mf. Для этого достаточно
заменить скалярное произведение
(, ) (, ) ( , )
x
x
Mx
M
.
Алгоритмы классического и предобусловленного метода наискорей-
шего спуска представлены в следующей таблице.
Алгоритм SDM
с предобусловливанием
(0)
x
(0) 1 (0)
pMr
1.
2.
3.
Алгоритм SDM
(0) (0)
pr
Выбрать
(0) (0)
rfAx
;
4. Для k = 0, 1 …
5.
6.
7.
8.
9.
10.
Если
(1) (1)kk
pr
(1) ()kk
qAp
(, )
pr
α
k
() ( 1)
kk
(, )
pq
(1) () ()kk k
xx p
(1) () (1)kk k
rr q
(1)
k
r
2
() ()
kk
k
k
ε
, то КОНЕЦ
(1) 1(1)kk
pMr
Замечание. Если в качестве направления поиска последова-
тельно выбирать единичные орты
()k
pe
, то будет построена схема
i
Гаусса–Зейделя. Если очередное приближение в этой схеме вычислять
() ()
по формуле
(1) ()
kk
()()
xx
kk
yx p
ωα
k
выполнено для
, то получится схема релаксации. Условие
0 ω 2
.
51

МЕТОД СОПРЯЖЁННЫХ ГРАДИЕНТОВ (CG)
p
p
Метод сопряжённых градиентов (CG – Conjugate Gradient Method)
является вариацией метода наискорейшего спуска. В нём используется
информация о всех приближениях
бирается
(,)0
A-ортогональным предыдущим.
n
Векторы
Ap p при
ij
i
n
A-сопряжены (или A-ортогональны), если
p
1
iR
ij
. Обозначение:
()k
x , направление поиска
App.
ij
(1)k
вы-
p
Направление поиска в CG будем выбирать в виде
(1) (1) ()
kk k
pr p
β
k
, (92)
очередное приближение решения определим как
(1) () ()
kk k
Тогда на
-м шаге решение можно записать через
(1)k
xx p
(1) (0) ()
ki
xx
i
α
k
. (93)
k
, (94)
i
0
(0)
x :
вектор ошибки вычисляется по формуле
(1) (1) (0) ()
kk i
exxe
i
k
. (95)
i
0
Коэффициенты масштабирования
определяются из решения за-
i
дачи о минимизации функционала ошибки
2
min
i
α
A
. (96)
i
i
k
0
2
ki
(1) (0) ()
eep
A
Задача (96) эквивалентна поиску наилучшего приближения век-
тора
в подпространстве
(0)
e
наилучшее приближение вектора
span ...
K pp
(0)
e
(0) ( )
k
. Если
на K в смысле энергетического
скалярного произведения, то
(0) ( 1) ( )
ep p
ki
,0
A
52
0,ik
,
. (97)
(1)k
p
–

На рис. 6 показана геометрическая интерпретация условия (97).
(1)k
Рис. 6. Геометрическая интерпретация:
лучшее приближение вектора
стве
по норме
K
(0)
e в подпростран-
Множество линейно независимых векторов
(1) ()
базис в K, тогда
Вывод.
A-ортогонален всем предыдущим векторам поиска
он
ki
pp
A-норма вектора ошибки
(1) () (1) ()
ki ki
(,)( ,)0
ep Aep
Заметим, что
k
0
i
(1) (1)kk
Ae r
.
i
A
, где
(1)k
e
(1)k
r – вектор невязки, который
p
– наи-
A
(0) ( )
pp
, ...,
k
будет минимальной, если
()i
,
p
0,ik
,
. (98)
определяется как
( 1) ( 1) () () () ()kk kkkk
rfAxfAx pr Ap
kk
образуют
0,ik
,
. (99)
Если выбрать первым направлением поиска
вать, чтобы
(1) ()ki
rp
0,ik
,
, то коэффициенты масштабирования с
учётом (92) вычислим по формуле
() () ( 1)
() () () ()
kk kk
rp rr
(, ) (, )
k
() () () ()
kk kk
(, ) (, )
pAp pAp
kk k
, β
rr p
k
() ()
kk
,
pAp
53
(0) (0)
1
и потребо-
pr
. (100)

Из (92) и условия
(1) ()ki
rp
kk kk k
(1) (1) (1) (1) (1)
(,)(, )
pr rr r . (101)
0,ik
,
, также следует, что
2
Теперь необходимо найти направление поиска, которое будет
ортогональным предыдущим, т. е.
()k
Умножим (92) на
Из (99) выразим
При условии, что
0,ik
, получаем
(,)β (,)0
() ( 1) ( 1) () ( 1) ()
kk k kk k
(,)β (,)0
rr r rr p
в смысле скалярного A-произведения
p
() ( 1) () ()
kk k k
Ap r Ap p
() () ( 1)
kkk
()/
Ap r r
() () () ()
kk kk
(,)(, )
β
pr rr
(1) (1)
(, )
rr
k
(, )
(1) ()ki
pp
k
k
A
и подставим в (102), тогда
k
,
kk
() ()
kk
rr
. (104)
0,ik
,
.
. (102)
. (103)
(1) ()ki
и
rp
(1) ()ki
A-
rr,
Вывод. В методе сопряжённых градиентов строится подпростран-
ство
при этом
()
i
ров
K
k
1
(1) (0)
k
erA
,0,
ikp
K
A
k
и
rA rAr Ar
(1) (0)
k
(,)
1
()
i
,0,
ikr
и
rrA
являются A-ортогональными базисами.
(0) (0) (0) (0)
( , ) span , , ...,
K
k
k
(,)
1
,
. Системы векто-
Метод сопряжённых градиентов входит в семейство проекционных
ортогональных методов и используется при решении СЛАУ с SPDматрицами.
Подпространство поиска решения выбирается в виде
KK rA
(0)
(,),
m
и пространство ограничений L = K. Для построения базисов используется ортогонализация Ланцоша, рассмотренная выше. Ортогонализация
Ланцоша – симметричный вариант процедуры Арнольди. Описание
54

алгоритма можно найти в [1, 2]. Алгоритмы классического и предобу-
словленного метода сопряжённых градиентов представлены в следующей таблице.
Алгоритм CG
с предобусловливанием
(0)
;
(0) 1 (0)
pMr
1.
2.
3.
Алгоритм CG
(0) (0)
pr
Выбрать
(0) (0)
x
rfAx
4. Для k = 0, 1 …
() ()
kk
(, )
5.
k
(,)
6.
7.
(, )
rr
β
8.
k
9.
(1) (1) ()
kk k
10.
pr p
Замечание. Если
rr
() ()
kk
Ap p
(1) (1)
kk
() ()
kk
(, )
rr
Если
β
k
(0) *
xx – точное решение, то алгоритм метода
(1) () ()kk k
xx p
(1) () ()kk k
rr Ap
(1)
k
ε
r
, то КОНЕЦ
2
j
()
k
k
β
k
(1) 1(1) ()
kkk
сопряжённых градиентов не реализуется, так как параметр
делён при
(0) (0)
pr0
.
1() ()
kk
(,)
Mr r
() ()
kk
(,)
Ap p
1( 1) ( 1)
kk
(,)
Mr r
1() ()
kk
(,)
Mr r
pMr p
β
k
α
не опре-
k
Замечание. Если система имеет размер n, матрица системы сим-
метрична и положительно определена, то метод сопряжённых градиентов сходится не более чем за n итераций к точному решению.
Замечание. Если матрица системы симметрична и положительно
определена, а также имеет k разных собственных значений, то метод сопряжённых градиентов сходится не
более чем за k итераций к точному
решению.
Замечание. В отличие от метода наискорейшего спуска в методе
сопряжённых градиентов направление поиска ортогонально всему подпространству
span , ...,
K pp
(0) ( )
k
.
55

МЕТОД БИСОПРЯЖЁННЫХ ГРАДИЕНТОВ (BICG)
Метод бисопряжённых градиентов (BiCG – BiConjugate Gradient
Method) входит в семейство проекционных наклонных методов и ис-
пользуется при решении СЛАУ с несимметричными и симметричными
невырожденными матрицами.
Системы векторов
жёнными, если (,)0
(0) T
LK rA
(,)
m
ij
и
(, )0rr
Ax x
(0) (0)
i
n
1
iR
при
x
n
и
ij
. Для построения базисов использу-
n
i
n
являются A-бисопря-
x
1
iR
. В методе BiCG
(0)
KK rA
(,),
m
ется биортогонализация Ланцоша [1, 2].
1.
2.
3.
4.
Алгоритм BiCG
(0) (0)
rfAx
Выбрать
(0) (0)
(0)(0)(0)(0)
с предобусловливанием
(0)
x
rr
, prpr
5. Для k = 0, 1 …
() ()
kk
(, )
6.
7.
8.
9.
10.
11.
12.
13.
14.
(1) () ()kk k
(1) () T()kk k
rr
k
() ()
kk
(,)
Ap p
rr Ap
rr Ap
Если
(1) () ()kk k
xx p
k
k
β 0k
(, )
rr
β
k
(, )
(1)
Если
k
2
, то при данном
(1) (1) ()
kk k
pr p
(1) (1) ()
kk k
pr p
k
(1) (1)
kk
() ()
kk
rr
ε
r
, то КОНЕЦ
β
β
Алгоритм BiCG
;
(0) 1 (0)
()
rMfAx
() ()
kk
(, )
k
rr
1()()
(,)
MAp p
kk
(1) () 1 ()kk k
rr MAp
(1) () T T()kk k
rr AMp
k
k
(0)
r
не сходится
k
k
56

Пример. Решите СЛАУ с помощью проекционного метода. Выбор
–
метода обоснуйте. Какое число итераций требуется для достижения точ-
4
ности ε =
10
? Оцените скорость сходимости. Как можно ускорить
сходимость проекционного метода для СЛАУ
10 1 0 11
110 0 11
0010 10
x
?
Решение. Матрица системы является симметричной. Проверим её
на положительную определённость. Воспользуемся аппаратом кругов
Гершгорина (например, относительно строк)
n
λ
aa
ii ij
где
a – центр круга Гершгорина (диагональный элемент матрицы).
ii
Имеем три круга
10 λ 1, 10 λ 1 и 10 λ 0
1,
jji
,
Так как матрица симметричная и все собственные значения положи-
тельны, то это SPD-матрица. Для решения СЛАУ с SPD-матрицами
можно применить проекционные ортогональные методы. Заметим, что
матрица системы имеет три разных собственных значения
λ 10 и 3λ 9 . Значит, для такой системы метод сопряжённых гради-
2
λ 11 ,
1
ентов сходится к точному решению не более чем за 3 итерации при любом начальном приближении. Чтобы получить решение СЛАУ с точностью ε = 10
–4
за такое же число итераций, необходимо оставлять мини-
мум 4 верных знака после запятой при округлении.
57

Применим метод сопряжённых градиентов без предобусловливания.
При k = 0:
1.
2.
3.
4.
5.
6.
7.
8.
9.
(0) T
(0) (0) T
(0) (0) T
0
(1) T
(1) T
β 0, 00180
0
Так как
(1) (1) (0 ) T
При k = 1:
1.
2.
3.
4.
5.
6.
7.
8.
(1) T
(1) T
(1) T
1
(2) T
(2) 5 5 5 T
β 10
1
Так как
(0,0,0)x
(, )
rr
(,)
Ap p
(11,11,10)pr
(0) (0)
(0) (0)
;
(11,11,10) rfAx
0,09339
;
;
(1,02729; 1,02729; 0,93390)x
( 0,30019; 0, 30019; 0,66010) r
;
(1)
0,78483 εr
2
β ( 0, 28039; 0, 28039; 0, 67810) pr p
0
, то продолжаем;
(1,02729; 1,02729; 0,93390)x
( 0,30019; 0, 30019; 0,66010) r
( 0, 28039; 0,28039; 0, 67810) p
(1) (1)
(, )
rr
(1) (1)
(,)
Ap p
0,09734
;
(0,99999; 0,99999; 0,99999)x
(4, 5 10 ; 4,5 10 ; 3,8 10 )
r
9
(2) 5
r
2
7, 4 10 ε
, то КОНЕЦ.
;
;
;
58

Выполним проверку. Точное решение задачи
*T
(1, 1, 1)x
, тогда от-
носительная погрешность (ошибка) решения
(2)
*
xx
*
x
2
10
5
< ε = 10
–4
.
2
Другой способ. Вектор ошибки решения связан с вектором невязки
10 1 0
1
в виде
() 1()kk
eAr
, при
(0) 1 (0) T
eAr
(1) 1 (1) T
eAr
A
1
(1,1,1)
110 0
99
0099/10
,
:
(0,02729; 0, 02729; 0,06610)
,
(2) 1 (2) 5 5 5 T
eAr
(10 , 1 0 , 1 0 )
.
Скорость сходимости показывает, как убывает величина нормы век-
тора ошибки от итерации к итерации, т. е.
(1)
k
e
R
Так как
1
eAr
, то скорость сходимости не превосходит отноше-
e
e
k
()
при k > 0.
ния норм невязок на соседних итерациях
(1) (1)
kk
er
R
e
kk
() ()
er
при k > 0.
Скорость сходимости можно получить также через отношение норм
погрешностей на соседних итерациях:
(2)(1) (1)()
kk kk
xx xx
R
δ
(2) (1)
kk
xx
22
/
22
при k > 0.
59

В ходе итерационной процедуры получены
10
4
раз.
(2) 5
и
r
2
7,4 10
, откуда 59, 4 10R
. Значит, ошибка от итерации
к итерации убывает не менее чем в
(1)
0,78483r
2
Ускорить сходимость проекционного метода можно, если перейти
к решению предобусловленной системы. Матрица системы является
симметричной, поэтому, чтобы сохранить её свойства, воспользуемся
двусторонним предобусловливанием
11 1
12 1
1
откуда
В качестве матриц
ного
LU-разложения, т. е.
xMy
.
2
M
и
M
1
ML
1
ствует более экономный вариант –
MAMy Mf
допустимо выбрать матрицы из непол-
2
и
T
LL -разложение, которое определя-
,
. Но для SPD-матриц суще-
MU
2
ется формулами
1
j
k
, j < i,
1
1
j
2
la l
ii ii ik
k
,
1
lall
ij ij ik jk
l
ii
1
1000
M
1 / 10 99 / 10 0
1
0010
,
10 1 / 10 0
M
099/100
2
0010
Портреты матриц в неполном разложении совпадают с портретом
исходной, поэтому если 0
a , то 0
ij
l . Получаем предобусловлен-
ij
ную систему
10 1 0 11
111
MMyM
110 0 11
121
0 0 10 10
60
100
010 311/10
001
11 / 10
y
10
.
.
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
