しゃけのブログ

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

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

しれっとタイトル少し変えていますが、そろそろ続き書きます。

前回のあらすじ

Lie代数の性質


今回は,Lie群上での要素の移動を接空間上で定義する和と差の演算について,さらにLie群上の点に対する接空間からLie代数の要素への変換を表すAdjoint(随伴表現)について説明します.

和と差の演算

これから和と差を,接空間上でのLie群上の要素の間の移動に関して定義することにします.

 \mathcal{X} \mathcal{Y}Lie群上の要素とします. まずは,この二つの要素の移動の差分を接空間上の差として定義することを考えます.

この移動の差の定義には,

  1. Lie群単位元 \epsilonから \mathcal{X}だけ移動した後に, \mathcal{Y}^{-1}で戻すことで得られる差としての定義
  2. Lie群単位元 \epsilonから \mathcal{Y}だけ移動した後に, \mathcal{X}^{-1}で戻すことで得られる差としての定義

の2種類が考えられます.

図にすると次のようなイメージです. 前者の定義方法で得られた差分は単位元における接空間上で定義され,後者の定義方法で得られた差分は \mathcal{X}における接空間上で定義されることになります.

f:id:shuckle-rbtech:20210704162516p:plain
差の2種類の定義方法のイメージ.上側が1.の定義方法で,下側が2.の定義方法です.

前者1.の差の定義方法(図だと上側の経路で定義された ^{\mathcal{X}}\tauを計算する演算)は \mathrm{right}-\{\oplus, \ominus\}と表記されます. rightとついているのは,Lie群要素の右に移動量があるからですね.

ここで \mathrm{right}-\oplusは点 \mathcal{X}の接空間で定義された移動量 ^{\mathcal{X}}\tau \mathcal{X}を移動させる, \mathrm{right}-\ominusの逆の演算として定義されています.

\mathrm{right}-\oplus\ :\ (\mathcal{M}, T_{\mathcal{X}} \mathcal{M}) \rightarrow \mathcal{M},\ \mathcal{Y} = \mathcal{X} \oplus ^{\mathcal{X}}\tau \triangleq \mathcal{X} \circ \mathrm{Exp}(^{\mathcal{X}}\tau)
\mathrm{right}-\ominus\ :\ (\mathcal{M}, \mathcal{M}) \rightarrow T_{\mathcal{X}} \mathcal{M},\ ^{\mathcal{X}}\tau = \mathcal{Y} \ominus \mathcal{X} \triangleq \mathrm{Log}(\mathcal{X}^{-1} \circ \mathcal{Y})


もう一つの定義として,後者2. の差の定義方法(図だと下側の経路で定義された ^{\epsilon}\tauを計算する演算)は \mathrm{left}-\{\oplus, \ominus\}と表記されます.

\mathrm{left}-\oplus\ :\ (T_{\epsilon} \mathcal{M}, \mathcal{M}) \rightarrow \mathcal{M},\ \mathcal{Y} = ^{\epsilon}\tau \oplus \mathcal{X} \triangleq  \mathrm{Exp}(^{\epsilon}\tau)  \circ \mathcal{X}
\mathrm{left}-\ominus\ :\ (\mathcal{M}, \mathcal{M}) \rightarrow T_{\epsilon} \mathcal{M},\ ^{\epsilon}\tau = \mathcal{Y} \ominus \mathcal{X} \triangleq \mathrm{Log}(\mathcal{Y} \circ \mathcal{X}^{-1})


Adjoint (随伴表現)と随伴行列

さて,ある \mathcal{Y} \in \mathcal{M}について,2種類の移動量の定義方法をもって, \mathrm{right}-\oplus \mathrm{left}-\oplusを定義しました. この定義式から次のような等式が成り立ちます.

 \begin{array}
.^{\epsilon}\tau \oplus \mathcal{X} = \mathcal{X} \oplus ^{\mathcal{X}}\tau
\end{array}

この式はまさに,上の図における2パターンの移動の到着地点が一致している様子を表しています.

この式から,

 \begin{eqnarray}
\mathrm{Exp}(^{\epsilon}\tau) \mathcal{X} &=& \mathcal{X} \mathrm{Exp} (^{\mathcal{X}}\tau) \\\
\exp(^{\epsilon} \tau^\wedge) &=& \mathcal{X}\exp(^{\mathcal{X}}\tau^\wedge)\mathcal{X}^{-1} = \exp(\mathcal{X} ^{\mathcal{X}}\tau^\wedge \mathcal{X}^{-1}) \\\
^{\epsilon}\tau^\wedge &=& \mathcal{X}^{\mathcal{X}}\tau^\wedge \mathcal{X}^{-1}
\end{eqnarray}


となることが分かります.(最後の式変換は前章の \expで紹介した性質を使っている)


この式を見ると,ある点 \mathcal{X}における接空間の要素 ^{\mathcal{X}} \tau^\wedge単位元における接空間(つまりLie代数)の要素 ^{\epsilon} \tau^\wedgeへ変換する操作を表していることが分かります.

Adjoint (随伴表現)

この操作を演算として定義します.

 \mathcal{M}の点 \mathcal{X}におけるAdjoint(随伴表現)とは,

 \begin{array}
&\mathrm{Ad}_\mathcal{X} : \mathfrak{m} \rightarrow \mathfrak{m}; \tau^\wedge \mapsto \mathrm{Ad}_\mathcal{X}(\tau^\wedge) \triangleq \mathcal{X} \tau^\wedge \mathcal{X}^{-1}
\end{array}

のような演算 \mathrm{Ad}_\mathcal{X}で, ^{\epsilon}\tau^\wedge = \mathrm{Ad}_\mathcal{X}(^{\mathcal{X}} \tau^\wedge)となるようなもののことである.


Adjointには次のような性質がある.

 \begin{eqnarray}
線形性 &:& \mathrm{Ad}_\mathcal{X}(a\tau^\wedge + b\sigma^\wedge) = a\mathrm{Ad}_\mathcal{X}(\tau^\wedge) + b\mathrm{Ad}_\mathcal{X}(\sigma^\wedge) \\\
準同型性 &:& \mathrm{Ad}_\mathcal{X}(\mathrm{Ad}_\mathcal{Y}(\tau^\wedge)) = \mathrm{Ad}_{\mathcal{X}\mathcal{Y}}(\tau^\wedge)
\end{eqnarray}

Adjoint matrix(随伴行列)

 \mathrm{Ad}は線形写像である.つまり,行列で表現できる!

上で定義したAdjointは接空間から接空間への写像であったが,実数の行列の演算として定義するために,接空間の係数ベクトル \tau間の写像として定義します( \wedgeも線形演算だったので, \mathrm{Ad}\circ\wedgeも線形写像となるのでこのようなことができる).


 \begin{array}
\mathrm{Ad}_\mathcal{X}: \mathbb{R}^m \rightarrow \mathbb{R}^m;\ ^{\mathcal{X}}\tau \mapsto ^{\epsilon}\tau = \mathrm{Ad}_\mathcal{X}\ ^{\mathcal{X}}\tau = (\mathcal{X} \tau^\wedge \mathcal{X}^{-1})^\vee
\end{array}


性質として次のようなものがあります.

 \begin{eqnarray}
\mathcal{X} \oplus \tau &=& (\mathrm{Ad}_\mathcal{X} \tau) \oplus \mathcal{X} \\\
\mathrm{Ad}_{\mathcal{X}^{-1}} &=& (\mathrm{Ad}_\mathcal{X})^{-1} \\\
\mathrm{Ad}_{\mathcal{X}\mathcal{Y}} &=& \mathrm{Ad}_\mathcal{X} \mathrm{Ad}_\mathcal{Y}
\end{eqnarray}


これで,Lie群の要素をLie代数の中で足したり引いたりする操作が定義できました. さらに,Adjointによって任意のLie群の要素に対する移動をLie代数の中で演算することも可能になりました.

次の投稿ではついに,Lie群上で動く関数のLie群要素での微分を定義していきます. Lie群上の最適化をLie代数上で定式化することにだいぶ近づいてきました.