svd【NumPy】
目的:
行列の特異値分解を行うための関数。
書式:
U, S, V = numpy.linalg.svd(A, full_matrices=True)
主な引数:
A : 計算を行うm x n の行列、固有値を求めるeig【numpy】とは異なり正方行列でなくてよい。 full_matrices (デフォルトでTrue):
Trueの場合、U, V は正方行列の形で得られる
U : m x m, V : n x n
Falseの場合、UとVのうちどちらかがAと同じ形状、残りは正方行列となる
m > n : U は m x n、 V はn x n
m == n : Full_matrices=Trueの場合と同様
m < n : U はm x m、Vは m x n
戻り値:
U, V :
分解後の行列、それぞれの形状はfull_matricesによって定まる。
これらはユニタリ行列である。
S : 特異値が格納されたベクトル、特異値の個数はmin(m ,n)