Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Численные методы. В 2 частях. Ч.2. Учебное пособие
.pdf
Для того чтобы имело место соотношение (55), необходимо нало-
(0)
x
жить ограничения на матрицу B и начальное приближение
матрица B является матрицей сжимающего отображения, то
подвижная точка этого отображения при
k
, при этом
. Если
(1)k
x
k
B0
– не-
[1].
Лемма Неймана. Если спектральный радиус матрицы B
меньше 1, то это является необходимым и достаточным условием для
того, чтобы
при
k
[1].
k
B0
Следствие. Итерационная процедура (56) сходится при любом
(0)
начальном приближении
тогда, когда спектральный радиус матрицы
x , т. е. выполнено условие (55), тогда и только
B
ограничен единицей.
Замечание.
по определению спектральной нормы.
1B
2
Замечание. Сформулированные ограничения можно трактовать
как дискретный аналог теоремы Банаха о неподвижной точке.
Замечание. Итерационный процесс (56) сходится, если
() ( 1)
и стагнирует, если
kk
rr
22
с некоторой итерации k .
0,r
2
В зависимости от вида матрицы итерационного перехода B можно
получить разные итерационные методы.
МЕТОД ПРОСТОЙ ИТЕРАЦИИ
В методе простой итерации (МПИ)
BEA
и
тогда и только тогда, когда
Пусть
. МПИ сходится при любом начальном приближении
2
МЕТОД ЯКОБИ
ALDU
, где L – нижний треугольник матрицы; D –
E
.
1B
– единичная матрица
(0)
x
диагональ матрицы; U – верхний треугольник матрицы. Итерационный
процесс строится следующим образом:
() ( 1) ()kk k
Lx Dx Ux f
, (57)
31

откуда
(1) 1 () 1
kk
xDLUxDf
()
. (58)
Из (58) можно выписать матрицу расщепления
1
итерационного перехода
BDLU
()
. Очевидно, что 0
D
и матрицу
d .
ii
Сформулированные условия сходимости МПИ имеют место и для метода Якоби. Кроме того, метод Якоби сходится, если матрица СЛАУ обладает диагональным преобладанием
aa
ii ik
ki
или
aa
ii ki
ki
. (59)
Если СЛАУ имеет блочную структуру, то можно построить блочный
метод Якоби [2]
n
Пусть
(1) ()
kk
XAFAX
iiiiijj
МЕТОД ГАУССА–ЗЕЙДЕЛЯ
ALDU
, где L – нижний треугольник матрицы; D –
1
1
j
ji
. (60)
диагональ матрицы; U – верхний треугольник матрицы. Итерационный
процесс строится следующим образом:
(1) (1) ()kkk
Lx Dx Ux f
, (61)
откуда
Если
kk
A
является SPD-матрицей, то метод Гаусса–Зейделя сходится
() ()
xLDUxLDf
. (62)
(1) 1 () 1
быстрее, чем метод Якоби.
Если СЛАУ имеет блочную структуру, то можно построить блочный
метод Гаусса–Зейделя [2]
1
in
(1) (1) ()
kkk
XAFAX AX. (63)
iiiiijj ijj
1
11
jji
32

МЕТОД РЕЛАКСАЦИИ
Пусть
()k
– i-я компонента k-го приближения вектора
z
i
()k
x к точ-
ному решению x по методу Гаусса–Зейделя. Тогда построим следующую итерационную процедуру:
(1) () (1) ()
kk kk
xx zx
ii ii
ω
, (64)
где ω – параметр релаксации.
Если подставить соотношение (64) в (52), то [2]
(1) () (1) ()
kk k k
x x a f ax ax
iiiiiijjijj
(1 ω) ω
(1) 1 () 1
kk
(ω )(1ω) ωω(ω )
xLD DUxLDf. (66)
1
11
jji
, (65)
1
in
Теорема Островского– Рейча. Если матрица СЛАУ принадлежит SPD-семейству, то метод релаксации сходится при лю-
(0)
бом
x , если
ω (0, 2)
Замечание. При
.
ω (1, 2)
рекуррентную формулу (66) называют
методом верхней релаксации (SOR – Successive Over Relaxation).
Замечание. Задача выбора оптимального параметра
является
ω
довольно сложной. Для SOR имеет место оценка [1]
ω
опт
2
B
11 ()r
2
Замечание. Параметр релаксации
,
1
BDLU
()
должен минимизировать
ω
. (67)
спектральный радиус матрицы итерационного перехода.
Если СЛАУ имеет блочную структуру, то можно построить блочный
метод релаксации [2]
1
in
(1) () (1) ()
kk k k
X X A F AX AX . (68)
i i ii i ij j ij j
(1 ω) ω
1
11
jji
33

Пример. Решите СЛАУ с помощью итерационного метода. Требуе-
–
–
5
мая точность численного решения
10
. Выбор метода обоснуйте.
Сколько итераций необходимо выполнить по методу Гаусса–Зейделя,
чтобы получить решение СЛАУ с ошибкой не более
5
10 ? Оцените ско-
рость сходимости метода Гаусса–Зейделя
10 1 0 11
110 0 11
0010 10
x
.
Решение. Матрица системы является симметричной. Проверим её
на положительную определённость. У симметричных и положительно
определённых матриц собственные значения всегда вещественные и положительные. Воспользуемся аппаратом кругов Гершгорина (например,
относительно строк)
n
λ
aa
ii ij
где
a – центр круга Гершгорина (диагональный элемент матрицы).
ii
jji
1,
,
Имеем три круга 10 λ 1, 10 λ 1, 10 λ 0. Графически
круги выглядят следующим образом:
Так как матрица симметричная и все собственные значения положительны, то это SPD-матрица. Для СЛАУ с SPD-матрицами можно применить метод Гаусса–Зейделя или SOR, поскольку они сходятся при любом начальном приближении.
Применим метод Гаусса–Зейделя с точечной рекуррентной формулой
1
in
(1) (1) ()
kkk
xafax ax
iiiiijj ijj
1
11
jji
34

(0) T
–
для
при k = 1:
при k = 2:
при k = 3:
при k = 4:
Значит,
x – решение данной задачи с точностью
(0,0,0)x
(1) T
(2) T
(3) T
(4) T
(4)
:
(1) ( 0)
xx
(1,1; 0 ,9 9; 1)x
и
x
(1,001; 0,9999;1)x
и
(1,00001; 0, 999999;1)x
(1,0000001; 0,99999999;1)x
2
(1)
2
(2) (1)
xx
(2)
x
2
(3) (2)
xx
и
x
и
1, 00000
(3)
xx
2
0,057426
2
2
(4) (3)
(4)
x
,
2
,
0,000574
2
5, 7 6e
5
10 .
Общая формула для всех итерационных методов имеет вид
(1) ()kk
xBxb
BE A – матрица итерационного перехода;
где
щепления;
11
ALDU
1
1
bf
. Для метода Гаусса–Зейделя
()
, где L – нижний треугольник матрицы A; D – диа-
,
– матрица рас-
BE
() LD
и
гональная матрица с элементами главной диагонали матрицы
10 1 0
U – верхний треугольник матрицы A. Так как
то
L
1
100
000
100
,
000
10 0 0
110 0
0010
010
U
000
000
0100
1
и
B
010
100
000
10 0 0
и
D
0100
0010
.
A
110 0
0010
. Находим
,
.
A;
,
35

–
Обозначим приближённое решение задачи как
ошибки решения СЛАУ
1
куда
eAr
(0) T
При
Так как
.
(0,0,0)x
1
A
имеем
1
99
(0)
и
при k = 1:
при k = 2:
при k = 3:
2
. Известно, что
3e
(1) (0 ) T
(2) (1) T
(3) (2) T
exx
10 1 0
110 0
0099/10
(0,1;0,01;0)eBe
( 0,001;0,0001;0)eBe
( 0,00001; 0,000001; 0)eBe
и вектор невязки
(0) (0) T
, то
(1) () (0)kkk
eBeBe
и
(11,11, 10) rfAx
(1)
и
x
. Тогда вектор
r f Ax Ae
.
(0) 1 (0) T
eAr
(1,1,1)
, поэтому:
(3)
,
0,001005e
2
,
1, 00 5 5ee
0,100499e
2
(2)
2
и
, от-
Значит, при k = 4 мы обнаружим ошибку, норма которой будет не бо-
5
10
лее
.
Задачу о числе итераций можно решить другим способом. Отношение норм ошибок на итерациях связано со спектральным радиусом матрицы итерационного перехода в виде
() (0)
kk
()
ree B
,
.
где
– спектральный радиус матрицы итерационного перехода.
()r B
Для исходной системы мы получили, что в методе Гаусса–Зейделя
0100
1
B
010
100
000
ственное значение
числено, что при
() 6
k
10
e
, то
. Эта матрица имеет наибольшее по модулю соб-
()
λ 0.01 . Значит,
2
(0) T
(0,0,0)x
6
10 1
3
k
100
e
e
норма ошибки
, откуда
36
(0)
k
3,1k
.
k
1
. Выше было вы-
100
(0)
2
. Если
3e

Значит, при k = 4 мы обнаружим ошибку, норма которой будет не бо-
–
5
10 .
лее
Скорость сходимости показывает, как убывает величина ошибки
от итерации к итерации, т. е.
(1) ()
kk
Reee
Вектор ошибки связан с вектором невязки как
/
, при k > 0.
1
eAr
, поэтому
скорость сходимости не превосходит отношения норм невязок на соседних итерациях
(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.
Полученные ранее результаты позволяют вычислить
и
0,01R
δ
. Значит, норма вектора ошибки решения СЛАУ по методу
0,01R
e
Гаусса–Зейделя от итерации к итерации убывает в 100 раз.
Замечание. Асимптотическая скорость сходимости
ln ( )Rr
B ,
где
– спектральный радиус матрицы итерационного перехода.
()r B
Для исходной системы мы получили, что в методе Гаусса–Зейделя
0100
1
B
010
100
000
37
.

Эта матрица имеет наибольшее по модулю собственное значение
λ 0,01 . Значит, 4, 6R
2
. Норма ошибки в методе Гаусса–Зейделя
для исходной системы будет убывать не менее чем в 4.6 от итерации к
итерации.
ПРАКТИЧЕСКОЕ ЗАДАНИЕ ПО ТЕМЕ
«ИТЕРАЦИОННЫЕ МЕТОДЫ РЕШЕНИЯ СЛАУ
С КВАДРАТНОЙ НЕВЫРОЖДЕННОЙ МАТРИЦЕЙ»
Изучить, реализовать и верифицировать точечные и блочные методы Якоби, Гаусса–Зейделя и релаксации для СЛАУ с квадратной невырожденной матрицей.
1.
Разработать алгоритмы, реализующие точечные и блочные ме-
тоды Якоби, Гаусса–Зейделя и релаксации (SOR) для СЛАУ с квадратной невырожденной матрицей.
2.
Разработать подпрограмму чтения бинарных файлов СЛАУ в сле-
дующем формате:
//Size.bin: размер системы (тип int)
N
//Matrix.bin: матрица СЛАУ (тип double)
A
11 A12
… A
1N
…
A
N1 AN2
… ANN
//F.bin: вектор правой части (тип double)
F
… F
1 F2
N
Предполагается, что блоки являются квадратными и имеют фикси-
рованный размер.
3.
Умножить диагональные элементы матрицы СЛАУ из бинарного
файла на
4 2 –2 –4
10 , 10 , 1, 10 , 10
и последовательно определить
числа обусловленности этих матриц по формуле
1
Cond ( )
4.
Для каждого из реализованных методов при разных значениях па-
AAA
.
раметра возмущения μ замерить время решения СЛАУ, вычислить относительную погрешность численного решения по формуле
38

*
xx
δ
*
x
x – численное решение; x
где
5.
Для метода релаксации необходимо привести оптимальное значе-
*
– точное решение.
2
,
*
x
2
ние параметра релаксации, которое должно быть определено экспериментально.
6.
Для разработанных методов привести графики зависимости числа
итераций от числа обусловленности и параметра возмущения μ.
7.
Для разработанных методов и метода Гаусса с ведущим элемен-
том привести графики зависимости времени решения СЛАУ от числа
обусловленности и параметра возмущения.
8.
Исследования 5 и 6 целесообразно выполнить для разной вели-
(0)
чины блоков и начального приближения
x в итерационных методах.
39

A
P
E
E
R
P
P
R
E
6. ПРОЕКЦИОННЫЕ МЕТОДЫ
Идея проекционных методов основана на проектировании неизвест-
ного вектора на подпространство по заданному критерию.
Определение. Пространство образа оператора A обозначается
как
Range( ) |AAyy x. Размерность пространства
не совпадать с размерностью пространства прообраза.
Определение. Пространство ядра оператора A обозначается как
Ker( ) |AA x0 x0.
Определение. Проектор – это оператор
2
PP . (69)
Range( )
nn
:
RR
такой, что
может
Замечание. Пространства
Range( )P и Ker ( )P пересекаются
только по нулевому вектору.
P
Замечание. Оператор
образ совпадает с ядром проектора P, т. е.
10
Пример. Матрица
2
рует вектор
ству
Ker ( ) Range( )
Пример. Матрица
x на пространство
проецирует вектор
пространству
Ker ( ) Range( )
P
00
EP
.
EP
2
x на пространство
PP .
также является проектором, и его
Range( ) Ker ( )
PP
задаёт проектор P, который проекти-
Range( )
00
задаёт оператор E – P, который
01
40
параллельно простран-
Range( )EP
параллельно
.
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
