Group Exponential and Logarithm

Introduction

The group exponential and logarithm are best understood as the curved-space versions of operations you already know on \(\mathbb{R}\) and \(\mathbb{R}^n\):

  • In \(\mathbb{R}\), “integrate a constant velocity for 1 second” is just adding a number.

  • In \(\mathbb{R}^n\), it is adding a vector.

  • On a Lie group \(G\), it is multiplying by a group element obtained from an algebra element via \(\Exp\).

The Lie algebra \(\mathfrak{g}\) plays the role of a linearization of \(G\) at the identity: it is the “tangent vector space” where one can do vector addition, scaling, and linear algebra.

Number line example: \((\mathbb{R}, +)\)

Consider the additive group \(G=(\mathbb{R},+)\):

\[e=0,\qquad \mathfrak{g} \cong \mathbb{R}.\]

The left-invariant ODE that defines the group exponential is

\[\dot x(t)=v,\qquad x(0)=0,\]

where \(v\in\mathbb{R}\) is a constant (an element of the Lie algebra). The solution is

\[x(t)=tv.\]

Thus the group exponential is simply

\[\Exp(v) = v,\]

because “moving from \(0\) by velocity \(v\) for unit time” lands at \(v\).

Logarithm

The group logarithm is the inverse map, again the identity:

\[\Log(x)=x.\]

Composition vs Baker–Campbell–Hausdorff

On \(\mathbb{R}\) we have

\[\Exp(v)+\Exp(w)=v+w=\Exp(v+w),\]

so there are no higher-order commutator corrections (the Lie bracket is identically zero). This is the “flat” case.

Euclidean vector space: \((\mathbb{R}^n, +)\)

Now let \(G=(\mathbb{R}^n,+)\):

\[e=\bm{0},\qquad \mathfrak{g} \cong \mathbb{R}^n.\]

The defining ODE is

\[\dot x(t)=u,\qquad x(0)=0,\qquad u\in\mathbb{R}^n,\]

so \(x(t)=tu\) and therefore

\[\Exp(u)=u,\qquad \Log(x)=x.\]

Interpretation for robotics/GNC

If state has an Euclidean part (position, velocity, mass, sensor biases), those components already live in a Lie group (an abelian one). The reason we still separate them from, say, \(\SO(3)\) is practical:

  • Euclidean parts update by addition: \(x^+ = x + \delta x\).

  • Rotations update by group multiplication: \(R^+ = R\,\Exp(\delta\phi^\wedge)\).

So the “Runge–Kutta–Munthe-Kaas for product manifolds” view becomes: do additive Runge–Kutta for the \(\mathbb{R}^n\) factors and multiplicative Runge–Kutta for the \(\SO(3)\) factors, but in one unified framework.

A second number-line example: \((\mathbb{R}_{>0}, \times)\)

Now take the multiplicative group of positive real numbers:

\[G=(\mathbb{R}_{>0},\times),\qquad e=1.\]

Its Lie algebra is again \(\mathfrak{g}\cong \mathbb{R}\) (a tangent line at \(1\)). The left-invariant ODE is

\[\dot a(t) = a(t)\,v,\qquad a(0)=1,\]

whose solution is

\[a(t)=e^{tv}.\]

Therefore the group exponential is the ordinary exponential:

\[\Exp(v)=e^{v}.\]

The group logarithm is the ordinary natural log:

\[\Log(a)=\ln(a).\]

Why this is a perfect analogy for rotations

For \((\mathbb{R}_{>0},\times)\):

\[a^+ = a\,\Exp(v)\]

looks exactly like the rotation update

\[R^+ = R\,\Exp(\phi^\wedge),\]

except scalars commute and matrices generally do not.

Euclidean “counterpart” of \(\SO(3)\): small-angle approximation

For \(R\in\SO(3)\), the Lie algebra \(\so(3)\) is linear (a vector space). For small \(\phi\in\mathbb{R}^3\),

\[\Exp(\phi^\wedge) \approx I + \phi^\wedge \quad (\|\phi\|\ll 1).\]

This mirrors the Euclidean idea “move by a small vector”:

\[x^+ = x + \delta x\]

while the group update is

\[R^+ = R\,\Exp(\delta\phi^\wedge)\approx R(I+\delta\phi^\wedge).\]

So the Lie algebra element \(\delta\phi\) behaves like a Euclidean increment (in the tangent space), and \(\Exp\) wraps that increment back onto the curved manifold.

Concrete paired examples: Euclidean vs group

Translation in \(\mathbb{R}^3\)

Euclidean:

\[p^+ = p + \Delta p,\qquad p,\Delta p\in\mathbb{R}^3.\]

This is also a Lie group update in \((\mathbb{R}^3,+)\):

\[p^+ = p \oplus \Exp(\Delta p),\qquad \Exp(\Delta p)=\Delta p,\]

where \(\oplus\) is just \(+\).

Rotation in \(\SO(3)\)

Let \(R\in\SO(3)\) and \(\delta\phi\in\mathbb{R}^3\) (tangent increment):

\[R^+ = R\,\Exp(\delta\phi^\wedge).\]

If you want the corresponding tangent quantity from two rotations \(R_1,R_2\):

\[\delta\phi^\wedge = \Log(R_1^\top R_2).\]

Compare the Euclidean counterpart:

\[\Delta x = x_2 - x_1.\]

So “difference” on a group is obtained by relative element + log:

\[\text{Euclidean: } x_2 - x_1 \qquad \leftrightarrow \qquad \text{Group: } \Log(g_1^{-1}g_2).\]

Rigid pose in \(\SE(3)\) vs Euclidean stacking

Euclidean (naively stacking position and orientation parameters) is not closed under addition in a physically consistent way. On \(\SE(3)\), a pose update is

\[T^+ = T\,\Exp(\xi^\wedge),\]

where \(\xi=(\rho,\phi)\in\mathbb{R}^6\) is a twist (tangent increment). The “difference” between two poses is

\[\xi^\wedge = \Log(T_1^{-1}T_2),\]

which is the pose-analogue of \(x_2-x_1\).

Summary: the dictionary

\[\begin{split}\begin{array}{c|c|c} \textbf{Concept} & \textbf{Euclidean } (\mathbb{R}^n,+) & \textbf{Lie group } G \\ \hline \text{Identity} & 0 & e \\ \text{Increment space} & \mathbb{R}^n & \mathfrak{g}=T_eG \\ \text{Update} & x^+=x+\delta & g^+=g\,\Exp(\delta) \\ \text{Difference} & \delta=x_2-x_1 & \delta=\Log(g_1^{-1}g_2) \\ \text{``Addition'' of increments} & \delta_1+\delta_2 & \Log(\Exp(\delta_1)\Exp(\delta_2)) \\ \end{array}\end{split}\]

Key intuition

In Euclidean space, the exponential/log are trivial (identity). In multiplicative positive reals, \(\Exp\) and \(\Log\) become the familiar scalar \(\exp\) and \(\ln\). For rotations and poses, \(\Exp\) and \(\Log\) generalize these ideas to non-commuting matrix groups.