Baker-Campbell-Hausdorffの公式の証明

このページではクォータニオンで3次元空間の回転を表現してもよいことを示す決定的な証拠となるBaker-Campbell-Hausdorffの公式を証明します。この公式は \(e^{X_A} e^{X_B} = e^{X_C}\) と書いたとき、
$$ X_C = X_A + X_B + \frac{1}{2}[X_A,\ X_B] + \frac{1}{12}([X_A,\ [X_A,\ X_B]] + [X_B,\ [X_B,\ X_A]]) + \cdots $$
のように、\(X_A\) と \(X_B\) の積が交換子の形でのみ現れることを示しています。

証明を始める前に、\(X_C\) がどのように展開されるのか少し計算してみましょう。実数のパラメータ \(t\) を導入して、
$$ e^{X_C(t)} = e^{tX_A} e^{tX_B} $$
として、
$$ X_C(t) = t\, C_1 + t^2 C_2 + \cdots $$
と展開したとします。\(t = 0\) のときは明らかに \(X_C = 0\) なので \(C_0\) の項はありません。これで \(e^{X_C(t)}\) と \(e^{tX_A} e^{tX_B}\) の両方をテイラー展開して、\(t\) の次数ごとに係数を比較すれば \(C_1,\ C_2, \cdots\) を計算することができます。
$$ I + (t\, C_1 + t^2 C_2 + \cdots) + \frac{1}{2!}(t\, C_1 + t^2 C_2 + \cdots)^2 + \cdots\\ = \left(I + t\,X_A + \frac{t^2}{2!}X_A^2 + \cdots\right)\left(I + t\,X_B + \frac{t^2}{2!}X_B^2 + \cdots\right) $$
まず、\(t\) の1次の項を比較して
$$ C_1 = X_A + X_B $$
を得ます。次に \(t^2\) の項を比較してみましょう。
\begin{eqnarray*}
C_2 + \frac{1}{2!}C_1^2 & = & X_A X_B + \frac{1}{2!}(X_A^2 + X_B^2) \\
C_2 & = & X_AX_B + \frac{1}{2!}(X_A^2 + X_B^2)\ – \frac{1}{2!}(X_A + X_B)^2 \\
& = & \frac{1}{2}(X_AX_B\ – X_BX_A)\\
& = & \frac{1}{2}[X_A,\ X_B]
\end{eqnarray*}
となります。うまく \(X_A^2,\ X_B^2\) の項が消えて \([X_A,\ X_B]\) の項が残りましたね! こんなアツイ計算を続けていけば、\(C_3,\ C_4\) そして \(C_{100}\) だって計算できるハズですが、もっとクールな計算方法があるので紹介したいと思います。このクールな計算方法でも \(X_C\) をまったく同じ形で展開するのですが、テイラー展開の仕方を工夫することで、\(C_1,\ C_2, \cdots\) が始めから \(X_A,\ X_B\) と交換子だけで表現され、Baker-Campbell-Hausdorffの公式が証明されます。

この証明方法は
https://www.math.tohoku.ac.jp/~kuroki/LaTeX/20081010_Baker-Campbell-Hausdorff.pdf
を参考にさせていただきましたが、前提知識をなるべく必要としないように説明を大幅に追加し、アレンジを少し加えました。

まず証明の方針を説明しておきます。実数のパラメータ \(s,\ t\) を導入して、
$$ e^{sX_A} e^{tX_B} = e^{X_C(s,\ t)} $$
とし、\(s = t\) の条件で \(\frac{dX_C}{dt}\) を計算します。上の式から、\(s = t = 0\) のときには \(X_C(0, 0) = 0\) となるはずなので、
$$ X_C = \int_0^1 \frac{dX_C}{dt} dt $$
を計算して \(X_C\) が公式通りになることを確かめます。\(s = t\) とするので、結局先程の \(C_1,\ C_2, \cdots\) の計算と同じ \(X_C(t)\) になるんですが、なんでわざわざパラメータを2つも用意するのかと言うと、\(\frac{dX_C}{dt}\) を計算するときに、\(X_A\) 側の微分と \(X_B\) 側の微分に違う公式を適用したいからです (まだ何のことかさっぱりわからないと思いますが、後でわかります)。

では証明を始めましょう。\(X_C\) と書くのはわずらわしいので、しばらくは \(X\) と書くことにします。まず \(X\) を \(t\) の関数として \(e^X\) を \(t\) で偏微分します(偏微分としているのはパラメータが2つあるからで、普通の微分と思ってかまいません)。
\begin{eqnarray*}
\frac{\partial e^X}{\partial t} & = & \frac{\partial}{\partial t}\left\{\sum_{n = 0}^{\infty} \frac{X^n}{n!}\right\} \\
& = & \sum_{n = 1}^{\infty} \frac{1}{n!} \left\{\sum_{m = 1}^{n} X^{m-1}\frac{\partial X}{\partial t} X^{n-m} \right\}
\end{eqnarray*}
\(X \frac{\partial X}{\partial t} \neq \frac{\partial X}{\partial t} X\) かもしれないので、\(m\) についての和をまとめられないことに注意してください。しかしながら、\(X \frac{\partial e^X}{\partial t}\, – \frac{\partial e^X}{\partial t} X\) を計算すると、\(m\) についての和の最初と最後の項を残して他の項がごっそり打ち消しあい、
\begin{eqnarray*}
X \frac{\partial e^X}{\partial t}\, – \frac{\partial e^X}{\partial t} X
& = & \sum_{n = 1}^{\infty} \frac{1}{n!} \left\{X^n \frac{\partial X}{\partial t}\, – \frac{\partial X}{\partial t} {X}^n \right\} \\
& = & e^X \frac{\partial X}{\partial t}\, – \frac{\partial X}{\partial t} e^X
\end{eqnarray*}
となります。

さて、ここで2つの演算子 \(\mathrm{Ad}_X\) と \(\mathrm{ad}_X\) を導入します。
\begin{eqnarray*}
\mathrm{Ad}_X\, A & \equiv & XAX^{-1},\\
\mathrm{ad}_X\, A & \equiv & XA\ – AX
\end{eqnarray*}
すると
$$ \mathrm{ad}_X \frac{\partial e^X}{\partial t} = \left( \mathrm{Ad}_{e^X}\ – 1 \right) \frac{\partial X}{\partial t} e^X $$
と書けます。ここで形式的に
$$ \psi(\mathrm{Ad}_{e^X}) = \frac{\mathrm{ad}_X}{\mathrm{Ad}_{e^X}\ – 1} $$
と書ける演算子 \(\psi(\mathrm{Ad}_{e^X})\) を作ります。形式的にと言ったのは、\(\left( \mathrm{Ad}_{e^X}\ – 1 \right)\) の逆変換 \(\left( \mathrm{Ad}_{e^X}\ – 1 \right)^{-1}\) が存在して \(\left( \mathrm{Ad}_{e^X}\ – 1 \right)^{-1} \circ \mathrm{ad}_X\) という演算を行なうことを主張しているのではなく、結果としてこのような演算と同じになる演算子を \(\psi(\mathrm{Ad}_{e^X})\) としたかったからです。そもそも演算子の関数というのも奇妙な話で、最終的には全てテイラー展開の形で演算を行ないます。

この演算子を使えば、
$$ \frac{\partial X}{\partial t} = \left(\psi(\mathrm{Ad}_{e^X}) \frac{\partial e^X}{\partial t}\right) e^{-X} $$
となりますが、\(XB = BX\) が成り立つときは
$$ (\mathrm{Ad}_{e^X} A)\, B = \mathrm{Ad}_{e^X}(AB), \\ (\mathrm{ad}_X A)\, B = \mathrm{ad}_X (AB)\, $$
となるので、演算の順番を示す括弧は省略して
$$ \frac{\partial X}{\partial t} = \psi(\mathrm{Ad}_{e^X}) \frac{\partial e^X}{\partial t} e^{-X} \tag{A} $$
とします。

また、\(X \to -X\) として、\(0 = \frac{\partial}{\partial t}(e^{-X}e^X) = \frac{\partial e^{-X}}{\partial t} e^X + e^{-X} \frac{\partial e^{X}}{\partial t}\) であることを利用すると
\begin{eqnarray*}
\frac{\partial X}{\partial t} & = & -\psi(\mathrm{Ad}_{e^{-X}}) \frac{\partial e^{-X}}{\partial t} e^X \\
& = & \psi(\mathrm{Ad}_{e^{-X}})\, e^{-X} \frac{\partial e^{X}}{\partial t} \tag{B}
\end{eqnarray*}
と書くこともできます。

さて、演算子 \(\psi(\mathrm{Ad}_{e^X})\) を \(\mathrm{Ad}_{e^X}\) の関数としていますが、中身の記述には \(\mathrm{ad}_X\) が使われていますね。ここで \(\mathrm{Ad}_{e^X}\) と \(\mathrm{ad}_X\) の関係を調べましょう。
$$ f(x) = \mathrm{Ad}_{e^{xX}} A =e^{xX}A\,e^{-xX} $$
として、\(f(x)\) をテイラー展開します。両辺を \(x\) で微分すれば
\begin{eqnarray*}
\frac{d}{dx}f(x) & = & Xe^{xX}A\,e^{-xX} – e^{xX}AX\,e^{-xX} \\
& = & e^{xX} (XA\ – AX)\, e^{-xX} \\
& = & e^{xX} (\mathrm{ad}_X\, A)\, e^{-xX}
\end{eqnarray*}
となり、もう1回微分すれば、
$$ \frac{d^2}{dx^2}f(x) = e^{xX} ( {\mathrm{ad}_X}^2 A )\, e^{-xX} $$
n回微分すれば、
$$ \frac{d^n}{dx^n}f(x) = e^{xX} ( {\mathrm{ad}_X}^n A )\, e^{-xX} $$
となります。
これで \(f(x)\) を \(x = 0\) のまわりでテイラー展開して \(f(1)\) を計算すれば \(\mathrm{Ad}_{e^X} A\) が得られ、
$$ \mathrm{Ad}_{e^X} A = \left(1 + \mathrm{ad}_X + \frac{1}{2!} {\mathrm{ad}_X}^2 + \cdots + \frac{1}{n!} {\mathrm{ad}_X}^n + \cdots \right)A $$
となるので
$$ \mathrm{Ad}_{e^X} = e^{\mathrm{ad}_X} $$
と書けます。この式を逆にすれば
$$ \mathrm{ad}_X = \log \mathrm{Ad}_{e^X} $$
となります。

さて、\(\log x\) を \(x = 1\) のまわりでテイラー展開すると、
$$ \log x = (x\ – 1)\ – \frac{1}{2}(x\ – 1)^2 + \cdots + \frac{(-1)^n}{n+1} (x\ – 1)^{n+1} + \cdots $$
となるので、
$$ \frac{\log x}{x\ – 1} = 1\ – \frac{1}{2}(x\ – 1) + \cdots + \frac{(-1)^n}{n+1} (x\ – 1)^n + \cdots $$
となり、演算子 \(\psi(\mathrm{Ad}_{e^X})\) は
$$ \psi(\mathrm{Ad}_{e^X}) = 1\ – \frac{1}{2}(\mathrm{Ad}_{e^X}\, – 1) + \cdots + \frac{(-1)^n}{n+1} (\mathrm{Ad}_{e^X}\, – 1)^n + \cdots $$
とテイラー展開されます。

さあ、これで \(X_C\) を計算する準備が整いました。
$$ e^{X_C(s, t)} = e^{sX_A}e^{tX_B} $$
として、\(s = t\) の条件で \(X_C\) を \(t\) で全微分します。
$$ \frac{dX_C}{dt} = \frac{\partial X_C}{\partial s} \frac{\partial s}{\partial t} + \frac{\partial X_C}{\partial t} $$
ここで、\(\frac{\partial X_C}{\partial s}\) には \((A)\) の式を、\(\frac{\partial X_C}{\partial t}\) には \((B)\) の式を使うことにすると、
\begin{eqnarray*}
\frac{dX_C}{dt} & = & \psi(\mathrm{Ad}_{e^{X_C}}) \frac{\partial e^{X_C}}{\partial s} e^{-X_C} + \psi(\mathrm{Ad}_{e^{-X_C}})\, e^{-X_C} \frac{\partial e^{X_C}}{\partial t}\\
& = & \psi(\mathrm{Ad}_{e^{X_C}})\, X_A + \psi(\mathrm{Ad}_{e^{-X_C}})\, X_B
\end{eqnarray*}
を得ます。\(\psi\) をテイラー展開の形で書けば
\begin{eqnarray*}
\psi(\mathrm{Ad}_{e^{X_C}})\, X_A & = & \psi(\mathrm{Ad}_{e^{tX_A}e^{tX_B}})\, X_A \\
& = & \sum_{n = 0}^{\infty} \frac{(-1)^n}{n+1}(\mathrm{Ad}_{e^{tX_A}e^{tX_B}}\ – 1)^n\, X_A
\end{eqnarray*}
となるので、\((\mathrm{Ad}_{e^{tX_A}e^{tX_B}}\ – 1) \, X_A\) を計算してみましょう。
\begin{eqnarray*}
(\mathrm{Ad}_{e^{tX_A}e^{tX_B}}\ – 1) \, X_A & = & e^{tX_A}e^{tX_B}\, X_A\, e^{-tX_B}e^{-tX_A}\ – X_A\\
& = & e^{tX_A} ( e^{t\mathrm{ad}_{X_B}} X_A )\, e^{-tX_A}\ – X_A \\
& = & e^{t\mathrm{ad}_{X_A}} e^{t\mathrm{ad}_{X_B}} X_A\ – X_A \\
& = & \left(1 + \sum_{p=1}^{\infty}\frac{t^p\,{\mathrm{ad}_{X_A}}^p}{p!}\right)\left(1 + \sum_{q=1}^{\infty}\frac{t^q\,{\mathrm{ad}_{X_B}}^q}{q!}\right) X_A\ – X_A \\
& = & \sum_{0\ <\ p + q}\frac{t^{p+q}\,{\mathrm{ad}_{X_A}}^p\,{\mathrm{ad}_{X_B}}^q}{p!\,q!} X_A \end{eqnarray*} これを元の式に戻すと $$ \psi(\mathrm{Ad}_{e^{X_C}})\, X_A = \sum_{n = 0}^{\infty} \frac{(-1)^n}{n+1} \left( \sum_{0\ <\ p + q}\frac{t^{p+q}\,{\mathrm{ad}_{X_A}}^p\,{\mathrm{ad}_{X_B}}^q}{p!\,q!} \right)^n X_A $$ となります。もうこの時点で \(X_C\) が \(X_A\) と \(X_B\) の交換子だけで書けそうな予感がビンビンしてきますね。後で \(t\) で積分したいので、上の和を \(t\) の次数でそろえておきます。\(p,\ q\) についての和では \(0 < p + q\) という条件があるので、\(t\) がひとつも含まれないのは \(n = 0\) の項だけです。\(0 < n\) の項では \(t^{p+q}\) の和の全体を \(n\) 乗しています。ですので、\(t^m\) の項は \(p,\ q\) についての和の \(n\) 個の積の中から、\(t^{p_i+q_i}\ (i = 1, \cdots,\ n) \) の項を得らんで、\(p_i+q_i\) の総和が \(m\) になるようにすればよいわけです。つまり、 $$ \psi(\mathrm{Ad}_{e^{X_C}})\, X_A = X_A + \sum_{m = 1}^{\infty} t^m Z_m(X_A,\ X_B),\\ Z_m (X_A,\ X_B) \equiv \sum_{n=1}^{m} \frac{(-1)^n}{n + 1} \sum_{p_1,\ q_1,\ \cdots,\ p_n,\ q_n}^{m*} \frac{{\mathrm{ad}_{X_A}}^{p_1}\,{\mathrm{ad}_{X_B}}^{q_1} \cdots {\mathrm{ad}_{X_A}}^{p_n}\,{\mathrm{ad}_{X_B}}^{q_n}}{p_1!\,q_1! \cdots p_n!\, q_n} X_A $$ とかけます。さらに \(Z_0(X_A,\ X_B) \equiv X_A\) と定義してしまえば、 $$ \psi(\mathrm{Ad}_{e^{X_C}})\, X_A = \sum_{m = 0}^{\infty} t^m Z_m(X_A,\ X_B) $$ とまとめることができます。 上の \(p_1,\ q_1, \cdots,\ p_n,\ q_n\) に対する和がややこしいのですが、\(\sum_{i = 1}^{n}(p_i+q_i)=m\) かつ \(0\ \lt\ p_i + q_i\) を満たすあらゆる非負の整数 \(p_1,\ q_1, \cdots, p_n,\ q_n\) の組に対する和になります。また、元々 \(n\) 乗していた \(p,\ q\) の和では \(0 \lt p + q\) という条件があったので、最低でも \(t\) の1次の項が含まれることになり、\(n\) についての和は \(m\) まで取れば十分です。 \(\psi(\mathrm{Ad}_{e^{-X_C}})\, X_B\) の項は \(e^{-X_C} = e^{-tB}e^{-tA}\) であるので、上の式で \(X_A\) と \(X_B\) を入れ替え、\(t\) を \(-t\) とすれば得られます。 $$ \psi(\mathrm{Ad}_{e^{-X_C}})\, X_B = \sum_{m = 0}^{\infty} (-t)^m Z_m(X_B,\ X_A) $$ これで、 \begin{eqnarray*} \frac{dX_C}{dt} & = & \psi(\mathrm{Ad}_{e^{X_C}})\, X_A + \psi(\mathrm{Ad}_{e^{-X_C}})\, X_B \\ & = & \sum_{m = 0}^{\infty} t^m \left\{Z_m(X_A,\ X_B) + (-1)^m Z_m(X_B,\ X_A)\right\} \end{eqnarray*} が得られました。これを \(t\) について \(0\) から \(1\) の範囲で積分すれば、 \begin{eqnarray*} X_C & = & \sum_{m = 0}^{\infty} \frac{1}{m + 1} \left\{Z_m(X_A,\ X_B) + (-1)^m Z_m(X_B,\ X_A)\right\} \end{eqnarray*} を得ます。少し計算してみましょう。 \begin{eqnarray*} C_1 & = & Z_0(X_A,\ X_B) + Z_0(X_B,\ X_A) = X_A + X_B\\ C_2 & = & \frac{1}{2}\{Z_1(X_A,\ X_B) + Z_1(X_B,\ X_A)\}\\ & = & \frac{1}{2}\frac{-1}{2}(\mathrm{ad}_{X_B}\,X_A - \mathrm{ad}_{X_A}\,X_B) \\ & = & \frac{1}{2}[X_A,\ X_B]\\ C_3 & = & \frac{1}{3}\{Z_2(X_A,\ X_B) + Z_2(X_B,\ X_A)\}\\ & = & \frac{1}{3}\left\{ \frac{-1}{2}\left( \frac{\mathrm{ad}_{X_A}\mathrm{ad}_{X_B}\,X_A + \mathrm{ad}_{X_B}\mathrm{ad}_{X_A}\,X_B}{1!\, 1!} + \frac{\mathrm{ad}_{X_B}\mathrm{ad}_{X_B}\,X_A + \mathrm{ad}_{X_A}\mathrm{ad}_{X_A}\,X_B}{2!\, 0!}\right) \right. \\ & & + \left. \frac{1}{3}\frac{\mathrm{ad}_{X_A}\mathrm{ad}_{X_B}\,X_A + \mathrm{ad}_{X_B}\mathrm{ad}_{X_B}\,X_A + \mathrm{ad}_{X_B}\mathrm{ad}_{X_A}\,X_B + \mathrm{ad}_{X_A}\mathrm{ad}_{X_A}\,X_B}{1!\, 0!\, 1!\, 0!} \right\} \\ & = & \frac{1}{36}(-2[X_A,\ [X_B,\ X_A]\ - 2[X_B,\ [X_A,\ X_B]] + [X_B,\ [X_B,\ X_A] + [X_A,\ [X_A,\ X_B]]) \\ & = & \frac{1}{12}([X_B,\ [X_B,\ X_A] + [X_A,\ [X_A,\ X_B]]) \end{eqnarray*} ちゃんと Baker-Campbell-Hausdorffの公式と一致してますね。これ以降の項も全て \(X_A\) と \(X_B\) の交換子を使って書けることは \(\mathrm{ad}_{X_A},\ \mathrm{ad}_{X_B}\) の定義から明らかなので、これで証明は終わりです。

6 thoughts on “クォータニオン徹底解説

  • 2018/11/04 at 6:20 AM
    Permalink

    Baker-Campbell-Hausdorffの公式と X, Y, Z の交換関係
    [X, Y]=Z, [Y, Z]=X, [Z, X]=Y

    を使えば、 e^XC=e^XA*e^XB としたときの XC は
    XC={a⃗ +b⃗ +12(a⃗ ×b⃗ )+112{a⃗ ×(a⃗ ×b⃗ )+b⃗ ×(b⃗ ×a⃗ )}+⋯}⋅X
    これのどこに交換関係を利用しておられるのですか?

    Reply
  • 2018/11/04 at 6:22 AM
    Permalink

    9ページの最初の方に書かれている内容です

    Reply
  • 2018/11/05 at 11:47 AM
    Permalink

    コメントありがとうございます。
    $$ [X_A, X_B] = (\vec{a} \times \vec{b}) \cdot \vec{X} $$
    とするのに使っています。

    Reply
  • 2018/11/06 at 4:26 AM
    Permalink

    こんな質問にまで答えてくださりありがとうございます

    Reply
  • 2018/11/07 at 4:50 AM
    Permalink

    10ページの内容なのですがR(a→ 、 θ)にベクトルv→ をかけるとa→ を軸にθだけ回転した式が与えられるのであればRに対応したクォータニオンqで
    v→*qで回転したv→が求められそうだと思ったのですが、これでは値は求められないのでしょうか?

    Reply
    • 2018/11/07 at 1:18 PM
      Permalink

      9ページまでの説明で、回転行列同士の積とクォータニオン同士の積は同じ振舞いをすることがわかったわけですが、ベクトルに対する作用が同じということまでは言えません。そもそも、ベクトルにクォータニオンを作用させる方法も定義されていません。
      そこで、10ページ目では、回転行列の座標変換(これは回転行列同士の積だけで表される)を使ってベクトル(回転軸)が変換されることを示し、それに対応したクォータニオン同士の積から、クォータニオンでベクトルを回転させる方法を導いています。

      Reply

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

Anti Spam Code *