Текст подпрограммы и версий ( Фортран ) 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 |
Вычисление определителя симметричной матрицы, заданной в компактной форме, с использованием метода квадратного корня (метода Холецкого).
Симметричная матрица А, записанная в компактной форме, раскладывается в произведение А = 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