続けて、無限小回転を手を動かして確認する。
x 軸周りに x 回す回転 Rx は、
と表される。同様に、y 軸、z 軸周りの回転も
となる。
これらを続けて行った結果は大変ヤヤコシイので、以降では maxima で計算する。
(%i17) Rx: matrix([cos(x), -sin(x), 0],[sin(x), cos(x), 0], [0, 0, 1]); [ cos(x) - sin(x) 0 ] [ ] (%o17) [ sin(x) cos(x) 0 ] [ ] [ 0 0 1 ] (%i18) Ry: matrix([1, 0, 0], [0, cos(y), -sin(y)],[0, sin(y), cos(y)]); [ 1 0 0 ] [ ] (%o18) [ 0 cos(y) - sin(y) ] [ ] [ 0 sin(y) cos(y) ] (%i19) Rz: matrix([cos(z), 0, sin(z)], [0, 1, 0],[-sin(z), 0, cos(z)]); [ cos(z) 0 sin(z) ] [ ] (%o19) [ 0 1 0 ] [ ] [ - sin(z) 0 cos(z) ] (%i21) Rx.Ry.Rz; [ cos(x) cos(z) - sin(x) sin(y) sin(z) ] [ ] (%o21) Col 1 = [ cos(x) sin(y) sin(z) + sin(x) cos(z) ] [ ] [ - cos(y) sin(z) ] [ - sin(x) cos(y) ] [ cos(x) sin(z) + sin(x) sin(y) cos(z) ] [ ] [ ] Col 2 = [ cos(x) cos(y) ] Col 3 = [ sin(x) sin(z) - cos(x) sin(y) cos(z) ] [ ] [ ] [ sin(y) ] [ cos(y) cos(z) ]
ここで、Taylor 展開を思い出すと、
であるから、一次の項だけ残すと、
となる。これを代入して、xy なども消すと、
となる。これが微小回転の行列表現である。
通常の回転は可換ではないが、無限小回転は可換である。実際に試してみると、
(%i24) Rx.Ry; [ cos(x) - sin(x) cos(y) sin(x) sin(y) ] [ ] (%o24) [ sin(x) cos(x) cos(y) - cos(x) sin(y) ] [ ] [ 0 sin(y) cos(y) ] (%i25) Ry.Rx; [ cos(x) - sin(x) 0 ] [ ] (%o25) [ sin(x) cos(y) cos(x) cos(y) - sin(y) ] [ ] [ sin(x) sin(y) cos(x) sin(y) cos(y) ]
となるが、どちらも一次の項だけを残せば、
となって一致する。
結晶学では、9の自由度を持つ方位行列 A を、A = UB と分離して精密化する際に用いられる。B は基準方位での逆空間の基底ベクトルを並べたもので、計算法は Orthogonalization matrix の導出と、格子定数による偏微分 - biochem_fan's note で述べた。U は B を実際の結晶方位に回転するための行列である。精密化では、U をさらに と分離して考える。前者が今回求めた無限小回転の行列であり、3つの自由度 x, y, z (mis-set angle と呼ばれる) を持つ。 は回転の初期状態であり、単なる定数である。
結局、A の9つの自由度を、6つの格子定数() に係る部分 B と、3つの結晶方位(U0 は固定されているので、変数としては x, y, z)にかかわる部分 U に分離したことになる。精密化において必要となるのは A の偏微分だが、関係ない部分はただの定数扱いで消えるので計算が簡潔になる。また、A の成分をそのまま精密化するのと違って、Bravais 格子による制約(a = b など) を簡単に表現できるという利点もある。詳しくは次回。
無限小回転について、詳しくは、「物理のかぎしっぽ」内の記事が丁寧である。また、数学的には Lie 群の生成子としての意味があるが、ここでは触れない。