データサイエンスのための線形代数 第14回 回転行列関数

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

# 回転行列関数

回転行列関数$A$:

```math  
\boldsymbol{A}=\begin{pmatrix}\cos\theta&-\sin\theta\\\sin\theta&\cos\theta\end{pmatrix}
```

の列ベクトルが：
```math  
\boldsymbol{c_1}=\begin{pmatrix}\cos\theta\\\sin\theta\end{pmatrix},\quad\boldsymbol{c_2}=\begin{pmatrix}-\sin\theta\\\cos\theta\end{pmatrix}
```

$c_1,c_2$が自然基底の$e_1,e_2$を逆回転$\theta$したものです。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3327130/7a5b8abd-0561-0b7f-4803-2c6b39026447.png)

三角関数による変換をして、$c_1,c_2$基底になります。
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3327130/d59285b5-36e8-adca-c14a-17c3e41891c2.png" width=480>
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3327130/6d7c3f64-53ad-67f5-1585-a2dc36b1afc2.png" width=480>


以前の記事で解説したように、行列関数の左乗$Aa=b$の時に、$a$が自然基底の$\lbrace e_1,e_2 \rbrace$の線形結合で、$b$が$A$の列ベクトル$\lbrace c_1,c_2 \rbrace$の線形結合です。例えば、$a$がの時に、
```math  
\boldsymbol{a}=\begin{pmatrix}2 \\ 1\end{pmatrix}
```
$A$を通して、変換されたら、
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3327130/9d4d4ca8-235e-d814-0146-c1a601f25405.png)

列ベクトル$c_1,c_2$が自然基底$e_1,e_2$のベースで$\theta$を回転され、$c_1,c_2$の線形結合の$b$も同じように$\theta$の角度で回転されます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3327130/efd0f1fb-b51c-18e7-bd39-49fdb295a81f.png)

# 回転楕円(だえん)

上記の例では$Ax=y$、Aが以下のものであり、$x$点の座標値が$(\cos\theta,\sin\theta)$だったので、円の形になり、円の回転になりました。

```math  
\boldsymbol{A}=\begin{pmatrix}\cos\theta&-\sin\theta\\\sin\theta&\cos\theta\end{pmatrix}
```

楕円（$a = b$であれば、円になる）：
```math  
\begin{cases}
    x_1=a\cos\alpha\\
    x_2=b\sin\alpha
\end{cases},\quad 0 \le \alpha \le 2\pi,a>b>0
```

行列関数に変換して：
```math  
\underbrace{\begin{pmatrix}\cos\theta&-\sin\theta\\\sin\theta&\cos\theta\end{pmatrix}}_{回転関数\boldsymbol{A}}\quad\underbrace{\begin{pmatrix}a\cos\alpha\\b\sin\alpha\end{pmatrix}}_{\boldsymbol{x}}=\underbrace{\begin{pmatrix}a\cos\alpha\cos\theta-b\sin\alpha\sin\theta\\a\cos\alpha\sin\theta+b\sin\alpha\cos\theta\end{pmatrix}}_{\boldsymbol{y}}
```
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3327130/bc5e3e20-ec3f-41ff-493b-db05c1838149.png)

行列関数の左乗によれば、以下の形になり：

```math 
\begin{pmatrix}a\cos\alpha\cos\theta-b\sin\alpha\sin\theta\\a\cos\alpha\sin\theta+b\sin\alpha\cos\theta\end{pmatrix}\iff
\begin{cases}
    y_1=a\cos\alpha\cos\theta-b\sin\alpha\sin\theta\\
    y_2=a\cos\alpha\sin\theta+b\sin\alpha\cos\theta
\end{cases}
```

更に一般的な回転関数にすると：

```math  
\underbrace{\begin{pmatrix}\cos\theta&-\sin\theta\\\sin\theta&\cos\theta\end{pmatrix}}_{\boldsymbol{A}}\quad\underbrace{\begin{pmatrix}x_1\\x_2\end{pmatrix}}_{\boldsymbol{x}}=\underbrace{\begin{pmatrix}y_1\\y_2\end{pmatrix}}_{\boldsymbol{y}}
```

# 補足

## 行列関数のインプットとアウトプット

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3327130/fcbb75ea-d735-8436-20cc-b42a31575c09.png)

行列関数$A$のインプットが$R^3$での行ベクトルで、アウトプットが$R^2$での行ベクトルですので、以下のようなものです。

```math  
\underbrace{\begin{pmatrix}x_1&x_2&x_3\end{pmatrix}}_{\boldsymbol{x}^\mathrm{T}}\ A_{3\times 2}=\underbrace{\begin{pmatrix}y_1&y_2\end{pmatrix}}_{\boldsymbol{y}^\mathrm{T}}
```