使用python numpy進行SVD分解
>>> import numpy as np
>>>
a=np.matrix([[3,0,3],[5,4,0],[1,2,4],[2,2,0]])
>>> a
matrix([[3, 0, 3],
[5, 4, 0],
[1, 2, 4],
[2, 2, 0]])
>>> from numpy import linalg as la
>>> U,sigma,VT=la.svd(a)
>>> U
matrix([[-0.415103 , -0.4754462 ,
-0.76791353, 0.10931247],
[-0.74371645, 0.52779221,
0.01689327, -0.40992176],
[-0.41095874, -0.66262863,
0.62073729, -0.08198435],
[-0.3250973 , 0.23729643,
0.15718985, 0.90182787]])
>>> sigma
array([ 8.02645174, 4.38855108,
2.07766502])
>>> VT
matrix([[-0.75064858, -0.55404032, -0.35995283],
[ 0.2334681 , 0.28722565,
-0.92897474],
[-0.61807715, 0.78137107,
0.08625479]])
>>>
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.