このブログの更新は Twitterアカウント @m_hiyama で通知されます。
Follow @m_hiyama

メールでのご連絡は hiyama{at}chimaira{dot}org まで。

はじめてのメールはスパムと判定されることがあります。最初は、信頼されているドメインから差し障りのない文面を送っていただけると、スパムと判定されにくいと思います。

参照用 記事

クリフォード代数・補遺:もっと簡単な例など

幾何代数、クリフォード代数って何だ?」に少し追記・補足をしておきます。$`\newcommand{\G}{\mathcal{G}}
\require{color}
\newcommand{\Keyword}[1]{ \textcolor{green}{\text{#1}} }%
\newcommand{\For}{\Keyword{For } }%
\newcommand{\Define}{\Keyword{Define } }%
%`$

内容:

「幾何代数」と「クリフォード代数」

「幾何代数〈geometric algebra〉」と「クリフォード代数〈Clifford algebra〉」は互いに置き換え可能な言葉です。人によっては/文脈によっては区別するかも知れませんが、一般的には同義語として扱って問題ないでしょう。よって、幾何積〈geometric product〉とクリフォード積〈Clifford product〉も同義語です。

ただし、Lundholm and Svensson のテキストにあった「組み合わせクリフォード代数〈combinatorial Clifford algebra〉」は別扱いしたほうがいいかと思います。組み合わせクリフォード代数では、ベクトル空間は正面に現れませんし、スカラーも可換環を許しています。組み合わせ的色合いが強い文脈で組み合わせクリフォード代数を利用できるかも知れません。

もっと簡単な例:1次元の場合

幾何代数、クリフォード代数って何だ?」より:

非自明で一番簡単な例はユークリッド平面でしょう。

一番簡単な例は平面ではなくて直線ですね。

ここで直線とは、1次元のベクトル空間です。たとえ次元が 1 でも、直線の要素はスカラーではなくてベクトルです。$`e_1`$ を1次元ベクトル空間 $`L`$ を張る生成元だとします。クリフォード代数〈具象幾何代数〉の台ベクトル空間〈underlying vector space〉は、(二次形式 $`q`$ が何であれ)ベクトル $`e_1`$ とスカラー〈実数〉の $`1`$ で張られます。$`1`$ は紛らわしいので $`e_0`$ と書きましょう。すると、クリフォード代数 $`\G(L, q)`$ の要素は次の形に書けます。

$`\quad x = \xi^0 e_0 + \xi^1 e_1 \:(\xi^i \in {\bf R})`$

$`e_0`$ 方向を横軸、$`e_1`$ 方向を縦軸に取った平面は、クリフォード代数の要素達を表す平面なので、クリフォード平面と呼んでもよさそうです。

1次元ベクトル空間 $`L`$ に添える二次形式 $`q`$ により、クリフォード積は変わってきます。二次形式付きベクトル空間は、符号 $`(n_+, n_-, n_0)`$ で特徴付けられるのでした。

$`\quad n_+ + n_- + n_0 = 1`$

であることから、可能な符号と対応する二次形式は次の3種類です。

  1. $`(1, 0, 0)\quad q(e_1) = 1`$
  2. $`(0, 1, 0)\quad q(e_1) = -1`$
  3. $`(0, 0, 1)\quad q(e_1) = 0`$

それぞれ、ユークリッド直線、反ユークリッド直線、ヌル直線です。「幾何代数、クリフォード代数って何だ?」で、同様な3種類の平面を出しましたが、次元が2なら他にも符号/二次形式はあります。1次元の場合は、ほんとにこの3種類だけです。

ユークリッド直線(記号 $`\text{E}`$)/反ユークリッド直線(記号 $`\text{A}`$)/ヌル直線(記号 $`\text{N}`$)のクリフォード代数の掛け算九九(掛け算ニニですが)の表は次のようになります。

$`\text{E}`$ $`e_0`$ $`e_1`$
$`e_0`$ $`e_0`$ $`e_1`$
$`e_1`$ $`e_1`$ $`e_0`$

$`\text{A}`$ $`e_0`$ $`e_1`$
$`e_0`$ $`e_0`$ $`e_1`$
$`e_1`$ $`e_1`$ $`-e_0`$

$`\text{N}`$ $`e_0`$ $`e_1`$
$`e_0`$ $`e_0`$ $`e_1`$
$`e_1`$ $`e_1`$ $`0`$

それぞれのクリフォード積を $`\cdot_\text{E},\,\cdot_\text{A},\,\cdot_\text{N}`$ と書くことにします。$`\text{X}`$ を $`\text{E},\,\text{A},\,\text{N}`$ のどれかとして、$`x\in \G(L, q_\text{X})`$ を左から掛ける作用を $`\text{X}_x`$ とします。$`q_\text{X}`$ は積 $`\cdot_\text{X}`$ を誘導する二次形式です。

$`\For x\in \G(L, q_\text{X})\\
\Define \text{X}_x := \lambda\, y\in \G(L, q_\text{X}).\, x\cdot_\text{X} y \::\G(L, q_\text{X}) \to \G(L, q_\text{X})`$

上記の3種類の掛け算に対して、$`\text{X}_{e_1}`$ を、クリフォード平面の線形変換だと思って2×2行列で書けば次のようになります。

$`\quad \text{E}_{e_1} =
\begin{pmatrix}
0 & 1 \\
1 & 0
\end{pmatrix}\\
\:\\
\quad \text{A}_{e_1} =
\begin{pmatrix}
0 & -1 \\
1 & 0
\end{pmatrix}\\
\:\\
\quad \text{N}_{e_1} =
\begin{pmatrix}
0 & 0 \\
1 & 0
\end{pmatrix}`$

$`e_1`$ をそれぞれのクリフォード積 $`\cdot_\text{E},\,\cdot_\text{A},\,\cdot_\text{N}`$ により左から掛ける作用を図形的に述べるならば:

  1. 斜め45度の直線に関する鏡映〈折り返し〉変換
  2. 反時計回りの90度回転
  3. 平面の点を横軸に射影して、その横軸を縦軸として埋め込む

反時計回りの90度回転は、虚数単位 $`i = \sqrt{-1}`$ による掛け算と同じです。この場合、クリフォード平面は掛け算も含めて複素平面と同一視できます。

マルチベクトルの階数と呼び名

二次形式付き有限次元ベクトル空間 $`V = (V, q)`$ から作られたクリフォード代数 $`\G(V) = \G(V, q)`$ のベクトル空間としての次元は $`2^n`$($`n = \mathrm{dim}(V)`$)になります。外積代数の場合と同様に、次のような直和分解があります。

$`\quad \G(V) = \G(V)_0 \oplus \G(V)_1 \oplus \cdots \oplus \G(V)_n`$

スカラー体を $`K`$ として、$`\G(V)_0 \cong K,\, \G(V)_1 \cong V`$ です。この直和分解の各成分の次元は二項係数になっていて、足して $`2^n`$ ですね。

$`\quad \mathrm{dim}(\G(V)_k) = \dbinom{n}{k}`$

この意味で、クリフォード代数の台ベクトル空間〈underlying vector space〉は階付きベクトル空間〈graded vector space〉(詳しくは「階付きベクトル空間 再論」)の構造を持ちます。

$`\G(V)`$ の部分ベクトル空間 $`\G(V)_k`$ の要素はk階の(あるいはk次の)斉次元〈homogeneous element〉と呼びます。階付きベクトル空間としての $`\G(V)`$ の斉次元をポリベクトル〈polyvector〉、斉次とは限らない一般の要素をマルチベクトル〈multivector〉と呼んでいるようです。

階数ごとの斉次元(つまり、ポリベクトル)にも呼び名があります。

  • 階数0の斉次元 -- スカラー
  • 階数1の斉次元 -- ベクトル
  • 階数2の斉次元 -- バイベクトル〈bivector〉
  • 階数3の斉次元 -- トライベクトル〈trivector〉
  • 最高階数の斉次元 -- 疑スカラー〈pseudo scalar〉

ベクトル空間としては階付きですが、クリフォード代数は階付き代数にはなりません。掛け算〈幾何積 | クリフォード積〉が階数を尊重〈respect〉しないからです。掛け算に関しては、階数そのものではなくて階数の偶奇性が意味を持ちます。

  • 遇階数斉次元と遇階数斉次元の積は遇階数斉次元になる。
  • 遇階数斉次元と奇階数斉次元の積は奇階数斉次元になる。
  • 奇階数斉次元と奇階数斉次元の積は遇階数斉次元になる。

通常の階数を2で割った余りを、$`{\bf Z}_2 = {\bf Z}/2{\bf Z}`$ に値を取る階数とすると、掛け算の振る舞いは$`{\bf Z}_2`$-階数付けと整合します。

$`{\bf Z}_2`$-階数付きの代数を超代数〈superalgebra〉と呼びます。ここでの「超」は「$`{\bf Z}_2`$-階数付き」の言い換えに過ぎず、禍々〈まがまが〉しい意味はありません。

クリフォード代数は超代数となり、階数0部分(もとの整数階数で偶数階数部分の寄せ集め)は部分代数になります。

知られてない?

幾何代数、クリフォード代数って何だ?」より:

実際、幾何積/クリフォード積を知っている人はあまりいないでしょう(僕も知りませんでした)。もっと広く知られ、広く使われてもいいと思いますね。

この文言に対して、「おまえが無知なだけだ」とか「俺はバリバリに使っている」とか言われそうです。3次元ベクトルのクロス積や微分形式の外積に比べると、相対的にクリフォード積が教育されるチャンスは少ないだろう、という意味です。

クロス積/外積で間に合ってしまうので、あえてクリフォード積を持ち出す必然性がない、という事情でしょう、おそらく。

個人的な感情としては、$`e_1 \times e_2`$ を $`e_3`$ と同一視してしまうのが気持ち悪くて嫌です。$`e_1`$ と $`e_2`$ の“積”は、$`e_1, e_2, e_3`$ が張るベクトル空間とは別な世界に居るんだと考えたいのです。それは外積代数でもかなうのですが、より柔軟性と一般性がある“積”としてクリフォード積の採用もアリな気がします。

普遍性による定義は必要か?

クリフォード代数は生成元と関係によって定義出来るし、それで計算には十分です。その意味では、「幾何代数、クリフォード代数って何だ?」の「抽象幾何代数」のようなスタイルの定義は要らないと言えます。

しかし、二次形式付きベクトル空間が与えられれば、それからクリフォード代数が(up-to-isoで)決まってしまうことは理念的・概念的には重要な事実のようにも思えます。生成元と関係をいきなり出されるより、存在の必然性に納得感があるのではないでしょうか。

現実的なご利益もあります。単一のベクトル空間ではなくて、二次形式を備えたベクトル・バンドルがあるとします。これから、クリフォード代数バンドルを作りたいとしましょう。圏論的マシナリーを稼働させれば、クリフォード代数バンドルの存在は単一のベクトル空間のときと同様に示せます。今風の重機でサクッとバンドルを作ってしまった後で、必要があれば、局所座標と局所フレームを取って具体的な計算をすればいいわけです。