[[FrontPage]]
[[数学]]
//表記ゆれ用、クオータニオン


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

*参考 [#o3d0df66]
-金谷一朗さんのベクトル・複素数・クォータニオンの資料を参考
-http://www.mss.co.jp/technology/report/pdf/18-07.pdf
-[[具体的な計算例がある>http://mathtrain.jp/quaternion]]
-http://www.slideshare.net/tokoro10g/quadruptor

*未整理 [#xabe7321]
四元数の積は可換ではない

ベクトルの回転変換が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次元になる)
3次元ベクトルのクォータニオン表示=[0, x_i s_i](3次元、だが積で4次元になる)
任意の三次元ベクトル中心回転が可能。
クオータニオン積が、単位行列成分が内積・パウリ行列成分が外積となる
クォータニオン積が、単位行列成分が内積・パウリ行列成分が外積となる

-so(3)->SO(3)の写像は指数関数である。
|exp(対称行列)=対称行列|exp(エルミート行列)=エルミート行列|
|exp(反対称行列)=直交行列|exp(反エルミート行列)=ユニタリ行列|

*整理 [#fa2be276]
-定義
--&mimetex($\sigma_i$);はパウリ行列
--&mimetex($J_i$);は生成子

||反対称行列=SO(2)|複素数|SO(3)|エルミート表示=SU(2)|クオータニオン表示|h
||反対称行列=SO(2)|複素数|SO(3)|エルミート表示=SU(2)|クォータニオン表示|h
|ベクトルの表示|&mimetex($Z=[a, b]_M=a1+bI$);|&mimetex($z=[a, b]=a+bi$);||&mimetex($\xi = \sigma_i x^i$);|&mimetex($q=[0, \sigma_i x^i]$);。重要なのは、これが回転行列の表記が同じこと|
|回転の表示||||&mimetex($U=\begin{bmatrix} \alpha & \beta \\ -\beta^* & \alpha^* \end{bmatrix}=1u_0+i\sigma^i u_i, \Sigma u_i^2 = 1$);|&mimetex($U=\begin{bmatrix} \alpha & \beta \\ -\beta^* & \alpha^* \end{bmatrix}=1u_0+i\sigma^i u_i, \Sigma u_i^2 = 1$);|
|特殊直交|特殊直交行列||特殊直交行列|特殊ユニタリ行列|特殊ユニタリ行列|
|逆|&mimetex($Z^{-1}=\frac{z^t}{norm(Z)^2}$);|&mimetex($z^{-1}=\frac{z^*}{norm(z)^2}$);|||&mimetex($q^{-1} = \frac{q^*}{norm(q)^2}$);|
|共役相当|転置|共役||エルミート共役|共役クオータニオン|
|共役相当|転置|共役||エルミート共役|共役クォータニオン|
|内積|&mimetex($<A, B>=\frac{1}{2} tr(A^t B)$);|||&mimetex($<A, B>=\frac{1}{2} tr(A^\dagger B)$);|&mimetex($<q_{(1)}, q_{(2)}> = \frac{1}{2} tr(q_{(1)}^* q_{(2)})$);|
|ノルムの二乗|&mimetex($<Z, Z>$);|&mimetex($z^* z$);||&mimetex($<Z, Z>$);|&mimetex($<q, q>$);|
|回転|&mimetex($T(\theta)=\exp[0, \theta]_M=[\cos(\theta), \sin(\theta)]_M$);|&mimetex($T(\theta)=\exp[0, \theta]=[\cos(\theta), \sin(\theta)]$);|&mimetex($T_i(\theta)=exp(J_i \theta)$);|&mimetex($U_i(\theta)=\exp[0, \sigma_3 \theta_3 /2], \xi' = U_3 \xi U_3^\dagger$);|&mimetex($V_i(\theta)=\exp[0, \sigma_3 \theta_3 /2], \xi' = V_3 \xi V_3^\dagger$);|
|一般回転|||&mimetex($T(\Delta \theta)=exp(J_i \Delta \theta_i)=\bf{1}+J_i \Delta \theta_i$);|オイラー角回転&mimetex($U_i(\theta)=\exp[0, \sigma \theta /2], \xi' = U \xi U^\dagger$);|i軸回り回転&mimetex($V_i(\theta)=\exp[0, \sigma \theta /2], \xi' = V \xi V^\dagger$);, 正規ベクトルr周り&mimetex($V_i(\theta, r)=[\cos(\theta/2), \sigma_i r^i \sin(\theta /2)], \xi' = V \xi V^\dagger$);|
|備考|||||クオータニオンX, Yに対して&mimetex($XY=-[<x, y>, \sigma_i (x \times y)]$);、&mimetex($\xi' = V \xi V^\dagger$);は座標系回転なので、ベクトル回転したい場合は左手ルール(必ず右からVをかける)を用いて&mimetex($\xi' = V^\dagger \xi V$);、球面線形補完可能|

-といいつつも、左手トリックを使わずにふつうにクォータニオンを左からかけて変換になってるんだが…
-クォータニオン積を実現する、同値な4次元ベクトルと4次行列(反対称行列)が存在
--クォータニオン&mimetex($[\omega_0, \omega_i]$);に対して、
--反対称行列&mimetex($\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}$);と&mimetex($\begin{bmatrix} \omega_0 \\ \omega_1 \\ \omega_2 \\ \omega_3  \end{bmatrix}$);がそれぞれ同値。

-&mimetex($q = (a, v),  P = (w, x)$);に対して、qPq'に同値なクォータニオンの行列表示M P_Mが存在し、Mは以下のように表現可能
--&mimetex($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]
---&mimetex($\dot{q} = q [0, \omega]/2$);
--地球座標系からセンサ座標系のSO(3)の元Rに対して、センサ座標系で観測された角速度ベクトルωによる、Rの時間発展([[回転行列の時間発展と証明>http://maildbs.c.u-tokyo.ac.jp/~kuniba/atsuo/mech2005_s.pdf]])
---&mimetex($\dot{R} = \Omega R$);ただし&mimetex($\Omega=\omega \times = \begin{bmatrix}0 & -\omega_3 & \omega_2 \\ \omega_3 & 0 & -\omega_1 \\ -\omega_2 & \omega_1 & 0 \end{bmatrix}$);

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS