擬似逆行列

This page has been moved to tech0022.html


性質1

Aをm×nの実行列とする

もしm<nならATAに逆行列は存在しない

もしm≧nでATAに逆行列が存在する場合を考える

A+=(ATA)-1ATは擬似逆行列の定義を満たす

このとき,A+A=Iが成り立つ.ただしIは単位行列.

A: m×n, AT: n×m, A+: n×m, ATA: n×n, I: n×n

AとA+のランクはn

性質2

Aをm×nの実行列とする

もしm>nならAATに逆行列は存在しない

もしm≦nでAATに逆行列が存在する場合を考える

A+=AT(AAT)-1は擬似逆行列の定義を満たす

このとき,AA+=Iが成り立つ.ただしIは単位行列.

A: m×n, AT: n×m, A+: n×m, AAT: m×m, I: m×m

AとA+のランクはm

逆行列

Aが正方行列で,Aの逆行列が計算できるなら,A+=A-1である.このとき,上記2つのA+に対して,AA+=A+A=AA-1=A-1A=Iが成り立つ.ただしIは単位行列.

数値計算

逆行列を求める方法として,Gauss-Jordan法やLU分解による方法,が有名であるが,いずれも,(非特異の)正方行列の逆行列しか計算できない.擬似逆行列を計算する場合は,Aが正方行列でなくても,ATAやAATが正方行列になるため,Gauss-Jordan法やLU分解を適用することができる.特異値分解(SVD)により擬似逆行列を計算する方法もある.

特異値分解(SVD)による擬似逆行列の計算

Aをm×n行列とする.m<nのときは0の行をあらかじめ付け加えてm=nとしておく.このときm≧nとなる.

A=UWVTをAに特異値分解をかけた結果とする

ただし,Wは左上に大きな値が配置され,右下に小さな値が配置されていると仮定する

Wの要素のうち,値がしきい値より小さい要素を0に設定した行列をW'とする

W'=diag(w1,w2,...,wk,0,0,...,0)のとき

W''=diag(1/w1,1/w2,...,1/wk,0,0,...,0)と定義する

A+=VW''UTと定義する

A+Aはn×n行列で,左上k×kが単位行列でそれ以外は0

AA+はm×m行列

もしAのランクがnならA+は性質1を満たす

Aのランクがn未満であってもA+は擬似逆行列の定義を満たす

Ax=bを解く問題でx=VW''UTbを計算したとする

もしAのrankがnならxは解の誤差を最小とする値

もしAのrankがn未満ならxは解のうちで解自身のノルム||x||を最小とする値

ムーア・ペンローズの擬似逆行列の定義

m×n行列Aがあり,Aが実行列であるとき,Moore-Penroseのn×mの擬似逆行列A+の定義は以下のようになる

AA+A=A

A+AA+=A+

(AA+)T=AA+

(A+A)T=A+A


もどる