2.4 Partitioned Matrix

Jaehyun_onelion·2023년 3월 17일
0

선형대수학

목록 보기
13/42

이번 포스트에서는 partitioned matrix에 대해 알아보겠습니다.


1) Partitioned matrix


Matrix의 row와 column을 쪼개어서, matrix 내부에 matrix가 존재하도록 partitioned matrix를 생각해볼 수 있습니다.


example

A=[301592524031863174]=[A11A12A21A22]A = \begin{bmatrix} 3 & 0 & 1 & 5 & 9 & -2 \\ -5 & 2& 4 &0 &-3 & 1 \\ -8 & -6 &3 & 1& 7 &-4\end{bmatrix} = \begin{bmatrix}A_{11} & A_{12} \\ A_{21} & A_{22} \end{bmatrix}

AA를 4개의 matrix A11,A12,A21,A22A_{11}, A_{12}, A_{21}, A_{22}로 나눌 수 있습니다. AA matrix에 수직선(partition할 열 구분), 수평선(partition할 행 구분)을 이용하여 partitioned matrix를 만들 수 있습니다.

A11=[30155240], A12=[9231] A21=[8631], A21=[74]A_{11}=\begin{bmatrix} 3 & 0 & 1 & 5 \\ -5 & 2 & 4 & 0\end{bmatrix}, \ A_{12}=\begin{bmatrix} 9 & -2 \\ -3 & 1 \end{bmatrix} \\ \ \\ A_{21}=\begin{bmatrix} -8 & -6 & 3 & 1\end{bmatrix}, \ A_{21}=\begin{bmatrix} 7 & 4\end{bmatrix}

A11,A12,A21,A22A_{11}, A_{12}, A_{21}, A_{22}는 4th column과 5th column 사이에 수직선을 그어 분리하고, 2th row와 3th row 사이 수평선을 그어 분리한 matrix입니다.

이 때, AAA11,A12,A21,A22A_{11}, A_{12}, A_{21}, A_{22}로 바꾸어 표현한 matrix를 partitioned matrix라고 하고, A11,A12,A21,A22A_{11}, A_{12}, A_{21}, A_{22}submatrix라고 합니다.


2) Operations of Partitioned Matrix


(1) Addition and Scalar Multiple


Partitioned matrix의 addition을 하려면, 같은 위치에 존재하는 submatrix의 size가 같아야 합니다. 그리고 결과는 같은 위치에 존재하는 submatrix의 합으로 나타납니다.

Scalar multiple의 경우 submatrix 각각에 scalar multiple을 하여 구할 수 있습니다.


example

A=[103201240013]=[A11A12A21A22], B=[301012440011]=[B11B12B21B22]A=\begin{bmatrix}1 & 0 & 3 &2 \\ 0 & -1 & 2 & 4 \\ 0 & 0 & 1 &3\end{bmatrix}=\begin{bmatrix}A_{11} & A_{12} \\ A_{21} & A_{22} \end{bmatrix}, \\ \ \\ B=\begin{bmatrix}3 & 0 & -1 & 0 \\ 1 & 2 & -4 & 4 \\ 0 & 0 & 1 & 1 \end{bmatrix}=\begin{bmatrix}B_{11} & B_{12} \\ B_{21} & B_{22} \end{bmatrix}

이 때

A11=[1001], A12=[3224] A21=[00], A22=[13]A_{11}=\begin{bmatrix}1 & 0 \\ 0 & -1 \end{bmatrix}, \ A_{12}=\begin{bmatrix}3 & 2 \\ 2 & 4 \end{bmatrix}\\ \ \\ A_{21}=\begin{bmatrix}0 & 0 \end{bmatrix}, \ A_{22}=\begin{bmatrix}1 & 3 \end{bmatrix}
B11=[3012], B12=[1044] B21=[00], B22=[11]B_{11}=\begin{bmatrix}3 & 0 \\ 1 & 2 \end{bmatrix}, \ B_{12}=\begin{bmatrix}-1 & 0 \\ -4 & 4 \end{bmatrix} \\ \ \\ B_{21}=\begin{bmatrix}0 & 0 \end{bmatrix}, \ B_{22}=\begin{bmatrix}1 & 1 \end{bmatrix}

와 같이 partitioned matrix로 만들었을 때, AijA_{ij}BijB_{ij}의 size가 모든 i, ji,\ j에 대해서 같기 때문에, A+BA+B

A+B=[A11A12A21A22]+[B11B12B21B22]=[A11+B11A12+B12A21+B21A22+B22]A+B=\begin{bmatrix}A_{11} & A_{12} \\ A_{21} & A_{22} \end{bmatrix}+\begin{bmatrix}B_{11} & B_{12} \\ B_{21} & B_{22} \end{bmatrix} = \begin{bmatrix}A_{11}+B_{11} & A_{12}+B_{12} \\ A_{21}+B_{21} & A_{22}+B_{22} \end{bmatrix}

와 같이 나타낼 수 있으며, 합의 결과는

A+B=[402211280024]A+B=\begin{bmatrix}4 & 0 & 2 &2 \\ 1 & 1 & -2 & 8 \\ 0 & 0 & 2 &4\end{bmatrix}

가 됩니다.

scalar multiple의 경우 모든 entry에 scalar rr을 곱하기 때문에, submatrix 각각에 rr을 곱한 것과 같은 결과를 얻습니다.

rA=r[A11A12A21A22]=[rA11rA12rA21rA22]rA=r\begin{bmatrix}A_{11} & A_{12} \\ A_{21} & A_{22} \end{bmatrix}=\begin{bmatrix}rA_{11} & rA_{12} \\ rA_{21} & rA_{22} \end{bmatrix}

(2) Multiplication


Partitioned matrix끼리의 곱셈을 진행할 때는 두 가지 조건이 필요합니다.

  1. Partitioned matrix의 entry를 matrix가 아닌 숫자로 생각하였을 때, 일반적인 matrix 곱 조건이 성립해야 합니다.
  2. 실제로 partitioned matrix의 multiplication을 진행할 때, submatrix끼리의 곱 조건이 성립해야 합니다.

위 조건이 만족되었을 때, partitoned matrix의 곱은 submatrix를 숫자로 생각하였을 때의 partitioned matrix의 곱을 진행하고, 그 결과 각 위치에 존재하는 submatrix끼리의 곱을 진행하여 얻을 수 있습니다.


example

A=[103201240013]=[A11A12A21A22], B=[12101001]=[B1B2]A=\begin{bmatrix}1 & 0 & 3 &2 \\ 0 & -1 & 2 & 4 \\ 0 & 0 & 1 &3\end{bmatrix}=\begin{bmatrix}A_{11} & A_{12} \\ A_{21} & A_{22} \end{bmatrix}, \\ \ \\ B=\begin{bmatrix}1 & 2 \\ -1 & 0 \\ 1 & 0 \\ 0 & 1\end{bmatrix}=\begin{bmatrix}B_1 \\ B_2\end{bmatrix}
A11=[1001], A12=[3224] A21=[00], A22=[13]A_{11}=\begin{bmatrix}1 & 0 \\ 0 & -1 \end{bmatrix}, \ A_{12}=\begin{bmatrix}3 & 2 \\ 2 & 4 \end{bmatrix} \\ \ \\ A_{21}=\begin{bmatrix}0 & 0 \end{bmatrix}, \ A_{22}=\begin{bmatrix}1 & 3 \end{bmatrix}
B1=[1210], B2=[1001]B_1=\begin{bmatrix}1 & 2 \\ -1 & 0\end{bmatrix}, \ B_2=\begin{bmatrix}1 & 0 \\ 0 & 1 \end{bmatrix}

이 때,

AB=[A11A12A21A22][B1B2]AB =\begin{bmatrix}A_{11} & A_{12} \\ A_{21} & A_{22} \end{bmatrix}\begin{bmatrix}B_1 \\ B_2 \end{bmatrix}

가 됩니다. 여기서, submatrix를 숫자로 생각하였을 때, 2×22 \times 2 matrix와 2×12 \times 1 matrix의 곱이므로 곱이 성립을 합니다. 따라서 곱을 진행하면

AB=[A11B1+A12B2A21B1+A22B2]AB = \begin{bmatrix}A_{11}B_1+A_{12}B_2 \\A_{21}B_1+A_{22}B_2 \end{bmatrix}

가 됩니다.

여기서, AijA_{ij}2×22 \times 2 matrix, BkB_k 또한 2×22 \times 2 matrix이므로 각각의 submatrix끼리의 곱이 성립합니다. 따라서 위를 계산해주면

A11B1=[1210], A12B2=[3224] A21B1=[00], A22B2=[13]A_{11}B_1=\begin{bmatrix} 1 & 2 \\ 1 & 0 \end{bmatrix}, \ A_{12}B_2=\begin{bmatrix} 3 & 2 \\ 2 & 4 \end{bmatrix}\\ \ \\ A_{21}B_1=\begin{bmatrix} 0 & 0 \end{bmatrix},\ A_{22}B_2=\begin{bmatrix} 1 & 3 \end{bmatrix}

가 되어

AB=[443413]AB = \begin{bmatrix}4 & 4 \\ 3 & 4 \\ 1 & 3\end{bmatrix}

가 됩니다.


(3) Row Column expansion of ABAB


Partitioned matrix를 이용하면 matrix multiplication.


  • Theorem

If AA is m×nm \times n matrix, and BB is n×pn \times p, then

AB=[col1Acol2A...colnA][row1(B)row2(B)rown(B)] =col1(A)row1(B)+col2(A)row2(B)++coln(A)rown(B)AB = \begin{bmatrix}col_1{A} & col_2{A} & ... & col_n{A} \end{bmatrix} \begin{bmatrix}row_1(B)\\ row_2(B) \\ \vdots \\ row_n(B)\end{bmatrix} \\ \ \\ =col_1(A)row_1(B)+col_2(A)row_2(B)+\cdots+col_n(A)row_n(B)

입니다. 이는 AA의 column을 기준으로 partiton한 matrix, BB의 row를 기준으로 partition한 matrix의 곱으로 생각해주면 됩니다.

colk(A)rowk(B)col_k(A)row_k(B) matrix는 m×nm \times n matrix로, (i,j)(i, j) entry가

(colk(A)rowk(B))ij=aikbkj(col_k(A)row_k(B))_{ij}=a_{ik}b_{kj}

입니다. 이를 모든 k=1,2,...,nk=1, 2, ..., n까지 더한 값이 ABAB(i,j)(i, j)th entry가 되고 이는

Σk=1naikbkj\Sigma_{k=1}^na_{ik}b_{kj}

입니다. 즉, AAiith row와 BBjjth column의 같은 위치에 존재하는 성분의 곱을 다 더한 값이 됩니다.


(4) Inverse of partitioned matrix


Partitioned matrix의 inverse 또한 partitoned matrix의 성질과 inverse의 정의를 이용하여 구할 수 있습니다.


example

A=[A11A120A22]A=\begin{bmatrix}A_{11} & A_{12} \\ 0 & A_{22}\end{bmatrix}

where A11A_{11} : p×pp \times p, A22A_22 : q×qq \times q invertible matrix. 이 matrix의 inverse를 찾아보겠습니다.

inverse의 정의에 의해

AA1=A1A=IAA^{-1} = A^{-1}A=I

를 만족합니다.

A1=[X11X12X21X22]A^{-1}=\begin{bmatrix}X_{11} & X_{12} \\ X_{21} & X_{22} \end{bmatrix}

일 때,

AA1=[A11,A120A22][X11X12X21X22] =[A11X11+A12X21A11X12+A12X22A22X21A22X22] =[Ip00Iq]\begin{aligned} AA^{-1}&=\begin{bmatrix}A_{11}, & A_{12} \\ 0 & A_{22}\end{bmatrix}\begin{bmatrix}X_{11} & X_{12} \\ X_{21} & X_{22} \end{bmatrix} \\ \ \\ &=\begin{bmatrix}A_{11}X_{11}+A_{12}X_{21} & A_{11}X_{12}+A_{12}X_{22} \\ A_{22}X_{21} & A_{22}X_{22} \end{bmatrix} \\ \ \\ &= \begin{bmatrix}I_p & 0 \\ 0 & I_q \end{bmatrix} \end{aligned}

를 만족합니다. 따라서

A11X11+A12X21=IpA11X12+A12X22=0A22X21=0A22X22=IqA_{11}X_{11}+A_{12}X_{21}=I_p \\ A_{11}X_{12}+A_{12}X_{22}= 0 \\ A_{22}X_{21}=0 \\ A_{22}X_{22}=I_q

를 만족하는 X11,X12,X21,X22X_{11}, X_{12}, X_{21}, X_{22}A1A^{-1}의 submatrix가 됩니다.

A22A_{22}가 invertible하기 때문에,

X22=A221, X21=0X_{22}=A_{22}^{-1},\ X_{21}=0

입니다. 이를 X21X_{21}X22X_{22}에 대입하면

X11=A111X_{11}=A_{11}^{-1}
A11X12+A12A221=0X12=A111A12A221A_{11}X_{12}+A_{12}A_{22}^{-1}=0 \\ \Rightarrow X_{12}=-A_{11}^{-1}A_{12}A_{22}^{-1}

이 됩니다. 따라서

A1=[A111A111A12A2210A221]A^{-1} =\begin{bmatrix}A_{11}^{-1} & -A_{11}^{-1}A_{12}A_{22}^{-1} \\ 0 & A_{22}^{-1} \end{bmatrix}

이 됩니다.


example

A=[B00C]A=\begin{bmatrix}B & 0 \\ 0 & C\end{bmatrix}

where BB : p×pp \times p, CC : q×qq \times q invertible matrix

A1A^{-1}를 구하기 위해

A1=[X11X12X21X22]A^{-1}=\begin{bmatrix}X_{11} & X_{12} \\ X_{21} & X_{22} \end{bmatrix}

로 두고, AA1AA^{-1}을 구하면

AA1=[B00C][X11X12X21X22]=[BX11BX12CX21CX22]=[Ip00Iq]AA^{-1} =\begin{bmatrix}B & 0 \\ 0 & C\end{bmatrix}\begin{bmatrix}X_{11} & X_{12} \\ X_{21} & X_{22} \end{bmatrix} = \begin{bmatrix}BX_{11} & BX_{12} \\ CX_{21} & CX_{22} \end{bmatrix} = \begin{bmatrix}I_p & 0 \\ 0 & I_q \end{bmatrix}

를 만족합니다.

B,CB, C는 invertible하므로

X11=B1,X22=C1,X12=X21=0X_{11}=B^{-1}, X_{22}=C^{-1}, X_{12}=X_{21}=0

가 되어

A1=[B100C1]A^{-1} =\begin{bmatrix}B^{-1} & 0 \\ 0 & C^{-1}\end{bmatrix}

이 됩니다. 여기서 B,CB, C가 invertible하면 AA의 inverse 또한 존재하는 것을 알 수 있습니다.


지금까지 partitioned matrix에 대해 알아보았습니다. 다음 포스트에서는 determinant에 대해서 알아보겠습니다. 질문이나 오류 있으면 댓글 남겨주세요! 감사합니다!

profile
데이터 분석가 새싹

0개의 댓글