Построение обратной матрицы — различия между версиями
Igusev (обсуждение | вклад) м (Igusev переименовал страницу Участник:Igusev в Построение обратной матрицы: Подготовка к публикации) |
м (rollbackEdits.php mass rollback) |
(не показаны 2 промежуточные версии 2 участников) | |
(нет различий)
|
Текущая версия на 19:42, 4 сентября 2022
Описание алгоритма
Пусть
— исходная матрица. Тогда построим дополненную матрицу , где — единицная матрица соответсвующей размерности. Далее, в соответвии с преобразованиями Гаусса мы последовательно проходимся по всем строкам, вычитая из них линейные комбинации предыдущих. В итоге, мы получим матрицу , где — матрица, обратная к матрице .Псевдокод
- — исходная матрица.
- — единичная матрица.
- — обратная матрица.
function buildInverseMatrix(A: int[n][n]) N = E for i = 0 to nonabs - 1 if A[i][i]1 mul = A[i][i] for j = 0 to nonabs - 1 A[i][j] /= mul N[i][j] /= mul for row = 0 to nonabs - 1 if i row mul = E[row][i] for j = 0 to nonabs - 1 A[row][j] -= mul * A[i][j] N[row][j] -= mul * N[i][j] return N