Текст подпрограммы и версий ( Фортран ) adg1r.zip adg1d.zip adg1c.zip |
Тексты тестовых примеров ( Фортран ) tadg1r.zip tadg1d.zip tadg1c.zip |
Текст подпрограммы и версий ( Си ) adg1r_c.zip adg1d_c.zip adg1c_c.zip |
Тексты тестовых примеров ( Си ) tadg1r_c.zip tadg1d_c.zip tadg1c_c.zip |
Текст подпрограммы и версий ( Паскаль ) adg1r_p.zip adg1e_p.zip adg1c_p.zip |
Тексты тестовых примеров ( Паскаль ) tadg1r_p.zip tadg1e_p.zip tadg1c_p.zip |
Вычисление определителя матрицы методом Гаусса с выбором ведущего элемента по столбцу.
Для матрицы А выполняется разложение вида Q*А = L*U, где Q - матрица перестановок, L, U - треугольные матрицы и матрица L имеет единичные диагональные элементы. Определитель матрицы А вычисляется как произведение определителя матрицы Q и диагональных элементов матрицы U и записывается в виде:
det A = D1*2D2, где 0.0625 ≤ D1 < 1.
В.В.Воеводин, Р.В.Петрина, Комплекс алгоритмов, основанных на преобразованиях Гаусса, в пакете линейной алгебры, Сб. "Численный анализ на ФОPТPАНе", вып.3, Изд-во МГУ, 1973.
SUBROUTINE ADG1R (A, D1, D2, IS, N)
Параметры
A - | вещественный двумерный массив размера N на N, в котором задается исходная матрица; |
D1 - | вещественная переменная, в которой запоминается мантисса определителя; |
D2 - | целая переменная, в которой запоминается двоичный порядок определителя; |
IS - | целый вектор длины N, используемый как рабочий; |
N - | заданный порядок исходной матрицы (тип: целый). |
Версии
ADG1D - | вычисление определителя матрицы, заданной с удвоенной точностью, методом Гаусса с выбором ведущего элемента по столбцу. |
ADG1C - | вычисление определителя комплексной матрицы C с выбором ведущего элемента по столбцу. |
Вызываемые подпрограммы
AFG1R - | треугольное разложение матрицы методом Гаусса с выбором ведущего элемента по столбцу. |
AFG1D - | треугольное разложение матрицы, заданной с удвоенной точностью, методом Гаусса с выбором ведущего элемента по столбцу. |
AFG1C - | треугольное разложение комплексной матрицы методом Гаусса с выбором ведущего элемента по столбцу. |
Замечания по использованию
1. |
В подпрограмме АDG1D массив А и переменная D1 имеют тип DОUВLЕ РRЕСISIОN. | |
2. | В подпрограмме АDG1С массив А и переменная D1 имеют тип СОМРLЕХ. |
DIMENSION A(4, 4), IS(4) DATA A /5., 7., 6., 5., 7., 10., 8., 7., 6., 8., 10., 9., 5., 7., 9., 10./ N = 4 CALL ADG1R (A, D1, D2, IS, N) Результат: D1 = 0.0625, D2 = 4, т.е. det A = 0.0625*24 = 1.