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

Численные методы. В 2 частях. Ч.2. Учебное пособие

.pdf
Скачиваний:
4
Добавлен:
07.09.2026
Размер:
1 Мб
Скачать
☆
Для того чтобы имело место соотношение (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 5ee
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
Reee
Вектор ошибки связан с вектором невязки как
/
, при 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( ) |AAyy 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
параллельно
.
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]