이번 포스팅에서는 matrix를 이용한 연산 중, 덧셈, scalar multiple, 곱셈에 대해서 알아보겠습니다.
1) Matrix Equality
Matrix를 연산하기 위해서는 먼저 두 matrix가 같다를 정의해야 합니다.
Definition : Equality of matrices
다음의 조건을 만족할 때, 두 matrix A,B가 같다고 정의합니다.
(1) A,B의 matrix size가 같아야 한다.
(2) 각각의 matrix의 같은 위치에 있는 column이 같아야 한다.
A의 행과 열의 수와 B의 행과 열의 수 같고, 같은 위치에 있는 column, 또는 같은 위치에 있는 entry 값이 같은 경우 A와 B는 같다고 정의합니다.
2) Sum of matrices, Scalar multiple
Definition : Sum of matrices
A,B가 m×n matrix인 경우, A+B는 m×n matrix이고, A+B의 column은 A의 column과 B의 column의 합으로 나타내어집니다.
즉, A+B의 j번째 column은 A의 j번 째 column과 B의 j번 째 column의 합입니다.
이를 entry로 설명하면, A+B의 (i,j) entry는 A의 (i,j) entry와 B의 (i,j) entry의 합입니다.
따라서, 두 matrix의 합을 정의하기 위해서는 A,B의 matrix size(행과 열 개수)가 같아야 정의합니다. 만약 matrix size가 다르면, matrix의 합을 정의하지 않습니다.
example
[413223]+[−2−31−243]=[2−24066]
[413223]+[−2−31−2]: not defined
Definition : Scalar Multiple
r이 scalar값이고, A가 matrix인 경우, scalar multiple rA은 column이 A의 각각의 column에 r scalar배를 한 matrix입니다.
즉, rA의 j번 째 column은 A의 j번 째 column에 r을 곱한 값입니다.
이를 entry로 설명하면, rA의 (i,j) entry는 A의 (i,j) entry에 r을 곱한 값입니다.
matrix sum과 scalar multiple을 동시에 적용하면 matrix의 일반적인 합, 차, scalar multiple을 계산할 수 있습니다.
example
A=[120234],B=[−12513−4]
일 때,
A−2B=A+(−2B)=[120234]+[2−4−10−2−68]=[3−2−100−312]
으로 계산할 수 있습니다.
Properties of sum and scalar multiples of matrices
matrix의 합과 scalar multiple에는 다음과 같은 성질을 가지고 있습니다.
A,B,C가 같은 size의 matrix이고, r,s가 scalar 값일 때
- A+B=B+A : 덧셈에 대한 교환법칙이 성립합니다.
- (A+B)+C=A+(B+C) : 덧셈에 대한 결합법칙이 성립합니다.
- A+0=A : Zero matrix는 덧셈에 대한 항등원입니다.
- r(A+B)=rA+rB : 덧셈에 대해 분배법칙이 성립합니다.
- (r+s)(A)=rA+sA : scalar multiple에 대해 분배법칙이 성립합니다.
- r(sA)=(rs)A : scalar끼리 곱한 후 matrix에 곱한 것과 scalar multiple을 연속적으로 행한 것의 결과가 같습니다.
3) Matrix multiplication
Definition : Matrix multiplication
If A is an m×n matrix, and if B is an n×p matrix with columns b1,b2,...,bp, then the product AB is m×p matrix whose column is Ab1,Ab2,...,Abp
AB=[Ab1Ab2...Abp]
위와 같이 AB의 column은 A와 B의 column의 곱으로 정의됩니다. 따라서, AB가 정의되기 위해서는 Abj가 정의되어야 하기 때문에, A의 column 개수와 B의 row 개수가 같아야지 두 matrix의 곱이 정의됩니다. 만약 A의 column 개수와 B의 row 개수가 다르다면, AB는 정의되지 않습니다. 또한 Abj의 성분 개수는 m, 즉 Abj∈Rm 이므로, AB는 m×p matrix입니다.
example
B=[−12513−4], C=⎣⎢⎡13202−1⎦⎥⎤
에서, BC는
Bc1=[−12513−4]⎣⎢⎡132⎦⎥⎤=1[−12]+3[51]+2[3−4]=[20−3]
Bc2=[−12513−4]⎣⎢⎡02−1⎦⎥⎤=0[−12]+2[51]+(−1)[3−4]=[76]
따라서
BC=[Bc1Bc2]=[20−376]
입니다.
matrix multiplicaion AB의 각각의 column을 보면, A column들의 linear combination인 것을 알 수 있습니다. 이 때 AB의 j번 째 column은 weight가 bj인 A의 column들의 linear combination입니다.
즉, AB의 column이 A의 column들의 linear comination으로 표현되기 때문에, AB가 정의되려면 A의 column 개수와 B의 row 개수가 같아야만 정의됩니다. 또한 Abj의 성분 개수가 m개이고, j가 1에서 p까지 존재하기 때문에 AB는 m×p matrix가 됩니다.
(1) Row Column rule for computing AB
위와 같이 matrix multiplication을 정의한 것과 결과가 똑같이 나오는 계산 방법이 있습니다.
If a product AB is defined, then the entry in row i and column j of AB is the sum of the products of corresponding entries from row i of A and column j of B
AB가 정의되면, AB의 (i,j) entry는 A의 i번 째 row와 B의 j번 째 column의 같은 위치에 존재하는 성분끼리 곱한 후 모두 더하여 구할 수 있습니다.
A의 i번 째 row가
[ai1ai2...ain]
이고, B의 j번 째 column이
⎣⎢⎢⎢⎢⎡b1jb2j⋮bnj⎦⎥⎥⎥⎥⎤
일 때, AB의 (i,j) entry는
ai1b1j+ai2b2j+⋯+ainbnj=Σknaikbkj
입니다.
example
B=[−12513−4], C=⎣⎢⎡13202−1⎦⎥⎤
BC의 (1,1) entry는
−1×1+5×3+3×2=20
BC의 (1,2) entry는
−1×0+5×2+3×(−1)=7
BC의 (2,1) entry는
2×1+1×3+(−4)×2=−3
마지막으로 BC의 (2,2) entry는
2×0+1×2+(−4)×(−1)=6
따라서,
BC=[20−376]
가 됩니다.
Properties of multiplication
A가 m×n matrix이고, B와 C가 각각의 성질에서 product가 정의가 되도록 조정되는 matrix일 때 다음의 성질을 가집니다.
- A(BC)=(AB)C : matrix multiplication에는 결합법칙이 성립합니다.
- A(B+C)=AB+AC : matrix multiplication에 대해 분배법칙이 성립합니다.
- (B+C)A=BA+BC : matrix multiplication에 대해 분배법칙이 성립합니다. (곱셈 순서 중요!)
- r(AB)=A(rB)=(rA)B for any scalar r : scalar multiple의 경우 어느 순서에 진행하든 matrix multiplication에 영향을 주지 않습니다.
- ImA=A=AIn : identity matrix는 matrix multiplication의 항등원입니다.
Matrix multiplication에서 유의깊게 보아야 할 성질은 다음과 같습니다.
실수 체계에서는 곱셈에 대한 교환법칙이 성립하지만, matrix 곱셈에서는 교환법칙 AB=BA가 성립되지 않습니다.
example
A: m×n matrix, B: n×p matrix, m=p
이 경우 AB는 정의되지만 BA는 정의되지 않습니다. 따라서 교환법칙이 성립되지 않습니다.
- AB=AC⇒B=C 명제가 성립하지 않습니다.
실수 체계에서는 A=0인 경우를 제외하고는 AB=AC이면 B=C입니다. 하지만 행렬의 곱셈에서는 B=C임에도 AB=AC를 만족하는 경우가 존재합니다.
example
A=[1000], B=[1023], C=[1021]
인 경우
AB=[1020], AC=[1020]
으로 B=C지만 AB=AC입니다.
- AB=0⇒A=0 or B=0 명제가 성립하지 않습니다.
실수 체계에서는 AB=0인 경우 A 또는 B가 0입니다. 하지만 행렬에서는 A=0, B=0임에도 AB=0인 경우가 존재합니다.
example
A=[1000], B=[0100]
인 경우
AB=[0000]
이 됩니다. A=0, B=0이지만 AB=0입니다.
지금까지 matrix 연산 중 addition, scalar multiplication, multiplication에 대해 알아보았습니다. 다음 포스트에서는 matrix의 연산 중 transpose와 trace에 대해 알아보겠습니다. 질문이나 오류 있으면 댓글 남겨주세요! 감사합니다!