Алгебраическая проблема собственных значенийРефераты >> Математика >> Алгебраическая проблема собственных значений
Метод 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 |