第11回:四元数とベクトルの演算―内積・外積との関係

キーワード:四元数、ベクトル、内積、外積

前回は、四元数の計算規則を確認しました。今回は、特に積の計算をベクトルとの関係で見通し良くする方法について見ていきたいと思います。

四元数の積とベクトルの積

前回も計算した純虚四元数の積を再掲します。

$\displaystyle (bi +cj + dk) (fi + gj + hk) = -bf -cg -dh + (ch-dg)i + (df-bh)j+(bg-cf)k$ (1)

いま、二つの3次元ベクトルを $ \vec{v}=(b,c,d),\vec{w}=(f,g,h)$とおきます。

ベクトルの内積 $ \vec{v} \cdot \vec{w}$と外積 $ \vec{v} \times \vec{w}$は、

$\displaystyle \vec{v} \cdot \vec{w}$ $\displaystyle =$ $\displaystyle bf +cg +dh$ (2)
$\displaystyle \vec{v} \times \vec{w}$ $\displaystyle =$ $\displaystyle (ch-dg,df-bh,bg-cf)$ (3)

で、定義されます。これを見ると、それぞれが四元数の積において普通の数の部分と虚数単位がついている部分とになっていることが分かると思います。

そこで、四元数 $ p=a+bi+cj+dk$をスカラー$ a$とベクトル $ \vec{v}=(b,c,d)$を用いて、

$\displaystyle p = ( a, \vec{v} )$ (4)

とあらわし、それぞれをスカラー部分、ベクトル部分と呼ぶことにします。これを用いると、
$\displaystyle p q$ $\displaystyle =$ $\displaystyle ( a, \vec{v} ) ( e, \vec{w} )$ (5)
  $\displaystyle =$ $\displaystyle (ae -\vec{v} \cdot \vec{w}, a \vec{w} + e \vec{v} + \vec{v} \times \vec{w} )$ (6)

となることが分かります。こうしてみると、かなりすっきりすると思います。また、共役と絶対値はそれぞれ、
$\displaystyle p^{*}$ $\displaystyle =$ $\displaystyle ( a, -\vec{v} )$ (7)
$\displaystyle \vert p\vert$ $\displaystyle =$ $\displaystyle a^2 + \vert\vec{v}\vert^2$ (8)

となります。

積と絶対値

前回、四元数の絶対値を導入したわけですが、一つ証明していないことがありました。それは積の絶対値がそれぞれの絶対値の積になるのかどうか、ということです。つまり、

$\displaystyle \vert p q\vert = \vert p\vert\vert q\vert$ (9)

が成立するか、ということです。

たとえば、ベクトルのスカラー積、ベクトル積はそれぞれ、

$\displaystyle \vec{v} \cdot \vec{w} = \vert v\vert\vert w\vert \cos \theta$ (10)

$\displaystyle \vert\vec{v} \times \vec{w}\vert = \vert v\vert\vert w\vert \sin \theta$ (11)

の関係があります(ここで$ \theta$は二つのベクトルのなす角)。積の絶対値がそれぞれの積とは異なるわけです。

いまここで、式(9)の両辺を2乗して、スカラー部、ベクトル部を用いて表してみますす。

$\displaystyle \vert p q\vert^2 = (ae -\vec{v} \cdot \vec{w})^2 + \vert a \vec{v} + e \vec{w} + \vec{v} \times \vec{w}\vert^2$ (12)

$\displaystyle \vert p\vert^2 \vert q\vert^2 = (a^2 + \vert\vec{v}\vert^2)(e^2+\vert\vec{w}\vert^2)$ (13)

この二つが果たして同じになるのかということです。以下、見やすさのために $ v=\vert\vec{v}\vert$などと書きます。

一つ一つ計算していきましょう。

$\displaystyle (ae - \vec{v} \cdot \vec{w})^2 = a^2e^2 -2aevw \cos \theta + v^2w^2 \cos^2 \theta$ (14)


    $\displaystyle \vert a \vec{w} + e \vec{v} + \vec{v} \times \vec{w}\vert^2$  
  $\displaystyle =$ $\displaystyle a^2 w^2 + e^2 v^2 + \vert\vec{v} \times \vec{w}\vert^2 + 2\bigl\{...
...) + ae \vec{v} \cdot \vec{w} + e \vec{v} \cdot (\vec{v} \times \vec{w}) \bigr\}$ (15)

ここでベクトルの内積と外積の性質を使います。外積 $ \vec{v} \times \vec{w}$は、もとの2つのベクトルに対して垂直であること、垂直な2つのベクトルの内積は0になることを持ちいれば、 $ \vec{w} \cdot (\vec{v} \times \vec{w})=\vec{v} \cdot (\vec{v} \times \vec{w})=0$となるので、

% latex2html id marker 427
$\displaystyle (\ref{ex11-4}) = a^2 w^2 + e^2 v^2 + v^2w^2 \sin^2 \theta+ 2ae vw \cos \theta$ (16)

とまとめることができます。ここで成分でなく大きさと角度を用いた表現をしました。こちらのほうが計算の見通しがよくなります。

以上の結果を用いれば、

$\displaystyle \vert pq\vert^2$ $\displaystyle =$ $\displaystyle (ae -\vec{v} \cdot \vec{w})^2 + \vert a \vec{v} + e \vec{w} + \vec{v} \times \vec{w}\vert^2$  
  $\displaystyle =$ $\displaystyle (a^2e^2 -2aevw \cos \theta + v^2w^2 \cos^2 \theta)$  
    $\displaystyle +(a^2 w^2 + e^2 v^2 + v^2w^2 \sin^2 \theta+ 2ae vw \cos \theta)$  
  $\displaystyle =$ $\displaystyle a^2e^2 + a^2 w^2 + e^2 v^2 + v^2w^2$  
  $\displaystyle =$ $\displaystyle ( a^2 + v^2)(b^2 + w^2)$  
  $\displaystyle =$ $\displaystyle \vert p\vert^2 \vert q\vert^2$ (17)

となることが確認できました。2行目から3行目はプラスとマイナスの項が打ち消し合い、三角関数の性質 $ \sin^2 \theta + \cos^2 \theta=1$を用いました。これは成分だけの計算ですと項の数が多くなり分かりにくくなります。ベクトルの計算を用いることで計算が楽になりました(それもあって今回に回したのですが)。

さて、前回の予告では3重積について書く、と言ったのですが、3重積自体の説明が難しくまだ整理できていないので、これについては保留というか、別の文章として線形代数のシリーズを作るときに反映させたいと思います。

その代りと言ってはなんですが、今回の最後に、四元数を「2重の複素数」として表すこと、そしてそこから量子力学で現れる「パウリ行列」との関係について示しておきたいと思います。

2重の複素数としての四元数と四元数の複素行列表示

$ a+bi+cj+dk$において、四元虚数単位どうしの関係$ ij=k$を考慮すると、

$\displaystyle a+bi+cj+dk$ $\displaystyle =$ $\displaystyle a+bi+cj+dij$    
  $\displaystyle =$ $\displaystyle (a+bi) + (c+di)j$ (18)

つまり、複素数の中にもう一つ複素数が入っているような形になっています。そこで、第8回での議論を思いだし、$ j$を行列にして、

$\displaystyle ( a + bi) \left( \begin{array}{cc} 1 & 0 \\ 0 & 1 \end{array} \right) + (c+di) \left( \begin{array}{cc} 0 & 1 \\ -1 & 0 \end{array} \right)$ (19)

とできるかというとこれはうまくいきません。それは今までの議論からわかるように、これでは四元数の反可換性を再現できていないからです。それでは$ i$の方も何か行列で表して、反可換性をもつようにできるでしょうか。いま2行2列の行列が、$ ij=-ji$の関係を満たすように決めてみましょう。

$\displaystyle \left( \begin{array}{cc} a & b \\ c & d \end{array} \right) \left...
...{array} \right) = \left( \begin{array}{cc} -b & a \\ -d & c \end{array} \right)$ (20)

$\displaystyle \left( \begin{array}{cc} 0 & 1 \\ -1 & 0 \end{array} \right) \lef...
...{array} \right) = \left( \begin{array}{cc} c & d \\ -a & -b \end{array} \right)$ (21)

これが反交換するためには$ a=-d, b=c$であればよいことがわかります。また2乗して単位行列の-1倍になるという性質も必要です。このような性質を持つ行列には任意性がありますが、もともと四元数を2重の複素数として表現した式を再現したいわけですから、それにもっとも近い形にするのが自然でしょう。そこで式(19)は、虚数単位を行列$ I$で書くならば、

$\displaystyle I = \left( \begin{array}{cc} i & 0 \\ 0 & i \end{array} \right)$ (22)

としていたことになりますから、これを、

$\displaystyle I = \left( \begin{array}{cc} i & 0 \\ 0 & -i \end{array} \right)$ (23)

と変更するのがもっとも修正の少ない形です。これを用いれば、

$\displaystyle K = IJ = \left( \begin{array}{cc} i & 0 \\ 0 & -i \end{array} \ri...
...nd{array} \right) = \left( \begin{array}{cc} 0 & i \\ i & 0 \end{array} \right)$ (24)

となります。こうすると四元数を表す行列として、

$\displaystyle a \left( \begin{array}{cc} 1 & 0 \\ 0 & 1 \end{array} \right) + b...
...ight) =\left( \begin{array}{cc} a+bi & c+di \\ -c+di & a-bi \end{array} \right)$ (25)

という形が得られますから、これは二つの複素数 $ \alpha = a+bi, \beta = c+di$を用いれば、

$\displaystyle \left( \begin{array}{cc} \alpha & \beta \\ -\beta^{*} & \alpha^{*} \end{array} \right)$ (26)

という複素行列で四元数が表現できるということが分かりました。ここではこれ以上この行列の性質には触れませんが、和・差はもちろん、積や絶対値といったものもきちんと再現できます。たとえば、上の行列の行列式が四元数の絶対値を表すことは簡単に計算できると思います。そして行列の積と行列式の性質(積の行列式=行列式の積)を用いれば、前節で導いた絶対値と積の関係が容易に示せます。

ここで現れた3つの行列$ I,J,K$は、物理学ではスピンの性質を表すために登場し、パウリ行列という名前がついています。複素数が2次元の回転を表していたのと同様に、四元数もなんらかの回転と関係していそうです。これは次回のテーマになります。

まとめ

今回は、四元数を最初スカラー+3次元ベクトルという形にわけ、その積の計算の意味づけを行いました。後半では、四元数を2つの複素数で表現してみました。このように4つの次元を1+3とみるか、2+2とみるかは扱う問題の性質でことなってくるわけです。

現代の視点からは、今回みたように四元数は非可換の代数の一つとして理解され、またベクトルの演算との関連から整理されています。しかし、1843年にハミルトンが四元数を発見したときは、「交換則を捨てる」という大きな変革を記す第一歩として大きな意義があったと思います。

一方、ベクトルやその内積・外積の概念が出てくるのは四元数発見の翌年、1844年のことです。この年、グラスマンは「拡大論」を発表し、いまでいうところの線形空間論を構築しました。この中で一次独立などの概念ばかりでなく、内積・外積といった演算も導入しています。グラスマンは、数学上で線形代数や代数学の抽象化への道を作ったばかりでなく、外積を用いて正しく磁場と電流の間に働く力に関する式をたて、これが作用・反作用の関係を満たさないことを初めて示すなど、今に残る大きな仕事をたくさんしています(光の三原色の法則からサンスクリット語の研究までその業績は幅広い)。ですが発表当時、グラスマンの本は広く受け入れられたわけではなかったようです。そのせいか、いまでもグラスマンの名前はあまり有名とはいえません。私自身、場の量子論で「グラスマン数」というのを見るまで名前すら知りませんでした。最初にみたときは「グラスマンって誰?」と思ったぐらいです。後になって、数学・物理学の歴史、とくに電磁気学の歴史を調べる中でグラスマンの「偉大さ」に気付いたわけですが、もっと評価されてもいいのではないかと思います(残念ながら、日本語で読める資料は多いとは言えませんが)。

四元数の方は一時期大きく取り上げられ、マクスウェルが電磁気学の初期に用いたりしました。ハミルトンも、四元数を用いて物理学を書き換えるという壮大な事業に取り掛かりました。しかし、時代はハミルトン・グラスマンらのアイディアに触発されて大きく進み、結局テンソル解析(ベクトル・行列の微分・積分、微分幾何など)が発達して、その上に現代物理学が構築されていくことになります。

さて、次回はついにこの文章の最終テーマ「四元数と回転」についてです。一度は忘れられた四元数が、現代の3Dグラフィックスの世界によみがえることになったのは、四元数の演算が3次元における回転を効率よく表現できるからです。これは今回の前半のように1+3と分解して考えることによってその意味が明らかになります。次回ではまず最初に回転をどう表現するかという話からはじめ、次にそれを四元数を用いて記述するという形で展開していきたいと思います。