Текст подпрограммы и версий ( Фортран )
aeg1c.zip , aeg1p.zip
Тексты тестовых примеров ( Фортран )
taeg1c.zip , taeg1p.zip
Текст подпрограммы и версий ( Си )
aeg1c_c.zip , aeg1p_c.zip
Тексты тестовых примеров ( Си )
taeg1c_c.zip , taeg1p_c.zip
Текст подпрограммы и версий ( Паскаль )
aeg1c_p.zip , aeg1z_p.zip
Тексты тестовых примеров ( Паскаль )
taeg1c_p.zip , taeg1z_p.zip

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

Назначение

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

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

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

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

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

    SUBROUTINE  AEG1C ( N, AR, AI, EVR, EVI, VR, VI, RAB, IERR) 

Параметры

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

Версии

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

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

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

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

  Подпрограммы АЕG1С(P) исходную матрицу не сохраняют.
  Подпрограмма АЕG1C использует служебные подпрограммы AA01R, AA02C, AA03C. Подпрограмма АЕG1P использует служебные подпрограммы AA01P, AA02P, AA03P.

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

      DIMENSION  AR(4, 4), AI(4, 4), EVR(4), EVI(4), VR(4, 4), VI(4, 4), 
     *                        RAB(8)
      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  AEG1C (N, AR, AI, EVR, EVI, VR, VI, RAB, IERR)

Результаты:

      EVR(1)  =  2.3227488 , 
      EVR(2)  =  0.2422607 , 
      EVR(3)  =  0.6382838 , 
      EVR(4)  =  0.7967067 , 
      EVI  =  (0., 0., 0., 0.) , 

      VR1  =  (0.5796425,  0.4599967,  0.4334591,  0.5143256) , 
      VR2  =  (-0.7188460,  -0.0956990,  0.3874355,  0.5692064) , 
      VR3  =  (0.3804499,  -0.8502755,  -0.0358896,  0.3619412) , 
      VR4  =  (-0.0503284,  0.2372265,  -0.8128462,  0.5295958) ;
      VI1  =  (0., 0., 0., 0.) , 
      VI2  =  (0., 0., 0., 0.) , 
      VI3  =  (0., 0., 0., 0.) , 
      VI4  =  (0., 0., 0., 0.) ;

      IERR  =  0