В математика, а блочная матрица псевдообратная формула для псевдообратный из разделенная матрица. Это полезно для разложения или аппроксимации многих параметров обновления алгоритмов в обработка сигналов, которые основаны на наименьших квадратов метод.
Вывод
Рассмотрим разделенную по столбцам матрицу:
![{displaystyle {egin {bmatrix} mathbf {A} & mathbf {B} end {bmatrix}}, quad mathbf {A} в mathbb {R} ^ {m imes n}, quad mathbf {B} в mathbb {R} ^ { m imes p}, quad mgeq n + p.}](https://wikimedia.org/api/rest_v1/media/math/render/svg/bdea33211664be8c712445a69a27afebf1555320)
Если приведенная выше матрица полного ранга, Обратное преобразование Мура – Пенроуза матрицы этого и его транспонирования являются
![{displaystyle {egin {align} {egin {bmatrix} mathbf {A} & mathbf {B} end {bmatrix}} ^ {+} & = left ({egin {bmatrix} mathbf {A} & mathbf {B} end {bmatrix}) } ^ {extsf {T}} {egin {bmatrix} mathbf {A} & mathbf {B} end {bmatrix}} ight) ^ {- 1} {egin {bmatrix} mathbf {A} & mathbf {B} end {bmatrix} } ^ {extsf {T}}, {egin {bmatrix} mathbf {A} ^ {extsf {T}} mathbf {B} ^ {extsf {T}} end {bmatrix}} ^ {+} & = { egin {bmatrix} mathbf {A} & mathbf {B} end {bmatrix}} left ({egin {bmatrix} mathbf {A} & mathbf {B} end {bmatrix}} ^ {extsf {T}} {egin {bmatrix} mathbf {A} & mathbf {B} end {bmatrix}} ight) ^ {- 1} .end {выровнено}}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/6316a3e7db2fe962de64cd3eda3b6a618eee3d18)
Это вычисление псевдообратного требует (п + п) -квадратная матрица и не использует блочную форму.
Чтобы снизить вычислительные затраты до п- и п-квадратных обращений матриц и для введения параллелизма, рассматривая блоки по отдельности, получаем [1]
![{displaystyle {egin {align} {egin {bmatrix} mathbf {A} & mathbf {B} end {bmatrix}} ^ {+} & = {egin {bmatrix} mathbf {P} _ {B} ^ {perp} mathbf { A} влево (mathbf {A} ^ {extsf {T}} mathbf {P} _ {B} ^ {perp} mathbf {A} ight) ^ {- 1} mathbf {P} _ {A} ^ {perp } mathbf {B} left (mathbf {B} ^ {extsf {T}} mathbf {P} _ {A} ^ {perp} mathbf {B} ight) ^ {- 1} end {bmatrix}} = {egin { bmatrix} left (mathbf {P} _ {B} ^ {perp} mathbf {A} ight) ^ {+} left (mathbf {P} _ {A} ^ {perp} mathbf {B} ight) ^ {+ } end {bmatrix}}, {egin {bmatrix} mathbf {A} ^ {extsf {T}} mathbf {B} ^ {extsf {T}} end {bmatrix}} ^ {+} & = {egin { bmatrix} mathbf {P} _ {B} ^ {perp} mathbf {A} left (mathbf {A} ^ {extsf {T}} mathbf {P} _ {B} ^ {perp} mathbf {A} ight) ^ {-1}, quad mathbf {P} _ {A} ^ {perp} mathbf {B} left (mathbf {B} ^ {extsf {T}} mathbf {P} _ {A} ^ {perp} mathbf {B } ight) ^ {- 1} end {bmatrix}} = {egin {bmatrix} left (mathbf {A} ^ {extsf {T}} mathbf {P} _ {B} ^ {perp} ight) ^ {+} & left (mathbf {B} ^ {extsf {T}} mathbf {P} _ {A} ^ {perp} ight) ^ {+} конец {bmatrix}}, конец {выровнен}}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/7731a35f5ae1ecd6f1f4e88f3f631ffa168ea580)
куда ортогональная проекция матрицы определяются
![{displaystyle {egin {выравнивается} mathbf {P} _ {A} ^ {perp} & = mathbf {I} -mathbf {A} left (mathbf {A} ^ {extsf {T}} mathbf {A} ight) ^ {-1} mathbf {A} ^ {extsf {T}}, mathbf {P} _ {B} ^ {perp} & = mathbf {I} -mathbf {B} left (mathbf {B} ^ {extsf { T}} mathbf {B} ight) ^ {- 1} mathbf {B} ^ {extsf {T}}. Конец {выровнено}}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/7d49292667ebbed0be6db40769640faf82b13c44)
Приведенные выше формулы не обязательно верны, если
не имеет полного звания - например, если
, тогда
![{displaystyle {egin {bmatrix} mathbf {A} & mathbf {A} end {bmatrix}} ^ {+} = {frac {1} {2}} {egin {bmatrix} mathbf {A} ^ {+} mathbf { A} ^ {+} end {bmatrix}} eq {egin {bmatrix} left (mathbf {P} _ {A} ^ {perp} mathbf {A} ight) ^ {+} left (mathbf {P} _ { A} ^ {perp} mathbf {A} ight) ^ {+} end {bmatrix}} = 0}](https://wikimedia.org/api/rest_v1/media/math/render/svg/1e1c9fc4463634d4bff64c5a42efde923082e296)
Приложение к задачам наименьших квадратов
Учитывая те же матрицы, что и выше, мы рассматриваем следующие задачи наименьших квадратов, которые выглядят как множественные задачи оптимизации или задачи с ограничениями при обработке сигналов. В конце концов, мы можем реализовать параллельный алгоритм наименьших квадратов на основе следующих результатов.
Разделение по столбцам методом переопределенных наименьших квадратов
Предположим решение
решает чрезмерно детерминированную систему:
![{displaystyle {egin {bmatrix} mathbf {A}, & mathbf {B} end {bmatrix}} {egin {bmatrix} mathbf {x} _ {1} mathbf {x} _ {2} end {bmatrix}} = mathbf {d}, quad mathbf {d} в mathbb {R} ^ {m imes 1}.}](https://wikimedia.org/api/rest_v1/media/math/render/svg/a7f1b660102a3e167b26ee95a1740648bcc41036)
Используя псевдообратную блочную матрицу, имеем
![{displaystyle mathbf {x} = {egin {bmatrix} mathbf {A}, & mathbf {B} end {bmatrix}} ^ {+}, mathbf {d} = {egin {bmatrix} left (mathbf {P} _ {B } ^ {perp} mathbf {A} ight) ^ {+} left (mathbf {P} _ {A} ^ {perp} mathbf {B} ight) ^ {+} end {bmatrix}} mathbf {d}. }](https://wikimedia.org/api/rest_v1/media/math/render/svg/2779c036a9f21f3f7e776030ba63725dfabca76f)
Следовательно, у нас есть разложенное решение:
![{displaystyle mathbf {x} _ {1} = left (mathbf {P} _ {B} ^ {perp} mathbf {A} ight) ^ {+}, mathbf {d}, quad mathbf {x} _ {2} = left (mathbf {P} _ {A} ^ {perp} mathbf {B} ight) ^ {+}, mathbf {d}.}](https://wikimedia.org/api/rest_v1/media/math/render/svg/c87161107b04c3ec0c4db6e11860f00f2a61f215)
Построчное разбиение с помощью недоопределенных наименьших квадратов
Предположим решение
решает недоопределенную систему:
![{displaystyle {egin {bmatrix} mathbf {A} ^ {extsf {T}} mathbf {B} ^ {extsf {T}} end {bmatrix}} mathbf {x} = {egin {bmatrix} mathbf {e} mathbf {f} end {bmatrix}}, quad mathbf {e} в mathbb {R} ^ {n imes 1}, quad mathbf {f} в mathbb {R} ^ {p imes 1}.}](https://wikimedia.org/api/rest_v1/media/math/render/svg/703e7138cde3d4ab8d503c4c643b6719cab26194)
Решение с минимальной нормой дается формулой
![{displaystyle mathbf {x} = {egin {bmatrix} mathbf {A} ^ {extsf {T}} mathbf {B} ^ {extsf {T}} end {bmatrix}} ^ {+}, {egin {bmatrix} mathbf {e} mathbf {f} end {bmatrix}}.}](https://wikimedia.org/api/rest_v1/media/math/render/svg/6b48eec0228f1a996dd1b9a61f58a39bfc748643)
Используя псевдообратную блочную матрицу, имеем
![{displaystyle mathbf {x} = {egin {bmatrix} left (mathbf {A} ^ {extsf {T}} mathbf {P} _ {B} ^ {perp} ight) ^ {+} & left (mathbf {B} ^ {extsf {T}} mathbf {P} _ {A} ^ {perp} ight) ^ {+} end {bmatrix}} {egin {bmatrix} mathbf {e} mathbf {f} end {bmatrix}} = left (mathbf {A} ^ {extsf {T}} mathbf {P} _ {B} ^ {perp} ight) ^ {+}, mathbf {e} + left (mathbf {B} ^ {extsf {T}} mathbf {P} _ {A} ^ {perp} ight) ^ {+}, mathbf {f}.}](https://wikimedia.org/api/rest_v1/media/math/render/svg/73c1d3c40df874c6a21ba58dfcce2d099cae3a9e)
Вместо
, нам нужно вычислить прямо или косвенно[нужна цитата ][оригинальное исследование? ]
![{displaystyle left (mathbf {A} ^ {extsf {T}} mathbf {A} ight) ^ {- 1}, четверть влево (mathbf {B} ^ {extsf {T}} mathbf {B} ight) ^ {- 1}, четверка влево (mathbf {A} ^ {extsf {T}} mathbf {P} _ {B} ^ {perp} mathbf {A} ight) ^ {- 1}, четверка влево (mathbf {B} ^ { extsf {T}} mathbf {P} _ {A} ^ {perp} mathbf {B} ight) ^ {- 1}.}](https://wikimedia.org/api/rest_v1/media/math/render/svg/14ecf0f787e0d35c864c09a5a3d6fa1dfcbf1655)
В плотной и маленькой системе мы можем использовать разложение по сингулярным числам, QR-разложение, или же Разложение Холецкого заменить инверсии матриц числовыми процедурами. В большой системе мы можем использовать итерационные методы такие как методы подпространства Крылова.
Учитывая параллельные алгоритмы, мы можем вычислить
и
в параллели. Затем мы заканчиваем вычислять
и
также параллельно.
Смотрите также
Рекомендации
внешняя ссылка
|
---|
Ключевые идеи | |
---|
Проблемы | |
---|
Аппаратное обеспечение | |
---|
Программного обеспечения | |
---|