ベクトルの線形結合を表すツールとしての行列

4本のベクトル$\boldsymbol{u}_1,\boldsymbol{u}_2,\boldsymbol{u}_3,\boldsymbol{u}_4$を基本として、これらの線形結合を簡潔に書き表す方法を考えよう。説明の都合上、スカラーは後置形式で書くこととする。例えば係数の組$(s_1,s_2,s_3,s_4)$と$(t_1,t_2,t_3,t_4)$を使って\[\left\{\begin{array}{c}\boldsymbol{v}_1=\boldsymbol{u}_1s_1+\boldsymbol{u}_2s_2+\boldsymbol{u}_3s_3+\boldsymbol{u}_4s_4\\\boldsymbol{v}_2=\boldsymbol{u}_1t_1+\boldsymbol{u}_2t_2+\boldsymbol{u}_3t_3+\boldsymbol{u}_4t_4\end{array}\right.\]という、2本の線形結合を作ったとする。これを\[(\boldsymbol{v}_1,\boldsymbol{v}_2)=( \boldsymbol{u}_1,\boldsymbol{u}_2,\boldsymbol{u}_3,\boldsymbol{u}_4)( (s_1,s_2,s_3,s_4),(t_1,t_2,t_3,t_4) )\]と書けば$\boldsymbol{u}_i$を二度書く必要がなくなるが、どうにも横に長いことや、括弧やカンマが多いのが不満である。そこで、このように書いてみてはどうか。\[\begin{pmatrix}\boldsymbol{v}_1&\boldsymbol{v}_2\end{pmatrix}=\begin{pmatrix}\boldsymbol{u}_1&\boldsymbol{u}_2&\boldsymbol{u}_3&\boldsymbol{u}_4\end{pmatrix}\begin{pmatrix}s_1&s_2&s_3&s_4\\t_1&t_2&t_3&t_4\end{pmatrix}\]これでずいぶんスッキリするが、右端の$s,t$の並びを見ると、$\boldsymbol{v}_1$についての情報が上段に、$\boldsymbol{v}_2$についての情報が下段に並んでいる。いっぽう、ベクトルを並べた$\begin{pmatrix}\boldsymbol{v}_1&\boldsymbol{v}_2\end{pmatrix}$や$\begin{pmatrix}\boldsymbol{u}_1&\boldsymbol{u}_2&\boldsymbol{u}_3&\boldsymbol{u}_4\end{pmatrix}$を見ると、できれば$\boldsymbol{v}_1$についての情報は左に、$\boldsymbol{v}_2$についての情報は右に集約されるのが望ましい。そこで、この部分の縦横を逆にして\[\begin{pmatrix}\boldsymbol{v}_1&\boldsymbol{v}_2\end{pmatrix}=\begin{pmatrix}\boldsymbol{u}_1&\boldsymbol{u}_2&\boldsymbol{u}_3&\boldsymbol{u}_4\end{pmatrix}\begin{pmatrix}s_1&t_1\\s_2&t_2\\s_3&t_3\\s_4&t_4\end{pmatrix}\]と書くことにしよう。このような並びに気を遣うことは、現時点では些細なことのようにも思えるが、いま作った$\boldsymbol{v}_1,\boldsymbol{v}_2$を用いてさらに線形結合を作る場面を考えると、その効用が少し実感できるかもしれない。例えば係数の組$(a_1,a_2),(b_1,b_2),(c_1,c_2)$を用いて、今度は3本の結合\[\left\{\begin{array}{c}\boldsymbol{w}_1=\boldsymbol{v}_1a_1+\boldsymbol{v}_2a_2\\\boldsymbol{w}_2=\boldsymbol{v}_1b_1+\boldsymbol{v}_2b_2\\\boldsymbol{w}_3=\boldsymbol{v}_1c_1+\boldsymbol{v}_2c_2\end{array}\right.\]を作るなら$\begin{pmatrix}\boldsymbol{w}_1&\boldsymbol{w}_2&\boldsymbol{w}_3\end{pmatrix}=\begin{pmatrix}\boldsymbol{v_1}&\boldsymbol{v_2}\end{pmatrix}\begin{pmatrix}a_1&b_1&c_1\\a_2&b_2&c_2\end{pmatrix}$となるが、さらに展開すると\[\begin{pmatrix}\boldsymbol{w}_1&\boldsymbol{w}_2&\boldsymbol{w}_3\end{pmatrix}=\begin{pmatrix}\boldsymbol{u}_1&\boldsymbol{u}_2&\boldsymbol{u}_3&\boldsymbol{u}_4\end{pmatrix}\begin{pmatrix}s_1&t_1\\s_2&t_2\\s_3&t_3\\s_4&t_4\end{pmatrix}\begin{pmatrix}a_1&b_1&c_1\\a_2&b_2&c_2\end{pmatrix}\tag{1}\]と書ける。(1)の右辺を眺めると、はじめ4本であったベクトルが2本になり、さらに3本となっている様子が見て取れる。

ところで、$\boldsymbol{w}_i$を($\boldsymbol{v}_i$をすっ飛ばして)$\boldsymbol{u}_i$の結合で書くとどうなるだろうか。実際に計算してみると
\[\left\{\begin{array}{c}\boldsymbol{w}_1=\boldsymbol{v}_1a_1+\boldsymbol{v}_2a_2=(\boldsymbol{u}_1s_1+\boldsymbol{u}_2s_2+\boldsymbol{u}_3s_3+\boldsymbol{u}_4s_4)a_1+(\boldsymbol{u}_1t_1+\boldsymbol{u}_2t_2+\boldsymbol{u}_3t_3+\boldsymbol{v}_4t_4)a_2
\\\boldsymbol{w}_2=\boldsymbol{v}_1b_1+\boldsymbol{v}_2b_2=(\boldsymbol{u}_1s_1+\boldsymbol{u}_2s_2+\boldsymbol{u}_3s_3+\boldsymbol{u}_4s_4)b_1+(\boldsymbol{u}_1t_1+\boldsymbol{u}_2t_2+\boldsymbol{u}_3t_3+\boldsymbol{v}_4t_4)b_2
\\\boldsymbol{w}_3=\boldsymbol{v}_1c_1+\boldsymbol{v}_2c_2=(\boldsymbol{u}_1s_1+\boldsymbol{u}_2s_2+\boldsymbol{u}_3s_3+\boldsymbol{u}_4s_4)c_1+(\boldsymbol{u}_1t_1+\boldsymbol{u}_2t_2+\boldsymbol{u}_3t_3+\boldsymbol{v}_4t_4)c_2\end{array}\right.\]となり、さらに計算したものを今回の記法で書けば\[\begin{pmatrix}\boldsymbol{w}_1&\boldsymbol{w}_2&\boldsymbol{w}_3\end{pmatrix}=\begin{pmatrix}\boldsymbol{u}_1&\boldsymbol{u}_2&\boldsymbol{u}_3&\boldsymbol{u}_4\end{pmatrix}\begin{pmatrix}s_1a_1+t_1a_2&s_1b_1+t_1b_2&s_1c_1+t_1c_2\\s_2a_1+t_2a_2&s_2b_1+t_2b_2&s_2c_1+t_2c_2\\s_3a_1+t_3a_2&s_3b_1+t_3b_2&s_3c_1+t_3c_2\\s_4a_1+t_4a_2&s_4b_1+t_4b_2&s_4c_1+t_4c_2\end{pmatrix}\tag{2}\]となる。これは「$\boldsymbol{u}_i$がどんなベクトルであったか」には無関係だから、(1)と(2)を見比べて\[\begin{pmatrix}s_1&t_1\\s_2&t_2\\s_3&t_3\\s_4&t_4\end{pmatrix}\begin{pmatrix}a_1&b_1&c_1\\a_2&b_2&c_2\end{pmatrix}:=\begin{pmatrix}s_1a_1+t_1a_2&s_1b_1+t_1b_2&s_1c_1+t_1c_2\\s_2a_1+t_2a_2&s_2b_1+t_2b_2&s_2c_1+t_2c_2\\s_3a_1+t_3a_2&s_3b_1+t_3b_2&s_3c_1+t_3c_2\\s_4a_1+t_4a_2&s_4b_1+t_4b_2&s_4c_1+t_4c_2\end{pmatrix}\tag{3}\]と定義しておけば便利であり、よく知られた行列の積の定義と一致する。つまり、(1)を計算する際にいちいち$\boldsymbol{u}_i$に載せなくても、係数どうしの間で先に計算を済ませておき、後でまとめて$\boldsymbol{u}_i$に載せることができる――さらに言い換えれば、(1)を左から計算しても右から計算しても結果が一致する(結合則を満たす)――ように、行列の積はうまく定義されているのである。

さて、行列の積$AB$を計算する際には$A$を行ごとに($B$を列ごとに)分けて捉え、$A$の行間に横線($B$の列間に縦線)を引く人もいることだろう。ここではあえて、$A$を列ごとに分けてみる。すなわち、(3)を\[\begin{pmatrix}\fbox{$\begin{array}{c}s_1\\s_2\\s_3\\s_4\end{array}$}&\fbox{$\begin{array}{c}t_1\\t_2\\t_3\\t_4\end{array}$}\end{pmatrix}\begin{pmatrix}a_1&b_1&c_1\\a_2&b_2&c_2\end{pmatrix}=\begin{pmatrix}\fbox{$\begin{array}{c}s_1\\s_2\\s_3\\s_4\end{array}$} a_1+\fbox{$\begin{array}{c}t_1\\t_2\\t_3\\t_4\end{array}$} a_2&\fbox{$\begin{array}{c}s_1\\s_2\\s_3\\s_4\end{array}$} b_1+\fbox{$\begin{array}{c}t_1\\t_2\\t_3\\t_4\end{array}$} b_2&\fbox{$\begin{array}{c}s_1\\s_2\\s_3\\s_4\end{array}$} c_1+\fbox{$\begin{array}{c}t_1\\t_2\\t_3\\t_4\end{array}$} c_2\end{pmatrix}\tag{4}\]と見てみよう。枠で囲まれた数の並びをベクトル$\boldsymbol{s},\boldsymbol{t}$と見れば\[\begin{pmatrix}\boldsymbol{s}&\boldsymbol{t}\end{pmatrix}\begin{pmatrix}a_1&b_1&c_1\\a_2&b_2&c_2\end{pmatrix}=\begin{pmatrix}\boldsymbol{s}a_1+\boldsymbol{t}a_2&\boldsymbol{s}b_1+\boldsymbol{t}b_2&\boldsymbol{s}c_1+\boldsymbol{t}c_2\end{pmatrix}\tag{5}\]となり、これは最初に定義した「線形結合の略記法」と全く同じである。つまり、行列の積の定義は「線形結合の略記法において、たまたまベクトルが『数ベクトル』であった場合」として完全に包摂されていることが分かる。

線形代数学の重要な定理として、「$\mathbb{K}$上の任意の$n$次元ベクトル空間は$\mathbb{K}^n$と同型である」というものがある。この定理のおかげで、基底を選んで固定し、その線形結合として任意のベクトルを表してしまえば、もはや「どんな基底に載っていたのか」ということを忘れて$\mathbb{K}^n$上での議論にすり替えることができる。(1)の計算を考える際、先ほどは「後でまとめて$\boldsymbol{u}_i$に載せる」と表現した。しかし$\boldsymbol{u}_i$が基底であるならば、$\boldsymbol{v}_1,\boldsymbol{v}_2$を数ベクトル$^t\begin{pmatrix}s_1&s_2&s_3&s_4\end{pmatrix},^t\begin{pmatrix}t_1&t_2&t_3&t_4\end{pmatrix}$と同一視して(4)・(5)のように捉え、ついぞ$\boldsymbol{u}_i$のことなど忘れて議論しても構わないのである。