Текст подпрограммы и версий ( Фортран ) 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 |
Решение системы линейных алгебраических уравнений с положительно определенной симметричной матрицей, записанной в компактной форме, методом квадратного корня (методом Холецкого).
Подпрограмма А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