Текст подпрограммы и версий ( Фортран ) adg0r.zip adg0d.zip adg0c.zip |
Тексты тестовых примеров ( Фортран ) tadg0r.zip tadg0d.zip tadg0c.zip |
Текст подпрограммы и версий ( Си ) adg0r_c.zip adg0d_c.zip adg0c_c.zip |
Тексты тестовых примеров ( Си ) tadg0r_c.zip tadg0d_c.zip tadg0c_c.zip |
Текст подпрограммы и версий ( Паскаль ) adg0r_p.zip adg0e_p.zip adg0c_p.zip |
Тексты тестовых примеров ( Паскаль ) tadg0r_p.zip tadg0e_p.zip tadg0c_p.zip |
Вычисление определителя матрицы методом Гаусса без выбора ведущего элемента.
Для матрица А вычисляется разложение вида А = L*U, где L, U - треугольные матрицы, матрица L имеет единичные диагональные элементы. Определитель матрицы А вычисляется как произведение диагональных элементов матрицы U и записывается в виде:
det A = D1*2D2 , где 0.0625 ≤ D1 < 1.
В.В.Воеводин, Р.В.Петрина, Комплекс алгоритмов, основанных на преобразованиях Гаусса, в пакете линейной алгебры, Сб. "Численный анализ на ФОPТPАНе", вып.3, Изд-во МГУ, 1973.
SUBROUTINE ADG0R (A, D1, D2, N)
Параметры
A - | вещественный двумерный массив размера N на N, в котором задается исходная матрица; |
D1 - | вещественная переменная, в которой запоминается мантисса определителя; |
D2 - | целая переменная, в которой запоминается двоичный порядок определителя; |
N - | заданный порядок исходной матрицы (тип: целый). |
Версии
ADG0D - | вычисление определителя матрицы, заданной с удвоенной точностью, методом Гаусса без выбора ведущего элемента. |
ADG0C - | вычисление определителя комплексной матрицы, методом Гаусса без выбора ведущего элемента. |
Вызываемые подпрограммы
AFG0R - | треугольное разложение матрицы методом Гаусса без выбора ведущего элемента. |
AFG0D - | треугольное разложение матрицы, заданной с удвоенной точностью, методом Гаусса без выбора ведущего элемента. |
AFG0C - | треугольное разложение комплексной матрицы методом Гаусса без выбора ведущего элемента. |
Замечания по использованию
1. |
В подпрограмме АDG0D массив А и переменная D1 имеют тип DОUВLЕ РRЕСISIОN. | |
2. | В подпрограмме АDG0С массив А и переменная D1 имеют тип СОМРLЕХ. |
DIMENSION A(3, 3) DATA A /-73., 92., -80., 78., 66., 37., 24., 25., 10./ N = 3 CALL ADG0R (A, D1, D2, N) Результат: D1 = 0.0625, D2 = 4, т.е. det A = 0.0625*24 = 1