【基礎から始める線形代数】行列の分割と積について【大学講義】

スポンサーリンク
exam 基礎から始める線形代数
スポンサーリンク

はじめに

「基礎から始める線形代数」では大学の講義を全く受けていなくても線形代数を理解できるようになることを目的に連載しています。

基本的には順を追って読み進めてもらえたら嬉しいのですが、飛ばして読んでいる方もいると思います。

わからない用語や知識が出てきた場合には過去の記事に書いてあるので、こちらから探してみてください。

行列の分割

行列の分割は、大きな行列が小さな行列のあつまりだと考えて表示することで、人が簡単に見えるようにする、人が簡単に計算できるようにするものです。

実際に行列の分割をしてみましょう!

次のような行列\(A\)について考えます。

\[A = \begin{pmatrix} 1 & 2 & 3 \\ 4 & 5 & 6 \\ 7 & 8 & 9\end{pmatrix}\]

行列の分割は、行または列に区切ってわけるという考え方です。

例えば「一行目と二行目の間」、「二列目と三列目の間」で区切った場合次のように書き表すことができます。

\[A = \begin{pmatrix}\begin{array}{cc|c} 1 & 2 & 3 \\ \hline 4 & 5 & 6 \\ 7 & 8 & 9\end{array}\end{pmatrix}\]

さらに分割した部分の行列を文字に置き換えて次のように表示することができます。

\[A = \begin{pmatrix}a & 3 \\ b & c\end{pmatrix}\]

\[a = \begin{pmatrix}1 & 2\end{pmatrix}, b = \begin{pmatrix}4 & 5 \\ 7 & 8\end{pmatrix}, c = \begin{pmatrix}6 \\ 9\end{pmatrix}\]

ここでは行と列についてそれぞれ一つずつしか分割していませんが、二つ以上に分割することももちろん可能です。

行列の分割と積

前項で行列の分割を利用することで、大きな行列を計算する際に人にとって簡単にすることができると説明しました。

ここではその理解を深めるために行列の分割と積について説明します。

尚、計算は簡単にできるようになりますが、計算量そのものが減っているわけではないということに注意してください。

次のような行列\(A,B\)について考えます。

\[A = \begin{pmatrix}1 & 3 & 0 & 0 \\ 2 & 1 & 0 & 0 \\ 2 & 7 & 1 & 0\end{pmatrix}, B = \begin{pmatrix}0 & 0 & 1 \\ 0 & 0 & 2 \\ 2 & 2 & 0 \\ 3 & 1 & 0\end{pmatrix}\]

この行列\(A,B\)の積\(AB\)を考える時、行列\(A,B\)を次のように分割してやることで、分割した行列に零行列を作ることができるため積の計算が簡単にできるようになります。

注:何度も言いますが、ここでいう簡単とは見えやすく単純にできるという意味で計算量は変わりません。

\[A = \begin{pmatrix} \begin{array}{cc|cc}1 & 3 & 0 & 0 \\ 2 & 1 & 0 & 0 \\ \hline 2 & 7 & 1 & 0\end{array} \end{pmatrix}, B = \begin{pmatrix} \begin{array}{cc|c}0 & 0 & 1 \\ 0 & 0 & 2 \\ \hline 2 & 2 & 0 \\ 3 & 1 & 0\end{array} \end{pmatrix}\]

ここで分割した行列を次のように置きます。

\[a = \begin{pmatrix} 1 & 3 \\ 2 & 1 \end{pmatrix}, b = \begin{pmatrix} 2 & 7 \end{pmatrix}, c = \begin{pmatrix} 1 & 0 \end{pmatrix}, d = \begin{pmatrix} 1 \\ 2 \end{pmatrix}, f = \begin{pmatrix} 2 & 2 \\ 3 & 1 \end{pmatrix}\]

これを使って行列\(A,B\)を示すと次のようになります。

\[A = \begin{pmatrix}a & O \\ b & c\end{pmatrix}, B = \begin{pmatrix}O & d \\ f & O\end{pmatrix}\]

この時、積\(AB\)は次のように表すことができます。

\[AB = \begin{pmatrix}a \times O + O \times f& a \times d + O \times O \\ b \times O + c \times f & b \times d + c \times O\end{pmatrix} = \begin{pmatrix} O & a \times d \\ c \times f & b \times d \end{pmatrix}\]

あとはそれぞれの要素にある行列の積を計算するだけです!

\[a \times d = \begin{pmatrix}7 \\ 4\end{pmatrix}, c \times f = \begin{pmatrix}2 & 2\end{pmatrix}, b \times d = 16\]

よって行列の積\(AB\)は次のようになります。

\[AB =\begin{pmatrix}0 & 0 & 7\\ 0 & 0 & 4\\ 2 & 2 & 16\end{pmatrix}\]

どうでしょうか。行列の分割をすることで零行列の積の部分を計算する必要がなくなり、簡単な計算のみになったかと思います。

もちろんですが普通に行列の積を計算した時と同じ結果になります。通常通りに計算をして確認しておくと良い勉強になると思います。

行列の積が定義されるには

上述の分割では分割後の小さな行列の積がすべて定義される(計算できる)ように分割していますが、行列の積を実施するためには次の条件を満たす必要があります。

分割前の行列の積が定義されている必要がある

行列の分割はただ計算を簡単にするだけですので、行列の分割をする元の行列について積が定義されないような場合には、行列の積は定義されません。

分割した行列の要素の行と列に注意する。

分割した後、積を計算する際に各要素同士の積が定義されていなければ計算することができないので結果を得られません。

つまり積を計算するために行列を分割するには次のことに注意する必要があります。

積\(AB\)を考える際「行列\(A\)の分割する列の位置及び分割数」と「行列\(B\)の分割する列の位置及び分割数」は等しくなくてはいけない。

確認問題

次のような行列\(A,B\)について、行列の積\(AB\)を行列の分解を用いて解け。

\[A = \begin{pmatrix}1 & 3 & 0\\ 2 & 1 & 0\\ 0 & 7 & 3\end{pmatrix}, B = \begin{pmatrix}0 & 1 \\ 0 & 2 \\ 2 & 2\end{pmatrix}\]

次のように行列\(A,B\)を分割すると、

\[A = \begin{pmatrix}\begin{array}{cc|c}1 & 3 & 0\\ 2 & 1 & 0\\ \hline 0 & 7 & 3\end{array}\end{pmatrix}, B = \begin{pmatrix}\begin{array}{c|c}0 & 1 \\ 0 & 2 \\ \hline 2 & 2\end{array}\end{pmatrix}\]

積\(AB\)は次のように計算できる。

\[AB = \begin{pmatrix}a \times O + O \times 2 & a \times c + O \times 2 \\ b \times O + 3 \times 2 & b \times c + 3 \times 2\end{pmatrix} = \begin{pmatrix} O & a \times c \\ 3 \times 2 & b \times c + 3 \times 2 \end{pmatrix}\]

\[a = \begin{pmatrix}1 & 3 \\ 2 & 1\end{pmatrix}, b = \begin{pmatrix}0 & 7\end{pmatrix}, c = \begin{pmatrix}1 \\ 2\end{pmatrix}\]

これを計算して

\[AB = \begin{pmatrix}0 & 7 \\ 0 & 4 \\ 6 & 20\end{pmatrix}\]

最後に

行列の分割は計算を簡単にしてくれることもありますが、コンピューターで計算する場合には必要ではありません。

それに行列の分割をしないと解けないような問題には私は少なくともであったことがありません。

計算のコツのようなものなので、無理に覚えてなくてもいいような気がしますが、大学の先生の中にはこだわって出題する人もいるようですね。

コメント

タイトルとURLをコピーしました