Текст подпрограммы и версий ( Фортран )
afj0c.zip , afj0p.zip
Тексты тестовых примеров ( Фортран )
tafj0c.zip , tafj0p.zip
Текст подпрограммы и версий ( Си )
afj0c_c.zip , afj0p_c.zip
Тексты тестовых примеров ( Си )
tafj0c_c.zip , tafj0p_c.zip
Текст подпрограммы и версий ( Паскаль )
afj0c_p.zip , afj0z_p.zip
Тексты тестовых примеров ( Паскаль )
tafj0c_p.zip , tafj0z_p.zip

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

Назначение

Приведение комплексной матрицы Якоби к симметрической трехдиагональной матрице преобразованием подобия.

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

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

Подпрограмма АFJ0С приводит матрицу Т к вещественной симметрической матрице Н преобразованием подобия Н = D - 1ТD , где D - комплексная диагональная матрица. При этом используются лишь внедиагональные элементы матрицы Т, т.к. диагональные элементы матриц Т и Н совпадают.

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

    SUBROUTINE  AFJ0C (BR, BI, CR, CI, N, IERR) 

Параметры

BR, BI - вещественные векторы длины N, в последних N - 1 компонентах которых содержатся соответственно вещественные и мнимые части наддиагональных элементов исходной матрицы Якоби; на выходе подпрограммы в последних N - 1 компонентах вектора ВR запоминаются вычисленные наддиагональные элементы трехдиагональной матрицы Н;
CR, CI - вещественные векторы длины N, в последних N - 1 компонентах которых содержатся соответственно вещественные и мнимые части поддиагональных элементов; на выходе подпрограммы в векторах СR и СI запоминаются соответственно вещественные и мнимые части вычисленных диагональных элементов диагональной матрицы D;
N - заданный порядок исходной матрицы Якоби (тип: целый);
IERR - целая переменная, служащая для сообщения об ошибках, обнаруженных в ходе работы подпрограммы; при этом:
IЕRR=66 - если не все попарные произведения соответствующих элементов побочных диагоналей исходной матрицы неотрицательны;
IЕRR=67 - если имеется равное нулю произведение соответствующих элементов побочных диагоналей, причем сомножители равны нулю неодновременно;
IЕRR=68 - если матрица Н получена, но матрица преобразования D не вычислена, т.к. она или обратная к ней матрица алгоритмически вырождена.

Версии

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

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

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

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

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

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

      DIMENSION  BR(4), BI(4), CR(4), CI(4)
      DATA  BR /2*0., 1., -4./
      DATA  CI /0., 1., 8., 0./
      DATA  BI /0., -1., -1., 0./
      DATA  CR /0., 0., 8., -4./
      N = 4
      CALL  AFJ0C (BR, BI, CR, CI, N, IERR)

Результаты:

      BR  =   (0., 1., 4., 4.), 
      CR  =   (1., 0., -2., 2.), 
      CI  =   (0., 1., 2., -2.), 

      IERR  =  0