np.linalg :
선형대수 method가 담겨져있다.
np.linalg.svd(A, full_matrices=True, compute_uv)
full_metrics
- defualt=True, True일 경우, A가 (M,N)일 때 U = (M,M), V=(N,N)
- False일 경우, A가 (M,K)일 때, U=(M,K), V=(K,N), K = min(M,N)
A = np.array([[0,0,0,1,0,1,1,0,0],
[0,0,0,1,1,0,1,0,0],
[0,1,1,0,2,0,0,0,0],
[1,0,0,0,0,0,0,1,1]])
U, s, VT = np.linalg.svd(A, full_matrices=False)
print('U : {}, \nU\'s shape : {}'.format(U.round(2), U.shape))
print('s : {}, \ns\'s shape : {}'.format(s.round(2), s.shape))
print('VT : {}, \nVT\'s shape : {}'.format(VT.round(2), VT.shape))
np.shape(VT)
print('-------------------------------------------------------')
U, S, VT = np.linalg.svd(A, full_matrices=True)
print('U : {}, \nU\'s shape : {}'.format(U.round(2), U.shape))
print('s : {}, \ns\'s shape : {}'.format(s.round(2), s.shape))
print('VT : {}, \nVT\'s shape : {}'.format(VT.round(2), VT.shape))
np.shape(VT)
"""
U : [[-0.24 0.75 0. -0.62]
[-0.51 0.44 -0. 0.74]
[-0.83 -0.49 -0. -0.27]
[-0. -0. 1. 0. ]],
U's shape : (4, 4)
s : [2.69 2.05 1.73 0.77],
s's shape : (4,)
VT : [[-0. -0.31 -0.31 -0.28 -0.8 -0.09 -0.28 -0. -0. ]
[ 0. -0.24 -0.24 0.58 -0.26 0.37 0.58 -0. -0. ]
[ 0.58 -0. 0. 0. -0. 0. -0. 0.58 0.58]
[ 0. -0.35 -0.35 0.16 0.25 -0.8 0.16 -0. -0. ]],
VT's shape : (4, 9)
-------------------------------------------------------
U : [[-0.24 0.75 0. -0.62]
[-0.51 0.44 -0. 0.74]
[-0.83 -0.49 -0. -0.27]
[-0. -0. 1. 0. ]],
U's shape : (4, 4)
s : [2.69 2.05 1.73 0.77],
s's shape : (4,)
VT : [[-0. -0.31 -0.31 -0.28 -0.8 -0.09 -0.28 -0. -0. ]
[ 0. -0.24 -0.24 0.58 -0.26 0.37 0.58 -0. -0. ]
[ 0.58 -0. 0. 0. -0. 0. -0. 0.58 0.58]
[ 0. -0.35 -0.35 0.16 0.25 -0.8 0.16 -0. -0. ]
[-0. -0.78 -0.01 -0.2 0.4 0.4 -0.2 0. 0. ]
[-0.29 0.31 -0.78 -0.24 0.23 0.23 0.01 0.14 0.14]
[-0.29 -0.1 0.26 -0.59 -0.08 -0.08 0.66 0.14 0.14]
[-0.5 -0.06 0.15 0.24 -0.05 -0.05 -0.19 0.75 -0.25]
[-0.5 -0.06 0.15 0.24 -0.05 -0.05 -0.19 -0.25 0.75]],
VT's shape : (9, 9)
(9, 9)
"""
'대학원 공부 > programming language' 카테고리의 다른 글
Python : Crawling : requests vs urllib.parse & request (0) | 2020.04.21 |
---|---|
Python : Selenium의 Webdriver (0) | 2020.04.21 |
Python : module, package, library, framework (0) | 2020.03.11 |
Python : __str__ vs __repr__ 차이점 (0) | 2020.02.24 |
Python : *args **kwargs (0) | 2020.02.21 |
댓글