行列の積の定義はなぜあの形? 変換の合成として見る

どうも、木村(@kimu3_slime)です。

行列・線形代数を学び始めると、行列の積が「横×縦」であると知ることになります。

なぜそのような定義をするのでしょうか? 今回は、行列の積を変換の合成と見ることで、その理由のひとつを提示します。

 



行列を変換として見る

そもそも、行列とは何でしょうか。

数を縦横に並べたもので、連立方程式を解くのに都合が良い、でしょうか。それは間違いではありません。

しかし、行列にはベクトルや空間の変換という側面があります。すなわち、線形変換(linear transformation)とも呼ばれるのです。

 

変換とはどういうことか、説明します。

\(D:=[0,1]^2= \{(x,y)\in \mathbb{R}^2 \mid 0\leq x\leq1,0\leq y\leq1 \}\)で表される正方形の領域を考えましょう。

これを\(x\)軸につき反転させる変換を考えます。

つまり、\(x^{\prime}=x ,y^{\prime} =-y\)と変換することで、領域は

\[ \begin{aligned}D^{\prime}:= \{(x^{\prime},y^{\prime} )\in \mathbb{R}^2 \mid 0\leq x^{\prime}\leq1,-1\leq y^{\prime} \leq0 \}\end{aligned} \]

となりますね。

さらに、\(y\)軸方向に正方形をひし形へ変形させてみる変換、すなわちせん断(shear)を考えます。

つまり、\(x^{\prime\prime} = x^{\prime}+y^{\prime} , y^{\prime\prime}=  y^{\prime} \)となる変換を考えると、領域は

\[ \begin{aligned}D^{\prime\prime}:= \{(x^{\prime\prime},y^{\prime\prime})\in \mathbb{R}^2 \mid -1\leq y^{\prime\prime}\leq0,x^{\prime\prime}-1\leq y^{\prime\prime}\leq x^{\prime\prime}\}\end{aligned} \]

となります。

行列を使って変換を表すと、見通しが良い

こうした変換を、行列の言葉を使って表してみましょう。

最初の変換\(x^{\prime}=x ,y^{\prime} =-y\)は、

\[ \begin{aligned}\begin{pmatrix} x^{\prime} \\ y^{\prime} \end{pmatrix}=\begin{pmatrix} 1 & 0 \\ 0 & -1 \end{pmatrix} \begin{pmatrix} x\\ y \end{pmatrix}\end{aligned} \]

となり、続くせん断\(x^{\prime\prime} = x^{\prime}+y^{\prime} , y^{\prime\prime}=  y^{\prime} \)は

\[ \begin{aligned}\begin{pmatrix} x^{\prime\prime} \\ y^{\prime\prime} \end{pmatrix}=\begin{pmatrix} 1 & 1 \\ 0 & 1 \end{pmatrix} \begin{pmatrix} x^{\prime}\\ y^{\prime} \end{pmatrix}\end{aligned} \]

となります。

つまり、ここにおいて行列とは係数の略記です。一般に、線形変換\(x^{\prime}=a_{11}x+a_{12}y ,y^{\prime} =a_{21}x+a_{22}y\)は、

\[ \begin{aligned}\begin{pmatrix} x^{\prime} \\ y^{\prime} \end{pmatrix}=\begin{pmatrix} a_{11} & a_{12} \\ a_{21} & a_{22} \end{pmatrix} \begin{pmatrix} x\\ y \end{pmatrix}\end{aligned} \]

と行列で表せます。(と、表すことで行列を定義します)

ここで、行列の積を「横×縦」とする理由がわかります。

2つの変換を組み合わせたもの\((x,y)\mapsto(x^{\prime\prime},y^{\prime\prime})\)を考えてみましょう。

代入をすれば、\(x^{\prime\prime} = x^{\prime}+y^{\prime}=x-y \)、\(y^{\prime\prime} =y^{\prime}=-y \)となるわけですが、少し見通しが悪いです。

そこで、さきほどの行列の言葉で書かれたものを計算してみましょう。

\[\begin{aligned} \begin{pmatrix} x^{\prime\prime} \\ y^{\prime\prime} \end{pmatrix}&=\begin{pmatrix} 1 & 1 \\ 0 & 1 \end{pmatrix} \begin{pmatrix} x^{\prime}\\ y^{\prime} \end{pmatrix} \\ &= \begin{pmatrix} 1 & 1 \\ 0 & 1 \end{pmatrix} \begin{pmatrix} 1 & 0 \\ 0 & -1 \end{pmatrix} \begin{pmatrix} x\\ y \end{pmatrix}\\ &= \begin{pmatrix} 1 & -1 \\ 0 & -1 \end{pmatrix}  \begin{pmatrix} x\\ y \end{pmatrix}\\ &= \begin{pmatrix} x-y\\ -y \end{pmatrix} \end{aligned} \]

各変数ごとの変換と同様の結果が、行列計算によって統一的に得られています

変数を(線形的に)2回変換するということは、本質的には行列の積の計算と同じ。

今回は単純な変数変換を考えましたが、より多くの複雑な変数変換を行えば、逐一代入するよりも、行列の言葉で扱う方が効率が良いでしょう。(例えば2変数でなく\(n\)変数の変換を考えるとか)

 

行列の積は、変換の合成と整合的

もう少し、関数・写像の言葉を使って整理してみましょう。

最初の変換を\(f((x,y))=A(x,y)\)、せん断を\(g((x^{\prime},y^{\prime}))=B(x^{\prime},y^{\prime})\)と表します。

この変換をあわせたものは、合成関数・合成写像\(h((x,y))=g\circ f((x,y))\)です。これは行列としては

\[\begin{aligned} h((x,y))&=g\circ f((x,y))=g(f(x,y))\\&=B(Ax) \end{aligned} \]

となるわけですが、行列の積は\(B(Ax)=(BA)x\)となるように定義されています。

つまり、逐次の変換(\(x\)に\(A\)を作用させ、その後\(B\)を作用させる)と、一度の変換(積\(BA\)を計算してから、\(x\)に作用させる)が同じ結果になるように定義されているわけです。

例えば\(2\times2\)行列なら、

\[\begin{aligned} B(A(x,y))&=\begin{pmatrix} b_{11} & b_{12} \\ b_{21} & b_{22} \end{pmatrix} (\begin{pmatrix} a_{11} & a_{12} \\ a_{21} & a_{22} \end{pmatrix} \begin{pmatrix} x\\ y \end{pmatrix}) \\ &=  \begin{pmatrix} b_{11} & b_{12} \\ b_{21} & b_{22} \end{pmatrix} \begin{pmatrix} a_{11} x+ a_{12}y \\ a_{21}x + a_{22} y\end{pmatrix}  \\ &= \begin{pmatrix} (b_{11}a_{11}+b_{12} a_{21} )x+ (b_{11}a_{12}+ b_{12}a_{22})y \\ (b_{21}a_{11} +b_{22}a_{21})x+(b_{21} a_{12}+b_{22} a_{22})y \end{pmatrix}\end{aligned} \]

\[\begin{aligned} (BA)(x,y)&=(\begin{pmatrix} b_{11} & b_{12} \\ b_{21} & b_{22} \end{pmatrix} \begin{pmatrix} a_{11} & a_{12} \\ a_{21} & a_{22} \end{pmatrix}) \begin{pmatrix} x\\ y\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}  \begin{pmatrix} x\\ y\end{pmatrix}) \\ &= \begin{pmatrix} (b_{11}a_{11}+b_{12} a_{21} )x+ (b_{11}a_{12}+ b_{12}a_{22})y \\ (b_{21}a_{11} +b_{22}a_{21})x+(b_{21} a_{12}+b_{22} a_{22})y \end{pmatrix}\end{aligned} \]

と一致しているのがわかります。

逆に言えば、前者の結果\(B(A(x,y))\)と一致しているように、行列の積\(BA\)というものを定義したわけです。

ここまで来れば、行列の積を各成分の積ではなく、「行×列」の形で定義するのがむしろ自然であることに、納得できるのではないでしょうか。

 

行列の生みの親・ケイリーの発想

現在知られているような行列(matrix)の発想は、アーサー・ケイリーArthur Cayleyによるものと言われています。

高校数学、あるいは線形代数における、ケイリー・ハミルトンの定理でその名は知られているのではないでしょうか。

代数学の教科書「群論の味わい」によると、今回紹介したような2回の座標変換の規則を調べて、行列(とその積)を発見したそうです。

ケーリーと同様の道のりを辿ることで、行列の積の定義に習熟してもらえたら嬉しいです。

木村すらいむ(@kimu3_slime)でした。ではでは。

 

 

線型代数入門 (基礎数学)
齋藤 正彦
東京大学出版会
売り上げランキング: 6,911

 

こちらもおすすめ

なぜ行列式を学ぶ? 面積・体積との一致、ヤコビアンへの応用

線形代数学「ベクトル」を高校数学レベルで解説

バーンスレイのシダ(フラクタル)をPythonで描いてみる