Текст подпрограммы и версий ( Фортран )
ash1r.zip , ash1d.zip , ash1c.zip
Тексты тестовых примеров ( Фортран )
tash1r.zip , tash1d.zip , tash1c.zip
Текст подпрограммы и версий ( Си )
ash1r_c.zip , ash1d_c.zip , ash1c_c.zip
Тексты тестовых примеров ( Си )
tash1r_c.zip , tash1d_c.zip , tash1c_c.zip
Текст подпрограммы и версий ( Паскаль )
ash1r_p.zip , ash1e_p.zip , ash1c_p.zip
Тексты тестовых примеров ( Паскаль )
tash1r_p.zip , tash1e_p.zip , tash1c_p.zip

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

Назначение

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

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

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

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

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

    SUBROUTINE  ASH1R ( A, B, X, N, L, IERR) 

Параметры

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

Версии

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

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

UTAS10 - подпрограмма выдачи диагностических сообщений при работе подпрограмм АSН1R и АSН1С;
UTAS11 - подпрограмма выдачи диагностических сообщений при работе подпрограммы АSН1D;
AFH1R - подпрограмма, реализующая треугольное разложение положительно определенной матрицы методом квадратного корня (методом Холецкого) с компактной формой представления;
 AFH1D -  AFH1C   подпрограммы, реализующие треугольное разложение положительно определенной матрицы методом квадратного корня (методом Холецкого) с компактной формой представления с повышенной точностью и эрмитовой матрицы соответственно.

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

 

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

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

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

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

      DIMENSION  A(6), B(3), X(3)
      DATA  A /1., 2., 20., 3., 26., 70./, B /2., 0., -35/
      N = 3
      CALL  ASH1R (A, B, X, N, 1, IERR)

Результаты:

      X  =   (3., 1., -1.)
      IERR  =  0