Source code for symforce.ops.impl.vector_class_lie_group_ops

# ----------------------------------------------------------------------------
# SymForce - Copyright 2022, Skydio, Inc.
# This source code is under the Apache 2.0 license found in the LICENSE file.
# ----------------------------------------------------------------------------

from ..interfaces import Storage
from .abstract_vector_lie_group_ops import AbstractVectorLieGroupOps
from .class_storage_ops import ClassStorageOps


[docs]class VectorClassLieGroupOps(ClassStorageOps, AbstractVectorLieGroupOps[Storage]): """ A generic implementation of Lie group ops for subclasses of :class:`symforce.ops.interfaces.storage.Storage`. Treats the subclass like R^n where the vector is the storage representation. To elaborate, treats the subclass as a Lie group whose identity is the zero vector, group operation is vector addition, and whose vector representation is given by the to_storage operation. """