Собственные значения

Страница 5

На каждом основном шаге изменяются лишь те элементы мат­рицы аij, которые расположены в ее правой нижней (заштрихо­ванной) части. Таким образом на k-м шаге преобразуется только матрица порядка (п — k + 1), занимающая правый нижний угол исходной матрицы. Ясно, что на каждой следующей стадии вы­полняется меньшее число преобразований, чем на предыдущей. Всего для приведения матрицы к трехдиагональному виду тре­буется выполнить (n2 — Зп + 2)/2 преобразований.

Наш опыт применения метода Гивенса показывает, что можно при выполнении одного шага преобразований обратить в нуль сразу все элементы целой строки и столбца, стоящие вне трех диагоналей матрицы. Метод, позволяющий выполнить такое преобразование, предложил Хаусхолдер .

Метод Хаусхолдера для симметричных матриц

Метод Хаусхолдера позволяет привести матрицу к трехдиа­гональному виду, выполнив почти вдвое меньше вычислений по сравнению с другими методами. Это обусловлено тем, что при его применении становятся нулевыми сразу все элементы строк и столбцов, стоящие вне трех диагоналей матрицы. Метод Хаусхол­дера позволяет получить требуемый результат быстрее, чем метод Гивенса, так как связан с выполнением меньшего числа, хотя и более сложных преобразований. Это его свойство особенно ярко проявляется применительно к большим матрицам. Хотя в методе Хаусхолдера вместо плоских вращении используются эрмитовы ортогональные преобразования матриц, трехдиагональная форма матрицы, которую получают этим методом, имеет те же собствен­ные значения, что и трехдиагональная матрица, получаемая методом Гивенса. При использовании метода Хаусхолдера на п — 2 основных шагах выполняются следующие преобразования:

Аk = РkAk-1Рk, k=1, 2, ., п-2,

где Aо == А.

Каждая преобразующая матрица имеет вид

uk ukT

Pk = E - -------------- ,

2Kk2

где

ui,k = 0 при i = 1, 2, …, k,

ui,k = ak,i при i = k+2, …, n,

uk+1,k = ak,k+1 ± Sk.

Здесь

n 1/2

Sk = S a2k,i

i=k+1

2K2k = S2k ± ak, k+1 Sk.

В этих уравнениях берется знак, соответствующий элементу ak,k+1. Это позволяет сделать значение иk+1,k максимальным. Отметим, что методами Гивенса и Хаусхолдера можно пользо­ваться и в случае несимметричных матриц, приводя их, правда, не к трехдиагональному, а другому частному виду треугольной матрицы известной как матрица Гессенберга:

*

*

0

0

0

0

*

*

*

0

0

0

*

*

*

*

0

0

*

*

*

*

*

0

*

*

*

*

*

*

*

*

*

*

*

*

5. ОПРЕДЕЛЕНИЕ СОБСТВЕННЫХ ЗНАЧЕНИЙ СИММЕТРИЧНОЙ ТРЕХДИАГОНАЛЬНОЙ МАТРИЦЫ

Приведя симметричную матрицу к трехдиагональному виду методом Гивенса или Хаусхолдера, необходимо найти ее собст­венные значения. Чтобы ясней были достоинства трехдиагональной формы, сформулируем задачу о собственных значениях в виде

dеt(А—lE) = 0,

где А — симметричная трехдиагональная матрица. Раcкрыв выражение в скобках, получим

a1 - l

b2

 

0

 

b1

a2 - l

   

= 0

     

bn

0

 

bn

an - l

 

Произвольный определитель порядка п можно выразить через п миноров порядка п — 1, каждый из которых в свою очередь выражается через п — 1 миноров порядка п — 2. Удобство трех­диагональной формы в том, что на каждом шаге все миноры, кроме двух, оказываются равными нулю. В результате исходный определитель представляется последовательностью полиномов

fm(l) = (am - l) fm-1 (l) – b2 m fm-2(l).

Приняв

f0 (l) = 1 и f1 (l) = a1 - l при r = 2, п,

получим совокупность полиномов, известную как последовательность Штурма и обладающую тем свойством, что корни полинома fj (l) располагаются между корнями полинома fj+1 (l). Поэтому для f1 (l) = a1— l можно утверждать, что значение lК = а1 заключено между корнями полинома f2 (l) == (a2 — l) (a1 — l) —b22. Это облегчает итера­ционное определение корней полинома, так как если известны границы интервалов, в которых лежат значения корней полино­ма, то их можно найти методом половинного деления. Так после­довательно находят корни всех полиномов, и последний из них fn (l) дает все искомые п собственные значения. Эту процедуру можно проиллюстрировать графически (см. рис. 3).

Последовательность Штурма обладает еще и таким свойством: для любого значения b, при котором fn (b) <> 0, число собствен­ных значений матрицы A, больших b, равно числу изменений знака последовательности

1, f1 (b), f2 (b), … , (1)n fn (b).

Если целое число, равное числу изменений знака, обозначить че­рез V(b), то число собственных значений в интервале действи­тельных чисел [b, с] будет равно V(b)—V(c).

Корень многочлена

f1 (l)

f1 (b)

Корни многочлена

f2 (l)

f1 (b)

Корни многочлена

f3 (l)

f1 (b)