<* Numpy 선형대수(벡터/행렬연산) 함수 *>
[ 1 ] 벡터연산(내적)
---< 예시 >---------------------------------------------
import numpy as np
x = np.array([1, 2, 3])
print(x)
__________________________________________________________
## [1 2 3]
y = np.array([6, 23,-1])
print(y)
## [ 6 23 -1]
print(x.dot(y.T) )# x'y
## 49
print(x.T.dot(y) )# x'y
## 49
[ 2 ] 행열 연산
---< 예시 >---------------------------------------------
import numpy as np
x = np.array([[1., 2., 3.], [4., 5., 6.]])
y = np.array([[6., 23.], [-1, 7], [8, 9]])
print(x)
___________________________________________________________
## [[1. 2. 3.]
## [4. 5. 6.]]
print(y)
## [[ 6. 23.]
## [-1. 7.]
## [ 8. 9.]]
print(x.dot(y)) # xy
## [[ 28. 64.]
## [ 67. 181.]]
print(y.dot(x)) # yx
## [[ 98. 127. 156.]
## [ 27. 33. 39.]
## [ 44. 61. 78.]]
[ 3 ] 역행렬
---< 예시 >---------------------------------------------
import numpy as np
from numpy.linalg import inv
np.random.seed()
X = np.array([[1,2,3],[1,0,0],[0,0,1]])
print(X)
_________________________________________________________
## [[1 2 3]
## [1 0 0]
## [0 0 1]]
Y = inv(X)
print(Y)
## [[ 0. 1. 0. ]
## [ 0.5 -0.5 -1.5]
## [ 0. 0. 1. ]]
X.dot(Y)
## array([[1., 0., 0.],
## [0., 1., 0.],
## [0., 0., 1.]])