Текст подпрограммы и версий ( Фортран )
adh3r.zip   adh3d.zip   adh3c.zip   ads3c.zip
Тексты тестовых примеров ( Фортран )
tadh3r.zip   tadh3d.zip   tadh3c.zip   tads3c.zip
Текст подпрограммы и версий ( Си )
adh3r_c.zip   adh3d_c.zip   adh3c_c.zip   ads3c_c.zip
Тексты тестовых примеров ( Си )
tadh3r_c.zip   tadh3d_c.zip   tadh3c_c.zip   tads3c_c.zip
Текст подпрограммы и версий ( Паскаль )
adh3r_p.zip   adh3e_p.zip   adh3c_p.zip   ads3c_p.zip
Тексты тестовых примеров ( Паскаль )
tadh3r_p.zip   tadh3e_p.zip   tadh3c_p.zip   tads3c_p.zip

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

Назначение

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

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

Симметричная матрица  А, записанная в компактной форме, раскладывается в произведение А = L D LT, где  L - треугольная матрица c единичными диагональными элементами, LT - транспонированная к ней, а  D - блочнодиагональная матрица с блоками порядка 1 или 2. Определитель матрицы  А вычисляется как определитель матрицы  D и записывается в виде:

     det A  =  D1*2D2 ,    где  0.0625 ≤ D1 < 1 . 

Bunch J.R., Parlett B.N. Direct methods for solving symmetric indefinite systems of linear equations, SIAM J. Numer. Anal., v.8, No.4, 1971.

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

    SUBROUTINE  ADH3R (A, D1, D2, IR, R, N) 

Параметры

A - вещественный вектор длины N * (N + 1)/2, содержащий исходную матрицу, записанную в компактной форме;
D1 - вещественная переменная, в которой запоминается мантисса определителя;
D2 - целая переменная, в которой запоминается двоичный порядок определителя;
IR - целый вектор длины 2N, в последних  N компонентах которого запоминаются порядки блоков матрицы  D;
R - вещественный вектор длины  N, используемый как рабочий;
N - заданный порядок исходной матрицы (тип: целый).

Версии

ADH3D - вычисление определителя симметричной матрицы, заданной с удвоенной точностью в компактной форме, с использованием метода квадратного корня.
ADH3C - вычисление определителя эрмитовой матрицы, заданной в компактной форме, с использованием метода квадратного корня.
ADS3C - вычисление определителя симметричной комплексной матрицы, заданной в компактной форме, с использованием метода квадратного корня.

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

AFH3R - треугольное разложение вещественной симметричной матрицы, заданной в компактной форме, с использованием метода квадратного корня (метода Холецкого).
AFH3D - треугольное разложение вещественной симметричной матрицы, заданной с удвоенной точностью в компактной форме, с использованием метода квадратного корня (метода Холецкого).
AFH3C - треугольное разложение неособенной эрмитовой матрицы с компактной формой представления методом квадратного корня.
AFS3C - треугольное разложение неособенной симметричной комплексной матрицы с компактной формой представления методом квадратного корня.

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

  1. 

В подпрограмме АDН3D массивы  А, R и переменная D1 имеют тип DОUВLЕ РRЕСISIОN.

  2.  В подпрограммах АDН3С и АDS3C массив  А и переменная  D1 имеют тип СОМРLЕХ.

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

      DIMENSION  A(6), IR(6), R(3)
      DATA  A /1., 0.5, - 1., 3., 2., 1./ 
      N = 3
      CALL  ADH3R (A, D1, D2, IR, R, N)

Результат:

       D1 = 0.609375 ,     D2 = 4 ,

  т.е.    det A  =  0.609375*24  =  9.75