4.8. 🤔行列とは

3DCGでもさんざんお世話になっているので、復習

数学の線型代数学周辺分野における行列(ぎょうれつ、英: matrix)は、数や記号や式などを縦と横に矩形状に配列したものである。横に並んだ一筋を行、縦に並んだ一筋を列と呼ぶ。例えば、下記のような行列

\[\begin{split}\begin{bmatrix}1&9&-13\\20&5&-6\end{bmatrix}\end{split}\]

は2つの行と3つの列によって構成されているため、(2,3)型または2×3型の行列と呼ばれる。

書き並べられた要素は行列の成分と呼ばれ、行列の第 \(i\) 行目、\(j\) 列目の成分を特に行列の \((i, j)\) 成分と言う。行列の \((i, j)\) 成分はふつう \(a_{ij}\) のように二つの添字を単に横並びに書くが、誤解を避けるために添字の間にコンマを入れることもある。また略式的に、行列 \(A\)\((i, j)\) 成分を指定するのに \(A_{ij}\) という記法を用いることもある。

行列 - Wikipedia

ぶっちゃけ、数字を矩形に並べただけのもの(テキトー)。

4.8.1. どっちが行で、どっちが列なのさ

よく混乱する。Excelとか。

文字送りの方向(横)の並びを行 (英: row) といい、行送りの方向(縦)の並びを列 (英: column) と呼ぶ

行列 - Wikipedia

漢字で覚えるとかもありますが、呪いの画像 もあるのでやめたほうがいい。

4.8.2. \(m \times n\) 行列

行列に含まれる行の数が \(m\), 列の数が \(n\) である時に、その行列を \(m\)\(n\) 列行列や \(m \times n\) 行列、\(mn\) 行列などと呼ぶ。行列を構成する行の数と列の数の対を型 (英: type) あるいはサイズという。したがって \(m\)\(n\) 列行列のことを \((m, n)\) 型行列などと呼ぶこともある。\(K\) 上の \(m \times n\) 行列の全体は \(K^{m \times n}\), \(K^{m,n}\)\(Mat(m, n; K)\), \(M_{m \times n}(K)\) などで表される。

行列 - Wikipedia

4.8.3. 乗算

4.8.3.1. スカラー倍

行列とスカラー倍の乗算は \(\lambda\) (ラムダ)で表すらしい。 https://oguemon.com/study/linear-algebra/matrix-op/

\[\lambda A = [\lambda a_{ij}]\]

4.8.3.2. 行列同士

行列同士の乗算はちょっと複雑。納得するためにちょっとWikibooksから引用しよう。

1次方程式

\[\begin{split}\begin{cases} x + 2y = 1 \\ 2x + 3y = 2 \end{cases}\end{split}\]

を、次のような記法で現してみる

\[\begin{split}\begin{pmatrix} 1 & 2 \\ 2 & 3 \end{pmatrix} \begin{pmatrix} x \\ y \end{pmatrix} = \begin{pmatrix} 1 \\ 2 \end{pmatrix}\end{split}\]

これから勉強するのは、連立方程式とベクトルとの関係であり、それを考察しやすくするために、あらたに行列(ぎょうれつ)という量を導入する。 https://ja.wikibooks.org/wiki/%E9%AB%98%E7%AD%89%E5%AD%A6%E6%A0%A1%E6%95%B0%E5%AD%A6C/%E8%A1%8C%E5%88%97

まず、この連立1次方程式の \(x\), \(y\) を解いてみる。

\(x + 2y = 1\) を式変形して…

\[x = 1 - 2y\]

この\(x\)\(2x + 3y = 2\)に代入すると、

\[2(1 - 2y) + 3y = 2\]

ここから、\(2 \times 1 - 2 \times 2y + 3y = 2\)\(2 - 4y + 3y = 2\)\(2 - y = 2\)となり、最終的に\(y\)

\[y = 0\]

となる。後は\(x = 1 - 2y\)\(y = 0\)を代入して、\(x = 1 - 2 \times 0\)

\[x = 1\]

では、行列に代入してみよう。

\[\begin{split}\begin{pmatrix} 1 & 2 \\ 2 & 3 \end{pmatrix} \begin{pmatrix} 1 \\ 0 \end{pmatrix} = \begin{pmatrix} 1 \\ 2 \end{pmatrix}\end{split}\]

この式を成り立たせるために、行列同士の積はどう計算すればよいだろうか?

一旦、\(2\)とか\(3\)とかになっている数字(プログラムでいえば、マジックナンバーだね!)を変数にしてみよう。

\[\begin{split}\begin{cases} ax + by = p \\ cx + dy = q \end{cases}\end{split}\]
\[\begin{split}\begin{pmatrix} a & b \\ c & d \end{pmatrix} \begin{pmatrix} x \\ y \end{pmatrix} = \begin{pmatrix} p \\ q \end{pmatrix}\end{split}\]

行列式にある\(p\), \(q\)を置き換えてみよう。

\[\begin{split}\begin{pmatrix} a & b \\ c & d \end{pmatrix} \begin{pmatrix} x \\ y \end{pmatrix} = \begin{pmatrix} ax + by \\ cx + dy \end{pmatrix}\end{split}\]

行列の積っぽいものが出てきた。いや、「ぽいもの」ではなく、これが行列の積である。

4.8.4. 加算・減算

あんまりしない気がする🤔

\[\begin{split} A = \left( \begin{array}{ccc} a_1 & a_2 \\ a_3 & a_4 \end{array} \right) = [a_{ij}]\end{split}\]
\[\begin{split} B = \left( \begin{array}{ccc} b_1 & b_2 \\ b_3 & b_4 \end{array} \right) = [b_{ij}]\end{split}\]
\[\begin{split} A + B = \left| \begin{array}{ccc} a_1 + b_1 & a_2 + b_2 \\ a_3 + b_3 & a_4 + b_4 \end{array} \right| = [a_{ij} + b_{ij}]\end{split}\]

行数、列数が同じもの同士でなければ加算、減算はできない。