PR

[行列]3.行列の積の計算: 行列の積は、”ベクトルの内積計算”の繰返し

行列

はじめに

前回の和と差、

に続いて今回は、積について

行列の積

行列計算の積とされる計算 X = AB は少し特殊。

肝は、行列の積の計算にて

  • 算出される行列X の各成分は、行列Aの行ベクトルと行列Bの列ベクトルの内積値

という事(ベクトル成分の内積計算と同じ式)。つまり、

\( \begin{align}
\small{X}&= \small{A \cdot B =\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 ) \left ( \begin{array}{cccc}
b_{11} & b_{12} & \ldots & b_{1n} \\
b_{21} & b_{22} & \ldots & b_{2n} \\
\vdots & \vdots & \ddots & \vdots \\
b_{m1} & b_{m2} & \ldots & b_{mn}
\end{array} \right ) }\\[8pt]
&=\scriptsize{ \left ( \begin{array}{cccc}
a_{11}b_{11}+ a_{12}b_{21}+\ldots+ a_{1n}b_{m1}&
a_{11}b_{12}+ a_{12}b_{22}+\ldots+ a_{1n}b_{m2}&
\ldots &
a_{11}b_{1n}+ a_{12}b_{2n}+\ldots+ a_{1n}b_{mn}\\
a_{21}b_{11}+ a_{22}b_{21}+\ldots+ a_{2n}b_{m1} &
a_{21}b_{12}+ a_{22}b_{22}+\ldots+ a_{2n}b_{m2} &
\ldots &
a_{21}b_{1n}+ a_{22}b_{2n}+\ldots+ a_{2n}b_{mn} \\
\vdots & \vdots & \ddots & \vdots \\
a_{m1}b_{11}+ a_{m2}b_{21}+\ldots+ a_{mn}b_{m1} &
a_{m1}b_{12}+ a_{m2}b_{22}+\ldots+ a_{mn}b_{m2} &
\ldots &
a_{m1}b_{1n}+ a_{m2}b_{2n}+\ldots+ a_{mn}b_{mn}
\end{array} \right )} \end{align} \)

とある時に、例えば X の 2行1列めの成分は、

  • Aの2行目の行ベクトル”(赤)
  • Bの1列目の列ベクトル”(青)

の内積計算(下の A B の色のついたベクトル (赤&青 ))。

つまり、

\( \begin{align}
\small{X}&= \small{A \cdot B =\left ( \begin{array}{cccc}
a_{11} & a_{12} & \ldots & a_{1n} \\
\color{red}{a_{21}} & \color{red}{a_{22}} & \ldots & \color{red}{a_{2n}} \\
\vdots & \vdots & \ddots & \vdots \\
a_{m1} & a_{m2} & \ldots & a_{mn}
\end{array} \right ) \left ( \begin{array}{cccc}
\color{blue}{b_{11}} & b_{12} & \ldots & b_{1n} \\
\color{blue}{b_{21}} & b_{22} & \ldots & b_{2n} \\
\vdots & \vdots & \ddots & \vdots \\
\color{blue}{b_{m1}} & b_{m2} & \ldots & b_{mn}
\end{array} \right ) }\\[8pt]
&=\scriptsize{ \left ( \begin{array}{cccc}
a_{11}b_{11}+ a_{12}b_{21}+\ldots+ a_{1n}b_{m1}&
a_{11}b_{12}+ a_{12}b_{22}+\ldots+ a_{1n}b_{m2}&
\ldots &
a_{11}b_{1n}+ a_{12}b_{2n}+\ldots+ a_{1n}b_{mn}\\
\color{red}{a_{21}}\color{blue}{b_{11}}+ \color{red}{a_{22}}\color{blue}{b_{21}}+\ldots+ \color{red}{a_{2n}}\color{blue}{b_{m1}} &
a_{21}b_{12}+ a_{22}b_{22}+\ldots+ a_{2n}b_{m2} &
\ldots &
a_{21}b_{1n}+ a_{22}b_{2n}+\ldots+ a_{2n}b_{mn} \\
\vdots & \vdots & \ddots & \vdots \\
a_{m1}b_{11}+ a_{m2}b_{21}+\ldots+ a_{mn}b_{m1} &
a_{m1}b_{12}+ a_{m2}b_{22}+\ldots+ a_{mn}b_{m2} &
\ldots &
a_{m1}b_{1n}+ a_{m2}b_{2n}+\ldots+ a_{mn}b_{mn}
\end{array} \right )} \end{align} \)

となっている。

(↑ちなみに、行数&列数が増えてくると、手計算では脳みそが拒絶モードになるが、こういう計算はソフトにさせておけばよい)

頭に入れておくのは、

X = AB

行列の積の各成分(X の行列成分)は、”Aの行ベクトル”と”Bの 列ベクトル”の”内積
(Xの各成分に該当するAの行番号とBの列番号)

という事。

行列の積が、行ベクトルと列ベクトルの内積計算の組合せである事を知っておけば、なんだ行列の掛け算ってただ

  • ”投影の計算(内積)をまとめてやっているだけ” かい

となり、この行列計算の持つ意味がわかるかと。

以下もご参照。

行列の積の計算則

さて、本題に戻り、

上の計算から明らかではあるが、行列の積において積の順序は入れ替えられない
(行ベクトルと列ベクトルの内積計算の入れ替えになるので、計算結果が変わる)。

ただし、計算の順序の入れ替えは可能

  • ABBA
    :行列の積の順序の入れ替えは不可
  • ( A・B )・C = A・( BC )
    :計算の順序の入れ替えは可

和積の分配法則も成立する

  • ( A+B )・C = ABC
  • A・( B+C ) = AB AC

スポンサーリンク

追記

念のため、、行列の積を求める事ができるのは、A行列の列数とB行列の行数が同じの場合のみ。(各成分同士の掛け算をする内積計算のため)。
つまり、Aがmx行列の場合は、Bはn行をもつ xk行列でなければならない。積の結果は、mxk行列となる。
-> ()・() 行列の積では、内が同じ行列数()で結果の行列数は外(

例えば以下

\( \normalsize
{\left ( \begin{array}{c}
a\\b\\c
\end{array} \right ) \cdot
\left ( \begin{array}{cc}
d&e
\end{array} \right ) =
\left ( \begin{array}{cc}
ad&ae\\
bd&be\\
cd&ce\\
\end{array} \right )} \)

(3x1)・(1x2) -> (3x2)行列

ベクトルの内積については、以下もご参照

これらを踏まえ次のStepへ。

ベクトルの内積の特長と行列の積の計算方法を使い、座標軸の変換ができる。以下をご参照。。

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