Обратная матрица

Обратная матрица существует для любой квадратной невырожденной матрицы. Матрица называется квадратной, если у неё одинаковое количество столбцов и строк. Квадратная матрица является вырожденной (matrix is singular), если ее определитель равен нулю.

Обычно, прежде чем приступать к вычислению обратной матрицы, следует проверить существует ли она вообще. Для этого нужно вычислить определитель данной матрицы, и если он не равен нулю, то обратная матрица для данной матрицы существует.

Однако, в Wolfram|Alpha в такой проверке нет необходимости. Wolfram|Alpha автоматически определяет является ли данная матрица вырожденной, и если она невырожденная, сразу вычисляет обратную матрицу. Если же данная матрица вырожденная, то Wolfram|Alpha выдает сообщение "matrix is singular", и вычисляет так называемую псевдообратную матрицу (о которой отдельный разговор, см. matrix 1‐inverse).

Для вычисления обратной матрицы в Wolfram|Alpha служит запрос inverse

Например, для квадратной матрицы 2х2 общего вида получаем

inverse {{a, b}, {c, d}}



Как видим, Wolfram|Alpha по запросу inverse вычисляет не только обратную матрицу, но также ее определитель (determinant), след (trace), характеристический многочлен (Characteristic polynomial), собственные значения (Eigenvalues) и собственные векторы (Eigenvectors).
Как известно, если умножить данную матрицу на ее обратную матрицу, то получим единичную матрицу. Это следует из определения обратной матрицы и используется для проверки правильно ли вычислена обратная матрица. Выполним такую проверку:

{{a, b}, {c, d}}.(inverse {{a, b}, {c, d}})



Почему в этом примере Wolfram|Alpha не упрощает выражение, выдавая его в общем виде? Наверное потому, что нетрудно убедиться (устно), что выполняя эту проверку, получаем единичную матрицу, как и должно быть. Чтобы получить этот окончательный результат при помощи Wolfram|Alpha, нужно прямо указать Wolfram|Alpha, что нужно упростить выражение (до конца). Для этого используем запрос simplify так, что запрос на проверку будет выглядеть так

simplify {{a, b}, {c, d}}.(inverse {{a, b}, {c, d}})

А вот и окончательный результат проверки:



Аналогично, для квадратной матрицы 3х3 общего вида получаем

inverse {{a, b, c}, {d, e, f}, {g, h, i}}



А вот проверка:

simplify {{a, b, c}, {d, e, f}, {g, h, i}}.(inverse {{a, b, c}, {d, e, f}, {g, h, i}})



Как уже было сказано выше, если данная матрица вырожденная, то при попытке вычислить для нее обратную матрицу Wolfram|Alpha это легко определяет - выдает сообщение "matrix is singular" и затем вычисляет псевдообратную матрицу:

inverse {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}}



Наконец, числовой пример для матрицы 4х4:

inverse {{1, -1, 2, 1}, {-2, 1, -3, 0}, {3, -1, -2, 3}, {1, 2,- 1,- 3}}



И проверка:

simplify {{1, -1, 2, 1}, {-2, 1, -3, 0}, {3, -1, -2, 3}, {1, 2,- 1,- 3}}.( inverse {{1, -1, 2, 1}, {-2, 1, -3, 0}, {3, -1, -2, 3}, {1, 2,- 1,- 3}})