Inverse matrix#

Linear systems#

Система линейных алгебраических уравнений (СЛАУ) из m уравнений с n неизвестными имеет вид

a11x1+a12x2++a1nxn=b1a21x1+a22x2++a2nxn=b2am1x1+am2x2++amnxn=bm,

где коэффициенты aij и числа в правой части bi считаются известными, а найти надо неизвестные переменные xj. Записывать систему линейных уравнений в таком громоздком виде не очень удобно, вместо этого чаще используют матричную запись. Коэффициенты aij естественным образом образуют матрицу ARm×n, правая часть — вектор bRm, а искомые переменные — вектор xRn. И тогда СЛАУ переписывается в чрезвычайно простом и коротком виде

Ax=b.

If b=0, then the linear system is called homogeneous.

A square matrix A is called singular if the homogeneous linear system Ax=0 has nonzero solution x0. Otherwise A is called non-singular or invertible. If A is invertible, then the linear system Ax=b has unique solution for any b which can be written as x=A1b.

In NumPy a linear system of equations with m=n can be solved by np.linalg.solve:

import numpy as np
from scipy.linalg import pascal
A = pascal(4, kind='lower')
A
array([[1, 0, 0, 0],
       [1, 1, 0, 0],
       [1, 2, 1, 0],
       [1, 3, 3, 1]], dtype=uint64)
b = np.array([1, -1, 1, -1])
np.linalg.solve(A, b)
array([ 1., -2.,  4., -8.])

Inverse matrix#

Квадратная матрица ARn×n называется обратимой, или невырожденной, если существует такая матрица BRn×n, что AB=BA=I. Если такая матрица B существует, то она называется обратной к матрице A и обозначается A1; если же нет, то матрица A называется вырожденной (или сингулярной).

Всякая система линейных уравнений Ax=b с обратимой матрицей имеет единственное решение, которое может быть получено домножением на A1 слева:

Ax=bA1AIx=A1bx=A1b.

В частности, однородная система уравнений Ax=0 с невырожденной матрицей имеет только нулевое решение A10=0.

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. Если матрица A обратима, то (λA)1=1λA1 при λ0.

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

    (AB)1=B1A1.
  4. Обращение блочной матрицы: если матрицы ARm×m и BRn×n обратимы, то

    (A0m×n0n×mB)1=(A10m×n0n×mB1).
  5. Обратная матрица к верхней (нижней) треугольной матрице с ненулевыми диагональными элементами d1,,dn также является верхней (нижней) треугольной с элементами 1d1,,1dn на главной диагонали.

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

    (AT)1=(A1)T.

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

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

Gauss—Jordan method#

Чтобы обратить невырожденную матрицу ARn×n, нужно решить n систем линейных уравнений

(47)#Ax1=e1,,Axn=en,

и тогда A1=[x1xn].

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

(48)#(A|I)

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

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

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

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

Шаги 1—3 применяются также и правому блоку матрицы (48), и после завершения работы метода Гаусса—Жордана на месте единичной матрицы оказывается обратная матрица A1.

Exercises#

  1. Prove that

    (abcd)1=1adbc(dbca).

    if adbc.

  2. Let Λ=diag{λ1,,λn} be a diagonal matrix. Prove that Λ1=diag{1λ1,,1λn} if λi0 for all i.

  3. Prove that Q1=QT if Q is orthogonal.

  4. (Sherman—Morrison formula) Let ARn×n be an invertible matrix and u,vRn. Prove that

(A+uvT)1=A1A1uvTA11+vTA1u.