【お知らせ】プログラミング記事の投稿はQiitaに移行しました。

クリフォード代数によるベクトル三重積

クリフォード代数でベクトル三重積を計算します。

目次

この記事はクリフォード代数の初歩(幾何積とグレード)を前提とします。前提となる事項については以下の記事を参照してください。

この記事は以下の記事の前半部分をクリフォード代数で書き直したものです。

概要

3 次元ベクトルにはベクトル三重積という演算があります。

a×(b×c)=(a⋅c)b-(a⋅b)c

クリフォード代数ではベクトルと擬ベクトルを区別する関係上、ベクトル三重積に対応する計算では符号が反転します。

a⌋(b∧c)=-(a⋅c)b+(a⋅b)c

※ この表現は 3 次元に依存していないため、一般の次元で使用することが可能です。ただし $n$ 次元の擬ベクトルはグレード $n-1$ となるため、3 次元以外では $b∧c$ は擬ベクトルではありません。

ホッジ双対によってベクトル積が表現できます。これによってベクトル三重積と同じ結果が得られます。

⋆\{a∧⋆(b∧c)\}=(a⋅c)b-(a⋅b)c

積の分類

クリフォード代数の元 $a$ のグレードを $\#a$ と表記します。

一般に幾何積 $ab$ には $|\#a-\#b|$ から $(\#a+\#b)$ までの異なるグレードの元が含まれます。

幾何積 $ab$ に含まれる元のうち、よく使われるグレードを抜き出して演算子を割り当てます。

  • グレード $0$(スカラー):内積 $a⋅b\quad(\#a=\#b)$
  • グレード $(\#a+\#b)$:外積(ウェッジ積) $a∧b$
  • グレード $(\#a-\#b)$:(右)内部積 $a⌊b\quad(\#a>\#b)$
  • グレード $(\#b-\#a)$:(左)内部積 $a⌋b\quad(\#a<\#b)$

※ 内部積の左右の区別は、演算子の足の向きでグレードが低い元を指します。

同じグレードだけで構成されている元のグレードを、上付きの括弧添字で表します。

v^{(0)},v^{(1)},v^{(2)},v^{(3)}

例えばグレード 1 同士の幾何積は内積外積で構成されます。

v^{(1)}w^{(1)}=\underbrace{v^{(1)}⋅w^{(1)}}_{\text{グレード 0}}+\underbrace{v^{(1)}∧w^{(1)}}_{\text{グレード 2}}

演算子の割り当てはパターンを網羅しているわけではありません。例えばグレード 2 同士の幾何積にはグレード 2 の元が含まれます。

v^{(2)}w^{(2)}=\underbrace{v^{(2)}⋅w^{(2)}}_{\text{グレード 0}}+\underbrace{(v^{(2)}w^{(2)}-v^{(2)}⋅w^{(2)}-v^{(2)}∧w^{(2)})}_{\text{グレード 2}}+\underbrace{v^{(2)}∧w^{(2)}}_{\text{グレード 4}}

ベクトル積との対応

ベクトル積は次元に依存した演算のため、ここでは 3 次元に限定します。

クリフォード代数ではベクトル(グレード 1)と擬ベクトル(グレード 2)の区別があるため、ベクトル積 $v×w$ に対応する演算は 4 種類あります。どの演算も交換子で表現できます。

\begin{aligned} v^{(1)}∧w^{(1)} &=\frac{v^{(1)}w^{(1)}-w^{(1)}v^{(1)}}2 \\ v^{(1)}⌋w^{(2)} &=\frac{v^{(1)}w^{(2)}-w^{(2)}v^{(1)}}2 \\ v^{(2)}⌊w^{(1)} &=\frac{v^{(2)}w^{(1)}-w^{(1)}v^{(2)}}2 \\ v^{(2)}w^{(2)}-v^{(2)}⋅w^{(2)} &=\frac{v^{(2)}w^{(2)}-w^{(2)}v^{(2)}}2 \end{aligned}

擬ベクトルと擬ベクトルの幾何積にはスカラーと擬ベクトルが含まれます。そこからスカラーを取り除いたものがベクトル積に対応します。偶部分代数としての四元数や、ベクトル四重積と関係があります。

ベクトル三重積

$a,b,c$ をグレード 1(ベクトル)とします。煩雑になるため添字によるグレードの表記は省略します。

クリフォード代数でベクトル三重積 $a×(b×c)$ に対応する計算を考えます。

最初に計算する $b×c$ はウェッジ積 $b∧c$ に対応します。これはグレード 2(擬ベクトル)のため、次に計算するベクトル積は左のグレードが低い内部積となります。

a⌋(b∧c)

交換子によって計算を進めます。内積を構成するのに必要な項を補います(赤字部分)。

\begin{aligned} &a⌋(b∧c) \\ &=\frac{a⌋(bc-cb)}2 \\ &=\frac{a(bc-cb)-(bc-cb)a}4 \\ &=\frac{abc-acb-bca+cba}4 \\ &=\frac{abc-acb-bca+cba\textcolor{red}{+bac-bac+cab-cab}}4 \\ &=\frac{abc+bac+cab+cba-acb-cab-bac-bca}4 \\ &=\frac{(ab+ba)c+c(ab+ba)-(ac+ca)b-b(ac+ca)}4 \\ &=\frac{(a⋅b)c+c(a⋅b)-(a⋅c)b-b(a⋅c)}2 \\ &=(a⋅b)c-(a⋅c)b \end{aligned}

※ 結果が $b$ と $c$ の線形結合によるベクトルであることは、$b∧c$ で表される面の上にあることを意味します。具体的には $a$ を $b∧c$ に射影して 90 度回転したベクトルとなります。

これは通常のベクトル三重積とは符号が逆です。

a×(b×c)=(a⋅c)b-(a⋅b)c

具体例

簡単な例で符号の反転を確認します。

\begin{aligned} e_1×(e_1×e_2)&=e_1×e_3=-e_2 \\ e_1⌋(e_1∧e_2)&=e_{112}=e_2 \end{aligned}

※ $e _ {112}$ は $e _ 1 e _ 1 e _ 2$ の略記です。

ホッジ双対

ベクトルと擬ベクトルはホッジ双対と呼ばれる関係にあります。ホッジ双対への変換はホッジスター $⋆$ によって表します。

3 次元の例を示します。これらの結果は 3 次元に依存しているため、別の次元では異なる結果になります。

\begin{aligned} ⋆v^{(0)} &=v^{(0)}e_{123} \\ ⋆v^{(1)} &=⋆(v_1e_1+v_2e_2+v_3e_3) \\ &=v_1e_{23}+v_2e_{31}+v_3e_{12} \\ ⋆v^{(2)} &=⋆(v_{23}e_{23}+v_{31}e_{31}+v_{12}e_{12}) \\ &=v_{23}e_1+v_{31}e_2+v_{12}e_3 \\ ⋆v^{(3)} &=⋆v_{123}e_{123} \\ &=v_{123} \end{aligned}

※ $v$ の成分の添字は対応する基底を表します。例えば $v _ {12}$ は $e _ {12}$ の成分であることを表しますが、基底のように $v _ 1 v _ 2$ を略記したわけではありません。添字でグレードが分かるため、上付き括弧でのグレードの表示は省略しました。ホッジ双対に変換する前の基底を示すため、変換した後も添字はそのままにしています。

ホッジ双対は $e _ {123}$ との幾何積の符号を調整することで表現できます。

\begin{aligned} ⋆v^{(0)}=e_{123}v^{(0)} &=v^{(0)}e_{123} \\ ⋆v^{(1)}=e_{123}v^{(1)} &=e_{123}(v_1e_1+v_2e_2+v_3e_3) \\ &=v_1e_{23}+v_2e_{31}+v_3e_{12} \\ ⋆v^{(2)}=-e_{123}v^{(2)} &=-e_{123}(v_{23}e_{23}+v_{31}e_{31}+v_{12}e_{12}) \\ &=v_{23}e_1+v_{31}e_2+v_{12}e_3 \\ ⋆v^{(3)}=-e_{123}v^{(3)} &=-v_{123}{e_{123}}^2 \\ &=v_{123} \end{aligned}

※ クリフォード代数の資料では、${e _ {123}} ^ 2=-1$ より $i:=e _ {123}$ として虚数単位と同一視することがあります。

なお、$e _ {123}$ はベクトルと交換します。

e_{123}v^{(1)}=v^{(1)}e_{123}

ベクトル積の表現

ホッジ双対によって擬ベクトルをベクトルに変換すれば、ベクトル積が表現できます。

v×w=⋆(v∧w)

ベクトル三重積

ホッジ双対を使ってベクトル三重積を計算します。

\begin{aligned} &a×(b×c) \\ &=⋆\{a∧⋆(b∧c)\} \\ &=⋆\frac{a∧⋆(bc-cb)}2 \\ &=⋆\frac{a\{⋆(bc-cb)\}-\{⋆(bc-cb)\}a}4 \\ &=⋆\frac{a\{⋆(bc)\}-a\{⋆(cb)\}-\{⋆(bc)\}a+\{⋆(cb)\}a}4 \\ &=-⋆e_{123}\frac{abc-acb-bca+cba}4 \\ &=-⋆e_{123}\frac{abc-acb-bca+cba\textcolor{red}{+bac-bac+cab-cab}}4 \\ &=-⋆e_{123}\frac{abc+bac+cab+cba-acb-cab-bac-bca}4 \\ &=-⋆e_{123}\frac{(ab+ba)c+c(ab+ba)-(ac+ca)b-b(ac+ca)}4 \\ &=-⋆e_{123}\frac{(a⋅b)c+c(a⋅b)-(a⋅c)b-b(a⋅c)}2 \\ &=⋆e_{123}\{(a⋅c)b-(a⋅b)c\} \\ &=⋆⋆\{(a⋅c)b-(a⋅b)c\} \\ &=(a⋅c)b-(a⋅b)c \end{aligned}