状態推定のためのLie群上の最適化4
前回の投稿からだいぶ時間が空いてしまいました.
今回は、Lie群上の最適化でとても重要な要素となる、導関数(Jacobian)についてまとめます.
実数空間におけるJacobian
復習として実数空間で定義される関数のJacobian(ヤコビ行列)についてみていきましょう.
ベクトル入力ベクトル出力の関数について,Jacobianは次のように定義されます.
ここで,各列 は次のように定義されます(はにおける番目の自然な基底.)
つまりJacobianは,定義域の変数の各基底方向への微小な移動に対する変化率(ベクトル)を横方向に並べたもの,と捉えることができます.
元解説論文では,次のような演算を定義してJacobianの定義を簡潔にしています.
ベクトルによる割り算なんて定義していないのですが,「分母の要素ごとに分子の要素を割って並べる」という操作とします.
Jacobianは直観的に,「変数の微小移動を,関数の微小移動に変換する線形写像」,と考えることができます.
次の一次近似はその線形写像を表しています.
Lie群上のRight Jacobian
上のJacobianは,実数空間上の関数値の微小変化率という形で定義されています.
前の話で,定義したLie群の要素間の和と差 , を定義しました. このLie群上の演算を使うと,Lie群からLie群への写像の,Jacobianを考えることができます. つまり,あるLie群上の変数(例えば回転)を別のLie群上(これはユークリッド空間(Lie群)でもいい)に移す関数のJacobianを考えることができるということです.
Right Jacobianの定義
まずは,right- を用いて,点における Jacobianを次のように定義します.
これを「fの点におけるright Jacobian」と呼ぶことにします.
さて,これを式\eqref{2}のように説明変数の次元ごとのベクトルとして表現すると,次のようになります. が,式\eqref{2}におけるの分子に対応しています.
Right Jacobianの直観的な理解
この導関数の直観的な理解は 「点の微小移動に対する,関数の変化度合い」 です.
ここで「接空間」について思い出してみましょう.接空間はある点における速度ベクトルがなす空間を指していました.
ならば,点における微小移動も,関数の変化の度合い(言い換えればにおける微小移動)も それぞれ,で定義された接空間に属する要素であることが分かります.
つまり,(Right) Jacobianとは点における接空間 から,における接空間 への写像であるといえます.
もっと言えば,この写像は行列で表されるので線形写像となります. 実際,次のような一次近似が成り立ち,これはまさにそれぞれの空間における接空間同士の写像を表しています.
ここでは点における微小移動です. 点によってこの接空間は変わってしまうので,一般的にのような接空間は,localな接空間と呼ばれます.
Lie群上のLeft Jacobian
Right Jacobianではright-でJacobianを定義しました. 同様にleft-を使ってleft Jacobianも定義することができます.
Left Jacobianの定義
Left Jacobianの直観的な理解
ここで,であり,分子がに属することに注意します. このことから,left Jacobianはglobalな接空間を写像する線形写像(行列)となります. 言い換えると,とのLie代数を写像する行列を示すことになります.
Right Jacobianの時と同様に,一次近似が次のように計算できます.
Crossed right-left Jacobian
上のようなright, leftそれぞれの, で定義された{Right, Left} Jacobian.それぞれ写像する接空間の定義がlocal であるか globalであるかの違いがありました.
ところで,前の章でlocalな接空間とglobalな接空間を変換する演算としてAdjoint(随伴行列)を導入しました. この演算を使うと,それぞれのJacobianを相互に次のように変換することができるようになります.
このような変換は,いずれ状態変数の最適化を考える上で問題を簡単にするのに大変役立っていくので,覚えておいて損はないと思います.