1. Inverse Matrix
from scipy.linalg import inv
inv([[1, 2], [3, 4]])
2. Determinant
from scipy.linalg import det
det([[1, 2], [3, 4]])
3. Norm
from scipy.linalg import norm
norm([3, 4]) # L2 노름
4. Orthogonal Matrix
from scipy.linalg import orth
orth([[1, 2], [3, 4]])
5. Eigen Value, Eigen Vector
from scipy.linalg import eig
eig([[1, 2], [2, 1]])
6. Singular Value Decomposition(SVD)
from scipy.linalg import svd
svd([[1, 2], [3, 4]])
7. QR Decomposition
from scipy.linalg import qr
qr([[1, 2], [3, 4]])
8. LU Decomposition
from scipy.linalg import lu
lu([[1, 2], [3, 4]])
9. Cholesky Decomposition
from scipy.linalg import cholesky
cholesky([[4, 2], [2, 3]])
10. Moore-Penrose Inverse Matrix
from scipy.linalg import pinv
pinv([[1, 2], [3, 4]])
11. Null space
from scipy.linalg import null_space
null_space([[1, 2], [3, 4]])
12. Rank( = 열공간, 행공간의 차원과 같다.)
from numpy.linalg import matrix_rank
print(matrix_rank(A)) # 행렬의 랭크
13. SVD결과에 대한 Diagonal Matrix
from scipy.linalg import diagsvd
diagsvd([1, 2], 2, 2)
14. Block Diagonal Matrix
from scipy.linalg import block_diag
block_diag([[1, 0], [0, 1]], [[2, 3], [4, 5]])
15. 열 공간 차원 및 기저 구하기
import numpy as np
from scipy.linalg import svd
# 행렬 정의
A = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
# SVD 분해
U, S, Vt = svd(A)
# 열 공간의 기저 (Basis)
column_basis = U[:, :np.sum(S > 1e-10)]
print("열 공간 기저:\n", column_basis)
# 열 공간의 차원 (Rank)
column_dimension = column_basis.shape[1]
print("열 공간 차원:", column_dimension)
#######################################
from scipy.linalg import qr
Q, R = qr(A) # QR 분해
print("열 공간:\n", Q)
16. 행공간 차원 및 기저 구하기
import numpy as np
from scipy.linalg import svd
# 행 공간 구하기
_, S, Vt = svd(A)
# 행 공간의 기저 (Basis)
row_basis = Vt[:np.sum(S > 1e-10), :]
print("행 공간 기저:\n", row_basis)
# 행 공간의 차원
row_dimension = row_basis.shape[0]
print("행 공간 차원:", row_dimension)
####################################
from scipy.linalg import qr
Q, R = qr(A.T) # 전치 행렬 사용
print("행 공간:\n", Q.T)
17. 영공간 차원 및 기저 구하기
from scipy.linalg import null_space
# 영공간 기저 구하기
null_basis = null_space(A)
print("영공간 기저:\n", null_basis)
# 영공간 차원
null_dimension = null_basis.shape[1]
print("영공간 차원:", null_dimension)
'Data Science' 카테고리의 다른 글
SciPy) 자주 사용하는 기능들 - 거리 (0) | 2024.12.29 |
---|---|
SciPy) 자주 사용하는 기능들 - 최적화 (0) | 2024.12.29 |