Текст подпрограммы и версий ( Фортран )
aeh1c.zip , aeh1p.zip
Тексты тестовых примеров ( Фортран )
taeh1c.zip , taeh1p.zip
Текст подпрограммы и версий ( Си )
aeh1c_c.zip , aeh1p_c.zip
Тексты тестовых примеров ( Си )
taeh1c_c.zip , taeh1p_c.zip
Текст подпрограммы и версий ( Паскаль )
aeh1c_p.zip , aeh1z_p.zip
Тексты тестовых примеров ( Паскаль )
taeh1c_p.zip , taeh1z_p.zip

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

Назначение

Вычисление всех собственных значений и соответствующих собственных векторов комплексной эрмитовой матрицы QL - алгоpитмом со сдвигом.

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

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

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

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

    SUBROUTINE  AEH1C (N, AR, AI, EV, VR, VI, RAB, IERR) 

Параметры

N - порядок исходной матрицы (тип: целый);
AR, AI - вещественные двумерные массивы размерности N на N, содержащие соответственно действительную и мнимую части исходной матрицы;
EV - вещественный одномерный массив размерности  N, содержащий вычисленные собственные значения, расположенные в возрастающем порядке;
VR, VI - вещественные двумерные массивы размерности N на N, содержащие соответственно действительную и мнимую части вычисленных ортонормированных собственных векторов;
RAB - вещественный одномерный массив размерности 3 на N, используемый как рабочий;
IERR - целая переменная, служащая для сообщения об ошибках, обнаруженных в ходе работы подпрограммы; значение IЕRR полагается равным номеру собственного значения, для вычисления которого потребовалось более 30 итераций, при этом будут правильно вычислены, но неупорядочены, собственные значения с индексами 1, 2, ..., IЕRR - 1 и соответствующие собственные векторы.

Версии

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

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

UTAE10 - подпрограмма выдачи диагностических сообщений при работе подпрограмм AEH1C и AEH1P.

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

  Подпрограммы AEH1C(P) исходную матрицу не сохраняют.
  Подпрограмма АЕH1P использует служебную подпрограмму AA01P.

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

       DIMENSION  AR(4, 4), AI(4, 4), EV(4), VR(4, 4), VI(4, 4), RAB(12)
       DATA  AR /1., 0.42, 0.54, 0.66, 0.42, 1., 0.32, 0.44, 0.54, 0.32, 
      *                  1., 0.22, 0.66, 0.44, 0.22, 1./
       DATA  AI /16*0./
       N = 4
       CALL  AEH1C (N, AR, AI, EV, VR, VI, RAB, IERR)

Результаты:

       EV(1)  =  0.2422607 , 
       EV(2)  =  0.6382838 , 
       EV(3)  =  0.7967067 , 
       EV(4)  =  2.3227488 , 

       VR1  =  (  0.71884595,    0.09569898,  - 0.38743546,  - 0.5692064) , 
       VR2  =  (  0.38044988,  - 0.85027547,  - 0.03588961,    0.36194121) , 
       VR3  =  (- 0.05032845,    0.23722646,  - 0.81284617,    0.5295958) , 
       VR4  =  (  0.5796425,      0.45999666,     0.4334591,      0.5143256) ;

       VI1  =  (0., 0., 0., 0.) , 
       VI2  =  (0., 0., 0., 0.) , 
       VI3  =  (0., 0., 0., 0.) , 
       VI4  =  (0., 0., 0., 0.) ;

       IERR = 0