Текст подпрограммы и версий ( Фортран )
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

Подпрограмма:  AS08R

Назначение

Нахождение частного решения неоднородной системы линейных алгебраических уравнений и фундаментальной системы решений соответствующей однородной системы методом Жордана с выбором главного элемента по строке.

Математическое описание

Ищется частное решение неоднородной системы линейных алгебраических уравнений

(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