幾何代数 再び

  • 先日来(こちらとか)、曲面操作のための方法として、3次元空間を四元数で扱うことと、微分幾何とを組み合わせることで、曲面変形を線形代数解法に結びつける方法について延々と調べ物をしていた
  • そのキモは、線形代数は強力だけれども、それだけを使うと、図形的な特徴(平行・垂直・面、回転…)をいちいち線形代数的に表現しなおさないといけなくなるのに対して、幾何的対象そのものを陽に扱うことを可能にしてくれることだった(回転が四元数の積になる、とか)
  • このキモを共通とし、ある意味で同じ穴のムジナだけれども、ちょっと違う方法に「幾何代数 geometric algebra」を使って、3次元の共形変換を5次元空間での線形変換で扱う方法がある(幾何代数 再び、というのは、こちらで一度やってあるから…。あのときは(も)わからなかったなぁ、と)
  • 3Dグラフィクス的にはこんな感じこんな感じ
  • 大雑把に言うと…
    • 幾何代数はクリフォード代数の特別なもの
    • 外積代数は幾何代数の特別なもの
  • ここまででわかることは
    • 外積代数を含む」ってことは、外積代数・幾何代数・クリフォード代数に共通することとして
    • n次元ベクトル空間があったとき、その空間を張るn個の基底を問題にするときに{e1,...,en}のべき集合に対応する2^n個の層状にグループ分けできる基底を使った代数である、ということ
  • じゃあ、外積代数と幾何代数の共通点がわかったところで、その相違点を知れば、幾何代数について、かなりわかることになる。その相違点は…
    • 外積代数は、2^n個の基底のウェッジ積が定義されていて、eiの並べ方を変えると符合が逆になるという性質があり、すべての外積代数演算で、その性質が通用していた
    • 幾何代数では、その外積代数の部分と、『外積代数が持つ性質の逆の性質』である「eiの並べ方を変えても符合が逆にならない」という性質の成分との2つの成分から成る、ということ
    • 中等数学的な表現を使えば「内積はeiの順序を変えても同じ、外積はeiの順序を変えると符合が反転する」が、「外積代数はこの外積」だけでできているのに対して、「幾何代数は、内積外積とを合わせたもの、を、『幾何代数における積(代数だから要素と演算とがあるわけで、その意味での幾何代数に備えられた積という演算』とする」、と言うことになるだろう
  • なんとなく雰囲気がつかめたところで、もう少し「堅く」書いてみる
    • クリフォード代数も幾何代数も外積代数も、「代数」だから、要素集合と演算との組になっている
    • 要素集合は2^n個のベクトルのウェッジ積基底
    • 演算は「積」があって、その様相がそれぞれの代数を特徴づけるが、すべてに共通なのは、「線形和」ができるようになっていること〜「和」もあること
    • 「積」演算
      • 幾何代数では、「内積様のもの」+「ウェッジ積」
      • 外積代数の「積」は、「内積様のもの」が常に0であるような幾何代数の「積」演算ウェッジ積
      • クリフォード代数では、「内積様のもの」+「ウェッジ積」というのは同じで、「内積様のもの」の定義として「二次形式」と定めてある
        • 二次形式というのは、3変数ある時は、5x^2+3xy-y^2+2xz-z^2のように、すべての項が(0次か)2次であるようなもの。したがって、二つのベクトルv=(v1,...,vn)とu=(u1,...,un)があるときに、その内積はv1u1 + ... + vnunなので二次形式。vとuの二次形式として常に0を返すことにすれば、それも二次形式。したがって外積代数は、クリフォード代数のうち、内積様のものを定める二次形式が恒等的に0であるようなもののこと
        • 幾何代数では「内積様のもの」がまさに内積
    • もう一つだけ、幾何代数・クリフォード代数
      • 内積様なものとして二次形式を決めるとクリフォード・幾何・外の代数が決まると書いたが、積に関して「きれいな正規直交基底」をとったときに、すべての基底ペアの「積」は0になるが、それぞれの基底ベクトル自身の「積〜内積みたいなもの」〜「ノルム」として、1を想定するのが「普通」だけれど、1または-1を想定することにする(順序交換可能→行列としては対称行列→固有値分解→固有値の大小で適当にスケール変換、とすることで、±1だけを相手にすればよいことになる)
      • たとえば、基底が2つあって、片方の基底の二乗は1でもう片方の基底の二乗はー1であるとすれば、それは、Re+Imなる複素数のこと、というのを思い出せば、「ノルムが-1」の基底が『使えるやつ』であるのは想像がつく
      • このように考えたときに、n個の正規直交基底ベクトルのうちp個のノルムが1でn-p=q個のノルムが-1であるようなクリフォード代数が作れる。Cl(1,3)と言えば、ノルムが1のそれが1つ、ノルムが-1のそれが3つ。四元数はそうなっている
  • さて、ここまで見えてきたところで、幾何代数を使って3次元を5次元で表す話に戻る
    • そこで便利な幾何代数はCl(4,1)だという
    • しかも、-1の一つと+1の一つとをu,vとして、それらを組み合わせて1/2(u+v),1/2(u-v)にすると、これらは「ノルムが0」で、内積が-1になるという少し風変りな挙動をすることができる
    • これを使うと色々便利ですよ、じゃあ実際に、どう便利なの?という話(四元数の積が回転だったのと同じ流れで、回転が幾何代数でも積になったり…する)と、それを実装するとどうなるの?という話があって、それには、Gaigen2なる実装がある(こちら)ので、それを読んでみよう