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

八元数と7次元の外積

12月4日は八元数の第一発見者ジョン・グレイヴスの誕生日です。誕生日を記念して、八元数と密接に関係する7次元の外積について書きます。

グレイヴスとは独立に八元数を発見したアーサー・ケイリーケイリー・ハミルトンの定理のケイリー)が先に発表しましたが、発見自体はグレイヴスが先でした。

【追記:2018.02.07】八元数で使用していた $h$ を $ℓ$ に変更しました。

目次

外積

ベクトルの掛け算の一種として外積という演算があります。

\vec{a}×\vec{b}=\left(\begin{matrix}a_1\\a_2\\a_3\end{matrix}\right)×\left(\begin{matrix}b_1\\b_2\\b_3\end{matrix}\right)=\left(\begin{matrix}a_2b_3-a_3b_2\\a_3b_1-a_1b_3\\a_1b_2-a_2b_1\end{matrix}\right)

外積と呼ばれる演算にはいくつか種類があり、区別する際に上記の演算はベクトル積(クロス積)と呼び分けます。今回の記事では特に断らなければ外積はベクトル積を指します。

今回の記事では、外積が3次元と7次元でしか定義できないことと、それが四元数八元数に関係することについて説明します。

複素数と関連付けて1次元の外積を定義することもできますが、常に0になるためここでは除外します。

まず3次元での外積について説明します。

直交

外積には直交に関する性質があります。

$\vec{a}×\vec{b}=\vec{c}$ において、$\vec{c}$ は $\vec{a}$ と $\vec{b}$ にそれぞれ直交します。$\vec{a}$ と $\vec{b}$ が直交している必要はありません。

f:id:n7shi:20171204234203p:plain

言い換えると、ベクトル積とは2本のベクトルに直交するベクトルを求める演算です。

ウェッジ積

外積の直交に関する性質は、間にワンステップ挟むとよりはっきりします。

$\vec{a}$ と $\vec{b}$ によって張られる平行四辺形を考え $\vec{a}∧\vec{b}$ と表記します。

f:id:n7shi:20171204234235p:plain

$∧$ はウェッジと読み、ウェッジによって表される演算はウェッジ積と呼ばれる外積の一種です。実はウェッジ積の方がベクトル積よりも適用範囲が広い一般化された外積ですが、そのことは後述します。

ホッジスター

平行四辺形の面に対する法線ベクトルを考え $\star(\vec{a}∧\vec{b})$ と表記します。$\star$ はここでは法線を取る操作を表しホッジスター(ホッジ作用素)と呼びます。

※ ホッジスターのきちんとした定義は、今回の範囲を超えるため省略します。

ホッジスターによって表される法線ベクトルの長さは、元となった平行四辺形の面積と同じになると定義します。実はこれはベクトル積が満たしている性質です。

f:id:n7shi:20171204234258p:plain

このように、ベクトル積はウェッジ積とホッジスターを組み合わせた操作だと捉えることで、直交や面積についての性質がよりはっきりします。

たとえば平行なベクトル(同じか逆方向)同士の外積は0になりますが、平行四辺形が潰れてしまうためだとイメージできます。

f:id:n7shi:20171205141729p:plain

右手系・左手系

法線は上下の2つの向きに引くことができます。これには任意性がありますが、右手系・左手系として区別されます。

f:id:n7shi:20171204234512p:plain

判別にも使えるため、名前の由来を説明します。

$\vec{a}×\vec{b}=\vec{c}$ において、$\vec{a}$ を右手の親指、$\vec{b}$ を右手の人差し指に割り当てます。中指を人差し指と直交するように折り曲げた方向が右手系における法線の向きです。

f:id:n7shi:20171204234625p:plain

同じことを左手でやれば逆向きになります。

f:id:n7shi:20171204234641p:plain

座標系

座標系には基底の方向に応じて右手系か左手系の区別があります。

f:id:n7shi:20171205125521p:plain

ベクトル積は座標系に応じて向きが変わります。

※ 同様にウェッジ積にも向きがあり、面の表裏のようなものだと考えられます。今回の範囲を超えるため詳細は省略します。

擬ベクトル

ベクトル積の向きは座標系に依存しますが、このような性質を持つベクトルを擬ベクトル(軸性ベクトル)と呼びます。直観的には擬ベクトルは実体を持ったベクトルではなく、面を法線で代用した擬似的な(仮の)ベクトルであるとイメージできます。

次元

ここまではすべて3次元を前提とした説明でした。

ベクトル積は2本のベクトルに直交するベクトルを求める演算でしたが、これは右手系・左手系だけでなく次元にも依存しています。そのことを説明します。

2次元

面の法線は、面に垂直に立っています。しかし2次元空間は同一平面が空間のすべてのため、そこに垂直な方向と言うのは存在しません。言い換えると、面に垂直に立てようとすると2次元空間からはみ出してしまいます。そのため2次元ではベクトル積は定義できません。

それに対して2本のベクトルから平行四辺形を求めることは可能のため、ウェッジ積は定義できます。このようにベクトル積よりもウェッジ積の方が適用範囲が広く、より一般化された外積だと言えます。

なお、2次元では1本のベクトルに対して直交するベクトルが求められます。向きに任意性があるのは法線ベクトルと同様ですが、逆向きのベクトルは同一視して片方だけ示します。

f:id:n7shi:20171204234724p:plain

2本のベクトルに対して垂直なベクトルを求めようとすれば空間からはみ出しますが、1本ならOKということです。

3次元

今まで見て来たように、ベクトル積によって2本のベクトルに直交するベクトルが求まります。

それでは2次元ではできた1本のベクトルに対する直交ベクトルはどうでしょうか?クルクル回って方向が定まりません。

f:id:n7shi:20171204234741p:plain

2次元では直交するベクトルを求めるためには1本のベクトルで足りましたが、3次元では2本が必要になるということです。これを一般化すれば $n$ 次元では直交するベクトルを求めるために $n-1$ 本のベクトルが必要だということになります。

4次元

既に一般化してしまったので結論は出ています。直交するベクトルを求めるには3本のベクトルが必要なため、二項演算であるベクトル積は定義できません。4次元空間をイメージするのは困難ですが、3次元で1本のベクトルに直交するベクトルが定まらないことから類推してください。

それに対して2本のベクトルから平行四辺形を求めることは可能のため、ウェッジ積が定義できるのは2次元と同様です。このようにウェッジ積は任意次元で定義されるため、一般化された外積だと言われます。

7次元

4次元以上では原理的にベクトル積は定義できません。それは7次元でも同じです。

しかし八元数を用いれば7次元でもベクトル積を定義することができます。これは一体どういうことなのでしょうか?

四元数

八元数の説明に必要な範囲で簡単に四元数を説明します。

複素数は実数に $i ^ 2=-1$ となる虚数単位 $i$ を追加したものです。複素数の性質として積が閉じていることが重要です。具体的には複素数の掛け算が複素数に収まるということです。

(\underbrace{a_0}_{\text{実部}}+\underbrace{a_1i}_{\text{虚部}})(\underbrace{b_0}_{\text{実部}}+\underbrace{b_1i}_{\text{虚部}})=\underbrace{a_0b_0-a_1b_1}_{\text{実部}}+\underbrace{(a_0b_1+a_1b_0)i}_{\text{虚部}}

同じ要領で $i$ とは別の虚数単位 $j$ を追加して積を計算してみます。

\begin{aligned} &(a_0+a_1i+a_2j)(b_0+b_1i+b_2j) \\ &=a_0(b_0+b_1i+b_2j) \\ &\quad +a_1i(b_0+b_1i+b_2j) \\ &\quad +a_2j(b_0+b_1i+b_2j) \\ &=a_0b_0+a_0b_1i+a_0b_2j \\ &\quad +a_1b_0i+a_1b_1\underbrace{i^2}_{-1}+a_1b_2ij \\ &\quad +a_2b_0j+a_2b_1\underbrace{ji}_{ij}+a_2b_2\underbrace{j^2}_{-1} \\ &=(a_0b_0-a_1b_1-a_2b_2) \\ &\quad +(a_0b_1+a_1b_0)i \\ &\quad +(a_1b_2+a_2b_1)ij \\ &\quad +(a_0b_2+a_2b_0)j \\ \end{aligned}

よく分からない $ij$ という項が現れました。これは $i$ でも $j$ でもありません。

※ これは三元数が存在しないことと関係があります。今回の範囲を超えるため詳細は省略します。

$ij=k$ として別の虚数単位 $k$ を導入すれば、四元数のようなものができます。

$i$ と $j$ は2乗すれば $-1$ になるので、虚数単位として同じ性質を持たせるという観点から $k$ にもそのような性質を期待します。しかし単純に計算すると $-1$ にはなりません。

k^2=(ij)^2=ij ij=ii jj=(-1)(-1)=1

【注】これは四元数ではありません。複素数をネストさせたという意味で双複素数と呼ばれます。今回の範囲を超えるため詳細は省略します。

反交換性

$k ^ 2=-1$ にするために $ij=-ji$ というルールを追加します。この性質は $i$ と $j$ を交換すると符号が転するということから反交換性と呼びます。

k^2=(ij)^2=i\underbrace{ji}_{-ij}j=-ii jj=-(-1)(-1)=-1

このようにして虚数単位を $i,j,k$ の3本立てにすることで複素数を拡張したのが四元数です。

演算規則

今まで出て来た以下の規則から他のすべての演算規則が導けます。

i^2=j^2=k^2=-1,\ ij=-ji=k

確認します。

\begin{aligned} jk=jij=-ij j=i,\ kj=ij j=-i\ &⇒\ jk=-kj=i\\ ki=iji=-ii j=j,\ ik=ii j=-j\ &⇒\ ki=-ik=j \end{aligned}

異なる虚数単位すべての組み合わせで反交換性が確認できました。

巡回性

上の結果から、異なる虚数単位同士の積は別の虚数単位に変化することが分かります。これは積が閉じていることを意味します。

ij=k,\ jk=i,\ ki=j

この関係をよく見れば、虚数単位の並びが巡回的になっていることが分かります。

具体的には

i→j→k→i→j→k→\cdots

から連続する3つを取り出せば積の関係になります。

図示

この巡回的な関係を次のような図で表します。

f:id:n7shi:20171204234758p:plain

ベクトル

四元数の虚部で3次元ベクトルが表せます。

\left(\begin{matrix}a_1\\a_2\\a_3\end{matrix}\right)\cong a_1i+a_2j+a_3k

実部も使えば4次元ベクトルを表せなくもありませんが、あまりうまく扱えません。実部には次で見るように内積としての役割があるためです。

内積外積

四元数で表したベクトル同士の積を計算すれば内積外積が得られます。

\begin{aligned} &(a_1i+a_2j+a_3k)(b_1i+b_2j+b_3k) \\ &=a_1i(b_1i+b_2j+b_3k) \\ &\quad +a_2j(b_1i+b_2j+b_3k) \\ &\quad +a_3k(b_1i+b_2j+b_3k) \\ &=a_1b_1\underbrace{i^2}_{-1}+a_1b_2\underbrace{ij}_{k}+a_1b_3\underbrace{ik}_{-j} \\ &\quad +a_2b_1\underbrace{ji}_{-k}+a_2b_2\underbrace{j^2}_{-1}+a_2b_3\underbrace{jk}_{i} \\ &\quad +a_3b_1\underbrace{ki}_{j}+a_3b_2\underbrace{kj}_{-i}+a_3b_3\underbrace{k^2}_{-1} \\ &=-(\underbrace{a_1b_1+a_2b_2+a_3b_3}_{\text{内積}}) \\ &\quad +\underbrace{(a_2b_3-a_3b_2)i+(a_3b_1-a_1b_3)j+(a_1b_2-a_2b_1)k}_{\text{外積}} \end{aligned}

細かく見れば、同じ虚数単位の積は内積に、異なる虚数単位の積は外積になっていることが分かります。

内積に付いているマイナスは、計算過程を見れば分かるように虚数単位の2乗が $-1$ になることに由来します。

i^2=j^2=k^2=-1

まとめ

四元数を手計算する必要がなければ細かい計算規則を覚える必要はありません。

以下の性質を押さえておけばOKです。

  • $i$ に $j$ を追加することで $k$ が誕生
  • $i,j,k$ は単独では同じ性質を持った虚数単位
  • 異なる虚数単位の積は演算規則が巡回的
  • 虚部は3次元ベクトルと見なせる
  • 虚部の積 = -内積 + 外積

双曲四元数

虚数単位の2乗が $1$ になるような四元数の亜種を双曲四元数と呼びます。

i^2=j^2=k^2=1

それ以外の演算規則(反交換性など)は四元数と同じです。

ij=-ji=k,\ jk=-kj=i,\ ki=-ik=j

四元数の積から得られる内積にはマイナスが付きますが、双曲四元数ではプラスになります。

\begin{aligned} &(a_1i+a_2j+a_3k)(b_1i+b_2j+b_3k) \\ &=a_1i(b_1i+b_2j+b_3k) \\ &\quad +a_2j(b_1i+b_2j+b_3k) \\ &\quad +a_3k(b_1i+b_2j+b_3k) \\ &=a_1b_1\underbrace{i^2}_{1}+a_1b_2\underbrace{ij}_{k}+a_1b_3\underbrace{ik}_{-j} \\ &\quad +a_2b_1\underbrace{ji}_{-k}+a_2b_2\underbrace{j^2}_{1}+a_2b_3\underbrace{jk}_{i} \\ &\quad +a_3b_1\underbrace{ki}_{j}+a_3b_2\underbrace{kj}_{-i}+a_3b_3\underbrace{k^2}_{1} \\ &=\underbrace{a_1b_1+a_2b_2+a_3b_3}_{\text{内積}} \\ &\quad +\underbrace{(a_2b_3-a_3b_2)i+(a_3b_1-a_1b_3)j+(a_1b_2-a_2b_1)k}_{\text{外積}} \end{aligned}

一見、四元数より綺麗に見えますが、重大な落とし穴があります。

結合性

通常の掛け算では、計算順序を変更しても結果は変わりません。

(ab)c=a(bc)

この性質を結合性と呼びます。結合性を前提にすれば計算順序を明記する必要がないため、括弧なしでフラットに $abc$ と書くことができます。

四元数は結合性がありますが、双曲四元数は結合性がありません。一例を示します。

  • 四元数: $(ii)j=-j,\ i(ij)=ik=-j\ ⇒\ (ii)j=i(ij)$
  • 双曲四元数: $(ii)j=j,\ i(ij)=ik=-j\ ⇒\ (ii)j≠i(ij)$

結合性がなければ掛け算が連続する際に括弧を省略できないため計算が煩雑になります。内積がプラスになることと結合性とを天秤に掛ければ、結合性を取る方が実用的です。

八元数

長々と準備して来ましたが、ようやく本題の八元数です。

虚数単位の追加

四元数複素数に $j$ を追加することで生成されました。八元数四元数にもう1つ虚数単位を追加することで生成されます。

この記事では追加した虚数単位を $ℓ$ と表記します。一般的には文字を割り当てずに $e _ 0,e _ 1,\cdots,e _ 7$ のように添え字で表記しますが、関係が分かりにくくなるためこの記事では使用しません。

$ℓ$ を追加すれば、既存の $i,j,k$ と結合して新たな虚数単位が更に3つ生成されます。文字が増えると分かりにくくなるため、新たに生成された虚数単位は $ℓ$ を添え字で書くことにします(独自ルール)。

iℓ=i_ℓ,\ jℓ=j_ℓ,\ kℓ=k_ℓ

新たに追加した虚数単位も、単独での性質は $i$ と同じです。

ℓ^2=i_ℓ^2=j_ℓ^2=k_ℓ^2=-1

虚数単位が7個あることから、虚部は7次元のベクトルに対応します。

ファノ平面

四元数で使用した図にこれらを追加します。

円の中心に $ℓ$ を配置して、円に外接する三角形の頂点に生成された虚数単位を割り当てます。

f:id:n7shi:20180227155519p:plain

この図をファノ平面と呼びます。

複数の四元数

前述の新しい虚数単位を生み出す演算は、それぞれが四元数と同じ振る舞いをします。

例えば $iℓ=i _ ℓ$ は、$i,ℓ,i_ℓ$ の3つの虚数単位の組み合わせが $i,j,k$ と同等に振る舞います。並べて比較します。

\begin{aligned} ij=k\ &⇒ ij=-ji=k,\ jk=kj=-i,\ ki=-ik=j\\ iℓ=i_ℓ\ &⇒ iℓ=-ℓi=i_ℓ,\ ℓi_ℓ=-i_ℓℓ=i,\ i_ℓi=-ii_ℓ=ℓ\\ jℓ=j_ℓ\ &⇒ jℓ=-ℓj=j_ℓ,\ ℓj_ℓ=-j_ℓℓ=j,\ j_ℓj=-jj_ℓ=ℓ\\ kℓ=k_ℓ\ &⇒ kℓ=-ℓk=k_ℓ,\ ℓk_ℓ=-k_ℓℓ=k,\ k_ℓk=-kk_ℓ=ℓ \end{aligned}

三辺の四元数

ファノ平面の三角形を円と同じ方向(反時計回り)に見ると、それぞれの辺が四元数と同じ振る舞いをする虚数単位の組です。

f:id:n7shi:20180227155538p:plain

つまり八元数の中には7種類の四元数が入っていることになります。

結合性

生成された演算規則を良く見ると、双曲四元数と同様に結合性が壊れていることが確認できます。

\begin{aligned} (i_ℓj_ℓ)k_ℓ&=(-k)k_ℓ=ℓ \\ i_ℓ(j_ℓk_ℓ)&=i_ℓ(-i)=ii_ℓ=-ℓ \end{aligned}

結合を変更する際に符号が反転すると解釈することで反結合性とも呼ばれます。反交換性と異なり一部の組み合わせでしか現れません。

あまり深入りすると逆に混乱するため、まずファノ平面の描き方と読み取り方を押さえて、そこから生成される演算規則に機械的に従う方が良いでしょう。

※ もしファノ平面の三角形の辺上の元を逆向きに積を定義すると、ゼロではない数同士を掛けてゼロになる零因子が現れるため、割り算ができなくなります。つまり可除性が失われます。数としては四則演算できることが重要なため、零因子が現れないように定義します。

部分空間

八元数の中の7種類の四元数の組は、それぞれ右手系の3次元空間に対応します。

f:id:n7shi:20180227155619p:plain

1つの虚数単位は3か所に表れています。つまり八元数が表す7次元空間の中に7つの3次元の部分空間が折り重なって畳み込まれていることになります。

外積

上で見たように八元数が表す空間は次元を増やしただけのフラットな7次元空間ではありません。この空間構造によって、本来フラットな空間では3次元でしか定義できないはずの外積が、八元数が表す7次元空間でも定義できるようになります。

それぞれの3次元部分空間で個別に外積が形成されて、それらを組み合わせた形で全体として7次元の外積として現れるわけです。

実際に計算して確認します。

\begin{aligned} &(a_1i+a_2j+a_3k+a_4ℓ+a_5i_ℓ+a_6j_ℓ+a_7k_ℓ)(b_1i+b_2j+b_3k+b_4ℓ+b_5i_ℓ+b_6j_ℓ+b_7k_ℓ) \\ &=a_1i(b_1i+b_2j+b_3k+b_4ℓ+b_5i_ℓ+b_6j_ℓ+b_7k_ℓ) \\ &\quad +a_2j(b_1i+b_2j+b_3k+b_4ℓ+b_5i_ℓ+b_6j_ℓ+b_7k_ℓ) \\ &\quad +a_3k(b_1i+b_2j+b_3k+b_4ℓ+b_5i_ℓ+b_6j_ℓ+b_7k_ℓ) \\ &\quad +a_4ℓ(b_1i+b_2j+b_3k+b_4ℓ+b_5i_ℓ+b_6j_ℓ+b_7k_ℓ) \\ &\quad +a_5i_ℓ(b_1i+b_2j+b_3k+b_4ℓ+b_5i_ℓ+b_6j_ℓ+b_7k_ℓ) \\ &\quad +a_6j_ℓ(b_1i+b_2j+b_3k+b_4ℓ+b_5i_ℓ+b_6j_ℓ+b_7k_ℓ) \\ &\quad +a_7k_ℓ(b_1i+b_2j+b_3k+b_4ℓ+b_5i_ℓ+b_6j_ℓ+b_7k_ℓ) \\ &=a_1b_1\underbrace{i^2}_{-1}+a_1b_2\underbrace{ij}_{k}+a_1b_3\underbrace{ik}_{-j}+a_1b_4\underbrace{iℓ}_{i_ℓ}+a_1b_5\underbrace{ii_ℓ}_{-ℓ}+a_1b_6\underbrace{ij_ℓ}_{-k_ℓ}+a_1b_7\underbrace{ik_ℓ}_{j_ℓ} \\ &\quad +a_2b_1\underbrace{ji}_{-k}+a_2b_2\underbrace{j^2}_{-1}+a_2b_3\underbrace{jk}_{i}+a_2b_4\underbrace{jℓ}_{j_ℓ}+a_2b_5\underbrace{ji_ℓ}_{k_ℓ}+a_2b_6\underbrace{jj_ℓ}_{-ℓ}+a_2b_7\underbrace{jk_ℓ}_{-i_ℓ} \\ &\quad +a_3b_1\underbrace{ki}_{j}+a_3b_2\underbrace{kj}_{-i}+a_3b_3\underbrace{k^2}_{-1}+a_3b_4\underbrace{kℓ}_{k_ℓ}+a_3b_5\underbrace{ki_ℓ}_{-j_ℓ}+a_3b_6\underbrace{kj_ℓ}_{i_ℓ}+a_3b_7\underbrace{kk_ℓ}_{-ℓ} \\ &\quad +a_4b_1\underbrace{ℓi}_{-i_ℓ}+a_4b_2\underbrace{ℓj}_{-j_ℓ}+a_4b_3\underbrace{ℓk}_{-k_ℓ}+a_4b_4\underbrace{ℓ^2}_{-1}+a_4b_5\underbrace{ℓi_ℓ}_{i}+a_4b_6\underbrace{ℓj_ℓ}_{j}+a_4b_7\underbrace{ℓk_ℓ}_{k} \\ &\quad +a_5b_1\underbrace{i_ℓi}_{ℓ}+a_5b_2\underbrace{i_ℓj}_{-k_ℓ}+a_5b_3\underbrace{i_ℓk}_{j_ℓ}+a_5b_4\underbrace{i_ℓℓ}_{-i}+a_5b_5\underbrace{i_ℓ^2}_{-1}+a_5b_6\underbrace{i_ℓj_ℓ}_{-k}+a_5b_7\underbrace{i_ℓk_ℓ}_{j} \\ &\quad +a_6b_1\underbrace{j_ℓi}_{k_ℓ}+a_6b_2\underbrace{j_ℓj}_{ℓ}+a_6b_3\underbrace{j_ℓk}_{-i_ℓ}+a_6b_4\underbrace{j_ℓℓ}_{-j}+a_6b_5\underbrace{j_ℓi_ℓ}_{k}+a_6b_6\underbrace{j_ℓ^2}_{-1}+a_6b_7\underbrace{j_ℓk_ℓ}_{-i} \\ &\quad +a_7b_1\underbrace{k_ℓi}_{-j_ℓ}+a_7b_2\underbrace{k_ℓj}_{i_ℓ}+a_7b_3\underbrace{k_ℓk}_{ℓ}+a_7b_4\underbrace{k_ℓℓ}_{-k}+a_7b_5\underbrace{k_ℓi_ℓ}_{-j}+a_7b_6\underbrace{k_ℓj_ℓ}_{i}+a_7b_7\underbrace{k_ℓ^2}_{-1} \\ &=-(a_1b_1+a_2b_2+a_3b_3+a_4b_4+a_5b_5+a_6b_6+a_7b_7) \\ &\quad +(a_2b_3-a_3b_2+a_4b_5-a_5b_4+a_7b_6-a_6b_7)i \\ &\quad +(a_3b_1-a_1b_3+a_4b_6-a_6b_4+a_5b_7-a_7b_5)j \\ &\quad +(a_1b_2-a_2b_1+a_4b_7-a_7b_4+a_6b_5-a_5b_6)k \\ &\quad +(a_5b_1-a_1b_5+a_6b_2-a_2b_6+a_7b_3-a_3b_7)ℓ \\ &\quad +(a_1b_4-a_4b_1+a_7b_2-a_2b_7+a_3b_6-a_6b_3)i_ℓ \\ &\quad +(a_1b_7-a_7b_1+a_2b_4-a_4b_2+a_5b_3-a_3b_5)j_ℓ \\ &\quad +(a_6b_1-a_1b_6+a_2b_5-a_5b_2+a_3b_4-a_4b_3)k_ℓ \\ \end{aligned}

外積の係数を整理すれば、7つの3次元の部分空間それぞれが外積を持つことが分かります。

\begin{aligned} i,j,k&:\ (a_2b_3-a_3b_2)i+(a_3b_1-a_1b_3)j+(a_1b_2-a_2b_1)k\\ i,ℓ,i_ℓ&:\ (a_4b_5-a_5b_4)i+(a_5b_1-a_1b_5)ℓ+(a_1b_4-a_4b_1)i_ℓ\\ j,ℓ,j_ℓ&:\ (a_4b_6-a_6b_4)j+(a_6b_2-a_2b_6)ℓ+(a_2b_4-a_4b_2)j_ℓ\\ k,ℓ,k_ℓ&:\ (a_4b_7-a_7b_4)k+(a_7b_3-a_3b_7)ℓ+(a_3b_4-a_4b_3)k_ℓ\\ i_ℓ,k,j_ℓ&:\ (a_3b_6-a_6b_3)i_ℓ+(a_6b_5-a_5b_6)k+(a_5b_3-a_3b_5)j_ℓ\\ j_ℓ,i,k_ℓ&:\ (a_1b_7-a_7b_1)j_ℓ+(a_7b_6-a_6b_7)i+(a_6b_1-a_1b_6)k_ℓ\\ k_ℓ,j,i_ℓ&:\ (a_2b_5-a_5b_2)k_ℓ+(a_5b_7-a_7b_5)j+(a_7b_2-a_2b_7)i_ℓ \end{aligned}

これが今回の記事で説明したかったことです。

十六元数

八元数虚数単位を追加することで十六元数を生成することは可能です。

しかし多元数は先に進めば進むほど計算規則が壊れて使いにくくなります。四元数で交換性が失われ、八元数で結合性が失われたように、十六元数では零因子が現れます。また、15次元の外積も構成できなくなります。残念ながら外積は7次元で打ち止めです。

※ 積がゼロになるということは内積外積が同時にゼロになり、平行かつ直交で矛盾するためです。

ファノ平面を用いると十六元数の構造を視覚的に理解できます。詳細は次のツイートを参照してください。

この方式でいくらでも先に進めることが可能で、そのようにして生成された多元数をケーリー=ディクソン代数と呼びます。八元数から先は新しいルールが導入されるわけではないため、八元数の一般化と言えます。

※ 同様に四元数を一般化したのがクリフォード代数だと言えます。クリフォード代数は結合性を維持したまま多元化するため八元数を含みません。それぞれ別の方向性を持った多元数の一般化です。

最後に

八元数に興味を持った方には次の書籍がお勧めです。

章のタイトルは文学的で内容が良く分かりませんが、「第15章 数学者たちの混乱」では八元数が感動的な筆致で綴られています。