맨위로가기

블록 행렬

"오늘의AI위키"는 AI 기술로 일관성 있고 체계적인 최신 지식을 제공하는 혁신 플랫폼입니다.
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.

1. 개요

블록 행렬은 행렬을 여러 개의 블록, 즉 소행렬로 분할하여 표현한 것이다. 블록 행렬은 덧셈, 곱셈, 전치 등의 연산이 가능하며, 특히 블록 곱셈은 왼쪽 행렬의 열 분할과 오른쪽 행렬의 행 분할이 일치해야 한다. 블록 대각 행렬, 블록 삼각 행렬, 블록 삼대각 행렬, 블록 토플리츠 행렬, 블록 한켈 행렬 등 다양한 종류가 있으며, 행렬식, 역행렬 등을 계산하는 데 유용하게 사용된다.

2. 정의

K 위의 m \times n 행렬 M \in \operatorname{Mat}(m, n; K)가 주어졌을 때,

:m = m_1 + m_2 + \cdots + m_p

:n = n_1 + n_2 + \cdots + n_q \qquad (m_i, n_i \in \mathbb{Z}^+)

라고 하면, M은 다음과 같은 '''블록 행렬'''로 나타낼 수 있다.

:M =

\begin{pmatrix}

M_{11} & M_{12} & \cdots & M_{1q} \\

M_{21} & M_{22} & \cdots & M_{2q} \\

\vdots & \vdots & & \vdots \\

M_{p1} & M_{p2} & \cdots & M_{pq}

\end{pmatrix}

여기서 M_{ij}m_i \times n_j 행렬이다.

예시로, 행렬

:\mathbf{P} = \begin{bmatrix}

1 & 2 & 2 & 7 \\

1 & 5 & 6 & 2 \\

3 & 3 & 4 & 5 \\

3 & 3 & 6 & 7

\end{bmatrix}

는 다음과 같이 네 개의 블록으로 나눌 수 있다.

:\mathbf{P} = \left[

\begin{array}{cc|cc}

1 & 2 & 2 & 7 \\

1 & 5 & 6 & 2 \\

\hline

3 & 3 & 4 & 5 \\

3 & 3 & 6 & 7

\end{array}

\right]

이 분할에 의해, P는 다음과 같이 네 개의 2×2 블록으로 분할된다.

:

\mathbf{P}_{11} = \begin{bmatrix}

1 & 2 \\

1 & 5

\end{bmatrix},\quad

\mathbf{P}_{12} = \begin{bmatrix}

2 & 7\\

6 & 2

\end{bmatrix},\quad

\mathbf{P}_{21} = \begin{bmatrix}

3 & 3 \\

3 & 3

\end{bmatrix},\quad

\mathbf{P}_{22} = \begin{bmatrix}

4 & 5 \\

6 & 7

\end{bmatrix}



따라서 분할된 행렬은

:\mathbf{P} = \begin{bmatrix}

\mathbf{P}_{11} & \mathbf{P}_{12} \\

\mathbf{P}_{21} & \mathbf{P}_{22}

\end{bmatrix}[7]

와 같이 쓸 수 있다.

또 다른 예시로, 4개의 행렬

:

A=\begin{bmatrix}

2 & -1 & 5 \\


  • 1 & 4 & 1 \\

8 & 1 & -2

\end{bmatrix}

,\quad

B=\begin{bmatrix}

  • 3 & 6 \\

1 & 3 \\

4 & 1

\end{bmatrix}

, \quad

C=\begin{bmatrix}

  • 4 & 2 & 6

\end{bmatrix}

,\quad

D=\begin{bmatrix}

9 & 1

\end{bmatrix}



을 나열하여 만들 수 있는 4 × 5 행렬

:

\begin{bmatrix}

A & B\\

C & D

\end{bmatrix}

=\begin{bmatrix}

2 & -1 & 5 & & -3 & 6\\

  • 1 & 4 & 1 & & 1 & 3\\

8 & 1 & -2 & & 4 & 1\\

& & & & & \\

  • 4 & 2 & 6 & & 9 & 1

\end{bmatrix}



에서 ''A'', ''B'', ''C'', ''D''를 '''블록'''(또는 '''소행렬''')이라고 부르며, 이러한 블록들로 구성된 행렬을 '''블록 행렬'''이라고 한다. 행렬을 블록으로 나누는 것을 '''구분'''이라고 한다.

일반적으로 2x2 형태의 블록 행렬 분할이 자주 사용되며, 특히 A_{11}이 스칼라인 경우가 많다.

:A = \begin{bmatrix}

a_{11} & a_{12}^T \\

a_{21} & A_{22}

\end{bmatrix}

2. 1. 분할 방법

A \in \mathbb{C}^{m \times n}인 경우, A의 '''분할'''은 A를 다음과 같은 형태로 표현하는 것이다.

:A = \begin{bmatrix}

A_{11} & A_{12} & \cdots & A_{1q} \\

A_{21} & A_{22} & \cdots & A_{2q} \\

\vdots & \vdots & \ddots & \vdots \\

A_{p1} & A_{p2} & \cdots & A_{pq}

\end{bmatrix}

여기서 A_{ij} \in \mathbb{C}^{m_i \times n_j}는 연속적인 부분 행렬이며, \sum_{i=1}^{p} m_i = m이고, \sum_{j=1}^{q} n_j = n이다.[8] 이때, 분할의 요소 A_{ij}를 '''블록'''이라고 부른다.[8]

이 정의에 따르면, 한 열에 있는 모든 블록은 열의 개수가 같아야 하고, 한 행에 있는 블록은 행의 개수가 같아야 한다.[8]

행렬은 다양한 방식으로 분할될 수 있는데,[8] 예를 들어 행렬 A를 다음과 같이 나타낼 때 '''열별 분할'''되었다고 한다.

:A = (a_1 \ a_2 \ \cdots \ a_n)

여기서 a_jAj번째 열이다.[8]

행렬은 '''행별 분할'''될 수도 있다.

:A = \begin{bmatrix}

a_1^T \\

a_2^T \\

\vdots \\

a_m^T

\end{bmatrix}

여기서 a_i^TAi번째 행이다.[8]

일반적인 구분에서는 행과 열을 각각 몇 개로 분할해도 좋다. A_{ij}들을 블록으로 하는 블록 행렬

:

\begin{bmatrix}

A_{1 1} & A_{1 2} & \cdots & A_{1 q} \\

A_{2 1} & A_{2 2} & \cdots & A_{2 q} \\

\vdots & \vdots & \ddots & \vdots \\

A_{p 1} & A_{p 2} & \cdots & A_{p q}

\end{bmatrix}



은 이러한 구분 방법의 일반적인 형태이다. 단, 같은 행에 있는 블록의 행 수는 같아야 하며, 같은 열에 있는 블록의 열 수는 같아야 한다. A_{i j}m_i \times n_j 행렬인 경우, 이 형태의 구분을 (m_1, …, m_q; n_1, …, n_r)형이라고 부른다.

3. 종류

특별한 성질을 만족하는 블록 행렬에는 다음과 같은 종류가 있다.


  • 블록 대각 행렬: 대각선 이외의 모든 행렬 블록이 영행렬인 블록 행렬이다. 행과 열의 분할이 자명할 경우 이는 대각 행렬이 된다.
  • 블록 상(하)삼각 행렬: 대각선 아래(위)의 모든 행렬 블록이 영행렬인 블록 행렬이다. 행과 열의 분할이 자명할 경우 이는 상(하)삼각 행렬이 된다.


정사각 행렬 ''P''를 다음과 같이 대칭 구분할 수 있다.

:

P=\begin{bmatrix}

A_{1 1} & A_{1 2} & \dots & A_{1 r} \\

A_{2 1} & A_{2 2} & \dots & A_{2 r} \\

\vdots & \vdots & \ddots & \vdots \\

A_{r 1} & A_{r 2} & \dots & A_{r r}

\end{bmatrix}



여기서 주대각선상의 블록 ''A''1 1, ''A''2 2, …, ''A''''r r''는 모두 정사각 행렬이다.

주대각선 아래의 블록이 모두 영행렬일 경우, ''P''의 행렬식은 다음과 같다.

:

|P|=\prod_{k=1}^r |A_{k k}|



따라서, 이러한 ''P''가 가역이기 위한 필요충분 조건은, 주대각선상의 블록이 모두 가역인 것이다.

3. 1. 블록 대각 행렬

'''블록 대각 행렬'''은 주대각 블록이 정사각 행렬이고 비대각 블록이 모두 영행렬인 블록 행렬이다.[18] 즉, 블록 대각 행렬 '''A'''는 다음과 같은 형태를 가진다.

:{A} = \begin{bmatrix}

{A}_1 & {0} & \cdots & {0} \\

{0} & {A}_2 & \cdots & {0} \\

\vdots & \vdots & \ddots & \vdots \\

{0} & {0} & \cdots & {A}_n

\end{bmatrix}

여기서 '''A'''''k''는 모든 ''k'' = 1, ..., ''n''에 대해 정사각 행렬이다.

행렬 '''A'''는 '''A'''1, ..., '''A'''''n''의 직합으로 볼 수 있으며,[18] '''A'''1 ⊕ '''A'''2 ⊕ ... ⊕ '''A'''''n''[19] 또는 diag('''A'''1, '''A'''2, ..., '''A'''''n'')으로도 나타낼 수 있다(후자는 대각 행렬과 같은 표기법이다).[19] 임의의 정사각 행렬은 단일 블록을 가진 블록 대각 행렬로 생각할 수 있다.

블록 대각 행렬의 행렬식대각합은 다음과 같은 성질을 갖는다.

:\begin{align}

\det{A} &= \det{A}_1 \times \cdots \times \det{A}_n,

\end{align}[20][21]

:\begin{align}

\operatorname{tr}{A} &= \operatorname{tr} {A}_1 + \cdots + \operatorname{tr} {A}_n.\end{align}[18][21]

블록 대각 행렬은 주대각 블록 각각이 가역일 경우에만 가역적이며, 이 경우 역행렬은 다음과 같이 주어진 또 다른 블록 대각 행렬이다.

:\begin{bmatrix}

{A}_{1} & {0} & \cdots & {0} \\

{0} & {A}_{2} & \cdots & {0} \\

\vdots & \vdots & \ddots & \vdots \\

{0} & {0} & \cdots & {A}_{n}

\end{bmatrix}^{-1} = \begin{bmatrix}

{A}_{1}^{-1} & {0} & \cdots & {0} \\

{0} & {A}_{2}^{-1} & \cdots & {0} \\

\vdots & \vdots & \ddots & \vdots \\

{0} & {0} & \cdots & {A}_{n}^{-1}

\end{bmatrix}.

[22]

{A}의 고유값[27]과 고유벡터는 단순히 {A}_k들의 고유값과 고유벡터를 결합한 것이다.[21]

3. 2. 블록 삼각 행렬

삼각 행렬도 참조

행렬 A는 다음과 같이 표현될 때 '''상부 블록 삼각 행렬'''(또는 '''블록 상부 삼각 행렬'''[26])이라고 한다.

:A = \begin{bmatrix}

A_{11} & A_{12} & \cdots & A_{1k} \\

0 & A_{22} & \cdots & A_{2k} \\

\vdots & \vdots & \ddots & \vdots \\

0 & 0 & \cdots & A_{kk}

\end{bmatrix}

여기서 모든 i, j = 1, \ldots, k에 대해 A_{ij} \in \mathbb{F}^{n_i \times n_j}가 성립한다.[27][26]

행렬 A는 다음과 같은 형태를 가질 때 '''하부 블록 삼각 행렬'''(또는 '''블록 하부 삼각 행렬'''[26])이라고 한다.

:A = \begin{bmatrix}

A_{11} & 0 & \cdots & 0 \\

A_{21} & A_{22} & \cdots & 0 \\

\vdots & \vdots & \ddots & \vdots \\

A_{k1} & A_{k2} & \cdots & A_{kk}

\end{bmatrix}

여기서 모든 i, j = 1, \ldots, k에 대해 A_{ij} \in \mathbb{F}^{n_i \times n_j}이다.[27]

정사각 행렬 ''P''의 구분

:

P=\begin{bmatrix}

A_{1 1} & A_{1 2} & \dots & A_{1 r} \\

A_{2 1} & A_{2 2} & \dots & A_{2 r} \\

\vdots & \vdots & \ddots & \vdots \\

A_{r 1} & A_{r 2} & \dots & A_{r r}

\end{bmatrix}



에서 주대각선상의 블록 ''A''1 1, ''A''2 2, … ''A''''r r''가 모두 정사각 행렬일 때, 이를 '''대칭 구분'''이라고 한다. 특히, 주대각선 아래의 블록이 모두 영행렬일 경우, 그 행렬식에 대해

:

|P|=\prod_{k=1}^r |A_{k k}|



이 성립한다. 따라서, 그러한 ''P''가 가역이기 위한 필요충분 조건은, 주대각선상의 블록이 모두 가역인 것이다.

3. 3. 블록 삼대각 행렬

'''블록 삼대각 행렬'''은 특수한 블록 행렬의 일종으로, 정사각 행렬과 유사하게 하부 대각선, 주대각선, 상부 대각선에 정사각 행렬(블록)을 가지며, 다른 모든 블록은 영행렬이다. 이는 본질적으로 삼대각 행렬이지만 스칼라 대신 부분 행렬을 가진다. 블록 삼대각 행렬 ''A''는 다음과 같은 형태를 가진다.

:A = \begin{bmatrix}

B_{1} & C_{1} & & & \cdots & & 0 \\

A_{2} & B_{2} & C_{2} & & & & \\

& \ddots & \ddots & \ddots & & & \vdots \\

& & A_{k} & B_{k} & C_{k} & & \\

\vdots & & & \ddots & \ddots & \ddots & \\

& & & & A_{n-1} & B_{n-1} & C_{n-1} \\

0 & & \cdots & & & A_{n} & B_{n}

\end{bmatrix}

여기서 A_{k}, B_{k}, C_{k}는 각각 하부, 주, 상부 대각선의 정사각 부분 행렬이다.

블록 삼대각 행렬은 전산 유체 역학과 같은 공학 문제의 수치적 해법에서 자주 나타난다. LU 분해를 위한 최적화된 수치적 방법이 있으며, 따라서 블록 삼대각 행렬을 계수 행렬로 갖는 방정식 시스템에 대한 효율적인 해법 알고리즘이 있다. 삼대각 행렬을 포함하는 방정식 시스템의 효율적인 해법에 사용되는 토마스 알고리즘은 행렬 연산을 사용하여 블록 삼대각 행렬에도 적용될 수 있다(블록 LU 분해 참조).

3. 4. 블록 토플리츠 행렬

토플리츠 행렬도 참조

'''블록 토플리츠 행렬'''은 행렬의 대각선을 따라 반복되는 블록을 포함하는 특수한 블록 행렬이다. 이는 토플리츠 행렬이 대각선을 따라 반복되는 원소를 갖는 것과 유사하다.[27]

행렬 A가 '''블록 토플리츠'''일 조건은 모든 k - i = l - j에 대해 A_{(i,j)} = A_{(k,l)}가 성립하는 것이다. 즉, 다음과 같다.

:A = \begin{bmatrix}

A_1 & A_2 & A_3 & \cdots \\

A_4 & A_1 & A_2 & \cdots \\

A_5 & A_4 & A_1 & \cdots \\

\vdots & \vdots & \vdots & \ddots

\end{bmatrix}

여기서 A_i \in \mathbb{F}^{n_i \times m_i}이다.[27]

3. 5. 블록 한켈 행렬

한켈 행렬

행렬 A는 모든 i + j = k + l에 대해 A_{(i,j)} = A_{(k,l)}인 경우 '''블록 한켈 행렬'''이다. 즉, 반대각선 방향으로 같은 블록이 반복되는 형태이다.

:A = \begin{bmatrix}

A_1 & A_2 & A_3 & \cdots \\

A_2 & A_3 & A_4 & \cdots \\

A_3 & A_4 & A_5 & \cdots \\

\vdots & \vdots & \vdots & \ddots

\end{bmatrix}

여기서 A_i \in \mathbb{F}^{n_i \times m_i}이다.

4. 성질

블록 행렬의 분할은 주어진 행렬을 연속적인 부분 행렬, 즉 '블록'으로 나누어 표현하는 방법이다. A \in \mathbb{C}^{m \times n}인 행렬 A의 분할은 다음과 같이 나타낼 수 있다.

:A = \begin{bmatrix}

A_{11} & A_{12} & \cdots & A_{1q} \\

A_{21} & A_{22} & \cdots & A_{2q} \\

\vdots & \vdots & \ddots & \vdots \\

A_{p1} & A_{p2} & \cdots & A_{pq}

\end{bmatrix}

여기서 A_{ij} \in \mathbb{C}^{m_i \times n_j}는 블록을 나타내며, \sum_{i=1}^{p} m_i = m이고, \sum_{j=1}^{q} n_j = n이다.[8] 이때, 한 열에 있는 모든 블록은 열의 개수가 같아야 하고, 한 행에 있는 블록은 행의 개수가 같아야 한다.[8]

블록 행렬의 연산은 다음과 같이 이루어진다.


  • 전치: 블록 행렬의 전치 행렬은 각 블록을 전치하고, 블록의 위치를 행과 열을 바꾸어 배열한다. A의 전치 행렬은 다음과 같다.[8][19]


:A^T = \begin{bmatrix}

A_{11}^T & A_{21}^T & \cdots & A_{p1}^T \\

A_{12}^T & A_{22}^T & \cdots & A_{p2}^T \\

\vdots & \vdots & \ddots & \vdots \\

A_{1q}^T & A_{2q}^T & \cdots & A_{pq}^T

\end{bmatrix}

켤레 전치 행렬에 대해서도 동일한 식이 성립한다.[8]

  • 덧셈: 블록 행렬의 덧셈은 크기가 같은 블록끼리 더하는 방식으로 수행된다.
  • 곱셈: 블록 행렬의 곱셈은 일반적인 행렬 곱셈과 유사하게 수행되지만, 블록 간의 곱셈이 정의되도록 "적합" 분할이 필요하다.
  • 역행렬: 블록 행렬의 역행렬은 블록별 반전 공식을 통해 구할 수 있다. 이 공식은 Schur 보수를 이용하여 유도할 수 있다.
  • 행렬식: 블록 행렬의 행렬식은 블록의 크기와 위치에 따라 다양한 공식을 사용하여 계산할 수 있다.
  • A가 가역적이라면, 다음이 성립한다.

:\det\begin{bmatrix}A& B\\ C& D\end{bmatrix} = \det(A) \det\left(D - C A^{-1} B\right),[18]

  • D가 가역적이라면, 다음이 성립한다.

:\det\begin{bmatrix}A& B\\ C& D\end{bmatrix} = \det(D) \det\left(A - B D^{-1} C\right) .[15][18]

  • CD가 교환하는 경우(즉, CD=DC인 경우) 다음과 같다.

:\det\begin{bmatrix}A& B\\ C& D\end{bmatrix} = \det(AD - BC).[16]

  • A = D 이고 B=C인 경우, 다음 공식이 성립한다. (AB가 교환하지 않더라도)

:\det\begin{bmatrix}A& B\\ B& A\end{bmatrix} = \det(A - B) \det(A + B).[18]

각 연산에 대한 자세한 내용은 해당 항목(덧셈, 곱셈, 역행렬, 행렬식)을 참고할 수 있다.

4. 1. 덧셈

행렬 $A$와 $B$가 다음과 같이 주어졌다고 하자.

:A = \begin{bmatrix}

A_{11} & A_{12} & \cdots & A_{1q} \\

A_{21} & A_{22} & \cdots & A_{2q} \\

\vdots & \vdots & \ddots & \vdots \\

A_{p1} & A_{p2} & \cdots & A_{pq}

\end{bmatrix}

:B = \begin{bmatrix}

B_{11} & B_{12} & \cdots & B_{1s} \\

B_{21} & B_{22} & \cdots & B_{2s} \\

\vdots & \vdots & \ddots & \vdots \\

B_{r1} & B_{r2} & \cdots & B_{rs}

\end{bmatrix}

여기서 $B_{ij} \in \mathbb{C}^{m_i \times n_j}$이다.

만약 $p = r$, $q = s$, $k_i = m_i$, $\ell_j = n_j$라면, $A$와 $B$의 덧셈은 다음과 같이 나타낼 수 있다.[8]

:A + B = \begin{bmatrix}

A_{11} + B_{11} & A_{12} + B_{12} & \cdots & A_{1q} + B_{1q} \\

A_{21} + B_{21} & A_{22} + B_{22} & \cdots & A_{2q} + B_{2q} \\

\vdots & \vdots & \ddots & \vdots \\

A_{p1} + B_{p1} & A_{p2} + B_{p2} & \cdots & A_{pq} + B_{pq}

\end{bmatrix}

4. 2. 곱셈

블록 행렬의 곱셈 예시


행렬 곱셈은 블록 행렬을 통해 나타낼 수 있다. 블록 행렬 곱셈에서는 왼쪽 행렬의 열 분할 방법과 오른쪽 행렬의 행 분할 방법이 같아야 한다. 이는 일반 행렬 곱셈에서 왼쪽 행렬의 열 수와 오른쪽 행렬의 행 수가 같아야 하는 것과 같은 조건이다.

M\in\operatorname{Mat}(m,n;K)가 체 K 위의 m\times n 행렬이고, 임의의 i\in\{1,\dots,q\}j\in\{1,\dots,r\}에 대하여 블록 M_{ij}m_i\times n_j 행렬이라고 하자. 마찬가지로, N\in\operatorname{Mat}(n,p;K)K 위의 n\times p 행렬이고, 임의의 i\in\{1,\dots,q\}j\in\{1,\dots,s\}에 대하여 블록 N_{ij}n_i\times p_j 행렬이라고 하자. 그렇다면, 곱 MN의 각 블록 (MN)_{ij}는 다음과 같은 m_i\times p_j 행렬이다.

:(MN)_{ij}=\sum_{k=1}^rM_{ik}N_{kj}\qquad(i\in\{1,\dots,q\},j\in\{1,\dots,s\})

이를 행렬 기호로 쓰면 다음과 같다.

:

\begin{pmatrix}

M_{11}&M_{12}&\cdots&M_{1r}\\

M_{21}&M_{22}&\cdots&M_{2r}\\

\vdots&\vdots&&\vdots\\

M_{q1}&M_{q2}&\cdots&M_{qr}

\end{pmatrix}

\begin{pmatrix}

N_{11}&N_{12}&\cdots&N_{1s}\\

N_{21}&N_{22}&\cdots&N_{2s}\\

\vdots&\vdots&&\vdots\\

N_{r1}&N_{r2}&\cdots&N_{rs}

\end{pmatrix}

=

\begin{pmatrix}

\sum_{k=1}^rM_{1k}N_{k1}&\sum_{k=1}^rM_{1k}N_{k2}&\cdots&\sum_{k=1}^rM_{1k}N_{ks}\\

\sum_{k=1}^rM_{2k}N_{k1}&\sum_{k=1}^rM_{2k}N_{k2}&\cdots&\sum_{k=1}^rM_{2k}N_{ks}\\

\vdots&\vdots&&\vdots\\

\sum_{k=1}^rM_{qk}N_{k1}&\sum_{k=1}^rM_{qk}N_{k2}&\cdots&\sum_{k=1}^rM_{qk}N_{ks}

\end{pmatrix}



블록 분할된 행렬 곱셈에서는 인수의 부분 행렬에 대한 대수 연산만 포함할 수 있다. 그러나 인수의 분할은 임의적이지 않으며, 두 행렬 AB 사이에 사용될 모든 부분 행렬 곱셈이 정의되도록 "적합" 분할이 필요하다.[10][11]

두 블록 행렬

:

A=\begin{bmatrix}

A_{1 1} & A_{1 2} & \cdots & A_{1 q} \\

A_{2 1} & A_{2 2} & \cdots & A_{2 q} \\

\vdots & \vdots & \ddots & \vdots \\

A_{p 1} & A_{p 2} & \cdots & A_{p q}

\end{bmatrix}

,\quad

B=\begin{bmatrix}

B_{1 1} & B_{1 2} & \cdots & B_{1 r} \\

B_{2 1} & B_{2 2} & \cdots & B_{2 r} \\

\vdots & \vdots & \ddots & \vdots \\

B_{q 1} & B_{q 2} & \cdots & B_{q r}

\end{bmatrix}



의 분할이 각각 (''l''1, …, ''l''''p''; ''m''1, …, ''m''''q'') 형, (''m''1, …, ''m''''q''; ''n''1, …, ''n''''r'') 형일 때, 그 곱 ''AB''의 (''l''1, …, ''l''''p''; ''n''1, …, ''n''''r'') 형 분할

:

A B=\begin{bmatrix}

C_{1 1} & C_{1 2} & \cdots & C_{1 r} \\

C_{2 1} & C_{2 2} & \cdots & C_{2 r} \\

\vdots & \vdots & \ddots & \vdots \\

C_{p 1} & C_{p 2} & \cdots & C_{p r}

\end{bmatrix}



의 각 블록은

:C_{ij}=\sum_{k=1}^q A_{i k} B_{k j}

로 주어진다. 즉, 블록 행렬의 곱은 (적절하게 블록 분할되어 있다면) 각 블록을 마치 행렬의 성분처럼 간주하여 계산할 수 있다.

4. 3. 전치

다음과 같이 정의한다.

:A = \begin{bmatrix}

A_{11} & A_{12} & \cdots & A_{1q} \\

A_{21} & A_{22} & \cdots & A_{2q} \\

\vdots & \vdots & \ddots & \vdots \\

A_{p1} & A_{p2} & \cdots & A_{pq}

\end{bmatrix}

여기서 A_{ij} \in \mathbb{C}^{k_i \times \ell_j}이다. 그러면 이 행렬의 전치 행렬은 다음과 같다.

:A^T = \begin{bmatrix}

A_{11}^T & A_{21}^T & \cdots & A_{p1}^T \\

A_{12}^T & A_{22}^T & \cdots & A_{p2}^T \\

\vdots & \vdots & \ddots & \vdots \\

A_{1q}^T & A_{2q}^T & \cdots & A_{pq}^T

\end{bmatrix}[8][19]

전치 행렬을 켤레 전치 행렬로 대체해도 동일한 식이 성립한다.[8]

블록 행렬에 대해서도 행렬 전치의 특별한 형태를 정의할 수 있으며, 여기서 개별 블록은 재정렬되지만 전치되지는 않는다. A=(B_{ij})m \times n 블록 B_{ij}를 갖는 k \times l 블록 행렬이라고 할 때, A의 블록 전치는 m \times n 블록 \left(A^\mathcal{B}\right)_{ij} = B_{ji}를 갖는 l \times k 블록 행렬 A^\mathcal{B}이다.[9] 일반적인 대각합 연산자와 마찬가지로 블록 전치는 (A + C)^\mathcal{B} = A^\mathcal{B} + C^\mathcal{B} 인 선형 사상이다.[19] 그러나 일반적으로 AC의 블록이 교환 가능하지 않으면 (A C)^\mathcal{B} = C^\mathcal{B} A^\mathcal{B} 속성은 성립하지 않는다.

4. 4. 역행렬

다음 항등식들이 성립한다. (단, 우변의 각 역행렬이 존재해야 한다.)

:\begin{pmatrix}

A_{m\times m}&B_{m\times n}\\

C_{n\times m}&D_{n\times n}

\end{pmatrix}

^{-1}=

\begin{pmatrix}

A^{-1}+A^{-1}B(D-CA^{-1}B)^{-1}CA^{-1}&-A^{-1}B(D-CA^{-1}B)^{-1}\\

  • (D-CA^{-1}B)^{-1}CA^{-1}&(D-CA^{-1}B)^{-1}\end{pmatrix}


블록 LDU 분해를 사용한 자세한 내용과 유도는 Schur 보수를 참조하면 된다.

행렬이 네 개의 블록으로 분할된 경우, 다음과 같이 블록별로 반전될 수 있다.

:{P} = \begin{bmatrix}

{A} & {B} \\

{C} & {D}

\end{bmatrix}^{-1} = \begin{bmatrix}

{A}^{-1} + {A}^{-1}{B}\left({D} - {CA}^{-1}{B}\right)^{-1}{CA}^{-1} &

  • {A}^{-1}{B}\left({D} - {CA}^{-1}{B}\right)^{-1} \\
  • \left({D}-{CA}^{-1}{B}\right)^{-1}{CA}^{-1} &

\left({D} - {CA}^{-1}{B}\right)^{-1}

\end{bmatrix},



여기서 '''A'''와 '''D'''는 임의의 크기를 가진 정사각 블록이고, '''B'''와 '''C'''는 분할에 맞게 적합된다. 또한, '''A'''와 '''P'''에서 '''A'''의 Schur 보수는 가역적이어야 한다.[14]

동등하게, 블록을 순열하면 다음과 같다.

:{P} = \begin{bmatrix}

{A} & {B} \\

{C} & {D}

\end{bmatrix}^{-1} = \begin{bmatrix}

\left({A} - {BD}^{-1}{C}\right)^{-1} &

  • \left({A}-{BD}^{-1}{C}\right)^{-1}{BD}^{-1} \\
  • {D}^{-1}{C}\left({A} - {BD}^{-1}{C}\right)^{-1} &

\quad {D}^{-1} + {D}^{-1}{C}\left({A} - {BD}^{-1}{C}\right)^{-1}{BD}^{-1}

\end{bmatrix}.

[18]

여기서 '''D'''와 '''P'''에서 '''D'''의 Schur 보수는 가역적이어야 한다.

'''A'''와 '''D'''가 모두 가역적이면 다음과 같이 된다.

:

\begin{bmatrix}

{A} & {B} \\

{C} & {D}

\end{bmatrix}^{-1} = \begin{bmatrix}

\left({A} - {B} {D}^{-1} {C}\right)^{-1} & {0} \\

{0} & \left({D} - {C} {A}^{-1} {B}\right)^{-1}

\end{bmatrix} \begin{bmatrix}

{I} & -{B} {D}^{-1} \\

  • {C} {A}^{-1} & {I}

\end{bmatrix}.



Weinstein–Aronszajn 항등식에 의해, 블록 대각 행렬의 두 행렬 중 하나가 가역적일 때 다른 행렬도 정확히 가역적이다.

''A''는 정칙 행렬, ''D''는 정방 행렬일 때, 구분 행렬

:

P=\begin{bmatrix}

A & B \\

C & D

\end{bmatrix}



의 역행렬을 구하면 다음과 같다.

먼저, 행렬식에 대해

:|P|=|A||D-C A^{-1}B|\,

이 성립한다. 따라서, ''P''가 정칙 행렬이 되기 위한 필요충분 조건은, ''D'' − ''CA''−1''B''도 정칙 행렬이 되는 것이며, 이 때 역행렬은

:

\begin{bmatrix}

A & B \\

C & D

\end{bmatrix}^{-1}

=\begin{bmatrix}

A^{-1} + A^{-1} B (D-C A^{-1} B)^{-1} C A^{-1} & -A^{-1} B (D-C A^{-1} B)^{-1} \\

  • (D-C A^{-1} B)^{-1}C A^{-1} & (D-C A^{-1} B)^{-1}

\end{bmatrix}



로 주어진다. ''D''도 정칙 행렬인 경우에는

:

\begin{bmatrix}

A & B \\

C & D

\end{bmatrix}^{-1}

=\begin{bmatrix}

(A-B D^{-1}C)^{-1} & -A^{-1} B (D-C A^{-1} B)^{-1} \\

  • (D-C A^{-1} B)^{-1}C A^{-1} & (D-C A^{-1} B)^{-1}

\end{bmatrix}



로 나타낼 수 있다. 또한 ''C''가 영행렬 ''O''와 같은 경우에는

:\begin{bmatrix}

A & B \\

O & D

\end{bmatrix}^{-1}

=\begin{bmatrix}

A^{-1} & -A^{-1} B D^{-1} \\

O & D^{-1}

\end{bmatrix}



이 된다.

4. 5. 행렬식

다음과 같은 항등식들이 성립한다. (단, 우변의 각 역행렬이 존재해야 한다.)

:\det

\begin{pmatrix}

A_{m\times m}&B_{m\times n}\\

C_{n\times m}&D_{n\times n}

\end{pmatrix}

=\det(D)\det(A-BD^{-1}C)=\det(A)\det(D-CA^{-1}B)

위의 2 \times 2 행렬의 행렬식 공식은 네 개의 부분 행렬 A, B, C, D로 구성된 행렬에도 적용 가능하다. (단, 추가적인 가정이 필요하다.) 이 공식은 라이프니츠 공식이나 슈어 보수를 포함하는 인수 분해를 사용하여 증명할 수 있으며 다음과 같다.

:\det\begin{bmatrix}A& 0\\ C& D\end{bmatrix} = \det(A) \det(D) = \det\begin{bmatrix}A& B\\ 0& D\end{bmatrix}.[18]

이 공식을 이용하면 \begin{bmatrix}A& 0\\ C& D\end{bmatrix}\begin{bmatrix}A& B\\ 0& D\end{bmatrix}의 특성 다항식이 같고, AD의 특성 다항식의 곱과 같다는 것을 알 수 있다. 또한 \begin{bmatrix}A& 0\\ C& D\end{bmatrix} 또는 \begin{bmatrix}A& B\\ 0& D\end{bmatrix}가 대각화 가능하면 AD도 대각화 가능하다. 그러나 역은 성립하지 않는다. (\begin{bmatrix}1& 1\\ 0& 1\end{bmatrix}을 예로 들 수 있다.)

A가 가역적이라면, 다음이 성립한다.

:\det\begin{bmatrix}A& B\\ C& D\end{bmatrix} = \det(A) \det\left(D - C A^{-1} B\right),[18]

D가 가역적이라면, 다음이 성립한다.

:\det\begin{bmatrix}A& B\\ C& D\end{bmatrix} = \det(D) \det\left(A - B D^{-1} C\right) .[15][18]

블록이 같은 크기의 정사각 행렬인 경우 추가 공식이 성립한다. 예를 들어, CD가 교환하는 경우(즉, CD=DC인 경우) 다음과 같다.

:\det\begin{bmatrix}A& B\\ C& D\end{bmatrix} = \det(AD - BC).[16]

이 공식은 AB=BA, AC=CA 인 경우에도 성립한다. 이 공식은 개별 블록 간의 적절한 교환 조건 하에 2 \times 2 블록보다 많은 행렬로 구성된 행렬로 일반화되었다.[17]

A = D 이고 B=C인 경우, 다음 공식이 성립한다. ( AB가 교환하지 않더라도)

:\det\begin{bmatrix}A& B\\ B& A\end{bmatrix} = \det(A - B) \det(A + B).[18]

정사각 행렬 ''P''가 다음과 같이 구분되어 있다고 하자.

:

P=\begin{bmatrix}

A_{1 1} & A_{1 2} & \dots & A_{1 r} \\

A_{2 1} & A_{2 2} & \dots & A_{2 r} \\

\vdots & \vdots & \ddots & \vdots \\

A_{r 1} & A_{r 2} & \dots & A_{r r}

\end{bmatrix}



이때 주대각선상의 블록 ''A''1 1, ''A''2 2, …, ''A''''r r''가 모두 정사각 행렬이면, 이를 '''대칭 구분'''이라고 한다. 특히, 주대각선 아래의 블록이 모두 영행렬일 경우, 행렬식은 다음과 같이 계산된다.

:

|P|=\prod_{k=1}^r |A_{k k}|



따라서, 그러한 ''P''가 가역이기 위한 필요충분 조건은, 주대각선상의 블록이 모두 가역인 것이다.

또한 다음이 성립한다.

:|P|=|A||D-C A^{-1}B|\,

따라서, ''P''가 정칙 행렬이 되기 위한 필요충분 조건은, ''D'' − ''CA''−1''B''도 정칙 행렬이 되는 것이다.

5. 예시

다음은 블록 행렬의 예시이다.

행렬

:P=

\begin{pmatrix}

2&1&0&0&0\\

0&2&0&0&0\\

0&0&1&1&0\\

0&0&0&1&1\\

0&0&0&0&1

\end{pmatrix}



는 다음과 같이 블록 행렬로 나타낼 수 있다.

:P=

\begin{pmatrix}

J_{2\times 2}(2)\\

&J_{3\times 3}(1)

\end{pmatrix}



여기서

:J_{n\times n}(\lambda)=

\begin{pmatrix}

\lambda_1&1\\

&\lambda_2&1\\

&&\ddots&\ddots\\

&&&\lambda_{n-1}&1\\

&&&&\lambda_n

\end{pmatrix}

\qquad(\lambda_1=\cdots=\lambda_n=\lambda)

이다. 따라서, P는 블록 대각 행렬이다.

다른 예시로, 행렬

:\mathbf{P} = \begin{bmatrix}

1 & 2 & 2 & 7 \\

1 & 5 & 6 & 2 \\

3 & 3 & 4 & 5 \\

3 & 3 & 6 & 7

\end{bmatrix}

는 다음과 같이 네 개의 블록으로 나눌 수 있다.

:\mathbf{P} = \left[

\begin{array}{cc|cc}

1 & 2 & 2 & 7 \\

1 & 5 & 6 & 2 \\

\hline

3 & 3 & 4 & 5 \\

3 & 3 & 6 & 7

\end{array}

\right].

수평선과 수직선은 특별한 수학적 의미를 갖지는 않지만, 분할을 시각화하는 일반적인 방법이다.[13][6] 이 분할에 의해, P는 다음과 같이 네 개의 2×2 블록으로 분할된다.

:

\mathbf{P}_{11} = \begin{bmatrix}

1 & 2 \\

1 & 5

\end{bmatrix},\quad

\mathbf{P}_{12} = \begin{bmatrix}

2 & 7\\

6 & 2

\end{bmatrix},\quad

\mathbf{P}_{21} = \begin{bmatrix}

3 & 3 \\

3 & 3

\end{bmatrix},\quad

\mathbf{P}_{22} = \begin{bmatrix}

4 & 5 \\

6 & 7

\end{bmatrix}.



따라서 분할된 행렬은 다음과 같이 쓸 수 있다.

:\mathbf{P} = \begin{bmatrix}

\mathbf{P}_{11} & \mathbf{P}_{12} \\

\mathbf{P}_{21} & \mathbf{P}_{22}

\end{bmatrix}.[7]

참조

[1] 서적 Elementary Matrix Theory https://archive.org/[...] Dover 2013-04-24
[2] 웹사이트 Partition Matrices https://www.cfm.brow[...] 2024-03-24
[3] 서적 Elementary Linear Algebra John Wiley
[4] 간행물 Fragment Analysis and Test Case Generation using F-Measure for Adaptive Random Testing and Partitioned Block based Adaptive Random Testing http://research.ijca[...] 2014-05-16
[5] 간행물 Typing linear algebra: A biproduct-oriented approach
[6] 서적 Advanced linear and matrix algebra Springer Nature 2021
[7] 서적 Matrix operations for engineers and scientists: an essential guide in linear algebra https://www.worldcat[...] Springer 2010
[8] 서적 Matrix algorithms. 1: Basic decompositions Soc. for Industrial and Applied Mathematics 1998
[9] 학위논문 Structured linearizations for matrix polynomials http://eprints.maths[...] University of Manchester 2006
[10] 서적 Elementary Matrix Theory https://archive.org/[...] Dover 2013-04-24
[11] 서적 Elementary Linear Algebra John Wiley
[12] 서적 Linear Algebra: a course for physicists and engineers De Gruyter 2017
[13] 서적 Introduction to linear and matrix algebra Springer Nature 2021
[14] 서적 Matrix Mathematics Princeton University Press
[15] 문서 Determinant of a block matrix Lectures on matrix algebra 2021
[16] 간행물 Determinants of Block Matrices http://www.ee.iisc.e[...] 2021-06-25
[17] 간행물 Determinants of block matrices with noncommuting blocks 2017-01
[18] 서적 Matrix Algebra Cambridge University Press
[19] 서적 Matrix Algebra: Theory, Computations, and Applications in Statistics Springer New York Springer e-books 2007
[20] 서적 Numerical mathematics Springer 2000
[21] 간행물 A Course in Linear Algebra https://doi.org/10.1[...] 2024
[22] 서적 Computer vision: models, learning, and inference Cambridge university press 2012
[23] 서적 Linear estimation and detection in Krylov subspaces https://www.worldcat[...] Springer 2007
[24] 서적 Matrix analysis Cambridge University Press 2017
[25] 서적 Numerical linear algebra and applications SIAM 2010
[26] 서적 Matrix algorithms. 2: Eigensystems Soc. for Industrial and Applied Mathematics 2001
[27] 서적 Matrix mathematics: theory, facts, and formulas Princeton University Press
[28] 서적 Elementary Matrix Theory https://books.google[...] Dover 2013-04-24
[29] 서적 Elementary Linear Mlgebra https://archive.org/[...] John Wiley



본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.

문의하기 : help@durumis.com