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

Обра́тная ма́трица — такая мматрица A−1, при умножении на которую исходная матрица A даёт в результате единичную матрицу E:

AA−1=A−1A=E{displaystyle AA^{-1}=A^{-1}A=E}

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

Содержание

Свойства обратной матрицы

  • detA−1=1detA{displaystyle det A^{-1}={frac {1}{det A}}} , где  det{displaystyle det }  обозначает определитель.
  •  (AB)−1=B−1A−1{displaystyle (AB)^{-1}=B^{-1}A^{-1}}  для двух квадратных обратимых матриц A{displaystyle A}  и B{displaystyle B} .
  •  (AT)−1=(A−1)T{displaystyle (A^{T})^{-1}=(A^{-1})^{T}} , где (…)T{displaystyle (…)^{T}}  обозначает транспонированную матрицу.
  •  (kA)−1=k−1A−1{displaystyle (kA)^{-1}=k^{-1}A^{-1}}  для любого коэффициента k≠0{displaystyle knot =0} .
  •  E−1=E{displaystyle E^{-1}=E} .
  • Если необходимо решить систему линейных уравнений Ax=b{displaystyle Ax=b} , (b — ненулевой вектор) где x{displaystyle x}  — искомый вектор, и если A−1{displaystyle A^{-1}}  существует, то x=A−1b{displaystyle x=A^{-1}b} . В противном случае либо размерность пространства решений больше нуля, либо их нет вовсе.

Способы нахождения обратной матрицы

Если матрица обратима, то для нахождения обратной матрицы можно воспользоваться одним из следующих способов:

Точные (прямые) методы

Метод Жордана—Гаусса

Возьмём две матрицы: саму A и единичную E. Приведём матрицу A к единичной матрице методом Гаусса—Жордана применяя преобразования по строкам (можно также применять преобразования и по столбцам). После применения каждой операции к первой матрице применим ту же операцию ко второй. Когда приведение первой матрицы к единичному виду будет завершено, вторая матрица окажется равной A−1.

При использовании метода Гаусса первая матрица будет умножаться слева на одну из элементарных матриц Λi{displaystyle Lambda _{i}}

  (трансвекцию или диагональную матрицу с единицами на главной диагонали, кроме одной позиции):

Λ1⋅⋯⋅Λn⋅A=ΛA=E⇒Λ=A−1{displaystyle Lambda _{1}cdot dots cdot Lambda _{n}cdot A=Lambda A=ERightarrow Lambda =A^{-1}} .
Λm=[1…0−a1m/amm0…0…0…1−am−1m/amm0…00…01/amm0…00…0−am+1m/amm1…0…0…0−anm/amm0…1]{displaystyle Lambda _{m}={begin{bmatrix}1&dots &0&-a_{1m}/a_{mm}&0&dots &0&&&dots &&&&dots &1&-a_{m-1m}/a_{mm}&0&dots &0&dots &0&1/a_{mm}&0&dots &0&dots &0&-a_{m+1m}/a_{mm}&1&dots &0&&&dots &&&&dots &0&-a_{nm}/a_{mm}&0&dots &1end{bmatrix}}} .

Вторая матрица после применения всех операций станет равна Λ{displaystyle Lambda }

 , то есть будет искомой. Сложность алгоритма — O(n3){displaystyle O(n^{3})} .

С помощью матрицы алгебраических дополнений

Матрица, обратная матрице A{displaystyle A}

 , представима в виде

A−1=adj(A)det(A){displaystyle {A}^{-1}={{{mbox{adj}}(A)} over {det(A)}}} 

где adj(A){displaystyle {mbox{adj}}(A)}

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

Сложность алгоритма зависит от сложности алгоритма расчета определителя Odet и равна O(n²)·Odet.

Использование LU/LUP-разложения

Матричное уравнение AX=In{displaystyle AX=I_{n}}

  для обратной матрицы X{displaystyle X}  можно рассматривать как совокупность n{displaystyle n}  систем вида Ax=b{displaystyle Ax=b} . Обозначим i{displaystyle i} -й столбец матрицы X{displaystyle X}  через Xi{displaystyle X_{i}} ; тогда AXi=ei{displaystyle AX_{i}=e_{i}} , i=1,…,n{displaystyle i=1,ldots ,n} , поскольку i{displaystyle i} -м столбцом матрицы In{displaystyle I_{n}}  является единичный вектор ei{displaystyle e_{i}} . другими словами, нахождение обратной матрицы сводится к решению n уравнений с одной матрицей и разными правыми частями. После выполнения LUP-разложения (время O(n³)) на решение каждого из n уравнений нужно время O(n²), так что и эта часть работы требует времени O(n³)[1].

Если матрица A невырождена, то для неё можно рассчитать LUP-разложение PA=LU{displaystyle PA=LU}

 . Пусть PA=B{displaystyle PA=B} , B−1=D{displaystyle B^{-1}=D} . Тогда из свойств обратной матрицы можно записать: D=U−1L−1{displaystyle D=U^{-1}L^{-1}} . Если умножить это равенство на U и L то можно получить два равенства вида UD=L−1{displaystyle UD=L^{-1}}  и DL=U−1{displaystyle DL=U^{-1}} . Первое из этих равенств представляет собой систему из n² линейных уравнений для n(n+1)2{displaystyle {frac {n(n+1)}{2}}} , из которых известны правые части (из свойств треугольных матриц). Второе представляет также систему из n² линейных уравнений для n(n−1)2{displaystyle {frac {n(n-1)}{2}}} , из которых известны правые части (также из свойств треугольных матриц). Вместе они представляют собой систему из n² равенств. С помощью этих равенств можно рекуррентно определить все n² элементов матрицы D. Тогда из равенства (PA)−1 = A−1P−1 = B−1 = D получаем равенство A−1=DP{displaystyle A^{-1}=DP} .

В случае использования LU-разложения не требуется перестановки столбцов матрицы D, но решение может разойтись даже если матрица A невырождена.

Сложность алгоритма — O(n³).

Итерационные методы

Методы Шульца

{Ψk=E−AUk,Uk+1=Uk∑i=0nΨki{displaystyle {begin{cases}Psi _{k}=E-AU_{k},U_{k+1}=U_{k}sum _{i=0}^{n}Psi _{k}^{i}end{cases}}}

 

Оценка погрешности

Выбор начального приближения

Проблема выбора начального приближения U0{displaystyle U_{0}}

  в рассматриваемых здесь процессах итерационного обращения матриц не позволяет относиться к ним как к самостоятельным универсальным методам, конкурирующими с прямыми методами обращения, основанными, например, на LU-разложении матриц. Имеются некоторые рекомендации по выбору U0{displaystyle U_{0}} , обеспечивающие выполнение условия ρ(Ψ0)<1{displaystyle rho (Psi _{0})<1}  (спектральный радиус матрицы меньше единицы), являющегося необходимым и достаточным для сходимости процесса. Однако при этом, во-первых, требуется знать сверху оценку спектра обращаемой матрицы A либо матрицы AAT{displaystyle AA^{T}}  (а именно, если A — симметричная положительно определённая матрица и ρ(A)≤β{displaystyle rho (A)leq beta } , то можно взять U0=αE{displaystyle U_{0}={alpha }E} , где α∈(0,2β){displaystyle alpha in left(0,{frac {2}{beta }}right)} ; если же A — произвольная невырожденная матрица и ρ(AAT)≤β{displaystyle rho (AA^{T})leq beta } , то полагают U0=αAT{displaystyle U_{0}={alpha }A^{T}} , где также α∈(0,2β){displaystyle alpha in left(0,{frac {2}{beta }}right)} ; можно конечно упростить ситуацию и, воспользовавшись тем, что ρ(AAT)≤kAATk{displaystyle rho (AA^{T})leq {mathcal {k}}AA^{T}{mathcal {k}}} , положить U0=AT‖AAT‖{displaystyle U_{0}={frac {A^{T}}{|AA^{T}|}}} ). Во-вторых, при таком задании начальной матрицы нет гарантии, что ‖Ψ0‖{displaystyle |Psi _{0}|}  будет малой (возможно, даже окажется ‖Ψ0‖>1{displaystyle |Psi _{0}|>1} ), и высокий порядок скорости сходимости обнаружится далеко не сразу.

Примеры

Матрица 2 × 2

A−1=[abcd]−1=1detA[d−b−ca]=1ad−bc[d−b−ca]{displaystyle mathbf {A} ^{-1}={begin{bmatrix}a&bc&dend{bmatrix}}^{-1}={frac {1}{det mathbf {A} }}{begin{bmatrix}d&-b-c&aend{bmatrix}}={frac {1}{ad-bc}}{begin{bmatrix}d&-b-c&aend{bmatrix}}} [2]

Обращение матрицы 2 × 2 возможно только при условии, что ad−bc=detA≠0{displaystyle ad-bc=det Aneq 0}

 .

Примечания

  1. Кормен Т., Лейзерсон Ч., Ривест Р., Штайн К. Алгоритмы: построение и анализ, — М.: Вильямс, 2006 (с. 700).
  2. Как найти обратную матрицу?  (неопр.) mathprofi.ru. Дата обращения: 18 октября 2017.

Ссылки