2i × 2j (i , j = 1, 2, 3)의 행렬 블록들로 분할된 14 × 14 행렬 수학 에서 블록 행렬 (block行列, 영어 : block matrix ) 또는 분할 행렬 (分割行列, 영어 : partitioned matrix )은 더 작은 행렬 블록들로 분할되었다고 간주된 행렬이다.[ 1] 즉, 행렬의 행과 열을 수평선 및 수직선들을 통해 분할하는 것이다.[ 2] 블록 행렬은 행렬의 구조를 더 알기 쉽게 만들며, 행렬의 연산을 호환되는 블록 행렬 연산으로 대신할 수 있다.
체 K {\displaystyle K} 위의 m × n {\displaystyle m\times n} 행렬 M ∈ Mat ( m , n ; K ) {\displaystyle M\in \operatorname {Mat} (m,n;K)} 가 주어졌다고 하자. 또한,
m = m 1 + m 2 + ⋯ + m p {\displaystyle m=m_{1}+m_{2}+\cdots +m_{p}} n = n 1 + n 2 + ⋯ + n q ( m i , n i ∈ Z + ) {\displaystyle n=n_{1}+n_{2}+\cdots +n_{q}\qquad (m_{i},n_{i}\in \mathbb {Z} ^{+})} 라고 하자. 그렇다면 M {\displaystyle M} 은 다음과 같은 블록 행렬 로 나타낼 수 있다.
M = ( M 11 M 12 ⋯ M 1 q M 21 M 22 ⋯ M 2 q ⋮ ⋮ ⋮ M p 1 M p 2 ⋯ M p q ) {\displaystyle 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 i j {\displaystyle M_{ij}} 는 다음과 같은 m i × n j {\displaystyle m_{i}\times n_{j}} 행렬이다.
M i j ( k , l ) = M ( m 1 + ⋯ + m i − 1 + k , n 1 + ⋯ + n j − 1 + l ) {\displaystyle M_{ij}(k,l)=M(m_{1}+\cdots +m_{i-1}+k,n_{1}+\cdots +n_{j-1}+l)} 특별한 성질들을 만족시키는 블록 행렬을 정의할 수 있다.
블록 대각 행렬 (block對角行列, 영어 : block diagonal matrix ): 대각선 이외의 모든 행렬 블록이 영행렬 인 블록 행렬. 행과 열의 분할이 자명할 경우 이는 대각 행렬 이 된다. 블록 상(하)삼각 행렬 (block上(下)三角行列, 영어 : block upper (lower) triangular matrix ): 대각선 아래(위)의 모든 행렬 블록이 영행렬인 블록 행렬. 행과 열의 분할이 자명할 경우 이는 상(하)삼각 행렬 이 된다. 블록 행렬의 곱셈의 예시 행렬 곱셈은 블록 행렬을 통해 나타낼 수 있다. 다만, 행렬 곱셈에서 왼쪽 행렬의 열수와 오른쪽 행렬의 행수가 같아야 하는 것과 같이, 블록 행렬 곱셈에서는 왼쪽 행렬의 열의 분할 방법과 오른쪽 행렬의 행의 분할 방법이 같아야 한다. 즉, M ∈ Mat ( m , n ; K ) {\displaystyle M\in \operatorname {Mat} (m,n;K)} 가 체 K {\displaystyle K} 위의 m × n {\displaystyle m\times n} 행렬이며, 임의의 i ∈ { 1 , … , q } {\displaystyle i\in \{1,\dots ,q\}} 및 j ∈ { 1 , … , r } {\displaystyle j\in \{1,\dots ,r\}} 에 대하여, 블록 M i j {\displaystyle M_{ij}} 가 m i × n j {\displaystyle m_{i}\times n_{j}} 행렬이라고 하자. 마찬가지로, N ∈ Mat ( n , p ; K ) {\displaystyle N\in \operatorname {Mat} (n,p;K)} 가 K {\displaystyle K} 위의 n × p {\displaystyle n\times p} 행렬이며, 임의의 i ∈ { 1 , … , q } {\displaystyle i\in \{1,\dots ,q\}} 및 j ∈ { 1 , … , s } {\displaystyle j\in \{1,\dots ,s\}} 에 대하여, 블록 N i j {\displaystyle N_{ij}} 가 n i × p j {\displaystyle n_{i}\times p_{j}} 행렬이라고 하자. 그렇다면, 곱 M N {\displaystyle MN} 의 각 블록 ( M N ) i j {\displaystyle (MN)_{ij}} 는 다음과 같은 m i × p j {\displaystyle m_{i}\times p_{j}} 행렬이다.
( M N ) i j = ∑ k = 1 r M i k N k j ( i ∈ { 1 , … , q } , j ∈ { 1 , … , s } ) {\displaystyle (MN)_{ij}=\sum _{k=1}^{r}M_{ik}N_{kj}\qquad (i\in \{1,\dots ,q\},j\in \{1,\dots ,s\})} 이를 행렬 기호로 쓰면 다음과 같다.
( M 11 M 12 ⋯ M 1 r M 21 M 22 ⋯ M 2 r ⋮ ⋮ ⋮ M q 1 M q 2 ⋯ M q r ) ( N 11 N 12 ⋯ N 1 s N 21 N 22 ⋯ N 2 s ⋮ ⋮ ⋮ N r 1 N r 2 ⋯ N r s ) = ( ∑ k = 1 r M 1 k N k 1 ∑ k = 1 r M 1 k N k 2 ⋯ ∑ k = 1 r M 1 k k s ∑ k = 1 r M 2 k N k 1 ∑ k = 1 r M 2 k N k 2 ⋯ ∑ k = 1 r M 2 k k s ⋮ ⋮ ⋮ ∑ k = 1 r M q k N k 1 ∑ k = 1 r M q k N k 2 ⋯ ∑ k = 1 r M q k k s ) {\displaystyle {\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}^{r}M_{1k}N_{k1}&\sum _{k=1}^{r}M_{1k}N_{k2}&\cdots &\sum _{k=1}^{r}M_{1k}{ks}\\\sum _{k=1}^{r}M_{2k}N_{k1}&\sum _{k=1}^{r}M_{2k}N_{k2}&\cdots &\sum _{k=1}^{r}M_{2k}{ks}\\\vdots &\vdots &&\vdots \\\sum _{k=1}^{r}M_{qk}N_{k1}&\sum _{k=1}^{r}M_{qk}N_{k2}&\cdots &\sum _{k=1}^{r}M_{qk}{ks}\end{pmatrix}}} 다음과 같은 항등식들이 성립한다. (단, 우변의 각 역행렬이 존재하여야 한다.)
det ( A m × m B m × n C n × m D n × n ) = det ( D ) det ( A − B D − 1 C ) = det ( A ) det ( D − C A − 1 B ) {\displaystyle \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)} ( A m × m B m × n C n × m D n × n ) − 1 = ( 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 ) {\displaystyle {\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}}} 행렬
P = ( 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 ) {\displaystyle 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 = ( J 2 × 2 ( 2 ) J 3 × 3 ( 1 ) ) {\displaystyle P={\begin{pmatrix}J_{2\times 2}(2)\\&J_{3\times 3}(1)\end{pmatrix}}} 여기서
J n × n ( λ ) = ( λ 1 1 λ 2 1 ⋱ ⋱ λ n − 1 1 λ n ) ( λ 1 = ⋯ = λ n = λ ) {\displaystyle 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 {\displaystyle P} 는 블록 대각 행렬이다.