しゃけのブログ

某大学院で研究している人の備忘録

状態推定のためのLie群上の最適化2

状態推定のためのLie群の多様体上の最適化 - しゃけのブログ の続き

繰り返しだが,

[1812.01537] A micro Lie theory for state estimation in robotics

を参考にさせていただいた.

前回のまとめ

  • 姿勢推定問題で目的変数となる,回転行列や剛体変換行列はLie群の一つであった

  • Lie群とは「滑らかな群」のこと

  • Lie群単位元における接空間としてLie代数を定義

また,Lie群上の最適化はLie代数を通してユークリッド空間上の最適化問題へと帰着できる,という展望も述べていた.

今回は,Lie代数の性質について,ベクトル空間であるということを詳しく見ていくことにする. 後半では指数写像(と対数写像)についてみていく.

Lie代数の性質

Lie代数の性質として次が挙げられる. 前回の記事で言った随伴表現に関しては次の記事に回すことにする.

  1. Lie代数はベクトル空間である

  2. 指数写像  \exp: \mathfrak{m} \rightarrow \mathcal{M}はLie代数の要素を厳密にLie群へ写す

まずは1つ目から見ていく

ベクトル空間としてのLie代数

Lie代数はベクトル空間としてみることができる.


これは言い換えると次のとおりである.

「任意のLie代数の要素はいくつかの基底の線形結合で表せる」


Lie群 \mathcal{M}に対するLie代数 \mathfrak{m} = T_\epsilon \mathcal{M}があったとして, Lie代数の要素は係数ベクトル \tau = \{\tau_i\}_{1 \leq i \leq m} \in \mathbb{R}^mと基底 \{E_i\}_{1 \leq i \leq m} \in \mathfrak{m}で次のように表現される.

 \displaystyle \sum_{i=1}^m \tau_i E_i

この係数ベクトル \tau = (\tau_1, \tau_2, ..., \tau_m) \in \mathbb{R}^mとLie代数の要素は一対一対応する.

つまり係数ベクトル \tau \in \mathbb{R}^mに対して一意にLie代数の要素が対応する.

係数ベクトルからLie代数の要素へ写す写像 \tau^\wedgeのように「 \wedge」で表すことが多い. (Wedge演算と呼ばれている)

逆に,任意のLie代数の要素に対応する係数ベクトル \tau = (\tau_1, \tau_2, ..., \tau_m)も一意に決定される.

この逆操作の演算を「 \vee」と表すとする.つまり (\tau^\wedge)^\vee = \tau \in \mathfrak{m} (Vee演算と呼ばれている)


まとめると,次のような関数「 \wedge」と「 \vee」をLie代数 \mathfrak{m}と係数ベクトル \mathbb{R}^mの間の写像として定義した.

 \displaystyle \wedge:\ \mathbb{R}^m \rightarrow \mathfrak{m};\ \ \tau \mapsto \tau^\wedge = \sum_{i=1}^m \tau_i E_i

 \displaystyle \vee:\ \mathfrak{m} \rightarrow \mathbb{R}^m;\ \ \tau^\wedge \mapsto (\tau^\wedge)^\vee = \tau

言い換えると,Lie代数 \mathfrak{m}とベクトル空間 \mathbb{R}^mは同型であるといえる. このことは, \mathfrak{m} \simeq \mathbb{R}^mとも \tau^\wedge \simeq \tauとも表される.

指数写像

Lie群とLie代数の関係を見てきたが,この章ではそれらをつなぐ写像を考えていきたい.

実は,Lie代数の要素を対応するLie群の要素へと厳密に写す写像が存在する. その写像は,指数写像と呼ばれている.

指数写像はその名の通り,指数関数をより一般的に拡大したものとなっている.

Lie代数の指数関数って...?となると思うが,後で説明するとしてとりあえず見ていく.

Lie代数とLie群の対応から導かれる指数写像

なぜLie代数をLie群へ写す写像が指数写像なのかを見ていく. ※この説明はあまり厳密ではなく直観的なものとしてみてほしい

まず,時刻ごとにLie群 \mathcal{M}上を動く点 \mathcal{X}(t),ただし \mathcal{X}(0) = I単位元)を考える.

微分の定義より,

\begin{align} \frac{\mathrm{d}\mathcal{X}(t)}{\mathrm{d}t} & = \lim_{\delta t \to 0} \frac{\mathcal{X}(t+\delta t) - \mathcal{X}(t)}{\delta t} \\ & = \lim_{\delta t \to 0} \frac{\mathcal{X}(\delta t)\mathcal{X}(t) - \mathcal{X}(t)}{\delta t} \\ & = \lim_{\delta t \to 0} \frac{\mathcal{X}(\delta t) - \mathcal{X}(0)}{\delta t} \mathcal{X}(t) \\ & = \left.\frac{\mathrm{d} \mathcal{X}(t)}{\mathrm{d}t}\right|_{t=0} \mathcal{X}(t) \end{align}

ここで, \left.\frac{\mathrm{d} \mathcal{X}(t)}{\mathrm{d}t}\right|_{t=0}は,接空間の定義から,Lie群単位元における接空間の要素,つまりLie代数の要素となる. なので, \tau^{\wedge} = \left.\frac{\mathrm{d} \mathcal{X}(t)}{\mathrm{d}t}\right|_{t=0}とおく.

まとめると \dot{\mathcal{X}}(t) = \tau^{\wedge} \mathcal{X}(t)の形になっている.

この微分方程式の一般解は,実数の微分方程式の知見から \mathcal{X}(t) = \exp(\tau^\wedge t)の形になると考えられる. ( \mathcal{X}(0) = I

このことから,Lie代数からLie群への写像は指数関数の行列(Lie代数)への自然な拡張となっていると考えられる.

CV・CG・ロボティクスのためのリー群・リー代数入門: (0) 目次 - swk's log はてな別館

指数写像の性質

この指数写像には次のような,実数の場合と同じような性質がある.

  1.  \exp((t+s) \tau^\wedge) = \exp(t\tau^\wedge) \exp(s\tau^\wedge)
  2. \exp(t\tau^\wedge) = \exp(\tau^\wedge)^\top
  3. \exp(-\tau^\wedge) = \exp(\tau^\wedge)^{-1}
  4. \exp(\mathcal{X} \tau^\wedge \mathcal{X}^{-1}) = \mathcal{X} \exp(\tau^\wedge) \mathcal{X}^{-1}

最後の性質は非常に強力.テイラー級数を展開して, \mathcal{X}^{-1} \circ \mathcal{X}の項を消して証明できる.

対数写像

実はこの指数写像全単射となる(証明略).

つまり,逆写像としてLie群からLie代数の要素への写像が存在するということである.

これを対数写像といい, \log : \mathcal{M} \rightarrow \mathfrak{m}で表す.

Capitalized exponential map

ここまでで,係数ベクトル空間 \mathbb{R}^mとLie代数が相互に変換可能であるという話と,Lie群とLie代数が指数写像という写像を使って変換可能であるという,2段階の変換を説明してきた.

この変換を合成として用意するのはやや面倒なので,簡単のために次のような演算を定義しておく.

  1.  \mathcal{X} = \mathrm{Exp}(\tau) \triangleq \exp({\tau}^{\wedge}) \in \mathcal{M}
  2.  \mathcal{\tau} = \mathrm{Log}(\tau) \triangleq \log(\mathcal{X}^{\vee}) \in \mathbb{R}^{m}

今までの演算をまとめると次のような図が描ける. f:id:shuckle-rbtech:20210605001945p:plain

次回は,Lie群上での移動をLie代数上で考える和と差の演算について,さらにAdjoint(随伴表現)についても説明する.