머신러닝/스터디 정리
numpy 연산2
snoohey
2018. 8. 18. 22:38
코드
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 | import numpy as np import numpy.linalg as lin x1 = np.array([[1,2,3],[4,5,6]]) y1 = np.array([[4,0,3],[5,5,6]]) #행렬 곱 np.dot(x1, y1.T) #역행렬 x2 = np.array([[2,2,0],[-2,1,1],[3,0,1]]) lin.inv(x2) #qr분해 : 실수 행렬을 직교 행렬과 상삼각 행렬의 곱으로 나타내는 행렬 분해 #return q 직교행렬 , r 상삼각행렬 q,r = lin.qr(x2) print(q) print(r) #행렬의 대각합 s = np.trace(x2) print(s) #행렬식 ans = lin.det(x2) print(ans) #고유치, 고유벡터 x3 = np.array([[1,2,1],[6,-1,0],[-1,-2,-1]]) print(lin.eig(x3)) #연립방정식 구하기 x4 = np.array([[3,2,1], [1,-1,3],[5,4,-2]]) x5 = np.array([7,3,1]) lin.solve(x4,x5) | cs |
결과
[[-0.48507125 -0.80845208 -0.33333333]
[ 0.48507125 -0.56591646 0.66666667]
[-0.72760688 0.16169042 0.66666667]]
[[-4.12310563 -0.48507125 -0.24253563]
[ 0. -2.18282063 -0.40422604]
[ 0. 0. 1.33333333]]
4
12.0
(array([ -4.00000000e+00, 3.00000000e+00, 1.71642331e-16]),
array([[ 0.40824829, -0.48507125, -0.0696733 ],
[-0.81649658, -0.72760688, -0.41803981],
[-0.40824829, 0.48507125, 0.90575292]])
)
array([-3., 6., 4.])