はじめに
前回の記事は行列の入り口として、” 行列と主な行列とその意味 ”について
今回は行列の計算、和&差から積まで。
行列の積については少し特殊。
ちなみに、行列の商については存在しない(前回の記事内の”逆行列”を参照)
行列の和と差
行列計算における和と差とされる計算 X=A ± B は、それぞれの成分を足し算、引き算するのみ。
対応する成分同士の計算であるため、AとBの行数&列数は同じでなければならない。
\( \small{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 ) } \) 、 \( \small{ B = \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 ) } \)
とすれば、行列の和と差 A±Bは
\( \begin{align}
\small{A±B} &=\small{ \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]
&=\small{\left ( \begin{array}{cccc}
a_{11}± b_{11}& a_{12}± b_{12} & \ldots & a_{1n} ± b_{1n} \\
a_{21}± b_{21} & a_{22}± b_{22} & \ldots & a_{2n}± b_{2n} \\
\vdots & \vdots & \ddots & \vdots \\
a_{m1}± b_{m1} & a_{m2}± b_{m2} & \ldots & a_{mn} ± b_{mn}
\end{array} \right ) } \end{align} \)
行列の和と差の計算則
以下の性質があるが、成分単位でみれば当然なので簡単に。。
定数倍(スカラー倍)も成立
行列の積
行列計算における積とされる計算 X = A・B は少し特殊。
というのも、算出される行列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列目の列ベクトル”
との内積値。つまり、下で言えば、色(赤&青)のついた部分の計算が該当する。
\( \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} \)
行数&列数が増えてくると、手計算では脳みそが拒絶モードになるが、こういう計算はソフトにさせておけばよい。
頭に入れておくのは、
という事。
行列の積が、行ベクトルと列ベクトルの内積計算の組合せである事を知っておく事が、 ”行列の積が何をしているか(写像、変換)”を感覚的につかむ事に役にたつ。
以下もご参照。
行列の積の計算則
さて、本題に戻り、
成分計算から明らかではあるが、行列の積において行列の順序は入れ替えられない。
ただし、計算順序の入れ替えは可能
和積の分配法則も成立する
追記
ベクトルの内積については、以下もご参照
これらを踏まえ次のStepへ。
ベクトルの内積の特長と行列の積の計算方法を使い、座標軸の変換ができる。以下をご参照。。
念のため、、行列の積を求める事ができるのは、A行列の列数とB行列の行数が同じの場合のみ。(各成分同士の掛け算をする内積計算のため)。
つまり、Aがmxn行列の場合は、Bはn行をもつ nxk行列でなければならない。積の結果は、mxk行列となる。
-> (mxn)・(nxk) 行列の積では、内が同じ行列数(n:赤)で結果の行列数は外(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)行列