Текст подпрограммы и версий ( Фортран )
afe1c.zip , afe1p.zip
Тексты тестовых примеров ( Фортран )
tafe1c.zip , tafe1p.zip
Текст подпрограммы и версий ( Си )
afe1c_c.zip , afe1p_c.zip
Тексты тестовых примеров ( Си )
tafe1c_c.zip , tafe1p_c.zip
Текст подпрограммы и версий ( Паскаль )
afe1c_p.zip , afe1z_p.zip
Тексты тестовых примеров ( Паскаль )
tafe1c_p.zip , tafe1z_p.zip

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

Назначение

Одновременное приведение эрмитовой трехдиагональной и диагональной положительно определенной матриц двусторонним диагональным преобразованием соответственно к вещественной симметрической трехдиагональной и единичной матрицам.

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

Пусть Т - заданная эрмитова трехдиагональная матрица, D - диагональная положительно определенная матрица. Подпрограмма АFЕ1С получает вещественную симметрическую трехдиагональную матрицу Н и диагональную матрицу D1, такие, что  Н = D2ТD1 и  D2DD1 = Е , где D2 - диагональная матрица.

Эта подпрограмма может быть использована для сведения обобщенной проблемы собственных значений вида Тx = λDx , где D > 0, к стандартной проблеме Нz = λz с вещественной симметрической трехдиагональной матрицей Н; при этом собственные значения этих задач совпадают, а соответствующие собственные векторы связаны следующим образом:  x = D1z .

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

    SUBROUTINE  AFE1C (A, BR, BI, D, FR, FI, N, IERR) 

Параметры

A - вещественный вектор длины N, содержащий диагональные элементы исходной трехдиагональной матрицы Т; на выходе из подпрограммы на месте вектора А запоминаются вычисленные диагональные элементы матрицы Н;
BR, BI - вещественные векторы длины N, в последних N - 1 компонентах которых содержатся соответственно вещественные и мнимые части наддиагональных элементов исходной трехдиагональной матрицы Т; на выходе из подпрограммы в последних N - 1 компонентах вектора ВR запоминаются вычисленные наддиагональные элементы трехдиагональной матрицы Н;
D - вещественный вектор длины N, содержащий диагональные элементы исходной диагональной матрицы D;
FR, FI - вещественные векторы длины N, содержащие соответственно вещественные и мнимые части диагональных элементов диагональной матрицы перехода D1;
N - заданный порядок исходных матриц Т и D (тип: целый);
IERR - целая переменная, служащая для сообщения об ошибках, обнаруженных в ходе работы подпрограммы; при этом:
IЕRR=65 - если исходная диагональная матрица D не является положительно определенной.

Версии

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

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

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

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

  В подпрограмме АFЕ1Р параметры А, ВR, ВI, D, FR, FI должны иметь тип DОUВLЕ РRЕСISIОN.

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

      DIMENSION  A(4), BR(4), BI(4), D(4), FR(4), FI(4)
      DATA  A /4*4./, BR /0., 0., -4., 2./, BI /0., 2., 0., 2./, 
      DATA  D /1., 4., 4., 2./
      N = 4
      CALL  AFE1C (A, BR, BI, D, FR, FI, N, IERR)

Результаты:

      A   =   (4., 1., 1., 2.) ,     BR  =   (0., 1., 1., 1.) ,

      FR  =   (1., 0., 0., 0.5) ,    FI  =   (0., -0.5, 0.5, 0.5) ,

      IERR  =  0 .