행렬의 기본 연산들
1. 전치행렬
전치행렬(transpose)은 행과 열의 index를 서로 뒤바꾼 행렬
2. 행렬의 기본 수학연산
같은 차원을 가지는 두 행렬은 대응하는 성분끼리 연산이 가능하다
3. 행렬의 곱셈
행렬의 일반적인 곱셈은 조금 특이하게 정의된다.
두 행렬 $X,Y$의 행렬곱 $XY$는 $X$의 열의 수와 $Y$의 행의 수가 같을 때 정의되고
$X$의 $i$번째 행벡터와 $j$번째 열벡터의 내적을 성분으로 갖는다.
행렬의 곱셈은 교환법칙이 성립하지 않는다
numpy array에서 두 행렬의 곱은 @연산자를 활용
import numpy as np
X = np.array([[1,-2,3],[7,5,0],[-2,-1,2]])
Y = np.array([[0,1],[1,-1],[-2,1]])
X@Y ##matrix product
array([[-8, 6],
[-5, 2],
[-5, 1]])
X = np.array([[1,-2,3],[7,5,0],[-2,-1,2]])
Y = np.array([[0,1,2],[3,1,-1],[5,-2,1]])
X*Y ##hadamard product
array([[0, -2, 6],
[21, 5, 0],
[-10, 2, 2]])
두 행렬의 hadamard product은 * 연산자를 활용
np.inner은 두 행렬 $X,Y$에 대하여 $X$의 $i$번째 행벡터와 $Y$의 $j$번째 행벡터의 내적을 성분으로 가지는 행렬을 구해줌
import numpy as np
X = np.array([[1,-2,3],[7,5,0],[-2,-1,2]])
Y = np.array([[0,1,2],[3,1,-1],[5,-2,1]])
np.inner(X,Y)
array([[ 4, -2, 12],
[ 5, 26, 25],
[ 3, -9, -6]])
X@(Y.T)
array([[ 4, -2, 12],
[ 5, 26, 25],
[ 3, -9, -6]])
np.inner(X,Y)는 $X(Y^T)$와 같다
4. 항등행렬(identity matrix)
행렬 $I$는 모든 대각원소가 1이고 나머지는 0인 항등행렬
어떠한 행렬을 곱해도 자기자신으로 만든다
'선형대수학' 카테고리의 다른 글
무어-펜로즈 역행렬(Moore–Penrose pseudoinverse matrix) (0) | 2022.01.17 |
---|---|
선형변환으로서의 행렬이 가지는 의미 (0) | 2022.01.12 |
행렬의 기하학적 의미 (0) | 2022.01.10 |
벡터의 내적의 기하학적 의미 (0) | 2022.01.07 |
두 벡터 사이의 거리와 각도 (0) | 2022.01.06 |
TAGS.