Скачиваний:
14
Добавлен:
01.05.2014
Размер:
310.07 Кб
Скачать

75

номер максимальной по модулю компоненты 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

21)k (z2, u) + εk2

, εkj

= O

 

 

λ3

k

 

λk

α1

(z1

, v) + α221)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)

Заниматься представлением правых частей этих формул через век- торы k и xk не будем.

3) λ1 = ρeи λ2 = ρeкомплексно сопряженные собствен- ные числа, ρ > |λ3|. Векторы z1 и z2 имеют комплексно сопряжен- ные компоненты. Поскольку векторы y0 и u вещественные, то числа α1−2(z1−2, u) = re±также комплексно сопряжены. Поэтому числа

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 = ρe, λ2 = ρe, ρ > |λ3|. Рассмот-

рев последовательность

 

 

 

 

 

 

 

 

 

pk

=

(yk1, u)(yk+2, u) − (yk , u)(yk+1, u)

,

 

 

 

 

 

 

 

 

 

 

 

 

 

(yk1, 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(nj) = 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 . Остается еще заметить, что

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)собственные векторы 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, близким при

Соседние файлы в папке Лекции по методам вычислений