Пример 3. Пусть требуется найти все собственные значения произвольной матрицы размерности 6 x 6
Пусть требуется найти все собственные значения произвольной матрицы размерности 6 x 6
Сделаем это в два приема, приведя сначала матрицу с помощью преобразования подобия к виду Гсссенберга, затем с помощью разновидности метода 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 Результат получаем в виде
Исходная матрица имеет вид
Матрица в форме Гессенберга.
Собственные значения ----------------------------------- Действит. Миним. -----------------------------------
|