logo

블록 행렬 📂행렬대수

블록 행렬

정의

$A$를 $m \times n$ 행렬이라고 하자.

$$ A = \begin{bmatrix} a_{11} & a_{12} & \cdots & a_{1n} \\ a_{21} & a_{22} & \cdots & a_{2n} \\ \vdots & \vdots & \ddots & \vdots \\ a_{m1} & a_{m2} & \cdots & a_{mn} \\ \end{bmatrix} $$

이때 다음과 같이 행렬을 자르는 임의의 수직선, 수평선들을 생각하자.

$$ A = \left[ \begin{array}{cc|ccc|c|} a_{11} & a_{12} & a_{13} & a_{14} & a_{15} & \cdots & a_{1n-1} & a_{1n} \\ a_{21} & a_{22} & a_{23} & a_{24} & a_{25} & \cdots & a_{2n-1} & a_{2n} \\ \hline a_{31} & a_{32} & a_{33} & a_{34} & a_{35} & \cdots & a_{3n-1} & a_{3n} \\ a_{41} & a_{42} & a_{43} & a_{44} & a_{45} & \cdots & a_{4n-1} & a_{4n} \\ \hline \vdots & \vdots & \vdots & \vdots & \vdots & \ddots & \vdots & \vdots & \\ \hline a_{m1} & a_{m2} & a_{m3} & a_{m4} & a_{m5} & \cdots & a_{m-1n} & a_{mn} \end{array} \right] $$

이때 각각의 선들로 잘려진 부분들을 $A$의 블록block이라고 한다.

$$ A_{11} = \begin{bmatrix} a_{11} & a_{12} \\ a_{21} & a_{22} \end{bmatrix},\quad A_{12} = \begin{bmatrix} a_{13} & a_{14} & a_{15}\\ a_{23} & a_{24} & a_{25} \end{bmatrix},\quad \cdots,\quad A_{kl} = \begin{bmatrix} a_{m-1n} & a_{mn}\end{bmatrix} $$

행렬 $A$를 다음과 같이 블록으로 표현한 것을 블록 행렬block matrix이라고 한다.

$$ A = \begin{bmatrix} A_{11} & A_{12} & \cdots & A_{1l} \\ A_{21} & A_{22} & \cdots & A_{2l} \\ \vdots & \vdots & \ddots & \vdots \\ A_{k1} & A_{k2} & \cdots & A_{kl} \\ \end{bmatrix} $$

설명

행렬을 블록 행렬로 다루는 것은 행렬 계산을 쉽게 해준다. 실제로 블록행렬의 계산도 행렬을 계산하는 것처럼 하면 된다.

$$ A = \begin{bmatrix} A_{11} & A_{12} \\ A_{21} & A_{22} \end{bmatrix}\quad \text{and} \quad B = \begin{bmatrix} B_{11} & B_{12} \\ B_{21} & B_{22} \end{bmatrix} \\[1em] \implies AB = \begin{bmatrix} A_{11}B_{11} + A_{12}B_{21} & A_{11}B_{12} + A_{12}B_{22} \\ A_{21}B_{11} + A_{22}B_{21} & A_{21}B_{12} + A_{22}B_{22} \end{bmatrix} $$

따라서 행렬을 영행렬이나 항등행렬이 포함된 블록 행렬꼴로 바꾸면 행렬곱을 쉽게 계산할 수 있다.

$$ A = \begin{bmatrix} A_{11} & I \\ O & A_{22} \end{bmatrix}\quad \text{and} \quad B = \begin{bmatrix} B_{11} & B_{12} \\ B_{21} & B_{22} \end{bmatrix} \\[1em] \implies AB = \begin{bmatrix} A_{11}B_{11} + B_{21} & A_{11}B_{12} + B_{22} \\ A_{22}B_{21} & A_{22}B_{22} \end{bmatrix} $$

행렬을 행벡터와 열벡터로 쪼갠 것도 블록행렬이다.

$$ \begin{align*} A =& \begin{bmatrix} a_{11} & a_{12} & \cdots & a_{1n} \\ a_{21} & a_{22} & \cdots & a_{2n} \\ \vdots & \vdots & \ddots & \vdots \\ a_{m1} & a_{m2} & \cdots & a_{mn} \end{bmatrix} = \begin{bmatrix} \mathbf{r}_{1} \\ \mathbf{r}_{2} \\ \vdots \\ \mathbf{r}_{m} \end{bmatrix} \\ =& \begin{bmatrix} \mathbf{c}_{1} & \mathbf{c}_{2} & \cdots & \mathbf{c}_{n} \end{bmatrix} \end{align*} $$

따라서 $A \mathbf{x}$를 다음과 같이 표현할 수 있다.

$$ \begin{align*} A \mathbf{x} &= \begin{bmatrix} \mathbf{c}_{1} & \mathbf{c}_{2} & \cdots & \mathbf{c}_{n} \end{bmatrix} \begin{bmatrix} x_{1} \\ x_{2} \\ \vdots \\ x_{n} \end{bmatrix} \\ &= \sum_{i}^{n} x_{i}\mathbf{c}_{i} \end{align*} $$

또한 $A$를 $m \times p$ 행렬이고 $\mathbf{a}_{i}$를 $A$의 행벡터라고 하고, $B$를 $p \times n$ 행렬이고 $\mathbf{b}_{i}$를 $B$의 열벡터라고 하자. 그러면 두 행렬의 곱은 다음과 같다.

$$ AB = \begin{bmatrix} \mathbf{a}_{1} \\ \mathbf{a}_{2} \\ \vdots \\ \mathbf{a}_{m} \end{bmatrix} \begin{bmatrix} \mathbf{b}_{1} & \mathbf{b}_{2} & \cdots & \mathbf{b}_{n} \end{bmatrix} = \begin{bmatrix} \mathbf{a}_{1} \mathbf{b}_{1} & \mathbf{a}_{1} \mathbf{b}_{2} & \cdots & \mathbf{a}_{1} \mathbf{b}_{n} \\ \mathbf{a}_{2} \mathbf{b}_{1} & \mathbf{a}_{2} \mathbf{b}_{2} & \cdots & \mathbf{a}_{2} \mathbf{b}_{n} \\ \vdots & \vdots & \ddots & \vdots \\ \mathbf{a}_{m} \mathbf{b}_{1} & \mathbf{a}_{m} \mathbf{b}_{2} & \cdots & \mathbf{a}_{m} \mathbf{b}_{n} \\ \end{bmatrix} $$

정리

$A = \begin{bmatrix} A_{1} & A_{2} \\ O & A_{3} \end{bmatrix}$를 블록행렬이라고 하자. 그 행렬식에 대해 다음이 성립한다.

$$ \det A = \det A_{1} \det A_{3} $$

따름정리

  • 블록행렬 $A = \begin{bmatrix} A_{1} & A_{2} \\ O & I \end{bmatrix}$의 행렬식은 $\det A_{1}$과 같다.
  • 행과 열에 순열을 취해 다음과 같은 꼴로 나타날수 있는 행렬 $A$ 을 축소가능행렬이라 하며, 그 행렬식 $\det A$ 은 $\det B \det D$ 혹은 $-\det B \det D$ 중 하나다. $$ \widetilde{A} = \begin{bmatrix} B & O \\ C & D \end{bmatrix} $$

증명

블록행렬 $A$를 다음과 같이 세 블록행렬의 곱으로 분해할 수 있다.

$$ \begin{align*} A &= \begin{bmatrix} A_{1} & A_{2} \\ O & A_{3} \end{bmatrix} \\ &= \begin{bmatrix} IA_{1} + OO & IA_{2} + OI \\ OA_{1} + A_{3}O & OA_{2} + A_{3}I \end{bmatrix} \\ &= \begin{bmatrix} I & O \\ O & A_{3} \end{bmatrix} \begin{bmatrix} A_{1} & A_{2} \\ O & I \end{bmatrix} \\ &= \begin{bmatrix} I & O \\ O & A_{3} \end{bmatrix} \begin{bmatrix} IA_{1} + A_{2}O & IO + A_{2}I \\ OA_{1} + IO & OO + II \end{bmatrix} \\ &= \begin{bmatrix} I & O \\ O & A_{3} \end{bmatrix} \begin{bmatrix} I & A_{2} \\ O & I \end{bmatrix} \begin{bmatrix} A_{1} & O \\ O & I \end{bmatrix} \end{align*} $$

곱의 행렬식은 행렬식의 곱과 같으므로

$$ \begin{align*} \det A &= \det \left( \begin{bmatrix} I & O \\ O & A_{3} \end{bmatrix} \begin{bmatrix} I & A_{2} \\ O & I \end{bmatrix} \begin{bmatrix} A_{1} & O \\ O & I \end{bmatrix} \right) \\ &= \det \left( \begin{bmatrix} I & O \\ O & A_{3} \end{bmatrix} \right) \det \left( \begin{bmatrix} I & A_{2} \\ O & I \end{bmatrix} \right) \det \left( \begin{bmatrix} A_{1} & O \\ O & I \end{bmatrix} \right) \end{align*} $$

여기서 행렬식의 라플라스 전개를 생각해보면

$$ \det \left( \begin{bmatrix} I & O \\ O & A_{3} \end{bmatrix} \right) = \det A_{3},\quad \det \left( \begin{bmatrix} A_{1} & O \\ O & I \end{bmatrix} \right) = \det A_{1}, $$

$$ \text{and} \quad \det \left( \begin{bmatrix} I & A_{2} \\ O & I \end{bmatrix} \right)=1 $$

임을 알 수 있다. 그러므로

$$ \det A = \det A_{1} \det A_{3} $$