Текст подпрограммы и версий ( Фортран )
aeg2r.zip , aeg2d.zip
Тексты тестовых примеров ( Фортран )
taeg2r.zip , taeg2d.zip
Текст подпрограммы и версий ( Си )
aeg2r_c.zip , aeg2d_c.zip
Тексты тестовых примеров ( Си )
taeg2r_c.zip , taeg2d_c.zip
Текст подпрограммы и версий ( Паскаль )
aeg2r_p.zip , aeg2e_p.zip
Тексты тестовых примеров ( Паскаль )
taeg2r_p.zip , taeg2e_p.zip

Подпрограмма:  AEG2R

Назначение

Вычисление всех собственных значений вещественной матрицы QR - алгоpитмом со сдвигом.

Математическое описание

Заданная матрица устойчивыми элементарными преобразованиями приводится к верхней форме Хессенберга, используемой для вычисления собственных значений исходной матрицы.

Дж.Х.Уилкинсон, Алгебраическая проблема собственных значений, "Наука", М., 1970.

Использование

    SUBROUTINE  AEG2R ( N, A, EVR, EVI, IERR) 

Параметры

N - порядок исходной матрицы (тип: целый);
A - вещественный двумерный массив размерности N на N, содержащий исходную матрицу;
            EVR -
            EVI  
вещественные одномерные массивы размерности N, содержащие соответственно действительную и мнимую части вычисленных собственных значений;
IERR - целая переменная, служащая для сообщения об ошибках, обнаруженных в ходе работы подпрограммы. Значение IЕRR полагается равным номеру собственного значения, для вычисления которого потребовалось более 30 итераций, при этом собственные значения с индексами IЕRR + 1, IЕRR + 2, ..., N вычислены правильно.

Версии

AEG2D - вычисление всех собственных значений вещественной матрицы с повышенной точностью. Массивы А, ЕVR, ЕVI имеют тип DОUВLЕ РRЕСISIОN.

Вызываемые подпрограммы

UTAE10 - подпрограмма выдачи диагностических сообщений при работе подпрограмм АЕG2R и АЕG2D.

Замечания по использованию

  Подпрограмма АЕG2R исходную матрицу не сохраняет.

Пример использования

      DIMENSION  A(3, 3), EVR(3), EVI(3)
      DATA  A /4., 2., 0., 1., 4., 3*1., 4./
      N = 3
      CALL  AEG2R (N, A, EVR, EVI, IERR)

Результаты:

      EVR(1)  =  3.0 , 
      EVR(2)  =  6.0 ,
      EVR(3)  =  3.0 ,
      EVI  =  (0., 0., 0.) ,

      IERR  =  0