Текст подпрограммы и версий ( Фортран )
aee2r.zip , aee2d.zip
Тексты тестовых примеров ( Фортран )
taee2r.zip , taee2d.zip
Текст подпрограммы и версий ( Си )
aee2r_c.zip , aee2d_c.zip
Тексты тестовых примеров ( Си )
taee2r_c.zip , taee2d_c.zip
Текст подпрограммы и версий ( Паскаль )
aee2r_p.zip , aee2e_p.zip
Тексты тестовых примеров ( Паскаль )
taee2r_p.zip , taee2e_p.zip

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

Назначение

Вычисление всех собственных значений вещественной симметрической трехдиагональной матрицы при помощи неявного Q*L - алгоритма.

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

Подпрограмма АЕЕ2R определяет собственные значения симметрической трехдиагональной матрицы, располагая их в возрастающем порядке.

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

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

    SUBROUTINE  AEE2R ( N, A, EV, RAB, IERR) 

Параметры

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

Версии

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

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

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

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

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

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

      DIMENSION  A(5, 2), EV(5), RAB(5)
      DATA  A /0., 4*1., 5*0./
      N = 5
      CALL  AEE2R (N, A, EV, RAB, IERR)

Результаты:

      EV(1)  =  -1.7320508 , 
      EV(2)  =  -1.0 , 
      EV(3)  =  6.28*10-12 , 
      EV(4)  =  1.0 , 
      EV(5)  =  1.7320508 ;
      IERR  =  0