Текст подпрограммы и версий ( Фортран )
afh4c.zip , afh4p.zip
Тексты тестовых примеров ( Фортран )
tafh4c.zip , tafh4p.zip
Текст подпрограммы и версий ( Си )
afh4c_c.zip , afh4p_c.zip
Тексты тестовых примеров ( Си )
tafh4c_c.zip , tafh4p_c.zip
Текст подпрограммы и версий ( Паскаль )
afh4c_p.zip , afh4z_p.zip
Тексты тестовых примеров ( Паскаль )
tafh4c_p.zip , tafh4z_p.zip

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

Назначение

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

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

Подпрограмма АFН4С реализует алгоритм приведения эрмитовой матрицы А унитарными преобразованиями к симметрической трехдиагональной форме F = V*Q*АQV, где Q - произведение унитарных эрмитовых матриц, а V - унитарная диагональная матрица.

Мartin R.S., Reinsch С. and Wilkinson J.Н., Нousholder's Тridiagonalization of a Symmetric Мatrix, Numeriche Mатнемаtic, 11, 181-195, 1968.

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

    SUBROUTINE  AFH4C (N, AR, AI, D, E, RAB) 

Параметры

N - порядок исходной матрицы (тип: целый);
AR, AI - вещественные двумерные массивы размера N*N, содержащие соответственно действительную и мнимую части исходной комплексной эрмитовой матрицы; в результате работы подпрограммы в строгом нижнем треугольнике массива АI в последовательных строках запоминаются векторы, порождающие матрицу преобразования Q;
D - вещественный вектор длины N, содержащий диагональные элементы вещественной симметрической трехдиагональной матрицы;
E - вещественный вектор длины N, содержащий в последних N - 1 компонентах поддиагональные элементы симметрической трехдиагональной матрицы; первый элемент Е приравнивается к нулю;
RAB - вещественный вектор длины 2*N, содержащий диагональную матрицу преобразования V.

Версии

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

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

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

 

Исходные матрицы АR, АI можно задавать нижними треугольниками.

Подпрограмма АFН4С сохраняет полный верхний треугольник массива АR и строгий верхний треугольник массива АI, в остальных компонентах этих массивов помещается информация об унитарных преобразованиях.

В подпрограмме АFН4Р массивы АR, АI, Е, D и RАВ имееют тип DОUВLЕ РRЕСISIОN.

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

      DIMENSION  AR(4, 4), AI(4, 4), D(4), E(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./, 
    *             AI /16*0./
      N = 4
      CALL  AFH4C (N, AR, AI, D, E, RAB)

Результаты:

                  | 1.0000   0.4200   0.5400   0.6600 |
      AR  =   | 0.1758   1.0000   0.3200   0.4400 |
                  | 0.4454   0.5819   1.0000   0.2200 |
                  | 0.6600   0.4400   1.0432   1.0000 |

                  | 0.0   0.0         0.0             0.0       |
      AI  =    | 0.0   0.1243   0.0             0.0       |
                  | 0.0   0.0         0.5181       0.0       |
                  | 0.0   0.0         0.0             0.9267 |
  
                  | 0.667054 |
      D  =     | 0.650088 |
                  | 1.682857 |
                  | 1.000000 |

                  | 0.000000 |
      E  =     | 0.087921 |
                  | 0.461386 |
                  | 0.823365 |