使用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]])
>>> 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章