Текст подпрограммы и версий ( Фортран )
ash0r.zip , ash0c.zip , ash0d.zip
Тексты тестовых примеров ( Фортран )
tash0r.zip , tash0c.zip , tash0d.zip
Текст подпрограммы и версий ( Си )
ash0r_c.zip , ash0c_c.zip , ash0d_c.zip
Тексты тестовых примеров ( Си )
tash0r_c.zip , tash0c_c.zip , tash0d_c.zip
Текст подпрограммы и версий ( Паскаль )
ash0r_p.zip , ash0c_p.zip , ash0e_p.zip
Тексты тестовых примеров ( Паскаль )
tash0r_p.zip , tash0c_p.zip , tash0e_p.zip

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

Назначение

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

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

Подпрограмма АSН0R модифицированным методом квадратного корня осуществляет разложение заданной симметричной матрицы А в произведение

     A = UT*D*U , 

где U - верхняя треугольная матрица, на диагонали которой стоят единицы, D - диагональная матрица, и затем решает две треугольные системы

     UT*y = b ,        D*U*x = y . 

При повторном решении системы с той же матрицей и другой правой частью подпрограмма позволяет использовать полученное ранее разложение.

Главные миноры матрицы А должны быть отличными от нуля.

R.S.Мartin, G.Рeters, J.Н.Wilkinson, Symmetric Decomposition of a Рositive Definite Мatrix, Numer. Матн., 7, 1965.

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

    SUBROUTINE  ASH0R (A, B, X, S, N, L) 

Параметры

A - вещественный двумерный массив размера N на N, содержащий исходную матрицу; в результате работы подпрограммы над главной диагональю матрицы А запоминается верхняя треугольная матрица U без диагональных элементов; нижняя треугольная часть матрицы А, включая главную диагональ, сохраняется;
B - вещественный вектор длины N, в котором задается правая часть;
X - вещественный вектор длины N, в котором запоминается вычисленное решение;
S - вещественный вектор длины N, содержащий величины, обратные диагональным элементам диагональной матрицы D;
N - порядок симметричной матрицы А (тип: целый);
L - задает режим работы подпрограммы (тип: целый); при этом:
L = 1 - если система с данной матрицей А решается впервые;
L ≠ 1 - если система с данной матрицей А решается повторно.

Версии

ASH0C - решение системы линейных алгебраических уравнений с эрмитовой матрицей модифицированным методом квадратного корня.
ASH0D - решение системы линейных алгебраических уравнений с симметричной матрицей, заданной с двойной точностью, модифицированным методом квадратного корня.

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

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

  1. 

В подпрограмме АSН0D параметры А, В, S, Х имеют тип DОUВLЕ РRЕСISIОN.

  2.  В подпрограмме АSН0С параметры А, В, Х имеют тип СОМРLЕХ.

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

      DОUВLЕ РRЕСISIОN  A, B, X, S
      DIMENSION  A(7, 7), B(7), X(7), S(7)
      DATA  B /1.D0, 6*0.D0/
      DO 1  I = 1, 7
      DO 1  J = 1, 7
  1 A(I, J) = 360360.D0 / FLOAT(I + J - 1)
      N = 7
      K = 1
      CALL  ASH0D (A, B, X, S, N, K)

Результаты:

      X  =   (1.359751359*10-4,   -3.26340326*10-3,   2.44755244*10-2,
                 -8.1585081*10-2,    1.34615384*10-1,   -1.07692307*10-1,
                 3.33333333*10-2)