Текст подпрограммы и версий ( Фортран )
ash2r.zip , ash2d.zip
Тексты тестовых примеров ( Фортран )
tash2r.zip , tash2d.zip
Текст подпрограммы и версий ( Си )
ash2r_c.zip , ash2d_c.zip
Тексты тестовых примеров ( Си )
tash2r_c.zip , tash2d_c.zip
Текст подпрограммы и версий ( Паскаль )
ash2r_p.zip , ash2e_p.zip
Тексты тестовых примеров ( Паскаль )
tash2r_p.zip , tash2e_p.zip

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

Назначение

Решение системы линейных алгебраических уравнений с положительно определенной симметричной ленточной матрицей, заданной в компактной форме, методом квадратного корня (методом Холецкого).

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

Подпрограмма АSН2R вычисляет решение системы N линейных алгебраических уравнений А*x = b, где А - положительно определенная симметричная ленточная матрица, заданная в компактной форме, b - одномерный вектор правой части решаемой системы, методом квадратного корня (методом Холецкого).

В.В.Воеводин, Численные методы алгебры (теория и алгорифмы), Наука, М., 1966 .

Использование

    SUBROUTINE  ASH2R (A, B, X, N, NC, L, IERR) 

Параметры

A - вещественный двумерный массив размера N на (NС + 1), в котором содержится заданная матрица, записанная в компактной форме;
B - вектор длины N, в котором задается правая часть исходной системы (тип: вещественный);
X - вектор длины N, в котором содержится решение исходной системы (тип: вещественный);
N - порядок матрицы (тип: целый);
NC - число ненулевых диагоналей заданной матрицы по одну сторону от главной диагонали (тип:целый);
L - целая переменная, которая задает режим работы подпрограммы; при этом:
L = 1 - если система с данной матрицей решается впервые;
L ≠ 1 - если система с данной матрицей решается повторно;
IERR - целая переменная, служащая для сообщения об ошибках, обнаруженных в ходе работы подпрограммы; при этом:
IЕRR=65 - если заданная матрица не является положительно определенной.

Версии

ASH2D - решение системы линейных алгебраических уравнений с положительно определенной симметричной ленточной матрицей, заданной в компактной форме, методом квадратного корня (методом Холецкого) с повышенной точностью.

Вызываемые подпрограммы

UTAS10 - подпрограмма выдачи диагностических сообщений при работе подпрограммы АSН2R;
UTAS11 - подпрограмма выдачи диагностических сообщений при работе подпрограммы АSН2D;
AFH2R - подпрограмма, реализующая треугольное разложение положительно определенной симметричной ленточной матрицы с компактной формой представления методом квадратного корня;
AFH2D - подпрограмма, реализующая треугольное разложение положительно определенной симметричной ленточной матрицы с компактной формой представления методом квадратного корня с повышенной точностью.

Замечания по использованию

 

При работе подпрограммы исходная матрица не сохраняется. На месте матрицы А помещается ее треугольное разложение, полученное программами АFН2R, АFН2D.

Подпрограммы АSН2R и АSН2D позволяют использовать вместо параметра Х параметр В. Таким образом, в результате работы подпрограммы на место столбца правой части может быть помещено вычисленное решение.

Для подпрограммы АSН2D параметры А, В, Х должны иметь тип DОUВLЕ РRЕСISIОN.

Пример использования

      DIMENSION  A(3, 2), B(3), X(3)
      DATA  A /0., 2., 12., 1., 25., 56./,  B /1., 27., 68./
      CALL  ASH2R (A, B, X, 3, 1, 1, IERR)

Результаты: 

      Х = (-0.13178, 0.56589, 1.0930) ,
      IЕRR=0