今回は行列の分割について解説します。
行列の分割について基本的なことをまとめました。
この記事を読めば、行列の分割について理解できると思います。
この記事の著者
マス夫 @masuo_blog
現役東北大学院生。院試免除、早期卒業で大学院進学。
大学の数学と物理をわかりやすく解説しています。
目次
行列の分割とは?
行列の分割とは1つの大きな行列を複数の小さな行列に分けることで、計算や証明の見通しをたてやすくすることです。
例えば、
\begin{eqnarray}
A= \left(
\begin{array}{ccc}
1 & -1 & 3 & 8 \\
0 & 6 & -3 & 5 \\
5 & 4 & 2 & -7
\end{array}
\right)
\end{eqnarray}
これを縦線と横線で4つの区間に分ける
\begin{eqnarray}
\left(
\begin{array}{ccc|c}
1 & -1 & 3 & 8 \\
0 & 6 & -3 & 5 \\
\hline
5 & 4 & 2 & -7
\end{array}
\right)
\end{eqnarray}
分けられた各区画はそれぞれを行列と見なすことができて、分割された小さな行列を小行列といいます。
\begin{align}
A_{11} &=\begin{pmatrix}
1 & -1 & 3 \\
0 & 6 & -3
\end{pmatrix}
&A_{12}=\begin{pmatrix}
8 \\
5
\end{pmatrix} \\
A_{21} &=\begin{pmatrix}
5 & 4 & 2
\end{pmatrix}
&A_{22}=\begin{pmatrix}
-7 \\
\end{pmatrix}
\end{align}
となり、
\begin{eqnarray}
A=\begin{pmatrix}
A_{11} & A_{12} \\
A_{21} & A_{22}
\end{pmatrix}
\end{eqnarray}
となります。
このようにある一つの大きな行列をまるで小行列を成分とする行列のように見ることが出来ます。
行列の分割で最もよく使われるのは行ベクトルと列ベクトルによる分割です。
\begin{eqnarray}
A = \left(
\begin{array}{cccc}
a_{ 11 } & a_{ 12 } & \ldots & a_{ 1n } \\
a_{ 21 } & a_{ 22 } & \ldots & a_{ 2n } \\
\vdots & \vdots & \ddots & \vdots \\
a_{ m1 } & a_{ m2 } & \ldots & a_{ mn }
\end{array}
\right)
\end{eqnarray}
とするとき、$A$の行ベクトルとして、
\begin{eqnarray}
\boldsymbol{a_{1}}=(a_{11},a_{12},\ldots,a_{1n}),\boldsymbol{a_{2}}=(a_{21},a_{22},\ldots,a_{2n}),\ldots,\boldsymbol{a_{m}}=( a_{m1},a_{m2},\ldots,a_{mn})
\end{eqnarray}
列ベクトルとして、
\begin{eqnarray}
\boldsymbol{a_{1}}^{,}=\left(
\begin{array}{c}
a_{11} \\
a_{21} \\
\vdots \\
a_{m1}
\end{array}
\right)
\boldsymbol{a_{2}}^{,}=\left(
\begin{array}{c}
a_{12} \\
a_{22} \\
\vdots \\
a_{m2}
\end{array}
\right)
\ldots
\boldsymbol{a_{n}}^{,}\left(
\begin{array}{c}
a_{1n} \\
a_{2n} \\
\vdots \\
a_{mn}
\end{array}
\right)
\end{eqnarray}
と考えることによって、行列$A$を行ベクトルと列ベクトルで分割することができます。
\begin{eqnarray}
A=\left(
\begin{array}{c}
\boldsymbol{a}_{1} \\
\boldsymbol{a}_{2} \\
\vdots \\
\boldsymbol{a}_{m}
\end{array}
\right)
= ( \boldsymbol{a}_{1}^{,},\boldsymbol{a}_{2}^{,} , \ldots, \boldsymbol{a}_{n}^{,} )
\end{eqnarray}
演算
各種演算について解説します。
基本的なルールは同じで、追加で少しだけ条件が追加されています。
和とスカラー倍
和とスカラー倍
$(m \times n)$の行列$A,B$があり、同じ型に分割する。
\begin{eqnarray}
A = \left(
\begin{array}{cccc}
A_{ 11 } & A_{ 12 } & \ldots & A_{ 1s } \\
A_{ 21 } & A_{ 22 } & \ldots & A_{ 2s } \\
\vdots & \vdots & \ddots & \vdots \\
A_{ r1 } & A_{ r2 } & \ldots & A_{ rs }
\end{array}
\right)
,B = \left(
\begin{array}{cccc}
B_{ 11 } & B_{ 12 } & \ldots & B_{ 1s } \\
B_{ 21 } & B_{ 22 } & \ldots & B_{ 2s } \\
\vdots & \vdots & \ddots & \vdots \\
B_{ r1 } & B_{ r2 } & \ldots & B_{ rs }
\end{array}
\right)
\end{eqnarray}
$A,B$の小行列$A_{ij},B_{ij}$の型はすべて等しい。
この時、和とスカラー倍は以下のようになる。
\begin{eqnarray}
A+B &=& \left(
\begin{array}{cccc}
A_{ 11 }+B_{11} & A_{ 12 }+B_{12} & \ldots & A_{ 1s }+B_{1s} \\
A_{ 21 }+B_{21} & A_{ 22 }+B_{22} & \ldots & A_{ 2s }+B_{1s} \\
\vdots & \vdots & \ddots & \vdots \\
A_{ r1 }+B_{r1} & A_{ r2 }+B_{r2} & \ldots & A_{ rs }+B_{rs}
\end{array}
\right) \\[10pt]
\lambda A &=& \left(
\begin{array}{cccc}
\lambda A_{ 11 } & \lambda A_{ 12 } & \ldots & \lambda A_{ 1s } \\
\lambda A_{ 21 } & \lambda A_{ 22 } & \ldots & \lambda A_{ 2s } \\
\vdots & \vdots & \ddots & \vdots \\
\lambda A_{ r1 } & \lambda A_{ r2 } & \ldots & \lambda A_{ rs }
\end{array}
\right)
\end{eqnarray}
これは簡単ですね。
積
行列を分割することの効果は、特に行列の積を計算するときに現れます。
ブロック分割の積
計算の条件として、2つの行列$A,B$は以下のように$A$の列の分割と$B$の行の分割が等しいとする。
\begin{eqnarray}
&\begin{array}{cccc}
n_{ 1 } \ \ & n_{ 2 } \ & \ldots & \ \ n_{ s }
\end{array}&\\
A = &\left(
\begin{array}{cccc}
A_{ 11 } & A_{ 12 } & \ldots & A_{ 1s } \\
A_{ 21 } & A_{ 22 } & \ldots & A_{ 2s } \\
\vdots & \vdots & \ddots & \vdots \\
A_{ r1 } & A_{ r2 } & \ldots & A_{ rs }
\end{array}
\right)&
,B =
\begin{array}{c}
n_1 \\
n_2 \\
\vdots \\
n_s
\end{array}
\left(
\begin{array}{cccc}
B_{ 11 } & B_{ 12 } & \ldots & B_{ 1t } \\
B_{ 21 } & B_{ 22 } & \ldots & B_{ 2t } \\
\vdots & \vdots & \ddots & \vdots \\
B_{ s1 } & B_{ s2 } & \ldots & B_{ st }
\end{array}
\right)
\end{eqnarray}
この条件を満たすとき、積$AB$は小行列をあたかも通常の数のように考えて、積を計算することが出来る。
\begin{eqnarray}
AB &=& \left(
\begin{array}{cccc}
C_{ 11 } & C_{ 12 } & \ldots & C_{ 1t } \\
C_{ 21 } & C_{ 22 } & \ldots & C_{ 2t } \\
\vdots & \vdots & \ddots & \vdots \\
C_{ r1 } & C_{ r2 } & \ldots & C_{ rt }
\end{array}
\right) \\[10pt]
C_{ij}&=&A_{i1}B_{1j}+A_{i2}B_{2j}+\ldots+A_{is}B_{sj}=\displaystyle \sum_{\lambda=1}^s A_{i\lambda}B_{\lambda j}
\end{eqnarray}
まず、計算を行うための条件として、$A$の列ごとの分割数と$B$の行ごとの分割数が等しく、さらに、すべての小行列において$A_{ik}$の列数と$B_{kj}$行数が等しい必要があります。
この条件満たすように$A,B$を分割すると、積$AB$は分割された小行列を通常の数を成分としてもつ行列の積と同じようにして計算することが出来ます。
行ベクトル、列ベクトルを使った積の表現
行列の分割のうち行ベクトルと列ベクトルへの分割は特によく使われており、これらを使った行列の積の表現を以下にまとめます。
\begin{eqnarray}
AB&=&\left(
\begin{array}{c}
\boldsymbol{a}_1 \\
\boldsymbol{a}_2 \\
\vdots \\
\boldsymbol{a}_n
\end{array}
\right)( \boldsymbol{b}_1^{,}, \boldsymbol{b}_2^{,}, \cdots, \boldsymbol{b}_n^{,} )=\left(
\begin{array}{cccc}
\boldsymbol{a}_{1}\boldsymbol{b}_1^{,} & \boldsymbol{a}_{1}\boldsymbol{b}_2^{,} & \ldots & \boldsymbol{a}_{1}\boldsymbol{b}_n^{,} \\
\boldsymbol{a}_{2}\boldsymbol{b}_1^{,} & \boldsymbol{a}_{2}\boldsymbol{b}_2^{,} & \ldots & \boldsymbol{a}_{2}\boldsymbol{b}_n^{,} \\
\vdots & \vdots & \ddots & \vdots \\
\boldsymbol{a}_{n}\boldsymbol{b}_1^{,} & \boldsymbol{a}_{n}\boldsymbol{b}_2^{,} & \ldots & \boldsymbol{a}_{n}\boldsymbol{b}_n^{,}
\end{array}
\right)\\[10pt]
AB&=&\left(
\begin{array}{c}
\boldsymbol{a}_1 \\
\boldsymbol{a}_2 \\
\vdots \\
\boldsymbol{a}_n
\end{array}
\right)B=\left(
\begin{array}{c}
\boldsymbol{a}_{1}B \\
\boldsymbol{a}_{2}B \\
\vdots \\
\boldsymbol{a}_{n}B
\end{array}
\right)\\[10pt]
AB&=&A( \boldsymbol{b}_1^{,}, \boldsymbol{b}_2^{,}, \cdots, \boldsymbol{b}_n^{,} )=( A\boldsymbol{b}_1^{,}, A\boldsymbol{b}_2^{,}, \cdots, A\boldsymbol{b}_n^{,} )\\[10pt]
AB&=&( \boldsymbol{a}_1^{,}, \boldsymbol{a}_2^{,}, \ldots, \boldsymbol{a}_n^{,} )\left(
\begin{array}{c}
\boldsymbol{b}_1 \\
\boldsymbol{b}_2 \\
\vdots \\
\boldsymbol{b}_n
\end{array}
\right)=( \boldsymbol{a}_1^{,}\boldsymbol{b}_1, \boldsymbol{a}_2^{,}\boldsymbol{b}_2, \ldots, \boldsymbol{a}_n^{,}\boldsymbol{b}_n )
\end{eqnarray}
状況によってこれらの表現をうまく使い分けましょう。
まとめ
今回は行列の分割について解説しました。
分割した行列の積や行ベクトル、列ベクトルを用いた行列の表現になれましょう。
次回から線形写像について解説していきます。
コメント