データサイエンスのための線形代数 第18回 行列関数の四つの要素

:::note info
本記事は数学講座[5.2 行列関数の四つの要素](https://www.matongxue.com/lessons/536/parts/648)を勉強して投稿したメモです。詳細は元の素晴らしい講座のページをチェックしてください。
:::

# 関数の四つの要素

関数は以下の図の集合$X$から集合$Y$への対応関係です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3327130/81ce5b54-c5d8-56fd-1e86-2b70a75b85a8.png)

この対応関係では、四つの重要概念があります、即ち関数の四つの要素です。
- 定義域(ていぎいき)：集合$X$
- マッピング規則$f$：集合$X$での要素と集合$Y$での要素の関連関係を示す
- 値域：マッピング規則と定義域$X$で決まる（上記例では、${\color{red}●}$と${\color{green}●}$と${\color{yellow}●}$です。）
- 到達域：集合$X$

図で表すと、以下のようになります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3327130/40aa8bfa-8b58-ba62-c7e8-27e38442706d.png)

## 例
例えば、関数$f(x)=x^2,x\in\mathbb{R}$、四つの要素が

```math
\begin{array}{c|c|c|c}
    \hline
    \quad定義域\quad&\quad マッピング規則 \quad&\quad 値域 \quad&\quad 到達域 \quad\\\hline\\
    \quad \mathbb{R} \quad&\quad x^2 \quad&\quad \mathbb{R}^{+}\cup\{0\} \quad&\quad \mathbb{R} \quad\\
    \\
    \hline
\end{array}
  ```
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3327130/2732a582-8478-f2f1-2592-16980bcbafc6.png)

# 定義域

以下のを参照します。

https://ja.wikipedia.org/wiki/%E5%AE%9A%E7%BE%A9%E5%9F%9F


# マッピング規則

マッピング規則が何種類があります。例えば、全射・単射・全単射です。
まとめると以下の通りです。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3327130/305afdb6-fef5-146c-68b0-48747d9e2daa.png)

# 値域

マッピング規則と定義域で、値域を決めます。例えば、関数の$f(x)=x^2$に対して：
1. 定義域が$R$の時に、値域が$[0,+\infty)$です。
2. 定義域が$[-2,2]$の時に、値域が$[0,4]$です。

上記のパターン2の時は、以下の図の通りです。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3327130/e3b119d0-0293-50e3-a647-5ed9c4af6dc9.png)

# 到達域

値域が到達域の部分集合です。
- 全射の時は、値域と到達域が**同じ**です。($値域=到達域$)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3327130/0a80baa8-03ee-d0c1-eb66-30192ba91477.png)

- 全射ではない時は、値域が到達域の**真完全部分集合**です。($値域\subsetneqq到達域$)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3327130/783c7144-b351-23df-f731-523470b9cfe4.png)

# 列ベクトル行列関数

$m\times n$の行列$A$に対して、以下のような列ベクトル行列関数があります。

```math 
\underbrace{A}_{m\times n}\quad\underbrace{\boldsymbol{x_{}}}_{n\times 1}\quad=\quad\underbrace{\boldsymbol{y_{}}}_{m\times 1}
```

```math 
\Updownarrow
```

```math 
\begin{pmatrix}a_{11}&a_{12}&\cdots&a_{1n}\\
a_{21}&a_{22}&\cdots&a_{2n}\\\vdots&\quad&\quad&\vdots\\
a_{m1}&a_{m2}&\cdots&a_{mn}\end{pmatrix}
\begin{pmatrix}x_1\\x_2\\\vdots\\x_n\end{pmatrix}=
\begin{pmatrix}y_1\\y_2\\\vdots\\y_m\end{pmatrix}
```
上記列ベクトル行列関数$Ax=y$の四つ要素が：

- 自然な定義域が$R^n$　（$n$次元ベクトル$x$が$R^n$　の任意のベクトル）
```math
\boldsymbol{x_{}}=\begin{pmatrix}x_1\\x_2\\\vdots\\x_n\end{pmatrix}
```
- マッピング規則が行列$A$からの乗法
- 値域が$Ax$
- 到達域が$R^m$（$m$次元ベクトル$y$が$R^m$　の任意のベクトル）
```math
\boldsymbol{y_{}}=\begin{pmatrix}y_1\\y_2\\\vdots\\y_m\end{pmatrix}
```

四つ要素を整理すると：

```math
\begin{array}{c|c|c|c}
    \hline
    \quad自然な定義域\quad&\quad マッピング規則 \quad&\quad 値域 \quad&\quad 到達域 \quad\\\hline\\
    \quad \mathbb{R}^n \quad&\quad A \quad&\quad A\boldsymbol{x} \quad&\quad \mathbb{R}^m \quad\\
    \\
    \hline
\end{array}
```
列ベクトル行列関数の線形関数が
```math
\mathcal{L}:\mathbb{R^n}\to \mathbb{R^m}
```
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3327130/172bb209-2924-43ae-5539-1b4c0e2089b5.png)


# 行ベクトル行列関数

上記の列ベクトル行列関数と似ていますので、解説を省略します。
詳細は[ 行ベクトル行列関数](https://www.matongxue.com/lessons/536/parts/603)ページで記載してあります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3327130/ff8888e8-4459-971e-8b00-53e40394adf7.png)


# 参考情報

https://ja.wikipedia.org/wiki/%E5%86%99%E5%83%8F

https://ja.wikipedia.org/wiki/%E5%80%A4%E5%9F%9F