
生成子からロドリゲスの回転公式を導出する
これは何の記事?
筆者のメモ書きです.デュエマたのしい!
この記事では$${\frak{so}(3)}$$の性質から,ロドリゲスの回転公式を導出します.諸事情より筆者はリー代数を知らないので細かい表現が間違っている場合があります.温かい目で見守ってください.
ロドリゲスの回転公式
三次元における回転はよくx,y,z軸を回転軸としたそれぞれの回転の合成として表されます.これとは別に,回転軸一つと回転角の4つのパラメータを用いた表し方もあります.回転軸を(規格化して)$${n=(n_1, n_2, n_3)}$$,回転角を$${\theta}$$としたとき,ある点$${a=(x,y,z)}$$とそれを移動させた点$${a'=(x',y',z')}$$には以下の公式が成り立ちます.
$$
\begin{split}
a'&=\cos(\theta)a+(1-\cos(\theta))(a\cdot n)n+\sin(\theta)(n\times a)\\
&=\begin{pmatrix}
(1-\cos(\theta))n_1^2 +\cos(\theta)&(1-\cos(\theta))n_1n_2-\sin(\theta)n_3&(1-\cos(\theta))n_1n_3+\sin(\theta)n_2\\
(1-\cos(\theta))n_1n_2+\sin(\theta)n_3&(1-\cos(\theta))n_2^2 +\cos(\theta)&(1-\cos(\theta))n_2n_3-\sin(\theta)n_1\\
(1-\cos(\theta))n_1n_3-\sin(\theta)n_2&(1-\cos(\theta))n_2n_3-\sin(\theta)n_1&(1-\cos(\theta))n_3^2 +\cos(\theta)
\end{pmatrix}
\begin{pmatrix}x\\y\\z\end{pmatrix}
\end{split}
$$
ベクトルの表記を用いた,高校数学での導出は以下に書いています.
SO(3)の生成子から導出する
回転行列の条件
三次元の回転行列$${R(\theta)}$$が存在するとします.回転という操作は直線を直線に移すので,何らかの平方行列$${R}$$をかける操作,すなわち元の座標を$${x}$$,回転後の座標を$${x'}$$とすると,
$$
x'=Rx
$$
と表せます.また,距離も保存され$${(Rx)^2=x^2}$$が成り立ちます.そのため
$$
(Rx)^2=(Rx)^T
Rx=x^TR^TRx=x^Tx
$$
よって,$${R}$$は
$$
R^TR=E
$$
を満たします.
微小変換
回転行列$${R}$$をテイラー展開すると,($${\bm\epsilon}$$は3行のベクトルです).
$$
R(\bm\epsilon)=1-i\bm\epsilon\cdot \bm T+o({\bm\epsilon}^2)
$$
ここで$${T}$$は生成子と呼ばれる正方行列です(以前の記事参照).これを$${R^TR}$$に代入すると,
$$
(1-i\bm\epsilon T)(1-i\bm\epsilon T) \approx1
$$
よって,少なくとも(これだけで十分であることが後でわかりますが)
$$
T^T=-T
$$
これを愚直に解くと,$${T}$$は実数$${\theta_1, \theta_2,\theta_3}$$を用いて
$$
\begin{split}
T&=\begin{pmatrix}0&-i\theta_3&i\theta_2\\
i\theta_3&0&-i\theta_1\\
-i\theta_2&i\theta_1&0
\end{pmatrix}\\
\end{split}
$$
と書けます.係数を除いてよくよく見ると,これは三つに分けられ,
$$
T=\theta_1\begin{pmatrix}0&0&0\\0&0&-i\\0&i&0\end{pmatrix}
+\theta_2\begin{pmatrix}0&0&i\\0&0&0\\-i&0&0\end{pmatrix}
+\theta_3\begin{pmatrix}0&-i&0\\i&0&0\\0&0&0\end{pmatrix}
$$
とできます.それぞれの$${3\times3}$$行列を$${T_a(a=1,2,3)}$$と書くと,$${T=\bm{\theta}\cdot\bm{T}, (\bm{\theta}=(\theta_1, \theta_2, \theta_3),\bm{T}=(T_1, T_2, T_3))}$$と表せます.
ここにおける$${T_a}$$はそれぞれyz平面,xz平面,xy平面を回転平面とした二次元回転の生成子に一致しています.(各座標軸を回転軸とした回転の合成として$${R}$$を作ることもできるということです)
さて,微小変換の話に移ります.$${R(\bm\epsilon)}$$をテイラー展開すると,
$$
R(\bm\epsilon)=1-i\bm\epsilon T+o(\bm\epsilon^2)
$$
$${SO(2)}$$のときと同様にすると,$${R(n\bm\epsilon)=(1-i\bm\epsilon\cdot\bm T)^n}$$ですから$${\bm\theta=n\bm\epsilon}$$として,
$$
\begin{split}
R(\bm\theta)&=\lim_{n\rightarrow\infty}(1-i\bm\epsilon \cdot \bm T)^n=\lim_{n\rightarrow\infty}\left(1-\frac{i\bm\theta\cdot\bm T}{n}\right)^n=e^{-i\bm\theta\cdot\bm T}\\
&=\sum_{k=0}^{\infty}{\frac{(-i)^k}{k!}}(\bm\theta\cdot\bm T)^k \\
&=\sum_{k=0}^{\infty}{\frac{(-i\theta)^k}{k!}(\bm n\cdot\bm T)^k}
\end{split}
$$
と表せます.($${\theta=|\bm\theta|, \bm n=\frac{\bm\theta}{|\bm\theta|}}$$とした.)
具体的にRを求める
$${R}$$を級数で表現できたはいいもののそのままではどのような関数なのかが分かりません.そのため,ちょうど指数関数のようになっていることに着目し,$${SO(2)}$$の場合と同じように三角関数のテイラー展開の和として表せないか考えてみます.$${\bm n\cdot\bm T}$$の和が厄介なので,なんとか圧縮できないか試してみます.
まず,
$$
\bm n\cdot\bm T=i\begin{pmatrix}0&-n_3&n_2\\n_3&0&-n_1\\-n_2&n_1&0\end{pmatrix}
$$
また,
$$
(\bm n\cdot\bm T)^2=\begin{pmatrix}n_2^2+n_3^2&-n_1n_2&-n_1n_3\\-n_1n_2&n_1^2+n_3^2&-n_2n_3\\-n_1n_3&-n_2n_3&n_1^2+n_2^2\end{pmatrix}
$$
$${\bm n^2=1}$$ですから(規格化されている),$${n_1^2+n_2^2+n_3^2=1}$$より$${n_1^2+n_2^2=1-n_3^2}$$なので,
$$
(\bm n\cdot\bm T)^2=1-\begin{pmatrix}n_1^2&n_1n_2&n_1n_3\\n_1n_2&n_2^2&n_2n_3\\n_1n_3&n_2n_3&n_3^2\end{pmatrix} =1-\bm n\bm n^T
$$
ここで$${(\bm n\cdot\bm T)^3=(\bm n\cdot\bm T)(1-\bm n\bm n^T)=\bm n\cdot\bm T-(\bm n\cdot\bm T)(\bm n\bm n^T)}$$であり,驚くべきことに,
$$
\begin{split}
(\bm n\cdot\bm T)(\bm n\bm n^T)&=
i\begin{pmatrix}0&-in_3&in_2\\
in_3&0&-in_1\\
-in_2&in_1&0\end{pmatrix}
\begin{pmatrix}n_1^2&n_1n_2&n_1n_3\\n_1n_2&n_3^2&n_2n_3\\n_1n_3&n_2n_3&n_3^2\end{pmatrix}\\
&=i\begin{pmatrix}-n_1n_2n_3+n_1n_2n_3&-n_2^2n_3+n_2^2n_3&n_1n_2n_3-n_1n_2n_3\\
n_1^2n_3-n_1^2n_3&n_1n_2n_3-n_1n_2n_3&n_1n_3^2-n_1n_3^2\\
-n_1^2n_2+n_1^2n_2&-n_1n_2^2+n_1n_2^2&-n_1n_2n_3+n_1n_2n_3
\end{pmatrix}\\
&=O おお。
\end{split}
$$
なので,
$$
(\bm n\cdot\bm T)^3=\bm n\cdot\bm T, (\bm n\cdot\bm T)^4=(\bm n\cdot\bm T)^2
$$
が導けました.これを使って$${e^{-i\bm\theta\cdot\bm T}}$$を変形すると,
$$
\begin{split}
R(\bm\theta)&=\sum_{k=0}^{\infty}{\frac{(-i\theta)^k}{k!}(\bm n\cdot\bm T)^k}\\
&=E+(-i\theta)(\bm n\cdot\bm T)+\frac{(-i\theta)^2(\bm n\cdot\bm T)^2}{2!}+\frac{(-i\theta)^3(\bm n\cdot\bm T)^3}{3!}+\cdots\\
&=E+(\bm n\cdot\bm T)((-i\theta)+\frac{(-i\theta)^3}{3!}+\cdots)\\&~~~~~~~+(\bm n\cdot\bm T)^2(1+\frac{(-i\theta)^2}{2!}+\cdots-1)\\
&=E-i(\bm n\cdot\bm T)\sin(\theta)+(1-\bm n\bm n^T)(\cos(\theta)-1)\\
&=\bm n\bm n^T-i(\bm n\cdot\bm T)\sin(\theta)+(1-\bm n\bm n^T)\cos(\theta)\\
&=\begin{pmatrix}
(1-\cos(\theta))n_1^2 +\cos(\theta)&(1-\cos(\theta))n_1n_2-\sin(\theta)n_3&(1-\cos(\theta))n_1n_3+\sin(\theta)n_2\\
(1-\cos(\theta))n_1n_2+\sin(\theta)n_3&(1-\cos(\theta))n_2^2 +\cos(\theta)&(1-\cos(\theta))n_2n_3-\sin(\theta)n_1\\
(1-\cos(\theta))n_1n_3-\sin(\theta)n_2&(1-\cos(\theta))n_2n_3-\sin(\theta)n_1&(1-\cos(\theta))n_3^2 +\cos(\theta)
\end{pmatrix}
\end{split}
$$
おお おおだろこれは おお なにがおおだよ おお おお おおおお すごい なるほど おお なにがおおだよ これはおおだろ おお すごい おお おお
こ…これは…
以上のようにして$${R^TR=1}$$からロドリゲスの公式を導くことができました!!!やった!
ちなみに図形的意味も見つけることができます.ベクトル$${\bm n}$$は規格化された回転軸方向のベクトルなので,その方向のベクトルに$${R}$$をかけても変わらないはずです.実際にベクトル$${\alpha\bm n, \alpha\in\R}$$を使うと,
$$
\begin{split}
R(\bm\theta)\alpha\bm n&=(\bm n\bm n^T-i(\bm n\cdot\bm T)\sin(\theta)+(1-\bm n\bm n^T)\cos(\theta))\alpha\bm n\\
&= (\bm n\bm n^T)\bm n-i(\bm n\cdot\bm T)\bm n\sin(\theta)+\bm n\cos(\theta)-(\bm n\bm n^T)\bm n\cos(\theta)
\end{split}
$$
ここで,
$$
\begin{split}
(\bm n\bm n^T)\bm n &= \begin{pmatrix}n_1^2&n_1n_2&n_1n_3\\n_1n_2&n_3^2&n_2n_3\\n_1n_3&n_2n_3&n_3^2\end{pmatrix}\begin{pmatrix}n_1\\n_2\\n_3\end{pmatrix}\\
&=(n_1^2+n_2^2+n_3^2)\begin{pmatrix}n_1\\n_2\\n_3\end{pmatrix}\\
&= \bm n
\end{split}
$$
また,
$$
\begin{split}
(\bm n\cdot\bm T)\bm n&=\begin{pmatrix}0&-in_3&in_2\\
in_3&0&-in_1\\
-in_2&in_1&0
\end{pmatrix}\begin{pmatrix}n_1\\n_2\\n_3\end{pmatrix}\\
&=i\begin{pmatrix}n_2n_3-n_3n_2\\n_1n_3-n_3n_1\\n_1n_2-n_2n_1\end{pmatrix} \\
&=i(\bm n\times\bm n)=O おお
\end{split}
$$
より,
$$
\begin{split}
R(\bm\theta)\alpha\bm n&=(\bm n\bm n^T-i(\bm n\cdot\bm T)\sin(\theta)+(1-\bm n\bm n^T)\cos(\theta))\alpha\bm n\\
&= \alpha((\bm n\bm n^T)\bm n-i(\bm n\cdot\bm T)\bm n\sin(\theta)+\bm n\cos(\theta)-(\bm n\bm n^T)\bm n\cos(\theta))\\
&=\alpha(\bm n-O+\bm n\cos(\theta)-\bm n\cos(\theta))\\
&= \alpha\bm n
\end{split}
$$
と言うように,全く変化しません.やったね!
まとめ
いつか物理学か何かでこの公式を見かけたときは,「おれこれ,りーだいすうからどうしゅつできるぜ!!!」とイキリましょう.まともに群論を理解している人間なんていないので無双し放題です.やったね!
おまけ
ロドリゲスの回転公式はロドリーグの回転公式ともいわれます.これは人名のスペルがRodriguesであることからきています.また,「ロドリゲスの公式」でググるとおそらく微分方程式の話が出てきますが,同じ人です.ガウスみたいなもんです.