いぬおさんのおもしろ数学実験室

おいしい紅茶でも飲みながら数学、物理、工学、プログラミング、そして読書を楽しみましょう

写真から立体を再現(6) 特異値分解(SVD)とは何か

 前、スペクトル分解について書きました。スペクトル分解は正方行列に対してのみ実行できますが、特異値分解は0行列以外の行列に対して実行できます。これも必要になるので、まとめておきます。

Aを0行列でない行列だとします。

f:id:Inuosann:20200315185117p:plain

f:id:Inuosann:20200315215952p:plain
このとき実は

f:id:Inuosann:20200315220820p:plain
f:id:Inuosann:20200315185857p:plain

f:id:Inuosann:20200315200920p:plain

(i=0, 1, 2, ……, r)

また

f:id:Inuosann:20200315191347p:plain

です。さらに実は、Uの列ベクトルはAの列空間の基底、Vの列ベクトルはAの行空間の基底です。

 特異値分解は、もちろん定義通り求めてもいいわけですが、Pythonなどではよいライブラリがあります。それを使えば理屈は理解していなくても一応できます。ただ、特異値分解の結果の解釈などを適切にするためには、やはり基本的な部分の勉強はしておいた方がよいと思います。

 

キーワード:

特異値,特異値分解,スペクトル分解,SVD,S.V.D.,右特異ベクトル,左特異ベクトル,固有値,列空間,行空間,対称行列,非負定値