数学
概要 †
- 特徴
- 計算が軽い
- 角速度ベクトルが直で使える
- 時間発展も楽。
- アフィン変換もできる二重クォータニオンなるものもある
参考 †
未整理 †
四元数の積は可換ではない
ベクトルの回転変換がSU(2)の世界では相似変換となる。
1階テンソル=2階スピノール
SO(3)=SU(2)/C_2 (C_2は2次巡回群)
リー代数so(3)=su(2)
SO(2)=U(1)
exp(A)exp(B)=exp(A+B)は、可換の時だけ。
一般のexp(A)exp(B)は、ベーカーキャンベルハウスドルフの公式で求まる。
SU(2)は、単位行列成分と3つのパウリ行列で表せる。
特殊ユニタリ行列はパウリ行列の線形和で表される。
3次元ベクトルのエルミート表示=x_i s_i(3次元)
オイラー角に相当する回転を実現
線形化すればオイラー角の合成も可能
3次元ベクトルのクォータニオン表示=[0, x_i s_i](3次元、だが積で4次元になる)
任意の三次元ベクトル中心回転が可能。
クォータニオン積が、単位行列成分が内積・パウリ行列成分が外積となる
- so(3)->SO(3)の写像は指数関数である。
exp(対称行列)=対称行列 | exp(エルミート行列)=エルミート行列 |
exp(反対称行列)=直交行列 | exp(反エルミート行列)=ユニタリ行列 |
整理 †
- 定義
- \( \sigma_i \)はパウリ行列
- \( J_i \)は生成子
| 反対称行列=SO(2) | 複素数 | SO(3) | エルミート表示=SU(2) | クォータニオン表示 |
ベクトルの表示 | \( Z=[a, b]_M=a1+bI \) | \( z=[a, b]=a+bi \) | | \( \xi = \sigma_i x^i \) | \( q=[0, \sigma_i x^i] \)。重要なのは、これが回転行列の表記が同じこと |
回転の表示 | | | | \( U=\begin{bmatrix} \alpha & \beta \\ -\beta^* & \alpha^* \end{bmatrix}=1u_0+i\sigma^i u_i, \Sigma u_i^2 = 1 \) | \( U=\begin{bmatrix} \alpha & \beta \\ -\beta^* & \alpha^* \end{bmatrix}=1u_0+i\sigma^i u_i, \Sigma u_i^2 = 1 \) |
特殊直交 | 特殊直交行列 | | 特殊直交行列 | 特殊ユニタリ行列 | 特殊ユニタリ行列 |
逆 | \( Z^{-1}=\frac{z^t}{norm(Z)^2} \) | \( z^{-1}=\frac{z^*}{norm(z)^2} \) | | | \( q^{-1} = \frac{q^*}{norm(q)^2} \) |
共役相当 | 転置 | 共役 | | エルミート共役 | 共役クォータニオン |
内積 | \( <A, B>=\frac{1}{2} tr(A^t B) \) | | | \( <A, B>=\frac{1}{2} tr(A^\dagger B) \) | \( <q_{(1)}, q_{(2)}> = \frac{1}{2} tr(q_{(1)}^* q_{(2)}) \) |
ノルムの二乗 | \( <Z, Z> \) | \( z^* z \) | | \( <Z, Z> \) | \( <q, q> \) |
回転 | \( T(\theta)=\exp[0, \theta]_M=[\cos(\theta), \sin(\theta)]_M \) | \( T(\theta)=\exp[0, \theta]=[\cos(\theta), \sin(\theta)] \) | \( T_i(\theta)=exp(J_i \theta) \) | \( U_i(\theta)=\exp[0, \sigma_3 \theta_3 /2], \xi' = U_3 \xi U_3^\dagger \) | \( V_i(\theta)=\exp[0, \sigma_3 \theta_3 /2], \xi' = V_3 \xi V_3^\dagger \) |
一般回転 | | | \( T(\Delta \theta)=exp(J_i \Delta \theta_i)=\bf{1}+J_i \Delta \theta_i \) | オイラー角回転\( U_i(\theta)=\exp[0, \sigma \theta /2], \xi' = U \xi U^\dagger \) | i軸回り回転\( V_i(\theta)=\exp[0, \sigma \theta /2], \xi' = V \xi V^\dagger \), 正規ベクトルr周り\( V_i(\theta, r)=[\cos(\theta/2), \sigma_i r^i \sin(\theta /2)], \xi' = V \xi V^\dagger \) |
備考 | | | | | クオータニオンX, Yに対して\( XY=-[<x, y>, \sigma_i (x \times y)] \)、\( \xi' = V \xi V^\dagger \)は座標系回転なので、ベクトル回転したい場合は左手ルール(必ず右からVをかける)を用いて\( \xi' = V^\dagger \xi V \)、球面線形補完可能 |
- といいつつも、左手トリックを使わずにふつうにクォータニオンを左からかけて変換になってるんだが…
- クォータニオン積を実現する、同値な4次元ベクトルと4次行列(反対称行列)が存在
- クォータニオン\( [\omega_0, \omega_i] \)に対して、
- 反対称行列\( \begin{bmatrix} \omega_0 & -\omega_1 & -\omega_2 & -\omega_3 \\ \omega_1 & \omega_0 & -\omega_3 & \omega_2 \\ \omega_2 & \omega_3 & \omega_0 & -\omega_1 \\ \omega_3 & -\omega_2 & \omega_1 & \omega_0 \\ \end{bmatrix} \)と\( \begin{bmatrix} \omega_0 \\ \omega_1 \\ \omega_2 \\ \omega_3 \end{bmatrix} \)がそれぞれ同値。
- \( q = (a, v), P = (w, x) \)に対して、qPq'に同値なクォータニオンの行列表示M P_Mが存在し、Mは以下のように表現可能
- \( M = 1/norm(q)^2 \begin{bmatrix} norm(q)^2-2v_y^2-2v_z^2 & 2v_x v_y-2av_z & 2v_x v_z+2av_y & 0 \\2v_xv_y+2av_z &norm(q)^2-2vz2-2vx2 &2vyvz-2avx &0 \\2v_xv_z-2av_y &2v_yv_z+2av_x &norm(q)^2-2 v_y^2-2v_y^2 &0 \\0 &0 &0 &norm(q)^2\end{bmatrix} \)
- 時間発展
- 地球座標系からセンサ座標系の単位クォータニオンqに対して、センサ座標系で観測された角速度ベクトルωによる、qの時間発展 [D.R.P.R.B.M.Joseph M. Cooke, 1994]
- \( \dot{q} = q [0, \omega]/2 \)
- 地球座標系からセンサ座標系のSO(3)の元Rに対して、センサ座標系で観測された角速度ベクトルωによる、Rの時間発展(回転行列の時間発展と証明)
- \( \dot{R} = \Omega R \)ただし\( \Omega=\omega \times = \begin{bmatrix}0 & -\omega_3 & \omega_2 \\ \omega_3 & 0 & -\omega_1 \\ -\omega_2 & \omega_1 & 0 \end{bmatrix} \)