Обратная матрица существует для любой квадратной невырожденной матрицы. Матрица называется квадратной, если у неё одинаковое количество столбцов и строк. Квадратная матрица является вырожденной (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}}
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEit9d30DOukNMzQapIz1Xhwh4Ke_wu_cnufzYNCRalz1MgpZnmqdTdJIArLczAkfo9w_P5vYy3OqYHppoeaSG89dh3N5u_arW98HuS383XAvKPPM37MnmCbR5BIGEQieDfUsa5EQd695YU/s1600/inverse2x2_00.png)
Как видим, Wolfram|Alpha по запросу inverse вычисляет не только обратную матрицу, но также ее определитель (determinant), след (trace), характеристический многочлен (Characteristic polynomial), собственные значения (Eigenvalues) и собственные векторы (Eigenvectors).
Как известно, если умножить данную матрицу на ее обратную матрицу, то получим единичную матрицу. Это следует из определения обратной матрицы и используется для проверки правильно ли вычислена обратная матрица. Выполним такую проверку:
{{a, b}, {c, d}}.(inverse {{a, b}, {c, d}})
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhasKtCa9misjYTANQuLpMYmM90-CGeWf7_WnielIioMQGm6B1SBTwlb2INrUmzYEeYYzMMSiFBYmzFgPmd8IK_M4JqTR4GtwIae5zaEgOUBHMQZVQU0LDDMRnMAczJX3aO247g9EoO7Zk/s1600/inverse2x2_01.png)
Почему в этом примере Wolfram|Alpha не упрощает выражение, выдавая его в общем виде? Наверное потому, что нетрудно убедиться (устно), что выполняя эту проверку, получаем единичную матрицу, как и должно быть. Чтобы получить этот окончательный результат при помощи Wolfram|Alpha, нужно прямо указать Wolfram|Alpha, что нужно упростить выражение (до конца). Для этого используем запрос simplify так, что запрос на проверку будет выглядеть так
simplify {{a, b}, {c, d}}.(inverse {{a, b}, {c, d}})
А вот и окончательный результат проверки:
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjNUNkmqM2lLeajBDddW6OiZD2LF3aECvALBeqXnroSVovLMg3ujAneK2mwk9TV9F8mRcK4qy4Jnv7oh-nPvFLstzL120sZwv0HZMHuPQ36IsKE6yoRFqR9qZs9g4CaHKa77GNu6hV8TvI/s1600/inverse2x2_02.png)
Аналогично, для квадратной матрицы 3х3 общего вида получаем
inverse {{a, b, c}, {d, e, f}, {g, h, i}}
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjwaXcpDCDgRO5g1sKc9WJ7iBWVmY6Vn4qiqnB0XkV_Q9_NTG2zt2YDiXn8ETBZa8tATfmZTul8bQLv13DeattAj8hZ0Gb_Bdrxx6Se18eSo51VbFT4nopr4EK9hooT7AdM3gLfYnDQ7TM/s1600/inverse3x3_03.png)
А вот проверка:
simplify {{a, b, c}, {d, e, f}, {g, h, i}}.(inverse {{a, b, c}, {d, e, f}, {g, h, i}})
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj1YZouB_nzSoScqMha2qsc5CJ_yyXUTNh3IlcTpIhRrtCS3kKWNzMyStHSxO3jQ_UsZp4EeYaoj6gPmKnjz_21mzojWEwG3Gndgkvl1sHmIB-GcZR-jePtBctAospcZn5PaWATdFz5zR4/s1600/inverse3x3_04.png)
Как уже было сказано выше, если данная матрица вырожденная, то при попытке вычислить для нее обратную матрицу Wolfram|Alpha это легко определяет - выдает сообщение "matrix is singular" и затем вычисляет псевдообратную матрицу:
inverse {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}}
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiM4QfZZYTMDszmEUM9UhAJeBIyUzu47G7rXJr_RcMejGpZv-Kfy4wU2MCbehkytzSAu50dx52hwaV3cTrHsMAp43xRGssUBMkGHR-JJUKN-EOh-lK7NJq_U9Nc-RLanHQdcLcNPhOZ_NQ/s1600/inverse3x3_05_singular.png)
Наконец, числовой пример для матрицы 4х4:
inverse {{1, -1, 2, 1}, {-2, 1, -3, 0}, {3, -1, -2, 3}, {1, 2,- 1,- 3}}
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhFf5nGivvHs_8I_vO_v9hwQKX4P5gdhgtEQEv7dlD2JD7MnOOLZ_35josqEiI4JkZiD_X0O3cfmAtLAjfzmxTbkws_zjlYNDU2-a2W74tKiUyprBKVi35TkYIR8UjyGcVha3quyOdgJvU/s1600/inverse4x4_06.png)
И проверка:
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}})
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhLrn-t2nYyoWvBMOq8Mg0d9sJzmKnw8kdSHoR6l6iy_Em5f3q3MNSrM6nD_7dDt_JjVTIBXfgzH8VzQf3nfG3jMA-wc184vL-48LVgOA82doeXynicshN8VQ1nFecAQD1gwfkUu9VGo8I/s1600/inverse4x4_07.png)
Обычно, прежде чем приступать к вычислению обратной матрицы, следует проверить существует ли она вообще. Для этого нужно вычислить определитель данной матрицы, и если он не равен нулю, то обратная матрица для данной матрицы существует.
Однако, в Wolfram|Alpha в такой проверке нет необходимости. Wolfram|Alpha автоматически определяет является ли данная матрица вырожденной, и если она невырожденная, сразу вычисляет обратную матрицу. Если же данная матрица вырожденная, то Wolfram|Alpha выдает сообщение "matrix is singular", и вычисляет так называемую псевдообратную матрицу (о которой отдельный разговор, см. matrix 1‐inverse).
Для вычисления обратной матрицы в Wolfram|Alpha служит запрос inverse
Например, для квадратной матрицы 2х2 общего вида получаем
inverse {{a, b}, {c, d}}
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEit9d30DOukNMzQapIz1Xhwh4Ke_wu_cnufzYNCRalz1MgpZnmqdTdJIArLczAkfo9w_P5vYy3OqYHppoeaSG89dh3N5u_arW98HuS383XAvKPPM37MnmCbR5BIGEQieDfUsa5EQd695YU/s1600/inverse2x2_00.png)
Как видим, Wolfram|Alpha по запросу inverse вычисляет не только обратную матрицу, но также ее определитель (determinant), след (trace), характеристический многочлен (Characteristic polynomial), собственные значения (Eigenvalues) и собственные векторы (Eigenvectors).
Как известно, если умножить данную матрицу на ее обратную матрицу, то получим единичную матрицу. Это следует из определения обратной матрицы и используется для проверки правильно ли вычислена обратная матрица. Выполним такую проверку:
{{a, b}, {c, d}}.(inverse {{a, b}, {c, d}})
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhasKtCa9misjYTANQuLpMYmM90-CGeWf7_WnielIioMQGm6B1SBTwlb2INrUmzYEeYYzMMSiFBYmzFgPmd8IK_M4JqTR4GtwIae5zaEgOUBHMQZVQU0LDDMRnMAczJX3aO247g9EoO7Zk/s1600/inverse2x2_01.png)
Почему в этом примере Wolfram|Alpha не упрощает выражение, выдавая его в общем виде? Наверное потому, что нетрудно убедиться (устно), что выполняя эту проверку, получаем единичную матрицу, как и должно быть. Чтобы получить этот окончательный результат при помощи Wolfram|Alpha, нужно прямо указать Wolfram|Alpha, что нужно упростить выражение (до конца). Для этого используем запрос simplify так, что запрос на проверку будет выглядеть так
simplify {{a, b}, {c, d}}.(inverse {{a, b}, {c, d}})
А вот и окончательный результат проверки:
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjNUNkmqM2lLeajBDddW6OiZD2LF3aECvALBeqXnroSVovLMg3ujAneK2mwk9TV9F8mRcK4qy4Jnv7oh-nPvFLstzL120sZwv0HZMHuPQ36IsKE6yoRFqR9qZs9g4CaHKa77GNu6hV8TvI/s1600/inverse2x2_02.png)
Аналогично, для квадратной матрицы 3х3 общего вида получаем
inverse {{a, b, c}, {d, e, f}, {g, h, i}}
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjwaXcpDCDgRO5g1sKc9WJ7iBWVmY6Vn4qiqnB0XkV_Q9_NTG2zt2YDiXn8ETBZa8tATfmZTul8bQLv13DeattAj8hZ0Gb_Bdrxx6Se18eSo51VbFT4nopr4EK9hooT7AdM3gLfYnDQ7TM/s1600/inverse3x3_03.png)
А вот проверка:
simplify {{a, b, c}, {d, e, f}, {g, h, i}}.(inverse {{a, b, c}, {d, e, f}, {g, h, i}})
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj1YZouB_nzSoScqMha2qsc5CJ_yyXUTNh3IlcTpIhRrtCS3kKWNzMyStHSxO3jQ_UsZp4EeYaoj6gPmKnjz_21mzojWEwG3Gndgkvl1sHmIB-GcZR-jePtBctAospcZn5PaWATdFz5zR4/s1600/inverse3x3_04.png)
Как уже было сказано выше, если данная матрица вырожденная, то при попытке вычислить для нее обратную матрицу Wolfram|Alpha это легко определяет - выдает сообщение "matrix is singular" и затем вычисляет псевдообратную матрицу:
inverse {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}}
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiM4QfZZYTMDszmEUM9UhAJeBIyUzu47G7rXJr_RcMejGpZv-Kfy4wU2MCbehkytzSAu50dx52hwaV3cTrHsMAp43xRGssUBMkGHR-JJUKN-EOh-lK7NJq_U9Nc-RLanHQdcLcNPhOZ_NQ/s1600/inverse3x3_05_singular.png)
Наконец, числовой пример для матрицы 4х4:
inverse {{1, -1, 2, 1}, {-2, 1, -3, 0}, {3, -1, -2, 3}, {1, 2,- 1,- 3}}
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhFf5nGivvHs_8I_vO_v9hwQKX4P5gdhgtEQEv7dlD2JD7MnOOLZ_35josqEiI4JkZiD_X0O3cfmAtLAjfzmxTbkws_zjlYNDU2-a2W74tKiUyprBKVi35TkYIR8UjyGcVha3quyOdgJvU/s1600/inverse4x4_06.png)
И проверка:
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}})
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhLrn-t2nYyoWvBMOq8Mg0d9sJzmKnw8kdSHoR6l6iy_Em5f3q3MNSrM6nD_7dDt_JjVTIBXfgzH8VzQf3nfG3jMA-wc184vL-48LVgOA82doeXynicshN8VQ1nFecAQD1gwfkUu9VGo8I/s1600/inverse4x4_07.png)