物理を解説 ♪
ツイッター用のシェアボタン フェイスブック用のシェアボタン はてなブックマーク用のシェアボタン ライン用のシェアボタン
ツイッター用のシェアボタン フェイスブック用のシェアボタン はてなブックマーク用のシェアボタン ライン用のシェアボタン

四元数(クォータニオン)
の定義

全国的に「しげんすう」と読みます。
作成:2017/8/7
更新:2021/6/16

簡単な紹介

四元数(クォータニオン)には 3 次元空間での回転の座標変換をスマートに表せるという応用がある.近頃の美しい実写のような3Dゲームを作るためには必須の知識となっている.ゲームだけではなく人工衛星やロボットの姿勢制御にもクォータニオンの概念を使うようになってきている.そのような業界では四元数という数学用語よりも,英語圏のプログラマたちが使っているクォータニオンという英単語をそのままカタカナ表記で使うことの方が多い.

しかし英語の綴り的にも実際の発音でも「クォータニオン」じゃなくて「コターニオン」に近いんだよな.どうしてこうなった

物理学で四元数を使う場面は今のところ見当たらない.もし使える場面があったとしても,二組の複素数を使って代用するルールを考えた方が楽だろう.いや,かつては四元数を使ってマクスウェル方程式などの物理法則を記述していたこともあったらしいのだが,後に確立され普及したベクトル解析の方がよっぽどイメージしやすく扱いやすいというので今では物理方面での応用は廃れてしまった.

そういうわけで,座標変換への応用の話に集中して数回シリーズでお届けしよう.


三元数を構成するのは無理

複素数というのは2つの実数の組で表されるような数であり,平面上に表されるものだった.すると,これを拡張して 3 次元空間上に表される数というものも作れるのではないだろうか.虚数単位iでも実数でもない何らかの単位jというものを導入して次のように表される数を考えてみよう. 数式 これを「三元数」と呼ぶことにする.α,β,γは実数である.iは虚数単位であるからi^2 =-1を満たすとしても,jの方にはどんな性質を持たせたらいいだろうか.ijの積はどうなると考えてやればいいだろうか.

ijも三元数で表される何らかの値になって欲しいから,次の式の右辺のような形で表されるだろうと仮定する. 数式 この両辺にiを掛けると次のようになるはずだ. 数式 ところがこれを満たす実数a,b,cの組は存在し得ないのである.確かめてやろう.この式を変形してやると次のようになる. 数式 右辺が 0 なので左辺のそれぞれのカッコの中身が 0 にならなくてはならない.しかしc^2 +1=0を満たす実数cがないのである.

というわけで,結果的にこの「三元数」というアイデアはうまく行かないのだ.


四元数の定義

ところがこれに懲りずにさらに拡張してやるとうまくいく.iでもjでも実数でもないkという単位を導入し,次のような数を考えてみる. 数式 α,β,γ,δは実数である.これを「四元数(しげんすう)」あるいは「クォータニオン」と呼ぶ.

i,j,kのそれぞれは次のような性質を持っている. 数式 また,それぞれの積は次の法則に従う. 数式 見ての通り,四元数どうしの掛算は交換則が成り立っていない.掛ける順序によって値が変わってしまうという性質があるのである.

四元数どうしの積を計算する時には複素数と同様に普通に展開して計算してやればいいのだが,i,k,jの掛算の順序だけは変えないように気をつけないといけない.

印象付けるために式で表しておこう.2 つの四元数ABの積については,ほとんどの場合において 数式 である.たまたま等しくなることはあるかもしれない.


どうしてこう定義するのか

ijk,どれも 2 乗すると -1 になるという性質があるのに,それぞれは別の数であるとみなしている.なぜこのような性質を導入することになったのか考えてみよう.

先ほど三元数を考えたときと同じようなことを試してみる.ijもまた四元数で表されるべきであると仮定すると 数式 であるが,この両辺にiを掛ければ, 数式 となる.i,j,kはそれぞれ異なる性質を持った数なので,それぞれの項が 0 にならないといけない. 数式 三元数のときと同じようにc^2 +1=0を満たす実数cは存在しないのだが,(3) 式の最後の項にあるik,ik=jあるいはik=-jになる性質を持っていてくれれば (6) 式と (8) 式の条件を分けずに一つにまとめてしまうことができて,この困難を救うことが出来る.もちろんik=2jのようなことを考えてもいいのだが,出来る限り単純な形で解決したい.

例えばik=jの方を採用したとすると, 数式 を満たせば良くなるから,d≦-1であればいい.この他に (7) 式のcd=0という条件があるが,今やd≠0だということになったのでc=0であるべきだろう.それを (9) 式に当てはめればd=-1である.c=0なので (4) 式や (5) 式によりa=0b=0も導かれる.これらの結果を (2) 式に戻してやれば 数式 だということになる.仮定したik=jと得られたij=-kの間に矛盾は見られない.一方の式の両辺にiを掛ければもう一方の式になるという関係だ.

しかし,もう一つ,ik=-jという関係を採用してみる可能性もあったのだった.こちらも試してみると, 数式 を満たせばいいのでd≧1であればいい.今回もd≠0であることが決まったことによりc=0が導かれ,d=1となり,他の変数は 0 である.それで 数式 だということになる.こちらも仮定したik=-jとの間に矛盾はない.

どちらを採用すればいいかと迷うが,どちらでもいいのである.jkは今のところ記号が違うだけであり,何らの性質の違いも仮定していない.ij=kとするかik=jとするかというどうでもいい違いである.アルファベット順になっていた方が覚えやすいのでij=kを採用しておこう.この式の両辺にiを掛けて得られるik=-jも同じ意味である.

次に考えたいのはjkの積がどうなるかである.ところがこれが,ここまでと同じ方法ではうまくいかない.やってみせよう.次のように仮定してみる. 数式 両辺にiを掛けてみる. 数式 さあ,ここで困る.k^2に対してどんな性質を要求したらいいだろうk^2 =±iでもk^2 =±1でもk^2 =±kでもk^2 =±jでもこの式に矛盾が生じないのである.

例えばk^2 =1なんていう仮定はk=±1と同じことなのではないか,と思うかもしれない.しかしここではどうしても慎重になってしまう.k^2がどういう性質を持つか既に紹介してしまったが,結果としては「kk^2 =-1を満たすがiとは異なるもの」と考えているのだった.だとしたら,この段階ではまだ「kk^2 =1を満たすがk=1でもk=-1でもないもの」という奇妙なものである可能性も捨てるべきではないだろう.

ところがk^2 =±kk^2 =±jという可能性は,別の簡単な計算で矛盾することが示せる.例えばk^2 =kを考えてみよう.すでにij=kを採用しているので,この式はijk=kとなってしまう.これはij=1だと言っているようなものであり,ij=kに矛盾する.あるいは特別なルールを採用すればこの矛盾を回避できるかもしれないが,そのような奇妙な体系は欲しくはない.

k^2 =jも否定できる.左辺はijkに書き換えることができて,ijk=jとなり,この両辺にiを掛けると-jk=ijであり,この右辺にij=kを使えば,すなわち-jk=kとなる.結局j=-1だということになってしまう.

今は関係ないが,ついでに言っておくと,同様にしてj^2 =kj^2 =jなども否定できる.

さて,何とかここまで可能性を絞ることが出来たが,それでもまだk^2 =±ik^2 =±1については否定できないのである.例えばk^2 =iを仮定するとijk=iとなり,両辺にiを掛けてjk=1となる.これはまだこの段階では否定しきれない.k^2 =1を仮定してもijk=1であり,両辺にiを掛けてjk=-iとなる.これもこの段階では否定する要素がない.同様にj^2 =±ij^2 =±1なども否定できない.

仮定結果
k^2 =±1jk=\mpi
k^2 =±ijk=±1
j^2 =±1kj=±i
j^2 =±ikj=±1

これらの結果を組み合わせたものもまた共存可能である.組み合わせ次第では非可換,すなわち積の順序によって結果が変わることを仮定しなくてはならないが,そうしなくてもいい可能性も残る.

このように,「四元数は積に対して閉じている」という条件,すなわち「四元数と四元数を掛けたものは再び四元数となる」という条件だけではここまでしか決められないのである.これ以外の別の条件が必要だ.

ところが解説書によっては,交換法則が成り立つように四元数を構成することはできない,などと書いているものがある.また,一通りにしか定まらないかのような表現も見られることがある.これらは正しくない.実際には四元数には幾つかのバージョンがあり,中には交換法則が使えるものすらもある.今回紹介している有名な「普通の四元数」の他にも次のような四元数系が知られている.

双複素数 (Bicomplex number)交換法則が成り立つ.
j^2 =1,k^2 =-1を採用.自動的にjk=iとなる.
分解型四元数 (Split-quaternion)交換法則が成り立たない.
j^2 =1,k^2 =1を採用.自動的にjk=-iとなる.
双曲四元数 (Hyperbolic quaternion)交換法則が成り立たない.
j^2 =k^2 =1であるばかりか,i^2 =1も採用.

i^2 =1としてしまう双曲四元数には驚いた.ここまでの議論ではi^2 =-1を当然のものとしていたからで,想定外である.しかし,いずれもij=kを採用しているという点は共通なようだ.さすがにk^2 =±ij^2 =±iを採用しているものは無さそうだが,多分,それらについても誰かが深く考えていることだろう.


絶対値(ノルム)の採用

このように,四元数の定義は唯一に定めることができない.そのような中で敢えて最初に紹介した形を採用したことの理由付けが何か欲しいところである.最も自然で納得の行く制限としてはどんなものがあるだろうか.(1) 式のような四元数に対して, 数式 という量を定義しよう.これを四元数の「絶対値(ノルム)」と呼ぶ.複素数の絶対値と似たような概念である.もし|A|=0ならば,それはA=0のときしかない.

そして 2 つの四元数A,Bの「絶対値の積」と「積の絶対値」とは等しいという性質を満たすことにしよう. 数式 この条件を満たすようにするにはj,kにどのような性質を持たせればいいかを考えるのは地道な作業である.それでも途中で行き詰まるのではあるが,最初の方で採用したij=kik=-jを使いながらさらに根気よく調べていくと,i,j,kの性質が全て定まり,最初の方で述べた形になるのである.もちろん交換則が成り立っていないことも導かれてしまう.

四元数どうしの積では交換則が成り立たないが,絶対値については次のような関係が成り立つことはすぐに分かるだろう. 数式 四元数に対してとりとめもない感じがしていたが,このような絶対値についての条件が加わると,少しはイメージできそうな安心感が出てくる.

次回では四元数の性質にもう少し踏み込んで,なぜ 3 次元回転の座標変換に応用されることになっているのかというところにまで迫ろうと思う.



趣味の物理学書店の案内バナー

EMAN物理note出張所の案内バナー