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)
FORMAT(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)
FORHAT(///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
Результат получаем в виде
Исходная матрица имеет вид