四元数(Quaternion)の基本 [1]

# はじめに

四元数は複素数を拡張したものです。
かの有名なハミルトン(ウィリアム・ローワン・ハミルトン:William Rowan Hamilton)によって、発見されました。
実数の拡張である複素数は実数同様に可換体(commutative field)ですが、四元数は乗法について非可換(non-commutative)です。
※以下の章で複素数を取り扱いますが高校数学とは表現など異なる点があります。

※Qiitaで綺麗な構成にする方法がわかりません(´;ω;｀)

# 1. 複素数(Complex number)
四元数は複素数の拡張ですから、数学から暫く遠ざかってしまったという方は、まずは複素数の復習をしましょう。

## 1.1 基本

$x_0,x_1\in \mathbb{R} \ $(実数の全体)としたとき、

```math
 x = x_0 + x_1 i
```
と表される数$x$を**複素数**と呼びます。ただし $i^2 = -1$ を満たします。複素数の全体を$\mathbb{C}$で表します。$x = 0\in \mathbb{C}\ $は$x_0= 0$ かつ $x_1 = 0$ のときであり、また $x_0 = 0$ かつ $x_1 = 1$ のときは $x = i$ と表します。

**共役**
複素数 $x = x_0 + x_1i$ に対して、 $x_0をxの$ **実部(real part)** 、 $x_1をx \ $ の**虚部(imaginary part)** と言います。複素数 $x_0 + x_1i$ とその虚部の符号が反転した複素数 $x_0 - x_1i$ の関係を互いに
**(複素)共役(complex conjugate)** であるといい、 $x$ の共役の複素数は $\bar x$ と表します。

複素数の加法、乗法は、$x = x_0 + x_1i, y = y_0 + y_1i \in \mathbb{C}$としたとき、次の通りになります。
**加法(Addition)**

```math
 x + y = (x_0 + y_0) + (x_1 + y_1)i
```

**乗法(Multiplication)**

```math
xy = (x_0y_0 - x_1y_1) + (x_0y_1 + x_1y_0)i
```
また絶対値を次のように定めます。
**絶対値(Absolute value)**

```math
\left |x \right | = \sqrt {x_0^2 + x_1^2} \quad (= \sqrt {x \bar x})
```

**極形式(Polar form)**
複素数を距離と始線(基準となる線)との偏角の2つの数で表す形式です。

```math
x = x_0 + x_1i = r (\cos \theta + i \sin \theta ) \quad (r = \sqrt {x_0^2 + x_1^2})
```
またオイラーの公式$e^{i\theta} = \cos \theta + i \sin \theta$を用いると$x = r e^{i \theta}$とも表せます。

**行列表現(Matrix representation)**
複素数$x = x_0 + x_1i$は次のように、行列で表現することができます。

```math
x_0 + x_1i \leftrightarrow 
\left (
 \begin{array}{cc}
  x_0 & -x_1 \\
  x_1 & x_0
 \end{array}
\right )
```
このとき行列式は $\det x = x_0^2 + x_1^2$ ですので、$x\ $の絶対値は $\left | x \right | = \sqrt{\det x}\ $ とも表現できます。

行列表現で加法、乗法が成り立つことを確認します。$x = x_0 + x_1i, y = y_0 + y_1i \in \mathbb{C}$とすると、

```math
\begin{align}
x & =
\left (
 \begin{array}{cc}
  x_0 & -x_1 \\
  x_1 & x_0
 \end{array}
\right )

y = 
\left (
 \begin{array}{cc}
  y_0 & -y_1 \\
  y_1 & y_0
 \end{array}
\right ) \\

x + y & =
\left (
 \begin{array}{cc}
  x_0 + y_0 & -(x_1 + y_1) \\
  x_1 + y_1 & x_0 + y_0
 \end{array}
\right ) \\

xy & =
\left (
 \begin{array}{cc}
  x_0 & -x_1 \\
  x_1 & x_0
 \end{array}
\right )
\left (
 \begin{array}{cc}
  y_0 & -y_1 \\
  y_1 & y_0
 \end{array}
\right )

=
\left (
 \begin{array}{cc}
  x_0y_0 - x_1y_1 & -(x_1y_0 + x_0y_1)  \\
  x_1y_0 + x_0y_1 & x_0y_0 + x_1y_1
 \end{array}
\right )
\end{align}
```
となり、成り立つことが分かります。また2列目の項は順序や符号を変えれば1列目の項で表せるので、$x$のみ行列で表示して$y$はベクトルで表示すると、複素数$xとy$の積は
```math
xy = \left (
 \begin{array}{cc}
  x_0 & -x_1 \\
  x_1 & x_0
 \end{array}
\right )
\left (
 \begin{array}{c}
  y_0 \\
  y_1
 \end{array}
\right )
= \left (
 \begin{array}{c}
  x_0y_0 - x_1y_1 \\
  x_1y_0 + x_0y_1 
 \end{array}
\right )
```
となりベクトルで表示できます。これを本記事では(複素数の)**積の行列表示**と呼ぶことにします。

### 1.1.1 性質

$x=x_0 + x_1i,y=y_0+y_1i,z=z_0+z_1i$としたとき、次が成り立ちます。
**加法の結合法則(Associative property of addition)**

```math
(x + y) + z = x + (y + z)
```
**加法の可換法則(Commutative property of addition)**

```math
x + y = y + x
```
**乗法の結合法則(Associative property of multiplication)**

```math
(xy)z = x(yz)
```

**乗法の可換法則(Commutative property of multiplication)**

```math
xy = yx
```
* 分配法則(Distributive property)

```math
x (y + z) = xy + xz \\
(x + y) z = xz + yz
```

これにより複素数 $x=x_0 + x_1i\in \mathbb{C}$と実数$r\in \mathbb{R}$との積が次のようになることが分かります。

```math
rx = (r + 0i)(x_0 + x_1i) = rx_0 + rx_1i \ 
```

* 減法(Subtraction)

減法については、次の通り計算できます。

```math
x - y = x + (-1)y = (x_0 + x_1i) + (-y_0 -y_1i) = (x_0 - y_0) + (x_1 - y_1)i
```


* 除法(Division)

除法については次の通り計算できます。(ただし$y \neq 0$)

```math
\frac{x}{y} = \frac{x \bar y}{y \bar y} = \frac{(x_0y_0 + x_1y_1) + (-x_0y_1 + x_1y_0)i}{y_0^2 + y_1^2}
```

* 指数法則(Law of exponents)

$\forall \theta _1, \theta _2 \in \mathbb{R}$に対して次の式が成り立ちます。

```math
e^{\theta _1i} e^{\theta _2i} = e^{(\theta _1+ \theta _2)i}
```

## 1.2 複素数の内積

$x = x_0 + x_1i, y = y_0 + y_1i \in \mathbb{C}$にたいして、複素数の内積を次の通りに定義します。
**内積(Inner product)**

```math
\left < x , y \right > = \bar x y = (x_0 - x_1i) (y_0 + y_1i) = (x_0y_0 + x_1y_1) + (x_0y_1 - x_1y_0)i
```

内積の定義から、

```math
\left < x , x \right > \ge 0 ただし、 \left < x , x \right > = 0 \Leftrightarrow x_0 = x_1 = 0
```
複素数の絶対値は内積を用いて、$\left | x \right | = \sqrt {\left < x , x \right >} \ $とも表せます。また

```math
x = \left ( \begin{array}{cc} x_0 & - x_1 \\ x_1 & x_0 \end{array} \right )
```
とすれば、行列式は $\det x = x_0^2 + x_1^2$ であるから、 $\det x = \left < x , x \right >$とも表すことができます。

**(参考)点乗積**

```math
x \cdot y = \frac{1}{2} (\bar xy + x\bar y) = x_0y_0 + x_1y_1
```

# 2. 四元数(Quaternion)

## 2.1 四元数の基本

$x_0,x_1,x_2,x_3\in \mathbb{R}$(実数の全体)としたとき、

```math
 x = x_0 + x_1 i + x_2 j + x_3 k
```
と表される数が下記を満たすとき、$x$を **四元数(Quaternion)** と言い、四元数の全体を$\mathbb{H}$で表します。
```math
i^2 = j^2 = k^2 = ijk = -1
```

* **$i,j,k$の関係式**
$ijk = -1$から次が導けます。

```math
\begin{align}
  (1) &&& 右からkを掛ける &&&  ijk^2 & = -k & \Leftrightarrow && ij & = k \\
  (2) &&& 左からiを掛ける &&& i^2jk & = -i & \Leftrightarrow && jk & = i \\
  (3) &&& (1)に右からjを掛ける &&& ij^2 & = kj & \Leftrightarrow && kj & = -i \\
  (4) &&& (2)に左からjを掛ける &&& j^2k & = ji & \Leftrightarrow && ji & = -k \\
  (5) &&& (2)に右からkを掛ける &&& jk^2 & = ik & \Leftrightarrow && ik & = -j \\
  (6) &&& (4)に右からiを掛ける &&& ji^2 & = -ki & \Leftrightarrow && ki & = j
\end{align}
```
ここから分かる通り、四元数では一般に乗法について非可換です。

**共役**
四元数$x = x_0 + x_1 i + x_2 j + x_3 k$の共役は$x^* = x_0 - x_1 i - x_2 j - x_3 k$です。


四元数の加法、乗法は$x = x_0 + x_1i + x_2j + x_3k, y = y_0 + y_1i + y_2j + y_3k \in \mathbb{H}$としたとき、次の通りになります。
**加法**

```math
x + y = (x_0 + y_0) + (x_1 + y_1)i + (x_2 + y_2)j + (x_3 + y_3)k
```

**乗法**

```math
\begin{align}
xy = &　 (x_0y_0 - x_1y_1 - x_2y_2 - x_3y_3) + (x_0y_1 + x_1y_0 + x_2y_3 - x_3y_2)i \\
&　 + (x_0y_2 - x_1y_3 + x_2y_0 + x_3y_1)j + (x_0y_3 + x_1y_2 - x_2y_1 + x_3y_0)k \ 
\end{align}
```
**絶対値**
また四元数の絶対値は次の通りとなります。
```math
\left |x \right | = \sqrt {xx^*} 
```
ここで
```math
\begin{align}
xx^* = &　 (x_0x_0 -x_1(-x_1) -x_2(-x_2) -x_3(-x_3)) \\
 &　 + (x_0(-x_1) + x_1x_0 + x_2(-x_3) - x_3(-x_2))i \\
 &　 + (x_0(-x_2) - x_1(-x_3) + x_2x_0 + x_3(-x_1))j \\
 &　 + (x_0(-x_3) + x_1(-x_2) - x_2(-x_1) + x_3x_0)k \\
 = &　 x_0^2 + x_1^2 + x_2^2 + x_3^2
\end{align}
```
となるので、 $\left | x \right | = \sqrt{x_0^2 + x_1^2 + x_2^2 + x_3^2}$となります。
**極形式**
四元数 $x = x_0 + x_1i + x_2j + x_3k (但しx_1i + x_2j + x_3k \ne 0) \in \mathbb{H} \ $ の極形式を考えます。
この四元数の大きさ$r$とすると、$r = \left|x \right| = \sqrt{x_0^2 + x_1^2 + x_2^2 + x_3^2}$であり、下図のように$\theta$をとると

<!-- ![20191229.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/104044/c08c77cc-fc34-e48d-7501-424b5f5f23a0.png) -->
<img width="400" alt="20191229.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/104044/c08c77cc-fc34-e48d-7501-424b5f5f23a0.png">

```math
\begin{align}
x & = r \left(\frac{x_0}{r} + \frac{x_1i + x_2j + x_3k}{r} \right) \\
 & = r \left(\frac{x_0}{r} + \frac{\sqrt{x_1^2 + x_2^2 + x_3^2}}{r}\frac{x_1i + x_2j + x_3k}{\sqrt{x_1^2 + x_2^2 + x_3^2}} \right) \\
 & = r \left(\cos\theta + \sin\theta \frac{x_1i + x_2j + x_3k}{\sqrt{x_1^2 + x_2^2 + x_3^2}} \right) \\
\end{align}
```

ここで$\mu$を次のように置くと

```math
\mu = \frac{x_1i + x_2j + x_3k}{\sqrt{x_1^2 + x_2^2 + x_3^2}}
```

$xは\thetaと\mu$を使って表すことが出来ます。

```math
x = r \left( \cos\theta + \mu \sin\theta \right) \quad ※\muは単位四元数です。
```

<!--
また、(大事なことを)省略しますが、$e^{\theta\mu} = \cos\theta + \mu\sin\theta$となるので、

```math
x = r e^{\theta\mu} = r \left( \cos\theta + \mu \sin\theta \right) \\
```
-->
**積の行列表示**
複素数と同様に $x = x_0 + x_1j + x_2j + x_3k, y = y_0 + y_1i + y_2j + y_3k \in \mathbb{H}$に対して、下記のように $x$ を行列表示、 $y$ をベクトル表示できます。
```math
xy  =
\left (
 \begin{array}{cc}
  x_0 & -x_1 & -x_2 & -x_3 \\
  x_1 & x_0 & -x_3 & x_2 \\
  x_2 & x_3 & x_0 & -x_1 \\
  x_3 & -x_2 & x_1 & x_0
 \end{array}
\right )
\left (
 \begin{array}{c}
  y_0 \\
  y_1 \\
  y_2 \\
  y_3
 \end{array}
\right )
```

#### 2.1.1 性質

**加法の結合法則**

```math
(x + y) + z = x + (y + z)
```
**乗法の結合法則**

```math
(xy)z = x(yz)
```
**加法の交換法則**

```math
x + y = y + x
```

* 分配法則

```math
x (y + z) = xy + xz \\
(x + y) z = xz + yz
```
また以下の等式が成り立ちます。

```math
(x + y)^* = x^* + y^* \\
xx^* = x^*x \\
(xy)^* = y^* x^* 

```

**$x^n$の公式**
$x = x_0 + x_1i + x_2j + x_3k (但しx_1i + x_2j + x_3k \ne 0) \in \mathbb{H} \ $のとき、極形式を用いると$x^n$は次のように計算できます。
```math
\begin{align}
r & = \sqrt{x_0^2 + x_1^2 + x_2^2 + x_3^2} \\
\cos\theta & = \frac{x_0}{r} \\
\sin\theta & = \frac{\sqrt{x_1^2 + x_2^2 + x_3^2}}{r} \\
\mu & = \frac{x_1i + x_2j + x_3k}{\sqrt{x_1^2 + x_2^2 + x_3^2}}
\end{align} 
```
とすると $x = r \left ( \cos\theta + \sin\theta \mu  \right ) \ $となり、
```math
x^n = r^n \left ( \cos( n\theta) + \sin(n\theta) \mu  \right )
```
が成り立ちます。

これは、$n=m$のとき成り立っていると仮定すると、$n=m+1$のとき、
```math
\begin{align}
x^{m+1} & = r^m \left ( \cos(m\theta) + \sin(m\theta) \mu  \right ) r \left ( \cos\theta + \sin\theta \mu  \right ) \\
 & = r^{m+1} \left ( \left ( \cos(m\theta) \cos\theta + \sin(m\theta) \sin\theta \mu^2 \right ) + \left ( \cos(m\theta) \sin\theta + \sin(m\theta) \cos\theta  \right ) \mu \right ) \\
 & = r^{m+1} \left ( \cos((m+1)\theta) + \sin((m+1)\theta) \right ) \mu
\end{align}
```
よって$n=m+1$のときも成り立ちます。※$\mu^2 = -1$
$x^n$の公式から $x^n = 1$の解は以下のようになります。
```math
x = \cos\left(\frac{2\pi}{n}m \right) + \sin\left( \frac{2\pi}{n}m \right) \mu 　(m = 0,1, \dots , n-1)
```
```math
ただし \mu = \frac{x_1i + x_2j + x_3k}{\sqrt{x_1^2 + x_2^2 + x_3^2}} 　(x_1x_2x_3 \ne 0)
```