Построение обратной матрицы — различия между версиями
Igusev (обсуждение | вклад) (Создание страницы) |
(нет различий)
|
Версия 21:39, 20 марта 2018
Описание алгоритма
Пусть — исходная матрица. Тогда построим дополненную матрицу , где — единицная матрица соответсвующей размерности. Далее, в соответвии с преобразованиями Гаусса мы последовательно проходимся по всем строкам, вычитая из них линейные комбинации предыдущих. В итоге, мы получим матрицу , где — матрица, обратная к матрице .
Псевдокод
- — исходная матрица.
- — единичная матрица.
- — обратная матрица.
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