symforce.ops.interfaces.lie_group module#
- class LieGroup[source]#
Bases:
Group
Interface for objects that implement the lie group concept. Because this class is registered using
symforce.ops.impl.class_lie_group_ops.ClassLieGroupOps
(see bottom of this file), any object that inherits fromLieGroup
and that implements the functions defined in this class can be used with the LieGroupOps concept.Note that
LieGroup
is a subclass ofgroup.Group
which is a subclass ofstorage.Storage
, meaning that aLieGroup
object can be also be used with GroupOps and StorageOps (assuming the necessary functions are implemented).- LieGroupT = ~LieGroupT#
- classmethod from_tangent(vec, epsilon=0.0)[source]#
Mapping from the tangent space vector about identity into a group element.
- to_tangent(epsilon=0.0)[source]#
Mapping from this element to the tangent space vector about identity.
- retract(vec, epsilon=0.0)[source]#
Applies a tangent space perturbation vec to self. Often used in optimization to update nonlinear values from an update step in the tangent space.
Implementation is simply compose(self, from_tangent(vec)). Conceptually represents “self + vec” if self is a vector.
- local_coordinates(b, epsilon=0.0)[source]#
Computes a tangent space perturbation around self to produce b. Often used in optimization to minimize the distance between two group elements.
Implementation is simply to_tangent(between(self, b)). Tangent space perturbation that conceptually represents “b - self” if self is a vector.