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

テンソル積と双四元数

平方数に関連付けて四元数とその拡張を導入します。テンソル積も簡単に説明します。

シリーズの記事です。

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

目次

概要

平方数の差を因数分解します。

a^2-b^2=(a+b)(a-b)

平方数の和を因数分解するには複素数が必要です。

a^2+b^2=(a+bi)(a-bi)

平方数の和を平方根で表すには分解型四元数が必要です。

a^2+b^2=(aj+bk)^2

四元数の構造に着目してテンソル積を導入します。複素数四元数テンソル積によって双四元数が得られます。分解型四元数は双四元数の一部です。

四元数によって3つの平方数の和の平方根が得られます。

a^2+b^2+c^2=(ahi+bhj+chk)^2

分解型四元数

平方数の和の平方根を考えるため、$a,b$ に未知数 $α,β$ を付けて2乗します。

\begin{aligned} (aα+bβ)^2 &=a^2α^2+abαβ+baβα+b^2β^2 \\ &=a^2α^2+ab(αβ+βα)+b^2β^2 \\ &=a^2+b^2 \end{aligned}

これを成立させるには以下の関係が必要です。

α^2=β^2=1\ ,\quad αβ+βα=0

この特徴を持つ数をクリフォード数と呼びます。

  • 内積:自分自身との積がスカラーになる $α ^ 2=β ^ 2=1$
  • 反交換性:積の交換で符号が反転 $αβ=-βα$

$αβ=γ$ とすれば、$γ$ の2乗は $-1$ になるため、虚数単位 $i$ と同一視できます。

γ^2=(αβ)^2=α\underbrace{βα}_{-αβ}β=-\underbrace{αα}_1\underbrace{ββ}_1=-1

$γ=αβ$ は虚数単位の因数分解だと解釈できます。

他の組み合わせを計算します。

\begin{aligned} αγ&=ααβ=β \\ γα&=αβα=-ααβ=-β \\ βγ&=βαβ=-αββ=-α \\ γβ&=αββ=α \end{aligned}

掛け算を表にまとめます。「左(行見出)×上(列見出)」として交差する部分が計算結果となります。このような表を乗積表と呼びます。

$1$ $α$ $β$ $γ$
$α$ $1$ $γ$ $β$
$β$ $-γ$ $1$ $-α$
$γ$ $-β$ $α$ $-1$

これは分解型四元数split quaternion)と呼ばれる数と対応しています。

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

分解型四元数は $i,j,k$ の文字で表記します。$i ^ 2=-1,\ ij=k$ が基本性質です。

2乗して $-1$ になるのは $γ$ だけなので、$i$ と $γ$ が対応します。

$ij=k$ の左辺に注目します。$ij$ に対応するのは $γα$ か $γβ$ のどちらかです。計算結果を比較します。

γα=-β,\ γβ=α

$γα=-β$ にはマイナスが現れているため、$ij=k$ に対応するのは $γβ=α$ となります。要素ごとに見ると $j$ が $β$、$k$ が $α$ に対応します。

まとめると次の通りです。

α→k,\ β→j,\ γ→i

乗積表にまとめます。

$1$ $i$ $j$ $k$
$i$ $-1$ $k$ $-j$
$j$ $-k$ $1$ $-i$
$k$ $j$ $i$ $1$

分解型四元数によって、目的の平方根が得られました。

a^2+b^2=(ak+bj)^2=(aj+bk)^2

平方数の差の平方根も表現できます。

a^2-b^2=(aj+bi)^2=(ak+bi)^2

$i,j,k$ をすべて使うと次のような平方根が表現できます。

a^2+b^2-c^2=(aj+bk+ci)^2

左辺に現れる符号は、右辺の $i,j,k$ の2乗を反映しています。

四元数

分解型四元数では $j ^ 2=k ^ 2=1$ ですが、これが $-1$ になるのが四元数です。

それに伴って一部で符号の現れ方が変わります。

分解型四元数 四元数
$kj=ijj=i$ $kj=ijj=-i$
$jk=jij=-ijj=-i$ $jk=jij=-ijj=i$

乗積表にまとめます。相違点は赤字で示します。

$1$ $i$ $j$ $k$
$i$ $-1$ $k$ $-j$
$j$ $-k$ $\textcolor{red}{-1}$ $\textcolor{red}{i}$
$k$ $j$ $\textcolor{red}{-i}$ $\textcolor{red}{-1}$

四元数多項式を2乗するとマイナスが現れます。

\begin{aligned} (ai+bj)^2 &=a^2i^2+abij+baji+b^2j^2 \\ &=-a^2+abk-abk-b^2 \\ &=-a^2-b^2 \end{aligned}

四元数で表せる平方数の多項式平方根は次の通りです。

\begin{aligned} -a^2-b^2&=(ai+bj)^2 \\ -a^2-b^2-c^2&=(ai+bj+ck)^2 \end{aligned}

テンソル

$1$ を含めた四元数の $1,i,j,k$ を基底と呼びます。

$ai,bj,ck$ は「係数×基底」という構造になっています。係数は実数 $\mathbb R$ で、四元数 $\mathbb H$ の基底を組み合わせています。

このような組み合わせ構造をテンソルと呼んで演算子 $⊗$ で表します。

$ai,bj,ck$ の構造は $\mathbb R⊗\mathbb H$ と型表示できます。ただし $\mathbb R$ の自由度は $\mathbb H$ に含めて、敢えてテンソル積としては表さないこともあります。

表記

$ai$ がテンソル積であることを明示すれば $a⊗i$ と表記できますが、通常は省略します。

テンソル積による型表示 $\mathbb R⊗\mathbb H$ は順序を規定します。$\mathbb R⊗\mathbb H$ と $\mathbb H⊗\mathbb R$ は別物として扱いますが、表現力(表現可能な範囲)は同じで相互変換が可能です。このような関係を同型と呼びます。

四元数 $ai$ と $ia$ は同じものとして扱いますが、これは便宜的な表記で、どちらもテンソル積としては $a⊗i$ です。

掛け算

簡単な掛け算をして、同じ計算を再現するテンソル積の演算規則を考えます。

\begin{aligned} (ai)(bj)&=aibj=abij=abk \\ (ai)(bi)&=aibi=abi^2=-ab \end{aligned}

同じことをテンソル積の表記で計算します。

\begin{aligned} (a⊗i)(b⊗j)&=(ab)⊗(ij)=(ab)⊗k \\ (a⊗i)(b⊗i)&=(ab)⊗i^2=(ab)⊗(-1)=(-ab)⊗1 \\ \end{aligned}

この例から次の規則が分かります。

  • 係数と基底を区切って別々に掛け合わせます。
  • 実数倍は移動が可能です。例では $-1$ を移動しています。

※ 移動可能な型を明示する場合はテンソル積の演算子に添えて $⊗_R$ のように表記します。今回は実数であることを前提に省略します。

慣れないと分かりにくいかもしれませんが、単なる表記上の違いで、やっている計算は同じです。今まで暗黙で処理していた規則を明文化していると考えてください。

※ 今回はテンソル積の掛け算は四元数の性質を再現するように定義しています。一般的に掛け算は必ずしも定義されるとは限りません。

四元数

係数 $a,b,c$ を複素数 $\mathbb C$ にすれば、$ai,bj,ck$ は $\mathbb C⊗\mathbb H$ というテンソル積になります。これを四元数biquaternion)と呼びます。

四元数では係数の虚数単位 $i$ と四元数の基底 $i,j,k$ は区切られて相互作用しません。係数と基底の間で移動可能なのは実数倍だけです。

どちらにも $i$ が現れますが、表記が同じだけの別物です。これでは紛らわしいので、この記事では係数の虚数単位を $h$ と書いて区別します。

※ 逆に四元数の方を $e _ 1,e _ 2,e _ 3$ と書いて区別する流儀もありますが、この記事では使用しません。

$h$ は係数として扱います。$hi$ と $ih$ は同じものとして扱いますが、これは便宜的な表記で、どちらもテンソル積としては $h⊗i$ です。

基底

テンソル積によって双四元数の基底は8個に増えます。

1,i,j,k,h,hi,hj,hk

各基底の2乗を考えます。

$1,i,j,k$ は今まで通りです。

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

$h$ は虚数単位そのものです。

h^2=-1

$hi$ の2乗をテンソル積の表記で計算します。係数と基底は区切られて、移動可能なのは実数倍だけなのに注意してください。

(h⊗i)^2=(h⊗i)(h⊗i)=h^2⊗i^2=(-1)⊗(-1)=1⊗1

テンソル積の表記を省略して同じ計算をします。

(hi)^2=hihi=h^2i^2=(-1)(-1)=1

$hj,hk$ も同様です。

(hj)^2=(hk)^2=1

分解型四元数との関係

$hj,hk$ の2乗して1となる性質は、分解型四元数の $j,k$ と同じです。

実際、分解型四元数の $j,k$ と双四元数の $hj,hk$ は同一視できます。分解型四元数では $h$ の付かない単独の $j,k$ が現れないため、便宜的に $h$ を省略して表記していると解釈できます。

※ このような包含関係を「分解型四元数は双四元数の部分代数」と表現します。

乗積表を比較してみると良いでしょう。

$1$ $i$ $hj$ $hk$
$i$ $-1$ $hk$ $-hj$
$hj$ $-hk$ $1$ $-i$
$hk$ $hj$ $i$ $1$

うまく乗積表が $i,hj,hk$ に収まって、$h,j,k$ が単独で現れないようになっています。このような関係を「積で閉じている」と表現します。

※ 積で閉じている代数をマグマと呼びます。演算の基本的な性質とされます。

四元数から好きなようにピックアップできるわけではありません。例えば $i,j,hk$ を選ぶと、$ij=k$ から $k$ が現れてしまうため、積で閉じなくなってしまいます。

平方数

最初の話題に戻ります。双四元数によって平方数の多項式平方根はどうなるでしょうか。

結論から言えば、平方数の項は3項までで数は増えませんが、符号が任意に決められるようになります。

\begin{aligned} a^2+b^2+c^2&=(ahi+bhj+chk)^2 \\ a^2-b^2-c^2&=(ahi+bj+ck)^2 \end{aligned}

項数が増えない理由を説明します。

2乗する際にクロスターム(異なる基底が掛け合わされた項)が反交換性によって消えるのが肝です。

\begin{aligned} (ai+bj)^2 &=a^2i^2+\underbrace{abij+baji}_{\text{クロスターム}}+b^2j^2 \\ &=-a^2+\underbrace{abk-abk}_{\text{消える}}-b^2 \\ &=-a^2-b^2 \end{aligned}

ところが $i$ と $hi$ には反交換性がないため残ってしまいます。

\begin{aligned} (ai+bhi)^2 &=a^2i^2+\underbrace{abihi+bahii}_{\text{クロスターム}}+b^2(hi)^2 \\ &=-a^2\underbrace{-abh-abh}_{\text{消えない}}+b^2 \\ &=-a^2-2abh+b^2 \end{aligned}

四元数の項を4項以上に増やすと $i$ と $hi$ のような $h$ 付きで対応する基底が現れます。これが双四元数で見かけ上の基底が増えても、平方根として表現できる平方数の項が4項以上に増えない理由です。

任意に項数を増やすにはクリフォード代数が必要となります。👉参考

参考

四元数には幾何的な意味があります。八元数の記事ですが四元数も説明しています。

四元数マクスウェル方程式を表すことができます。

平方数と同じ要領でラプラシアンを扱うことができます。