Расчет проектных параметров аппарата для работы с эффективностью 0,85 и температурного поля теплоизолированной наружной стенки в пусковой период, страница 2

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

½4,6  4,7  5,4  4,2  2,8  4,4½

½2,8  2,5  5,7  8,3  6,8  5,2½

½5,0  6,5  4,3  7,4  9,4  9,3½

 ½7,6  5,9  2,7  1,8  5,1  7,7½.

½4,8  5,6  3,7  6,3  7,8  3,6½

½3,6  2,8  3,9  4,5  9,2  5,9½

Задача решается в два приема. Сначала исходная матрица с помощью преобразования подобия приводится к верхней почти треугольной форме (форме Гессенберга), а затем с помощью разновидности QR-алгоритма находятся собственные значения. Для выпол­нения этих действий в приводимой ниже программе используются две подпрограммы из пакета прикладных подпрограмм. Подпрограмма HSBG преобразует исходную матрицу к форме Гессенберга, а затем с помощью подпрограммы ATEIG находятся собственные значения.

Программа решения задачи и задание на ее трансляцию, редактирование и выпол­нение приводятся ниже. (Написана на Фортране-77)

С     * ПРОГРАММА ОПРЕДЕЛЕНИЯ ВСЕХ СОБСТВЕННЫХ ЗНАЧЕНИЙ   *

С     *       ПРОИЗВОЛЬНОЙ МАТРИЦЫ РАЗМЕРНОСТИ 6*6        *

С     * ИСПОЛЬЗУЮТСЯ ПОДПРОГРАММЫ HSBG И ATEIG ИЗ ПАКЕТА  *

С     * ПРИКЛАДНЫХ ПОДПРОГРАММ НА ЯЗЫКЕ ФОРТРАН ОС ЕС ЭВМ *

С     *   А(6,6)-МАССИВ ЭЛЕМЕНТОВ ИСХОДНОЙ МАТРИЦЫ;       *

С     *          ПРИ ВЫХОДЕ ИЗ ПОДПРОГРАММЫ HSBG СОДЕР-   *

С     *     ЖИТ ЭЛЕМЕНТЫ МАТРИЦЫ ГЕССЕНВЕРГА;             *

С     *   RR(6) -МАССИВ,СОДЕРЖАЩИЙ ВЕЩЕСТВЕННЫЕ ЧАСТИ     *

С     *    ВЫЧИСЛЕННЫХ СОБСТВЕННЫХ ЗНАЧЕНИЙ;              *

С     *   RI(6) -МАССИВ,СОДЕРКАЩИЙ МНИМЫЕ ЧАСТИ ВЫЧИС-    *

С     *  ЛЕННЫХ СОБСТВЕННЫХ ЗНАЧЕНИЙ.                     *

С     *****************************************************

     PROGRAM GESS

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

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

10 FORMAT(6F6.1) WRITE(6,11)

11 FORMAT(//1X,'ИСХОДНАЯ МАТРИЦА ИМЕЕТ ВИД') WRITE(6,12)

12 FORMAT(1X,60('-'))

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

  13 FORMAT(6(1X,F9.5))

  WRITE(6,12)

С     ***ПРЕОБРАЗОВАНИЕ МАТРИЦЫ 3 ФОРМУ ГЕССЕНЕЕРГА ***

  CALL HSBG(6,A,6)

  WRITE(6,14)

  14 FORMAT(//1X,'МАТРИЦА В ФОРМЕ ГЕССЕНВЕРГА')

  WRITE(6,l2)

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

  WRITE(6,12)

С     ***ВЫЧИСЛЕНИЕ СОБСТВЕННЫХ ЗНАЧЕНИЙ  ***

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

  WRITE(6,15)

15 FORMAT(//1X,'СОБСТВЕННЫЕ ЗНАЧЕНИЯ')

   WRITE (6,16)

16 FOHMAT(1X,25('-'))

   WRITE(6,17)

17 FORMAT(4Х,'ДЕЙСТВИТ.',5Х,'МНИМ.')

   WRITE(6,16)

   WRITE(6,18)(RR(I),RI(I),I=1,6)

18 FORMAT(2(2X,F10.5))

   WRITE(6,16)

   STOP

   END PROGRAM GESS

ИСХОДНЫЕ ДАННЫЕ

½4,6  4,7  5,4  4,2  2,8  4,4½

½2,8  2,5  5,7  8,3  6,8  5,2½

½5,0  6,5  4,3  7,4  9,4  9,3½

 ½7,6  5,9  2,7  1,8  5,1  7,7½.

½4,8  5,6  3,7  6,3  7,8  3,6½

½3,6  2,8  3,9  4,5  9,2  5,9½

РЕЗУЛЬТАТЫ РЕШЕНИЯ ПОЛУЧАЕМ НА ЛИСТИНГЕ В СЛЕДУЮЩЕМ ВИДЕ;

                 ИСХОДНАЯ МАТРИЦА ИМЕЕТ ВИД

-----------------------------------------------------------

4.60000   4.70000   5.40000   4.20000   2.80000   4.40000

2.80000   2.50000   5.70000   8.30000   6.80000  5.20000

5.00000   6.50000   4.30000   7.40000   9.40000   9.30000

7.60000   5.90000   2.70000   1.80000   5.10000  7.70000

4.80009   5.60000   3.70000   6.30000    7.80000  3.60000

3.60000   2.80000   3.90000   4.50000   9.20000  5.90000

МАТРИЦА В ФОРМЕ ГЕССЕНБЕРГА

-----------------------------------------------------------

 -1.05472  -1.63396   2.72646   3.84783   2.80000   4.40000

  2.01257  -2.36670  -2.17137   2.89468   4.04257   6.03833

0.0   -1.58839  -0.80845   7.92607  13.78295  15.98241

  0.0       0.0       3.49820   7.78531  16.11174  17.49956

  0.0       0.0       0.0       8.53209  17.44455  14.61304

  0.0       0.0        0.0       0.0       9.20000   5.90000

-----------------------------------------------------------

  СОБСТВЕННЫЕ ЗНАЧЕНИЯ

------------------------

 ДЕЙСТВИТ.       МНИМ.

 31.69159       0.0

 -4.96900       0.0

  1.12992       3.27061

  1.12992 -3.27061

 -1.04125       1.68618

 -1.04125      -1.68618

                    ------------------------