Inverse matrix#

Квадратная матрица \(\boldsymbol A \in \mathbb R^{n\times n}\) называется обратимой, или невырожденной, если существует такая матрица \(\boldsymbol B \in \mathbb R^{n\times n}\), что \(\boldsymbol{AB} = \boldsymbol{BA} = \boldsymbol I\). Если такая матрица \(\boldsymbol B\) существует, то она называется обратной к матрице \(\boldsymbol A\) и обозначается \(\boldsymbol A^{-1}\); если же нет, то матрица \(\boldsymbol A\) называется вырожденной (или сингулярной).

Всякая система линейных уравнений \(\boldsymbol{Ax} = \boldsymbol b\) с обратимой матрицей имеет единственное решение, которое может быть получено домножением на \(\boldsymbol A^{-1}\) слева:

\[ \boldsymbol{Ax} = \boldsymbol b \iff \underbrace{\boldsymbol A^{-1}\boldsymbol A}_{\boldsymbol I} \boldsymbol x = \boldsymbol A^{-1}\boldsymbol b \iff \boldsymbol x = \boldsymbol A^{-1}\boldsymbol b. \]

В частности, однородная система уравнений \(\boldsymbol{Ax} = \boldsymbol 0\) с невырожденной матрицей имеет только нулевое решение \(\boldsymbol A^{-1} \boldsymbol 0 = \boldsymbol 0\).

Examples#

  • Обратную матрицу к матрице размера \(2\times 2\) можно вычислить по явной формуле

    \[\begin{split} \begin{pmatrix} a & b \\ c & d \\ \end{pmatrix}^{-1} =\frac1{ad -bc} \begin{pmatrix} d & -b \\ -c & a \\ \end{pmatrix}. \end{split}\]

    Такая матрица обратима тогда и только тогда, когда \(ad\ne bc\).

  • Если \(\boldsymbol \Lambda = \mathrm{diag}\{\lambda_1, \ldots, \lambda_n\}\), то \(\boldsymbol \Lambda^{-1} = \mathrm{diag}\big\{\frac 1{\lambda_1}, \ldots, \frac 1{\lambda_n}\big\}\) при условии, что \(\lambda_k\ne 0\) при всех \(k=1,\ldots, n\); диагональная матрица обратима тогда и только тогда, когда все её диагональные элементы не равны нулю.

  • Матрица перестановки двух строк \(\boldsymbol P_{ij}\) обратна самой себе, поскольку повторный обмен строк возвращает всё на место, т.е. \(\boldsymbol P_{ij}^2 = \boldsymbol I\).

  • Элементарная матрица \(\boldsymbol E_{ij}^\lambda = \boldsymbol I - \lambda \boldsymbol \delta_{ij}\) вычитает из строки номер \(j\) строку номер \(j\), умноженную на \(\lambda\); чтобы обратить это элементарное преобразование, необходимо выполнить сложение вместо вычитания. Таким образом,

    \[ \big(\boldsymbol E_{ij}^\lambda\big)^{-1} = \boldsymbol E_{ij}^{-\lambda} = \boldsymbol I + \lambda \boldsymbol \delta_{ij}. \]
  • Если матрица \(\boldsymbol Q\) ортогональна, то \(\boldsymbol Q^{-1} = \boldsymbol Q^\top\); действительно, поскольку её столбцы \(\boldsymbol q_1, \ldots, \boldsymbol q_n\) ортонормированы, получаем \((\boldsymbol Q^\top\boldsymbol Q)_{ij} = \boldsymbol q_i^\top\boldsymbol q_j = \delta_{ij}\), т.е. \(\boldsymbol Q^\top\boldsymbol Q = \boldsymbol I\).

  • В частности, \(\boldsymbol P^{-1} = \boldsymbol P^\top\) для любой матрицы перестановки \(\boldsymbol P\), ведь любая такая матрица ортогональна.

In NumPy the inversed matrix can be found via np.linalg.inv:

import numpy as np
A = np.diag(np.linspace(0.2, 1, num=5))
np.linalg.inv(A)
array([[5.        , 0.        , 0.        , 0.        , 0.        ],
       [0.        , 2.5       , 0.        , 0.        , 0.        ],
       [0.        , 0.        , 1.66666667, 0.        , 0.        ],
       [0.        , 0.        , 0.        , 1.25      , 0.        ],
       [0.        , 0.        , 0.        , 0.        , 1.        ]])

Properties of inverse matrices#

  1. Если обратная матрица существует, то она единственна.

  2. Если матрица \(\boldsymbol A\) обратима, то \((\lambda \boldsymbol A)^{-1} = \frac 1\lambda \boldsymbol A^{-1}\) при \(\lambda \ne 0\).

  3. Если \(\boldsymbol A\) и \(\boldsymbol B\) — две обратимые матрицы одинакового размера, то

    \[ (\boldsymbol{AB})^{-1} = \boldsymbol B^{-1} \boldsymbol A^{-1}. \]
  4. Обращение блочной матрицы: если матрицы \(\boldsymbol A\in\mathbb R^{m\times m}\) и \(\boldsymbol B\in\mathbb R^{n\times n}\) обратимы, то

    \[\begin{split} \begin{pmatrix} \boldsymbol A & \boldsymbol 0_{m\times n} \\ \boldsymbol 0_{n\times m} & \boldsymbol B \end{pmatrix}^{-1} = \begin{pmatrix} \boldsymbol A^{-1} & \boldsymbol 0_{m\times n} \\ \boldsymbol 0_{n\times m} & \boldsymbol B^{-1} \end{pmatrix}. \end{split}\]
  5. Обратная матрица к верхней (нижней) треугольной матрице с ненулевыми диагональными элементами \(d_1, \ldots, d_n\) также является верхней (нижней) треугольной с элементами \(\frac 1{d_1}, \ldots, \frac 1{d_n}\) на главной диагонали.

  6. Если матрица обратима, то транспонированная к ней матрица также обратима, причём

    \[ \big(\boldsymbol A^\top\big)^{-1} = \big(\boldsymbol A^{-1}\big)^\top. \]

    Таким образом, операции транспонирония и взятия обратной матрицы коммутируют; применение подряд (в любом порядке) этих двух операций к матрице \(\boldsymbol A\) обозначают через \(\boldsymbol A^{-\top}\).

  7. Если симметричная матрица обратима, то обратная к ней также симметрична.

Gauss—Jordan method#

Чтобы обратить невырожденную матрицу \(\boldsymbol A \in \mathbb R^{n\times n}\), нужно решить \(n\) систем линейных уравнений

(31)#\[ \boldsymbol{Ax}_1 = \boldsymbol e_1, \ldots, \boldsymbol{Ax}_n = \boldsymbol e_n,\]

и тогда \(\boldsymbol A^{-1} = [\boldsymbol x_1 \ldots \boldsymbol x_n]\).

Решение СЛАУ размера \(n\times n\) методом Гаусса требует \(O(n^3)\) арифметических операций. Если решать каждую систему из (31) по отдельности, то суммарная сложность составит \(O(n^4)\). Однако метод Гаусса—Жордана позволяет решить все СЛАУ (31) одновременно за \(O(n^3)\) операций. Для этого составляют блочную матрицу

(32)#\[(\;\boldsymbol A \;\vert\;\boldsymbol I\;)\]

и проводят с ней следующие шаги:

  1. методом Гаусса превращают матрицу \(\boldsymbol A\) в вернюю треугольную матрицу \(\boldsymbol U\);

  2. обратным ходом метода Гаусса из матрицы \(\boldsymbol U\) получают диагональную матрицу \(\boldsymbol D\);

  3. после деления на диагональные элементы \(\boldsymbol D\) становится единичной.

Шаги 1—3 применяются также и правому блоку матрицы (32), и после завершения работы метода Гаусса—Жордана на месте единичной матрицы оказывается обратная матрица \(\boldsymbol A^{-1}\).

Exercises#

Sherman—Morrison formula

Let \(\boldsymbol A \in \mathbb R^{n\times n}\) be an invertible matrix and \(\boldsymbol u, \boldsymbol v \in \mathbb R^n\). Prove that

\[ (\boldsymbol A + \boldsymbol u \boldsymbol v^\top)^{-1} = \boldsymbol A^{-1} - \frac{\boldsymbol A^{-1} \boldsymbol u \boldsymbol v^\top \boldsymbol A^{-1}}{1 + \boldsymbol v^\top\boldsymbol A^{-1} \boldsymbol u }. \]