データサイエンスのための線形代数 第8回 行列と線形方程式系

:::note info
本記事は数学講座[3.1 行列と線形方程式](https://www.matongxue.com/lessons/518/parts/4565)を勉強して投稿したメモです。詳細は元の素晴らしい講座のページをチェックしてください。
:::

# テレビ放送と線形方程式系

[ベクトル空間](https://qiita.com/Junlee/items/28f345d6b7f26bc3b0f1#2-%E3%83%99%E3%82%AF%E3%83%88%E3%83%AB%E7%A9%BA%E9%96%93)でベクトル及びベクトル空間を紹介しました。これから**線形方程式**、**行列**と**行列積**の概念を解説していきます。

テレビ放送を例にして、線形方程式がどのよう使われているのかを見てみましょう。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3327130/6ca39c91-dbcc-87a8-7a9d-a79d3a05b4d4.png)

上記の画像のように、テレビ局は$RGB$をそのまま各家庭のテレビへ伝送するのはなく、まず$\mathrm{YP_rP_b}$へ変換して(①)伝送します。テレビ側で伝送された$\mathrm{YP_rP_b}$信号を$RGB$信号へ変換して(②)画像として映ります。
$RGB$信号と$\mathrm{YP_rP_b}$信号は、同じ色空間(ベクトル空間)内に**違う基底における座標値**です。
- ① テレビ局は既知の$\color{red}{RGB}$信号を$\mathrm{YP_rP_b}$信号に変換します。
```math  
\begin{cases}
    &0.299\cdot \color{red}{R}&+&0.587\cdot \color{red}{G}&+&0.114\cdot \color{red}{B}&=&Y\\
    &0.5\cdot \color{red}{R}&-&0.418688\cdot \color{red}{G}&-&0.081312\cdot \color{red}{B}&=&P_{r}\\
    -&0.168736\cdot \color{red}{R}&-&0.331264\cdot \color{red}{G}&+&0.5\cdot \color{red}{B}&=&P_{b}
\end{cases}
```

- ② 家庭内のテレビ側で伝送された$\color{red}{YP_rP_b}$信号を$RGB$信号に戻ります。

```math 
\begin{cases}
    &0.299\cdot R&+&0.587\cdot G&+&0.114\cdot B&=&\color{red}{Y}\\
    &0.5\cdot R&-&0.418688\cdot G&-&0.081312\cdot B&=&\color{red}{P_{r}}\\
    -&0.168736\cdot R&-&0.331264\cdot G&+&0.5\cdot B&=&\color{red}{P_{b}}
\end{cases}
```
## 線形方程式系

:::note info
数学において線型方程式系（せんけいほうていしきけい）とは、**同時に成立する複数の線型方程式（一次方程式）の組**のことである
:::

上記テレビ局の例で使われているのは多元一次方程式系です。ちょっと複雑ですので、二元一次方程式系と三元一次方程式系の例を見てみましょう。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3327130/ac440081-bae5-2ad0-8727-34781459bba3.png)

1. 両方程式は二本の直線を表します。線形方程式の解法は、2つの直線の交点、つまり交点のx座標とy座標を見つけることです。
2. 三つ方程式は三つの平面を表します。

# 行列

```math  
    \begin{cases}
        \ \ x+2y=3\\
        3x+4y=5
    \end{cases}

```
に対して、未知な係数を抽出して、行列で表せます。
- 係数行列

```math  
\begin{pmatrix}
    1&2\\
    3&4
\end{pmatrix}
```


- 拡大係数行列
```math  
\begin{pmatrix}
    1&2&3\\
    3&4&5
\end{pmatrix}
,或いは 
\left (
\begin{array}{c:c}
\begin{matrix}
1&2\\
3&4\\
\end{matrix}&
\begin{matrix}
3\\
5
\end{matrix}
\end{array}
\right )
```

## 行列の定義
行列は数または数を表わす文字から成る要素 (英: element) を矩形状に書き並べて、大きな丸括弧（あるいは角括弧）で括った形に書かれる。ここで文字送りの方向（横）の並びを行 (英: row) といい、行送りの方向（縦）の並びを列 (英: column) と呼ぶ[1]。

```math
{\displaystyle A=\mathbf {A} ={\begin{bmatrix}a_{11}&a_{12}&\cdots &a_{1n}\\a_{21}&a_{22}&\cdots &a_{2n}\\\vdots &\vdots &\ddots &\vdots \\a_{m1}&a_{m2}&\cdots &a_{mn}\end{bmatrix}}={\begin{pmatrix}a_{11}&a_{12}&\cdots &a_{1n}\\a_{21}&a_{22}&\cdots &a_{2n}\\\vdots &\vdots &\ddots &\vdots \\a_{m1}&a_{m2}&\cdots &a_{mn}\end{pmatrix}}=[\mathbf {a} _{ij}]_{m\times n,(1\leq i\leq m\ ,1\leq j\leq n)}=(\mathbf {a} _{ij})_{m\times n,(1\leq i\leq m\ ,1\leq j\leq n)}}
```
## 行ベクトルと列ベクトル

1つの列を持つ行列を**列ベクトル**、1つの行をもつ行列を**行ベクトル**と呼ぶ。例えば、行列$A_{m\times n}$の第$i$行（行ベクトル：$a_i*$）と第$j$列（列ベクトル：$a_*j$）になります。

```math  
\boldsymbol{a}_{i*}=\begin{pmatrix}a_{i1}&a_{i2}&\cdots&a_{in}\end{pmatrix},\quad \boldsymbol{a}_{*j}=\begin{pmatrix}a_{1j}\\a_{2j}\\\vdots\\a_{mj}\end{pmatrix}
```

## 正方行列と零行列

- 行と列の数が同じである行列は**正方行列**と呼ばれる。$A_n$と記します。
例えば、以下の二次行列および三次行列：

```math  
A_2=\begin{pmatrix}1&0\\0&1\end{pmatrix},\quad A_3=\begin{pmatrix}1&2&3\\4&5&6\\7&8&9\end{pmatrix}
```

- 成分がすべてゼロである行列を**零行列（Zero matrix）** といい、$O$ で表されます。以下は2つの零行列の例です。

```math  
\begin{pmatrix}0&0&0\\0&0&0\end{pmatrix},\quad\begin{pmatrix}0&0\\0&0\\0&0\end{pmatrix}
```

# 線形方程式系を解く

線形方程式系を行列表示する方法を行列表現法と呼びます。以下に、行列表現法を使って線形方程式系を解く例を示します。
```math  
    \begin{cases}
        \ \ x+2y=3\\
        3x+4y=5
    \end{cases}

```
以上の線形方程式系を解くなら、以下のように方程式の係数を変更して値を解きます。

```math 
\begin{cases}
    \ \ x+2y=3\\
    3x+4y=5
\end{cases}
\implies
\begin{cases}
    \ \ x+0y=?\\
    0x+\ \ y=?
\end{cases}
```
行列表現法で表す以下のようになり、これが同じベクトル空間内で違う基底でのベクトル組です。

```math 
\begin{pmatrix}
    1&2&3\\
    3&4&5
\end{pmatrix}
\implies
\begin{pmatrix}
    1&0&?\\
    0&1&?
\end{pmatrix}
```
ベクトル組が**基本演算(加算、スカラー倍)しても**、同じベクトル空間内ですので、左側のベクトル組を基本演算して、右側の基底のような形へ変換します。

以下のように、スカラー倍と加算(減算)をして、最終的に自然基底での結果を得られました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3327130/21bad87a-98a7-9630-e0c7-25ed6ad9fad4.png)

:::note warn
自分への質問：線形方程式系を解く過程としては、非自然基底での座標値を自然基底での座標への変換過程です？
:::

# 行列の乗算
行列$A$と行列$B$の積(乗算)$AB$を行うためには，$A$の列数と$B$の行数が等しくなければならない。2行2列の行列の積は，
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3327130/57935861-d7d6-a960-3f45-a1e0a2d7c816.png)

先ほどの以下の例を見てみましょう。

```math  
\begin{cases}
    \ \ x+2y=3\\
    3x+4y=5
\end{cases}
```
行列の乗算で解けます。
```math  
\begin{aligned}
    \begin{pmatrix}1&2&3\\3&4&5\end{pmatrix}
    &\xrightarrow[\quad r_2'=-3r_1+r_2\quad]{\quad r_1'=1r_1+0r_2\quad}
    \begin{pmatrix}1&0\\-3&1\end{pmatrix}\begin{pmatrix}1&2&3\\3&4&5\end{pmatrix}=\begin{pmatrix}1&2&3\\0&-2&-4\end{pmatrix}\\
    \qquad\\
    &\qquad\xrightarrow[\quad r_2'=0r_1-\frac{1}{2}r_2\quad]
    {\quad r_1'=1r_1+0r_2\quad}
    \begin{pmatrix}1&0\\0&-\frac{1}{2}\end{pmatrix}
    \begin{pmatrix}1&2&3\\0&-2&-4\end{pmatrix}=
    \begin{pmatrix}1&2&3\\0&1&2\end{pmatrix}\\
    \qquad\\
    &\qquad\xrightarrow[\quad r_2'=0r_1+1r_2\quad ]{\quad r_1'=r_1-2r_2\quad}
    \begin{pmatrix}1&-2\\0&1\end{pmatrix}
    \begin{pmatrix}1&2&3\\0&1&2\end{pmatrix}=
    \begin{pmatrix}1&0&-1\\0&1&2\end{pmatrix}
\end{aligned}
```
**上記の計算過程をまとめてみたら：**

```math
\underbrace{\begin{pmatrix}1&-2\\0&1\end{pmatrix}\begin{pmatrix}1&0\\0&-\frac{1}{2}\end{pmatrix}\begin{pmatrix}1&0\\-3&1\end{pmatrix}}_{\large 順番を注意しよう}\begin{pmatrix}1&2&3\\3&4&5\end{pmatrix}=\begin{pmatrix}1&0&-1\\0&1&2\end{pmatrix}
```

行列の乗算を利用して、前の行列を計算して：

```math  
\begin{pmatrix}1&-2\\0&1\end{pmatrix}\begin{pmatrix}1&0\\0&-\frac{1}{2}\end{pmatrix}\begin{pmatrix}1&0\\-3&1\end{pmatrix}=\begin{pmatrix}-2&1\\1.5&-\frac{1}{2}\end{pmatrix}
```

最終的に、一つの行列で結果を解けます。
```math  
\begin{pmatrix}-2&1\\1.5&-\frac{1}{2}\end{pmatrix}\begin{pmatrix}1&2&3\\3&4&5\end{pmatrix}=\begin{pmatrix}1&0&-1\\0&1&2\end{pmatrix}
```


# 参考情報

https://ja.wikipedia.org/wiki/%E7%B7%9A%E5%9E%8B%E6%96%B9%E7%A8%8B%E5%BC%8F%E7%B3%BB

https://ja.wikipedia.org/wiki/%E4%BF%82%E6%95%B0%E8%A1%8C%E5%88%97

https://ja.wikipedia.org/wiki/%E6%8B%A1%E5%A4%A7%E8%A1%8C%E5%88%97#:~:text=%E6%95%B0%E5%AD%A6%E3%81%AE%E7%B7%9A%E5%9E%8B%E4%BB%A3%E6%95%B0%E5%AD%A6,%E7%9B%AE%E7%9A%84%E3%81%A8%E3%81%97%E3%81%A6%E6%A7%8B%E6%88%90%E3%81%95%E3%82%8C%E3%82%8B%E3%80%82


https://ja.wikipedia.org/wiki/%E8%A1%8C%E5%88%97