Lie theoryとJacobian 2
January 05, 2021Lie群とは?
Lie群とは何かは参考資料のグログに大変わかり易く記載されている。 Lie群とは以下のようなものと理解している。
- 回転行列といった何かしらの条件を満たす数の集合。
-
Lie群は多様体上に存在する。
- 2次元の回転行列を例にとって説明する。2次元の回転行列は2x2の行列なので4次元空間に存在する。しかし、2次元の回転の自由度は1なので、4次元空間中のある曲線上(1次元空間)に拘束されるはず。この1次元空間がここでいう多様体。3次元の回転行列ならば回転の自由度は3なので、9次元空間中の3次元空間に拘束されている。この3次元空間がここでいう多様体。
-
Lie群が存在する多様体は滑らか。どこでも微分可能。
- どこにもエッジやスパイクなど存在せず滑らかな面になっているイメージ。3次元ではないので想像しにくいが。
-
、X, Y, Zが同じLie群に属しているとき以下の性質を有する。
- Lie群同士の積は同じLie群になる:
- 単位元というかけても同じものになる要素が存在している。単位元をとすると:
- 逆元という自分自身にかけると単位元になる要素が存在している。の逆元をとすると:
- 結合則が成り立つ:
-
上記ですでに登場しているが、同じカテゴリのLie群に属す要素ごとの積(上記の記号)が定義できる。英語だとGroup Compositionと呼ばれる。
- 回転行列と回転行列をかけ合わせると新たな回転行列になるといったことがここに相当する。
- では実際になんらかの演算が行われている。を回転行列とするとは行列積になる。もしがベクトルならばはベクトル和になる。はLie群の種類によって適切な演算が割り当てられているイメージ。自分はC++などの言語でよくある演算子のオーバーロードとして理解している。
- Lie群の定義ではないが、他の対象に作用できるというもの重要なポイント。これは回転行列とベクトルの掛け算でベクトルの方向を回転するといった演算に相当する。英語だとGroup Actionと呼ばれる。上記の積と同様で、作用する対象とLie群の種類によって適切な演算方法が決まっている。回転行列とベクトルならば行列演算といったように。
よく使われるLie群の例
| Lie群の例 | 説明 |
|---|---|
| SO2/SO3 | 2次元/3次元の回転行列 |
| 実数のベクトル | |
| SE2/SE3 | 回転と平行移動をまとめて表現する行列。よくロボットやカメラのPoseを表現するのに使われる。 |
| 単位複素数。単位円上の一点を表せる。つまり2次元の回転を表現できる。 | |
| 単位球上の一点を表現できる。 |