Текст подпрограммы и версий ( Фортран ) asg5a.zip , asg5d.zip , asg5e.zip |
Тексты тестовых примеров ( Фортран ) tasg5a.zip , tasg5d.zip , tasg5e.zip |
Текст подпрограммы и версий ( Си ) asg5a_c.zip , asg5d_c.zip , asg5e_c.zip |
Тексты тестовых примеров ( Си ) tasg5a_c.zip , tasg5d_c.zip , tasg5e_c.zip |
Текст подпрограммы и версий ( Паскаль ) asg5a_p.zip , asg5e_p.zip , asg5z_p.zip |
Тексты тестовых примеров ( Паскаль ) tasg5a_p.zip , tasg5e_p.zip , tasg5z_p.zip |
Решение системы линейных алгебраических уравнений на основе преобразований вращения.
Матрица А размера N на N исходной системы А*x = b с помощью преобразований вращения R1 2, R1 3, ..., RN - 1 N представляется в виде
A = L*RN-1 N ... R1 2 ,
где L - нижняя треугольная матрица размера N на N. Заменой переменных y = RN - 1 N ... R1 2*x исходная система сводится к системе L*y = b, которая решается способом обратной подстановки. При повторном решении системы с той же матрицей А и другой правой частью предоставляется возможность не выполнять заново факторизацию матрицы А.
В.В. Воеводин, Вычислительные основы линейной алгебры, М., 1977.
SUBROUTINE ASG5A (A, B, X, N, L)
Параметры
A - | вещественный двумерный массив размера N на N, в котором задается исходная матрица; по окончании работы подпрограммы в нижней треугольной части А запоминаются на соответствующих местах элементы матрицы L, а в верхней треугольной части матрицы А в компактном виде запоминается информация о матрицах вращения R1 2, ..., RN - 1 N ; |
B - | вещественный вектор длины N, в котором задается правая часть; |
X - | вещественный вектор длины N, в котором запоминается вычисленное решение системы; |
N - | заданый порядок матрицы А (тип: целый); |
L - | задает режим работы подпрограммы (тип: целый); при этом: |
L = 1 - | если система с данной матрицей решается впервые, |
L ≠ 1 - | если система с данной матрицей, но другой правой частью, решается повторно. |
Версии
ASG5D - | решение системы линейных алгебраических уравнений, заданной с удвоенной точностью, на основе преобразований вращения. |
ASG5E - | решение комплексной системы линейных алгебраических уравнений на основе преобразований вращения. |
Вызываемые подпрограммы: нет
Замечания по использованию
1. |
Подпрограммы АSG5А, АSG5D, АSG5Е позволяют помещать вычисленное решение Х на место правой части В. | |
2. |
В подпрограмме АSG5D параметры А, В, Х имеют тип DОUВLЕ РRЕСISIОN. | |
3. | В подпрограмме АSG5Е параметры А, В, Х имеют тип СОМРLЕХ. |
DIMENSION A(5, 5), B(5), X(5) DO 2 I = 1, 5 DO 2 J = 1, 5 2 A(I, J) = 0. DO 3 I = 1, 5 DO 3 J = 1, 5 3 A(I, J) = 1. DO 4 I = 1, 5 4 B(I) = 6. - I CALL ASG5A (A, B, X, 5, 1) Результат: X = (1., 1., 1., 1., 1.)