Текст подпрограммы и версий ( Фортран ) afh0r.zip , afh0d.zip , afh0c.zip |
Тексты тестовых примеров ( Фортран ) tafh0r.zip , tafh0d.zip , tafh0c.zip |
Текст подпрограммы и версий ( Си ) afh0r_c.zip , afh0d_c.zip , afh0c_c.zip |
Тексты тестовых примеров ( Си ) tafh0r_c.zip , tafh0d_c.zip , tafh0c_c.zip |
Текст подпрограммы и версий ( Паскаль ) afh0r_p.zip , afh0e_p.zip , afh0c_p.zip |
Тексты тестовых примеров ( Паскаль ) tafh0r_p.zip , tafh0e_p.zip , tafh0c_p.zip |
Треугольное разложение симметричной матрицы модифицированным методом квадратного корня (модифицированным методом Холецкого).
Подпрограмма АFН0R осуществляет разложение симметричной матрицы размера N*N в произведение А = UTDU, где U - верхняя треугольная матрица, на главной диагонали которой стоят единицы, D - диагональная матрица, с помощью модифицированного метода квадратного корня.
Предполагается, что главные миноры матрицы А отличны от нуля.
R.S.Мartin, G.Рeters, J.Н.Wilkinson, Symmetric Decomposition of a Рositive Definite Мatrix, Numer. Матн, 7, 1965.
SUBROUTINE AFH0R (A, S, N)
Параметры
A - | вещественный двумерный массив размера N*N, содержащий исходную симметричную матрицу; в результате работы подпрограммы над главной диагональю матрицы А запоминается верхняя треугольная матрица U без диагональных элементов; нижняя треугольная часть матрицы А, включая главную диагональ, сохраняется; |
S - | вещественный вектор длины N, в котором запоминаются величины, обратные диагональным элементам матрицы D; |
N - | порядок исходной симметричной матрицы А (тип: целый). |
Версии
AFH0D - | треугольное разложение симметричной матрицы, заданной с удвоенной точностью, модифицированным методом квадратного корня. |
AFH0C - | треугольное разложение эрмитовой матрицы А, вида А = U*DU модифицированным методом квадратного корня. |
Вызываемые подпрограммы: нет
Замечания по использованию
1. |
В подпрограмме АFН0D параметры А, S имеют тип DОUВLЕ РRЕСISIОN. | |
2. | В подпрограмме АFН0С параметр А имеет тип СОМРLЕХ. |
DIMENSION A(5, 5), S(5) N = 5. DO 1 I = 1, 5 DO 1 J = I, 5 A (I, J) = I 1 A (J, I) = I CALL AFH0R (A, S, N) Результаты: | 1. 1. 1. 1. 1. | | 1. | | 1. 2. 1. 1. 1. | | 1. | A = | 1. 2. 3. 1 1. | , S = | 1. | , | 1. 2. 3. 4. 1. | | 1. | | 1. 2. 3. 4. 5. | | 1. | это означает, что | 1. 1. 1. 1. 1. | | 1. 0 0 0 0 | | 0. 1. 1. 1. 1. | | 0 1. 0 0 0 | U = | 0. 0. 1. 1. 1. | , D = | 0 0 1. 0 0 | . | 0. 0. 0. 1. 1. | | 0 0 0 1. 0 | | 0. 0. 0. 0. 1. | | 0 0 0 0 1. |