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

四元数からクリフォード代数へ

四元数の拡張としてクリフォード代数を導入します。八元数とは拡張方法が異なります。

シリーズの記事です。

  1. テンソル積と双四元数
  2. 分解型四元数とベクトル
  3. 行列表現で考えるテンソル積
  4. 四元数からクリフォード代数へ ← この記事
  5. ケイリー=ディクソン構成と行列表現

目次

概要

四元数の基本構造を保ったまま、基底を自由に増やせるように拡張したのがクリフォード代数です。

クリフォード代数によって四元数とその亜種(分解型四元数・双四元数)が統一的に扱えるようになります。

クリフォード代数を使えば任意の項数の平方和の平方根が構成できます。

a_1^2+a_2^2+⋯+a_n^2=(a_1e_1+a_2e_2+⋯+a_ne_n)^2

クリフォード代数の表記は資料によって微妙な差異があります。この記事では Wikipedia に準拠します。表す対象は同じなので、何か1つ知っていれば読み替えで対応できます。

八元数四元数の拡張ですが、クリフォード代数とは拡張方法が異なります。八元数をクリフォード代数で表現することはできません。👉参考

四元数

四元数の基底には次の2つの積の規則があります。

  1. 内積:自分自身との積がスカラーになる $i ^ 2=j ^ 2=-1$
  2. 反交換性:積の交換で符号が反転 $ij=-ji$

積 $ij$ の組み合わせを便宜的に $k$ と表記します。

$k$ は $ij$ に分解すれば計算できます。

\begin{aligned} k^2&=(ij)^2=i\underbrace{ji}_{-ij}j=-iijj=-(-1)(-1)=-1 \\ jk&=jij=-ijj=-i(-1)=i \\ kj&=ijj=i(-1)=-i \\ ki&=iji=-iij=-(-1)j=j \\ ik&=iij=(-1)j=-j \end{aligned}

このように $k$ と表記していても、実質的には $i,j$ だけで計算しています。

表記の変更

後で基底を増やすことを念頭に $i,j$ を $e _ 1,e _ 2$ と表記します。計算ルールは同じです。

i^2=j^2=-1,\ ij=-ji\ →\ e_1^2=e_2^2=-1,\ e_1e_2=-e_2e_1

$k$ に相当する特別な表記はありません。積のまま $e _ 1e _ 2$ と書きます。

簡単な計算で表記を比較します。

(1+2i)(3j+4k)=3j+4k+6k-8j=-5j+10k
(1+2e_1)(3e_2+4e_1e_2)=3e_2+4e_1e_2+6e_1e_2-8e_2=-5e_2+10e_1e_2

どちらも同じ計算です。

四元数の拡張

$i,j$ から二次的に生成されるのではなく、一次的な基底として $k$ を追加してみます。

基底を $e _ 1,e _ 2,e _ 3$ と表記します。$e _ 1e _ 2$ と $e _ 3$ は無関係な別物です。

基底の2乗は $-1$ とします。

e_1^2=e_2^2=e_3^2=-1

積に同じ基底が含まれた場合、符号を反転させながら交換して離接させてから $-1$ にします。離れたままでは $-1$ にはなりません。

e_1e_2\underbrace{e_3e_1}_{\text{交換}}e_2 =-e_1\underbrace{e_2e_1}_{\text{交換}}\underbrace{e_3e_2}_{\text{交換}} =-\underbrace{e_1e_1}_{-1}\underbrace{e_2e_2}_{-1}e_3 =-e_3

バブルソートをご存知の方は連想すると良いかもしれません。

積によって複数個の基底の組み合わせが現れます。同じ基底が含まれることはないため、組み合わせは有限となります。

e_1,e_2,e_3,e_1e_2,e_2e_3,e_3e_1,e_1e_2e_3

この代数は分解型双四元数split-biquaternion)と呼ばれます。

※ 分解型という名称は直和分解できるという意味です。今回の範囲を超えるため、詳細は省略します。

グレードとベクトル空間の次元

積を構成する基底の数をグレード(次数)と呼びます。グレード 0 は $1$ を基底とします。グレード 1 の基底の数をベクトル空間の次元と呼びます。

※ 単に「次元」と呼ぶ場合、全グレードの基底の総数を表すことがあるため、区別のため「ベクトル空間の」を明記しました。

一覧表を示します。

グレード 基底 個数
0 $1$ $\binom30=1$
1 $e_1,e_2,e_3$ $\binom31=3$
2 $e_1e_2,e_2e_3,e_3e_1$ $\binom32=3$
3 $e_1e_2e_3$ $\binom33=1$

個数は各グレードごとの組み合わせの数で、二項係数の添え字はベクトル空間の次元とグレードです。

クリフォード代数

先に見たように、四元数の基本構造を保ったまま、基底を自由に増やせるように拡張したのがクリフォード代数です。

基底を2乗したときの値を計量と呼びます。$-1$ 以外に $1$ も使われます。

※ それ以外の値に設定することは可能ですが、通常は使用しません。

クリフォード代数は計量ごとのグレード 1 の基底の個数によって分類します。$Cℓ$ の添え字で、計量 $1$ の基底の個数、計量 $-1$ の基底の個数を表します。その後に括弧書きで係数の型を示します。

【例】$Cℓ _ {p,q}(\mathbb R)$ 計量 $1$ の基底が $p$ 個、計量 $-1$ の基底が $q$ 個、係数は実数 $\mathbb R$

※ 添え字の順番を逆に書く流儀もあります。その資料がどちらの流儀を使用しているかに注意する必要があります。

四元数は計量 $-1$ の基底が2個で、係数は実数 $\mathbb R$ のため $Cℓ _ {0,2}(\mathbb R)$ となります。基底を1つ増やした例は $Cℓ _ {0,3}(\mathbb R)$ です。

計量 $1$ の基底のみの場合、添え字のコンマ以降を省略することがあります。また、実数係数を表す $(\mathbb R)$ も省略することがあります。

【例】$Cℓ _ 2$ や $Cℓ _ 2(\mathbb R)$ は $Cℓ _ {2,0}(\mathbb R)$ の意味

平方和の平方根

クリフォード代数を使えば任意の項数の平方和の平方根が構成できます。

$n$ 個の項なら $Cℓ _ {n,0}(\mathbb R)$ で表現できます。

a_1^2+a_2^2+⋯+a_n^2=(a_1e_1+a_2e_2+⋯+a_ne_n)^2

分解型四元数

分解型四元数は $Cℓ _ {2,0}(\mathbb R)$ です。

e_1^2=e_2^2=1

グレード一覧と対応する分解型四元数を示します。

グレード 基底 個数 対応
0 $1$ $\binom20=1$ $1$
1 $e_1,e_2$ $\binom21=2$ $j,k$
2 $e_1e_2$ $\binom22=1$ $i$

$e _ 1e _ 2$ の2乗を確認します。

(e_1e_2)^2=e_1\underbrace{e_2e_1}_{\text{交換}}e_2=-\underbrace{e_1e_1}_1\underbrace{e_2e_2}_1=-1

四元数

四元数は $Cℓ _ {3,0}(\mathbb R)$ です。

e_1^2=e_2^2=e_3^2=1

グレード一覧と対応する双四元数を示します。

グレード 基底 個数 対応
0 $1$ $\binom30=1$ $1$
1 $e_1,e_2,e_3$ $\binom31=3$ $hi,hj,hk$
2 $e_1e_2,e_2e_3,e_3e_1$ $\binom32=3$ $-k,-i,-j$
3 $e_1e_2e_3$ $\binom33=1$ $h$

グレード 2 と 3 の対応を示します。

\begin{aligned} e_1e_2\ &→\ hihj=(hh)(ij)=-k \\ e_2e_3\ &→\ hjhk=(hh)(jk)=-i \\ e_3e_1\ &→\ hkhi=(hh)(ki)=-j \\ e_1e_2e_3\ &→\ hihjhk=h(hh)(ijk)=h \end{aligned}

※ 慣れるまでは $hi$ のように複合して表記されると単独の $i$ よりもグレードが高いような気がして混乱します。

偶部分代数

四元数から偶数グレードだけを抜き出すと四元数になります。

グレード 基底 個数 対応
0 $1$ $\binom30=1$ $1$
2 $e_3e_2,e_1e_3,e_2e_1$ $\binom32=3$ $i,j,k$

※ 基底の組み合わせを逆にすることで対応する四元数にマイナスが付かないようにしています。

このように偶数グレードだけで構成された代数を偶部分代数と呼びます。

クリフォード代数の分類では $Cℓ _ {3,0} ^ 0(\mathbb R)$ のように右上に $0$ を書くことで偶部分代数であることを示します。

このように四元数は $Cℓ _ {0,2}(\mathbb R)$ と $Cℓ _ {3,0} ^ 0(\mathbb R)$ の2つの表現方法があります。このような関係を同型と呼びます。

四元数の虚部で3次元ベクトル空間を表現する場合、$Cℓ _ {3,0} ^ 0(\mathbb R)$ はベクトル空間が3次元となりグレードが揃うため扱いやすいです。

分解型四元数は $Cℓ _ {2,0}(\mathbb R)$ なので、2次元ベクトル空間を表現するのに適しています。

※ 分解型の代数を直和分解して右上に $+,-$ で示す資料があります:$Cℓ _ {2,0} ^ +(\mathbb R)$

複素クリフォード代数

複素数係数のクリフォード代数を複素クリフォード代数と呼びます。

複素クリフォード代数では基底の計量は $-1$ とするため、$Cℓ _ 1(\mathbb C)$ のように添え字は1つしか書きません。

※ 資料によっては複素の $\mathbb C$ を $Cℓ$ に掛け合わせて $\mathbb Cℓ _ 1$ と表記するものがあります。

$Cℓ _ 0(\mathbb C)$ はグレード 0 の $1$ に複素数の係数を付けたもので、複素数そのものです。

グレード 基底 個数
0 $1$ $\binom00=1$

$Cℓ _ 1(\mathbb C)$ は係数と基底で $\mathbb C⊗\mathbb C$ のテンソル積となり、双複素数を表します。

グレード 基底 個数 対応
0 $1$ $\binom10=1$ $1$
1 $e_1$ $\binom11=1$ $j$

$Cℓ _ 2(\mathbb C)$ の基底 $e_1,e_2$ は $Cℓ _ {0,2}(\mathbb R)$ と同じで、係数を複素数にしたものです。$Cℓ _ {0,2}(\mathbb R)$ は四元数を表すため、係数の複素数とのテンソル積 $\mathbb C⊗\mathbb H$ によって双四元数となります。

グレード 基底 個数 対応
0 $1$ $\binom20=1$ $1$
1 $e_1,e_2$ $\binom21=2$ $i,j$
2 $e_1e_2$ $\binom22=1$ $k$

四元数を表現する $Cℓ _ 2(\mathbb C)$ と $Cℓ _ {3,0}(\mathbb R)$ は同型です。偶部分代数として四元数を含む $Cℓ _ {3,0}(\mathbb R)$ の方が扱いやすいです。

まとめ

クリフォード代数を一覧表にまとめます。元素表みたいですね。

分類 名称 偶部分代数 名称
$Cℓ _ {0,0}(\mathbb R)$ 実数
$Cℓ _ {1,0}(\mathbb R)$ 分解型複素数 $Cℓ _ {1,0} ^ 0(\mathbb R)$ 実数
$Cℓ _ {2,0}(\mathbb R)$ 分解型四元数 $Cℓ _ {2,0} ^ 0(\mathbb R)$ 複素数
$Cℓ _ {3,0}(\mathbb R)$ 四元数 $Cℓ _ {3,0} ^ 0(\mathbb R)$ 四元数
$Cℓ _ {3,1}(\mathbb R)$ 時空代数 $Cℓ _ {3,1} ^ 0(\mathbb R)$ 四元数
$Cℓ _ {0,1}(\mathbb R)$ 複素数 $Cℓ _ {0,1} ^ 0(\mathbb R)$ 実数
$Cℓ _ {0,2}(\mathbb R)$ 四元数 $Cℓ _ {0,2} ^ 0(\mathbb R)$ 複素数
$Cℓ _ {0,3}(\mathbb R)$ 分解型双四元数 $Cℓ _ {0,3} ^ 0(\mathbb R)$ 四元数
$Cℓ _ {1,3}(\mathbb R)$ 時空代数 $Cℓ _ {1,3} ^ 0(\mathbb R)$ 四元数
$Cℓ _ 0(\mathbb C)$ 複素数
$Cℓ _ 1(\mathbb C)$ 複素数 $Cℓ _ 1 ^ 0(\mathbb C)$ 複素数
$Cℓ _ 2(\mathbb C)$ 四元数 $Cℓ _ 2 ^ 0(\mathbb C)$ 複素数

基底の数は任意に増やせるので、これに限りません。自分で代数を作って遊んでみると良いでしょう。

所々に同型が出て来ますが、乗積表を作って確認するのも良いでしょう。

資料

以下のサイトに掲載されている spin1.pdf では、クリフォード代数の構成法が詳しく説明されています。

【注意】この記事とはクリフォード代数の分類の表記が異なります。実クリフォード代数の添え字は逆です:$Cℓ _ {p,q}(\mathbb R),Cℓ _ q(\mathbb C)→Cl _ {q,p},\mathbb Cl _ q$

Wikipedia と併せて読んでみると良いでしょう。