補足 - 特異値分解
|
任意の行列Aは対角行列Σとユニタリ行列U,Vに分解できる。 Σの対角要素(特異値)は非負で大きい順に並べる。
|
特異値分解を図形でイメージすると、
・行列をかけることは、回転・鏡映U,Vと伸縮Σの組み合わせ。
・伸縮Σは球から楕円体への変換で、対角要素σは楕円体の各軸の半径。
である。
◇
特異値分解は固有値分解を経由して計算できる。なぜなら、特異値分解の式
![]()
からA†Aを作ると
![]()
A†Aの固有値分解の式になっているので、A†Aを固有値分解すればAの特異値分解が求められる。
|
特異値分解の計算手順: (1) m行n列のAからn行n列のA†Aを作る (2) A†Aは半正定値のエルミート行列になるからユニタリ行列Vで対角化できる(固有値分解) (3) σ=√λ としてn行n列のΣを作る (4) U=AVΣ―1からユニタリ行列Uを求める |
ただし、この方法は(2)固有値分解の安定性がよくないので、数値計算では別のアルゴリズムが使われるらしい。
◇◇
手計算の例) (この例は適当なU,V,Σから作りました)
![]()
![]()
固有値は
![]()
![]()
![]()
![]()
固有ベクトルは、符号がなるべく正になるように選んで
![]()
![]()
したがってユニタリ行列Vは
![]()
特異値は、固有値の正の平方根をとって

もうひとつのユニタリ行列Uは
![]()
![]()
これで、特異値分解が求められた。
![]()
![]()