Текст подпрограммы и версий ( Фортран ) asp4a.zip , asp4d.zip , asp4e.zip |
Тексты тестовых примеров ( Фортран ) tasp4a.zip , tasp4d.zip , tasp4e.zip |
Текст подпрограммы и версий ( Си ) asp4a_c.zip , asp4d_c.zip , asp4e_c.zip |
Тексты тестовых примеров ( Си ) tasp4a_c.zip , tasp4d_c.zip , tasp4e_c.zip |
Текст подпрограммы и версий ( Паскаль ) asp4a_p.zip , asp4e_p.zip , asp4z_p.zip |
Тексты тестовых примеров ( Паскаль ) tasp4a_p.zip , tasp4e_p.zip , tasp4z_p.zip |
Нахождение нормального псевдорешения переопределенной системы линейных алгебраических уравнений полного ранга методом вращений.
Находится нормальное псевдорешение системы Аx = b, где А - матрица полного ранга размера N на М (N≥ М), b - заданный вектор длины N. Для решения используется приведение матрицы системы к верхней треугольной форме с помощью последовательности преобразований вращения
RN M...R2 1A = T ,
где Ri j, i > j, i = 2, 3, ..., N, j = 1, 2, ..., М, - соответствующие матрицы вращения, Т - верхняя треугольная матрица размера N на М. Тем самым исходная задача сводится к решению треугольной системы
Tx = RN M ... R2 1b .
В.В.Воеводин, Вычислительные основы линейной алгебры, М., 1977.
SUBROUTINE ASP4A (A, B, X, N, M, L)
Параметры
A - | вещественный двумерный массив размера N на М (N ≥ М), в котором задается исходная матрица А; в результате работы подпрограммы в массиве А на соответствующих местах запоминаются элементы вычисленной верхней треугольной матрицы Т; в остальной части массива А запоминается информация о матрицах вращения Ri j; |
B - | вещественный вектор длины N, в котором задается правая часть системы; |
X - | вещественный вектор длины N, в первых М компонентах которого запоминается найденное псевдорешение; |
N, M - | число строк и столбцов матрицы А, причем N ≥ М (тип: целый); |
L - | задает режим работы подпрограммы (тип:целый); А именно: |
L = 1 - | если система с данной матрицей решается в первый раз; |
L ≠ 1 - | если система повторно решается с другой правой частью и с той же матрицей (не выполняется заново приведение матрицы к верхней треугольной форме). |
Версии
ASP4D - | нахождение нормального псевдорешения переопределенной системы линейных алгебраических уравнений полного ранга, заданных с удвоенной точностью, методом вращений. |
ASP4E - | нахождение нормального псевдорешения переопределенной комплексной системы линейных алгебраических уравнений полного ранга методом вращений. |
Вызываемые подпрограммы: нет
Замечания по использованию
1. |
В подпрограмме АSР4D параметры А, В, Х имеют тип DОUВLЕ РRЕСISIОN. | |
2. |
В подпрограмме АSР4Е параметры А, В, Х имеют тип СОМРLЕХ. | |
3. | При повторном решении системы с той же матрицей информация, полученная ранее в массиве А, не должна портиться. |
DIMENSION A(6, 5),B(6), X(6) DO 2 I = 1, 6 DO 2 J = 1, 5 2 A(I, J) = 0. DO 3 I = 1, 5 DO 3 J = 1, I 3 A(I, J) = 1. DO 4 I = 1, 6 4 B(I) = I N = 6 M = 5 CALL ASP4A (A, B, X, N, M, 1) Результат: Х = ( 1., 1., 1., 1., 1. )