Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Численные методы. В 2 частях. Ч.2. Учебное пособие
.pdf
Матрица исходной системы имела спектр
матрица новой системы имеет спектр
λ 1 , 2λ 1 и 3λ 1 .
1
λ 11 , 2λ 10 и 3λ 9 ,
1
Для SPD-матриц число обусловленности можно вычислить
по формуле
Cond 1
Cond( ) max λ /min λ
11
12
A , откуда
MAM
.
ii
Cond ( ) 1, 22A
и
Метод сопряжённых градиентов для предобусловленной системы по
T
методу неполного
LL -разложения сойдётся всего за одну итерацию,
так как спектр предобусловленной матрицы состоит из трёх одинаковых
собственных значений.
T
Получаем вектор
11 / 10, 3 11 / 10, 10y
1T
xMy
(1,1,1)
2
, откуда
.
ПРАКТИЧЕСКОЕ ЗАДАНИЕ ПО ТЕМЕ
«ПРОЕКЦИОННЫЕ МЕТОДЫ НА ПОДПРОСТРАНСТВАХ
КРЫЛОВА ДЛЯ РЕШЕНИЯ СЛАУ
С КВАДРАТНОЙ НЕВЫРОЖДЕННОЙ МАТРИЦЕЙ»
Изучить, реализовать методы на подпространствах Крылова для ре-
шения СЛАУ с квадратной невырожденной матрицей.
1.
Разработать алгоритмы, реализующие классические и предобу-
словленные методы сопряжённых (CG) и бисопряжённых (BiCG) градиентов для решения СЛАУ с квадратной невырожденной матрицей.
2.
Реализовать два вида предобусловливания: диагональное и непол-
ное LU-разложение.
3.
Разработать подпрограмму чтения текстовых файлов СЛАУ, вы-
данных преподавателем, в следующем разреженном строчно-столбцовом формате (CSlR):
//Size.txt: размер системы (тип int)
N
//iptr.txt: индексный массив начала строк/столбцов
(тип int)
I
… I
1 I2
//jptr.txt: индексный массив столбцов/строк (тип int)
N+1
61

I1 I2 … I
N+1
//altr.txt: нижний треугольник (тип double)
A
… A
1 A2
M
//autr.txt: верхний треугольник (тип double)
A
… A
1 A2
M
//di.txt: диагональ (тип double)
A
… A
1 A2
N
//F.txt: вектор правой части (тип double)
F
… F
1 F2
N
//X.txt: вектор решения (тип double)
X
… X
1 X2
N
4. Для каждого из реализованных методов выполнить замер времени
решения СЛАУ, вычислить относительную погрешность численного
решения по формуле
*
xx
δ
*
x
где
x – численное решение;
5.
Для разработанных методов привести графики зависимости вели-
*
x – точное решение.
2
,
*
x
2
чины нормы невязки от номера итерации: ось абсцисс – номер итерации,
ось ординат – норма невязки
()k
r . Использовать логарифмический мас-
штаб, если норма невязки сильно осциллирует.
6.
Привести время работы реализованных алгоритмов.
62

A
R
R
R
7. ПРОБЛЕМА СОБСТВЕННЫХ ЗНАЧЕНИЙ
Если результатом действия линейного преобразования
n
на ненулевой вектор
вектор называется собственным
x является коллинеарный вектор, то такой
nn
:
RR
n
x – собственный вектор;
где
λAx x
, (105)
λ
– собственное значение.
Собственный вектор определяет одномерное подпространство, ин-
вариантное по отношению к умножению слева на матрицу
n
SRx , то
n
SRAx [4, 5]. Соотношение (105) определяет пра-
A, т. е. если
вый собственный вектор. Левый собственный вектор определяется из
равенства
TT
λxA x
.
Собственные значения квадратной матрицы являются корнями её
характеристического многочлена [3]
Локализацию собственных значений матрицы
λ 0AE . (106)
A можно оценить
с помощью кругов Гершгорина [4, 5]
n
где
a – центр круга Гершгорина (диагональный элемент матрицы).
ii
λ
aa
ii ij
jji
1,
Множество собственных векторов матрицы
ным пространством. Собственные векторы матрицы
симы и являются базисом пространства
значений матрицы
А образует спектр
, (107)
A называют собствен-
A линейно незави-
n
. Множество собственных
() maxλ
с радиусом
() A
r A
.
i
i
63

СТЕПЕННОЙ МЕТОД: ПРЯМЫЕ ИТЕРАЦИИ
R
Данный метод позволяет вычислить наибольшее по модулю соб-
ственное значение квадратной матрицы.
Пусть
Av v . Если
iii
значение,
n
x имеет место разложение
nn
cc
11
ii
n
то
1
i
Вывод. Последовательность
в направлении доминирующего собственного вектора
λλ скорость сходимости линейная и определяется как
12
Выбрать
1.
2.
Положить k = 1 и
Вычислить
3.
4.
Вычислить
Если
5.
v – базис собственного пространства матрицы
i
λ
v – доминирующий собственный вектор. Для любого вектора
1
kk
Av v
kk
λλ
cc
vv
ii i
λλ... λ
12
λ
11 1
k
, то
n
n
xv
ic
. Если выполнено
.
λ – доминирующее собственное
1
. Тогда
ii
1
2
, , ...,
Ax A x A x
kk
Ax A v
λλ... λ
,
12
k
Алгоритм степенного метода: прямые итерации
(0)
x
такой, что
(0) (0) (0)
λ
() ( 1)kk
xAx
kk k
() () ()
xAx
λ
() ( 1)
kk
λλ ε
(0)
1x
H
xAx
() () ()
kkk
,
H
/
xxx
, то задача решена, иначе перейти на шаг 3 при k = k + 1.
сходится
v . При
1
λ / λ .
A
, т. е.
n
c
ii
1
i
n
21
Замечание. Степенной метод сходится, если в
ненты в направлении доминирующего вектора.
21
Пример. Найти
λ для
max
A
12
64
.
(0)
x есть компо-

Решение. Выберем
Далее
(1) (0) T
1
(0) T
(1, 1)
x
, тогда
(0) (0) (0)
λ 3
2
(1) (1) (1) T
(3, 3)xAx
и
xxx
1
(1, 1)
T
xAx
, откуда
λ
(1)
2
T
(1) (1)
xAx
вершается. Ответ:
. Так как
3
λ 3 .
max
СТЕПЕННОЙ МЕТОД: ОБРАТНЫЕ ИТЕРАЦИИ
(1) ( 0)
λλ 0
, то итерационный процесс за-
Данный метод позволяет вычислить наименьшее по модулю соб-
ственное значение квадратной невырожденной матрицы.
Так как
λAx x
, то
1
1
xAx
. Значит, собственные векторы мат-
λ
A
риц
висимостью
Вывод. Если применить степенной метод к матрице
можно найти
1
и
A совпадают, а собственные значения связаны обратной за-
λ ()1/λ ()
min max
AA
1
.
A , то
1
λ ()
max
. При
A
λλ... λ
скорость сходимости
12
n
1
степенного метода с обратными итерациями определяется как
λ / λ
r
. Итерационный процесс сходится к наибольшему по мо-
1
nn
дулю собственному значению
1
λ ()
max
для матрицы
A
1
A .
Замечание. Алгоритм степенного метода с обратными итераци-
ями совпадает с ранее рассмотренным алгоритмом прямых итераций после замены
A
на
1
A .
.
Алгоритм степенного метода: обратные итерации
Выбрать
1.
2.
Положить k = 1 и
Вычислить
3.
4.
Вычислить
() ( 1)
5.
Если
kk
λλ ε
(0)
x
такой, что
(0) (0) 1 (0)
λ
() 1 ( 1)kk
xAx
kk k
() () 1 ()
λ
xAx
, то задача решена, иначе перейти на шаг 3 при k = k + 1
(0)
1x
H
xAx
H
() () ()
kkk
,
xxx
65
/

Пример. Найти
λ для
Решение. Вычислим
1
(1,1)
T
, тогда
2
1
(1,1)
T
(1) (1) (1) T
и
xxx
2
1(1)
Ax . Так как
Ответ:
1
max
λ ()1
21
A
min
1
A
(0) (0) 1 (0)
λ 1
T
xAx
.
12
21
1
12
3
1
(1,1)
. Далее
, откуда
2
(1) ( 0)
λλ 0
1
и
A
, то задача решена.
λ 1A .
min
и выберем
(1) 1 ( 0)
xAx
(1) (1)
λ
(0)
T
x
x
Замечание. При программной реализации строить матрицу
1
не требуется. Вычисляется произведение
Ax как решение СЛАУ
A
Ayx на базе ранее рассмотренных методов. Если размерность мат-
рицы мала, то для этих целей подойдёт LU-разложение.
СТРАТЕГИЯ СДВИГА С ОБРАЩЕНИЕМ
Пусть v – собственный вектор матрицы A, тогда можно записать
цепочку равенств
( ρ ) ρ (λρ)AEvAvEv v
где
– сдвиг спектра матрицы A.
ρ
При надлежащем выборе сдвига
существенно ускоряется схо-
ρ
,
димость степенного метода с обратными итерациями. Степенной ме-
1
тод для матрицы
λ
λ () ρ / λ ()ρ
1
λ () ρ
A
k
AA
1
kk
при ρλ()
( ρ )
AE
A , так как его скорость сходимости
ρλ()
сойдётся очень быстро к величине
k
. Следовательно,
A
k
λ () ρ
k
1
A
.
λ
1
66

Замечание. Стратегия сдвига с обращением позволяет восстано-
вить спектр матрицы
известных приближениях собственных значений.
A и вычислить собственные векторы при априорно
Замечание. Степенной метод на базе стратегии сдвига с обраще-
нием сходится, если в векторе начального приближения есть компоненты в направлении собственного вектора.
21
Пример.
при
ρ 0,9
Для матрицы
.
Решение. Выберем
A
12
1
(0) T
x
(1, 1)
применим стратегию со сдвигом
. Теоретически мы ожидаем,
2
1
что обратные итерации с матрицей
( ρ )
AE
нас приведут к
λ() 1A
Однако алгоритм завершится спустя две итерации с результатом
0,(476190)λ
, что соответствует
λ() ρ 3
ется в том, что вектор начального приближения
1
A
λ
. Проблема заключа-
1
(0) T
x
(1, 1)
не содер-
2
жит координаты в направлении собственного вектора, который отвечает
собственному значению
λ() 1A
. Если выбрать
x
(1,1)
, то ал-
1
(0) T
2
горитм завершится с λ 9, (9)
вектор, отвечающий
значения
λ() 1A
λ() 3A , задаётся в виде
– как
и
λ() 1A
( β,β)v
2
. Проверьте, что собственный
T
(α, α)v
T
, где и β – любые числа.
1
, а вектор для
Замечание. Степенные методы не всегда позволяют решить пол-
ную проблему собственных значений вследствие чувствительности
к начальным данным.
.
УНИТАРНЫЕ ПРЕОБРАЗОВАНИЯ ПОДОБИЯ
Две матрицы A и B подобны, если существует такая невырожденная
матрица преобразования подобия
X, что [4]
1
AXBX. (108)
67

Если X – квадратная матрица, то
() ()AB
.
Замечание. С помощью преобразований подобия можно приве-
сти матрицу
A к канонической форме, в которой полная проблема соб-
ственных значений решается значительно проще.
Замечание. Наиболее устойчивыми являются унитарные преоб-
разования подобия (ортогональные в вещественном случае).
nnR
Теорема о декомпозиции Шура. Если
nn
ствует ортогональная матрица
R
Q , что [4]
A , то суще-
где
diag(λ , ..., λ )
D – диагональная матрица,
1
n
T
QAQ B D N, (109)
nnR
N
– строго верх-
няя треугольная матрица.
TT
Матрицу называют нормальной, если
существует такое унитарное преобразование подобия
T
diag(λ , ..., λ )
QAQ D
1
AA A A и, как следствие,
nn
R
Q , что [4]
. (110)
n
Диагонализации поддаются только недефектные матрицы, т. е. мат-
рицы, которые не имеют дефектных собственных значений. Собственное значение называется дефектным, если его алгебраическая кратность
не совпадает с геометрической. Геометрическая кратность собственного
значения – число независимых собственных векторов, соответствующих данному собственному значению.
Для практической реализации декомпозиции Шура применяют QR-
итерации. Первый шаг
заключается в приведении матрицы к верхней
хессенберговой форме
h
32
...
nn
...
nn
hh
,1 ,
nn nn
. (111)
hh h h
11 12 1, 1 1,
hh h h
21 22 2, 1 2,
H
0 ... ...
00...
68

Для приведения матрицы к верхней хессенберговой форме исполь-
зуют метод отражений Хаусхолдера. Требуется
(2)n
-итераций. Затем
реализуется следующий алгоритм:
QR-итерации
1.
2.
() () ()kkk
HQR
( ) () ()1kkk
HRQ
(QR-декомпозиция матрицы H)
Для ускорения QR-итераций вводят сдвиги
QR-итерации со сдвигами
() () ()
1.
2.
kkk
–
HEQR
(1() )()kkk
HRQE
(QR-декомпозиция)
В качестве параметра μ может быть взят последний диагональный
элемент матрицы (сдвиг по Рэлею) или собственное значение нижнего
правого блока 2 × 2 (сдвиг по Уилкинсону).
Замечание. При реализации QR-итераций отслеживают измене-
ния в поддиагональных элементах матрицы H. Если на некоторой ите-
0
рации поддиагональный элемент
ственное значение полагается найденным
, то соответствующее соб-
,1
mmh
h , строка и столбец с
,mmm
номером m из матрицы вычёркиваются и QR-итерации применяются к
матрицам меньшей размерности.
Замечание. Если вещественная матрица A имеет комплексные
собственные значения, то используют двойные сдвиги по Уилкинсону –
шаг Фрэнсиса (см. [4]).
Замечание. Сдвиги не всегда улучшают сходимость алгоритма
на базе QR-итераций. Например, сдвиг по Рэлею для матрицы
21
A
приводит к зацикливанию алгоритма.
12
69

R
R
8. СИНГУЛЯРНОЕ РАЗЛОЖЕНИЕ МАТРИЦ (SVD)
SVD (Singular Value Decomposition) матрицы
mnR
A называется
разложение следующего вида [4, 5]:
где
U
T
AA );
рицы
– левые сингулярные векторы (собственные векторы матрицы
– правые сингулярные векторы (собственные векторы мат-
V
T
AA);
mnR
Σ – диагональная матрица с сингулярными чис-
AUΣ V
mn mт mn nn
лами (квадратные корни из собственных значений матриц
T
AA ). Отметим, что U и V – ортогональные матрицы с нормирован-
T
, (112)
T
AA или
ными столбцами.
A
Если
значения матрицы A определяются как
и
Cond ( ) σ / σ
– SPD-матрица и
A .
1
n
diag(σ , σ , ..., σ )
Σ , то собственные
12
n
λσ,
ii
n
det σ
A
i
1
Любую матрицу можно аппроксимировать матрицами более низ-
кого ранга на базе SVD. Если
A определяется как
mn
Σ
в
есть нулевые строки, при m < n – нулевые столбцы.
rk rA
σ 0, σ 0,..., σ 0
, то ранг матрицы
12
и
AUΣ V
mn mr rr rn
r
T
. Если m > n, то
SVD может быть использовано для решения СЛАУ с матрицей не-
полного ранга
i
Ax f
где
x – вектор неизвестных (псевдорешение).
mnR
A – матрица неполного ранга;
n
, (113)
m
f – вектор правой части;
70
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
