Текст подпрограммы и версий ( Фортран ) as08r.zip , as08d.zip |
Тексты тестовых примеров ( Фортран ) tas08r.zip , tas08d.zip |
Текст подпрограммы и версий ( Си ) as08r_c.zip , as08d_c.zip |
Тексты тестовых примеров ( Си ) tas08r_c.zip , tas08d_c.zip |
Текст подпрограммы и версий ( Паскаль ) as08r_p.zip , as08e_p.zip |
Тексты тестовых примеров ( Паскаль ) tas08r_p.zip , tas08e_p.zip |
Нахождение частного решения неоднородной системы линейных алгебраических уравнений и фундаментальной системы решений соответствующей однородной системы методом Жордана с выбором главного элемента по строке.
Ищется частное решение неоднородной системы линейных алгебраических уравнений
(1) B * U= b ,
и фундаментальная система решений соответствующей однородной системы
(2) B * U = 0 ,
где В - прямоугольная матрица порядка (М - К) на М (ранг равен М - К), U,b - векторы длины М и (М - К), соответственно, 0 - нулевой вектор длины (М - К), - методом Жордана с выбором главного элемента по строке.
В.В.Воеводин, Численные методы алгебры. Теория и алгорифмы. Наука, М., 1966.
SUBROUTINE AS08R ( M, K, M1, B, U, IRAB)
Параметры
M - | число неизвестных в системе уравнений (тип: целый); |
K - | ранг фундаментальной системы решений (2) (тип: целый); если К = 0, то ищется только частное решение неоднородной системы (1), причем это решение единственное; |
M1 - | число уравнений в системе (1) М1 = М - К (тип: целый); |
B - | вещественный двумерный массив размера М1 на (М + 1), в котором задается расширенная матрица системы (1), расписанная по столбцам; при этом вектор b размещается в следующих элементах массива В: В (1, М + 1), В (2, М + 1), В (3, М + 1),... |
U - | двумерный вещественный массив размера М на (К + 1), в первых К столбцах которого запоминается вычисленная фундаментальная система решений однородной системы (2), а в (К + 1) - м столбце - часное решение неоднородной системы (1); если К = 0, то массив U содержит только решение неоднородной системы; |
IRAB - | вектор длины М, используемый в подпрограмме как рабочий (тип: целый). |
Версии
AS08D - | нахождение частного решения неоднородной системы линейных алгебраических уравнений, заданных с удвоенной точностью, и фундаментальной системы решений соответствующей однородной системы методом Жордана с выбором главного элемента по строке. При этом параметры В и U должны иметь тип DОUВLЕ РRЕСISIОN. |
Вызываемые подпрограммы: нет
Замечания по использованию
При работе подпрограммы значения параметров М, К и М1 сохраняются. |
Использование подпрограммы иллюстрируется на примере:
X1 + 3*X2 + 5*X3 + 7*X4 = -9 2*X1 + 4*X2 + 6*X3 + 8*X4 = 10. REAL B(2, 5), YR(4, 3) INTEGER RAB(4) DATA B /1., 2., 3., 4., 5., 6., 7., 8., -9., 10./ M = 4 K = 2 M1 = 2 CALL AS08R (M, K, M1, B, YR, JRAB) Результаты: YR(1, 1) = -0.3333333333 YR(2, 1) = 0. YR(3, 1) = 1. YR(4, 1) = -0.6666666667 YR(1, 2) = -0.6666666667 YR(2, 2) = 1. YR(3, 2) = 0. YR(4, 2) = -0.3333333333 YR(1, 3) = 23.66666667 YR(2, 3) = 0. YR(3, 3) = 0. YR(4, 3) = -4.66666667