Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Основы научных вычислений. Введение в численные методы для физиков и инженеров
.pdf
3.3. Степенной метод 71
величине. Разложим вектор x
Умножа я вектор x
Когда k →∞, y
ром z
. Поэтому последовательные степени матрицы A дают информа-
N
(k)
y
(0)
= Akx
k
= λ
N
(k)
цию о её собственном значении λ
чения может быть легко найдена: учитывая второе свойство отношения
Рэлея, ρ(y
(k)
) стремится к λN,когдаk →∞.
(0)
по собственным векторам матрицы A:
N
(0)
x
=
αnzn.
n=1
k раз на матрицу A,получим
N
(0)
=
αnAkzn=
n=1
α
NzN
N−1
+
n=1
N
n=1
k
λ
n
λ
N
αnz
αnλ
n
k
zn=
n
.
стремится к вектору, коллинеарному с векто-
. Величина этого собственного зна-
N
Основываясь на проведённом анализе, можно предложить следу-
ющую реализацию степенного метода:
1) задать начальный вектор x
2) для каждого значения k =0, 1,... вычислить y
3) следующее приближение вычисляется как x
(0)
;
(k+1)
(k+1)
= y
= Ax
(k+1)
(k)
/y
;
(k+1)
(эта процедура называется нормализацией, и она предназначена для
того, чтобы предотвратить переполнение или исчезновение порядка);
4) если при некотором значении k x
(k+1)
есть приближённый собственный вектор zNи sN= ρ(x
приближённое максимальное по модулю собственное значение λ
(k)
− x
εp,тогдаx
(k+1)
(k+1)
) есть
N
.
Сходимость степенного метода
Если все |λ
| различны и (zN, x
n
lim
k→∞
(0)
) =0,тогда
(k)
x
= z
N

72 Глава 3
и справедлива следующая оценка:
− z
− z
λ
N−1
λ
N
k
= Ck.
N
N
(k)
x
(0)
x
Таким образом, скорость сходимости степенного метода зависит от
того, насколько |λ
РИМЕР 3.2 (СТЕПЕННОЙ МЕТОД). Рассмотрим следующую матрицу:
П
| меньше, чем |λN|.
N−1
⎛
2 −10 0
−12−10
⎜
A =
⎝
0 −12−1
⎞
⎟
⎠
.
00−12
(0)
Выберем начальный вектор x
=(1, 0, 0, 0)Tи εp=10−5.Резуль-
таты вычислений приведены в Таблице 3.1.
Таблица 3.1.
(k)
k x
− x
(k−1)
ρ(x
(k)
)
1 4.5950e − 01 2.8000
2 2.6041e − 01 3.1428
... ... ...
18 1.8282e − 03 3.6180
... ... ...
35 7.4787e − 06 3.6180
Видно, что приближения x
(k)
довольно медленно сходятся к zN,так
как эта матрица имеет собственные значения:
≈ 0.3820,
λ
1
≈ 1.3819,
λ
2
≈ 2.6181,
λ
3
≈ 3.6180,
λ
4
и, следовательно, асимптотическая константа сходимости C=λ
≈ 0.7236.
N−1/λN
≈

3.4. Метод обратной итерации 73
Если нам нужно вычислить только собственное значение симмет-
ричной матрицы A, то можно выполнить гораздо меньшее число итераций. Пусть x
(k)
= x
+ e
вид
Это выражение показывает, что ρ(x
в то время как приближения x
. Например, как видно из примера 3.2, нужно только 18 итераций
к z
n
для того, чтобы вычислить λ
(k)
(k)
ρ(x
есть некоторое приближение к znтакое, что zn=
(k)
и e
(k)
)=λn(1 −4(zn, e
= δ.ОтношениеРэлеядлявектораx
(k))2
+ O(δ3)) = λn+ O(δ2).
(k)
(k)
в степенном методе сходятся линейно
с точностью до четырех знаков.
n
) сходится квадратично к λn,
(k)
имеет
3.4. Метод обратной итерации
Метод обратной итерации, по существу, является степенным мето-
дом, применённым к соответствующей обратной матрице. Рассмотрим
кратко теоретические основы этого метода. Умножая выражение (3.1) на
матрицу A
виде:
Это значит, что собственный вектор матрицы A является собственным
вектором матрицы A
чальный вектор x
цы A:
−1
, задачу на собственное значение можно записать в другом
(0)
Умножа я вектор x
zn=
1
zn, det(A) =0.
λ
n
−1
A
−1
и λn(A−1)=1/λn(A). Выберем некоторый на-
иразложимегопособственнымвекторамматри-
N
(0)
x
=
αnzn.
n=1
(0)
k раз на матрицу A−1,получим:
N
(k)
y
=(A−1)kx
N
α
=
n=1
Когда k →∞, y
ром z
. Поэтому, последовательные степени матрицы A−1дают инфор-
1
k
1
n
λ
n
(k)
zn=
стремится к вектору коллинеарному с векто-
(0)
=
αn(A−1)kzn=
n=1
k
1
λ
α
1
1z1
N
+
n=2
k
λ
1
λ
n
мацию о наименьшем по модулю собственном значении λ
αnz
.
n
матрицы A.
1

74 Глава 3
На практике, вычислять матрицу A−1нецелесообразно, так как решение системы Ay = x относительно вектора y требует меньше затрат чем
вычисление y = A
−1
x. Суммируя все эти замечания, можно предложить
следующую реализацию метода обратной итерации:
(0)
1) задать начальный вектор x
2) для каждого значения k =0, 1,... решить систему линейных урав-
нений Ay
(k+1)
= x
(k)
;
3) следующее приближение вычисляется как x
;
(k+1)
= y
(k+1)
/y
(k+1)
;
4) если при некотором значении k x
(k+1)
есть приближённый собственный вектор z1и s1= ρ(x
приближённое минимальное по модулю собственное значение λ
(k)
− x
εp,тогдаx
(k+1)
(k+1)
) есть
.
1
Сходимость метода обратной итерации
Если все |λ
| различны и (zN, x
n
lim
k→∞
(0)
) =0,тогда
(k)
x
= z
1
и справедлива следующая оценка:
||x
||x
(k)
(0)
− z1||
− z1||
k
λ
1
= Ck.
λ
2
Таким образом, скорость сходимости метода обратной итерации за-
висит от того, насколько |λ
РИМЕР 3.3 (МЕТОД ОБРАТНОЙ ИТЕРАЦИИ). Рассмотрим матрицу из
П
примера 3.2. Выберем начальный вектор x
| меньше, чем |λ2|.
1
(0)
=(1, 0, 0, 0)Tи εp=10−5.
Результаты вычислений приведены в Таблице 3.2.
Для этой матрицы метод обратной итерации сходится довольно
быстро, так как асимптотическая константа сходимости C = λ
1/λ2
≈
≈ 0.2764. Если нам нужно только собственное значение, то достаточно
пяти итераций, чтобы вычислить его с точностью до четырёх знаков.
Метод обратной итерации требует больше вычислительных затрат
по сравнению со степенным методом, так как необходимо решать систему линейных уравнений на каждом шаге итерационного процесса.
Однако это количество операций может быть значительно уменьшено,
если учесть тот факт, что матрица A остаётся постоянной для всех итераций. Поэтому в начале вычислительной процедуры следует разложить

3.5. Итерации со сдвигом начала 75
Таблица 3.2.
k x
(k)
− x
(k−1)
ρ(x
(k)
)
1 7.3444e − 01 0.6666
2
3.5190e − 01 0.4000
... ... ...
5 6.8620e − 03 0.3820
... ... ...
10 1.0994e − 05 0.3820
матрицу A (смотри 2.6.1), тогда решение системы уравнений в пункте 2)
сводится к решению двух систем с треугольными матрицами. При таком подходе вычислительные затраты для решения K систем уравнений
сравнимы с затратами для решения одной системы.
3.5. Итерации со сдвигом начала
Часто на практике итерации применяются не к матрице A,акматрице B = A − σI (σ =const=0—сдвигначала).Такоепреобразова-
ние практически не меняет исходную задачу (3.1), так как собственные
вектора матрицы A совпадают с собственными векторами матрицы B
(A)=λn(B)+σ. В этом случае степенной метод сходится к неко-
и λ
n
торому собственному вектору z
чению
(B)| =maxn|λn(A) −σ|,
|λ
n
и асимптотическая константа сходимости определяется как
, соответствующему собственному зна-
n
max
|λm(A) −σ|
m=n
C =
maxn|λn(A) −σ|
.
Метод обратной итерации сходится к некоторому собственному вектору z
, соответствующему собственному значению
n
(B)| =minn|λn(A) −σ|,
|λ
n
и асимптотическая константа сходимости определяется как
min
|λn(A) −σ|
C =
n
min
|λm(A) −σ|
m=n
.

76 Глава 3
В каких ситуациях следует использовать сдвиг начала?
Ситуация 1.
Пусть матрица A имеет |λ
| = |λN| (или они очень близки). Если
N−1
мы применим степенной метод к этой матрице, то не получим сходимости ни к вектору z
медленной). Когда σ =0,всеλ
,никвекторуz
N
n
(или сходимость будет очень
N−1
(B) различны по модулю и сходимость
появится.
РИМЕР 3.4 (СТЕПЕННОЙ МЕТОД СО СДВИГОМ НАЧАЛА). Рассмотрим
П
следующую матрицу:
⎛
⎞
110
A =
⎝
1 −11
⎠
.
011
Эта матрица имеет собственные значения
λ
=1,
1
λ
=√3 ≈ 1.7320,
2
λ
= −√3 ≈−1.7320.
3
Применим степенной метод к матрице A,начинаясвектораx
=(1, 0, 0, 0)
Таблица 3.3.
T
. Результаты вычислений приведены в Таблице 3.3.
k r
(k)
ρ(x
(k)
)
(0)
=
1 1.2247 1
2 1.3416 1
3 1.3887 1
4 1.4055 1
5 1.4113 1
Хорошо видно, что сходимость отсутствует. Теперь применим степенной метод к матрице A − σI (σ =2)стемжесамымначальным
вектором. Результаты вычислений приведены в Таблице 3.4.
Видно, что сдвиг начала обеспечил сходимость итераций и асимптотическая константа сходимости
|λ
(A) −σ|
C =
1
|λ3(A) −σ|
=
1
2+√3
≈ 0.2679.

3.5. Итерации со сдвигом начала 77
Таблица 3.4.
k r(k) ρ(x
(k)
)+σ
1 1.2247 −1
2 0.4178 −16666
3 0.1141 −1.7272
4 0.0306 −1.7317
5 0.0082 −1.7320
Ситуация 2.
Предположим, что нам надо найти собственное значение матрицы A,ближайшеекзаданномучислуβ,тоестьтакоеλ
|λ
(A) −β| < min
m
|λn(A) −β|.
n=m
(A),что
m
Тогда метод обратной итерации со сдвигом σ = β сходится к собственному вектору z
П
РИМЕР 3.5 (МЕТОД ОБРАТНОЙ ИТЕРАЦИИ СО СДВИГОМ НАЧАЛА). Рас-
смотрим снова матрицу из примера 3.2. Применим метод обратной итерации с начальным вектором x
.
m
(0)
=(1, 0, 0, 0)TкматрицеA−σI (σ =3.5).
Результаты вычислений приведены в Таблице 3.5.
Таблица 3.5.
(k)
k x
− x
(k−1)
ρ(x
(k)
)+σ
1 1.2895 3.5520
2 2.6116e − 01 3.6171
3 3.3306e − 02 3.6180
... ... ...
6 7.8765e − 05 3.6180
Мы выбрали сдвиг достаточно близко к собственному значению λ4,
поэтому наблюдается быстрая сходимость к собственному вектору z
так как асимптотическая константа сходимости
(A) −σ|
|λ
C =
4
|λ3(A) −σ|
≈ 0.104.
,
4

78 Глава 3
3.6. Применение ортогональных преобразований
(QR-метод)
QR-метод является одним из наиболее часто используемых методов для вычисления собственных значений. Эта процедура имеет ряд
полезных особенностей, а именно:
1) она позволяет вычислить все собственные значения матрицы;
2) в случае одинаковых по модулю собственных значений она всё же
позволяет получить некоторую информацию о спектре матрицы;
3) в случае симметричных матриц вычисления сильно упрощаются.
Основная идея QR-метода выглядит просто. Сначала для данной
матрицы A вычисляется разложение A = A
гональная матрица и R — верхняя треугольная матрица (смотри 2.6.1).
Затем вычисляется новая матрица A
жается последовательно: для A
= R
(k)Q(k)
. Этот алгоритм выглядит довольно просто, но даёт очень
интересный результат: если все |λ
lim
k→∞
где
T =
⎛
⎜
⎜
⎜
⎝
λ
N
(1)
(k)
= Q
| различны, то
n
(k)
A
= T,
∗ .. ∗
λ
N−1
0 . ∗
Таким образом, мы можем вычислить все собственные значения в
(0)
= QR,гдеQ —орто-
= RQ. Далее процедура продол-
(k)R(k)
,мывычисляемA
(k+1)
⎞
.
⎟
..
⎟
. (3.4)
⎟
⎠
λ
1
=
смотрели, требует слишком больших вычислительных затрат. Если A —
матрица общего вида, то каждое QR-разложение потребует O(N
3
) операций. Для того чтобы сделать метод более эффективным, исходная
матрица A сначала трансформируется в другую матрицу, для которой
последующие QR-разложения вычисляются за гораздо меньшее количество операций. Поэтому QR-метод начинается с преобразования исходной матрицы A вматрицувида
H
⎛
∗ ...∗
∗ ..
⎜
⎜
⎜
⎝
.. .
0 .. .
=
A
⎞
⎟
⎟
⎟
⎠
.
∗∗

3.6. Применение ортогональных преобразований (QR-метод) 79
Такой вид называется формой Хессенберга матрицы A.Послетакого преобразования QR-разложение исходной матрицы A
вычислить за O(N
последующие матрицы A
2
) операций. В дополнение, и это очень важно, все
(k)
остаются в форме Хессенберга. Для сим-
(0)
= HAможно
метричных матриц форма Хессенберга является трёхдиагональной матрицей, что значительно уменьшает количество операций и позволяет эффективное хранение матриц. В качестве индикатора сходимости можно
следить за уменьшением величины поддиагональных элементов a
вматрицеA
(k)
или можно следить за уменьшением величины
|a
(k+1)
nn
(k)
− a
|,n=1,...,N.
nn
n+1,n
Всё рассмотренное выше можно представить в виде следующего
алгоритма:
1) представить матрицу A в форме Хессенберга: A → H
2) для каждого значения k =0, 1,... вычислить QR-разложение мат-
рицы A
= R
(k)
(k)Q(k)
: A
;
(k)
= Q
(k)R(k)
,иследующееприближениеA
A
= A
(0)
;
(k+1)
=
3) сформировать два вектора:
и
Если
тогда элементы a
a
(k)
a
=(a
2
(k)
||a
1
матрицы A
n,n
(k)
1
(k)
21
(k−1)
11
,a
(k)
, ..., a
32
, ..., a
=(a
(k)
11
− a
|| εpили ||a
(k)
есть приближённые собственные зна-
(k)
NN
(k)
|| εp,
2
(k)
N,N−1
− a
T
)
(k−1)
NN
)T.
чения матрицы A и
|λ
n
(A) −a
(k)
nn
| εp.
Сходимость QR-метода
Если все |λ
| различны, то матрицы A
n
(k)
сходятся к верхней треугольной матрице T (смотри (3.4)), диагональные элементы которой являются собственными значениями матрицы A.Длясимметричныхматриц последовательность {A
(k)
} сходится к диагональной матрице. Ско-
рость сходимости оценивается следующим образом:
||T −A
(k)
|| max
1nN−1
λ
λ
n
n+1
k
.

80 Глава 3
Легко видеть, что сходимость отсутствует, если хотя бы два собственных значения равны по модулю (или она очень медленная, если их
абсолютные значения близки). Такая ситуация не такая уж редкая, особенно для несимметричных матриц, так как в этом случае собственные
значения составляют комплексно-сопряжённые пары. Поэтому, в QR-методе обычно применяется сдвиг начала, что часто обеспечивает сходимость.
РИМЕР 3.6 (QR-МЕТОД). Рассмотрим следующую матрицу:
П
A =
⎛
1100
1 −11 0
⎜
⎝
0021
⎞
⎟
⎠
.
001−2
Таблица 3.6.
k a
(k)
+ σ a
nn
(k)
1
2
a
(k)
2
n =1,...,4
−1.0000
1
1.0000
1.0000
2.2360e +00 3.1622e +00
−1.0000
... ... ... ...
2.0000
−2.0000
3
1.4138
1.0006e +00 1.4143e +00
−1.4138
... ... ... ...
2.2307
−2.2307
5
1.4142
1.5384e − 01 4.3514e − 02
−1.4142
... ... ... ...
2.2360
−2.2360
10
1.4142
1.2523e − 03 2.9034e − 06
−1.4142
2
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
