固有ベクトル、固有値の意味

# 概要、背景

* 固有ベクトル、固有値の意味について調べてまとめる
* 「[データサイエンティストスキルチェックリスト](https://www.datascientist.or.jp/common/docs/skillcheck_ver3.00.pdf)」の「データサイエンス力」項目で「固有ベクトルおよび固有値の意味を理解している」とあったが、「意味は？」と聞かれてパッと答えられないので、ここでまとめて理解する
* スタート時点
  * 工学部での講義で、道具として使った覚えはある
  * 「行列をn乗するとき、コレ使って変形すると便利」くらいの印象

# 固有ベクトル、固有値の意味

* 結論
  * **固有ベクトル：対象となる線型変換を作用させると、向きが変わらず大きさだけ定数倍されるベクトル**
  * **固有値：↑の定数倍の値。ベクトル毎に決まる**
* 調べた内容は↓

# 調べたもの

## [固有値（Wikipedia）](https://ja.wikipedia.org/wiki/%E5%9B%BA%E6%9C%89%E5%80%A4)より

> 線型代数学において、線型変換の特徴を表す指標として固有値(英:eigenvalue)や固有ベクトル(英:eigenvector)がある。この2つの用語を合わせて、固有対(eigenpair)という。与えられた線型変換の固有値および固有ベクトルを求める問題のことを固有値問題(英:eigenvalue_problem)という。ヒルベルト空間論において線型作用素あるいは線型演算子と呼ばれるものは線型変換であり、やはりその固有値や固有ベクトルを考えることができる。固有値という言葉は無限次元ヒルベルト空間論や作用素代数におけるスペクトルの意味でもしばしば使われる。

* 固有値と固有ベクトルを合わせて、固有対という
* **「線型変換の特徴を表す指標」**

> * 線型変換Aの固有ベクトルvとは、その変換後に単に大きさが定数倍されるだけの影響しか受けない（倍率が1ならまったく影響を受けない）零でないベクトルのことである。すなわち、ある定数λによってAv=λvとなるベクトルv≠0のことである。
> * 固有ベクトルに対応する固有値とは、その固有ベクトルが変換で定数倍されるその倍率（上のλ）のことである。
> * 線型変換の固有値とは、その線型変換の固有ベクトルに対応する固有値のことである。線型変換の固有値に対し、それを固有値として持つような固有ベクトルを、その固有値に属する固有ベクトルと呼ぶ。

* 固有ベクトル：対象となる線型変換で変換されても、大きさが定数倍されるだけの（向きが変わらない）零でないベクトル
* 固有値：↑の定数倍の値

### 「線型変換」とは何ぞや？（なんか回転行列とかやった記憶はある）

#### [線型写像（Wikipedia）](https://ja.wikipedia.org/wiki/%E7%B7%9A%E5%9E%8B%E5%86%99%E5%83%8F)より

> ベクトルの加法（英語版）とスカラー乗法（英語版）を保つ特別の写像である。特に任意の（零写像でない）線型写像は「直線を直線に移す」

* （零写像でなければ）直線を直線に移す写像
* [写像（Wikipedia）](https://ja.wikipedia.org/wiki/%E5%86%99%E5%83%8F)：二つの集合が与えられたときに、一方の集合の各元に対し、他方の集合のただひとつの元を指定して結びつける対応のことである。関数、変換、作用素、射などが写像の同義語として用いられることもある。

### R2における線形変換行列の例

* 反時計回りの90度回転

```math
\begin{bmatrix}
0 & -1 \\
1 & 0
\end{bmatrix}
```

* 反時計回りの$\theta$回転

```math
\begin{bmatrix}
cos\theta & -sin\theta \\
sin\theta & cot\theta
\end{bmatrix}
```

* x軸に関する反転

```math
\begin{bmatrix}
1 & 0 \\
0 & -1
\end{bmatrix}
```

* すべての方向に長さ2倍

```math
\begin{bmatrix}
2 & 0 \\
0 & 2
\end{bmatrix}
```

## 計算例

変換行列Aを適当におく(今回は計算しやすい値にした)

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

この$A$をn回作用させる変換$A^n$を考える

### 固有値、固有ベクトルを求める

固有値を$\lambda$、固有ベクトルを$x$とおくと

```math
\begin{align}
A x &= \lambda x (= \lambda I x) \\
(\lambda I - A) x  &= 0 \\
\end{align}
```

この方程式が自明でない解をもつためには、A の固有多項式と呼ばれる行列式 $det(λI − A)$ が 0 である必要があるため

```math
\begin{align}
det(\lambda I - A) &= 0 \\
det(\begin{bmatrix}
\lambda - 1 & 1 \\
-2 & \lambda - 4
\end{bmatrix}) &= 0 \\
(\lambda - 1) (\lambda - 4) + 2 &= 0 \\
\lambda^2 - 5 \lambda + 6 &= 0 \\
(\lambda - 2) (\lambda - 3) &= 0 \\
\lambda &= 2, 3 \\
\end{align}
```

* $\lambda = 2$のとき

```math
\begin{align}
\begin{bmatrix}
1 & 1 \\
-2 & -2
\end{bmatrix} x &= 0 \\
x &= \begin{pmatrix}
a \\
-a 
\end{pmatrix} \\
\end{align}
```

* $\lambda = 3$のとき

```math
\begin{align}
\begin{bmatrix}
2 & 1 \\
-2 & -1
\end{bmatrix} x &= 0 \\
x &= \begin{pmatrix}
b \\
-2b 
\end{pmatrix} \\
\end{align}
```

a, b = 1 とすると、

* 固有値$\lambda_1 = 2$の固有ベクトル$x_1$は

```math
\begin{align}
x_1 = \begin{pmatrix}
1 \\
-1 
\end{pmatrix} \\
\end{align}
```

* 固有値$\lambda_" = 3$の固有ベクトル$x_2$は

```math
\begin{align}
x_2 = \begin{pmatrix}
1 \\
-2 
\end{pmatrix} \\
\end{align}
```

よって、今回の変換を行うと

* 固有ベクトル$x_1$は、向きが変わらず大きさだけ$\lambda_1 (=2)$倍される
* 固有ベクトル$x_2$は、向きが変わらず大きさだけ$\lambda_2 (=3)$倍される

### 固有値、固有ベクトルを使って、Aをn回作用させる変換を求める

固有ベクトルを横に並べた行列P、固有値を使った行列Dを考えると

```math
P = (x_1, x_2) = \begin{bmatrix}
1 & 1 \\
-1 & -2
\end{bmatrix} \\
```
```math
D = \begin{bmatrix}
\lambda_1 & 0 \\
0 & \lambda_2
\end{bmatrix} = \begin{bmatrix}
2 & 0 \\
0 & 3
\end{bmatrix} \\
```

コレを使うと

```math
\begin{align}
A x &= \lambda x \\
A (x_1, x_2) &= (\lambda_1 x_1, \lambda_2 x_2) \\
A (x_1, x_2) &= (x_1, x_2) \begin{bmatrix}
\lambda_1 & 0 \\
0 & \lambda_2
\end{bmatrix}\\
A P &= P D \\
P^{-1} A P &= D \\
(P^{-1} A P)^n &= D^n \\
\end{align}
```

ここで

```math
\begin{align}
(P^{-1} A P)^n &= (P^{-1} A P) (P^{-1} A P) ... (P^{-1} A P) \\
&= P^{-1} A (P P^{-1}) A (P ... P^{-1}) A P \\
&= P^{-1} A^n P \\
\end{align}
```

より

```math
\begin{align}
P^{-1} A^n P &= D^n \\
A^n &= P D^n P^{-1} \\
\begin{bmatrix}
1 & -1 \\
2 & 4
\end{bmatrix}^n &= \begin{bmatrix}
1 & 1 \\
-1 & -2
\end{bmatrix} \begin{bmatrix}
2 & 0 \\
0 & 3
\end{bmatrix}^n \begin{bmatrix}
1 & 1 \\
-1 & -2
\end{bmatrix}^{-1}
\end{align}
```

### 試しに5回作用させてみる

```math
\begin{align}
x &= \begin{pmatrix}
1 \\
1
\end{pmatrix} \\
\end{align}
```

に5回作用させてみる

#### そのままやった場合

```math
\begin{align}
\begin{bmatrix}
1 & -1 \\
2 & 4
\end{bmatrix}^5 \begin{pmatrix}
1 \\
1
\end{pmatrix} &= \begin{bmatrix}
1 & -1 \\
2 & 4
\end{bmatrix} \begin{bmatrix}
1 & -1 \\
2 & 4
\end{bmatrix} \begin{bmatrix}
1 & -1 \\
2 & 4
\end{bmatrix} \begin{bmatrix}
1 & -1 \\
2 & 4
\end{bmatrix} \begin{bmatrix}
1 & -1 \\
2 & 4
\end{bmatrix} \begin{pmatrix}
1 \\
1
\end{pmatrix} \\
&= \begin{bmatrix}
1 & -1 \\
2 & 4
\end{bmatrix} \begin{bmatrix}
1 & -1 \\
2 & 4
\end{bmatrix} \begin{bmatrix}
1 & -1 \\
2 & 4
\end{bmatrix} \begin{bmatrix}
1 & -1 \\
2 & 4
\end{bmatrix} \begin{pmatrix}
0 \\
6
\end{pmatrix} \\
&= \begin{bmatrix}
1 & -1 \\
2 & 4
\end{bmatrix} \begin{bmatrix}
1 & -1 \\
2 & 4
\end{bmatrix} \begin{bmatrix}
1 & -1 \\
2 & 4
\end{bmatrix} \begin{pmatrix}
-6 \\
24
\end{pmatrix} \\
&= \begin{bmatrix}
1 & -1 \\
2 & 4
\end{bmatrix} \begin{bmatrix}
1 & -1 \\
2 & 4
\end{bmatrix} \begin{pmatrix}
-30 \\
84
\end{pmatrix} \\
&= \begin{bmatrix}
1 & -1 \\
2 & 4
\end{bmatrix} \begin{pmatrix}
-114 \\
276
\end{pmatrix} \\
&= \begin{pmatrix}
-390 \\
876
\end{pmatrix} \\
\end{align}
```

#### 固有値、固有ベクトルを使う場合

```math
\begin{align}
\begin{bmatrix}
1 & -1 \\
2 & 4
\end{bmatrix}^5 \begin{pmatrix}
1 \\
1
\end{pmatrix} &=  \begin{bmatrix}
1 & 1 \\
-1 & -2
\end{bmatrix} \begin{bmatrix}
2 & 0 \\
0 & 3
\end{bmatrix}^5 \begin{bmatrix}
1 & 1 \\
-1 & -2
\end{bmatrix}^{-1} \begin{pmatrix}
1 \\
1
\end{pmatrix} \\
&= \begin{bmatrix}
1 & 1 \\
-1 & -2
\end{bmatrix} \begin{bmatrix}
2^5 & 0 \\
0 & 3^5
\end{bmatrix} \frac{1}{1(-2)-(-1)} \begin{bmatrix}
-2 & -1 \\
1 & 1
\end{bmatrix} \begin{pmatrix}
1 \\
1
\end{pmatrix} \\
&= \begin{bmatrix}
1 & 1 \\
-1 & -2
\end{bmatrix} \begin{bmatrix}
32 & 0 \\
0 & 243
\end{bmatrix} \begin{pmatrix}
3 \\
-2
\end{pmatrix} \\
&= \begin{bmatrix}
1 & 1 \\
-1 & -2
\end{bmatrix} \begin{pmatrix}
96 \\
-486
\end{pmatrix} \\
&= \begin{pmatrix}
-390 \\
876
\end{pmatrix} \\
\end{align}
```

##### 固有値、固有ベクトルを使った式の意味

* [この動画](https://www.youtube.com/watch?v=P_204LIcsFk)の9:31あたりで言ってること

```math
\begin{bmatrix}
1 & 1 \\
-1 & -2
\end{bmatrix}^{-1} \begin{pmatrix}
1 \\
1
\end{pmatrix} = (x_1, x_2)^{-1} \begin{pmatrix}
1 \\
1
\end{pmatrix} = \begin{pmatrix}
3 \\
-2
\end{pmatrix}
```

は、「元の値(1, 1)を固有ベクトル(1, -1), (1, -2)を基底とした座標で表すと、成分は(3, -2)」という意味なので

```math
\begin{align}
\begin{pmatrix}
1 \\
1
\end{pmatrix} &= 3 \begin{pmatrix}
1 \\
-1
\end{pmatrix} + (-2) \begin{pmatrix}
1 \\
-2
\end{pmatrix} \\
&= 3 x_1 + (-2) x_2
\end{align}
```

ここで、

* 固有ベクトル$x_1$の固有ベクトル$\lambda_1 =2$
* 固有ベクトル$x_2$の固有ベクトル$\lambda_2 =3$

そして、固有ベクトルは元の変換を作用させると固有値倍になるので、「5回作用させる」=「各成分の固有値倍を5回行う」ため

```math
\begin{align}
\begin{pmatrix}
2^5 \: 3 \\
3^5 \: (-2)
\end{pmatrix} &= \begin{pmatrix}
96 \\
-486
\end{pmatrix}
\end{align}
```

そのあとで、固有ベクトルをかけなおして元の座標系に戻して完了

# 参考にしたサイト

* Wikipedia
  * [固有値](https://ja.wikipedia.org/wiki/%E5%9B%BA%E6%9C%89%E5%80%A4)
  * [線型写像](https://ja.wikipedia.org/wiki/%E7%B7%9A%E5%9E%8B%E5%86%99%E5%83%8F)
* 高校数学の美しい物語
  * [行列のn乗の求め方と例題](https://mathtrain.jp/matrixnjo)
  * [行列の対角化の意味と具体的な計算方法](https://mathtrain.jp/diagonalization)
* [AIcia Solid Project](https://www.youtube.com/channel/UC2lJYodMaAfFeFQrGUwhlaQ)
  * [【時系列分析②】漸化式と線型代数その2 ~固有値、固有ベクトル、対角化を攻略！~【めざせ線型代数マスター！】 #VRアカデミア #024](https://www.youtube.com/watch?v=P_204LIcsFk)