Лекции по методам вычислений / glava3
.pdf75
номер максимальной по модулю компоненты xk . Фактически доказа- на теорема о сходимости метода, при формулировке которой будут использоваться введенные выше обозначения; кроме того, мы будем предполагать, что при всех k (yk , u) 6= 0.
Теорема. Пусть выполнены условия:
1)|λ1| > |λ2|;
2)(z1, u) = 1;
3)α1 =6 0.
Тогда описанный формулами (3) процесс сходится: λ(1k) → λ1, z1k → z1, причем
λ1 = λ1 + O |
λ1 |
k |
! |
, z1k = z1 + zk, k zkk = O |
λ1 |
k |
! . |
||
(k) |
|
λ2 |
|
|
|
|
λ2 |
|
|
За м е ч а н и е . Если в условиях теоремы |λ2| > |λ3|, (u, z2) 6= 0
иα2 6= 0, то характер сходимости λ(1k) к λ1 можно охарактеризовать более точно:
λ1 |
= λ1 |
+ c λ1 |
|
+ O |
λ1 |
|
+ λ1 |
k |
! |
, |
|||
(k) |
|
|
λ2 |
k |
|
|
λ2 |
2k |
|
λ3 |
|
|
где
c= λ1 α2(z2, u) (λ2 − λ1). λ2 α1(z1, u)
При сделанных предположениях такое же уточнение можно получить и по отношению к сходимости векторов z1k = (ζ1k , . . . , ζnk ) к собствен- ному вектору z1 = (ζ1, . . . , ζn). Действительно,
yk = λ1k "α1z1 |
+ α2 |
λ1 z2 + wk # , kwkk = O |
λ1 |
|
|
! |
, |
|
|||||||
|
|
|
|
|
|
k |
|
|
λ3 |
|
k |
|
|
||
|
|
|
|
|
|
λ2 |
|
|
|
|
|
|
|
|
|
и так как z1k = xk = yk/(yk, u), то для любого вектора v |
|
|
|
|
|
! . |
|||||||||
(z1k, v) = 1 |
λ1k |
α1 |
+ α2 |
(λ2/λ1)k (z2, u) + εk2 |
, εkj |
= O |
|
|
λ3 |
k |
|||||
|
λk |
α1 |
(z1 |
, v) + α2(λ2/λ1)k (z2, v) + εk1 |
|
|
|
|
λ1 |
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
76
Отсюда нетрудно усмотреть, что |
|
|
λ1 |
|
|
λ1 |
|
! |
|
|||||||
(z1k, v) = (z1 |
, v) + c(v) λ1 |
+ O |
+ |
, |
||||||||||||
|
|
|
k |
|
|
|
|
λ2 |
2k |
|
|
λ3 |
|
k |
|
|
|
|
|
λ2 |
|
|
|
|
|
|
|
|
|
|
|
||
Взяв в качестве v орты: v = ej , имеем |
|
|
+ |
|
|
! |
|
|
|
|||||||
ζjk = ζj |
+ cj λ1 + O |
λ1 |
|
λ1 |
, |
|
|
|||||||||
|
|
k |
|
λ2 |
|
2k |
|
λ3 |
|
k |
|
|
|
|||
|
|
λ2 |
|
|
|
|
|
|
|
|
|
|
|
Метод скалярных произведений.
Если матрица A эрмитова, то располагая векторами xk , по- строенными согласно (3), можно получить существенно лучшее при- ближение к λ1. Действительно, поскольку собственные векторы zj попарно ортогональны, то
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
n |
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
X |
|
|
|
|
|
|
|
|
|
|||
|
|
|
(yk , yk ) = α12λ12k (z1, z1) + |
|
|
|
αj2λj2k (zj , zj ), |
|
|
|
|
|
|||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
j=2 |
|
|
|
|
|
|
|
|
|
|||
аналогичный вид имеет и (yk , yk−1), так что |
|
|
|
|
|
|
|
|
|
||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2k |
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
P |
n |
|
|
|
λj |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
k k 1 |
|
|
1 + |
j=2 γj |
|
λj |
1 |
|
|
− |
|
|
|
|
1 |
|
2 |
|
1 1 |
|
||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||
|
|
− |
|
|
|
1 + Pj=2 |
γj λ1 |
|
|
|
|
|
|
αj |
|
|
(zj , zj ) |
|
|||||||||||
|
(yk , yk) |
|
= λ1 |
|
|
|
|
|
|
|
λ |
|
|
|
|
, γj = |
|
|
|
|
. |
||||||||
|
(y , y |
|
) |
|
|
|
|
n |
|
|
|
|
|
|
|
2k |
|
1 |
|
|
|
α |
|
|
(z , z ) |
||||
Таким образом |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
λ1 |
|
|
! |
|
||||||||
|
λ˜1 |
= (yk , yk−1) = (˜xk , xk−1) |
= λ1 + O |
2k |
|
||||||||||||||||||||||||
|
|
(k) |
|
|
(yk , yk ) |
|
|
|
(˜xk , x˜k ) |
|
|
|
|
|
|
λ2 |
|
|
|
|
|
есть, вообще говоря, существенно лучшее приближение к λ1, чем λ(1k). В этом и состоит метод скалярных произведений. Улучшить этим методом приближение к собственному вектору эрмитовой мат- рицы не удается.
77
Случай |λ2| = |λ1|.
Остановимся кратко на случае |λ2| = |λ1|, считая для просто- ты матрицу A вещественной; тогда и векторы y0 и u естественно считать вещественным. Из всех возможностей разберем три наибо- лее характерные.
1) λ1 — кратное собственное число: λ1 |
= · · · |
= λm, причем |
|||||
|λ1| > |λm+1|. Тогда |
j=1 |
αj zj + j=m+1 αj |
|
|
|
zj |
|
yk = λ1k |
λ1 |
, |
|||||
|
m |
n |
λj |
k |
|
|
|
|
X |
X |
|
|
|
|
|
откуда видно, что λ(1k) и z1k, построенные по формулам (3), сходятся соответственно к λ1 и некоторому из собственных векторов матрицы A, соответствующих λ1, с той же быстротой, что указана в теореме. То обстоятельство, что λ1 кратное собственное число, в процессе счета замечено не будет.
2) λ2 = −λ1, |λ1| > |λ3|. В этом случае
yk = λ1k α1z1 |
+ (−1)kα2z2 |
+ j=3 αj |
λ1 |
|
zj . |
|
|
|
n |
|
λj |
k |
|
|
|
X |
|
|
|
|
Поэтому характерным признаком, по которому мы можем судить, что имеем дело с этим случаем, будет близость при больших k векто- ров xk и xk−2 при существенном отличии xk−1 от xk . Приближения
к собственным числам и векторам можно вычислить по формулам
(k) |
2 |
(k) |
2 |
|
(yk, u) |
, zmk = cm(yk + λm(k)yk−1), m = 1, 2. |
|
λ1 |
|
= (λ2 |
|
= |
|
|
|
|
|
(yk−2, u) |
Заниматься представлением правых частей этих формул через век- торы x˜k и xk не будем.
3) λ1 = ρeiθ и λ2 = ρe−iθ — комплексно сопряженные собствен- ные числа, ρ > |λ3|. Векторы z1 и z2 имеют комплексно сопряжен- ные компоненты. Поскольку векторы y0 и u вещественные, то числа α1−2(z1−2, u) = re±iϕ также комплексно сопряжены. Поэтому числа
k k
(yk , u) = ρ 2r cos(kθ + ϕ) + O (λ3/ρ)
78
ведут себя “неправильно”, что и служит признаком комплексно со- пряженных наибольших по модулю собственных чисел. Модуль пер-
вых двух собственных чисел может быть приближенно найден по
формуле
ρ2 ≈ (yk , u)(yk−2, u) − (yk−1, u)2 , (yk−1, u)(yk−3, u) − (yk−2, u)2
так как
(yk , u)(yk−2, u) − (yk−1, u)2 ≈
≈ρ2k−24r2 cos(kθ + ϕ) cos((k − 2)θ + ϕ) − cos2((k − 1)θ + ϕ) =
=−4r2 sin2 θ ρ2k−2.
Приводить формулы для вычисления θ не будем.
Метод обратных итераций.
Пусть нам требуется найти наименьшее по модулю собствен-
ное число λn матрицы A. Поскольку µ = 1 — наибольшее по моду-
λn
лю собственное число матрицы B = A−1, то можно найти λn, при- меняя степенной метод к матрице B. Обращать матрицу A нераци- онально, более выгодно вычислять на каждом шаге вектор yk, решая систему уравнений Ayk = yk−1. При решении этих систем методом исключений следует учитывать, что все они имеют одну и ту же матрицу коэффициентов, так что значительная часть вычислений при решении этих систем проделывается только один раз. В этом и состоит метод обратных итераций.
Метод обратных итераций можно применять для уточнения произвольного собственного числа λ матрицы A, если для него из-
вестно достаточно хорошее приближение λ(0). |
Следует восполь- |
||||||||||
|
(0) |
|
, |
что |
λ − λ |
(0) |
|
|
|
B = |
|
зоваться тем |
|
|
(0) есть собственное число матрицы |
|
|||||||
A − λ |
|
E, минимальное по модулю, если λ |
|
— хорошее приближе- |
|||||||
ние. |
Более того, сходимость метода обратных итераций для нахо- |
||||||||||
ждения λ − λ(0) будет в этом случае очень быстрой. |
|
||||||||||
|
Задача. Пусть для матрицы A λ1 = ρeiθ , λ2 = ρe−iθ , ρ > |λ3|. Рассмот- |
||||||||||
рев последовательность |
|
|
|
|
|
||||||
|
|
|
|
pk |
= |
(yk−1, u)(yk+2, u) − (yk , u)(yk+1, u) |
, |
|
|||
|
|
|
|
|
|
||||||
|
|
|
|
|
|
(yk−1, u)(yk+1, u) − (yk , u)2 |
|
|
|
79
указать способ нахождения Reλ1 степенным методом в этом случае.
§8. Метод Крылова
Метод А.Н.Крылова — это метод решения полной проблемы собственных чисел, основанный на вычислении коэффициентов ха- рактеристического полинома матрицы A. С самого начала будем предполагать, что все собственные числа этой матрицы различны
— в противном случае метод имеет некоторые осложнения. Метод основан на равенстве Кели–Гамильтона. Пусть
Pn(λ) = det(A − λE) = (−1)nλn + p1λn−1 + · · · + pn −
характеристический полином матрицы A. Тогда
Pn(A) = (−1)nAn + p1An−1 + · · · + pnE = 0.
В случае, когда матрица A имеет полную систему собственных век- торов, это равенство доказывается совсем просто. Действительно, пусть z — собственный вектор: Az = λz. Тогда Pn(A)z = Pn(λ)z = 0 (т.к. λ — собственное число). Ввиду полноты системы собственных векторов и для любого вектора x будет Pn(A)x = 0, и значит Pn(A) нулевая матрица.
Обратимся к методу. Возьмем произвольный ненулевой вектор y0 и вычислим векторы
yk = (η1(k), . . . , ηn(k)), yk = Ak y0 = Ayk−1, k = 1, . . . , n.
Векторное равенство Pn(A)y0 перепишем покомпонентно, перенеся первое слагаемое в правую часть:
η1(n−1)p1 |
+ · · ·+ |
η1(0)pn |
= (−1)n+1 |
η1(n) |
|
|
|||
(n |
− |
1) |
p1 |
... |
(0) |
= ( 1)n+1 |
(n) |
|
|
ηn |
|
+ + ηn pn |
ηn |
|
(1) |
||||
|
... |
|
· · · |
... |
... |
|
. |
||
|
|
|
|
|
− |
|
|
|
Будем рассматривать (1) как систему линейных алгебраических уравнений относительно коэффициентов характеристического поли- нома и кратко запишем ее в виде Y p = (−1)n−1yn (матрица Y и
80
вектор yn известны, ищется вектор p = (p1, . . . , pn)). Пусть zk соб- ственные векторы матрицы A: Azk = λk zk (напомним, что все λk
Pn
различны), и пусть y0 = j=1 αj zj .
Теорема. для того чтобы матрица Y системы уравнений (1) была неособенной, необходимо и достаточно чтобы при всех j было
αj =6 07.
Д о ка з а т е л ь с т в о. Введем обозначения для компонент век- торов zj = (ζ1(j), . . . , ζn(j)) и определим матрицы Z, Λ и диагональную матрицу D:
ζ1(1)
Z = . . .
ζn(1)
. . . ζ1(n)
. . . . . .
. . . ζn(n)
Λ = |
|
λ1n−1 . . . |
1 |
|
|
.n 1 . . . |
. . . |
||||
|
. . |
|
|||
|
λn− . . . |
1 |
|
||
D = |
. . . . . . |
. . . . |
|||
|
|
α1 . . . |
0 |
|
|
|
|
|
|||
|
|
0 . . . |
αn |
|
|
Поскольку элемент k-й строки и j-го столбца матрицы Y есть
n
ηk(n−j) = X αν λnν −j ζk(ν),
ν=1
то Y = ZDΛ. Матрица Z неособенная, поскольку собственные век- торы zk линейно независимы, матрица Λ неособенная как матрица Вандермонда, а для того чтобы D была неособенной, необходимо и достаточно, чтобы все коэффициенты αj были отличны от нуля.
З а м е ч а н и е. Если среди собственных чисел матрицы A име- ются равные, то det Λ = 0, так что и det Y = 0. В этом и состоит упоминавшееся в начале параграфа затруднение.
7Про такой вектор y0 иногда говорят, что он “находится в общем положении”.
81
Пусть коэффициенты полинома Pn уже вычислены и его корни λk — собственные числа матрицы A найдены. Обратимся к нахо- ждению собственных векторов. Построим полиномы
P (k) (λ) = |
|
Pn(λ) |
|
|
|
n n−1 + p(k)λn−2 + |
· · · |
+ p(k) |
. |
|
|||||||
|
(λ − λk ) |
|
|
|
|||||||||||||
n−1 |
|
|
|
= (−1) λ |
1 |
|
|
|
n−1 |
|
|
||||||
Очевидно, что P |
|
(k) |
(λ ) = 0 при j = k и P (k) (λ ) = P 0 (λ ) = 0. По- |
||||||||||||||
|
|
|
n−1 |
j |
|
|
6 |
n−1 |
k |
|
n |
k 6 |
|
|
|||
этому P (k) |
(A)z |
j |
|
= P (k) (λ )z |
j |
= 0 (j = k) и P |
(k) |
(A)z |
k |
= P 0 |
(λ )z |
. |
|||||
n−1 |
|
|
|
n−1 |
j |
|
6 |
n−1 |
|
|
n |
k k |
|
||||
Таким образом |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
n |
αj P (k) (A)zj = αk P 0 |
(λk )zk = z˜k |
|
|
||||||||
P (k) (A)y0 = |
|
|
|||||||||||||||
|
n−1 |
|
|
|
X |
|
n−1 |
n |
|
|
|
|
|
|
|
||
|
|
|
|
|
j=1 |
|
|
|
|
|
|
|
|
|
|
есть собственный вектор матрицы A, соответствующий собственно- му числу λk . Остается еще заметить, что
z˜k = (−1)nyn−1 + p1(k)yn−2 + · · · + pn(k−) |
1y0. |
(2) |
Итак, алгоритм метода Крылова состоит в следующем:
1)выбирается произвольный ненулевой вектор y0 и строятся векторы yk = Ayk−1, k = 1, . . . , n;
2)путем решения системы уравнений (1) находятся коэффи-
циенты характеристического полинома Pn(λ) матрицы A;
3)собственные числа λk матрицы A находятся как корни по- линома Pn(λ);
4)вычисляются коэффициенты полиномов Pn(k−)1(λ) = Pn(λ)/(λ−
λk );
5)собственные векторы z˜k вычисляются по формулам (2).
Если определитель системы уравнений (1) оказался нулевым, то это означает, что либо у матрицы A имеется кратное собственное число, либо вектор y0 выбран неудачно, и тогда его следует заменить.
§9 Метод Якоби
В этом параграфе матрицы будем считать вещественными.
82
Метод Якоби — это метод решения полной проблемы собствен- ных чисел для симметричных матриц.
Напомним некоторые сведения из линейной алгебры. Матрица T называется ортогональной, если ее столбцы попарно ортогональ- ны и сумма квадратов элементов каждого столбца равна единице, т.е. если8 T 0T = E. Произведение ортогональных матриц есть ор- тогональная матрица. Если A — симметричная матрица, а T — ортогональная, то T 0AT также симметричная и собственные числа этих матриц совпадают. Симметричная матрица A может быть ор- тогональным преобразованием приведена к диагональному виду, т.е. существует такая ортогональная матрица T , что T 0AT = Λ, где Λ
— диагональная матрица. При этом диагональные элементы мат- рицы Λ — собственные числа матрицы A, а столбцы матрицы T — соответствующие собственные векторы.
Введем обозначения для сумм квадратов всех элементов мат- рицы A и ее диагональных элементов9:
n n |
n |
X X |
X |
t2(A) = |
aij2 , d2(A) = aii2 . |
i=1 j=1 |
i=1 |
Тогда r2(A) = t2(A) − d2(A) — сумма квадратов недиагональных элементов.
Лемма 1. Если A - симметричная матрица, а T — ортого- нальная и B = T 0AT , то t2(B) = t2(A).
Д о ка з а т е л ь с т в о. Очевидно равенство10 t2(A) = tr(A2).
Поэтому
t2(B) = tr(B2) = tr(T 0AT T 0A0T ) = tr(T 0A2T ) = tr(A2) = t2(A)
8Штрих означает транспонирование матрицы.
9t(A) называется нормой Фробениуса матрицы A.
10tr(A) — след матрицы A, сумма ее диагональных элементов, равная сумме собственных чисел.
83
Элементарной ортогональной матрицей назовем ортогональ- ную матрицу Tij (ϕ) (i < j), которая лишь четырьмя элементами отличается от единичной: tii = tjj = cos ϕ, −tij = tji = sin ϕ.
Лемма 2. Пусть B = Tij0 (ϕ)ATij (ϕ). Тогда матрица B лишь двумя столбцами и двумя строками с номерами i и j отличается от матрицы A (т.е. при µ 6= i, j и ν 6= i, j будет bµν = aµν ). Кроме того
Bˆ = T 0(ϕ)ATˆ (ϕ). Здесь |
bjj |
|
|
sin ϕ |
−cos ϕ |
|
|
||
Aˆ = aji |
ajj , |
Bˆ = bji |
, |
T (ϕ) = |
− |
||||
aii |
aij |
bii |
bij |
|
|
cos ϕ |
sin ϕ |
|
|
матрицы второго порядка. |
|
|
|
|
|
|
|
||
Лемма 3. |
Для симметричной матрицы A и индексов i < j |
найдется такой угол ϕ, что для матрицы B = Tij0 (ϕ)ATij (ϕ) окажется bij = bji = 0. При таком выборе ϕ
bii2 + bjj2 = aii2 |
+ ajj2 + 2aij2 . |
(1) |
|||||||
Д о ка з а т е л ь с т в о. Используя лемму 1, нетрудно получить, |
|||||||||
что при произвольном ϕ |
|
|
|
|
|
||||
1 |
|
|
|
|
|
|
|
|
|
bij = |
|
(ajj − aii) sin 2ϕ + aij cos 2ϕ. |
|
||||||
2 |
|
||||||||
Если aii = ajj , то достаточно положить ϕ = π/4, а при aii 6= ajj |
|
||||||||
|
ϕ = |
1 |
arctan |
|
2aij |
. |
|
||
|
|
|
|
|
|||||
2 |
|
|
aii − ajj |
|
|||||
Формула (1) следует из леммы 1. |
|
|
|
|
Метод Якоби состоит в построении последовательности мат- риц As (A0 = A) с таким расчетом, чтобы при больших s матрицы As были близки к диагональным, так что их диагональные элементы близки к собственным числам матрицы A. Матрица As+1 строит- ся в виде As+1 = Ts0AsTs, где Ts = Tij (ϕ), индексы i = is и j = js находятся из условия |a(ijs)| = maxµ=6ν |a(µνs)|, а ϕ = ϕs вычисляется
84
(согласно лемме 2) так, чтобы оказалось a(ijs+1) = 0. Напомним, что
каждая следующая матрица отличается от предыдущей лишь двумя строками и столбцами.
Теорема. При s → ∞ все недиагональные элементы матриц |
|||||||
As стремятся к нулю. |
. |
2 |
, |
|
r |
2 |
(As) → 0. |
Д о ка з а т е л 2 |
что |
||||||
ь с т в о |
|
Достаточно доказать |
|
|
|
Согласно лемме 3 t (As+1) = t (As). Все диагональные элементы
матриц As+1 и As, |
кроме двух, совпадают, и ввиду равенства (1) |
||||||||||||||||
|
|
(s) |
|
2 |
|
|
|
ij |
|
2 |
|
|
|
|
|
|
|
d2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
(As+1 ) = d2(As) + 2 a(s) |
|
|
, причем согласно выбору индексов is и |
||||||||||||||
js |
aij |
|
|
≥ r2(As)/[n(n − 1)] и потому |
|
|
|
|
|
||||||||
|
|
|
|
|
d2(As+1) ≥ d2(As) + 2r2(As)/[n(n − 1)], |
|
|
||||||||||
|
r2(As+1) = t2(As+1) − d2(As+1) ≤ |
|
|
|
|
|
|
||||||||||
|
|
|
|
|
|
≤ t2(As) − d2(As) − 2r2(As)/[n(n − 1)] = qr2(As), |
|
||||||||||
где |
q = 1 − 2/[ 2 |
|
− |
s 2 |
|
Методом индукции теперь легко пока- |
|||||||||||
|
|
|
n(n |
|
1)] < 1. |
||||||||||||
зывается, что r (As) ≤ q r (A), откуда и следует сходимость. |
|
|
|||||||||||||||
|
|
Покажем, |
что диагональные элементы матриц As сходятся к |
||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
≥ |
|
≥ · ·(s·) ≥ |
(s) |
|
собственным числам матрицы A. |
Пусть λ1 |
|
λ2 |
|
λn |
— |
|||||||||||
собственные числа матрицы A, а значит, и As, и пусть µ1 ≥ µ2 |
≥ |
· · · ≥ µ(ns) — диагональные элементы матрицы As, расположенные в порядке убывания.
Следствие. При s → ∞ выполняется соотношение µ(ks) → λk . Д о ка з а т е л ь с т в о. Представим матрицу As в виде As = Λs+Rs, где Λs — диагональная матрица, а у Rs на главной диагонали
нули. По доказанной теореме Rs → 0. Так как µ(ks) - собственные числа матрицы Λs, то по теореме 4 из §3 при всех k |λk −µ(ks)| < kRsk.
З а м е ч а н и е. Из теоремы следует сходимость метода с быст- ротой геометрической прогрессии со знаменателем q, близким при