行列乗法(行列の積)
行列\(A\)の列の個数と行列\(B\)の行の個数が一致しているものとします。つまり、\begin{eqnarray*}A &\in &M_{m,p}\left( \mathbb{R} \right) \\
B &\in &M_{p,n}\left( \mathbb{R} \right)
\end{eqnarray*}です。\(A\)の列の個数と\(B\)の行の個数はともに\(p\)で一致していることに注意してください。\(m\)と\(n\)は任意です。
行列\(A\)の第\(i\ \left( =1,\cdots ,m\right) \)行は\(p\)次元の行ベクトル\begin{equation*}\mathrm{row}\left( A,i\right) \in M_{i,p}\left( \mathbb{R} \right)
\end{equation*}であり、行列\(B\)の第\(j\ \left( =1,\cdots ,n\right) \)列は\(p\)次元の列ベクトル\begin{equation*}\mathrm{col}\left( B,j\right) \in M_{p,j}\left( \mathbb{R} \right)
\end{equation*}ですが、これらの次元は等しいため、両者の内積\begin{equation*}
\mathrm{row}\left( A,i\right) \cdot \mathrm{col}\left( B,j\right)
\end{equation*}が1つの実数として定まることが保証されます。行と列の任意の組合せ\(\left( i,j\right) \in \left\{ 1,\cdots,m\right\} \times \left\{ 1,\cdots ,n\right\} \)について同様であるため、この内積を\(ij\)成分として持つ\(m\times n\)行列\begin{equation*}\left( \mathrm{row}\left( A,i\right) \cdot \mathrm{col}\left( B,j\right) \right)
\in M_{m,n}\left( \mathbb{R} \right)
\end{equation*}が定義可能です。これを\(A\)と\(B\)の積(product)と呼び、\begin{equation*}AB=\left( \mathrm{row}\left( A,i\right) \cdot \mathrm{col}\left( B,j\right)
\right)
\end{equation*}で表記します。
A &=&\begin{pmatrix}
a_{11} & a_{12} \\
a_{21} & a_{22}\end{pmatrix}\in M_{2,2}\left( \mathbb{R} \right) \\
B &=&\begin{pmatrix}
b_{11} & b_{12} \\
b_{21} & b_{22}\end{pmatrix}\in M_{2,2}\left( \mathbb{R} \right)
\end{eqnarray*}が与えられたとき、\(A\)の列の個数と\(B\)の行の個数はともに\(2\)であるため、両者の積\begin{equation*}AB\in M_{2,2}\left( \mathbb{R} \right)
\end{equation*}が定義可能です。具体的には、\begin{eqnarray*}
AB &=&\begin{pmatrix}
\mathrm{row}\left( A,1\right) \cdot \mathrm{col}\left( B,1\right) & \mathrm{row}\left( A,1\right) \cdot \mathrm{col}\left( B,2\right) \\
\mathrm{row}\left( A,2\right) \cdot \mathrm{col}\left( B,1\right) & \mathrm{row}\left( A,2\right) \cdot \mathrm{col}\left( B,2\right)
\end{pmatrix}\quad \because \text{行列の積の定義} \\
&=&\begin{pmatrix}
\left( a_{11},a_{12}\right) \cdot \left(
\begin{array}{c}
b_{11} \\
b_{21}\end{array}\right) & \left( a_{11},a_{12}\right) \cdot \left(
\begin{array}{c}
b_{12} \\
b_{22}\end{array}\right) \\
\left( a_{21},a_{22}\right) \cdot \left(
\begin{array}{c}
b_{11} \\
b_{21}\end{array}\right) & \left( a_{21},a_{22}\right) \cdot \left(
\begin{array}{c}
b_{12} \\
b_{22}\end{array}\right)
\end{pmatrix}
\\
&=&\begin{pmatrix}
a_{11}b_{11}+a_{12}b_{21} & a_{11}b_{12}+a_{12}b_{22} \\
a_{21}b_{11}+a_{22}b_{21} & a_{21}b_{12}+a_{22}b_{22}\end{pmatrix}\quad \because \text{内積の定義}
\end{eqnarray*}となります。逆に、\(B\)の列の個数と\(A\)の行の個数はともに\(2\)であるため、両者の積\begin{equation*}BA\in M_{2,2}\left( \mathbb{R} \right)
\end{equation*}が定義可能です。具体的には、\begin{eqnarray*}
BA &=&\begin{pmatrix}
\mathrm{row}\left( B,1\right) \cdot \mathrm{col}\left( A,1\right) & \mathrm{row}\left( B,1\right) \cdot \mathrm{col}\left( A,2\right) \\
\mathrm{row}\left( B,2\right) \cdot \mathrm{col}\left( A,1\right) & \mathrm{row}\left( B,2\right) \cdot \mathrm{col}\left( A,2\right)
\end{pmatrix}\quad \because \text{行列の積の定義} \\
&=&\begin{pmatrix}
\left( b_{11},b_{12}\right) \cdot \left(
\begin{array}{c}
a_{11} \\
a_{21}\end{array}\right) & \left( b_{11},b_{12}\right) \cdot \left(
\begin{array}{c}
a_{12} \\
a_{22}\end{array}\right) \\
\left( b_{21},b_{22}\right) \cdot \left(
\begin{array}{c}
a_{11} \\
a_{21}\end{array}\right) & \left( b_{21},b_{22}\right) \cdot \left(
\begin{array}{c}
a_{12} \\
a_{22}\end{array}\right)
\end{pmatrix}
\\
&=&\begin{pmatrix}
b_{11}a_{11}+b_{12}a_{21} & b_{11}a_{12}+b_{12}a_{22} \\
b_{21}a_{11}+b_{22}a_{21} & b_{21}a_{12}+b_{22}a_{22}\end{pmatrix}\quad \because \text{内積の定義}
\end{eqnarray*}となります。
A &=&\begin{pmatrix}
a_{11} & a_{12} & a_{13} \\
a_{21} & a_{22} & a_{23}\end{pmatrix}\in M_{2,3}\left( \mathbb{R} \right) \\
B &=&\begin{pmatrix}
b_{11} & b_{12} \\
b_{21} & b_{22} \\
b_{31} & b_{32}\end{pmatrix}\in M_{3,2}\left( \mathbb{R} \right)
\end{eqnarray*}が与えられたとき、\(A\)の列の個数と\(B\)の行の個数はともに\(3\)であるため、両者の積\begin{equation*}AB\in M_{2,2}\left( \mathbb{R} \right)
\end{equation*}が定義可能です。具体的には、\begin{eqnarray*}
AB &=&\begin{pmatrix}
\mathrm{row}\left( A,1\right) \cdot \mathrm{col}\left( B,1\right) & \mathrm{row}\left( A,1\right) \cdot \mathrm{col}\left( B,2\right) \\
\mathrm{row}\left( A,2\right) \cdot \mathrm{col}\left( B,1\right) & \mathrm{row}\left( A,2\right) \cdot \mathrm{col}\left( B,2\right)
\end{pmatrix}\quad \because \text{行列の積の定義} \\
&=&\begin{pmatrix}
\left( a_{11},a_{12},a_{13}\right) \cdot \left(
\begin{array}{c}
b_{11} \\
b_{21} \\
b_{31}\end{array}\right) & \left( a_{11},a_{12},a_{13}\right) \cdot \left(
\begin{array}{c}
b_{12} \\
b_{22} \\
b_{32}\end{array}\right) \\
\left( a_{21},a_{22},a_{23}\right) \cdot \left(
\begin{array}{c}
b_{11} \\
b_{21} \\
b_{31}\end{array}\right) & \left( a_{21},a_{22},a_{23}\right) \cdot \left(
\begin{array}{c}
b_{12} \\
b_{22} \\
b_{32}\end{array}\right)
\end{pmatrix}
\\
&=&\left(
\begin{array}{cc}
a_{11}b_{11}+a_{12}b_{21}+a_{13}b_{31} &
a_{11}b_{12}+a_{12}b_{22}+a_{13}b_{32} \\
a_{21}b_{11}+a_{22}b_{21}+a_{23}b_{31} &
a_{21}b_{12}+a_{22}b_{22}+a_{23}b_{32}\end{array}\right) \quad \because \text{内積の定義}
\end{eqnarray*}となります。
A &=&\left( a_{1},a_{2},\cdots ,a_{n}\right) \in M_{1,n}\left( \mathbb{R} \right) \\
B &=&\left(
\begin{array}{c}
b_{1} \\
b_{2} \\
\vdots \\
b_{n}\end{array}\right) \in M_{n,1}\left( \mathbb{R} \right)
\end{eqnarray*}が与えられたとき、\(A\)の列の個数と\(B\)の行の個数はともに\(n\)であるため、両者の積\begin{equation*}AB\in M_{1,n}\left( \mathbb{R} \right)
\end{equation*}が定義可能です。具体的には、\begin{eqnarray*}
AB &=&\left( \mathrm{row}\left( A,1\right) \cdot \mathrm{col}\left( B,1\right)
\right) \quad \because \text{行列の積の定義} \\
&=&\left( \left( a_{1},a_{2},\cdots ,a_{n}\right) \cdot \left(
\begin{array}{c}
b_{1} \\
b_{2} \\
\vdots \\
b_{n}\end{array}\right) \right) \\
&=&\left( a_{1}b_{1}+a_{2}b_{2}+\cdots +a_{n}b_{n}\right) \quad \because
\text{内積の定義}
\end{eqnarray*}となります。つまり、行ベクトルと列ベクトルの行列積はベクトルどうしの内積と一致します。逆に、\(B\)の列の個数と\(A\)の行の個数はともに\(1\)であるため、両者の積\begin{equation*}BA\in M_{n,n}\left( \mathbb{R} \right)
\end{equation*}が定義可能です。具体的には、\begin{eqnarray*}
BA &=&\begin{pmatrix}
\mathrm{row}\left( B,1\right) \cdot \mathrm{col}\left( A,1\right) & \cdots &
\mathrm{row}\left( B,1\right) \cdot \mathrm{col}\left( A,n\right) \\
\vdots & \ddots & \vdots \\
\mathrm{row}\left( B,n\right) \cdot \mathrm{col}\left( A,1\right) & \cdots &
\mathrm{row}\left( B,n\right) \cdot \mathrm{col}\left( A,n\right)
\end{pmatrix}\quad \because \text{行列の積の定義} \\
&=&\begin{pmatrix}
b_{1}\cdot a_{1} & \cdots & b_{1}\cdot a_{n} \\
\vdots & \ddots & \vdots \\
b_{n}\cdot a_{1} & \cdots & b_{n}\cdot a_{n}\end{pmatrix}
\\
&=&\begin{pmatrix}
b_{1}a_{1} & \cdots & b_{1}a_{n} \\
\vdots & \ddots & \vdots \\
b_{n}a_{1} & \cdots & b_{n}a_{n}\end{pmatrix}\quad \because \text{内積の定義}
\end{eqnarray*}となります。
A &=&\left( a\right) \in M_{1,1}\left( \mathbb{R} \right) \\
B &=&\left( b\right) \in M_{1,1}\left( \mathbb{R} \right)
\end{eqnarray*}が与えられたとき、\(A\)の列の個数と\(B\)の行の個数はともに\(1\)であるため、両者の積\begin{equation*}AB\in M_{1,1}\left( \mathbb{R} \right)
\end{equation*}が定義可能です。具体的には、\begin{eqnarray*}
AB &=&\left( \mathrm{row}\left( A,1\right) \cdot \mathrm{col}\left( B,1\right)
\right) \quad \because \text{行列の積の定義} \\
&=&\left( a\cdot b\right) \\
&=&\left( ab\right) \quad \because \text{内積の定義}
\end{eqnarray*}となります。つまり、実数どうしの行列積は実数どうしの積と一致します。逆に、\(B\)の列の個数と\(A\)の列の個数はともに\(1\)であるため、両者の積\begin{equation*}BA\in M_{1,1}\left( \mathbb{R} \right)
\end{equation*}が定義可能です。具体的には、\begin{eqnarray*}
BA &=&\left( \mathrm{row}\left( B,1\right) \cdot \mathrm{col}\left( A,1\right)
\right) \quad \because \text{行列の積の定義} \\
&=&\left( b\cdot a\right) \\
&=&\left( ba\right) \quad \because \text{内積の定義}
\end{eqnarray*}となります。
行列\(A\in M_{m,p}\left( \mathbb{R} \right) \)および\(B\in M_{p,n}\left( \mathbb{R} \right) \)を任意に選んだとき、\(A\)の列の個数と\(B\)の行の個数が\(p\)で一致することから、\(A\)の第\(i\)行\(\mathrm{row}\left( A,i\right) \)と\(A\)の第\(j\)列\(\mathrm{col}\left( B,j\right) \)はともに\(p\)個の成分を持つベクトルであるため、両者の内積\(\left( A,i\right) \cdot \mathrm{col}\left( B,j\right) \)をとることができるとともに、それが1つの実数として定まることが保証されます。任意の\(\left( i,j\right) \in \left\{ 1,\cdots,m\right\} \times \left\{ 1,\cdots ,n\right\} \)について同様であるため、\(AB\)が\(M_{m,n}\left( \mathbb{R} \right) \)上の1つの行列として定まることが保証されます。つまり、\begin{equation*}\forall A\in M_{m,p}\left( \mathbb{R} \right) ,\ \forall B\in M_{p,n}\left( \mathbb{R} \right) :AB\in M_{m,n}\left( \mathbb{R} \right)
\end{equation*}が成り立つということです。このような事情を踏まえると、行列を成分とするそれぞれの順序対\(\left( A,B\right)\in M_{m,p}\left( \mathbb{R} \right) \times M_{p,n}\left( \mathbb{R} \right) \)に対して、それらの行列積\(AB\in M_{m,n}\left( \mathbb{R} \right) \)を定める二項演算\begin{equation*}\cdot :M_{m,p}\left( \mathbb{R} \right) \times M_{p,n}\left( \mathbb{R} \right) \rightarrow M_{m,n}\left( \mathbb{R} \right)
\end{equation*}が定義可能です。このような演算を行列乗法(matrix multiplication)と呼びます。順序対\(\left(A,B\right) \)に対して行列乗法\(\cdot \)を適用することを、\(A\)と\(B\)を掛ける(multiply)と言います。行列乗法\(\cdot \)の記号は省略されるのが慣例です。
行列積\(AB\)が定義可能であるためには\(A\)の列の個数と\(B\)の行の個数が一致している必要があります。\(A\)の列の個数と\(B\)の行の個数が一致しない場合、行列積\(AB\)は定義されません。
A &=&\begin{pmatrix}
a_{11} & a_{12} & a_{13} \\
a_{21} & a_{22} & a_{23}\end{pmatrix}\in M_{2,3}\left( \mathbb{R} \right) \\
B &=&\begin{pmatrix}
b_{11} & b_{12} \\
b_{21} & b_{22}\end{pmatrix}\in M_{2,2}\left( \mathbb{R} \right)
\end{eqnarray*}が与えられたとき、\(A\)の列の個数\(3\)と\(B\)の行の個数\(2\)は異なるため、行列積\begin{equation*}AB
\end{equation*}は定義されません。ちなみに、\(B\)の列の個数と\(A\)の行の個数はともに\(2\)であるため、行列積\begin{equation*}BA\in M_{2,3}\left( \mathbb{R} \right)
\end{equation*}は定義可能であり、具体的には、\begin{eqnarray*}
BA &=&\begin{pmatrix}
\mathrm{row}\left( B,1\right) \cdot \mathrm{col}\left( A,1\right) & \mathrm{row}\left( B,1\right) \cdot \mathrm{col}\left( A,2\right) & \mathrm{row}\left(
B,1\right) \cdot \mathrm{col}\left( A,3\right) \\
\mathrm{row}\left( B,2\right) \cdot \mathrm{col}\left( A,1\right) & \mathrm{row}\left( B,2\right) \cdot \mathrm{col}\left( A,2\right) & \mathrm{row}\left(
B,3\right) \cdot \mathrm{col}\left( A,3\right)
\end{pmatrix}
\\
&=&\begin{pmatrix}
\left( b_{11},b_{12}\right) \cdot \left(
\begin{array}{c}
a_{11} \\
a_{21}\end{array}\right) & \left( b_{11},b_{12}\right) \cdot \left(
\begin{array}{c}
a_{12} \\
a_{22}\end{array}\right) & \left( b_{11},b_{12}\right) \cdot \left(
\begin{array}{c}
a_{13} \\
a_{23}\end{array}\right) \\
\left( b_{21},b_{22}\right) \cdot \left(
\begin{array}{c}
a_{11} \\
a_{21}\end{array}\right) & \left( b_{21},b_{22}\right) \cdot \left(
\begin{array}{c}
a_{12} \\
a_{22}\end{array}\right) & \left( b_{21},b_{22}\right) \cdot \left(
\begin{array}{c}
a_{13} \\
a_{23}\end{array}\right)
\end{pmatrix}
\\
&=&\left(
\begin{array}{ccc}
b_{11}a_{11}+b_{12}a_{21} & b_{11}a_{12}+b_{12}a_{22} &
b_{11}a_{13}+b_{12}a_{23} \\
b_{21}a_{11}+b_{22}a_{21} & b_{21}a_{12}+b_{22}a_{22} &
b_{21}a_{13}+b_{22}a_{23}\end{array}\right)
\end{eqnarray*}となります。
行列乗法の結合律
行列乗法は以下の性質\begin{equation*}
\forall A\in M_{m,p}\left( \mathbb{R} \right) ,\ \forall B\in M_{p,q}\left( \mathbb{R} \right) ,\ \forall C\in M_{q,n}\left( R\right) :\left( AB\right) C=A\left(
BC\right)
\end{equation*}を満たします。これを結合律(associative law)と呼びます。括弧\(\left( \ \right) \)は行列乗法を適用する順番を表す記号です。つまり、左辺\(\left( AB\right) C\)は、はじめに\(A\)と\(B\)を掛けた上で、得られた結果と\(C\)をさらに掛けて得られる行列です。右辺の\(A\left( BC\right) \)は、はじめに\(B\)と\(C\)を掛けた上で、\(A\)と先の結果\(BC\)を掛けて得られる行列です。結合律はこれらの行列が等しいことを保証します。つまり、3つの行列\(A,B,C\)に対して行列乗法を適用する際には、隣り合うどの2つを先に掛けても得られる結果は変わらないということです。
\forall A\in M_{m,p}\left( \mathbb{R} \right) ,\ \forall B\in M_{p,q}\left( \mathbb{R} \right) ,\ \forall C\in M_{q,n}\left( R\right) :\left( AB\right) C=A\left(
BC\right)
\end{equation*}を満たす。
行列加法と行列乗法に関する分配律
行列加法と行列乗法の間には以下の関係が成り立ちます。\(\left(a\right) \)を左分配律(left distributive law)と呼び、\(\left( b\right) \)を右分配律(right distributive law)と呼びます。
&&\left( a\right) \ \forall A\in M_{m,p}\left( \mathbb{R} \right) ,\ \forall B,C\in M_{p,n}\left( \mathbb{R} \right) :A\left( B+C\right) =AB+BC \\
&&\left( b\right) \ \forall A,B\in M_{m,p}\left( \mathbb{R} \right) ,\ \forall C\in M_{p,n}\left( \mathbb{R} \right) :\left( A+B\right) C=AC+BC
\end{eqnarray*}という関係が成り立つ。
ゼロ行列との積
行列とゼロ行列の積が定義可能である場合、それはゼロ行列になることが保証されます。
行列\(A\in M_{m,n}\left( \mathbb{R} \right) \)を任意に選んだとき、これとゼロ行列\(0\in M_{p,m}\left( \mathbb{R} \right) \)の間には、\begin{equation*}0A=0
\end{equation*}が成り立ち、これとゼロ行列\(0\in M_{n,p}\left( \mathbb{R} \right) \)の間には、\begin{equation*}A0=0
\end{equation*}が成り立つ。
スカラー乗法と行列乗法の関係
スカラー乗法と行列乗法の間には以下の関係が成り立ちます。
\end{equation*}が成り立つ。
演習問題
1 & 3 \\
2 & -1\end{pmatrix}
\\
B &=&\begin{pmatrix}
2 & 0 & -4 \\
3 & -2 & 6\end{pmatrix}\end{eqnarray*}として与えられているとき、\begin{eqnarray*}
&&\left( a\right) \ AB \\
&&\left( b\right) \ BA
\end{eqnarray*}をそれぞれ求めてください。
2 & 1\end{pmatrix}
\\
B &=&\begin{pmatrix}
1 & -2 & 0 \\
4 & 5 & -3\end{pmatrix}\end{eqnarray*}として与えられているとき、\begin{eqnarray*}
&&\left( a\right) \ AB \\
&&\left( b\right) \ BA
\end{eqnarray*}をそれぞれ求めてください。
2 & -1 \\
1 & 0 \\
-3 & 4\end{pmatrix}
\\
B &=&\begin{pmatrix}
1 & -2 & -5 \\
3 & 4 & 0\end{pmatrix}\end{eqnarray*}として与えられているとき、\begin{eqnarray*}
&&\left( a\right) \ AB \\
&&\left( b\right) \ BA
\end{eqnarray*}をそれぞれ求めてください。
\end{equation*}が成り立つことを保証できるでしょうか。議論してください。
x \\
y \\
z \\
1\end{pmatrix}\in M_{4,1}\left( \mathbb{R} \right)
\end{equation*}という列ベクトルとして表記するものと定めます。実数\(a,b,c\in \mathbb{R} \)を任意に選んだ上で、以下の行列\begin{equation*}T=\begin{pmatrix}
1 & 0 & 0 & a \\
0 & 1 & 0 & b \\
0 & 0 & 1 & c \\
0 & 0 & 0 & 1\end{pmatrix}\in M_{4,4}\left( \mathbb{R} \right)
\end{equation*}を定義します。\(X\)の列の個数と\(T\)の行の個数はともに\(4\)であるため行列の積\begin{equation*}TX\in M_{4,1}\left( \mathbb{R} \right)
\end{equation*}が定義可能ですが、これは何を表しているでしょうか。
\end{equation*}が成り立つものとします。ただし、\(0\)はゼロ行列です。この場合には、\begin{equation*}BA=0
\end{equation*}もまた常に成り立つでしょうか。議論してください。
\end{equation*}は常に成り立つでしょうか。議論してください。
プレミアム会員専用コンテンツです
【ログイン】【会員登録】