「クォータニオン(quaternion)」または「四元数」は複素数を4次元に拡張した数字です。
1843年にアイルランドの数学者であるハミルトンによって考案されました。
3 次元を飛ばしていきなり 4 次元に拡張しているのは 3 次元の複素数の掛け算が定義出来ないためです(ハミルトンも長い間悩んでたみたいです)。
このクォータニオンを使うことで 3 次元のベクトルを高速回転出来るので、現代ではロボットやロケット等の制御分野からCG、3Dゲームなどのエンターテインメント分野まで広く使われています。
ちなみにハミルトンがクォータニオンを思いついた場所はアイルランドのダブリンのブルーム橋というところで、ストリートビューで記念碑を見ることが出来ます(落書きが酷いですが)。
さて複素数の虚数単位は $j$ だけでしたが、クォータニオンは表1の乗算規則に従った $i$、$j$、$k$ を虚数単位とします。
なお詳しくはこの後説明しますが、クォータニオン同士の積(ハミルトン積と言います)は交換則が成り立っていませんので掛ける順番を変えると符号が変わります。
そこで表の行を積の左側から掛ける虚数単位、表の列を積の右側から掛ける虚数単位を表すことにします。
例えば $i\cdot j = k$ に対し $j \cdot i = -k$ になります。
1 | i | j | k | |
1 | 1 | i | j | k |
i | i | -1 | k | -j |
j | j | -k | -1 | i |
k | k | j | -i | -1 |
上の虚数単位のもとでクォータニオンは次のように定義されます。
$w$、$x$、$y$、$z$ が実数の時
\[ q = w + x \cdot i + y \cdot j + z \cdot k \]をクォータニオン $q$ と呼ぶ
ここで $w$ の事を「実部 (Real part)」または「スカラー部」、後ろの $x \cdot i + y \cdot j + z \cdot k$の事を「虚部 (Imaginary part)」または「ベクトル部」と言って次のように表します。
$q = w + x \cdot i + y \cdot j + z \cdot k$ の時
実部(スカラー部): Re[q] = $w$
虚部(ベクトル部): Im[q] = $x \cdot i + y \cdot j + z \cdot k$
なお虚部は別名ベクトル部と言うだけあって 3 次元ベクトル $v = (x\ ,\ y\ ,\ z)$ と同じ形をしていますので、次の様に $v$ を用いてクォータニオンを定義することも出来ます。
$w$、$x$、$y$、$z$ を実数とし、3次元ベクトル $v = (x\ ,\ y\ ,\ z)$ が与えられた時、
\[ q = (w,v) \]
をクォータニオン $q$ と呼ぶ。
$w$ を実部(スカラー部)、3次元ベクトル $v$ を虚部(ベクトル部)と呼ぶ。
こちらの定義を使った方が説明がシンプルになるので、特に断りが無い限り今後は 3 次元ベクトル $v$ を用いた定義の方を使って説明していきます。
クォータニオン $q$ の絶対値は次のように定義されます。
絶対値は必ず 0 以上の実数になります。
あるクォータニオンと虚部の符号だけが異なるクォータニオンのことを「共役クォータニオン」といいます。
$q$ と虚部の符号がだけ異なるクォータニオンのことを共役クォータニオンと言って記号 $q^*$ で表す。
つまり $q = (w,v)$ の共役クォータニオンは以下で表される。
\[ q^* = (w,v^*) \]ただし $v^* = -v = (-x\ ,\ -y\ ,\ -z)$
クォータニオン同士の積は正式には「ハミルトン積」と呼んで次で定義されます。
としたとき、$q_1$ と $q_2$ の積(ハミルトン積)は次で表される。
\[ q_1q_2 = (w_1w_2 - v_1\cdot v_2\ ,\ w_1v_2 + w_2v1 + v1\times v2) \]なおクロス積は交換則が成り立ちませんので、一般に $q_1q_2 \neq q_2q_1$ であることに注意して下さい。
クォータニオンの単位元は以下で表されます。
すると任意のクォータニオン $q$ に対し、 $\vec{1}q = q\vec{1} = q$ が成りたつ
証明は簡単なので省略します。
クォータニオン $q$ の逆数 $q^{-1}$は次のように定義されます。
すると $qq^{-1} = q^{-1}q = \vec{1}$ が成りたつ
証明は簡単なので省略します。