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

Основы научных вычислений. Введение в численные методы для физиков и инженеров

.pdf
Скачиваний:
0
Добавлен:
07.09.2026
Размер:
2 Мб
Скачать
☆
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
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]