今回は行列の演算について解説します。
高校で行列を扱わなかった人にとって行列の演算にはハードルを感じる人が多いです。
今回の記事を読めば、初学者であっても行列の演算について理解できると思います。
この記事の著者
マス夫 @masuo_blog
現役東北大学院生。
大学の数学と物理をわかりやすく解説しています。
目次
行列のスカラー倍
行列もベクトルと同じようにスカラー倍の演算ができます。
計算は以下のようになります。
計算
\begin{eqnarray}
c\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}
ca_{ 11 } & ca_{ 12 } & \ldots & ca_{ 1n } \\
ca_{ 21 } & ca_{ 22 } & \ldots & ca_{ 2n } \\
\vdots & \vdots & \ddots & \vdots \\
ca_{ m1 } & ca_{ m2 } & \ldots & ca_{ mn }
\end{array}
\right)
\end{eqnarray}
計算例を以下に示します。
\begin{eqnarray}
2\left(
\begin{array}{ccc}
3 & 6 & 1 \\
6 & 5 & 7 \\
-2 & 9 & 8
\end{array}
\right) = \left(
\begin{array}{ccc}
6 & 12 & 2 \\
12 & 10 & 14 \\
-4 & 18 & 16
\end{array}
\right)
\end{eqnarray}
行列の成分すべてに数(スカラー)を掛けるだけです。どんな型の行列でも問題ないです。
法則
行列のスカラー倍には以下の法則があります。
- $k(A+B)=kA+kB$ (分配法則1)
- $(k+l)A=kA+lA$(分配法則2)
- $(kl)A=k(lA)$ (結合法則)
分配法則や結合法則が成立し、通常の数のように計算して大丈夫です。
行列の和
次に行列の和について解説します。
計算は以下のようになります。
計算
\begin{eqnarray}
\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)
=\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{eqnarray}
計算例を以下に示します。
\begin{eqnarray}
\left(
\begin{array}{ccc}
1 & 2 & 5 \\
3 & -1 & 0 \\
9 & 8 & 2
\end{array}
\right)+\left(
\begin{array}{ccc}
5 & 7 & -5 \\
0 & -2 & 7\\
2 & 1 & 1
\end{array}
\right)=\left(
\begin{array}{ccc}
6 & 9 & 0 \\
3 & -3 & 7 \\
11 & 9 & 3
\end{array}
\right)
\end{eqnarray}
対応する成分同士を足し算すればOKです。
行列$A$と行列$B$は同じ型でなければいけません。
引き算は+を-に換えて同じように計算すれば大丈夫です。
法則
行列の和には以下の法則があります。
- $A+B=B+A$ (交換法則)
- $(A+B)+C=A+(B+C)$(結合法則)
- $A+O=A$
交換法則と結合法則が成り立ち、通常の数と同じように行列の和は計算できます。
3つ目の零行列は和の計算において通常の数の0に相当することを意味しています。
結局、普通の数のように計算して問題ないです。
行列の積
次に行列の積について解説します。
行列の積は少し難しく、初心者がつまずきやすいポイントの一つです。
しかし、実は行列の積は行列を行列たらしめる重要な概念なのです。
頑張って理解しましょう!
計算
行列$A$と$B$の積$AB$は$A$が$m \times n$型行列、$B$が$n \times r$型行列という条件のもとに定義されます。
要するに、$A$の列の個数と$B$の行の個数が等しいときに定義されます。
行列の積
$m \times n$型の$A$と$n \times r$型の$B$があり、その積$AB$を$C$とすると、$C$は$m \times r$型行列となり、その成分$c_{ij}$は$c_{ij}=a_{i1}b_{1j}+a_{i2}b_{2j}+\ldots+a_{in}b_{nj}$ ($=\sum_{k=1}^n a_{ik}b_{kj}$)となります。
\begin{eqnarray}
AB&=&\left(
\begin{array}{ccc}
a_{11} \ \ldots \ \ a_{1n} \\
\vdots \hspace{ 20pt } \hspace{ 20pt } \vdots \\
\boxed{a_{i1} \ \ldots \ a_{in}}\\
\vdots \hspace{ 20pt } \hspace{ 20pt } \vdots \\
a_{m1} \ \ldots \ a_{mn}
\end{array}
\right)\left(
\begin{array}{c}
b_{11} \\
\vdots \\
b_{n1}
\end{array}
\begin{array}{c}
\ldots \\[20pt]
\ldots
\end{array}
\boxed{\begin{array}{c}
b_{1j} \\
\vdots \\
b_{nj}
\end{array}}
\begin{array}{c}
\ldots \\[20pt]
\ldots
\end{array}
\begin{array}{c}
b_{1r} \\
\vdots \\
b_{nr}
\end{array}
\right)\\[10pt]
&=&
\left(
\begin{array}{cccc}
c_{ 11 } & \ldots & c_{ 1j } & \ldots & c_{ 1r } \\
\vdots & & \vdots & & \vdots \\
c_{ i1 } & \ldots & \boxed{c_{ ij }} & \ldots & c_{ ir } \\
\vdots & & \vdots & & \vdots \\
c_{ m1 } & \ldots & c_{ mj } & \ldots & c_{ mr }
\end{array}
\right)
\end{eqnarray}
具体例を以下に示します。次の行列$A$と$B$を考えます。
\begin{eqnarray}
A=\begin{pmatrix}
1 & 4 & -1 \\
0 & 5 & 2 \\
\end{pmatrix},B=
\begin{pmatrix}
7 & 5 \\
2 & -2 \\
1 & 5
\end{pmatrix}
\end{eqnarray}
$A$の列数と$B$の行数が等しいことが分かります。
次に計算を見ていきましょう。
\begin{eqnarray}
AB &=&\begin{pmatrix}
1 & 4 & -1 \\
0 & 5 & 2 \\
\end{pmatrix}
\begin{pmatrix}
7 & 5 \\
2 & -2 \\
1 & 5
\end{pmatrix}\\[5pt]
&=&\begin{pmatrix}
1*7+4*2+(-1)*1 & 1*5+4*(-2)+(-1)*5 \\
0*7+5*2+2*1 & 0*5+5*(-2)+2*5 \\
\end{pmatrix}\\[5pt]
&=&\begin{pmatrix}
14 & -8 \\
12 & 0 \\
\end{pmatrix}
\end{eqnarray}
行列$A$の行の成分と行列の$B$の列成分を順に掛けて足していることが分かります。
とても面倒くさいですが、こういう定義なので慣れましょう。
法則
実は2つの行列の積$AB$と$BA$は$AB \neq BA$です。
これを非可換性といいます。
例えば、以下の行列$A$と$B$を考えます。
\begin{eqnarray}
A=\begin{pmatrix}
1 & 2 \\
6 & 1 \\
\end{pmatrix},B=
\begin{pmatrix}
0 & 2 \\
5 & 1 \\
\end{pmatrix}
\end{eqnarray}
この行列の積$AB$と$BA$はそれぞれ以下のようになります。
\begin{eqnarray}
AB=\begin{pmatrix}
10 & 4 \\
5 & 17 \\
\end{pmatrix},BA=
\begin{pmatrix}
12 & 2 \\
11 & 11 \\
\end{pmatrix}
\end{eqnarray}
このように全く異なる結果が得られます。
$A$と$B$の型によっては入れ替えると積を定義することすら出来なくなることもあります。
次に他の性質について見ていきましょう。
行列の積には結合法則と分配法則が成り立ちます。
- $A(B+C)=AB+AC$ 分配法則1
- $(A+B)C=AC+BC$ 分配法則2
- $(AB)C=A(BC)$ 結合法則
結合法則について解説します。
この結合法則は3つの行列$A,B,C$の積$ABC$において$AB$もしくは$BC$のどちらから計算しても結果は等しいということを示しています。
要するに行列を掛け合わせる順番によらず答えは同じであるということです。
入れ替えると答えは変わるのに、順番は変えても大丈夫というのが行列の積のすごいところ。
以下に証明を示します。飛ばしても問題ないので興味のある人だけ見てください。
結合法則の証明
3つの行列$A,B,C$を考え、それぞれ$m \times n$、$n \times r$、$r \times s$型の行列とします。
まず、型について確認します。$AB$は$m \times r$型であり、$(AB)C$は$m \times s$型であることが分かります。$BC$は$n \times s$型であり、$A(BC)$は$m \times s$型であることが分かります。
よって、$(AB)C$と$A(BC)$の型は等しいことが分かります。
次に成分について計算します。定義から$AB$の$(i,j)$成分は$\sum_{h=1}^n a_{ih}b_{hj}$なので、$(AB)C$の$(i,k)$成分は、$$\sum_{j=1}^r(\sum_{h=1}^n a_{ih}b_{hj})c_{jk}=\sum_{j=1}^r\sum_{h=1}^n a_{ih}b_{hj}c_{jk}$$
一方、定義から$BC$の$(h,k)$成分は$\sum_{j=1}^r b_{hj}c_{jk}$であるから、$A(BC)$の$(i,k)$成分は、$$\sum_{h=1}^na_{ih}(\sum_{j=1}^r b_{hj}c_{jk})=\sum_{h=1}^n\sum_{j=1}^r a_{ih}b_{hj}c_{jk}$$
よって$(AB)C=A(BC)$となり、結合法則は成り立つ。
連立方程式との関係
さて、ここまで読んでくれた読者の皆様は“行列の積は何でこんな面倒くさい定義をしたんだ”と嘆いていると思います。
しかし、連立方程式との関係を学んでいくとこの定義が自然なものであることが分かると思います。
以下の連立方程式を考えます。
\begin{eqnarray}
\left\{
\begin{array}{l}
a_{11}x_{1} + a_{12}x_{2} + a_{13}x_{3} = b_{1} \\
a_{21}x_{1} + a_{22}x_{2} + a_{23}x_{3} = b_{2} \\
a_{31}x_{1} + a_{32}x_{2} + a_{33}x_{3} = b_{3}
\end{array}
\right.
\end{eqnarray}
このとき、以下のような行列とベクトルを考えます。
\begin{eqnarray}
A=\begin{pmatrix}
a_{11} & a_{12} & a_{13} \\
a_{21} & a_{22} & a_{23} \\
a_{31} & a_{32} & a_{33}
\end{pmatrix},\boldsymbol{ x }=
\left(
\begin{array}{c}
x_1 \\
x_2 \\
x_3
\end{array}
\right),\boldsymbol{ b }=
\left(
\begin{array}{c}
b_1 \\
b_2 \\
b_3
\end{array}
\right)
\end{eqnarray}
これらの行列とベクトルの積で連立方程式を表すことができます。
\begin{eqnarray}
\begin{pmatrix}
a_{11} & a_{12} & a_{13} \\
a_{21} & a_{22} & a_{23} \\
a_{31} & a_{32} & a_{33}
\end{pmatrix}
\left(
\begin{array}{c}
x_1 \\
x_2 \\
x_3
\end{array}
\right)&=&
\left(
\begin{array}{c}
b_1 \\
b_2 \\
b_3
\end{array}
\right)\\[10pt]
A\boldsymbol{ x }&=&\boldsymbol{ b }
\end{eqnarray}
このように連立方程式の係数と変数を行列の積としてうまく分離することができました。
こんな感じで実は、行列で記述された方程式を解くことと連立方程式を解くことはほとんど同じことです。
まとめ
今回は行列の演算について解説しました。
行列の和、スカラー倍、積はほとんど普通の数と同じように計算することが出来ます。
ただし、行列の積については$AB \neq BA$ (交換法則は不成立)
これはしっかりと理解しましょう。
コメント