Алгебраическая проблема собственных значений
Рефераты >> Математика >> Алгебраическая проблема собственных значений

Метод LR

Этот метод первоначально был разработан Рутисхаузером в 1958 г. Метод основан на представлении матрицы A в виде про­изведения

А = LR,

где L — левая треугольная матрица с единичными диагональ­ными элементами, а R — правая треугольная. Применяя преоб­разование подобия L-1 A R, видим, что,

A2 = L-1 A R = L-1 (RL)L = R L.

Следовательно,

Am-1 = L m-1 Rm-1,

Am = R m-1 Lm-1.

Этот процесс повторяется до тех пор, пока Ls не превратится в единичную матрицу Е, а Rs не приобретет квазидиагональную форму. Хотя этот метод очень удобен, он не всегда устойчив. Поэтому предпочтение часто отдают другому методу.

Метод QR

Метод QR. предложен Фрэнсисом в 1961 г. Соответствующий ему алгоритм определяется соотношением

Am = Q m Rm.

где Q m — ортогональная матрица, а Rm — верхняя треугольная матрица. При использовании метода последовательно получаем

Am+1 = Q mT Am Q m = Q mT Q m Rm Q m = Rm Q m.

В пределе последовательность матриц А стремится к квазидиа­гональной форме. Этот метод сложнее предыдущего и требует больших затрат машинного времени. Однако его устойчивость,обусловленная использованием ортогональных преобразующих матриц, обеспечила ему прочную репутацию лучшего метода решения задач самой общей формы.

Пример 3

Пусть требуется найти все собственные значения произвольной матрицы размерности 6 x 6

2,3

4,3

5,6

3,2

1,4

2,2

1,4

2,4

5,7

8,4

3,4

5,2

2,5

6,5

4,2

7,1

4,7

9,3

3,8

5,7

2,9

1,6

2,5

7,9

2,4

5,4

3,7

6,2

3,9

1,8

1,8

1,7

3,9

4,6

5,7

5,9

Сделаем это в два приема, приведя сначала матрицу с помощью преобразова­ния подобия к виду Гсссенберга, затем с помощью разновидности метода QR найдем собственные значения. В приведенной ниже программе использованы две подпрограммы из пакета программ для научных исследований фирмы IВМ. Подпрограмма НSВС преобразует матрицу размерности 6 x 6 к форме Гессенберга, а подпрограмма АТЕIG позволяет найти собственные значения.

{**********************************************************************}

Программа определение всех собственных значений произвольной матрицы размерности 6х5. Используются подпрограммы НSВС и АТЕIG из пакета программ для научных исследований фирмы IBM

{**********************************************************************}

DIMENSION A(6,6),RR(6),RI(6),IANA(6)

READ(5,100)((A(I,J),J=1,6),I=1,6)

WRITE(6,104)

104 FORMAT(///lX,’THE ORIGINAL MATRIX IS AS FOLLOWS’)

WRITE(6,103)

103 FORMAT(1X,65(-'--'))

WRITE(6,101)((A(I,J),J=1,6),I=1,6)

WRITE(6,103)

101FORMAT(6(1X,F10.5))

100 FORMAT(6F10.5)

CALL HSBG(6,A,6)

WRITE(6,105)

105 FORMAT(///1X,'THE MATRIX W HESSENBUR5 FORM IS') WRITE(6,103)

WRITE(6,101)((A(I,J),J=1,6),I=1,6)

WRITE(6,103)

CALL ATEIG(6,A,RR,RI,IANA,6)

WRITE(6,106)

106FORHAT(///1X,'THE EIGENVALUES ARE AS FOLLOUS')

WRITE(6,107)

107 FORMAT (1X, 23(‘-‘),/,4X,’REAL',12X,’IMAG’,/,23(‘-‘))

WRITE(6,102)(RR(I),PKI),I=1,6)

WRITE(6,108)

108 FORMAT(1X,23(‘-‘))

FORMAT<2(2X,F10.5)»

STOP

END

Результат получаем в виде

Исходная матрица имеет вид

2.30000

4.30000

5.60000

3.20000

1,40000

2.20000

1.40000

2.40000

5.70000

8.40000

3.40000

5.20000

2.50000

6.50000

4.20000

7.10000

4.70000

9.30000

3.80000

5.70000

2.90000

1.60000

2.50000

7.90000

2.40000

5.40000

3.70000

6.20000

3.90000

1.80000

1.80000

1.70000

3.90000

4.60000

5.70000

5.90000

Матрица в форме Гессенберга.

-1.13162

3.20402 -0,

-0.05631

3.88246

1.40000

2.20000

-0.75823

0.07468 0,

0.48742

6.97388

5.37А35

10.36283

0.

1.13783 -2,

-2.63803

10.18618

7.15297

17.06242

0.

0.

3.35891

7. 50550

7.09754

13.92154

0.

0.

0.

13.36279

10.58947

16.78421

0.

0.

0.

0.

5.70000

5.90000


Страница: