Текст подпрограммы и версий ( Фортран ) afh4r.zip , afh4d.zip |
Тексты тестовых примеров ( Фортран ) tafh4r.zip , tafh4d.zip |
Текст подпрограммы и версий ( Си ) afh4r_c.zip , afh4d_c.zip |
Тексты тестовых примеров ( Си ) tafh4r_c.zip , tafh4d_c.zip |
Текст подпрограммы и версий ( Паскаль ) afh4r_p.zip , afh4e_p.zip |
Тексты тестовых примеров ( Паскаль ) tafh4r_p.zip , tafh4e_p.zip |
Приведение вещественной симметрической матрицы к симметрической трехдиагональной матрице ортогональными преобразованиями подобия.
Подпрограмма АFН4R реализует алгоритм приведения симметрической матрицы А ортогональными подобными преобразованиями к симметрической трехдиагональной форме F = QTАQ, где Q - пpоизведение оpтогональных симметpических матpиц отpажения.
Уилкинсон, Райнш. Справочник алгоритмов на языке АЛГОЛ. Линейная алгебра, М., "Машиностроение", 1976.
SUBROUTINE AFH4R (N, A, D, E)
Параметры
N - | порядок исходной матрицы (тип: целый); |
A - | вещественный двумерный массив размера N*N, содержащий симметрическую матрицу; в результате работы подпрограммы в поддиагональной части массива А в последовательных строках запоминаются векторы, порождающие матрицы отражения Q1, ..., QN - 2; |
D - | вещественный вектор длины N, содержащий диагональные элементы трехдиагональной матрицы; |
E - | вещественный вектор длины N, содержащий в последних N - 1 компонентах поддиагональные элементы симметрической трехдиагональной матрицы. Первый элемент Е произволен. |
Версии
AFH4D - | приведение симметрической матрицы, заданной с удвоенной точностью, к симметрической трехдиагональной матрице ортогональными преобразованиями подобия. |
Вызываемые подпрограммы: нет
Замечания по использованию
Исходную матрицу А можно задавать лишь нижним треугольником. Подпрограмма АFН4R сохраняет только полный верхний треугольник массива А, в остальных компонентах этого массива размещается информация об ортогональных преобразованиях. |
DIMENSION A(4, 4), D(4), E(4) DATA A /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./ N = 4 CALL AFH4R (N, A, D, E) Результаты: | 1.00 0.42 0.54 0.66 | A = | 0.18 1.00 0.32 0.44 | | 0.42 0.58 1.00 0.22 | | 0.66 0.44 1.04 1.00 | | 0.6670 | D = | 0.6501 | | 1.6829 | | 1.0000 | | 0.0000 | E = | -0.0879 | | -0.4614 | | -0.8232 |