symforce.ops package

API for mathematical groups in python with minimal dependencies. Assumes elements have appropriate methods, or for the case of scalar types (ints, floats, sympy.Symbols) assumes that the group is reals under addition.

This is the recommended API for using these concepts, rather than calling directly on a type.

class ScalarExpr(*args, **kwargs)[source]

Bases: ABC

Metaclass for scalar expressions

symforce.symbolic.DataBuffer is a subclass of sf.Expr but we do not want it to be registered under ScalarLieGroupOps.

Parameters:
  • args (Any) –

  • kwargs (Any) –

class LieGroupSymClass[source]

Bases: ABC

Metaclass for generated numeric geo classes

We use a metaclass here to avoid having symforce.ops depend on sym, which would make it impossible to generate sym from scratch.

TODO(aaron): SymClassLieGroupOps does the wrong thing for some methods, e.g. storage_D_tangent returns the wrong type. We should also implement this for the cam classes, which aren’t lie groups.

Subpackages

Submodules