FrontPage

概要

  • 特徴
    • 計算が軽い
    • 角速度ベクトルが直で使える
    • 時間発展も楽。
  • アフィン変換もできる二重クォータニオンなるものもある

参考

未整理

四元数の積は可換ではない

ベクトルの回転変換が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}$

トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS