logo

行列の直和 📂行列代数

行列の直和

定義1

二つの行列 BMm×nB \in M_{m\times n}, CMp×qC \in M_{p\times q}直和direct sumを次の (m+p)×(n+q)(m+p) \times (n+q)行列 AAとして定義し、BCB \oplus Cと表記する。

A=BC:=[b11b1n00bm1bmn0000c11c1q00cp1cpq] A = B \oplus C := \begin{bmatrix} b_{11} & \cdots & b_{1n} & 0 & \cdots & 0 \\ \vdots & \ddots & \vdots & \vdots & \ddots & \vdots \\ b_{m1} & \cdots & b_{mn} & 0 & \cdots & 0 \\ 0 & \cdots & 0 & c_{11} & \cdots & c_{1q} \\ \vdots & \ddots & \vdots & \vdots & \ddots & \vdots \\ 0 & \cdots & 0 & c_{p1} & \cdots & c_{pq} \\ \end{bmatrix}

Aij:={[B]ijfor 1im, 1jn[C](im),(jn)for m+1ip+m, n+1jq+n0otherwise A_{ij} := \begin{cases} [B]_{ij} & \text{for } 1\le i \le m,\ 1\le j \le n \\ [C]_{(i-m),(j-n)} & \text{for } m+1\le i \le p+m,\ n+1\le j \le q+n \\ 0 & \text{otherwise} \end{cases}

ブロック行列形式で表すと、

A=[BOmqOpnC] A = \begin{bmatrix} B & O_{mq} \\ O_{pn} & C \end{bmatrix}

このとき、OO零行列だ。

一般化

行列 B1,B2,,BkB_{1}, B_{2}, \dots, B_{k}直和を以下のように再帰的に定義する。

B1B2Bk:=(B1B2Bk1)Bk B_{1} \oplus B_{2} \oplus \cdots \oplus B_{k} := (B_{1} \oplus B_{2} \oplus \cdots \oplus B_{k-1}) \oplus B_{k}

A=B1B2BkA = B_{1} \oplus B_{2} \oplus \cdots \oplus B_{k}ならば、

A=[B1OOOB2OOOBk] A = \begin{bmatrix} B_{1} & O & \cdots & O \\ O & B_{2} & \cdots & O \\ \vdots & \vdots & \ddots & \vdots \\ O & O & \cdots & B_{k} \\ \end{bmatrix}

説明

簡単に言えば、行列でブロック対角行列を作ることだ。

B1B2Bk=diag[B1B2Bk] B_{1} \oplus B_{2} \oplus \cdots \oplus B_{k} = \href{../2048}{\diag} \begin{bmatrix} B_{1} \\ B_{2} \\ \vdots \\ B_{k} \end{bmatrix}

具体的な例としてB1=[111111]B_{1} = \begin{bmatrix} 1 & 1 & 1 \\ 1 & 1 & 1 \end{bmatrix}B2=[2]B_{2} = \begin{bmatrix} 2 \end{bmatrix}B3=[333333333]B_{3} = \begin{bmatrix} 3 & 3 & 3 \\ 3 & 3 & 3 \\ 3 & 3 & 3 \end{bmatrix}とすると、

B1B2B3=[111000011100000002000000033300003330000333] B_{1} \oplus B_{2} \oplus B_{3} = \begin{bmatrix} 1 & 1 & 1 & 0 & 0 & 0 & 0 \\ 1 & 1 & 1 & 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & 2 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 & 3 & 3 & 3 \\ 0 & 0 & 0 & 0 & 3 & 3 & 3 \\ 0 & 0 & 0 & 0 & 3 & 3 & 3 \end{bmatrix}

通常の場合、行列の直和よりも部分空間の直和に先に触れるかもしれないが、以下の定理を見ると、このような定義がなぜ直和と呼ばれるか十分納得がいく。線形変換T:VVT : V \to Vが与えられたとき、V=W1WkV = W_{1} \oplus \cdots \oplus W_{k}であれば、TT行列表現射影TWiT|_{W_{i}}の行列表現の直和として現れるため、このような行列の演算を直和と呼ぶ理由はないわけがない。

定理

T:VVT : V \to V有限次元ベクトル空間VV上の線形変換とする。W1,,WkW_{1}, \dots, W_{k}TT-不変部分空間VVWiW_{i}たちの直和とする。

V=W1Wk V = W_{1} \oplus \cdots \oplus W_{k}

βi\beta_{i}WiW_{i}順序基底β=β1βk\beta = \beta_{1} \cup \cdots \cup \beta_{k}とする。(その場合、β\betaVVの基底である)そして、A=[T]βA = \begin{bmatrix} T \end{bmatrix}_{\beta}Bi=[TW]βiB_{i} = \begin{bmatrix} T|_{W}\end{bmatrix}_{\beta_{i}}とすると、次が成り立つ。

A=B1B2Bk=[B1OOOB2OOOBk] A = B_{1} \oplus B_{2} \oplus \cdots \oplus B_{k} = \begin{bmatrix} B_{1} & O & \cdots & O \\ O & B_{2} & \cdots & O \\ \vdots & \vdots & \ddots & \vdots \\ O & O & \cdots & B_{k} \\ \end{bmatrix}

証明

数学的帰納法で証明する。

  • k=2k=2のとき成り立つ。

    vβ1\mathbf{v} \in \beta_{1}とする。β\betaVV基底なので、TvVT \mathbf{v} \in Vβ\beta線形結合として表される。しかしW1W_{1}が不変部分空間なので、TvW1T \mathbf{v} \in W_{1}が成り立つ。したがって、TvT \mathbf{v}の線形結合でβ2\beta_{2}の要素の係数は全部00である。これは、n=dim(W1)n = \dim(W_{1})のとき、座標ベクトル[Tv]β\begin{bmatrix} T \mathbf{v} \end{bmatrix}_{\beta}の成分がn+1n+1番目以降は全部00であることを意味する。したがって、 [TW1v]β1=[b1bn]and[Tv]β=[b1bn00] \begin{bmatrix} T|_{W_{1}}\mathbf{v}\end{bmatrix}_{\beta_{1}} = \begin{bmatrix} b_{1} \\ \vdots \\ b_{n} \end{bmatrix} \quad \text{and} \quad \begin{bmatrix} T \mathbf{v} \end{bmatrix}_{\beta} = \begin{bmatrix} b_{1} \\ \vdots \\ b_{n} \\ 0 \\ \vdots \\ 0 \end{bmatrix} 同様に、vβ2\mathbf{v} \in \beta_{2}m=dim(W2)m = \dim(W_{2})ならば、TvW2T \mathbf{v} \in W_{2}であり、座標ベクトルは以下のようになる。 [TW2v]β2=[bn+1bn+m]and[Tv]β=[00bn+1bn+m] \begin{bmatrix} T|_{W_{2}}\mathbf{v}\end{bmatrix}_{\beta_{2}} = \begin{bmatrix} b_{n+1} \\ \vdots \\ b_{n+m} \end{bmatrix} \quad \text{and} \quad \begin{bmatrix} T \mathbf{v} \end{bmatrix}_{\beta} = \begin{bmatrix} 0 \\ \vdots \\ 0 \\ b_{n+1} \\ \vdots \\ b_{n+m} \end{bmatrix} したがって、 [T]β=[[TW1]β1OO[TW2]β2] \begin{bmatrix} T \end{bmatrix}_{\beta} = \begin{bmatrix} \begin{bmatrix} T|_{W_{1}}\end{bmatrix}_{\beta_{1}} & O \\ O & \begin{bmatrix} T|_{W_{2}}\end{bmatrix}_{\beta_{2}} \end{bmatrix}

  • k1k-1のとき成り立つなら、kkのときも成り立つ。

    W=W1Wk1W = W_{1} \oplus \cdots \oplus W_{k-1}βW=β1βk1\beta_{W} = \beta_{1} \cup \cdots \cup \beta_{k-1}とする。k1k-1のとき成り立つと仮定すると、 [TW]βW=[[TW1]β1OO[TWk1]βk1] \begin{bmatrix} T|_{W} \end{bmatrix}_{\beta_{W}} = \begin{bmatrix} \begin{bmatrix} T|_{W_{1}}\end{bmatrix}_{\beta_{1}} & \cdots & O \\ \vdots & \ddots & \vdots \\ O &\cdots & \begin{bmatrix} T|_{W_{k-1}}\end{bmatrix}_{\beta_{k-1}} \end{bmatrix} しかしV=WWkV = W \oplus W_{k}β=βWβk\beta = \beta_{W} \cup \beta_{k}であり、k=2k=2のとき成り立つので、 [T]β=[[TW]βWOO[TWk]βk]=[[TW1]β1OOO[TWk1]βk1OOO[TWk]βk] \begin{bmatrix} T \end{bmatrix}_{\beta} = \begin{bmatrix} \begin{bmatrix} T|_{W}\end{bmatrix}_{\beta_{W}} & O \\ O & \begin{bmatrix} T|_{W_{k}}\end{bmatrix}_{\beta_{k}} \end{bmatrix} = \begin{bmatrix} \begin{bmatrix} T|_{W_{1}}\end{bmatrix}_{\beta_{1}} & \cdots & O & O \\ \vdots & \ddots & \vdots & \vdots \\ O & \cdots & \begin{bmatrix} T|_{W_{k-1}}\end{bmatrix}_{\beta_{k-1}} & O \\ O & \cdots & O & \begin{bmatrix} T|_{W_{k}}\end{bmatrix}_{\beta_{k}} \\ \end{bmatrix}


  1. Stephen H. Friedberg, Linear Algebra (4th Edition, 2002), p320-321 ↩︎