Псевдообратная матрица

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск

Псевдообра́тная ма́трица — обобщение понятия обратной матрицы в линейной алгебре. Псевдообратная матрица к матрице A обозначается A^+.

Впервые концепцию псевдообратных интегрирующих операторов в 1903 году представил Фредгольм. Наиболее известно псевдообращение Мура — Пенроуза, которое было независимо описано Элиакимом Муром[1] в 1920 году и Роджером Пенроузом[2] в 1955 году; утверждение о существовании и единственности для любой матрицы над действительными и комплексными числами псевдообратной матрица носит название теоремы Мура — Пенроуза.

Обобщённое обращение (англ. generalized inverse) — псевдообращение, удовлетворяющее более строгим условиям. Псевдообращение можно понимать как решение задачи наилучшей аппроксимации (по методу наименьших квадратов с предельным вариантом регуляризации) для соответствующей системы линейных уравнений[⇨]. Псевдообратная матрица может быть вычислена с помощью сингулярного разложения матрицы.

Определение[править | править вики-текст]

A^+ называется псевдообратной матрицей для матрицы A, если она удовлетворяет следующим критериям:

  1. A A^+A = A;
  2. A^+A A^+ = A^+ (A^+ является слабым обращением в мультипликативной полугруппе);
  3. (AA^+)^* = AA^+ (это означает, что AA^+ — эрмитова матрица);
  4. (A^+A)^* = A^+A (A^+A — тоже эрмитова матрица).

Здесь M^* — эрмитово сопряжённая матрица M (для матриц над полем действительных чисел M^* = M^T).

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

A^+ = \lim_{\delta \to +0} (A^* A + \delta I)^{-1} A^*
          = \lim_{\delta \to +0} A^* (A A^* + \delta I)^{-1},

где  I — единичная матрица. Этот предел существует, даже если (A A^*)^{-1} и (A^* A)^{-1} не определены.

Свойства[править | править вики-текст]

  • Псевдообращение инволютивно (то есть эта операция обратна самой себе):
    (A^+)^+ = A .
  • Псевдообращение коммутирует с транспонированием, сопряжением и эрмитовым сопряжением:
    (A^T)^+ = (A^+)^T,
    (\overline{A})^+ = \overline{A^+} ,
    (A^*)^+ = (A^+)^* .
  • Псевдообратное произведение матрицы A на скаляр \alpha равно соответствующему произведению матрицы A^+ на обратное число \alpha^{-1}:
    (\alpha A)^+ = \alpha^{-1} A^+ , для \alpha \neq 0.
  • Если псевдообратная матрица для A^*A уже известна, она может быть использовано для вычисления A^+:
    A^+ = (A^*A)^+A^* .
  • Аналогично, если матрица (AA^*)^+ уже известна:
    A^+ = A^*(AA^*)^+ .

Особые случаи[править | править вики-текст]

Если столбцы матрицы A линейно независимы, тогда матрица A^* A обратима. В таком случае псевдообратная матрица задаётся формулой:

A^+ = (A^* A)^{-1} A^*.

Это эквивалентно тому, что в первой части определения через предел убирается слагаемое с \delta. Отсюда следует что A^+ — левая обратная матрица для A:  A^+ A = I .

Если строки матрицы A линейно независимы, тогда матрица A A^* обратима. В таком случае псевдообратная матрица задаётся формулой:

A^+ = A^*(A A^*)^{-1}.

Это эквивалентно тому, что во второй части определения через предел полагаем \delta=0. Отсюда следует, что A^+ — правая обратная матрица для A: A A^+ = I.

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

A^+ = A^{-1}.

Если A и B таковы, что произведение AB определено, и:

  • либо A^* A = I,
  • либо B B^* = I,
  • либо столбцы A линейно независимы и строки B линейно независимы,

тогда

(AB)^+ = B^+ A^+.

Псевдообращение можно применять и к скалярам, и к векторам. Это подразумевает, что они рассматриваются как матрицы соответствующей размерности. Псевдообратный к скаляру x — ноль, если x — ноль, и обратный к x в противном случае:

x^+ = \left\{\begin{matrix} 0, & x=0;
 \\ x^{-1}, & x \ne 0. \end{matrix}\right.

Псевдообратный для нулевого вектора — транспонированый нулевой вектор. Псевдообратный для ненулевого вектора — сопряжённый транспонированный вектор, делённый на квадрат своей длины:

x^+ = \left\{\begin{matrix} 0^T, & x = 0;
 \\ {x^* \over x^* x}, & x \ne 0. \end{matrix}\right.

Для доказательства достаточно проверить, что эти величины удовлетворяют определению псевдообратных.

Происхождение[править | править вики-текст]

Если (A^* A)^{-1} существует, то:

Ax = b,
A^* A x = A^* b,
(A^* A)^{-1}(A^* A) x = (A^* A)^{-1}A^* b,
x = (A^* A)^{-1}A^* b,

что порождает понятие псевдообращения

A^+ = (A^* A)^{-1}A^* .

Вычисление[править | править вики-текст]

Пусть k — ранг матрицы A размера m \times n. Тогда A может быть представлена как A = BC, где B — матрица размера m \times k с линейно независимыми столбцами и C — матрица размера k \times n с линейно независимыми строками. Тогда:


A^+ = C^*(CC^*)^{-1}(B^*B)^{-1}B^*
.

Если A имеет полнострочный ранг, то есть k = m, тогда в качестве B может быть выбрана единичная матрица и формула сокращается до A^+ = A^*(AA^*)^{-1}. Аналогично, если A имеет полностолбцовый ранг, то есть, k = n, то A^+ = (A^*A)^{-1}A^*.

Простейший вычислительный путь получения псевдообратной матрицы — использовать сингулярное разложение.

Если A = U\Sigma V^* — сингулярное разложение A, тогда A^+ = V\Sigma^+ U^*. Для диагональной матрицы, такой как \Sigma, псевдообратная получается из неё заменой каждого ненулевого элемента  на диагонали на обратный к нему, с последующим транспонированием самой матрицы.

Существуют оптимизированые подходы вычисления псевдообратной для блочных матриц.

Иногда объём расчетов по нахождению псевдообратной матрицы можно сократить, если известна псевдообратная для некоторой аналогичной матрицы. В частности, если аналогичная матрица отличается от начальной на один изменённый, добавленный или удалённый столбец или строку — существуют накопительные алгоритмы, которые могут использовать взаимосвязь между матрицами.

Применение[править | править вики-текст]

Псевдообращение реализуется решением методом наименьших квадратов для системы линейных уравнений[3].

При этом для данной системы A x = b ищется вектор x, который минимизирует квадрат евклидовой нормы невязки \|A x - b\|^2.

Общее решение неоднородной системы A x = b представимо как сумма частного решения неоднородной системы и общего решения соответствующей однородной системы A x = 0.

Лемма: Если (A A^*)^{-1} существует, тогда решение x всегда представимо как сумма псевдообратного решения неоднородной системы и решения однородной системы:

x = A^*(A A^*)^{-1}b + (1 - A^*(A A^*)^{-1}A) y.

Доказательство:

Ax = A A^*(A A^*)^{-1} b +  A y - A A^*(A A^*)^{-1} A y
Ax = b +  A y - A y
Ax = b .

Здесь вектор y произвольный(с точностью до размерности). В двух других членах есть псевдообратная матрица A^*(A A^*)^{-1}. Переписав её в форме A^+, приведём выражение к форме:

x = A^+ b + (1 - A^+ A)y.

Первый член — псевдообратное решение. В терминах метода наименьших квадратов — это наилучшее приближение к настоящему решению. Это значит, что корректирующий член имеет минимальную евклидову норму. Следующий член даёт решение однородной системы A x = 0, потому что (1 - A^+ A) — оператор проектирования на ядро оператора A, тогда как (A^+A) = A^* (A A^*)^{-1} A — оператор проектирования на образ оператора A.

Литература[править | править вики-текст]

  1.   Э. Х. Мур (E. H. Moore): On the reciprocal of the general algebraic matrix. Bulletin of the American Mathematical Society 26, 394—395 (1920) http://www.ams.org/bull/1920-26-09/S0002-9904-1920-03322-7/S0002-9904-1920-03322-7.pdf
  2.   Роджер Пенроуз: A generalized inverse for matrices. Proceedings of the Cambridge Philosophical Society 51, 406—413 (1955)
  3.   Роджер Пенроуз: On best approximate solution of linear matrix equations. Proceedings of the Cambridge Philosophical Society 52, 17-19 (1956)
  4.   Алберт А.: Регрессия, псевдоинверсия и рекуррентное оценивание. перев. с англ. Москва, «Наука», 224 с.(1977)
  5.   Беклемишев Д. В.: Дополнительные главы линейной алгебры. Москва, Наука. (1983)