エンジニアのための直感的線形代数入門

# :diamonds: 線形変換と行列
### 【定義】
線形変換とは、加法性と斉次性を満たす変換のことです。数式で表すと、変換$f:\mathbb{R}^n \rightarrow\mathbb{R}^n$が線形変換であることは、
```math
    \forall x,y \in \mathbb{R}^n : f(x+y) = f(x) + f(y)
```
```math
    \forall k \in \mathbb{R}, \forall x \in \mathbb{R}^n : f(kx) = kf(x)
```
を満たす変換と言えます。

### 【幾何図解】
二次元平面に基底ベクトル$\vec{i}$と$\vec{j}$があるとしましょう(図1)。ここで、ある線形変換$A$を行うと元の座標系において$\vec{i}$が$(2,1)$、$\vec{j}$が$(1,-1)$に移動するとします(図2)。変換後の基底ベクトルが成す紺色のグリッドが新しい座標系となります。

| 図1:線形変換$A$前の座標系 | 図2: 線形変換$A$後の座標系| 
| :--: | :--: |
| ![スクリーンショット 2025-05-08 14.33.15.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3933005/5498deb5-a3ba-47ba-a812-ae422d752299.png) | ![スクリーンショット 2025-05-05 15.48.24.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3933005/6f5716b9-1992-4702-a143-3cef123e3c56.png)|


ここで、さらにベクトル$\vec{v}$を変換前後で比べてみます。紫のベクトル$\vec{v}$は変換前の座標系で$(1,2)$とします(図3)。ここでAは線形変換であるから、
```math
A\vec{v} = 1 \times A\vec{i} +  2 \times A\vec{j}
```

となり、変換後の座標系でも$(1,2)$となるはずです(図4)。

| 図3: 線形変換$A$前の$\vec{v}$ | 図4: 線形変換$A$後の$\vec{v}$ | 
| :--: | :--: |
|![スクリーンショット 2025-05-08 14.40.35.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3933005/78d90e25-4018-4cb0-babe-0b039ad7b24b.png) |![スクリーンショット 2025-05-08 14.45.43.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3933005/4d2b3690-03ba-4b30-ac18-73672b9acd1d.png)| 

一般化すると、任意の実数$k,l$を用いて
```math
A\vec{v} = k \times A\vec{i} +  l \times A\vec{j}
```
となります。ここからは$A$を線形変換ではなく行列として、
```math
A = 
\begin{bmatrix}
2 & 1 \\ 
1 & -1
\end{bmatrix}
```
のようにおいて計算をしてみると下図のようになります(図5)。
|図5:線形変換Aの定式化|
|:--:|
|![スクリーンショット 2025-05-05 15.43.17.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3933005/e1e818e9-e8ac-4ea2-a8ae-12eeb1202591.png)|

これは線形変換の計算と一致していることから、

```math
\begin{bmatrix}
2 & 1 \\ 
1 & -1
\end{bmatrix}
```
のような行列は基底ベクトル$\vec{i}$を$(2,1)$、$\vec{j}$を$(1,-1)$に移動する線形変換をコンパクトにまとめた表記として捉えることができるのです。

:::note info
**「行列」⇔「線形変換」と捉えることができる。**
:::

# :diamonds:行列の積
### 【定義】
2x2の行列の積は、
```math
A = \begin{bmatrix}
a_{11} & a_{12} \\ 
a_{21} & a_{22}
\end{bmatrix} , 　
B = \begin{bmatrix}
b_{11} & b_{12} \\ 
b_{21} & b_{22} 
\end{bmatrix} 
```
とした時、
```math
AB =
\begin{bmatrix}
a_{11}b_{11}+a_{12}b_{21} & a_{11}b_{12}+a_{12}b_{22}\\
a_{21}b_{11}+a_{22}b_{21} & a_{21}b_{12}+a_{22}b_{22}
\end{bmatrix}
```
となります。

一般に、$m \times n$の行列$A$と、$n \times r$の行列$B$の積で得られる行列$AB$の成分$c_{ij}$は、
```math
c_{ij}=\sum^n_{k=1}a_{ik}b_{kj}　 (1\le i\le m,\ 1\le j\le r)
```

となります。行列$AB$の型は$m \times r$です。
### 【幾何図解】
さて、これらも線形変換として考えてみましょう。

```math
\underbrace{
\begin{bmatrix}
1 & 0\\
0 & -1
\end{bmatrix}}_{M_2}
\underbrace{
\begin{bmatrix}
2 & 1\\
1 & -1
\end{bmatrix}}_{M_1}
\begin{bmatrix}
x \\
y
\end{bmatrix} 
```
のような計算があるとします。ここで前項のように、$M_1$を行列ではなく基本ベクトルの組と考えて、$M_2$という線形変換を施すととらえます(図6)。
|図6: 行列積を線形変換として計算|
|:--:|
|![スクリーンショット 2025-05-12 14.34.42.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3933005/996c4f8a-e7b6-4bfc-9aa7-31a11bb4c164.png)|

これら $\vec{i''}$ と $\vec{j''}$ をコンパクトにまとめた式が行列の積と一致しています：
```math
\begin{bmatrix}
1 & 0\\
0 & -1
\end{bmatrix}
\begin{bmatrix}
2 & 1\\
1 & -1
\end{bmatrix}
=
\begin{bmatrix}
2 & 1\\
-1 & 1
\end{bmatrix}
```
以上から、

:::note info
**行列の積は、「ある座標系の基本ベクトルの線形変換」と捉えることができる。**
:::



# :diamonds:行列式
### 【定義】
以下のような2次正方行列$A$があるとします：
```math
A = \begin{bmatrix}
a & b\\
c & d
\end{bmatrix}
```
この$A$に対して, $ad-bc$の値をAの行列式と言う。$detA$または$|A|$と表します。

### 【幾何図解】
$A$が線形変換だと捉えると、$\det A$ はベクトル$\vec{i'}=(a,c)$とベクトル$\vec{j'}=(b,d)$が成す平行四辺形の面積となり、軸が捻れている時は負になる符号付き面積である。
|図7:二つのベクトルが成す平行四辺形|
|:--:|
|![スクリーンショット 2025-06-18 18.44.52.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3933005/621c0071-dff8-4d8b-9907-303af4d3bc65.png)|

$\vec{i'}$とベクトル$\vec{j'}$内が成す角を$\theta$とすると、内積の定義より
```math
cos\theta=\frac{\vec{i'} \cdot \vec{j'}}{|\vec{i'}||\vec{j'}|} =\frac{ab+cd}{\sqrt{a^2+c^2}\cdot\sqrt{b^2+d^2}}
```
となる。さらに、
```math
sin\theta =\pm \sqrt{1-cos^2\theta} = \pm\sqrt{\frac{(a^2+c^2)(b^2+d^2)-(ab+cd)^2}{(a^2+c^2)(b^2+d^2)}}=
```

```math
= \pm\sqrt{\frac{(ad-bc)^2}{(a^2+c^2)(b^2+d^2)}} = \frac{ad-bc}{|\vec{i'}||\vec{j'}|}
```
よって、平行四辺形の面積$S$は、
```math
S = sin\theta|\vec{i'}||\vec{j'}| = ad-bc
```

:::note info
**行列式は、「線形変換による空間の伸縮率」と捉えることができる。**
:::

# \:diamonds:固有値と固有ベクトル

### 【定義】
* **"固有値"**
  正方行列 $A$ に対し、スカラー $\lambda$ が

  $$
    \det(A-\lambda I)=0
  $$

  を満たすとき **固有値 (eigenvalue)** という。

* **"固有ベクトル"**
  固有値 $\lambda$ に対して

```math
  Av = \lambda v　 \therefore (A-\lambda I)\mathbf v=\mathbf 0\qquad \mathbf (v\neq\mathbf 0)
```

  を満たすベクトル $\mathbf v$ を **固有ベクトル (eigenvector)** という。

---

例えば，

```math
A=\begin{bmatrix}
2 & 1\\
1 & -1
\end{bmatrix}
```

の固有値は **特性方程式**

$$
\det\bigl(A-\lambda I\bigr)=0
$$

を解くことで求められます：

```math
\det
\begin{bmatrix}
2-\lambda & 1\\
1 & -1-\lambda
\end{bmatrix}
=\lambda^{2}-\lambda-3=0
```
```math

\lambda_{1}=\frac{1+\sqrt{13}}{2},

\lambda_{2}=\frac{1-\sqrt{13}}{2}
```

固有ベクトルは各固有値について

$$
\bigl(A-\lambda I\bigr)\mathbf v=\mathbf 0
$$

を解いて得られます：

| 固有値 $\lambda$                                     | 対応する固有ベクトルの一例                                                                                 |
| :------------------------------------------------ | :-------------------------------------------------------------------------------------------- |
| $\displaystyle\lambda_{1}=\tfrac{1+\sqrt{13}}{2}$ | $\displaystyle\mathbf v_{1}= \begin{bmatrix} 1, \tfrac{-3+\sqrt{13}}{2} \end{bmatrix}$ |
| $\displaystyle\lambda_{2}=\tfrac{1-\sqrt{13}}{2}$ | $\displaystyle\mathbf v_{2}= \begin{bmatrix} 1, \tfrac{-3-\sqrt{13}}{2} \end{bmatrix}$ |

### 【幾何図解】
$A$を線形変換と捉えるなら、 $Av = \lambda v$が表すのは「$v$に線形変換Aを行っても、スカラー倍$\lambda$を行っても結果が変わらない」という意味になります。したがって、

```math
A=\begin{bmatrix}
2 & 1\\
1 & -1
\end{bmatrix}
```
の例で考えると、下図のようなイメージになります(図8,9)。
|図8: 行列$A$の固有ベクトル|図9: 行列$A$によるベクトルの変化|
|:--:|:--:|
|![スクリーンショット 2025-05-09 13.37.22.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3933005/28811886-ccf1-49f9-a1d9-934df30c67ec.png)|![スクリーンショット 2025-05-12 16.37.26.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3933005/e583a7fc-2b14-4a00-966a-b3eeecc5e93b.png)|

:::note info
**固有ベクトルは「線形変換の軸」を、
固有値は「その軸方向に沿った伸縮」を表す。**
:::
# 参考
- [Vectors | Chapter 1, Essence of linear algebra - YouTube](https://www.youtube.com/watch?v=fNk_zzaMoSs&list=PLZHQObOWTQDPD3MizzM2xVFitgF8hE_ab)
- 高木悟, 長谷川研二, 熊ノ郷直人, 菊田伸, 森澤貴之『理工系のための線形代数-改訂版』培風館, 2018.