幾何学的代数勉強会#7 実施報告(8章 共形空間と共形幾何学−幾何学的代数:中編)

この投稿は連載:「幾何学的代数勉強会」(全8回)の第8回です。


今回のテーマは「幾何学と代数系」の第8章から、「共形空間と共形幾何学−幾何学的代数:中編」です。双対の際に出てくる符号、外積の定義、幾何学的代数を使用した場合の計算量など多くの話題について議論しました。久しぶりにGAViewerのスクリプトも載せています。

勉強会の内容

  • GAViewerの使い方
    • default_model(c3ga); と宣言しておかないと単純にniと書いても未定義の\(0\)として扱われて、\(e_\infty\)として扱われない。要注意。
    • \(V p V^\dagger\)の計算: 「(-1)^k V p / V」で表現できる。記号「/」はインバースをとったものの幾何学積。
    • 単にインバースをとりたいだけの場合は「!V」のようにする。
    • ちなみに縮約は以前にも出てきた関数「lcont(a, b)」を使う。
  • タイポの修正(使用しているのは第1版2刷)
    • p.177 式(8.53) \(\frac{1}{2}(xy+xy)\)は正しくは\(\frac{1}{2}(xy+yx)\)。
    • p.184 式(8.85) 式展開中に \(-h^2(-2-e_0e_\infty)e_\infty = 2h^2 e_\infty+e_0e_\infty^2e_\infty\)となっているが右辺の最終項は正しくは\(h^2e_0e_\infty\)
    • p.185 式(8.89) \(1+h\mathbf{n}e_\infty-h’\mathbf{n}e_\infty\mathbf{n}\)の最後の\(\mathbf{n}\)が余計で、正しくは\(1+h\mathbf{n}e_\infty-h’\mathbf{n}e_\infty\)(正誤表に記載あり)
  • 議論1 p.172 式(8.38)の双対の定義でマイナスはつくのか?
    • 式(8.38)では \((\cdots)^* = -(\cdots)\cdot I_5\) のように符号がマイナスになっている。
    • p.145 式(7.44)下の「\(n\)次元空間では双対を\((-1)^{n(n-1)/2}(\cdots)\cdot I_n\)と定義するので」の式に\(n=5\)を代入すると符号が+になるはずではないか?
    • 符号が変わってもその後の議論には影響が無いように見えるのでプラスが正しいのでは?(勉強会動画内の議論はここまで)
    • 勉強会後のSlackでの議論で結論が変わった。
    • 双対にマイナスをつけた形にしておくことで、\(I_5^* = – I_5\cdot I_5 = 1\) となる。マイナスが付いている方が正しそうだという結論。
  • 議論2 p.177 式(8.55)で外積を「反対称化によって定義」されているが、1/2や1/6等の係数がなぜつくのかがわからない。
    • 係数のつき方としてはp.116 式(6.22)と似ている。
    • \(a_i \ (i=1,2,\cdots,k)\)が直交の時、
      \[
      a_1 \wedge a_2 \wedge \cdots \wedge a_k = a_1 a_2 \cdots a_k
      \]
      となるので、
      \[
      x \wedge y \wedge z \wedge w = \frac{1}{24}(xyzw+xyzw+ \cdots + xyzw) = xyzw
      \]
      のようにするために係数が必要なのではないか?
    • p.117 式(6.30) と同様の\(aB= a\wedge B + a\cdot B\)が成立するために必要なのではないか。
    • p.177 式(8.53)と同様にして式(8.55)を展開するとどうなるか。勉強会中では説明できなかったため清書する。最終的に内積と外積の和が幾何学積と一致することを示した。
      \[
      \begin{align}
      x\wedge y &\equiv \dfrac {1}{2}\left( xy-yx\right) \\
      &=\dfrac {1}{2}\bigl\{ \left( y_{0}\mathbf{x}-x_{0}\mathbf{y}\right)e_{0}+\mathbf{xy}+x_{0}y_{\infty}e_{0}e_{\infty }+x_{\infty }y_{0}e_{\infty}e_{0}+\left(y_{\infty }\mathbf{x}-x_{\infty }\mathbf{y}\right)e_\infty \\
      &\ – \left( x_{0}\mathbf{y}-y_{0}\mathbf{x}\right)e_{0} – \mathbf{yx} – y_{0}x_{\infty}e_{0}e_{\infty } – y_{\infty }x_{0}e_{\infty}e_{0} – \left(x_{\infty }\mathbf{y} – y_{\infty }\mathbf{x}\right)e_\infty\bigr\} \\
      &= \dfrac {1}{2}\bigl\{ 2\left( y_{0}\mathbf{x}-x_{0}\mathbf{y}\right)e_{0}+\mathbf{xy}-\mathbf{yx} \\
      &\ + x_{0}y_{\infty} ( e_{0}e_{\infty } – e_{\infty }e_{0} )+x_{\infty }y_{0}(e_{\infty}e_{0}-e_{0}e_{\infty} ) + 2\left(y_{\infty }\mathbf{x}-x_{\infty }\mathbf{y}\right)e_\infty \bigr\}
      \end{align}
      \]
      式(8.50)より\(e_\infty e_0 = -2-e_0e_\infty,\ e_0e_\infty = -2-e_\infty e_0\)を使い、以下のように計算を続ける。
      \[
      \begin{align}
      &= \dfrac {1}{2}\bigl\{ 2\left( y_{0}\mathbf{x}-x_{0}\mathbf{y}\right)e_{0}+\mathbf{xy}-\mathbf{yx} \\
      &\ + x_{0}y_{\infty} ( 2 + 2 e_0 e_\infty )+x_{\infty }y_{0}(2+2e_\infty e_0) + 2\left(y_{\infty }\mathbf{x}-x_{\infty }\mathbf{y}\right)e_\infty \bigr\} \\
      &= ( y_{0}\mathbf{x}-x_{0}\mathbf{y})e_{0}+\dfrac {1}{2}(\mathbf{xy}-\mathbf{yx}) + x_0y_\infty e_0 e_\infty +x_\infty y_0 e_\infty e_0 \\
      &\ + \left(y_\infty \mathbf{x}-x_\infty \mathbf{y}\right)e_\infty + x_0y_\infty +x_\infty y_0
      \end{align}
      \]
      上式に加え、式(8.53), (8.54)より内積と外積の和を計算すると以下のようになる。
      \[
      \begin{align}
      \langle x,y \rangle &+ x\wedge y \\
      &= \left\{\dfrac{1}{2}(\mathbf{xy}+\mathbf{yx}) – x_0 y_\infty – x_\infty y_0 \right\} + \Bigl\{ ( y_{0}\mathbf{x}-x_{0}\mathbf{y})e_{0}+\dfrac {1}{2}(\mathbf{xy}-\mathbf{yx}) \\
      &\ + x_0y_\infty e_0 e_\infty +x_\infty y_0 e_\infty e_0 + \left(y_\infty \mathbf{x}-x_\infty \mathbf{y}\right)e_\infty + x_0y_\infty +x_\infty y_0 \Bigr\} \\
      &= ( y_{0}\mathbf{x}-x_{0}\mathbf{y})e_{0} + \mathbf{xy} + x_0 y_\infty e_0 e_\infty +x_\infty y_0 e_\infty e_0 + \left(y_\infty \mathbf{x}-x_\infty \mathbf{y}\right) \\
      &= xy
      \end{align}
      \]
      最後の式は式(8.52)の幾何学積の計算結果と一致する。
  • 議論3 p.184 式(8.85) の式変換で\(e_\infty e_0 e_\infty = (-2-e_0e_\infty)e_\infty\) の式変換が思いつかない。
    • 量子力学では似たような変換がよく出てくる。順序を入れ替えるためによく使われるテクニック。物理でもクリフォード代数が出てくる。幾何学的代数を提唱したヘステネスも物理の領域の人。
    • (内容についていけなかったので興味のある方は動画の38:00〜45:00あたりを見てください)
  • 議論4 並進・回転は鏡映を合成した変換。
    • 並進と回転は基本的な変換に見えて、鏡映の合成で表せる点が面白い。
    • 回転と並進の合成である 運動子 = Motor。アフィン変換に相当する。
  • 議論5 計算量
    • 幾何学的代数を使うことにより計算量は減るのか?
    • 行列を使う場合は逆行列の計算の計算量が大きい。
    • 5次元の場合、32の基底を扱うことになる。ただし、扱う対象は直線や平面など限定されたケースが多く、基底の数はずっと少なくなる。計算量をそれほど増やさずにとても扱いやすくなる。
    • 四元数のように対数表現を扱うことで補間も容易になる。
    • 線形代数でカリカリにチューニングしたほうが早いが、それと比較してワーストケースで2割以上遅くなる場合はアルゴリズム自体が悪いと考えられる。
    • できることは増える。速くなるとは限らない。速くなるケースもある。
  • 今後の勉強会
    • 応用について見ていきたい。Dorst本や公開されているチュートリアルPDF(ロボットアームの例)などを扱っていきたい。

動画

GAViewerでの確認

GAViewerで動作確認をしながら教科書を読んだのでコマンド一覧をGistに残しておきます。default_model(c3ga)やインバース幾何学積「/」を使いながら記述しています。

勉強会での取り組み

    • ペンタブの調子が悪かった参加者の環境(Windows)でドライバの再インストールを試みたところ調子が良くなったようです。今回の動画ではそれほど重くなることもなく文字を書けています。これで一旦ホワイトボード問題は解決かと思います。
      • ちなみに私はUbuntu16.04 x Gnome上で特に問題なく使用できています。
      • ドライバが問題だとすると参加者一人の問題によって全員に影響を与えるという結論になるので、それはそれで問題ですが・・・。

次回

次回のテーマは幾何学と代数系 第8章「共形空間と共形幾何学−幾何学的代数−(後編 )」です。次回で教科書「幾何学と代数系」を終えて、応用の世界に飛び出そうと思います。どんな世界が待っているんでしょうか。

シリーズ:幾何学的代数勉強会<< 幾何学的代数勉強会#6 実施報告(8章 共形空間と共形幾何学−幾何学的代数:前編)幾何学的代数勉強会#8 実施報告(8章 共形空間と共形幾何学−幾何学的代数:後編) >>

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

20 + twelve =

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください