ラビットチャレンジ　レポート（その1　応用数学-線形代数）

# 行列
そもそも行列とは？

  * スカラーを表にしたもの
  * ベクトルを並べたもの

といった風に解釈できる。
※線形代数において、ベクトル空間の「ベクトル」に対比して、実数を「スカラー」としている。「ベクトル」に対して、係数として「スカラー」を掛けることで別のベクトルを作り出せる。

## 連立方程式との関係
連立方程式は行列を用いて表すこともできる。
例：

```math
    \begin{cases}
      x_1 + x_2 = 2 \\
      2x_1 + 3x_2 = 3
    \end{cases}
\Leftrightarrow
\begin{pmatrix}
1 & 1 \\
2 & 3 \\
\end{pmatrix}
\begin{pmatrix}
x_1 \\
x_2
\end{pmatrix}
=
\begin{pmatrix}
2 \\
3 \\
\end{pmatrix}
```

## 逆行列
ある行列

```math
A = 
\begin{pmatrix}
a & b \\
c & d
\end{pmatrix}
```
に対して、$ad-bc \neq 0$のとき、（※このとき、$A$は「正則行列」）

```math
A^{-1} = \frac{1}{ad-bc}
\begin{pmatrix}
d & -b \\
-c & a
\end{pmatrix}
```
を**「行列Aの逆行列」**と呼び、

```math
AA^{-1} = A^{-1}A =  I
```
を満たす。
ここで、$I$は単位行列である。また、この例では$A$は2×2だが、任意のn×n次元の正方行列（n$\geqq$2）に対して逆行列が存在しうる。

### 単位行列
n×n次元の単位行列は以下のような行列である。

```math
I = 
\begin{pmatrix}
1 & 0 & \dots & 0 \\
0 & 1 & \dots & 0 \\
\vdots & \vdots & \ddots & \vdots \\
0 & 0 & \dots & 1 \\
\end{pmatrix}
```

例えば2×2次元の単位行列を用いると、以下のような計算ができる。

```math
I 
\begin{pmatrix}
2 \\
3
\end{pmatrix}
=
\begin{pmatrix}
1 & 0 \\
0 & 1 \\
\end{pmatrix}
\begin{pmatrix}
2 \\
3
\end{pmatrix}
=
\begin{pmatrix}
2 \\
3 \\
\end{pmatrix}
```

### 行列式
ある2×2の正方行列を横ベクトルの組み合わせとみなし、

```math
\begin{pmatrix}
a & b \\
c & d
\end{pmatrix}
=
\begin{pmatrix}
\vec{v_1} \\
\vec{v_2} \\
\end{pmatrix}
```
と考えると、この2つのベクトル$\vec{v_1}$と$\vec{v_2}$で作られる並行四辺形の面積を行列式と呼ぶ。
行列を用いると、

```math
A = 
\begin{pmatrix}
a & b \\
c & d
\end{pmatrix}
```

として、

```math
|A| = det(A) = 
\begin{vmatrix}
a & b \\
c & d
\end{vmatrix}
= ad-bc
```

のように書く。
この行列式が0ではないとき、2つのベクトル$\vec{v_1}$と$\vec{v_2}$は1次独立となるので、逆行列が存在する。

# 固有値分解～特異値分解
## 固有値と固有ベクトル
正方行列$A$に対し、

```math
A \vec{x} = \lambda \vec{x}
```

を満たすようなスカラーの$\lambda$が存在するとき、この$\lambda$を行列$A$に対する「固有値」、$\vec{x}$を行列$A$に対する「固有ベクトル」と呼ぶ。

固有値と固有ベクトルは、上式を変形して、

```math
|{A- \lambda I}|\vec{x} = \vec{0}
```
を、$\vec{x}\neq \\vec{0}$の条件の下で解けば求められる。
例えば、

```math
A = 
\begin{pmatrix}
1 & 4 \\
2 & 3
\end{pmatrix}
```
のとき、

```math
|{A- \lambda I}|
= 
\begin{vmatrix}
1 - \lambda & 4 \\
2 & 3 - \lambda
\end{vmatrix}
=0
```
を解けば、$\lambda = 5,-1$となり、これが固有値となる。
後は、この固有値を用いて、

```math
 
\begin{pmatrix}
1 & 4 \\
2 & 3 \\
\end{pmatrix}
\begin{pmatrix}
x \\
y
\end{pmatrix}
=
\lambda
\begin{pmatrix}
x \\
y \\
\end{pmatrix}
```
の式の$\lambda$に固有値を代入し、連立方程式を解けばよい。
この例の場合では、$\lambda=5$の場合に、

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

となるので、固有ベクトルは

```math
\vec{x} = 
\begin{pmatrix}
1 \\
1
\end{pmatrix}
```
の定数倍となる。
$\lambda=-1$の場合にも同様に解いて、固有ベクトルは

```math
\vec{x} = 
\begin{pmatrix}
-2 \\
1
\end{pmatrix}
```
の定数倍となる。

## 固有値分解
上で求めた2つの固有ベクトルを横に並べた行列を用いると、

```math
A =
\begin{pmatrix}
1 & 4 \\
2 & 3 \\
\end{pmatrix}
=
\begin{pmatrix}
1 & -2 \\
1 & 1
\end{pmatrix}
\begin{pmatrix}
5 & 0 \\
0 & -1
\end{pmatrix}
\begin{pmatrix}
\frac{1}{3} & \frac{2}{3} \\
-\frac{1}{3} & \frac{1}{3}
\end{pmatrix}
```
と分解することができ、固有ベクトルを横に並べた行列を$V$、固有値を対角線上に並べた対角行列を$\Lambda$とすると、

```math
A = V \Lambda V^{-1}
```
となり、固有値と固有ベクトルのみを用いて元の行列を3つの行列の積に変換することが可能である。
これを**固有値分解**と呼ぶ。
この変換を用いることによって、行列の累乗の計算を簡素化する際などに用いる。

これを一般化して、n×n次元の正方行列$A$に対して、固有値を$\lambda _1, \lambda _2, \dots \lambda _n$とし、それに対応する固有ベクトル$\vec{v_1},\vec{v_2},\dots \vec{v_n}$とする。固有値を対角線上に並べた行列を

```math
\Lambda = 
\begin{pmatrix}
\lambda _1 & 0 & \dots & 0 \\
0 & \lambda _2 & \dots & 0 \\
\vdots & \vdots & \ddots & \vdots \\
0 & 0 & \dots & \lambda _n \\
\end{pmatrix}
```
とし、
固有ベクトルを並べた行列を

```math
V = (\vec{v_1},\vec{v_2},\dots \vec{v_n})
```
とすると、

```math
AV = V \Lambda
```
の関係が成り立つことから、上式に$V^{-1}$を右から掛けることで、

```math
A = V \Lambda V^{-1}
```
が成り立つ。

## 特異値分解
固有値分解は正方行列に対して適用できるものだった。これを任意のm×n行列に対して分解できるようにしたものが、特異値分解。
あるm×n行列$A$（m $\neq$ n）に対し、$A^\top$はn×m行列になる。これらに対し、

```math
A \vec{v} = \sigma \vec{u} \\
A^\top \vec{u} = \sigma \vec{v}
```
を満たすような、2種類のベクトル$\vec{v}$と$\vec{u}$が存在するとする。
このような$\vec{v}$と$\vec{u}$を並べた行列を$V$と$U$とし、$\sigma$を対角に並べた行列を$\Sigma$とする。
このとき、上式を変形すると、

```math
AV = U \Sigma \\
\Leftrightarrow
A = U \Sigma V^{-1} \\

```
同様に、

```math
A^\top U = V\Sigma \\
\Leftrightarrow
A^\top = V \Sigma U^{-1} \\

```
である。
これらを用いると、

```math
AA^\top = U \Sigma V^{-1} V \Sigma U^{-1} = U \Sigma \Sigma U^{-1} \\
A^\top A = V \Sigma U^{-1} U \Sigma V^{-1} = V \Sigma \Sigma V^{-1}
```
この式を見ると、$AA^\top$はm×mの正方行列、$A^\top A$はn×nの正方行列であるので、これらの行列に対して、固有値分解が行える。

このとき、$AA^\top$を固有値分解して得られる固有値が元の行列$A$の特異値の2乗、固有ベクトル（$U$の列ベクトル）が左特異ベクトルと呼ばれる。逆に、$A^\top A$を固有値分解して得られる固有ベクトル（$V$の列ベクトル）は右特異ベクトルと呼ばれる。

この特異値分解を用いれば、任意のm×n行列に対して、固有値分解と似たような形で特異値と特異ベクトルを計算し、それらのみで元の行列を表すことが可能である。