ブロック行列の演算規則

行列の区分けの考え方は、行列の和とスカラー倍、積の演算に対応しています。

すなわち、適切に区分けされた行列どうしの演算では、$1$ つ $1$ つのブロックを、通常の行列における成分のように取り扱うことができます。

ブロック行列の演算


定理 2.6(ブロック行列の演算)

($\text{i}$)$(l, m)$ 型の行列 $A, B$ を、同じ型のブロックに区分けするとする。

$$ \begin{align*} A &= \begin{pmatrix} \, 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{pmatrix} , \\ \\ B &= \begin{pmatrix} \, B_{11} \, & B_{12} & \cdots & \, B_{1q} \, \\ \, B_{21} \, & B_{22} & \cdots & \, B_{2q} \, \\ \vdots & \vdots & \ddots & \vdots \\ \, B_{p1} \, & B_{p2} & \cdots & \, B_{pq} \, \\ \end{pmatrix} \end{align*} $$

このとき、行列の和とスカラー倍について、次が成り立つ。

$$ \begin{align*} A + B = \begin{pmatrix} \, 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{pmatrix} \end{align*} \tag{2.4.2} $$

$$ \begin{align*} c A = \begin{pmatrix} \, c A_{11} \, & c A_{12} & \cdots & \, c A_{1q} \, \\ \, c A_{21} \, & c A_{22} & \cdots & \, c A_{2q} \, \\ \vdots & \vdots & \ddots & \vdots \\ \, c A_{p1} \, & c A_{p2} & \cdots & \, c A_{pq} \, \\ \end{pmatrix} \end{align*} \tag{2.4.3} $$

($\text{ii}$)$(l, m)$ 型の行列 $A$ と $(m, n)$ 型の行列 $B$ を、$A$ の列方向と $B$ の行方向について同じ型のブロックに区分けするとする。

$$ \begin{align*} A &= \begin{pmatrix} \, 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{pmatrix} , \\ \\ B &= \begin{pmatrix} \, B_{11} \, & B_{12} & \cdots & \, B_{1r} \, \\ \, B_{21} \, & B_{22} & \cdots & \, B_{2r} \, \\ \vdots & \vdots & \ddots & \vdots \\ \, B_{q1} \, & B_{q2} & \cdots & \, B_{qr} \, \\ \end{pmatrix} \end{align*} $$

このとき、行列の積について、次が成り立つ。

$$ \begin{gather*} AB = \begin{pmatrix} \, C_{11} \, & C_{12} & \cdots & \, C_{1r} \, \\ \, C_{21} \, & C_{22} & \cdots & \, C_{2r} \, \\ \vdots & \vdots & \ddots & \vdots \\ \, C_{p1} \, & C_{p2} & \cdots & \, C_{pr} \, \\ \end{pmatrix} \end{gather*} \tag{2.4.4} $$

$$ \begin{gather*} C_{su} = \displaystyle \sum_{t} A_{st} \, B_{tu} \tag{2.4.5} \\ \\ \left[ \quad \begin{alignat*} {3} s &= 1, 2, \cdots, p, \\ t &= 1, 2, \cdots, q, \\ u &= 1, 2, \cdots, r \end{alignat*} \quad \right] \end{gather*} $$


解説

ブロック行列に成り立つ演算規則

定理 2.6(ブロック行列の演算)は、ブロック行列(適当なブロックに区分けされた行列)について、成り立つ演算規則を示しています。

すなわち、ブロック行列においても和とスカラー倍や積の演算が成り立ちます。このとき、$1$ つ $1$ つのブロックを、通常の行列における成分のように取り扱うことができます。

ただし、特に、ブロック行列どうしの和と積の演算が成り立つためには、ブロック行列は適切に区分けされている必要があります。

逆にいえば、特定の条件を満たす場合、区分けされた行列どうしの和や積は、あたかもブロックを成分のようにして(通常の行列の和や積と同じように)計算できるということです。

ブロック行列の和が成り立つための条件

ブロック行列どうしの和が成り立つためには、$2$ つの行列は、同じ数・同じ型のブロックに区分けされている必要があります。

行列の型が等しい

そもそも、$2$ つの行列の和 $A + B$ が定義されるためには、行列 $A, B$ が同じ型である必要があります。ここでは、$A, B$ はともに $(l, m)$ 型であるとします。

すべてのブロックの型が等しい

また、行列 $A, B$ は、同じ数・同じ型のブロックに区分けされている必要があります。ここでは、$A, B$ がともに、縦に $p$ 個、横に $q$ 個、計 $pq$ 個のブロックに区分けされているとします。

更に、行列 $A, B$ の区分けの仕方が同じである必要があります。つまり、すべてのブロックの型が同じである必要があります。いま、上から $s$ 番目、左から $t$ 番目のブロックを $A_{st}, B_{st}$ とすると、$A_{st}, B_{st}$ はともに $(l_{s}, m_{t})$ 型であり、すべての $s, t$ についてこれが成り立つ必要があります。

ブロック行列の和が成り立つための条件(区分けの条件)

上記の考察より、ブロック行列の和が成り立つためには、行列 $A, B$ が、次の区分けの条件を共有している必要があるといえます。

$$ \begin{align} \left\{ \; \, \begin{align*} l &= \sum_{s}^{p} \, l_{s} = l_1 + \cdots + l_p \\ m &= \sum_{t}^{q} \, m_{t} = m_1 + \cdots + m_q \\ \end{align*} \right. \end{align} \tag{$\ast$} $$


ブロック行列の積が成り立つための条件

ブロック行列どうしの積が成り立つためには、$A$ の列方向と $B$ の行方向が同じように区分けされている必要があります。

行列の積が定義できる

そもそも、$2$ つの行列の積 $AB$ が定義されるためには、$A$ の列の数と $B$ の行の数が一致している必要があります。ここでは、$A$ を $(l, m)$ 型行列、$B$ を $(m, n)$ 型行列として、この条件を満たしているとします。

$A$ の列方向と $B$ の行方向が同じ型のブロックに区分けされている

また、$A$ の列方向のブロックの数と $B$ の行方向のブロックの数が一致している必要があります。いま、$A$ が行方向に $p$ 個、列方向に $q$ 個の計 $pq$ 個のブロックに区分けされており、$B$ が行方向に $q$ 個、列方向に $r$ 個の計 $qr$ 個のブロックに区分けされているとします。このとき、$A$ の列方向のブロックの数($q$ 個)と $B$ の行方向のブロックの数($q$ 個)が一致している必要があるということです。

更に、$A$ の上から $s$ 番目、左から $t$ 番目のブロック $A_{st}$ を $(l_{s}, m_{t})$ 型の行列、$B$ の上から $t$ 番目、左から $u$ 番目のブロック $B_{tu}$ を $(m_{t}, n_{u})$ 型の行列として、すべての $t$ について $m_{t}$ が一致する必要があります。これは、$A$ の列方向と $B$ の行方向が同じように区分けされているということを意味しています。

ブロック行列の積が成り立つための条件(区分けの条件)

上記の考察をまとめると、$2$ つのブロック行列 $A, B$ について、次の条件が成り立ちます。

$$ \begin{align} \left\{ \; \; \begin{align*} l &= \sum_{s}^{p} \, l_{s} = l_1 + \cdots + l_p \\ m &= \sum_{t}^{q} \, m_{t} = m_1 + \cdots + m_q \\ n &= \sum_{u}^{r} \, n_{u} = n_1 + \cdots + n_r \\ \end{align*} \right. \end{align} \tag{$\ast \ast$} $$

ただし、$A$ と $B$ について積が成り立つためには、 ($\ast \ast$)式のうち、$m$ に関する条件を満たせば十分です。ブロック行列どうしの積が成り立つためには、$A$ の列方向と $B$ の行方向が同じように区分けされていれば良いからです。


定理 2.6(ブロック行列の演算)の証明方法について

定理 2.6(ブロック行列の演算)について、($\text{i}$)和とスカラー倍が成り立つことは明らかといえます。行列の区分けの条件 ($\ast$)式を満たしていることを確認すれば、行列の成分に着目することで、簡単に示すことができます。

($\text{ii}$)積についても、特別な発想なしに、 行列の積の定義にしたがって粛々と示すことができます。しかしながら、行列の区分けの条件も若干複雑で、添え字の取り扱いに注意を要します。

したがって、下記の 証明では、($\text{ii}$)の証明のみ詳しく示します。



証明

($\text{i}$) 行列の和とスカラー倍の定義より明らか。

($\text{ii}$)$A = (\, a_{ij} \,)$ を $(l, m)$ 型の行列、$B = (\, b_{jk} \,)$ を $(m, n)$ 型の行列として、それぞれ、次のように $pq$ 個、$qr$ 個のブロックに区分けする。

$$ \begin{align*} A &= \begin{pmatrix} \, 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{pmatrix} , \\ \\ B &= \begin{pmatrix} \, B_{11} \, & B_{12} & \cdots & \, B_{1r} \, \\ \, B_{21} \, & B_{22} & \cdots & \, B_{2r} \, \\ \vdots & \vdots & \ddots & \vdots \\ \, B_{q1} \, & B_{q2} & \cdots & \, B_{qr} \, \\ \end{pmatrix} \end{align*} $$

このとき、$A_{st}$ を $(l_s, m_t)$ 型のブロック、$B_{tu}$ を $(m_t, n_u)$ 型のブロックとすると、次が成り立つ。

$$ \begin{align*} \left\{ \; \, \begin{align*} l &= l_1 + \cdots + l_p \\ m &= m_1 + \cdots + m_q \\ n &= n_1 + \cdots + n_r \\ \end{align*} \right. \end{align*} $$

また、$C = AB$ として、これを次のように $pr$ 個のブロックに分け、$C_{su}$ を $(l_s, n_u)$ 型のブロックとする。

$$ \begin{align*} C = \begin{pmatrix} \, C_{11} \, & C_{12} & \cdots & \, C_{1r} \, \\ \, C_{21} \, & C_{22} & \cdots & \, C_{2r} \, \\ \vdots & \vdots & \ddots & \vdots \\ \, C_{p1} \, & C_{p2} & \cdots & \, C_{pr} \, \\ \end{pmatrix} \end{align*} $$

このとき、次が成り立つことを示す。

$$ \begin{align*} \tag{\dag} C_{su} = \displaystyle \sum_{t} A_{st} B_{tu} \end{align*} $$

まず、$A_{st}$ は $(l_s, m_t)$ 型であり、$B_{tu}$ は $(m_t, n_u)$ 型であるから、右辺の行列は $(l_s, n_u)$ 型となり、$C_{su}$ の型と一致する。

次に、両辺の行列の $(\alpha, \beta)$ 成分について、

$$ \begin{align*} \left\{ \; \, \begin{align*} i &= l_1 + \cdots + l_{s-1} + \alpha \\ k &= n_1 + \cdots + n_{u-1} + \beta \\ \end{align*} \right. \end{align*} $$

とすると、$C_{su}$ の $(\alpha, \beta)$ 成分は $C$ の $(i, j)$ 成分に等しく、$\displaystyle \sum_{j} a_{ij} b_{jk}$ となる。また、$A_{st} B_{tu}$ の $(\alpha, \beta)$ 成分は、次のように表せる。

$$ \begin{align*} \sum_{j = m_1 + \cdots + m_{t-1} + 1}^{m_1 + \cdots + m_{t}} a_{ij} b_{jk} \end{align*} $$

したがって、$\displaystyle \sum_{t} A_{st} B_{tu}$ の $(\alpha, \beta)$ 成分は、次のようになる。

$$ \begin{align*} \sum_{t}^q \bigg( \sum_{j = m_1 + \cdots + m_{t-1} + 1}^{m_1 + \cdots + m_{t}} a_{ij} b_{jk} \bigg) = \sum_{j} a_{ij} b_{jk} \end{align*} $$

以上から、($\dag$)式の両辺の行列は等しい。$\quad \square$



証明の考え方

ブロック行列の積が成り立つための条件を確認しつつ、 行列の積の定義にしたがって証明できます。行列の区分けの条件が若干複雑なので、添え字の取り扱いに注意が必要です。

前提事項の整理

行列 $A, B$ の設定
  • まず、行列 $A, B$ を置きます。
  • $A = (\, a_{ij} \,)$ を $(l, m)$ 型の行列、$B = (\, b_{jk} \,)$ を $(m, n)$ 型の行列とします。
    • $i, j, k$ は、$A, B$ の成分を表す添え字として用います。
      $$ \begin{align*} \left\{ \; \, \begin{align*} i &= 1, 2, \cdots, l \\ j &= 1, 2, \cdots, m \\ k &= 1, 2, \cdots, n \end{align*} \right. \end{align*} $$
行列 $A, B$ の区分け
  • $A, B$ を、それぞれ、次のような $pq$ 個、$qr$ 個のブロックに区分けします。

    $$ \begin{align*} A &= \begin{pmatrix} \, 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{pmatrix} , \\ \\ B &= \begin{pmatrix} \, B_{11} \, & B_{12} & \cdots & \, B_{1r} \, \\ \, B_{21} \, & B_{22} & \cdots & \, B_{2r} \, \\ \vdots & \vdots & \ddots & \vdots \\ \, B_{q1} \, & B_{q2} & \cdots & \, B_{qr} \, \\ \end{pmatrix} \end{align*} $$

    • $A$ の列方向と $B$ の行方向について同じように区切られているようにします。

    • このとき、$A$ と $B$ は、 ブロック行列の積が成り立つための条件を満たしており、次が成り立ちます。

      $$ \begin{align*} \left\{ \; \, \begin{align*} l &= l_1 + \cdots + l_p \\ m &= m_1 + \cdots + m_q \\ n &= n_1 + \cdots + n_r \\ \end{align*} \right. \end{align*} $$

    • $s, t, u$ は、ブロックを特定する添え字として用います。

      $$ \begin{align*} \left\{ \; \, \begin{align*} s &= 1, 2, \cdots, p \\ t &= 1, 2, \cdots, q \\ u &= 1, 2, \cdots, r \\ \end{align*} \right. \end{align*} $$

行列の積 $AB$ の区分け
  • $C = AB$ として、これを次のように $pr$ 個のブロックに分けます。
    $$ \begin{align*} C = \begin{pmatrix} \, C_{11} \, & C_{12} & \cdots & \, C_{1r} \, \\ \, C_{21} \, & C_{22} & \cdots & \, C_{2r} \, \\ \vdots & \vdots & \ddots & \vdots \\ \, C_{p1} \, & C_{p2} & \cdots & \, C_{pr} \, \\ \end{pmatrix} \end{align*} $$

ブロック行列の積が成り立つことの証明

  • いま、$C$ の各ブロックが次の式により計算されることを示すため、これを ($\dag$)式として、その両辺を比較します。
    $$ \begin{align*} \tag{\dag} C_{su} = \displaystyle \sum_{t} A_{st} B_{tu} \end{align*} $$
行列の型が等しいことの証明
  • まず、両辺の行列の型が一致することを確認します。そもそも、両辺の行列が比較可能であることを確かめるためです。
    • 左辺の行列 $C_{su}$ は $(l_s, n_u)$ 型です。
    • 右辺について、$A_{st}$ は $(l_s, m_t)$ 型、$B_{tu}$ は $(m_t, n_u)$ 型なので、その積 $A_{st} B_{tu}$ は $(l_s, n_u)$ 型となります。
  • よって、両辺の行列の型が一致します。
行列の成分が等しいことの証明
  • 次に、両辺の行列の成分が一致していることを確認します。
    • ($\dag$)式の両辺の行列の $(\alpha, \beta)$ 成分を調べ、これが一致することを確かめます。
(左辺)行列の積のブロック
  • 左辺の $C_{su}$ は、$C$ を区分けしたブロックの $1$ つであり、$C$ とは積 $AB$ のことですから、$C_{su}$ の成分は $A$ と $B$ の成分の積の和で示せると考えられます。

  • また、$C_{su}$ は上から $s$ 番目、左から $u$ 番目のブロックですので、以下のように置くことで、$C_{su}$ の $(\alpha, \beta)$ 成分を $C$ の $(i, j)$ と対応させることができます。

    $$ \begin{align*} \left\{ \; \, \begin{align*} i &= l_1 + \cdots + l_{s-1} + \alpha \\ k &= n_1 + \cdots + n_{u-1} + \beta \\ \end{align*} \right. \end{align*} $$

  • したがって、$C_{su}$ の $(\alpha, \beta)$ 成分は、$C$ の $(i, j)$ 成分に等しく、$\displaystyle \sum_{j} a_{ij} b_{jk}$ と表せることがわかります。

(右辺)ブロックどうしの積
  • 右辺について、まず行列の積 $A_{st} B_{tu}$ の $(\alpha, \beta)$ 成分を求め、これを $t$ について足し上げることを考えます。

  • $A_{st} B_{tu}$ の $(\alpha, \beta)$ 成分についても、上記の $i$ と $k$ により、$A$ と $B$ の成分と対応させることができます。

  • ただし、$A_{st}$ と $B_{tu}$ は区分けされたブロックなので、$A_{st}$ の列と $B_{tu}$ の行を示す添え字 $j$ の範囲は $m_1 + \cdots + m_{t-1} + 1 \sim m_1 + \cdots + m_{t}$ に限られます。

  • よって、$A_{st} B_{tu}$ の $(\alpha, \beta)$ 成分は次のように表されます。

    $$ \begin{align*} \sum_{j = m_1 + \cdots + m_{t-1} + 1}^{m_1 + \cdots + m_{t}} a_{ij} b_{jk} \end{align*} $$

  • これを $t$ について足し上げると、$\displaystyle \sum_{t} A_{st} B_{tu}$ の $(\alpha, \beta)$ 成分は、結局、次のように表せます。

    $$ \begin{align*} \sum_{t}^q \bigg( \sum_{j = m_1 + \cdots + m_{t-1} + 1}^{m_1 + \cdots + m_{t}} a_{ij} b_{jk} \bigg) = \sum_{j} a_{ij} b_{jk} \end{align*} $$

    • これは、$t = 1$ のとき $1 \leqslant j \leqslant m_1$、$t = 2$ のとき $m_1 + 1 \leqslant j \leqslant m_1 + m_2$ $\cdots$、と $1$ つずつ考えていくとわかりやすいです。
    • 結局、$t$ について足し上げると、すべての $j$ についての和になります。
  • 以上の考察から、 ($\dag$)式の両辺の行列が等しいことが示されました。


まとめ

  • ブロック行列に関しても、通常の行列のように、行列の和とスカラー倍、積の演算が成り立つ。
    • ブロック行列の和 $A + B$ が成り立つのは、$2$ つの行列が同じ型のブロックに区分けされている場合に限る。
    • ブロック行列の積 $AB$ が成り立つのは、$A$ と $B$ が、$A$ の列方向と $B$ の行方向について同じ型のブロックに区分けされている場合に限る。

参考文献

[1] 齋藤正彦. 線型代数入門. 東京大学出版会. 1966.
[2] 永田雅宣 他. 理系のための線型代数の基礎. 紀伊國屋書店. 1986.
[3] 川久保勝夫. 線形代数学 [新装版]. 日本評論社. 2010.
[4] 松坂和夫. 線型代数入門 [新装版]. 岩波書店. 2018.
[5] 三宅敏恒. 線形代数学 初歩からジョルダン標準形へ. 培風館. 2008.
[6] S. Lang. Linear Algebra Third Edition. Springer. 1987.
[7] T. Miyake. Linear Algebra From the Beginnings to the Jordan Normal. Springer. 2022.
[8] 雪江明彦. 代数学 $1$ 群論入門. 日本評論社. 2010.
[9] 雪江明彦. 代数学 $2$ 環と体とガロア理論. 日本評論社. 2010.
[10] 桂利行. 代数学 $\text{I}$ 群と環. 東京大学出版会. 2004.
[11] 松坂和夫. 代数系入門. 岩波書店. 1976.
[12] 高木貞治. 代数学講義 [改訂新版]. 共立出版. 1965.
[13] S. Lang. Algebra Revised Third Edition. Springer. 2002.
[14] M. Artin. Algebra Second Edition. Pearson Education Limited. 2014.
[15] 青本和彦 他. 数学入門辞典. 岩波書店. 2005.


初版:2023-01-14   |   改訂:2025-05-02