Python3 API

The following documentation presents the Python3 API.

The Python3 API is generated using pybind11.

class manifpy.R1

Bases: _R1Base

The R^1 group.

static Identity() manifpy._bindings.R1

Static helper to create an object set at the Lie group Identity.

static Random() manifpy._bindings.R1

Static helper to create a random object of the Lie group.

act(self: manifpy._bindings.R1, p: numpy.ndarray[numpy.float64[1, 1]], J_out_self: numpy.ndarray[numpy.float64[1, 1], flags.writeable] | None = None, J_out_p: numpy.ndarray[numpy.float64[1, 1], flags.writeable] | None = None) numpy.ndarray[numpy.float64[1, 1]]

Get the action of the Lie group object on a point.

Parameters:
  • p (numpy.array) – A point.

  • [out] (J_out_p) – Jacobian of the new object wrt self.

  • [out] – Jacobian of the new object wrt input point.

adj(self: manifpy._bindings.R1) numpy.ndarray[numpy.float64[1, 1]]

Return the Adjoint of the Lie group object self.

See Eq. (29).

between(self: manifpy._bindings.R1, other: manifpy._bindings._R1Base, J_out_self: numpy.ndarray[numpy.float64[1, 1], flags.writeable] | None = None, J_out_other: numpy.ndarray[numpy.float64[1, 1], flags.writeable] | None = None) manifpy._bindings.R1

Return the between of self and another object of the same Lie group.

Parameters:
  • other (Lie group) – Another object of the same Lie group.

  • [out] (J_out_other) – Jacobian of the composition wrt self.

  • [out] – Jacobian of the composition wrt other.

coeffs(self: manifpy._bindings.R1) numpy.ndarray[numpy.float64[1, 1]]

Get a reference to underlying data.

coeffs_copy(self: manifpy._bindings.R1) numpy.ndarray[numpy.float64[1, 1]]

Return a copy of underlying data.

compose(self: manifpy._bindings.R1, other: manifpy._bindings._R1Base, J_out_self: numpy.ndarray[numpy.float64[1, 1], flags.writeable] | None = None, J_out_other: numpy.ndarray[numpy.float64[1, 1], flags.writeable] | None = None) manifpy._bindings.R1

Return the composition of self and another object of the same Lie group.

See Eqs. (1,2,3,4).

Parameters:
  • other (Lie group) – Another object of the same Lie group.

  • [out] (J_out_other) – Jacobian of the composition wrt self.

  • [out] – Jacobian of the composition wrt other.

inverse(self: manifpy._bindings.R1, J_out_self: numpy.ndarray[numpy.float64[1, 1], flags.writeable] | None = None) manifpy._bindings.R1

Return the inverse of the Lie group object.

See Eq. (3).

Parameters:

[out] (J_out_self) – Jacobian of the inverse wrt self.

isApprox(self: manifpy._bindings.R1, other: manifpy._bindings._R1Base, eps: float = 1e-10) bool

Evaluate whether self and other are ‘close’.

Parameters:
  • other (Lie group) – Another object of the same Lie group.

  • eps (double) – Threshold for equality comparison. Default: 1e-10.

lminus(self: manifpy._bindings.R1, other: manifpy._bindings._R1Base, J_out_self: numpy.ndarray[numpy.float64[1, 1], flags.writeable] | None = None, J_out_other: numpy.ndarray[numpy.float64[1, 1], flags.writeable] | None = None) manifpy._bindings.R1Tangent

Left ominus operation of the Lie group.

See Eq. (28).

Parameters:
  • other (Lie group) – Another element of the same Lie group.

  • [out] (J_out_other) – Jacobian of the ominus operation wrt self.

  • [out] – Jacobian of the ominus operation wrt other.

log(self: manifpy._bindings.R1, J_out_self: numpy.ndarray[numpy.float64[1, 1], flags.writeable] | None = None) manifpy._bindings.R1Tangent

Return the corresponding Lie algebra element in vector form.

Eq. (24).

Parameters:

[out] (J_out_self) – Jacobian of the log wrt self.

lplus(self: manifpy._bindings.R1, tau: manifpy._bindings._R1TangentBase, J_out_self: numpy.ndarray[numpy.float64[1, 1], flags.writeable] | None = None, J_mout_tau: numpy.ndarray[numpy.float64[1, 1], flags.writeable] | None = None) manifpy._bindings.R1

Left oplus operation of the Lie group.

See Eq. (27).

Parameters:
  • tau (Lie group tangent) – An element of the tangent of the Lie group.

  • [out] (J_out_tau) – Jacobian of the oplus operation wrt self.

  • [out] – Jacobian of the oplus operation wrt tau.

minus(self: manifpy._bindings.R1, other: manifpy._bindings._R1Base, J_out_self: numpy.ndarray[numpy.float64[1, 1], flags.writeable] | None = None, J_out_other: numpy.ndarray[numpy.float64[1, 1], flags.writeable] | None = None) manifpy._bindings.R1Tangent

An alias for the ‘rminus’ function.

plus(self: manifpy._bindings.R1, tau: manifpy._bindings._R1TangentBase, J_out_self: numpy.ndarray[numpy.float64[1, 1], flags.writeable] | None = None, J_mout_tau: numpy.ndarray[numpy.float64[1, 1], flags.writeable] | None = None) manifpy._bindings.R1

An alias for the ‘rplus’ function.

rminus(self: manifpy._bindings.R1, other: manifpy._bindings._R1Base, J_out_self: numpy.ndarray[numpy.float64[1, 1], flags.writeable] | None = None, J_out_other: numpy.ndarray[numpy.float64[1, 1], flags.writeable] | None = None) manifpy._bindings.R1Tangent

Right ominus operation of the Lie group.

See Eq. (26).

Parameters:
  • other (Lie group) – Another element of the same Lie group.

  • [out] (J_out_other) – Jacobian of the ominus operation wrt self.

  • [out] – Jacobian of the ominus operation wrt other.

rplus(self: manifpy._bindings.R1, tau: manifpy._bindings._R1TangentBase, J_out_self: numpy.ndarray[numpy.float64[1, 1], flags.writeable] | None = None, J_out_tau: numpy.ndarray[numpy.float64[1, 1], flags.writeable] | None = None) manifpy._bindings.R1

Right oplus operation of the Lie group.

See Eq. (25).

Parameters:
  • tau (Lie group tangent) – An element of the tangent of the Lie group.

  • [out] (J_out_tau) – Jacobian of the oplus operation wrt self.

  • [out] – Jacobian of the oplus operation wrt tau.

setIdentity(self: manifpy._bindings.R1) manifpy._bindings.R1

Set self to the Lie group Identity.

setRandom(self: manifpy._bindings.R1) manifpy._bindings.R1

Set self to a random value.

Dim = 1
DoF = 1
RepSize = 1
class manifpy.R1Tangent

Bases: _R1TangentBase

static Bracket(a: manifpy._bindings._R1TangentBase, b: manifpy._bindings._R1TangentBase) manifpy._bindings.R1Tangent

Compute the Lie bracket [a,b] in vector form..

static Generator(i: int) numpy.ndarray[numpy.float64[2, 2]]

Static helper to get the ith basis element of the Lie Algebra.

static InnerWeights() numpy.ndarray[numpy.float64[1, 1]]

Static helper to get the weight matrix of the Weighted Euclidean inner product, relative to the space basis.

static Random() manifpy._bindings.R1Tangent

Static helper to create a random object of the Lie group.

static Vee(arg0: numpy.ndarray[numpy.float64[2, 2]]) manifpy._bindings.R1Tangent

Instantiate a Tangent from a Lie algebra object.

static Zero() manifpy._bindings.R1Tangent

Static helper to create an object of the Lie group tangent set to zero.

bracket(self: manifpy._bindings.R1Tangent, other: manifpy._bindings._R1TangentBase) manifpy._bindings.R1Tangent

Compute the Lie bracket [this,other] in vector form.

return The Lie bracket [this,other] in vector form.

coeffs(self: manifpy._bindings.R1Tangent) numpy.ndarray[numpy.float64[1, 1]]

Get a reference to underlying data.

coeffs_copy(self: manifpy._bindings.R1Tangent) numpy.ndarray[numpy.float64[1, 1]]

Return a copy of underlying data.

exp(self: manifpy._bindings.R1Tangent, J_out_self: numpy.ndarray[numpy.float64[1, 1], flags.writeable] | None = None) manifpy._bindings.R1

Get the corresponding Lie group element.

Eq. (23).

Parameters:

[out] (J_out_self) – Jacobian of the log wrt self.

generator(self: manifpy._bindings.R1Tangent, i: int) numpy.ndarray[numpy.float64[2, 2]]

Get the ith basis element of the Lie Algebra.

hat(self: manifpy._bindings.R1Tangent) numpy.ndarray[numpy.float64[2, 2]]

Get the isomorphic element in the Lie algebra.

See Eq. (10).

inner(self: manifpy._bindings.R1Tangent, other: manifpy._bindings._R1TangentBase) float

Get inner product of this and another Tangent weighted by W.

ret = self^T x W x other

innerWeights(self: manifpy._bindings.R1Tangent) numpy.ndarray[numpy.float64[1, 1]]

Get the weight matrix of the Weighted Euclidean inner product, relative to the space basis.

isApprox(*args, **kwargs)

Overloaded function.

  1. isApprox(self: manifpy._bindings.R1Tangent, other: manifpy._bindings.R1Tangent, eps: float = 1e-10) -> bool

    Evaluate whether self and other are ‘close’.

    otherLie group tangent

    Another object of the same Lie group tangent.

    epsdouble

    Threshold for equality comparison. Default: 1e-10.

  2. isApprox(self: manifpy._bindings.R1Tangent, other: numpy.ndarray[numpy.float64[1, 1]], eps: float = 1e-10) -> bool

    Evaluate whether self and other are ‘close’.

    othernumpy.array

    Another object of the same Lie group tangent.

    epsdouble

    Threshold for equality comparison. Default: 1e-10.

ljac(self: manifpy._bindings.R1Tangent) numpy.ndarray[numpy.float64[1, 1]]

Get the left Jacobian.

This is the left Jacobian of ‘exp’, what is commonly known as “the left Jacobian”.

See Eq. (44) for the left Jacobian of general functions. See Eqs. (126,145,164,179,191) for implementations of the left Jacobian of exp.

lplus(self: manifpy._bindings.R1Tangent, state: manifpy._bindings.R1, J_out_self: numpy.ndarray[numpy.float64[1, 1], flags.writeable] | None = None, J_out_state: numpy.ndarray[numpy.float64[1, 1], flags.writeable] | None = None) manifpy._bindings.R1

Left oplus operation of the Lie group.

See Eqs. (27).

Parameters:
  • other (Lie group) – Another object of the same Lie group.

  • [out] (J_out_state) – Jacobian of the oplus operation wrt self.

  • [out] – Jacobian of the oplus operation wrt state.

minus(self: manifpy._bindings.R1Tangent, other: manifpy._bindings._R1TangentBase, J_out_self: numpy.ndarray[numpy.float64[1, 1], flags.writeable] | None = None, J_out_other: numpy.ndarray[numpy.float64[1, 1], flags.writeable] | None = None) manifpy._bindings.R1Tangent

Minus operation in the vector space.

Parameters:
  • other (Lie group tangent) – Another object of the same Lie group tangent.

  • [out] (J_out_other) – Jacobian of the oplus operation wrt self.

  • [out] – Jacobian of the oplus operation wrt other.

plus(*args, **kwargs)

Overloaded function.

  1. plus(self: manifpy._bindings.R1Tangent, state: manifpy._bindings.R1, J_out_self: Optional[numpy.ndarray[numpy.float64[1, 1], flags.writeable]] = None, J_out_state: Optional[numpy.ndarray[numpy.float64[1, 1], flags.writeable]] = None) -> manifpy._bindings.R1

An alias for the ‘rplus’ function.

  1. plus(self: manifpy._bindings.R1Tangent, other: manifpy._bindings._R1TangentBase, J_out_self: Optional[numpy.ndarray[numpy.float64[1, 1], flags.writeable]] = None, J_out_other: Optional[numpy.ndarray[numpy.float64[1, 1], flags.writeable]] = None) -> manifpy._bindings.R1Tangent

    Plus operation in the vector space.

    otherLie group tangent

    Another object of the same Lie group tangent.

    J_out_self [out]numpy.ndarray

    Jacobian of the oplus operation wrt self.

    J_out_other [out]numpy.ndarray

    Jacobian of the oplus operation wrt other.

rjac(self: manifpy._bindings.R1Tangent) numpy.ndarray[numpy.float64[1, 1]]

Get the right Jacobian.

This is the right Jacobian of ‘exp’, what is commonly known as “the right Jacobian”.

See Eq. (41) for the right Jacobian of general functions. See Eqs. (126,143,163,179,191) for implementations of the right Jacobian of exp.

rplus(self: manifpy._bindings.R1Tangent, state: manifpy._bindings.R1, J_out_self: numpy.ndarray[numpy.float64[1, 1], flags.writeable] | None = None, J_out_state: numpy.ndarray[numpy.float64[1, 1], flags.writeable] | None = None) manifpy._bindings.R1

Right oplus operation of the Lie group.

See Eqs. (25).

Parameters:
  • other (Lie group) – Another object of the same Lie group.

  • [out] (J_out_state) – Jacobian of the oplus operation wrt self.

  • [out] – Jacobian of the oplus operation wrt state.

setRandom(self: manifpy._bindings.R1Tangent) manifpy._bindings.R1Tangent

Set self to a random value.

setVee(self: manifpy._bindings.R1Tangent, vee: numpy.ndarray[numpy.float64[2, 2]]) manifpy._bindings.R1Tangent

Set the Tangent object from an object in the Lie algebra.

setZero(self: manifpy._bindings.R1Tangent) manifpy._bindings.R1Tangent

Set self to zero.

smallAdj(self: manifpy._bindings.R1Tangent) numpy.ndarray[numpy.float64[1, 1]]
squaredWeightedNorm(self: manifpy._bindings.R1Tangent) float

Get the squared Euclidean weighted norm.

weightedNorm(self: manifpy._bindings.R1Tangent) float

Get the Euclidean weighted norm.

Dim = 1
DoF = 1
RepSize = 1
class manifpy.R2

Bases: _R2Base

static Identity() manifpy._bindings.R2

Static helper to create an object set at the Lie group Identity.

static Random() manifpy._bindings.R2

Static helper to create a random object of the Lie group.

act(self: manifpy._bindings.R2, p: numpy.ndarray[numpy.float64[2, 1]], J_out_self: numpy.ndarray[numpy.float64[2, 2], flags.writeable, flags.c_contiguous] | None = None, J_out_p: numpy.ndarray[numpy.float64[2, 2], flags.writeable, flags.c_contiguous] | None = None) numpy.ndarray[numpy.float64[2, 1]]

Get the action of the Lie group object on a point.

Parameters:
  • p (numpy.array) – A point.

  • [out] (J_out_p) – Jacobian of the new object wrt self.

  • [out] – Jacobian of the new object wrt input point.

adj(self: manifpy._bindings.R2) numpy.ndarray[numpy.float64[2, 2]]

Return the Adjoint of the Lie group object self.

See Eq. (29).

between(self: manifpy._bindings.R2, other: manifpy._bindings._R2Base, J_out_self: numpy.ndarray[numpy.float64[2, 2], flags.writeable, flags.c_contiguous] | None = None, J_out_other: numpy.ndarray[numpy.float64[2, 2], flags.writeable, flags.c_contiguous] | None = None) manifpy._bindings.R2

Return the between of self and another object of the same Lie group.

Parameters:
  • other (Lie group) – Another object of the same Lie group.

  • [out] (J_out_other) – Jacobian of the composition wrt self.

  • [out] – Jacobian of the composition wrt other.

coeffs(self: manifpy._bindings.R2) numpy.ndarray[numpy.float64[2, 1]]

Get a reference to underlying data.

coeffs_copy(self: manifpy._bindings.R2) numpy.ndarray[numpy.float64[2, 1]]

Return a copy of underlying data.

compose(self: manifpy._bindings.R2, other: manifpy._bindings._R2Base, J_out_self: numpy.ndarray[numpy.float64[2, 2], flags.writeable, flags.c_contiguous] | None = None, J_out_other: numpy.ndarray[numpy.float64[2, 2], flags.writeable, flags.c_contiguous] | None = None) manifpy._bindings.R2

Return the composition of self and another object of the same Lie group.

See Eqs. (1,2,3,4).

Parameters:
  • other (Lie group) – Another object of the same Lie group.

  • [out] (J_out_other) – Jacobian of the composition wrt self.

  • [out] – Jacobian of the composition wrt other.

inverse(self: manifpy._bindings.R2, J_out_self: numpy.ndarray[numpy.float64[2, 2], flags.writeable, flags.c_contiguous] | None = None) manifpy._bindings.R2

Return the inverse of the Lie group object.

See Eq. (3).

Parameters:

[out] (J_out_self) – Jacobian of the inverse wrt self.

isApprox(self: manifpy._bindings.R2, other: manifpy._bindings._R2Base, eps: float = 1e-10) bool

Evaluate whether self and other are ‘close’.

Parameters:
  • other (Lie group) – Another object of the same Lie group.

  • eps (double) – Threshold for equality comparison. Default: 1e-10.

lminus(self: manifpy._bindings.R2, other: manifpy._bindings._R2Base, J_out_self: numpy.ndarray[numpy.float64[2, 2], flags.writeable, flags.c_contiguous] | None = None, J_out_other: numpy.ndarray[numpy.float64[2, 2], flags.writeable, flags.c_contiguous] | None = None) manifpy._bindings.R2Tangent

Left ominus operation of the Lie group.

See Eq. (28).

Parameters:
  • other (Lie group) – Another element of the same Lie group.

  • [out] (J_out_other) – Jacobian of the ominus operation wrt self.

  • [out] – Jacobian of the ominus operation wrt other.

log(self: manifpy._bindings.R2, J_out_self: numpy.ndarray[numpy.float64[2, 2], flags.writeable, flags.c_contiguous] | None = None) manifpy._bindings.R2Tangent

Return the corresponding Lie algebra element in vector form.

Eq. (24).

Parameters:

[out] (J_out_self) – Jacobian of the log wrt self.

lplus(self: manifpy._bindings.R2, tau: manifpy._bindings._R2TangentBase, J_out_self: numpy.ndarray[numpy.float64[2, 2], flags.writeable, flags.c_contiguous] | None = None, J_mout_tau: numpy.ndarray[numpy.float64[2, 2], flags.writeable, flags.c_contiguous] | None = None) manifpy._bindings.R2

Left oplus operation of the Lie group.

See Eq. (27).

Parameters:
  • tau (Lie group tangent) – An element of the tangent of the Lie group.

  • [out] (J_out_tau) – Jacobian of the oplus operation wrt self.

  • [out] – Jacobian of the oplus operation wrt tau.

minus(self: manifpy._bindings.R2, other: manifpy._bindings._R2Base, J_out_self: numpy.ndarray[numpy.float64[2, 2], flags.writeable, flags.c_contiguous] | None = None, J_out_other: numpy.ndarray[numpy.float64[2, 2], flags.writeable, flags.c_contiguous] | None = None) manifpy._bindings.R2Tangent

An alias for the ‘rminus’ function.

plus(self: manifpy._bindings.R2, tau: manifpy._bindings._R2TangentBase, J_out_self: numpy.ndarray[numpy.float64[2, 2], flags.writeable, flags.c_contiguous] | None = None, J_mout_tau: numpy.ndarray[numpy.float64[2, 2], flags.writeable, flags.c_contiguous] | None = None) manifpy._bindings.R2

An alias for the ‘rplus’ function.

rminus(self: manifpy._bindings.R2, other: manifpy._bindings._R2Base, J_out_self: numpy.ndarray[numpy.float64[2, 2], flags.writeable, flags.c_contiguous] | None = None, J_out_other: numpy.ndarray[numpy.float64[2, 2], flags.writeable, flags.c_contiguous] | None = None) manifpy._bindings.R2Tangent

Right ominus operation of the Lie group.

See Eq. (26).

Parameters:
  • other (Lie group) – Another element of the same Lie group.

  • [out] (J_out_other) – Jacobian of the ominus operation wrt self.

  • [out] – Jacobian of the ominus operation wrt other.

rplus(self: manifpy._bindings.R2, tau: manifpy._bindings._R2TangentBase, J_out_self: numpy.ndarray[numpy.float64[2, 2], flags.writeable, flags.c_contiguous] | None = None, J_out_tau: numpy.ndarray[numpy.float64[2, 2], flags.writeable, flags.c_contiguous] | None = None) manifpy._bindings.R2

Right oplus operation of the Lie group.

See Eq. (25).

Parameters:
  • tau (Lie group tangent) – An element of the tangent of the Lie group.

  • [out] (J_out_tau) – Jacobian of the oplus operation wrt self.

  • [out] – Jacobian of the oplus operation wrt tau.

setIdentity(self: manifpy._bindings.R2) manifpy._bindings.R2

Set self to the Lie group Identity.

setRandom(self: manifpy._bindings.R2) manifpy._bindings.R2

Set self to a random value.

Dim = 2
DoF = 2
RepSize = 2
class manifpy.R2Tangent

Bases: _R2TangentBase

static Bracket(a: manifpy._bindings._R2TangentBase, b: manifpy._bindings._R2TangentBase) manifpy._bindings.R2Tangent

Compute the Lie bracket [a,b] in vector form..

static Generator(i: int) numpy.ndarray[numpy.float64[3, 3]]

Static helper to get the ith basis element of the Lie Algebra.

static InnerWeights() numpy.ndarray[numpy.float64[2, 2]]

Static helper to get the weight matrix of the Weighted Euclidean inner product, relative to the space basis.

static Random() manifpy._bindings.R2Tangent

Static helper to create a random object of the Lie group.

static Vee(arg0: numpy.ndarray[numpy.float64[3, 3]]) manifpy._bindings.R2Tangent

Instantiate a Tangent from a Lie algebra object.

static Zero() manifpy._bindings.R2Tangent

Static helper to create an object of the Lie group tangent set to zero.

bracket(self: manifpy._bindings.R2Tangent, other: manifpy._bindings._R2TangentBase) manifpy._bindings.R2Tangent

Compute the Lie bracket [this,other] in vector form.

return The Lie bracket [this,other] in vector form.

coeffs(self: manifpy._bindings.R2Tangent) numpy.ndarray[numpy.float64[2, 1]]

Get a reference to underlying data.

coeffs_copy(self: manifpy._bindings.R2Tangent) numpy.ndarray[numpy.float64[2, 1]]

Return a copy of underlying data.

exp(self: manifpy._bindings.R2Tangent, J_out_self: numpy.ndarray[numpy.float64[2, 2], flags.writeable, flags.c_contiguous] | None = None) manifpy._bindings.R2

Get the corresponding Lie group element.

Eq. (23).

Parameters:

[out] (J_out_self) – Jacobian of the log wrt self.

generator(self: manifpy._bindings.R2Tangent, i: int) numpy.ndarray[numpy.float64[3, 3]]

Get the ith basis element of the Lie Algebra.

hat(self: manifpy._bindings.R2Tangent) numpy.ndarray[numpy.float64[3, 3]]

Get the isomorphic element in the Lie algebra.

See Eq. (10).

inner(self: manifpy._bindings.R2Tangent, other: manifpy._bindings._R2TangentBase) float

Get inner product of this and another Tangent weighted by W.

ret = self^T x W x other

innerWeights(self: manifpy._bindings.R2Tangent) numpy.ndarray[numpy.float64[2, 2]]

Get the weight matrix of the Weighted Euclidean inner product, relative to the space basis.

isApprox(*args, **kwargs)

Overloaded function.

  1. isApprox(self: manifpy._bindings.R2Tangent, other: manifpy._bindings.R2Tangent, eps: float = 1e-10) -> bool

    Evaluate whether self and other are ‘close’.

    otherLie group tangent

    Another object of the same Lie group tangent.

    epsdouble

    Threshold for equality comparison. Default: 1e-10.

  2. isApprox(self: manifpy._bindings.R2Tangent, other: numpy.ndarray[numpy.float64[2, 1]], eps: float = 1e-10) -> bool

    Evaluate whether self and other are ‘close’.

    othernumpy.array

    Another object of the same Lie group tangent.

    epsdouble

    Threshold for equality comparison. Default: 1e-10.

ljac(self: manifpy._bindings.R2Tangent) numpy.ndarray[numpy.float64[2, 2]]

Get the left Jacobian.

This is the left Jacobian of ‘exp’, what is commonly known as “the left Jacobian”.

See Eq. (44) for the left Jacobian of general functions. See Eqs. (126,145,164,179,191) for implementations of the left Jacobian of exp.

lplus(self: manifpy._bindings.R2Tangent, state: manifpy._bindings.R2, J_out_self: numpy.ndarray[numpy.float64[2, 2], flags.writeable, flags.c_contiguous] | None = None, J_out_state: numpy.ndarray[numpy.float64[2, 2], flags.writeable, flags.c_contiguous] | None = None) manifpy._bindings.R2

Left oplus operation of the Lie group.

See Eqs. (27).

Parameters:
  • other (Lie group) – Another object of the same Lie group.

  • [out] (J_out_state) – Jacobian of the oplus operation wrt self.

  • [out] – Jacobian of the oplus operation wrt state.

minus(self: manifpy._bindings.R2Tangent, other: manifpy._bindings._R2TangentBase, J_out_self: numpy.ndarray[numpy.float64[2, 2], flags.writeable, flags.c_contiguous] | None = None, J_out_other: numpy.ndarray[numpy.float64[2, 2], flags.writeable, flags.c_contiguous] | None = None) manifpy._bindings.R2Tangent

Minus operation in the vector space.

Parameters:
  • other (Lie group tangent) – Another object of the same Lie group tangent.

  • [out] (J_out_other) – Jacobian of the oplus operation wrt self.

  • [out] – Jacobian of the oplus operation wrt other.

plus(*args, **kwargs)

Overloaded function.

  1. plus(self: manifpy._bindings.R2Tangent, state: manifpy._bindings.R2, J_out_self: Optional[numpy.ndarray[numpy.float64[2, 2], flags.writeable, flags.c_contiguous]] = None, J_out_state: Optional[numpy.ndarray[numpy.float64[2, 2], flags.writeable, flags.c_contiguous]] = None) -> manifpy._bindings.R2

An alias for the ‘rplus’ function.

  1. plus(self: manifpy._bindings.R2Tangent, other: manifpy._bindings._R2TangentBase, J_out_self: Optional[numpy.ndarray[numpy.float64[2, 2], flags.writeable, flags.c_contiguous]] = None, J_out_other: Optional[numpy.ndarray[numpy.float64[2, 2], flags.writeable, flags.c_contiguous]] = None) -> manifpy._bindings.R2Tangent

    Plus operation in the vector space.

    otherLie group tangent

    Another object of the same Lie group tangent.

    J_out_self [out]numpy.ndarray

    Jacobian of the oplus operation wrt self.

    J_out_other [out]numpy.ndarray

    Jacobian of the oplus operation wrt other.

rjac(self: manifpy._bindings.R2Tangent) numpy.ndarray[numpy.float64[2, 2]]

Get the right Jacobian.

This is the right Jacobian of ‘exp’, what is commonly known as “the right Jacobian”.

See Eq. (41) for the right Jacobian of general functions. See Eqs. (126,143,163,179,191) for implementations of the right Jacobian of exp.

rplus(self: manifpy._bindings.R2Tangent, state: manifpy._bindings.R2, J_out_self: numpy.ndarray[numpy.float64[2, 2], flags.writeable, flags.c_contiguous] | None = None, J_out_state: numpy.ndarray[numpy.float64[2, 2], flags.writeable, flags.c_contiguous] | None = None) manifpy._bindings.R2

Right oplus operation of the Lie group.

See Eqs. (25).

Parameters:
  • other (Lie group) – Another object of the same Lie group.

  • [out] (J_out_state) – Jacobian of the oplus operation wrt self.

  • [out] – Jacobian of the oplus operation wrt state.

setRandom(self: manifpy._bindings.R2Tangent) manifpy._bindings.R2Tangent

Set self to a random value.

setVee(self: manifpy._bindings.R2Tangent, vee: numpy.ndarray[numpy.float64[3, 3]]) manifpy._bindings.R2Tangent

Set the Tangent object from an object in the Lie algebra.

setZero(self: manifpy._bindings.R2Tangent) manifpy._bindings.R2Tangent

Set self to zero.

smallAdj(self: manifpy._bindings.R2Tangent) numpy.ndarray[numpy.float64[2, 2]]
squaredWeightedNorm(self: manifpy._bindings.R2Tangent) float

Get the squared Euclidean weighted norm.

weightedNorm(self: manifpy._bindings.R2Tangent) float

Get the Euclidean weighted norm.

Dim = 2
DoF = 2
RepSize = 2
class manifpy.R3

Bases: _R3Base

static Identity() manifpy._bindings.R3

Static helper to create an object set at the Lie group Identity.

static Random() manifpy._bindings.R3

Static helper to create a random object of the Lie group.

act(self: manifpy._bindings.R3, p: numpy.ndarray[numpy.float64[3, 1]], J_out_self: numpy.ndarray[numpy.float64[3, 3], flags.writeable, flags.c_contiguous] | None = None, J_out_p: numpy.ndarray[numpy.float64[3, 3], flags.writeable, flags.c_contiguous] | None = None) numpy.ndarray[numpy.float64[3, 1]]

Get the action of the Lie group object on a point.

Parameters:
  • p (numpy.array) – A point.

  • [out] (J_out_p) – Jacobian of the new object wrt self.

  • [out] – Jacobian of the new object wrt input point.

adj(self: manifpy._bindings.R3) numpy.ndarray[numpy.float64[3, 3]]

Return the Adjoint of the Lie group object self.

See Eq. (29).

between(self: manifpy._bindings.R3, other: manifpy._bindings._R3Base, J_out_self: numpy.ndarray[numpy.float64[3, 3], flags.writeable, flags.c_contiguous] | None = None, J_out_other: numpy.ndarray[numpy.float64[3, 3], flags.writeable, flags.c_contiguous] | None = None) manifpy._bindings.R3

Return the between of self and another object of the same Lie group.

Parameters:
  • other (Lie group) – Another object of the same Lie group.

  • [out] (J_out_other) – Jacobian of the composition wrt self.

  • [out] – Jacobian of the composition wrt other.

coeffs(self: manifpy._bindings.R3) numpy.ndarray[numpy.float64[3, 1]]

Get a reference to underlying data.

coeffs_copy(self: manifpy._bindings.R3) numpy.ndarray[numpy.float64[3, 1]]

Return a copy of underlying data.

compose(self: manifpy._bindings.R3, other: manifpy._bindings._R3Base, J_out_self: numpy.ndarray[numpy.float64[3, 3], flags.writeable, flags.c_contiguous] | None = None, J_out_other: numpy.ndarray[numpy.float64[3, 3], flags.writeable, flags.c_contiguous] | None = None) manifpy._bindings.R3

Return the composition of self and another object of the same Lie group.

See Eqs. (1,2,3,4).

Parameters:
  • other (Lie group) – Another object of the same Lie group.

  • [out] (J_out_other) – Jacobian of the composition wrt self.

  • [out] – Jacobian of the composition wrt other.

inverse(self: manifpy._bindings.R3, J_out_self: numpy.ndarray[numpy.float64[3, 3], flags.writeable, flags.c_contiguous] | None = None) manifpy._bindings.R3

Return the inverse of the Lie group object.

See Eq. (3).

Parameters:

[out] (J_out_self) – Jacobian of the inverse wrt self.

isApprox(self: manifpy._bindings.R3, other: manifpy._bindings._R3Base, eps: float = 1e-10) bool

Evaluate whether self and other are ‘close’.

Parameters:
  • other (Lie group) – Another object of the same Lie group.

  • eps (double) – Threshold for equality comparison. Default: 1e-10.

lminus(self: manifpy._bindings.R3, other: manifpy._bindings._R3Base, J_out_self: numpy.ndarray[numpy.float64[3, 3], flags.writeable, flags.c_contiguous] | None = None, J_out_other: numpy.ndarray[numpy.float64[3, 3], flags.writeable, flags.c_contiguous] | None = None) manifpy._bindings.R3Tangent

Left ominus operation of the Lie group.

See Eq. (28).

Parameters:
  • other (Lie group) – Another element of the same Lie group.

  • [out] (J_out_other) – Jacobian of the ominus operation wrt self.

  • [out] – Jacobian of the ominus operation wrt other.

log(self: manifpy._bindings.R3, J_out_self: numpy.ndarray[numpy.float64[3, 3], flags.writeable, flags.c_contiguous] | None = None) manifpy._bindings.R3Tangent

Return the corresponding Lie algebra element in vector form.

Eq. (24).

Parameters:

[out] (J_out_self) – Jacobian of the log wrt self.

lplus(self: manifpy._bindings.R3, tau: manifpy._bindings._R3TangentBase, J_out_self: numpy.ndarray[numpy.float64[3, 3], flags.writeable, flags.c_contiguous] | None = None, J_mout_tau: numpy.ndarray[numpy.float64[3, 3], flags.writeable, flags.c_contiguous] | None = None) manifpy._bindings.R3

Left oplus operation of the Lie group.

See Eq. (27).

Parameters:
  • tau (Lie group tangent) – An element of the tangent of the Lie group.

  • [out] (J_out_tau) – Jacobian of the oplus operation wrt self.

  • [out] – Jacobian of the oplus operation wrt tau.

minus(self: manifpy._bindings.R3, other: manifpy._bindings._R3Base, J_out_self: numpy.ndarray[numpy.float64[3, 3], flags.writeable, flags.c_contiguous] | None = None, J_out_other: numpy.ndarray[numpy.float64[3, 3], flags.writeable, flags.c_contiguous] | None = None) manifpy._bindings.R3Tangent

An alias for the ‘rminus’ function.

plus(self: manifpy._bindings.R3, tau: manifpy._bindings._R3TangentBase, J_out_self: numpy.ndarray[numpy.float64[3, 3], flags.writeable, flags.c_contiguous] | None = None, J_mout_tau: numpy.ndarray[numpy.float64[3, 3], flags.writeable, flags.c_contiguous] | None = None) manifpy._bindings.R3

An alias for the ‘rplus’ function.

rminus(self: manifpy._bindings.R3, other: manifpy._bindings._R3Base, J_out_self: numpy.ndarray[numpy.float64[3, 3], flags.writeable, flags.c_contiguous] | None = None, J_out_other: numpy.ndarray[numpy.float64[3, 3], flags.writeable, flags.c_contiguous] | None = None) manifpy._bindings.R3Tangent

Right ominus operation of the Lie group.

See Eq. (26).

Parameters:
  • other (Lie group) – Another element of the same Lie group.

  • [out] (J_out_other) – Jacobian of the ominus operation wrt self.

  • [out] – Jacobian of the ominus operation wrt other.

rplus(self: manifpy._bindings.R3, tau: manifpy._bindings._R3TangentBase, J_out_self: numpy.ndarray[numpy.float64[3, 3], flags.writeable, flags.c_contiguous] | None = None, J_out_tau: numpy.ndarray[numpy.float64[3, 3], flags.writeable, flags.c_contiguous] | None = None) manifpy._bindings.R3

Right oplus operation of the Lie group.

See Eq. (25).

Parameters:
  • tau (Lie group tangent) – An element of the tangent of the Lie group.

  • [out] (J_out_tau) – Jacobian of the oplus operation wrt self.

  • [out] – Jacobian of the oplus operation wrt tau.

setIdentity(self: manifpy._bindings.R3) manifpy._bindings.R3

Set self to the Lie group Identity.

setRandom(self: manifpy._bindings.R3) manifpy._bindings.R3

Set self to a random value.

Dim = 3
DoF = 3
RepSize = 3
class manifpy.R3Tangent

Bases: _R3TangentBase

static Bracket(a: manifpy._bindings._R3TangentBase, b: manifpy._bindings._R3TangentBase) manifpy._bindings.R3Tangent

Compute the Lie bracket [a,b] in vector form..

static Generator(i: int) numpy.ndarray[numpy.float64[4, 4]]

Static helper to get the ith basis element of the Lie Algebra.

static InnerWeights() numpy.ndarray[numpy.float64[3, 3]]

Static helper to get the weight matrix of the Weighted Euclidean inner product, relative to the space basis.

static Random() manifpy._bindings.R3Tangent

Static helper to create a random object of the Lie group.

static Vee(arg0: numpy.ndarray[numpy.float64[4, 4]]) manifpy._bindings.R3Tangent

Instantiate a Tangent from a Lie algebra object.

static Zero() manifpy._bindings.R3Tangent

Static helper to create an object of the Lie group tangent set to zero.

bracket(self: manifpy._bindings.R3Tangent, other: manifpy._bindings._R3TangentBase) manifpy._bindings.R3Tangent

Compute the Lie bracket [this,other] in vector form.

return The Lie bracket [this,other] in vector form.

coeffs(self: manifpy._bindings.R3Tangent) numpy.ndarray[numpy.float64[3, 1]]

Get a reference to underlying data.

coeffs_copy(self: manifpy._bindings.R3Tangent) numpy.ndarray[numpy.float64[3, 1]]

Return a copy of underlying data.

exp(self: manifpy._bindings.R3Tangent, J_out_self: numpy.ndarray[numpy.float64[3, 3], flags.writeable, flags.c_contiguous] | None = None) manifpy._bindings.R3

Get the corresponding Lie group element.

Eq. (23).

Parameters:

[out] (J_out_self) – Jacobian of the log wrt self.

generator(self: manifpy._bindings.R3Tangent, i: int) numpy.ndarray[numpy.float64[4, 4]]

Get the ith basis element of the Lie Algebra.

hat(self: manifpy._bindings.R3Tangent) numpy.ndarray[numpy.float64[4, 4]]

Get the isomorphic element in the Lie algebra.

See Eq. (10).

inner(self: manifpy._bindings.R3Tangent, other: manifpy._bindings._R3TangentBase) float

Get inner product of this and another Tangent weighted by W.

ret = self^T x W x other

innerWeights(self: manifpy._bindings.R3Tangent) numpy.ndarray[numpy.float64[3, 3]]

Get the weight matrix of the Weighted Euclidean inner product, relative to the space basis.

isApprox(*args, **kwargs)

Overloaded function.

  1. isApprox(self: manifpy._bindings.R3Tangent, other: manifpy._bindings.R3Tangent, eps: float = 1e-10) -> bool

    Evaluate whether self and other are ‘close’.

    otherLie group tangent

    Another object of the same Lie group tangent.

    epsdouble

    Threshold for equality comparison. Default: 1e-10.

  2. isApprox(self: manifpy._bindings.R3Tangent, other: numpy.ndarray[numpy.float64[3, 1]], eps: float = 1e-10) -> bool

    Evaluate whether self and other are ‘close’.

    othernumpy.array

    Another object of the same Lie group tangent.

    epsdouble

    Threshold for equality comparison. Default: 1e-10.

ljac(self: manifpy._bindings.R3Tangent) numpy.ndarray[numpy.float64[3, 3]]

Get the left Jacobian.

This is the left Jacobian of ‘exp’, what is commonly known as “the left Jacobian”.

See Eq. (44) for the left Jacobian of general functions. See Eqs. (126,145,164,179,191) for implementations of the left Jacobian of exp.

lplus(self: manifpy._bindings.R3Tangent, state: manifpy._bindings.R3, J_out_self: numpy.ndarray[numpy.float64[3, 3], flags.writeable, flags.c_contiguous] | None = None, J_out_state: numpy.ndarray[numpy.float64[3, 3], flags.writeable, flags.c_contiguous] | None = None) manifpy._bindings.R3

Left oplus operation of the Lie group.

See Eqs. (27).

Parameters:
  • other (Lie group) – Another object of the same Lie group.

  • [out] (J_out_state) – Jacobian of the oplus operation wrt self.

  • [out] – Jacobian of the oplus operation wrt state.

minus(self: manifpy._bindings.R3Tangent, other: manifpy._bindings._R3TangentBase, J_out_self: numpy.ndarray[numpy.float64[3, 3], flags.writeable, flags.c_contiguous] | None = None, J_out_other: numpy.ndarray[numpy.float64[3, 3], flags.writeable, flags.c_contiguous] | None = None) manifpy._bindings.R3Tangent

Minus operation in the vector space.

Parameters:
  • other (Lie group tangent) – Another object of the same Lie group tangent.

  • [out] (J_out_other) – Jacobian of the oplus operation wrt self.

  • [out] – Jacobian of the oplus operation wrt other.

plus(*args, **kwargs)

Overloaded function.

  1. plus(self: manifpy._bindings.R3Tangent, state: manifpy._bindings.R3, J_out_self: Optional[numpy.ndarray[numpy.float64[3, 3], flags.writeable, flags.c_contiguous]] = None, J_out_state: Optional[numpy.ndarray[numpy.float64[3, 3], flags.writeable, flags.c_contiguous]] = None) -> manifpy._bindings.R3

An alias for the ‘rplus’ function.

  1. plus(self: manifpy._bindings.R3Tangent, other: manifpy._bindings._R3TangentBase, J_out_self: Optional[numpy.ndarray[numpy.float64[3, 3], flags.writeable, flags.c_contiguous]] = None, J_out_other: Optional[numpy.ndarray[numpy.float64[3, 3], flags.writeable, flags.c_contiguous]] = None) -> manifpy._bindings.R3Tangent

    Plus operation in the vector space.

    otherLie group tangent

    Another object of the same Lie group tangent.

    J_out_self [out]numpy.ndarray

    Jacobian of the oplus operation wrt self.

    J_out_other [out]numpy.ndarray

    Jacobian of the oplus operation wrt other.

rjac(self: manifpy._bindings.R3Tangent) numpy.ndarray[numpy.float64[3, 3]]

Get the right Jacobian.

This is the right Jacobian of ‘exp’, what is commonly known as “the right Jacobian”.

See Eq. (41) for the right Jacobian of general functions. See Eqs. (126,143,163,179,191) for implementations of the right Jacobian of exp.

rplus(self: manifpy._bindings.R3Tangent, state: manifpy._bindings.R3, J_out_self: numpy.ndarray[numpy.float64[3, 3], flags.writeable, flags.c_contiguous] | None = None, J_out_state: numpy.ndarray[numpy.float64[3, 3], flags.writeable, flags.c_contiguous] | None = None) manifpy._bindings.R3

Right oplus operation of the Lie group.

See Eqs. (25).

Parameters:
  • other (Lie group) – Another object of the same Lie group.

  • [out] (J_out_state) – Jacobian of the oplus operation wrt self.

  • [out] – Jacobian of the oplus operation wrt state.

setRandom(self: manifpy._bindings.R3Tangent) manifpy._bindings.R3Tangent

Set self to a random value.

setVee(self: manifpy._bindings.R3Tangent, vee: numpy.ndarray[numpy.float64[4, 4]]) manifpy._bindings.R3Tangent

Set the Tangent object from an object in the Lie algebra.

setZero(self: manifpy._bindings.R3Tangent) manifpy._bindings.R3Tangent

Set self to zero.

smallAdj(self: manifpy._bindings.R3Tangent) numpy.ndarray[numpy.float64[3, 3]]
squaredWeightedNorm(self: manifpy._bindings.R3Tangent) float

Get the squared Euclidean weighted norm.

weightedNorm(self: manifpy._bindings.R3Tangent) float

Get the Euclidean weighted norm.

Dim = 3
DoF = 3
RepSize = 3
class manifpy.R4

Bases: _R4Base

static Identity() manifpy._bindings.R4

Static helper to create an object set at the Lie group Identity.

static Random() manifpy._bindings.R4

Static helper to create a random object of the Lie group.

act(self: manifpy._bindings.R4, p: numpy.ndarray[numpy.float64[4, 1]], J_out_self: numpy.ndarray[numpy.float64[4, 4], flags.writeable, flags.c_contiguous] | None = None, J_out_p: numpy.ndarray[numpy.float64[4, 4], flags.writeable, flags.c_contiguous] | None = None) numpy.ndarray[numpy.float64[4, 1]]

Get the action of the Lie group object on a point.

Parameters:
  • p (numpy.array) – A point.

  • [out] (J_out_p) – Jacobian of the new object wrt self.

  • [out] – Jacobian of the new object wrt input point.

adj(self: manifpy._bindings.R4) numpy.ndarray[numpy.float64[4, 4]]

Return the Adjoint of the Lie group object self.

See Eq. (29).

between(self: manifpy._bindings.R4, other: manifpy._bindings._R4Base, J_out_self: numpy.ndarray[numpy.float64[4, 4], flags.writeable, flags.c_contiguous] | None = None, J_out_other: numpy.ndarray[numpy.float64[4, 4], flags.writeable, flags.c_contiguous] | None = None) manifpy._bindings.R4

Return the between of self and another object of the same Lie group.

Parameters:
  • other (Lie group) – Another object of the same Lie group.

  • [out] (J_out_other) – Jacobian of the composition wrt self.

  • [out] – Jacobian of the composition wrt other.

coeffs(self: manifpy._bindings.R4) numpy.ndarray[numpy.float64[4, 1]]

Get a reference to underlying data.

coeffs_copy(self: manifpy._bindings.R4) numpy.ndarray[numpy.float64[4, 1]]

Return a copy of underlying data.

compose(self: manifpy._bindings.R4, other: manifpy._bindings._R4Base, J_out_self: numpy.ndarray[numpy.float64[4, 4], flags.writeable, flags.c_contiguous] | None = None, J_out_other: numpy.ndarray[numpy.float64[4, 4], flags.writeable, flags.c_contiguous] | None = None) manifpy._bindings.R4

Return the composition of self and another object of the same Lie group.

See Eqs. (1,2,3,4).

Parameters:
  • other (Lie group) – Another object of the same Lie group.

  • [out] (J_out_other) – Jacobian of the composition wrt self.

  • [out] – Jacobian of the composition wrt other.

inverse(self: manifpy._bindings.R4, J_out_self: numpy.ndarray[numpy.float64[4, 4], flags.writeable, flags.c_contiguous] | None = None) manifpy._bindings.R4

Return the inverse of the Lie group object.

See Eq. (3).

Parameters:

[out] (J_out_self) – Jacobian of the inverse wrt self.

isApprox(self: manifpy._bindings.R4, other: manifpy._bindings._R4Base, eps: float = 1e-10) bool

Evaluate whether self and other are ‘close’.

Parameters:
  • other (Lie group) – Another object of the same Lie group.

  • eps (double) – Threshold for equality comparison. Default: 1e-10.

lminus(self: manifpy._bindings.R4, other: manifpy._bindings._R4Base, J_out_self: numpy.ndarray[numpy.float64[4, 4], flags.writeable, flags.c_contiguous] | None = None, J_out_other: numpy.ndarray[numpy.float64[4, 4], flags.writeable, flags.c_contiguous] | None = None) manifpy._bindings.R4Tangent

Left ominus operation of the Lie group.

See Eq. (28).

Parameters:
  • other (Lie group) – Another element of the same Lie group.

  • [out] (J_out_other) – Jacobian of the ominus operation wrt self.

  • [out] – Jacobian of the ominus operation wrt other.

log(self: manifpy._bindings.R4, J_out_self: numpy.ndarray[numpy.float64[4, 4], flags.writeable, flags.c_contiguous] | None = None) manifpy._bindings.R4Tangent

Return the corresponding Lie algebra element in vector form.

Eq. (24).

Parameters:

[out] (J_out_self) – Jacobian of the log wrt self.

lplus(self: manifpy._bindings.R4, tau: manifpy._bindings._R4TangentBase, J_out_self: numpy.ndarray[numpy.float64[4, 4], flags.writeable, flags.c_contiguous] | None = None, J_mout_tau: numpy.ndarray[numpy.float64[4, 4], flags.writeable, flags.c_contiguous] | None = None) manifpy._bindings.R4

Left oplus operation of the Lie group.

See Eq. (27).

Parameters:
  • tau (Lie group tangent) – An element of the tangent of the Lie group.

  • [out] (J_out_tau) – Jacobian of the oplus operation wrt self.

  • [out] – Jacobian of the oplus operation wrt tau.

minus(self: manifpy._bindings.R4, other: manifpy._bindings._R4Base, J_out_self: numpy.ndarray[numpy.float64[4, 4], flags.writeable, flags.c_contiguous] | None = None, J_out_other: numpy.ndarray[numpy.float64[4, 4], flags.writeable, flags.c_contiguous] | None = None) manifpy._bindings.R4Tangent

An alias for the ‘rminus’ function.

plus(self: manifpy._bindings.R4, tau: manifpy._bindings._R4TangentBase, J_out_self: numpy.ndarray[numpy.float64[4, 4], flags.writeable, flags.c_contiguous] | None = None, J_mout_tau: numpy.ndarray[numpy.float64[4, 4], flags.writeable, flags.c_contiguous] | None = None) manifpy._bindings.R4

An alias for the ‘rplus’ function.

rminus(self: manifpy._bindings.R4, other: manifpy._bindings._R4Base, J_out_self: numpy.ndarray[numpy.float64[4, 4], flags.writeable, flags.c_contiguous] | None = None, J_out_other: numpy.ndarray[numpy.float64[4, 4], flags.writeable, flags.c_contiguous] | None = None) manifpy._bindings.R4Tangent

Right ominus operation of the Lie group.

See Eq. (26).

Parameters:
  • other (Lie group) – Another element of the same Lie group.

  • [out] (J_out_other) – Jacobian of the ominus operation wrt self.

  • [out] – Jacobian of the ominus operation wrt other.

rplus(self: manifpy._bindings.R4, tau: manifpy._bindings._R4TangentBase, J_out_self: numpy.ndarray[numpy.float64[4, 4], flags.writeable, flags.c_contiguous] | None = None, J_out_tau: numpy.ndarray[numpy.float64[4, 4], flags.writeable, flags.c_contiguous] | None = None) manifpy._bindings.R4

Right oplus operation of the Lie group.

See Eq. (25).

Parameters:
  • tau (Lie group tangent) – An element of the tangent of the Lie group.

  • [out] (J_out_tau) – Jacobian of the oplus operation wrt self.

  • [out] – Jacobian of the oplus operation wrt tau.

setIdentity(self: manifpy._bindings.R4) manifpy._bindings.R4

Set self to the Lie group Identity.

setRandom(self: manifpy._bindings.R4) manifpy._bindings.R4

Set self to a random value.

Dim = 4
DoF = 4
RepSize = 4
class manifpy.R4Tangent

Bases: _R4TangentBase

static Bracket(a: manifpy._bindings._R4TangentBase, b: manifpy._bindings._R4TangentBase) manifpy._bindings.R4Tangent

Compute the Lie bracket [a,b] in vector form..

static Generator(i: int) numpy.ndarray[numpy.float64[5, 5]]

Static helper to get the ith basis element of the Lie Algebra.

static InnerWeights() numpy.ndarray[numpy.float64[4, 4]]

Static helper to get the weight matrix of the Weighted Euclidean inner product, relative to the space basis.

static Random() manifpy._bindings.R4Tangent

Static helper to create a random object of the Lie group.

static Vee(arg0: numpy.ndarray[numpy.float64[5, 5]]) manifpy._bindings.R4Tangent

Instantiate a Tangent from a Lie algebra object.

static Zero() manifpy._bindings.R4Tangent

Static helper to create an object of the Lie group tangent set to zero.

bracket(self: manifpy._bindings.R4Tangent, other: manifpy._bindings._R4TangentBase) manifpy._bindings.R4Tangent

Compute the Lie bracket [this,other] in vector form.

return The Lie bracket [this,other] in vector form.

coeffs(self: manifpy._bindings.R4Tangent) numpy.ndarray[numpy.float64[4, 1]]

Get a reference to underlying data.

coeffs_copy(self: manifpy._bindings.R4Tangent) numpy.ndarray[numpy.float64[4, 1]]

Return a copy of underlying data.

exp(self: manifpy._bindings.R4Tangent, J_out_self: numpy.ndarray[numpy.float64[4, 4], flags.writeable, flags.c_contiguous] | None = None) manifpy._bindings.R4

Get the corresponding Lie group element.

Eq. (23).

Parameters:

[out] (J_out_self) – Jacobian of the log wrt self.

generator(self: manifpy._bindings.R4Tangent, i: int) numpy.ndarray[numpy.float64[5, 5]]

Get the ith basis element of the Lie Algebra.

hat(self: manifpy._bindings.R4Tangent) numpy.ndarray[numpy.float64[5, 5]]

Get the isomorphic element in the Lie algebra.

See Eq. (10).

inner(self: manifpy._bindings.R4Tangent, other: manifpy._bindings._R4TangentBase) float

Get inner product of this and another Tangent weighted by W.

ret = self^T x W x other

innerWeights(self: manifpy._bindings.R4Tangent) numpy.ndarray[numpy.float64[4, 4]]

Get the weight matrix of the Weighted Euclidean inner product, relative to the space basis.

isApprox(*args, **kwargs)

Overloaded function.

  1. isApprox(self: manifpy._bindings.R4Tangent, other: manifpy._bindings.R4Tangent, eps: float = 1e-10) -> bool

    Evaluate whether self and other are ‘close’.

    otherLie group tangent

    Another object of the same Lie group tangent.

    epsdouble

    Threshold for equality comparison. Default: 1e-10.

  2. isApprox(self: manifpy._bindings.R4Tangent, other: numpy.ndarray[numpy.float64[4, 1]], eps: float = 1e-10) -> bool

    Evaluate whether self and other are ‘close’.

    othernumpy.array

    Another object of the same Lie group tangent.

    epsdouble

    Threshold for equality comparison. Default: 1e-10.

ljac(self: manifpy._bindings.R4Tangent) numpy.ndarray[numpy.float64[4, 4]]

Get the left Jacobian.

This is the left Jacobian of ‘exp’, what is commonly known as “the left Jacobian”.

See Eq. (44) for the left Jacobian of general functions. See Eqs. (126,145,164,179,191) for implementations of the left Jacobian of exp.

lplus(self: manifpy._bindings.R4Tangent, state: manifpy._bindings.R4, J_out_self: numpy.ndarray[numpy.float64[4, 4], flags.writeable, flags.c_contiguous] | None = None, J_out_state: numpy.ndarray[numpy.float64[4, 4], flags.writeable, flags.c_contiguous] | None = None) manifpy._bindings.R4

Left oplus operation of the Lie group.

See Eqs. (27).

Parameters:
  • other (Lie group) – Another object of the same Lie group.

  • [out] (J_out_state) – Jacobian of the oplus operation wrt self.

  • [out] – Jacobian of the oplus operation wrt state.

minus(self: manifpy._bindings.R4Tangent, other: manifpy._bindings._R4TangentBase, J_out_self: numpy.ndarray[numpy.float64[4, 4], flags.writeable, flags.c_contiguous] | None = None, J_out_other: numpy.ndarray[numpy.float64[4, 4], flags.writeable, flags.c_contiguous] | None = None) manifpy._bindings.R4Tangent

Minus operation in the vector space.

Parameters:
  • other (Lie group tangent) – Another object of the same Lie group tangent.

  • [out] (J_out_other) – Jacobian of the oplus operation wrt self.

  • [out] – Jacobian of the oplus operation wrt other.

plus(*args, **kwargs)

Overloaded function.

  1. plus(self: manifpy._bindings.R4Tangent, state: manifpy._bindings.R4, J_out_self: Optional[numpy.ndarray[numpy.float64[4, 4], flags.writeable, flags.c_contiguous]] = None, J_out_state: Optional[numpy.ndarray[numpy.float64[4, 4], flags.writeable, flags.c_contiguous]] = None) -> manifpy._bindings.R4

An alias for the ‘rplus’ function.

  1. plus(self: manifpy._bindings.R4Tangent, other: manifpy._bindings._R4TangentBase, J_out_self: Optional[numpy.ndarray[numpy.float64[4, 4], flags.writeable, flags.c_contiguous]] = None, J_out_other: Optional[numpy.ndarray[numpy.float64[4, 4], flags.writeable, flags.c_contiguous]] = None) -> manifpy._bindings.R4Tangent

    Plus operation in the vector space.

    otherLie group tangent

    Another object of the same Lie group tangent.

    J_out_self [out]numpy.ndarray

    Jacobian of the oplus operation wrt self.

    J_out_other [out]numpy.ndarray

    Jacobian of the oplus operation wrt other.

rjac(self: manifpy._bindings.R4Tangent) numpy.ndarray[numpy.float64[4, 4]]

Get the right Jacobian.

This is the right Jacobian of ‘exp’, what is commonly known as “the right Jacobian”.

See Eq. (41) for the right Jacobian of general functions. See Eqs. (126,143,163,179,191) for implementations of the right Jacobian of exp.

rplus(self: manifpy._bindings.R4Tangent, state: manifpy._bindings.R4, J_out_self: numpy.ndarray[numpy.float64[4, 4], flags.writeable, flags.c_contiguous] | None = None, J_out_state: numpy.ndarray[numpy.float64[4, 4], flags.writeable, flags.c_contiguous] | None = None) manifpy._bindings.R4

Right oplus operation of the Lie group.

See Eqs. (25).

Parameters:
  • other (Lie group) – Another object of the same Lie group.

  • [out] (J_out_state) – Jacobian of the oplus operation wrt self.

  • [out] – Jacobian of the oplus operation wrt state.

setRandom(self: manifpy._bindings.R4Tangent) manifpy._bindings.R4Tangent

Set self to a random value.

setVee(self: manifpy._bindings.R4Tangent, vee: numpy.ndarray[numpy.float64[5, 5]]) manifpy._bindings.R4Tangent

Set the Tangent object from an object in the Lie algebra.

setZero(self: manifpy._bindings.R4Tangent) manifpy._bindings.R4Tangent

Set self to zero.

smallAdj(self: manifpy._bindings.R4Tangent) numpy.ndarray[numpy.float64[4, 4]]
squaredWeightedNorm(self: manifpy._bindings.R4Tangent) float

Get the squared Euclidean weighted norm.

weightedNorm(self: manifpy._bindings.R4Tangent) float

Get the Euclidean weighted norm.

Dim = 4
DoF = 4
RepSize = 4
class manifpy.R5

Bases: _R5Base

static Identity() manifpy._bindings.R5

Static helper to create an object set at the Lie group Identity.

static Random() manifpy._bindings.R5

Static helper to create a random object of the Lie group.

act(self: manifpy._bindings.R5, p: numpy.ndarray[numpy.float64[5, 1]], J_out_self: numpy.ndarray[numpy.float64[5, 5], flags.writeable, flags.c_contiguous] | None = None, J_out_p: numpy.ndarray[numpy.float64[5, 5], flags.writeable, flags.c_contiguous] | None = None) numpy.ndarray[numpy.float64[5, 1]]

Get the action of the Lie group object on a point.

Parameters:
  • p (numpy.array) – A point.

  • [out] (J_out_p) – Jacobian of the new object wrt self.

  • [out] – Jacobian of the new object wrt input point.

adj(self: manifpy._bindings.R5) numpy.ndarray[numpy.float64[5, 5]]

Return the Adjoint of the Lie group object self.

See Eq. (29).

between(self: manifpy._bindings.R5, other: manifpy._bindings._R5Base, J_out_self: numpy.ndarray[numpy.float64[5, 5], flags.writeable, flags.c_contiguous] | None = None, J_out_other: numpy.ndarray[numpy.float64[5, 5], flags.writeable, flags.c_contiguous] | None = None) manifpy._bindings.R5

Return the between of self and another object of the same Lie group.

Parameters:
  • other (Lie group) – Another object of the same Lie group.

  • [out] (J_out_other) – Jacobian of the composition wrt self.

  • [out] – Jacobian of the composition wrt other.

coeffs(self: manifpy._bindings.R5) numpy.ndarray[numpy.float64[5, 1]]

Get a reference to underlying data.

coeffs_copy(self: manifpy._bindings.R5) numpy.ndarray[numpy.float64[5, 1]]

Return a copy of underlying data.

compose(self: manifpy._bindings.R5, other: manifpy._bindings._R5Base, J_out_self: numpy.ndarray[numpy.float64[5, 5], flags.writeable, flags.c_contiguous] | None = None, J_out_other: numpy.ndarray[numpy.float64[5, 5], flags.writeable, flags.c_contiguous] | None = None) manifpy._bindings.R5

Return the composition of self and another object of the same Lie group.

See Eqs. (1,2,3,4).

Parameters:
  • other (Lie group) – Another object of the same Lie group.

  • [out] (J_out_other) – Jacobian of the composition wrt self.

  • [out] – Jacobian of the composition wrt other.

inverse(self: manifpy._bindings.R5, J_out_self: numpy.ndarray[numpy.float64[5, 5], flags.writeable, flags.c_contiguous] | None = None) manifpy._bindings.R5

Return the inverse of the Lie group object.

See Eq. (3).

Parameters:

[out] (J_out_self) – Jacobian of the inverse wrt self.

isApprox(self: manifpy._bindings.R5, other: manifpy._bindings._R5Base, eps: float = 1e-10) bool

Evaluate whether self and other are ‘close’.

Parameters:
  • other (Lie group) – Another object of the same Lie group.

  • eps (double) – Threshold for equality comparison. Default: 1e-10.

lminus(self: manifpy._bindings.R5, other: manifpy._bindings._R5Base, J_out_self: numpy.ndarray[numpy.float64[5, 5], flags.writeable, flags.c_contiguous] | None = None, J_out_other: numpy.ndarray[numpy.float64[5, 5], flags.writeable, flags.c_contiguous] | None = None) manifpy._bindings.R5Tangent

Left ominus operation of the Lie group.

See Eq. (28).

Parameters:
  • other (Lie group) – Another element of the same Lie group.

  • [out] (J_out_other) – Jacobian of the ominus operation wrt self.

  • [out] – Jacobian of the ominus operation wrt other.

log(self: manifpy._bindings.R5, J_out_self: numpy.ndarray[numpy.float64[5, 5], flags.writeable, flags.c_contiguous] | None = None) manifpy._bindings.R5Tangent

Return the corresponding Lie algebra element in vector form.

Eq. (24).

Parameters:

[out] (J_out_self) – Jacobian of the log wrt self.

lplus(self: manifpy._bindings.R5, tau: manifpy._bindings._R5TangentBase, J_out_self: numpy.ndarray[numpy.float64[5, 5], flags.writeable, flags.c_contiguous] | None = None, J_mout_tau: numpy.ndarray[numpy.float64[5, 5], flags.writeable, flags.c_contiguous] | None = None) manifpy._bindings.R5

Left oplus operation of the Lie group.

See Eq. (27).

Parameters:
  • tau (Lie group tangent) – An element of the tangent of the Lie group.

  • [out] (J_out_tau) – Jacobian of the oplus operation wrt self.

  • [out] – Jacobian of the oplus operation wrt tau.

minus(self: manifpy._bindings.R5, other: manifpy._bindings._R5Base, J_out_self: numpy.ndarray[numpy.float64[5, 5], flags.writeable, flags.c_contiguous] | None = None, J_out_other: numpy.ndarray[numpy.float64[5, 5], flags.writeable, flags.c_contiguous] | None = None) manifpy._bindings.R5Tangent

An alias for the ‘rminus’ function.

plus(self: manifpy._bindings.R5, tau: manifpy._bindings._R5TangentBase, J_out_self: numpy.ndarray[numpy.float64[5, 5], flags.writeable, flags.c_contiguous] | None = None, J_mout_tau: numpy.ndarray[numpy.float64[5, 5], flags.writeable, flags.c_contiguous] | None = None) manifpy._bindings.R5

An alias for the ‘rplus’ function.

rminus(self: manifpy._bindings.R5, other: manifpy._bindings._R5Base, J_out_self: numpy.ndarray[numpy.float64[5, 5], flags.writeable, flags.c_contiguous] | None = None, J_out_other: numpy.ndarray[numpy.float64[5, 5], flags.writeable, flags.c_contiguous] | None = None) manifpy._bindings.R5Tangent

Right ominus operation of the Lie group.

See Eq. (26).

Parameters:
  • other (Lie group) – Another element of the same Lie group.

  • [out] (J_out_other) – Jacobian of the ominus operation wrt self.

  • [out] – Jacobian of the ominus operation wrt other.

rplus(self: manifpy._bindings.R5, tau: manifpy._bindings._R5TangentBase, J_out_self: numpy.ndarray[numpy.float64[5, 5], flags.writeable, flags.c_contiguous] | None = None, J_out_tau: numpy.ndarray[numpy.float64[5, 5], flags.writeable, flags.c_contiguous] | None = None) manifpy._bindings.R5

Right oplus operation of the Lie group.

See Eq. (25).

Parameters:
  • tau (Lie group tangent) – An element of the tangent of the Lie group.

  • [out] (J_out_tau) – Jacobian of the oplus operation wrt self.

  • [out] – Jacobian of the oplus operation wrt tau.

setIdentity(self: manifpy._bindings.R5) manifpy._bindings.R5

Set self to the Lie group Identity.

setRandom(self: manifpy._bindings.R5) manifpy._bindings.R5

Set self to a random value.

Dim = 5
DoF = 5
RepSize = 5
class manifpy.R5Tangent

Bases: _R5TangentBase

static Bracket(a: manifpy._bindings._R5TangentBase, b: manifpy._bindings._R5TangentBase) manifpy._bindings.R5Tangent

Compute the Lie bracket [a,b] in vector form..

static Generator(i: int) numpy.ndarray[numpy.float64[6, 6]]

Static helper to get the ith basis element of the Lie Algebra.

static InnerWeights() numpy.ndarray[numpy.float64[5, 5]]

Static helper to get the weight matrix of the Weighted Euclidean inner product, relative to the space basis.

static Random() manifpy._bindings.R5Tangent

Static helper to create a random object of the Lie group.

static Vee(arg0: numpy.ndarray[numpy.float64[6, 6]]) manifpy._bindings.R5Tangent

Instantiate a Tangent from a Lie algebra object.

static Zero() manifpy._bindings.R5Tangent

Static helper to create an object of the Lie group tangent set to zero.

bracket(self: manifpy._bindings.R5Tangent, other: manifpy._bindings._R5TangentBase) manifpy._bindings.R5Tangent

Compute the Lie bracket [this,other] in vector form.

return The Lie bracket [this,other] in vector form.

coeffs(self: manifpy._bindings.R5Tangent) numpy.ndarray[numpy.float64[5, 1]]

Get a reference to underlying data.

coeffs_copy(self: manifpy._bindings.R5Tangent) numpy.ndarray[numpy.float64[5, 1]]

Return a copy of underlying data.

exp(self: manifpy._bindings.R5Tangent, J_out_self: numpy.ndarray[numpy.float64[5, 5], flags.writeable, flags.c_contiguous] | None = None) manifpy._bindings.R5

Get the corresponding Lie group element.

Eq. (23).

Parameters:

[out] (J_out_self) – Jacobian of the log wrt self.

generator(self: manifpy._bindings.R5Tangent, i: int) numpy.ndarray[numpy.float64[6, 6]]

Get the ith basis element of the Lie Algebra.

hat(self: manifpy._bindings.R5Tangent) numpy.ndarray[numpy.float64[6, 6]]

Get the isomorphic element in the Lie algebra.

See Eq. (10).

inner(self: manifpy._bindings.R5Tangent, other: manifpy._bindings._R5TangentBase) float

Get inner product of this and another Tangent weighted by W.

ret = self^T x W x other

innerWeights(self: manifpy._bindings.R5Tangent) numpy.ndarray[numpy.float64[5, 5]]

Get the weight matrix of the Weighted Euclidean inner product, relative to the space basis.

isApprox(*args, **kwargs)

Overloaded function.

  1. isApprox(self: manifpy._bindings.R5Tangent, other: manifpy._bindings.R5Tangent, eps: float = 1e-10) -> bool

    Evaluate whether self and other are ‘close’.

    otherLie group tangent

    Another object of the same Lie group tangent.

    epsdouble

    Threshold for equality comparison. Default: 1e-10.

  2. isApprox(self: manifpy._bindings.R5Tangent, other: numpy.ndarray[numpy.float64[5, 1]], eps: float = 1e-10) -> bool

    Evaluate whether self and other are ‘close’.

    othernumpy.array

    Another object of the same Lie group tangent.

    epsdouble

    Threshold for equality comparison. Default: 1e-10.

ljac(self: manifpy._bindings.R5Tangent) numpy.ndarray[numpy.float64[5, 5]]

Get the left Jacobian.

This is the left Jacobian of ‘exp’, what is commonly known as “the left Jacobian”.

See Eq. (44) for the left Jacobian of general functions. See Eqs. (126,145,164,179,191) for implementations of the left Jacobian of exp.

lplus(self: manifpy._bindings.R5Tangent, state: manifpy._bindings.R5, J_out_self: numpy.ndarray[numpy.float64[5, 5], flags.writeable, flags.c_contiguous] | None = None, J_out_state: numpy.ndarray[numpy.float64[5, 5], flags.writeable, flags.c_contiguous] | None = None) manifpy._bindings.R5

Left oplus operation of the Lie group.

See Eqs. (27).

Parameters:
  • other (Lie group) – Another object of the same Lie group.

  • [out] (J_out_state) – Jacobian of the oplus operation wrt self.

  • [out] – Jacobian of the oplus operation wrt state.

minus(self: manifpy._bindings.R5Tangent, other: manifpy._bindings._R5TangentBase, J_out_self: numpy.ndarray[numpy.float64[5, 5], flags.writeable, flags.c_contiguous] | None = None, J_out_other: numpy.ndarray[numpy.float64[5, 5], flags.writeable, flags.c_contiguous] | None = None) manifpy._bindings.R5Tangent

Minus operation in the vector space.

Parameters:
  • other (Lie group tangent) – Another object of the same Lie group tangent.

  • [out] (J_out_other) – Jacobian of the oplus operation wrt self.

  • [out] – Jacobian of the oplus operation wrt other.

plus(*args, **kwargs)

Overloaded function.

  1. plus(self: manifpy._bindings.R5Tangent, state: manifpy._bindings.R5, J_out_self: Optional[numpy.ndarray[numpy.float64[5, 5], flags.writeable, flags.c_contiguous]] = None, J_out_state: Optional[numpy.ndarray[numpy.float64[5, 5], flags.writeable, flags.c_contiguous]] = None) -> manifpy._bindings.R5

An alias for the ‘rplus’ function.

  1. plus(self: manifpy._bindings.R5Tangent, other: manifpy._bindings._R5TangentBase, J_out_self: Optional[numpy.ndarray[numpy.float64[5, 5], flags.writeable, flags.c_contiguous]] = None, J_out_other: Optional[numpy.ndarray[numpy.float64[5, 5], flags.writeable, flags.c_contiguous]] = None) -> manifpy._bindings.R5Tangent

    Plus operation in the vector space.

    otherLie group tangent

    Another object of the same Lie group tangent.

    J_out_self [out]numpy.ndarray

    Jacobian of the oplus operation wrt self.

    J_out_other [out]numpy.ndarray

    Jacobian of the oplus operation wrt other.

rjac(self: manifpy._bindings.R5Tangent) numpy.ndarray[numpy.float64[5, 5]]

Get the right Jacobian.

This is the right Jacobian of ‘exp’, what is commonly known as “the right Jacobian”.

See Eq. (41) for the right Jacobian of general functions. See Eqs. (126,143,163,179,191) for implementations of the right Jacobian of exp.

rplus(self: manifpy._bindings.R5Tangent, state: manifpy._bindings.R5, J_out_self: numpy.ndarray[numpy.float64[5, 5], flags.writeable, flags.c_contiguous] | None = None, J_out_state: numpy.ndarray[numpy.float64[5, 5], flags.writeable, flags.c_contiguous] | None = None) manifpy._bindings.R5

Right oplus operation of the Lie group.

See Eqs. (25).

Parameters:
  • other (Lie group) – Another object of the same Lie group.

  • [out] (J_out_state) – Jacobian of the oplus operation wrt self.

  • [out] – Jacobian of the oplus operation wrt state.

setRandom(self: manifpy._bindings.R5Tangent) manifpy._bindings.R5Tangent

Set self to a random value.

setVee(self: manifpy._bindings.R5Tangent, vee: numpy.ndarray[numpy.float64[6, 6]]) manifpy._bindings.R5Tangent

Set the Tangent object from an object in the Lie algebra.

setZero(self: manifpy._bindings.R5Tangent) manifpy._bindings.R5Tangent

Set self to zero.

smallAdj(self: manifpy._bindings.R5Tangent) numpy.ndarray[numpy.float64[5, 5]]
squaredWeightedNorm(self: manifpy._bindings.R5Tangent) float

Get the squared Euclidean weighted norm.

weightedNorm(self: manifpy._bindings.R5Tangent) float

Get the Euclidean weighted norm.

Dim = 5
DoF = 5
RepSize = 5
class manifpy.R6

Bases: _R6Base

static Identity() manifpy._bindings.R6

Static helper to create an object set at the Lie group Identity.

static Random() manifpy._bindings.R6

Static helper to create a random object of the Lie group.

act(self: manifpy._bindings.R6, p: numpy.ndarray[numpy.float64[6, 1]], J_out_self: numpy.ndarray[numpy.float64[6, 6], flags.writeable, flags.c_contiguous] | None = None, J_out_p: numpy.ndarray[numpy.float64[6, 6], flags.writeable, flags.c_contiguous] | None = None) numpy.ndarray[numpy.float64[6, 1]]

Get the action of the Lie group object on a point.

Parameters:
  • p (numpy.array) – A point.

  • [out] (J_out_p) – Jacobian of the new object wrt self.

  • [out] – Jacobian of the new object wrt input point.

adj(self: manifpy._bindings.R6) numpy.ndarray[numpy.float64[6, 6]]

Return the Adjoint of the Lie group object self.

See Eq. (29).

between(self: manifpy._bindings.R6, other: manifpy._bindings._R6Base, J_out_self: numpy.ndarray[numpy.float64[6, 6], flags.writeable, flags.c_contiguous] | None = None, J_out_other: numpy.ndarray[numpy.float64[6, 6], flags.writeable, flags.c_contiguous] | None = None) manifpy._bindings.R6

Return the between of self and another object of the same Lie group.

Parameters:
  • other (Lie group) – Another object of the same Lie group.

  • [out] (J_out_other) – Jacobian of the composition wrt self.

  • [out] – Jacobian of the composition wrt other.

coeffs(self: manifpy._bindings.R6) numpy.ndarray[numpy.float64[6, 1]]

Get a reference to underlying data.

coeffs_copy(self: manifpy._bindings.R6) numpy.ndarray[numpy.float64[6, 1]]

Return a copy of underlying data.

compose(self: manifpy._bindings.R6, other: manifpy._bindings._R6Base, J_out_self: numpy.ndarray[numpy.float64[6, 6], flags.writeable, flags.c_contiguous] | None = None, J_out_other: numpy.ndarray[numpy.float64[6, 6], flags.writeable, flags.c_contiguous] | None = None) manifpy._bindings.R6

Return the composition of self and another object of the same Lie group.

See Eqs. (1,2,3,4).

Parameters:
  • other (Lie group) – Another object of the same Lie group.

  • [out] (J_out_other) – Jacobian of the composition wrt self.

  • [out] – Jacobian of the composition wrt other.

inverse(self: manifpy._bindings.R6, J_out_self: numpy.ndarray[numpy.float64[6, 6], flags.writeable, flags.c_contiguous] | None = None) manifpy._bindings.R6

Return the inverse of the Lie group object.

See Eq. (3).

Parameters:

[out] (J_out_self) – Jacobian of the inverse wrt self.

isApprox(self: manifpy._bindings.R6, other: manifpy._bindings._R6Base, eps: float = 1e-10) bool

Evaluate whether self and other are ‘close’.

Parameters:
  • other (Lie group) – Another object of the same Lie group.

  • eps (double) – Threshold for equality comparison. Default: 1e-10.

lminus(self: manifpy._bindings.R6, other: manifpy._bindings._R6Base, J_out_self: numpy.ndarray[numpy.float64[6, 6], flags.writeable, flags.c_contiguous] | None = None, J_out_other: numpy.ndarray[numpy.float64[6, 6], flags.writeable, flags.c_contiguous] | None = None) manifpy._bindings.R6Tangent

Left ominus operation of the Lie group.

See Eq. (28).

Parameters:
  • other (Lie group) – Another element of the same Lie group.

  • [out] (J_out_other) – Jacobian of the ominus operation wrt self.

  • [out] – Jacobian of the ominus operation wrt other.

log(self: manifpy._bindings.R6, J_out_self: numpy.ndarray[numpy.float64[6, 6], flags.writeable, flags.c_contiguous] | None = None) manifpy._bindings.R6Tangent

Return the corresponding Lie algebra element in vector form.

Eq. (24).

Parameters:

[out] (J_out_self) – Jacobian of the log wrt self.

lplus(self: manifpy._bindings.R6, tau: manifpy._bindings._R6TangentBase, J_out_self: numpy.ndarray[numpy.float64[6, 6], flags.writeable, flags.c_contiguous] | None = None, J_mout_tau: numpy.ndarray[numpy.float64[6, 6], flags.writeable, flags.c_contiguous] | None = None) manifpy._bindings.R6

Left oplus operation of the Lie group.

See Eq. (27).

Parameters:
  • tau (Lie group tangent) – An element of the tangent of the Lie group.

  • [out] (J_out_tau) – Jacobian of the oplus operation wrt self.

  • [out] – Jacobian of the oplus operation wrt tau.

minus(self: manifpy._bindings.R6, other: manifpy._bindings._R6Base, J_out_self: numpy.ndarray[numpy.float64[6, 6], flags.writeable, flags.c_contiguous] | None = None, J_out_other: numpy.ndarray[numpy.float64[6, 6], flags.writeable, flags.c_contiguous] | None = None) manifpy._bindings.R6Tangent

An alias for the ‘rminus’ function.

plus(self: manifpy._bindings.R6, tau: manifpy._bindings._R6TangentBase, J_out_self: numpy.ndarray[numpy.float64[6, 6], flags.writeable, flags.c_contiguous] | None = None, J_mout_tau: numpy.ndarray[numpy.float64[6, 6], flags.writeable, flags.c_contiguous] | None = None) manifpy._bindings.R6

An alias for the ‘rplus’ function.

rminus(self: manifpy._bindings.R6, other: manifpy._bindings._R6Base, J_out_self: numpy.ndarray[numpy.float64[6, 6], flags.writeable, flags.c_contiguous] | None = None, J_out_other: numpy.ndarray[numpy.float64[6, 6], flags.writeable, flags.c_contiguous] | None = None) manifpy._bindings.R6Tangent

Right ominus operation of the Lie group.

See Eq. (26).

Parameters:
  • other (Lie group) – Another element of the same Lie group.

  • [out] (J_out_other) – Jacobian of the ominus operation wrt self.

  • [out] – Jacobian of the ominus operation wrt other.

rplus(self: manifpy._bindings.R6, tau: manifpy._bindings._R6TangentBase, J_out_self: numpy.ndarray[numpy.float64[6, 6], flags.writeable, flags.c_contiguous] | None = None, J_out_tau: numpy.ndarray[numpy.float64[6, 6], flags.writeable, flags.c_contiguous] | None = None) manifpy._bindings.R6

Right oplus operation of the Lie group.

See Eq. (25).

Parameters:
  • tau (Lie group tangent) – An element of the tangent of the Lie group.

  • [out] (J_out_tau) – Jacobian of the oplus operation wrt self.

  • [out] – Jacobian of the oplus operation wrt tau.

setIdentity(self: manifpy._bindings.R6) manifpy._bindings.R6

Set self to the Lie group Identity.

setRandom(self: manifpy._bindings.R6) manifpy._bindings.R6

Set self to a random value.

Dim = 6
DoF = 6
RepSize = 6
class manifpy.R6Tangent

Bases: _R6TangentBase

static Bracket(a: manifpy._bindings._R6TangentBase, b: manifpy._bindings._R6TangentBase) manifpy._bindings.R6Tangent

Compute the Lie bracket [a,b] in vector form..

static Generator(i: int) numpy.ndarray[numpy.float64[7, 7]]

Static helper to get the ith basis element of the Lie Algebra.

static InnerWeights() numpy.ndarray[numpy.float64[6, 6]]

Static helper to get the weight matrix of the Weighted Euclidean inner product, relative to the space basis.

static Random() manifpy._bindings.R6Tangent

Static helper to create a random object of the Lie group.

static Vee(arg0: numpy.ndarray[numpy.float64[7, 7]]) manifpy._bindings.R6Tangent

Instantiate a Tangent from a Lie algebra object.

static Zero() manifpy._bindings.R6Tangent

Static helper to create an object of the Lie group tangent set to zero.

bracket(self: manifpy._bindings.R6Tangent, other: manifpy._bindings._R6TangentBase) manifpy._bindings.R6Tangent

Compute the Lie bracket [this,other] in vector form.

return The Lie bracket [this,other] in vector form.

coeffs(self: manifpy._bindings.R6Tangent) numpy.ndarray[numpy.float64[6, 1]]

Get a reference to underlying data.

coeffs_copy(self: manifpy._bindings.R6Tangent) numpy.ndarray[numpy.float64[6, 1]]

Return a copy of underlying data.

exp(self: manifpy._bindings.R6Tangent, J_out_self: numpy.ndarray[numpy.float64[6, 6], flags.writeable, flags.c_contiguous] | None = None) manifpy._bindings.R6

Get the corresponding Lie group element.

Eq. (23).

Parameters:

[out] (J_out_self) – Jacobian of the log wrt self.

generator(self: manifpy._bindings.R6Tangent, i: int) numpy.ndarray[numpy.float64[7, 7]]

Get the ith basis element of the Lie Algebra.

hat(self: manifpy._bindings.R6Tangent) numpy.ndarray[numpy.float64[7, 7]]

Get the isomorphic element in the Lie algebra.

See Eq. (10).

inner(self: manifpy._bindings.R6Tangent, other: manifpy._bindings._R6TangentBase) float

Get inner product of this and another Tangent weighted by W.

ret = self^T x W x other

innerWeights(self: manifpy._bindings.R6Tangent) numpy.ndarray[numpy.float64[6, 6]]

Get the weight matrix of the Weighted Euclidean inner product, relative to the space basis.

isApprox(*args, **kwargs)

Overloaded function.

  1. isApprox(self: manifpy._bindings.R6Tangent, other: manifpy._bindings.R6Tangent, eps: float = 1e-10) -> bool

    Evaluate whether self and other are ‘close’.

    otherLie group tangent

    Another object of the same Lie group tangent.

    epsdouble

    Threshold for equality comparison. Default: 1e-10.

  2. isApprox(self: manifpy._bindings.R6Tangent, other: numpy.ndarray[numpy.float64[6, 1]], eps: float = 1e-10) -> bool

    Evaluate whether self and other are ‘close’.

    othernumpy.array

    Another object of the same Lie group tangent.

    epsdouble

    Threshold for equality comparison. Default: 1e-10.

ljac(self: manifpy._bindings.R6Tangent) numpy.ndarray[numpy.float64[6, 6]]

Get the left Jacobian.

This is the left Jacobian of ‘exp’, what is commonly known as “the left Jacobian”.

See Eq. (44) for the left Jacobian of general functions. See Eqs. (126,145,164,179,191) for implementations of the left Jacobian of exp.

lplus(self: manifpy._bindings.R6Tangent, state: manifpy._bindings.R6, J_out_self: numpy.ndarray[numpy.float64[6, 6], flags.writeable, flags.c_contiguous] | None = None, J_out_state: numpy.ndarray[numpy.float64[6, 6], flags.writeable, flags.c_contiguous] | None = None) manifpy._bindings.R6

Left oplus operation of the Lie group.

See Eqs. (27).

Parameters:
  • other (Lie group) – Another object of the same Lie group.

  • [out] (J_out_state) – Jacobian of the oplus operation wrt self.

  • [out] – Jacobian of the oplus operation wrt state.

minus(self: manifpy._bindings.R6Tangent, other: manifpy._bindings._R6TangentBase, J_out_self: numpy.ndarray[numpy.float64[6, 6], flags.writeable, flags.c_contiguous] | None = None, J_out_other: numpy.ndarray[numpy.float64[6, 6], flags.writeable, flags.c_contiguous] | None = None) manifpy._bindings.R6Tangent

Minus operation in the vector space.

Parameters:
  • other (Lie group tangent) – Another object of the same Lie group tangent.

  • [out] (J_out_other) – Jacobian of the oplus operation wrt self.

  • [out] – Jacobian of the oplus operation wrt other.

plus(*args, **kwargs)

Overloaded function.

  1. plus(self: manifpy._bindings.R6Tangent, state: manifpy._bindings.R6, J_out_self: Optional[numpy.ndarray[numpy.float64[6, 6], flags.writeable, flags.c_contiguous]] = None, J_out_state: Optional[numpy.ndarray[numpy.float64[6, 6], flags.writeable, flags.c_contiguous]] = None) -> manifpy._bindings.R6

An alias for the ‘rplus’ function.

  1. plus(self: manifpy._bindings.R6Tangent, other: manifpy._bindings._R6TangentBase, J_out_self: Optional[numpy.ndarray[numpy.float64[6, 6], flags.writeable, flags.c_contiguous]] = None, J_out_other: Optional[numpy.ndarray[numpy.float64[6, 6], flags.writeable, flags.c_contiguous]] = None) -> manifpy._bindings.R6Tangent

    Plus operation in the vector space.

    otherLie group tangent

    Another object of the same Lie group tangent.

    J_out_self [out]numpy.ndarray

    Jacobian of the oplus operation wrt self.

    J_out_other [out]numpy.ndarray

    Jacobian of the oplus operation wrt other.

rjac(self: manifpy._bindings.R6Tangent) numpy.ndarray[numpy.float64[6, 6]]

Get the right Jacobian.

This is the right Jacobian of ‘exp’, what is commonly known as “the right Jacobian”.

See Eq. (41) for the right Jacobian of general functions. See Eqs. (126,143,163,179,191) for implementations of the right Jacobian of exp.

rplus(self: manifpy._bindings.R6Tangent, state: manifpy._bindings.R6, J_out_self: numpy.ndarray[numpy.float64[6, 6], flags.writeable, flags.c_contiguous] | None = None, J_out_state: numpy.ndarray[numpy.float64[6, 6], flags.writeable, flags.c_contiguous] | None = None) manifpy._bindings.R6

Right oplus operation of the Lie group.

See Eqs. (25).

Parameters:
  • other (Lie group) – Another object of the same Lie group.

  • [out] (J_out_state) – Jacobian of the oplus operation wrt self.

  • [out] – Jacobian of the oplus operation wrt state.

setRandom(self: manifpy._bindings.R6Tangent) manifpy._bindings.R6Tangent

Set self to a random value.

setVee(self: manifpy._bindings.R6Tangent, vee: numpy.ndarray[numpy.float64[7, 7]]) manifpy._bindings.R6Tangent

Set the Tangent object from an object in the Lie algebra.

setZero(self: manifpy._bindings.R6Tangent) manifpy._bindings.R6Tangent

Set self to zero.

smallAdj(self: manifpy._bindings.R6Tangent) numpy.ndarray[numpy.float64[6, 6]]
squaredWeightedNorm(self: manifpy._bindings.R6Tangent) float

Get the squared Euclidean weighted norm.

weightedNorm(self: manifpy._bindings.R6Tangent) float

Get the Euclidean weighted norm.

Dim = 6
DoF = 6
RepSize = 6
class manifpy.R7

Bases: _R7Base

static Identity() manifpy._bindings.R7

Static helper to create an object set at the Lie group Identity.

static Random() manifpy._bindings.R7

Static helper to create a random object of the Lie group.

act(self: manifpy._bindings.R7, p: numpy.ndarray[numpy.float64[7, 1]], J_out_self: numpy.ndarray[numpy.float64[7, 7], flags.writeable, flags.c_contiguous] | None = None, J_out_p: numpy.ndarray[numpy.float64[7, 7], flags.writeable, flags.c_contiguous] | None = None) numpy.ndarray[numpy.float64[7, 1]]

Get the action of the Lie group object on a point.

Parameters:
  • p (numpy.array) – A point.

  • [out] (J_out_p) – Jacobian of the new object wrt self.

  • [out] – Jacobian of the new object wrt input point.

adj(self: manifpy._bindings.R7) numpy.ndarray[numpy.float64[7, 7]]

Return the Adjoint of the Lie group object self.

See Eq. (29).

between(self: manifpy._bindings.R7, other: manifpy._bindings._R7Base, J_out_self: numpy.ndarray[numpy.float64[7, 7], flags.writeable, flags.c_contiguous] | None = None, J_out_other: numpy.ndarray[numpy.float64[7, 7], flags.writeable, flags.c_contiguous] | None = None) manifpy._bindings.R7

Return the between of self and another object of the same Lie group.

Parameters:
  • other (Lie group) – Another object of the same Lie group.

  • [out] (J_out_other) – Jacobian of the composition wrt self.

  • [out] – Jacobian of the composition wrt other.

coeffs(self: manifpy._bindings.R7) numpy.ndarray[numpy.float64[7, 1]]

Get a reference to underlying data.

coeffs_copy(self: manifpy._bindings.R7) numpy.ndarray[numpy.float64[7, 1]]

Return a copy of underlying data.

compose(self: manifpy._bindings.R7, other: manifpy._bindings._R7Base, J_out_self: numpy.ndarray[numpy.float64[7, 7], flags.writeable, flags.c_contiguous] | None = None, J_out_other: numpy.ndarray[numpy.float64[7, 7], flags.writeable, flags.c_contiguous] | None = None) manifpy._bindings.R7

Return the composition of self and another object of the same Lie group.

See Eqs. (1,2,3,4).

Parameters:
  • other (Lie group) – Another object of the same Lie group.

  • [out] (J_out_other) – Jacobian of the composition wrt self.

  • [out] – Jacobian of the composition wrt other.

inverse(self: manifpy._bindings.R7, J_out_self: numpy.ndarray[numpy.float64[7, 7], flags.writeable, flags.c_contiguous] | None = None) manifpy._bindings.R7

Return the inverse of the Lie group object.

See Eq. (3).

Parameters:

[out] (J_out_self) – Jacobian of the inverse wrt self.

isApprox(self: manifpy._bindings.R7, other: manifpy._bindings._R7Base, eps: float = 1e-10) bool

Evaluate whether self and other are ‘close’.

Parameters:
  • other (Lie group) – Another object of the same Lie group.

  • eps (double) – Threshold for equality comparison. Default: 1e-10.

lminus(self: manifpy._bindings.R7, other: manifpy._bindings._R7Base, J_out_self: numpy.ndarray[numpy.float64[7, 7], flags.writeable, flags.c_contiguous] | None = None, J_out_other: numpy.ndarray[numpy.float64[7, 7], flags.writeable, flags.c_contiguous] | None = None) manifpy._bindings.R7Tangent

Left ominus operation of the Lie group.

See Eq. (28).

Parameters:
  • other (Lie group) – Another element of the same Lie group.

  • [out] (J_out_other) – Jacobian of the ominus operation wrt self.

  • [out] – Jacobian of the ominus operation wrt other.

log(self: manifpy._bindings.R7, J_out_self: numpy.ndarray[numpy.float64[7, 7], flags.writeable, flags.c_contiguous] | None = None) manifpy._bindings.R7Tangent

Return the corresponding Lie algebra element in vector form.

Eq. (24).

Parameters:

[out] (J_out_self) – Jacobian of the log wrt self.

lplus(self: manifpy._bindings.R7, tau: manifpy._bindings._R7TangentBase, J_out_self: numpy.ndarray[numpy.float64[7, 7], flags.writeable, flags.c_contiguous] | None = None, J_mout_tau: numpy.ndarray[numpy.float64[7, 7], flags.writeable, flags.c_contiguous] | None = None) manifpy._bindings.R7

Left oplus operation of the Lie group.

See Eq. (27).

Parameters:
  • tau (Lie group tangent) – An element of the tangent of the Lie group.

  • [out] (J_out_tau) – Jacobian of the oplus operation wrt self.

  • [out] – Jacobian of the oplus operation wrt tau.

minus(self: manifpy._bindings.R7, other: manifpy._bindings._R7Base, J_out_self: numpy.ndarray[numpy.float64[7, 7], flags.writeable, flags.c_contiguous] | None = None, J_out_other: numpy.ndarray[numpy.float64[7, 7], flags.writeable, flags.c_contiguous] | None = None) manifpy._bindings.R7Tangent

An alias for the ‘rminus’ function.

plus(self: manifpy._bindings.R7, tau: manifpy._bindings._R7TangentBase, J_out_self: numpy.ndarray[numpy.float64[7, 7], flags.writeable, flags.c_contiguous] | None = None, J_mout_tau: numpy.ndarray[numpy.float64[7, 7], flags.writeable, flags.c_contiguous] | None = None) manifpy._bindings.R7

An alias for the ‘rplus’ function.

rminus(self: manifpy._bindings.R7, other: manifpy._bindings._R7Base, J_out_self: numpy.ndarray[numpy.float64[7, 7], flags.writeable, flags.c_contiguous] | None = None, J_out_other: numpy.ndarray[numpy.float64[7, 7], flags.writeable, flags.c_contiguous] | None = None) manifpy._bindings.R7Tangent

Right ominus operation of the Lie group.

See Eq. (26).

Parameters:
  • other (Lie group) – Another element of the same Lie group.

  • [out] (J_out_other) – Jacobian of the ominus operation wrt self.

  • [out] – Jacobian of the ominus operation wrt other.

rplus(self: manifpy._bindings.R7, tau: manifpy._bindings._R7TangentBase, J_out_self: numpy.ndarray[numpy.float64[7, 7], flags.writeable, flags.c_contiguous] | None = None, J_out_tau: numpy.ndarray[numpy.float64[7, 7], flags.writeable, flags.c_contiguous] | None = None) manifpy._bindings.R7

Right oplus operation of the Lie group.

See Eq. (25).

Parameters:
  • tau (Lie group tangent) – An element of the tangent of the Lie group.

  • [out] (J_out_tau) – Jacobian of the oplus operation wrt self.

  • [out] – Jacobian of the oplus operation wrt tau.

setIdentity(self: manifpy._bindings.R7) manifpy._bindings.R7

Set self to the Lie group Identity.

setRandom(self: manifpy._bindings.R7) manifpy._bindings.R7

Set self to a random value.

Dim = 7
DoF = 7
RepSize = 7
class manifpy.R7Tangent

Bases: _R7TangentBase

static Bracket(a: manifpy._bindings._R7TangentBase, b: manifpy._bindings._R7TangentBase) manifpy._bindings.R7Tangent

Compute the Lie bracket [a,b] in vector form..

static Generator(i: int) numpy.ndarray[numpy.float64[8, 8]]

Static helper to get the ith basis element of the Lie Algebra.

static InnerWeights() numpy.ndarray[numpy.float64[7, 7]]

Static helper to get the weight matrix of the Weighted Euclidean inner product, relative to the space basis.

static Random() manifpy._bindings.R7Tangent

Static helper to create a random object of the Lie group.

static Vee(arg0: numpy.ndarray[numpy.float64[8, 8]]) manifpy._bindings.R7Tangent

Instantiate a Tangent from a Lie algebra object.

static Zero() manifpy._bindings.R7Tangent

Static helper to create an object of the Lie group tangent set to zero.

bracket(self: manifpy._bindings.R7Tangent, other: manifpy._bindings._R7TangentBase) manifpy._bindings.R7Tangent

Compute the Lie bracket [this,other] in vector form.

return The Lie bracket [this,other] in vector form.

coeffs(self: manifpy._bindings.R7Tangent) numpy.ndarray[numpy.float64[7, 1]]

Get a reference to underlying data.

coeffs_copy(self: manifpy._bindings.R7Tangent) numpy.ndarray[numpy.float64[7, 1]]

Return a copy of underlying data.

exp(self: manifpy._bindings.R7Tangent, J_out_self: numpy.ndarray[numpy.float64[7, 7], flags.writeable, flags.c_contiguous] | None = None) manifpy._bindings.R7

Get the corresponding Lie group element.

Eq. (23).

Parameters:

[out] (J_out_self) – Jacobian of the log wrt self.

generator(self: manifpy._bindings.R7Tangent, i: int) numpy.ndarray[numpy.float64[8, 8]]

Get the ith basis element of the Lie Algebra.

hat(self: manifpy._bindings.R7Tangent) numpy.ndarray[numpy.float64[8, 8]]

Get the isomorphic element in the Lie algebra.

See Eq. (10).

inner(self: manifpy._bindings.R7Tangent, other: manifpy._bindings._R7TangentBase) float

Get inner product of this and another Tangent weighted by W.

ret = self^T x W x other

innerWeights(self: manifpy._bindings.R7Tangent) numpy.ndarray[numpy.float64[7, 7]]

Get the weight matrix of the Weighted Euclidean inner product, relative to the space basis.

isApprox(*args, **kwargs)

Overloaded function.

  1. isApprox(self: manifpy._bindings.R7Tangent, other: manifpy._bindings.R7Tangent, eps: float = 1e-10) -> bool

    Evaluate whether self and other are ‘close’.

    otherLie group tangent

    Another object of the same Lie group tangent.

    epsdouble

    Threshold for equality comparison. Default: 1e-10.

  2. isApprox(self: manifpy._bindings.R7Tangent, other: numpy.ndarray[numpy.float64[7, 1]], eps: float = 1e-10) -> bool

    Evaluate whether self and other are ‘close’.

    othernumpy.array

    Another object of the same Lie group tangent.

    epsdouble

    Threshold for equality comparison. Default: 1e-10.

ljac(self: manifpy._bindings.R7Tangent) numpy.ndarray[numpy.float64[7, 7]]

Get the left Jacobian.

This is the left Jacobian of ‘exp’, what is commonly known as “the left Jacobian”.

See Eq. (44) for the left Jacobian of general functions. See Eqs. (126,145,164,179,191) for implementations of the left Jacobian of exp.

lplus(self: manifpy._bindings.R7Tangent, state: manifpy._bindings.R7, J_out_self: numpy.ndarray[numpy.float64[7, 7], flags.writeable, flags.c_contiguous] | None = None, J_out_state: numpy.ndarray[numpy.float64[7, 7], flags.writeable, flags.c_contiguous] | None = None) manifpy._bindings.R7

Left oplus operation of the Lie group.

See Eqs. (27).

Parameters:
  • other (Lie group) – Another object of the same Lie group.

  • [out] (J_out_state) – Jacobian of the oplus operation wrt self.

  • [out] – Jacobian of the oplus operation wrt state.

minus(self: manifpy._bindings.R7Tangent, other: manifpy._bindings._R7TangentBase, J_out_self: numpy.ndarray[numpy.float64[7, 7], flags.writeable, flags.c_contiguous] | None = None, J_out_other: numpy.ndarray[numpy.float64[7, 7], flags.writeable, flags.c_contiguous] | None = None) manifpy._bindings.R7Tangent

Minus operation in the vector space.

Parameters:
  • other (Lie group tangent) – Another object of the same Lie group tangent.

  • [out] (J_out_other) – Jacobian of the oplus operation wrt self.

  • [out] – Jacobian of the oplus operation wrt other.

plus(*args, **kwargs)

Overloaded function.

  1. plus(self: manifpy._bindings.R7Tangent, state: manifpy._bindings.R7, J_out_self: Optional[numpy.ndarray[numpy.float64[7, 7], flags.writeable, flags.c_contiguous]] = None, J_out_state: Optional[numpy.ndarray[numpy.float64[7, 7], flags.writeable, flags.c_contiguous]] = None) -> manifpy._bindings.R7

An alias for the ‘rplus’ function.

  1. plus(self: manifpy._bindings.R7Tangent, other: manifpy._bindings._R7TangentBase, J_out_self: Optional[numpy.ndarray[numpy.float64[7, 7], flags.writeable, flags.c_contiguous]] = None, J_out_other: Optional[numpy.ndarray[numpy.float64[7, 7], flags.writeable, flags.c_contiguous]] = None) -> manifpy._bindings.R7Tangent

    Plus operation in the vector space.

    otherLie group tangent

    Another object of the same Lie group tangent.

    J_out_self [out]numpy.ndarray

    Jacobian of the oplus operation wrt self.

    J_out_other [out]numpy.ndarray

    Jacobian of the oplus operation wrt other.

rjac(self: manifpy._bindings.R7Tangent) numpy.ndarray[numpy.float64[7, 7]]

Get the right Jacobian.

This is the right Jacobian of ‘exp’, what is commonly known as “the right Jacobian”.

See Eq. (41) for the right Jacobian of general functions. See Eqs. (126,143,163,179,191) for implementations of the right Jacobian of exp.

rplus(self: manifpy._bindings.R7Tangent, state: manifpy._bindings.R7, J_out_self: numpy.ndarray[numpy.float64[7, 7], flags.writeable, flags.c_contiguous] | None = None, J_out_state: numpy.ndarray[numpy.float64[7, 7], flags.writeable, flags.c_contiguous] | None = None) manifpy._bindings.R7

Right oplus operation of the Lie group.

See Eqs. (25).

Parameters:
  • other (Lie group) – Another object of the same Lie group.

  • [out] (J_out_state) – Jacobian of the oplus operation wrt self.

  • [out] – Jacobian of the oplus operation wrt state.

setRandom(self: manifpy._bindings.R7Tangent) manifpy._bindings.R7Tangent

Set self to a random value.

setVee(self: manifpy._bindings.R7Tangent, vee: numpy.ndarray[numpy.float64[8, 8]]) manifpy._bindings.R7Tangent

Set the Tangent object from an object in the Lie algebra.

setZero(self: manifpy._bindings.R7Tangent) manifpy._bindings.R7Tangent

Set self to zero.

smallAdj(self: manifpy._bindings.R7Tangent) numpy.ndarray[numpy.float64[7, 7]]
squaredWeightedNorm(self: manifpy._bindings.R7Tangent) float

Get the squared Euclidean weighted norm.

weightedNorm(self: manifpy._bindings.R7Tangent) float

Get the Euclidean weighted norm.

Dim = 7
DoF = 7
RepSize = 7
class manifpy.R8

Bases: _R8Base

static Identity() manifpy._bindings.R8

Static helper to create an object set at the Lie group Identity.

static Random() manifpy._bindings.R8

Static helper to create a random object of the Lie group.

act(self: manifpy._bindings.R8, p: numpy.ndarray[numpy.float64[8, 1]], J_out_self: numpy.ndarray[numpy.float64[8, 8], flags.writeable, flags.c_contiguous] | None = None, J_out_p: numpy.ndarray[numpy.float64[8, 8], flags.writeable, flags.c_contiguous] | None = None) numpy.ndarray[numpy.float64[8, 1]]

Get the action of the Lie group object on a point.

Parameters:
  • p (numpy.array) – A point.

  • [out] (J_out_p) – Jacobian of the new object wrt self.

  • [out] – Jacobian of the new object wrt input point.

adj(self: manifpy._bindings.R8) numpy.ndarray[numpy.float64[8, 8]]

Return the Adjoint of the Lie group object self.

See Eq. (29).

between(self: manifpy._bindings.R8, other: manifpy._bindings._R8Base, J_out_self: numpy.ndarray[numpy.float64[8, 8], flags.writeable, flags.c_contiguous] | None = None, J_out_other: numpy.ndarray[numpy.float64[8, 8], flags.writeable, flags.c_contiguous] | None = None) manifpy._bindings.R8

Return the between of self and another object of the same Lie group.

Parameters:
  • other (Lie group) – Another object of the same Lie group.

  • [out] (J_out_other) – Jacobian of the composition wrt self.

  • [out] – Jacobian of the composition wrt other.

coeffs(self: manifpy._bindings.R8) numpy.ndarray[numpy.float64[8, 1]]

Get a reference to underlying data.

coeffs_copy(self: manifpy._bindings.R8) numpy.ndarray[numpy.float64[8, 1]]

Return a copy of underlying data.

compose(self: manifpy._bindings.R8, other: manifpy._bindings._R8Base, J_out_self: numpy.ndarray[numpy.float64[8, 8], flags.writeable, flags.c_contiguous] | None = None, J_out_other: numpy.ndarray[numpy.float64[8, 8], flags.writeable, flags.c_contiguous] | None = None) manifpy._bindings.R8

Return the composition of self and another object of the same Lie group.

See Eqs. (1,2,3,4).

Parameters:
  • other (Lie group) – Another object of the same Lie group.

  • [out] (J_out_other) – Jacobian of the composition wrt self.

  • [out] – Jacobian of the composition wrt other.

inverse(self: manifpy._bindings.R8, J_out_self: numpy.ndarray[numpy.float64[8, 8], flags.writeable, flags.c_contiguous] | None = None) manifpy._bindings.R8

Return the inverse of the Lie group object.

See Eq. (3).

Parameters:

[out] (J_out_self) – Jacobian of the inverse wrt self.

isApprox(self: manifpy._bindings.R8, other: manifpy._bindings._R8Base, eps: float = 1e-10) bool

Evaluate whether self and other are ‘close’.

Parameters:
  • other (Lie group) – Another object of the same Lie group.

  • eps (double) – Threshold for equality comparison. Default: 1e-10.

lminus(self: manifpy._bindings.R8, other: manifpy._bindings._R8Base, J_out_self: numpy.ndarray[numpy.float64[8, 8], flags.writeable, flags.c_contiguous] | None = None, J_out_other: numpy.ndarray[numpy.float64[8, 8], flags.writeable, flags.c_contiguous] | None = None) manifpy._bindings.R8Tangent

Left ominus operation of the Lie group.

See Eq. (28).

Parameters:
  • other (Lie group) – Another element of the same Lie group.

  • [out] (J_out_other) – Jacobian of the ominus operation wrt self.

  • [out] – Jacobian of the ominus operation wrt other.

log(self: manifpy._bindings.R8, J_out_self: numpy.ndarray[numpy.float64[8, 8], flags.writeable, flags.c_contiguous] | None = None) manifpy._bindings.R8Tangent

Return the corresponding Lie algebra element in vector form.

Eq. (24).

Parameters:

[out] (J_out_self) – Jacobian of the log wrt self.

lplus(self: manifpy._bindings.R8, tau: manifpy._bindings._R8TangentBase, J_out_self: numpy.ndarray[numpy.float64[8, 8], flags.writeable, flags.c_contiguous] | None = None, J_mout_tau: numpy.ndarray[numpy.float64[8, 8], flags.writeable, flags.c_contiguous] | None = None) manifpy._bindings.R8

Left oplus operation of the Lie group.

See Eq. (27).

Parameters:
  • tau (Lie group tangent) – An element of the tangent of the Lie group.

  • [out] (J_out_tau) – Jacobian of the oplus operation wrt self.

  • [out] – Jacobian of the oplus operation wrt tau.

minus(self: manifpy._bindings.R8, other: manifpy._bindings._R8Base, J_out_self: numpy.ndarray[numpy.float64[8, 8], flags.writeable, flags.c_contiguous] | None = None, J_out_other: numpy.ndarray[numpy.float64[8, 8], flags.writeable, flags.c_contiguous] | None = None) manifpy._bindings.R8Tangent

An alias for the ‘rminus’ function.

plus(self: manifpy._bindings.R8, tau: manifpy._bindings._R8TangentBase, J_out_self: numpy.ndarray[numpy.float64[8, 8], flags.writeable, flags.c_contiguous] | None = None, J_mout_tau: numpy.ndarray[numpy.float64[8, 8], flags.writeable, flags.c_contiguous] | None = None) manifpy._bindings.R8

An alias for the ‘rplus’ function.

rminus(self: manifpy._bindings.R8, other: manifpy._bindings._R8Base, J_out_self: numpy.ndarray[numpy.float64[8, 8], flags.writeable, flags.c_contiguous] | None = None, J_out_other: numpy.ndarray[numpy.float64[8, 8], flags.writeable, flags.c_contiguous] | None = None) manifpy._bindings.R8Tangent

Right ominus operation of the Lie group.

See Eq. (26).

Parameters:
  • other (Lie group) – Another element of the same Lie group.

  • [out] (J_out_other) – Jacobian of the ominus operation wrt self.

  • [out] – Jacobian of the ominus operation wrt other.

rplus(self: manifpy._bindings.R8, tau: manifpy._bindings._R8TangentBase, J_out_self: numpy.ndarray[numpy.float64[8, 8], flags.writeable, flags.c_contiguous] | None = None, J_out_tau: numpy.ndarray[numpy.float64[8, 8], flags.writeable, flags.c_contiguous] | None = None) manifpy._bindings.R8

Right oplus operation of the Lie group.

See Eq. (25).

Parameters:
  • tau (Lie group tangent) – An element of the tangent of the Lie group.

  • [out] (J_out_tau) – Jacobian of the oplus operation wrt self.

  • [out] – Jacobian of the oplus operation wrt tau.

setIdentity(self: manifpy._bindings.R8) manifpy._bindings.R8

Set self to the Lie group Identity.

setRandom(self: manifpy._bindings.R8) manifpy._bindings.R8

Set self to a random value.

Dim = 8
DoF = 8
RepSize = 8
class manifpy.R8Tangent

Bases: _R8TangentBase

static Bracket(a: manifpy._bindings._R8TangentBase, b: manifpy._bindings._R8TangentBase) manifpy._bindings.R8Tangent

Compute the Lie bracket [a,b] in vector form..

static Generator(i: int) numpy.ndarray[numpy.float64[9, 9]]

Static helper to get the ith basis element of the Lie Algebra.

static InnerWeights() numpy.ndarray[numpy.float64[8, 8]]

Static helper to get the weight matrix of the Weighted Euclidean inner product, relative to the space basis.

static Random() manifpy._bindings.R8Tangent

Static helper to create a random object of the Lie group.

static Vee(arg0: numpy.ndarray[numpy.float64[9, 9]]) manifpy._bindings.R8Tangent

Instantiate a Tangent from a Lie algebra object.

static Zero() manifpy._bindings.R8Tangent

Static helper to create an object of the Lie group tangent set to zero.

bracket(self: manifpy._bindings.R8Tangent, other: manifpy._bindings._R8TangentBase) manifpy._bindings.R8Tangent

Compute the Lie bracket [this,other] in vector form.

return The Lie bracket [this,other] in vector form.

coeffs(self: manifpy._bindings.R8Tangent) numpy.ndarray[numpy.float64[8, 1]]

Get a reference to underlying data.

coeffs_copy(self: manifpy._bindings.R8Tangent) numpy.ndarray[numpy.float64[8, 1]]

Return a copy of underlying data.

exp(self: manifpy._bindings.R8Tangent, J_out_self: numpy.ndarray[numpy.float64[8, 8], flags.writeable, flags.c_contiguous] | None = None) manifpy._bindings.R8

Get the corresponding Lie group element.

Eq. (23).

Parameters:

[out] (J_out_self) – Jacobian of the log wrt self.

generator(self: manifpy._bindings.R8Tangent, i: int) numpy.ndarray[numpy.float64[9, 9]]

Get the ith basis element of the Lie Algebra.

hat(self: manifpy._bindings.R8Tangent) numpy.ndarray[numpy.float64[9, 9]]

Get the isomorphic element in the Lie algebra.

See Eq. (10).

inner(self: manifpy._bindings.R8Tangent, other: manifpy._bindings._R8TangentBase) float

Get inner product of this and another Tangent weighted by W.

ret = self^T x W x other

innerWeights(self: manifpy._bindings.R8Tangent) numpy.ndarray[numpy.float64[8, 8]]

Get the weight matrix of the Weighted Euclidean inner product, relative to the space basis.

isApprox(*args, **kwargs)

Overloaded function.

  1. isApprox(self: manifpy._bindings.R8Tangent, other: manifpy._bindings.R8Tangent, eps: float = 1e-10) -> bool

    Evaluate whether self and other are ‘close’.

    otherLie group tangent

    Another object of the same Lie group tangent.

    epsdouble

    Threshold for equality comparison. Default: 1e-10.

  2. isApprox(self: manifpy._bindings.R8Tangent, other: numpy.ndarray[numpy.float64[8, 1]], eps: float = 1e-10) -> bool

    Evaluate whether self and other are ‘close’.

    othernumpy.array

    Another object of the same Lie group tangent.

    epsdouble

    Threshold for equality comparison. Default: 1e-10.

ljac(self: manifpy._bindings.R8Tangent) numpy.ndarray[numpy.float64[8, 8]]

Get the left Jacobian.

This is the left Jacobian of ‘exp’, what is commonly known as “the left Jacobian”.

See Eq. (44) for the left Jacobian of general functions. See Eqs. (126,145,164,179,191) for implementations of the left Jacobian of exp.

lplus(self: manifpy._bindings.R8Tangent, state: manifpy._bindings.R8, J_out_self: numpy.ndarray[numpy.float64[8, 8], flags.writeable, flags.c_contiguous] | None = None, J_out_state: numpy.ndarray[numpy.float64[8, 8], flags.writeable, flags.c_contiguous] | None = None) manifpy._bindings.R8

Left oplus operation of the Lie group.

See Eqs. (27).

Parameters:
  • other (Lie group) – Another object of the same Lie group.

  • [out] (J_out_state) – Jacobian of the oplus operation wrt self.

  • [out] – Jacobian of the oplus operation wrt state.

minus(self: manifpy._bindings.R8Tangent, other: manifpy._bindings._R8TangentBase, J_out_self: numpy.ndarray[numpy.float64[8, 8], flags.writeable, flags.c_contiguous] | None = None, J_out_other: numpy.ndarray[numpy.float64[8, 8], flags.writeable, flags.c_contiguous] | None = None) manifpy._bindings.R8Tangent

Minus operation in the vector space.

Parameters:
  • other (Lie group tangent) – Another object of the same Lie group tangent.

  • [out] (J_out_other) – Jacobian of the oplus operation wrt self.

  • [out] – Jacobian of the oplus operation wrt other.

plus(*args, **kwargs)

Overloaded function.

  1. plus(self: manifpy._bindings.R8Tangent, state: manifpy._bindings.R8, J_out_self: Optional[numpy.ndarray[numpy.float64[8, 8], flags.writeable, flags.c_contiguous]] = None, J_out_state: Optional[numpy.ndarray[numpy.float64[8, 8], flags.writeable, flags.c_contiguous]] = None) -> manifpy._bindings.R8

An alias for the ‘rplus’ function.

  1. plus(self: manifpy._bindings.R8Tangent, other: manifpy._bindings._R8TangentBase, J_out_self: Optional[numpy.ndarray[numpy.float64[8, 8], flags.writeable, flags.c_contiguous]] = None, J_out_other: Optional[numpy.ndarray[numpy.float64[8, 8], flags.writeable, flags.c_contiguous]] = None) -> manifpy._bindings.R8Tangent

    Plus operation in the vector space.

    otherLie group tangent

    Another object of the same Lie group tangent.

    J_out_self [out]numpy.ndarray

    Jacobian of the oplus operation wrt self.

    J_out_other [out]numpy.ndarray

    Jacobian of the oplus operation wrt other.

rjac(self: manifpy._bindings.R8Tangent) numpy.ndarray[numpy.float64[8, 8]]

Get the right Jacobian.

This is the right Jacobian of ‘exp’, what is commonly known as “the right Jacobian”.

See Eq. (41) for the right Jacobian of general functions. See Eqs. (126,143,163,179,191) for implementations of the right Jacobian of exp.

rplus(self: manifpy._bindings.R8Tangent, state: manifpy._bindings.R8, J_out_self: numpy.ndarray[numpy.float64[8, 8], flags.writeable, flags.c_contiguous] | None = None, J_out_state: numpy.ndarray[numpy.float64[8, 8], flags.writeable, flags.c_contiguous] | None = None) manifpy._bindings.R8

Right oplus operation of the Lie group.

See Eqs. (25).

Parameters:
  • other (Lie group) – Another object of the same Lie group.

  • [out] (J_out_state) – Jacobian of the oplus operation wrt self.

  • [out] – Jacobian of the oplus operation wrt state.

setRandom(self: manifpy._bindings.R8Tangent) manifpy._bindings.R8Tangent

Set self to a random value.

setVee(self: manifpy._bindings.R8Tangent, vee: numpy.ndarray[numpy.float64[9, 9]]) manifpy._bindings.R8Tangent

Set the Tangent object from an object in the Lie algebra.

setZero(self: manifpy._bindings.R8Tangent) manifpy._bindings.R8Tangent

Set self to zero.

smallAdj(self: manifpy._bindings.R8Tangent) numpy.ndarray[numpy.float64[8, 8]]
squaredWeightedNorm(self: manifpy._bindings.R8Tangent) float

Get the squared Euclidean weighted norm.

weightedNorm(self: manifpy._bindings.R8Tangent) float

Get the Euclidean weighted norm.

Dim = 8
DoF = 8
RepSize = 8
class manifpy.R9

Bases: _R9Base

static Identity() manifpy._bindings.R9

Static helper to create an object set at the Lie group Identity.

static Random() manifpy._bindings.R9

Static helper to create a random object of the Lie group.

act(self: manifpy._bindings.R9, p: numpy.ndarray[numpy.float64[9, 1]], J_out_self: numpy.ndarray[numpy.float64[9, 9], flags.writeable, flags.c_contiguous] | None = None, J_out_p: numpy.ndarray[numpy.float64[9, 9], flags.writeable, flags.c_contiguous] | None = None) numpy.ndarray[numpy.float64[9, 1]]

Get the action of the Lie group object on a point.

Parameters:
  • p (numpy.array) – A point.

  • [out] (J_out_p) – Jacobian of the new object wrt self.

  • [out] – Jacobian of the new object wrt input point.

adj(self: manifpy._bindings.R9) numpy.ndarray[numpy.float64[9, 9]]

Return the Adjoint of the Lie group object self.

See Eq. (29).

between(self: manifpy._bindings.R9, other: manifpy._bindings._R9Base, J_out_self: numpy.ndarray[numpy.float64[9, 9], flags.writeable, flags.c_contiguous] | None = None, J_out_other: numpy.ndarray[numpy.float64[9, 9], flags.writeable, flags.c_contiguous] | None = None) manifpy._bindings.R9

Return the between of self and another object of the same Lie group.

Parameters:
  • other (Lie group) – Another object of the same Lie group.

  • [out] (J_out_other) – Jacobian of the composition wrt self.

  • [out] – Jacobian of the composition wrt other.

coeffs(self: manifpy._bindings.R9) numpy.ndarray[numpy.float64[9, 1]]

Get a reference to underlying data.

coeffs_copy(self: manifpy._bindings.R9) numpy.ndarray[numpy.float64[9, 1]]

Return a copy of underlying data.

compose(self: manifpy._bindings.R9, other: manifpy._bindings._R9Base, J_out_self: numpy.ndarray[numpy.float64[9, 9], flags.writeable, flags.c_contiguous] | None = None, J_out_other: numpy.ndarray[numpy.float64[9, 9], flags.writeable, flags.c_contiguous] | None = None) manifpy._bindings.R9

Return the composition of self and another object of the same Lie group.

See Eqs. (1,2,3,4).

Parameters:
  • other (Lie group) – Another object of the same Lie group.

  • [out] (J_out_other) – Jacobian of the composition wrt self.

  • [out] – Jacobian of the composition wrt other.

inverse(self: manifpy._bindings.R9, J_out_self: numpy.ndarray[numpy.float64[9, 9], flags.writeable, flags.c_contiguous] | None = None) manifpy._bindings.R9

Return the inverse of the Lie group object.

See Eq. (3).

Parameters:

[out] (J_out_self) – Jacobian of the inverse wrt self.

isApprox(self: manifpy._bindings.R9, other: manifpy._bindings._R9Base, eps: float = 1e-10) bool

Evaluate whether self and other are ‘close’.

Parameters:
  • other (Lie group) – Another object of the same Lie group.

  • eps (double) – Threshold for equality comparison. Default: 1e-10.

lminus(self: manifpy._bindings.R9, other: manifpy._bindings._R9Base, J_out_self: numpy.ndarray[numpy.float64[9, 9], flags.writeable, flags.c_contiguous] | None = None, J_out_other: numpy.ndarray[numpy.float64[9, 9], flags.writeable, flags.c_contiguous] | None = None) manifpy._bindings.R9Tangent

Left ominus operation of the Lie group.

See Eq. (28).

Parameters:
  • other (Lie group) – Another element of the same Lie group.

  • [out] (J_out_other) – Jacobian of the ominus operation wrt self.

  • [out] – Jacobian of the ominus operation wrt other.

log(self: manifpy._bindings.R9, J_out_self: numpy.ndarray[numpy.float64[9, 9], flags.writeable, flags.c_contiguous] | None = None) manifpy._bindings.R9Tangent

Return the corresponding Lie algebra element in vector form.

Eq. (24).

Parameters:

[out] (J_out_self) – Jacobian of the log wrt self.

lplus(self: manifpy._bindings.R9, tau: manifpy._bindings._R9TangentBase, J_out_self: numpy.ndarray[numpy.float64[9, 9], flags.writeable, flags.c_contiguous] | None = None, J_mout_tau: numpy.ndarray[numpy.float64[9, 9], flags.writeable, flags.c_contiguous] | None = None) manifpy._bindings.R9

Left oplus operation of the Lie group.

See Eq. (27).

Parameters:
  • tau (Lie group tangent) – An element of the tangent of the Lie group.

  • [out] (J_out_tau) – Jacobian of the oplus operation wrt self.

  • [out] – Jacobian of the oplus operation wrt tau.

minus(self: manifpy._bindings.R9, other: manifpy._bindings._R9Base, J_out_self: numpy.ndarray[numpy.float64[9, 9], flags.writeable, flags.c_contiguous] | None = None, J_out_other: numpy.ndarray[numpy.float64[9, 9], flags.writeable, flags.c_contiguous] | None = None) manifpy._bindings.R9Tangent

An alias for the ‘rminus’ function.

plus(self: manifpy._bindings.R9, tau: manifpy._bindings._R9TangentBase, J_out_self: numpy.ndarray[numpy.float64[9, 9], flags.writeable, flags.c_contiguous] | None = None, J_mout_tau: numpy.ndarray[numpy.float64[9, 9], flags.writeable, flags.c_contiguous] | None = None) manifpy._bindings.R9

An alias for the ‘rplus’ function.

rminus(self: manifpy._bindings.R9, other: manifpy._bindings._R9Base, J_out_self: numpy.ndarray[numpy.float64[9, 9], flags.writeable, flags.c_contiguous] | None = None, J_out_other: numpy.ndarray[numpy.float64[9, 9], flags.writeable, flags.c_contiguous] | None = None) manifpy._bindings.R9Tangent

Right ominus operation of the Lie group.

See Eq. (26).

Parameters:
  • other (Lie group) – Another element of the same Lie group.

  • [out] (J_out_other) – Jacobian of the ominus operation wrt self.

  • [out] – Jacobian of the ominus operation wrt other.

rplus(self: manifpy._bindings.R9, tau: manifpy._bindings._R9TangentBase, J_out_self: numpy.ndarray[numpy.float64[9, 9], flags.writeable, flags.c_contiguous] | None = None, J_out_tau: numpy.ndarray[numpy.float64[9, 9], flags.writeable, flags.c_contiguous] | None = None) manifpy._bindings.R9

Right oplus operation of the Lie group.

See Eq. (25).

Parameters:
  • tau (Lie group tangent) – An element of the tangent of the Lie group.

  • [out] (J_out_tau) – Jacobian of the oplus operation wrt self.

  • [out] – Jacobian of the oplus operation wrt tau.

setIdentity(self: manifpy._bindings.R9) manifpy._bindings.R9

Set self to the Lie group Identity.

setRandom(self: manifpy._bindings.R9) manifpy._bindings.R9

Set self to a random value.

Dim = 9
DoF = 9
RepSize = 9
class manifpy.R9Tangent

Bases: _R9TangentBase

static Bracket(a: manifpy._bindings._R9TangentBase, b: manifpy._bindings._R9TangentBase) manifpy._bindings.R9Tangent

Compute the Lie bracket [a,b] in vector form..

static Generator(i: int) numpy.ndarray[numpy.float64[10, 10]]

Static helper to get the ith basis element of the Lie Algebra.

static InnerWeights() numpy.ndarray[numpy.float64[9, 9]]

Static helper to get the weight matrix of the Weighted Euclidean inner product, relative to the space basis.

static Random() manifpy._bindings.R9Tangent

Static helper to create a random object of the Lie group.

static Vee(arg0: numpy.ndarray[numpy.float64[10, 10]]) manifpy._bindings.R9Tangent

Instantiate a Tangent from a Lie algebra object.

static Zero() manifpy._bindings.R9Tangent

Static helper to create an object of the Lie group tangent set to zero.

bracket(self: manifpy._bindings.R9Tangent, other: manifpy._bindings._R9TangentBase) manifpy._bindings.R9Tangent

Compute the Lie bracket [this,other] in vector form.

return The Lie bracket [this,other] in vector form.

coeffs(self: manifpy._bindings.R9Tangent) numpy.ndarray[numpy.float64[9, 1]]

Get a reference to underlying data.

coeffs_copy(self: manifpy._bindings.R9Tangent) numpy.ndarray[numpy.float64[9, 1]]

Return a copy of underlying data.

exp(self: manifpy._bindings.R9Tangent, J_out_self: numpy.ndarray[numpy.float64[9, 9], flags.writeable, flags.c_contiguous] | None = None) manifpy._bindings.R9

Get the corresponding Lie group element.

Eq. (23).

Parameters:

[out] (J_out_self) – Jacobian of the log wrt self.

generator(self: manifpy._bindings.R9Tangent, i: int) numpy.ndarray[numpy.float64[10, 10]]

Get the ith basis element of the Lie Algebra.

hat(self: manifpy._bindings.R9Tangent) numpy.ndarray[numpy.float64[10, 10]]

Get the isomorphic element in the Lie algebra.

See Eq. (10).

inner(self: manifpy._bindings.R9Tangent, other: manifpy._bindings._R9TangentBase) float

Get inner product of this and another Tangent weighted by W.

ret = self^T x W x other

innerWeights(self: manifpy._bindings.R9Tangent) numpy.ndarray[numpy.float64[9, 9]]

Get the weight matrix of the Weighted Euclidean inner product, relative to the space basis.

isApprox(*args, **kwargs)

Overloaded function.

  1. isApprox(self: manifpy._bindings.R9Tangent, other: manifpy._bindings.R9Tangent, eps: float = 1e-10) -> bool

    Evaluate whether self and other are ‘close’.

    otherLie group tangent

    Another object of the same Lie group tangent.

    epsdouble

    Threshold for equality comparison. Default: 1e-10.

  2. isApprox(self: manifpy._bindings.R9Tangent, other: numpy.ndarray[numpy.float64[9, 1]], eps: float = 1e-10) -> bool

    Evaluate whether self and other are ‘close’.

    othernumpy.array

    Another object of the same Lie group tangent.

    epsdouble

    Threshold for equality comparison. Default: 1e-10.

ljac(self: manifpy._bindings.R9Tangent) numpy.ndarray[numpy.float64[9, 9]]

Get the left Jacobian.

This is the left Jacobian of ‘exp’, what is commonly known as “the left Jacobian”.

See Eq. (44) for the left Jacobian of general functions. See Eqs. (126,145,164,179,191) for implementations of the left Jacobian of exp.

lplus(self: manifpy._bindings.R9Tangent, state: manifpy._bindings.R9, J_out_self: numpy.ndarray[numpy.float64[9, 9], flags.writeable, flags.c_contiguous] | None = None, J_out_state: numpy.ndarray[numpy.float64[9, 9], flags.writeable, flags.c_contiguous] | None = None) manifpy._bindings.R9

Left oplus operation of the Lie group.

See Eqs. (27).

Parameters:
  • other (Lie group) – Another object of the same Lie group.

  • [out] (J_out_state) – Jacobian of the oplus operation wrt self.

  • [out] – Jacobian of the oplus operation wrt state.

minus(self: manifpy._bindings.R9Tangent, other: manifpy._bindings._R9TangentBase, J_out_self: numpy.ndarray[numpy.float64[9, 9], flags.writeable, flags.c_contiguous] | None = None, J_out_other: numpy.ndarray[numpy.float64[9, 9], flags.writeable, flags.c_contiguous] | None = None) manifpy._bindings.R9Tangent

Minus operation in the vector space.

Parameters:
  • other (Lie group tangent) – Another object of the same Lie group tangent.

  • [out] (J_out_other) – Jacobian of the oplus operation wrt self.

  • [out] – Jacobian of the oplus operation wrt other.

plus(*args, **kwargs)

Overloaded function.

  1. plus(self: manifpy._bindings.R9Tangent, state: manifpy._bindings.R9, J_out_self: Optional[numpy.ndarray[numpy.float64[9, 9], flags.writeable, flags.c_contiguous]] = None, J_out_state: Optional[numpy.ndarray[numpy.float64[9, 9], flags.writeable, flags.c_contiguous]] = None) -> manifpy._bindings.R9

An alias for the ‘rplus’ function.

  1. plus(self: manifpy._bindings.R9Tangent, other: manifpy._bindings._R9TangentBase, J_out_self: Optional[numpy.ndarray[numpy.float64[9, 9], flags.writeable, flags.c_contiguous]] = None, J_out_other: Optional[numpy.ndarray[numpy.float64[9, 9], flags.writeable, flags.c_contiguous]] = None) -> manifpy._bindings.R9Tangent

    Plus operation in the vector space.

    otherLie group tangent

    Another object of the same Lie group tangent.

    J_out_self [out]numpy.ndarray

    Jacobian of the oplus operation wrt self.

    J_out_other [out]numpy.ndarray

    Jacobian of the oplus operation wrt other.

rjac(self: manifpy._bindings.R9Tangent) numpy.ndarray[numpy.float64[9, 9]]

Get the right Jacobian.

This is the right Jacobian of ‘exp’, what is commonly known as “the right Jacobian”.

See Eq. (41) for the right Jacobian of general functions. See Eqs. (126,143,163,179,191) for implementations of the right Jacobian of exp.

rplus(self: manifpy._bindings.R9Tangent, state: manifpy._bindings.R9, J_out_self: numpy.ndarray[numpy.float64[9, 9], flags.writeable, flags.c_contiguous] | None = None, J_out_state: numpy.ndarray[numpy.float64[9, 9], flags.writeable, flags.c_contiguous] | None = None) manifpy._bindings.R9

Right oplus operation of the Lie group.

See Eqs. (25).

Parameters:
  • other (Lie group) – Another object of the same Lie group.

  • [out] (J_out_state) – Jacobian of the oplus operation wrt self.

  • [out] – Jacobian of the oplus operation wrt state.

setRandom(self: manifpy._bindings.R9Tangent) manifpy._bindings.R9Tangent

Set self to a random value.

setVee(self: manifpy._bindings.R9Tangent, vee: numpy.ndarray[numpy.float64[10, 10]]) manifpy._bindings.R9Tangent

Set the Tangent object from an object in the Lie algebra.

setZero(self: manifpy._bindings.R9Tangent) manifpy._bindings.R9Tangent

Set self to zero.

smallAdj(self: manifpy._bindings.R9Tangent) numpy.ndarray[numpy.float64[9, 9]]
squaredWeightedNorm(self: manifpy._bindings.R9Tangent) float

Get the squared Euclidean weighted norm.

weightedNorm(self: manifpy._bindings.R9Tangent) float

Get the Euclidean weighted norm.

Dim = 9
DoF = 9
RepSize = 9
class manifpy.SE2

Bases: _SE2Base

static Identity() manifpy._bindings.SE2

Static helper to create an object set at the Lie group Identity.

static Random() manifpy._bindings.SE2

Static helper to create a random object of the Lie group.

act(self: manifpy._bindings.SE2, p: numpy.ndarray[numpy.float64[2, 1]], J_out_self: numpy.ndarray[numpy.float64[2, 3], flags.writeable, flags.c_contiguous] | None = None, J_out_p: numpy.ndarray[numpy.float64[2, 2], flags.writeable, flags.c_contiguous] | None = None) numpy.ndarray[numpy.float64[2, 1]]

Get the action of the Lie group object on a point.

Parameters:
  • p (numpy.array) – A point.

  • [out] (J_out_p) – Jacobian of the new object wrt self.

  • [out] – Jacobian of the new object wrt input point.

adj(self: manifpy._bindings.SE2) numpy.ndarray[numpy.float64[3, 3]]

Return the Adjoint of the Lie group object self.

See Eq. (29).

angle(self: manifpy._bindings.SE2) float
between(self: manifpy._bindings.SE2, other: manifpy._bindings._SE2Base, J_out_self: numpy.ndarray[numpy.float64[3, 3], flags.writeable, flags.c_contiguous] | None = None, J_out_other: numpy.ndarray[numpy.float64[3, 3], flags.writeable, flags.c_contiguous] | None = None) manifpy._bindings.SE2

Return the between of self and another object of the same Lie group.

Parameters:
  • other (Lie group) – Another object of the same Lie group.

  • [out] (J_out_other) – Jacobian of the composition wrt self.

  • [out] – Jacobian of the composition wrt other.

coeffs(self: manifpy._bindings.SE2) numpy.ndarray[numpy.float64[4, 1]]

Get a reference to underlying data.

coeffs_copy(self: manifpy._bindings.SE2) numpy.ndarray[numpy.float64[4, 1]]

Return a copy of underlying data.

compose(self: manifpy._bindings.SE2, other: manifpy._bindings._SE2Base, J_out_self: numpy.ndarray[numpy.float64[3, 3], flags.writeable, flags.c_contiguous] | None = None, J_out_other: numpy.ndarray[numpy.float64[3, 3], flags.writeable, flags.c_contiguous] | None = None) manifpy._bindings.SE2

Return the composition of self and another object of the same Lie group.

See Eqs. (1,2,3,4).

Parameters:
  • other (Lie group) – Another object of the same Lie group.

  • [out] (J_out_other) – Jacobian of the composition wrt self.

  • [out] – Jacobian of the composition wrt other.

imag(self: manifpy._bindings.SE2) float
inverse(self: manifpy._bindings.SE2, J_out_self: numpy.ndarray[numpy.float64[3, 3], flags.writeable, flags.c_contiguous] | None = None) manifpy._bindings.SE2

Return the inverse of the Lie group object.

See Eq. (3).

Parameters:

[out] (J_out_self) – Jacobian of the inverse wrt self.

isApprox(self: manifpy._bindings.SE2, other: manifpy._bindings._SE2Base, eps: float = 1e-10) bool

Evaluate whether self and other are ‘close’.

Parameters:
  • other (Lie group) – Another object of the same Lie group.

  • eps (double) – Threshold for equality comparison. Default: 1e-10.

lminus(self: manifpy._bindings.SE2, other: manifpy._bindings._SE2Base, J_out_self: numpy.ndarray[numpy.float64[3, 3], flags.writeable, flags.c_contiguous] | None = None, J_out_other: numpy.ndarray[numpy.float64[3, 3], flags.writeable, flags.c_contiguous] | None = None) manifpy._bindings.SE2Tangent

Left ominus operation of the Lie group.

See Eq. (28).

Parameters:
  • other (Lie group) – Another element of the same Lie group.

  • [out] (J_out_other) – Jacobian of the ominus operation wrt self.

  • [out] – Jacobian of the ominus operation wrt other.

log(self: manifpy._bindings.SE2, J_out_self: numpy.ndarray[numpy.float64[3, 3], flags.writeable, flags.c_contiguous] | None = None) manifpy._bindings.SE2Tangent

Return the corresponding Lie algebra element in vector form.

Eq. (24).

Parameters:

[out] (J_out_self) – Jacobian of the log wrt self.

lplus(self: manifpy._bindings.SE2, tau: manifpy._bindings._SE2TangentBase, J_out_self: numpy.ndarray[numpy.float64[3, 3], flags.writeable, flags.c_contiguous] | None = None, J_mout_tau: numpy.ndarray[numpy.float64[3, 3], flags.writeable, flags.c_contiguous] | None = None) manifpy._bindings.SE2

Left oplus operation of the Lie group.

See Eq. (27).

Parameters:
  • tau (Lie group tangent) – An element of the tangent of the Lie group.

  • [out] (J_out_tau) – Jacobian of the oplus operation wrt self.

  • [out] – Jacobian of the oplus operation wrt tau.

minus(self: manifpy._bindings.SE2, other: manifpy._bindings._SE2Base, J_out_self: numpy.ndarray[numpy.float64[3, 3], flags.writeable, flags.c_contiguous] | None = None, J_out_other: numpy.ndarray[numpy.float64[3, 3], flags.writeable, flags.c_contiguous] | None = None) manifpy._bindings.SE2Tangent

An alias for the ‘rminus’ function.

normalize(self: manifpy._bindings.SE2) None
plus(self: manifpy._bindings.SE2, tau: manifpy._bindings._SE2TangentBase, J_out_self: numpy.ndarray[numpy.float64[3, 3], flags.writeable, flags.c_contiguous] | None = None, J_mout_tau: numpy.ndarray[numpy.float64[3, 3], flags.writeable, flags.c_contiguous] | None = None) manifpy._bindings.SE2

An alias for the ‘rplus’ function.

real(self: manifpy._bindings.SE2) float
rminus(self: manifpy._bindings.SE2, other: manifpy._bindings._SE2Base, J_out_self: numpy.ndarray[numpy.float64[3, 3], flags.writeable, flags.c_contiguous] | None = None, J_out_other: numpy.ndarray[numpy.float64[3, 3], flags.writeable, flags.c_contiguous] | None = None) manifpy._bindings.SE2Tangent

Right ominus operation of the Lie group.

See Eq. (26).

Parameters:
  • other (Lie group) – Another element of the same Lie group.

  • [out] (J_out_other) – Jacobian of the ominus operation wrt self.

  • [out] – Jacobian of the ominus operation wrt other.

rotation(self: manifpy._bindings.SE2) numpy.ndarray[numpy.float64[2, 2]]
rplus(self: manifpy._bindings.SE2, tau: manifpy._bindings._SE2TangentBase, J_out_self: numpy.ndarray[numpy.float64[3, 3], flags.writeable, flags.c_contiguous] | None = None, J_out_tau: numpy.ndarray[numpy.float64[3, 3], flags.writeable, flags.c_contiguous] | None = None) manifpy._bindings.SE2

Right oplus operation of the Lie group.

See Eq. (25).

Parameters:
  • tau (Lie group tangent) – An element of the tangent of the Lie group.

  • [out] (J_out_tau) – Jacobian of the oplus operation wrt self.

  • [out] – Jacobian of the oplus operation wrt tau.

setIdentity(self: manifpy._bindings.SE2) manifpy._bindings.SE2

Set self to the Lie group Identity.

setRandom(self: manifpy._bindings.SE2) manifpy._bindings.SE2

Set self to a random value.

transform(self: manifpy._bindings.SE2) numpy.ndarray[numpy.float64[3, 3]]
translation(self: manifpy._bindings.SE2) numpy.ndarray[numpy.float64[2, 1]]
x(self: manifpy._bindings.SE2) float
y(self: manifpy._bindings.SE2) float
Dim = 2
DoF = 3
RepSize = 4
class manifpy.SE2Tangent

Bases: _SE2TangentBase

static Bracket(a: manifpy._bindings._SE2TangentBase, b: manifpy._bindings._SE2TangentBase) manifpy._bindings.SE2Tangent

Compute the Lie bracket [a,b] in vector form..

static Generator(i: int) numpy.ndarray[numpy.float64[3, 3]]

Static helper to get the ith basis element of the Lie Algebra.

static InnerWeights() numpy.ndarray[numpy.float64[3, 3]]

Static helper to get the weight matrix of the Weighted Euclidean inner product, relative to the space basis.

static Random() manifpy._bindings.SE2Tangent

Static helper to create a random object of the Lie group.

static Vee(arg0: numpy.ndarray[numpy.float64[3, 3]]) manifpy._bindings.SE2Tangent

Instantiate a Tangent from a Lie algebra object.

static Zero() manifpy._bindings.SE2Tangent

Static helper to create an object of the Lie group tangent set to zero.

angle(self: manifpy._bindings.SE2Tangent) float
bracket(self: manifpy._bindings.SE2Tangent, other: manifpy._bindings._SE2TangentBase) manifpy._bindings.SE2Tangent

Compute the Lie bracket [this,other] in vector form.

return The Lie bracket [this,other] in vector form.

coeffs(self: manifpy._bindings.SE2Tangent) numpy.ndarray[numpy.float64[3, 1]]

Get a reference to underlying data.

coeffs_copy(self: manifpy._bindings.SE2Tangent) numpy.ndarray[numpy.float64[3, 1]]

Return a copy of underlying data.

exp(self: manifpy._bindings.SE2Tangent, J_out_self: numpy.ndarray[numpy.float64[3, 3], flags.writeable, flags.c_contiguous] | None = None) manifpy._bindings.SE2

Get the corresponding Lie group element.

Eq. (23).

Parameters:

[out] (J_out_self) – Jacobian of the log wrt self.

generator(self: manifpy._bindings.SE2Tangent, i: int) numpy.ndarray[numpy.float64[3, 3]]

Get the ith basis element of the Lie Algebra.

hat(self: manifpy._bindings.SE2Tangent) numpy.ndarray[numpy.float64[3, 3]]

Get the isomorphic element in the Lie algebra.

See Eq. (10).

inner(self: manifpy._bindings.SE2Tangent, other: manifpy._bindings._SE2TangentBase) float

Get inner product of this and another Tangent weighted by W.

ret = self^T x W x other

innerWeights(self: manifpy._bindings.SE2Tangent) numpy.ndarray[numpy.float64[3, 3]]

Get the weight matrix of the Weighted Euclidean inner product, relative to the space basis.

isApprox(*args, **kwargs)

Overloaded function.

  1. isApprox(self: manifpy._bindings.SE2Tangent, other: manifpy._bindings.SE2Tangent, eps: float = 1e-10) -> bool

    Evaluate whether self and other are ‘close’.

    otherLie group tangent

    Another object of the same Lie group tangent.

    epsdouble

    Threshold for equality comparison. Default: 1e-10.

  2. isApprox(self: manifpy._bindings.SE2Tangent, other: numpy.ndarray[numpy.float64[3, 1]], eps: float = 1e-10) -> bool

    Evaluate whether self and other are ‘close’.

    othernumpy.array

    Another object of the same Lie group tangent.

    epsdouble

    Threshold for equality comparison. Default: 1e-10.

ljac(self: manifpy._bindings.SE2Tangent) numpy.ndarray[numpy.float64[3, 3]]

Get the left Jacobian.

This is the left Jacobian of ‘exp’, what is commonly known as “the left Jacobian”.

See Eq. (44) for the left Jacobian of general functions. See Eqs. (126,145,164,179,191) for implementations of the left Jacobian of exp.

lplus(self: manifpy._bindings.SE2Tangent, state: manifpy._bindings.SE2, J_out_self: numpy.ndarray[numpy.float64[3, 3], flags.writeable, flags.c_contiguous] | None = None, J_out_state: numpy.ndarray[numpy.float64[3, 3], flags.writeable, flags.c_contiguous] | None = None) manifpy._bindings.SE2

Left oplus operation of the Lie group.

See Eqs. (27).

Parameters:
  • other (Lie group) – Another object of the same Lie group.

  • [out] (J_out_state) – Jacobian of the oplus operation wrt self.

  • [out] – Jacobian of the oplus operation wrt state.

minus(self: manifpy._bindings.SE2Tangent, other: manifpy._bindings._SE2TangentBase, J_out_self: numpy.ndarray[numpy.float64[3, 3], flags.writeable, flags.c_contiguous] | None = None, J_out_other: numpy.ndarray[numpy.float64[3, 3], flags.writeable, flags.c_contiguous] | None = None) manifpy._bindings.SE2Tangent

Minus operation in the vector space.

Parameters:
  • other (Lie group tangent) – Another object of the same Lie group tangent.

  • [out] (J_out_other) – Jacobian of the oplus operation wrt self.

  • [out] – Jacobian of the oplus operation wrt other.

plus(*args, **kwargs)

Overloaded function.

  1. plus(self: manifpy._bindings.SE2Tangent, state: manifpy._bindings.SE2, J_out_self: Optional[numpy.ndarray[numpy.float64[3, 3], flags.writeable, flags.c_contiguous]] = None, J_out_state: Optional[numpy.ndarray[numpy.float64[3, 3], flags.writeable, flags.c_contiguous]] = None) -> manifpy._bindings.SE2

An alias for the ‘rplus’ function.

  1. plus(self: manifpy._bindings.SE2Tangent, other: manifpy._bindings._SE2TangentBase, J_out_self: Optional[numpy.ndarray[numpy.float64[3, 3], flags.writeable, flags.c_contiguous]] = None, J_out_other: Optional[numpy.ndarray[numpy.float64[3, 3], flags.writeable, flags.c_contiguous]] = None) -> manifpy._bindings.SE2Tangent

    Plus operation in the vector space.

    otherLie group tangent

    Another object of the same Lie group tangent.

    J_out_self [out]numpy.ndarray

    Jacobian of the oplus operation wrt self.

    J_out_other [out]numpy.ndarray

    Jacobian of the oplus operation wrt other.

rjac(self: manifpy._bindings.SE2Tangent) numpy.ndarray[numpy.float64[3, 3]]

Get the right Jacobian.

This is the right Jacobian of ‘exp’, what is commonly known as “the right Jacobian”.

See Eq. (41) for the right Jacobian of general functions. See Eqs. (126,143,163,179,191) for implementations of the right Jacobian of exp.

rplus(self: manifpy._bindings.SE2Tangent, state: manifpy._bindings.SE2, J_out_self: numpy.ndarray[numpy.float64[3, 3], flags.writeable, flags.c_contiguous] | None = None, J_out_state: numpy.ndarray[numpy.float64[3, 3], flags.writeable, flags.c_contiguous] | None = None) manifpy._bindings.SE2

Right oplus operation of the Lie group.

See Eqs. (25).

Parameters:
  • other (Lie group) – Another object of the same Lie group.

  • [out] (J_out_state) – Jacobian of the oplus operation wrt self.

  • [out] – Jacobian of the oplus operation wrt state.

setRandom(self: manifpy._bindings.SE2Tangent) manifpy._bindings.SE2Tangent

Set self to a random value.

setVee(self: manifpy._bindings.SE2Tangent, vee: numpy.ndarray[numpy.float64[3, 3]]) manifpy._bindings.SE2Tangent

Set the Tangent object from an object in the Lie algebra.

setZero(self: manifpy._bindings.SE2Tangent) manifpy._bindings.SE2Tangent

Set self to zero.

smallAdj(self: manifpy._bindings.SE2Tangent) numpy.ndarray[numpy.float64[3, 3]]
squaredWeightedNorm(self: manifpy._bindings.SE2Tangent) float

Get the squared Euclidean weighted norm.

weightedNorm(self: manifpy._bindings.SE2Tangent) float

Get the Euclidean weighted norm.

x(self: manifpy._bindings.SE2Tangent) float
y(self: manifpy._bindings.SE2Tangent) float
Dim = 2
DoF = 3
RepSize = 3
class manifpy.SE3

Bases: _SE3Base

static Identity() manifpy._bindings.SE3

Static helper to create an object set at the Lie group Identity.

static Random() manifpy._bindings.SE3

Static helper to create a random object of the Lie group.

act(self: manifpy._bindings.SE3, p: numpy.ndarray[numpy.float64[3, 1]], J_out_self: numpy.ndarray[numpy.float64[3, 6], flags.writeable, flags.c_contiguous] | None = None, J_out_p: numpy.ndarray[numpy.float64[3, 3], flags.writeable, flags.c_contiguous] | None = None) numpy.ndarray[numpy.float64[3, 1]]

Get the action of the Lie group object on a point.

Parameters:
  • p (numpy.array) – A point.

  • [out] (J_out_p) – Jacobian of the new object wrt self.

  • [out] – Jacobian of the new object wrt input point.

adj(self: manifpy._bindings.SE3) numpy.ndarray[numpy.float64[6, 6]]

Return the Adjoint of the Lie group object self.

See Eq. (29).

between(self: manifpy._bindings.SE3, other: manifpy._bindings._SE3Base, J_out_self: numpy.ndarray[numpy.float64[6, 6], flags.writeable, flags.c_contiguous] | None = None, J_out_other: numpy.ndarray[numpy.float64[6, 6], flags.writeable, flags.c_contiguous] | None = None) manifpy._bindings.SE3

Return the between of self and another object of the same Lie group.

Parameters:
  • other (Lie group) – Another object of the same Lie group.

  • [out] (J_out_other) – Jacobian of the composition wrt self.

  • [out] – Jacobian of the composition wrt other.

coeffs(self: manifpy._bindings.SE3) numpy.ndarray[numpy.float64[7, 1]]

Get a reference to underlying data.

coeffs_copy(self: manifpy._bindings.SE3) numpy.ndarray[numpy.float64[7, 1]]

Return a copy of underlying data.

compose(self: manifpy._bindings.SE3, other: manifpy._bindings._SE3Base, J_out_self: numpy.ndarray[numpy.float64[6, 6], flags.writeable, flags.c_contiguous] | None = None, J_out_other: numpy.ndarray[numpy.float64[6, 6], flags.writeable, flags.c_contiguous] | None = None) manifpy._bindings.SE3

Return the composition of self and another object of the same Lie group.

See Eqs. (1,2,3,4).

Parameters:
  • other (Lie group) – Another object of the same Lie group.

  • [out] (J_out_other) – Jacobian of the composition wrt self.

  • [out] – Jacobian of the composition wrt other.

inverse(self: manifpy._bindings.SE3, J_out_self: numpy.ndarray[numpy.float64[6, 6], flags.writeable, flags.c_contiguous] | None = None) manifpy._bindings.SE3

Return the inverse of the Lie group object.

See Eq. (3).

Parameters:

[out] (J_out_self) – Jacobian of the inverse wrt self.

isApprox(self: manifpy._bindings.SE3, other: manifpy._bindings._SE3Base, eps: float = 1e-10) bool

Evaluate whether self and other are ‘close’.

Parameters:
  • other (Lie group) – Another object of the same Lie group.

  • eps (double) – Threshold for equality comparison. Default: 1e-10.

lminus(self: manifpy._bindings.SE3, other: manifpy._bindings._SE3Base, J_out_self: numpy.ndarray[numpy.float64[6, 6], flags.writeable, flags.c_contiguous] | None = None, J_out_other: numpy.ndarray[numpy.float64[6, 6], flags.writeable, flags.c_contiguous] | None = None) manifpy._bindings.SE3Tangent

Left ominus operation of the Lie group.

See Eq. (28).

Parameters:
  • other (Lie group) – Another element of the same Lie group.

  • [out] (J_out_other) – Jacobian of the ominus operation wrt self.

  • [out] – Jacobian of the ominus operation wrt other.

log(self: manifpy._bindings.SE3, J_out_self: numpy.ndarray[numpy.float64[6, 6], flags.writeable, flags.c_contiguous] | None = None) manifpy._bindings.SE3Tangent

Return the corresponding Lie algebra element in vector form.

Eq. (24).

Parameters:

[out] (J_out_self) – Jacobian of the log wrt self.

lplus(self: manifpy._bindings.SE3, tau: manifpy._bindings._SE3TangentBase, J_out_self: numpy.ndarray[numpy.float64[6, 6], flags.writeable, flags.c_contiguous] | None = None, J_mout_tau: numpy.ndarray[numpy.float64[6, 6], flags.writeable, flags.c_contiguous] | None = None) manifpy._bindings.SE3

Left oplus operation of the Lie group.

See Eq. (27).

Parameters:
  • tau (Lie group tangent) – An element of the tangent of the Lie group.

  • [out] (J_out_tau) – Jacobian of the oplus operation wrt self.

  • [out] – Jacobian of the oplus operation wrt tau.

minus(self: manifpy._bindings.SE3, other: manifpy._bindings._SE3Base, J_out_self: numpy.ndarray[numpy.float64[6, 6], flags.writeable, flags.c_contiguous] | None = None, J_out_other: numpy.ndarray[numpy.float64[6, 6], flags.writeable, flags.c_contiguous] | None = None) manifpy._bindings.SE3Tangent

An alias for the ‘rminus’ function.

normalize(self: manifpy._bindings.SE3) None
plus(self: manifpy._bindings.SE3, tau: manifpy._bindings._SE3TangentBase, J_out_self: numpy.ndarray[numpy.float64[6, 6], flags.writeable, flags.c_contiguous] | None = None, J_mout_tau: numpy.ndarray[numpy.float64[6, 6], flags.writeable, flags.c_contiguous] | None = None) manifpy._bindings.SE3

An alias for the ‘rplus’ function.

quat(*args, **kwargs)

Overloaded function.

  1. quat(self: manifpy._bindings.SE3) -> numpy.ndarray[numpy.float64[4, 1]]

  2. quat(self: manifpy._bindings.SE3, quaternion: numpy.ndarray[numpy.float64[4, 1]]) -> None

rminus(self: manifpy._bindings.SE3, other: manifpy._bindings._SE3Base, J_out_self: numpy.ndarray[numpy.float64[6, 6], flags.writeable, flags.c_contiguous] | None = None, J_out_other: numpy.ndarray[numpy.float64[6, 6], flags.writeable, flags.c_contiguous] | None = None) manifpy._bindings.SE3Tangent

Right ominus operation of the Lie group.

See Eq. (26).

Parameters:
  • other (Lie group) – Another element of the same Lie group.

  • [out] (J_out_other) – Jacobian of the ominus operation wrt self.

  • [out] – Jacobian of the ominus operation wrt other.

rotation(self: manifpy._bindings.SE3) numpy.ndarray[numpy.float64[3, 3]]
rplus(self: manifpy._bindings.SE3, tau: manifpy._bindings._SE3TangentBase, J_out_self: numpy.ndarray[numpy.float64[6, 6], flags.writeable, flags.c_contiguous] | None = None, J_out_tau: numpy.ndarray[numpy.float64[6, 6], flags.writeable, flags.c_contiguous] | None = None) manifpy._bindings.SE3

Right oplus operation of the Lie group.

See Eq. (25).

Parameters:
  • tau (Lie group tangent) – An element of the tangent of the Lie group.

  • [out] (J_out_tau) – Jacobian of the oplus operation wrt self.

  • [out] – Jacobian of the oplus operation wrt tau.

setIdentity(self: manifpy._bindings.SE3) manifpy._bindings.SE3

Set self to the Lie group Identity.

setRandom(self: manifpy._bindings.SE3) manifpy._bindings.SE3

Set self to a random value.

transform(self: manifpy._bindings.SE3) numpy.ndarray[numpy.float64[4, 4]]
translation(*args, **kwargs)

Overloaded function.

  1. translation(self: manifpy._bindings.SE3) -> numpy.ndarray[numpy.float64[3, 1]]

  2. translation(self: manifpy._bindings.SE3, translation: numpy.ndarray[numpy.float64[3, 1]]) -> None

x(self: manifpy._bindings.SE3) float
y(self: manifpy._bindings.SE3) float
z(self: manifpy._bindings.SE3) float
Dim = 3
DoF = 6
RepSize = 7
class manifpy.SE3Tangent

Bases: _SE3TangentBase

static Bracket(a: manifpy._bindings._SE3TangentBase, b: manifpy._bindings._SE3TangentBase) manifpy._bindings.SE3Tangent

Compute the Lie bracket [a,b] in vector form..

static Generator(i: int) numpy.ndarray[numpy.float64[4, 4]]

Static helper to get the ith basis element of the Lie Algebra.

static InnerWeights() numpy.ndarray[numpy.float64[6, 6]]

Static helper to get the weight matrix of the Weighted Euclidean inner product, relative to the space basis.

static Random() manifpy._bindings.SE3Tangent

Static helper to create a random object of the Lie group.

static Vee(arg0: numpy.ndarray[numpy.float64[4, 4]]) manifpy._bindings.SE3Tangent

Instantiate a Tangent from a Lie algebra object.

static Zero() manifpy._bindings.SE3Tangent

Static helper to create an object of the Lie group tangent set to zero.

bracket(self: manifpy._bindings.SE3Tangent, other: manifpy._bindings._SE3TangentBase) manifpy._bindings.SE3Tangent

Compute the Lie bracket [this,other] in vector form.

return The Lie bracket [this,other] in vector form.

coeffs(self: manifpy._bindings.SE3Tangent) numpy.ndarray[numpy.float64[6, 1]]

Get a reference to underlying data.

coeffs_copy(self: manifpy._bindings.SE3Tangent) numpy.ndarray[numpy.float64[6, 1]]

Return a copy of underlying data.

exp(self: manifpy._bindings.SE3Tangent, J_out_self: numpy.ndarray[numpy.float64[6, 6], flags.writeable, flags.c_contiguous] | None = None) manifpy._bindings.SE3

Get the corresponding Lie group element.

Eq. (23).

Parameters:

[out] (J_out_self) – Jacobian of the log wrt self.

generator(self: manifpy._bindings.SE3Tangent, i: int) numpy.ndarray[numpy.float64[4, 4]]

Get the ith basis element of the Lie Algebra.

hat(self: manifpy._bindings.SE3Tangent) numpy.ndarray[numpy.float64[4, 4]]

Get the isomorphic element in the Lie algebra.

See Eq. (10).

inner(self: manifpy._bindings.SE3Tangent, other: manifpy._bindings._SE3TangentBase) float

Get inner product of this and another Tangent weighted by W.

ret = self^T x W x other

innerWeights(self: manifpy._bindings.SE3Tangent) numpy.ndarray[numpy.float64[6, 6]]

Get the weight matrix of the Weighted Euclidean inner product, relative to the space basis.

isApprox(*args, **kwargs)

Overloaded function.

  1. isApprox(self: manifpy._bindings.SE3Tangent, other: manifpy._bindings.SE3Tangent, eps: float = 1e-10) -> bool

    Evaluate whether self and other are ‘close’.

    otherLie group tangent

    Another object of the same Lie group tangent.

    epsdouble

    Threshold for equality comparison. Default: 1e-10.

  2. isApprox(self: manifpy._bindings.SE3Tangent, other: numpy.ndarray[numpy.float64[6, 1]], eps: float = 1e-10) -> bool

    Evaluate whether self and other are ‘close’.

    othernumpy.array

    Another object of the same Lie group tangent.

    epsdouble

    Threshold for equality comparison. Default: 1e-10.

ljac(self: manifpy._bindings.SE3Tangent) numpy.ndarray[numpy.float64[6, 6]]

Get the left Jacobian.

This is the left Jacobian of ‘exp’, what is commonly known as “the left Jacobian”.

See Eq. (44) for the left Jacobian of general functions. See Eqs. (126,145,164,179,191) for implementations of the left Jacobian of exp.

lplus(self: manifpy._bindings.SE3Tangent, state: manifpy._bindings.SE3, J_out_self: numpy.ndarray[numpy.float64[6, 6], flags.writeable, flags.c_contiguous] | None = None, J_out_state: numpy.ndarray[numpy.float64[6, 6], flags.writeable, flags.c_contiguous] | None = None) manifpy._bindings.SE3

Left oplus operation of the Lie group.

See Eqs. (27).

Parameters:
  • other (Lie group) – Another object of the same Lie group.

  • [out] (J_out_state) – Jacobian of the oplus operation wrt self.

  • [out] – Jacobian of the oplus operation wrt state.

minus(self: manifpy._bindings.SE3Tangent, other: manifpy._bindings._SE3TangentBase, J_out_self: numpy.ndarray[numpy.float64[6, 6], flags.writeable, flags.c_contiguous] | None = None, J_out_other: numpy.ndarray[numpy.float64[6, 6], flags.writeable, flags.c_contiguous] | None = None) manifpy._bindings.SE3Tangent

Minus operation in the vector space.

Parameters:
  • other (Lie group tangent) – Another object of the same Lie group tangent.

  • [out] (J_out_other) – Jacobian of the oplus operation wrt self.

  • [out] – Jacobian of the oplus operation wrt other.

plus(*args, **kwargs)

Overloaded function.

  1. plus(self: manifpy._bindings.SE3Tangent, state: manifpy._bindings.SE3, J_out_self: Optional[numpy.ndarray[numpy.float64[6, 6], flags.writeable, flags.c_contiguous]] = None, J_out_state: Optional[numpy.ndarray[numpy.float64[6, 6], flags.writeable, flags.c_contiguous]] = None) -> manifpy._bindings.SE3

An alias for the ‘rplus’ function.

  1. plus(self: manifpy._bindings.SE3Tangent, other: manifpy._bindings._SE3TangentBase, J_out_self: Optional[numpy.ndarray[numpy.float64[6, 6], flags.writeable, flags.c_contiguous]] = None, J_out_other: Optional[numpy.ndarray[numpy.float64[6, 6], flags.writeable, flags.c_contiguous]] = None) -> manifpy._bindings.SE3Tangent

    Plus operation in the vector space.

    otherLie group tangent

    Another object of the same Lie group tangent.

    J_out_self [out]numpy.ndarray

    Jacobian of the oplus operation wrt self.

    J_out_other [out]numpy.ndarray

    Jacobian of the oplus operation wrt other.

rjac(self: manifpy._bindings.SE3Tangent) numpy.ndarray[numpy.float64[6, 6]]

Get the right Jacobian.

This is the right Jacobian of ‘exp’, what is commonly known as “the right Jacobian”.

See Eq. (41) for the right Jacobian of general functions. See Eqs. (126,143,163,179,191) for implementations of the right Jacobian of exp.

rplus(self: manifpy._bindings.SE3Tangent, state: manifpy._bindings.SE3, J_out_self: numpy.ndarray[numpy.float64[6, 6], flags.writeable, flags.c_contiguous] | None = None, J_out_state: numpy.ndarray[numpy.float64[6, 6], flags.writeable, flags.c_contiguous] | None = None) manifpy._bindings.SE3

Right oplus operation of the Lie group.

See Eqs. (25).

Parameters:
  • other (Lie group) – Another object of the same Lie group.

  • [out] (J_out_state) – Jacobian of the oplus operation wrt self.

  • [out] – Jacobian of the oplus operation wrt state.

setRandom(self: manifpy._bindings.SE3Tangent) manifpy._bindings.SE3Tangent

Set self to a random value.

setVee(self: manifpy._bindings.SE3Tangent, vee: numpy.ndarray[numpy.float64[4, 4]]) manifpy._bindings.SE3Tangent

Set the Tangent object from an object in the Lie algebra.

setZero(self: manifpy._bindings.SE3Tangent) manifpy._bindings.SE3Tangent

Set self to zero.

smallAdj(self: manifpy._bindings.SE3Tangent) numpy.ndarray[numpy.float64[6, 6]]
squaredWeightedNorm(self: manifpy._bindings.SE3Tangent) float

Get the squared Euclidean weighted norm.

weightedNorm(self: manifpy._bindings.SE3Tangent) float

Get the Euclidean weighted norm.

Dim = 3
DoF = 6
RepSize = 6
class manifpy.SE_2_3

Bases: _SE_2_3Base

static Identity() manifpy._bindings.SE_2_3

Static helper to create an object set at the Lie group Identity.

static Random() manifpy._bindings.SE_2_3

Static helper to create a random object of the Lie group.

act(self: manifpy._bindings.SE_2_3, p: numpy.ndarray[numpy.float64[3, 1]], J_out_self: numpy.ndarray[numpy.float64[3, 9], flags.writeable, flags.c_contiguous] | None = None, J_out_p: numpy.ndarray[numpy.float64[3, 3], flags.writeable, flags.c_contiguous] | None = None) numpy.ndarray[numpy.float64[3, 1]]

Get the action of the Lie group object on a point.

Parameters:
  • p (numpy.array) – A point.

  • [out] (J_out_p) – Jacobian of the new object wrt self.

  • [out] – Jacobian of the new object wrt input point.

adj(self: manifpy._bindings.SE_2_3) numpy.ndarray[numpy.float64[9, 9]]

Return the Adjoint of the Lie group object self.

See Eq. (29).

between(self: manifpy._bindings.SE_2_3, other: manifpy._bindings._SE_2_3Base, J_out_self: numpy.ndarray[numpy.float64[9, 9], flags.writeable, flags.c_contiguous] | None = None, J_out_other: numpy.ndarray[numpy.float64[9, 9], flags.writeable, flags.c_contiguous] | None = None) manifpy._bindings.SE_2_3

Return the between of self and another object of the same Lie group.

Parameters:
  • other (Lie group) – Another object of the same Lie group.

  • [out] (J_out_other) – Jacobian of the composition wrt self.

  • [out] – Jacobian of the composition wrt other.

coeffs(self: manifpy._bindings.SE_2_3) numpy.ndarray[numpy.float64[10, 1]]

Get a reference to underlying data.

coeffs_copy(self: manifpy._bindings.SE_2_3) numpy.ndarray[numpy.float64[10, 1]]

Return a copy of underlying data.

compose(self: manifpy._bindings.SE_2_3, other: manifpy._bindings._SE_2_3Base, J_out_self: numpy.ndarray[numpy.float64[9, 9], flags.writeable, flags.c_contiguous] | None = None, J_out_other: numpy.ndarray[numpy.float64[9, 9], flags.writeable, flags.c_contiguous] | None = None) manifpy._bindings.SE_2_3

Return the composition of self and another object of the same Lie group.

See Eqs. (1,2,3,4).

Parameters:
  • other (Lie group) – Another object of the same Lie group.

  • [out] (J_out_other) – Jacobian of the composition wrt self.

  • [out] – Jacobian of the composition wrt other.

inverse(self: manifpy._bindings.SE_2_3, J_out_self: numpy.ndarray[numpy.float64[9, 9], flags.writeable, flags.c_contiguous] | None = None) manifpy._bindings.SE_2_3

Return the inverse of the Lie group object.

See Eq. (3).

Parameters:

[out] (J_out_self) – Jacobian of the inverse wrt self.

isApprox(self: manifpy._bindings.SE_2_3, other: manifpy._bindings._SE_2_3Base, eps: float = 1e-10) bool

Evaluate whether self and other are ‘close’.

Parameters:
  • other (Lie group) – Another object of the same Lie group.

  • eps (double) – Threshold for equality comparison. Default: 1e-10.

linearVelocity(self: manifpy._bindings.SE_2_3) numpy.ndarray[numpy.float64[3, 1]]
lminus(self: manifpy._bindings.SE_2_3, other: manifpy._bindings._SE_2_3Base, J_out_self: numpy.ndarray[numpy.float64[9, 9], flags.writeable, flags.c_contiguous] | None = None, J_out_other: numpy.ndarray[numpy.float64[9, 9], flags.writeable, flags.c_contiguous] | None = None) manifpy._bindings.SE_2_3Tangent

Left ominus operation of the Lie group.

See Eq. (28).

Parameters:
  • other (Lie group) – Another element of the same Lie group.

  • [out] (J_out_other) – Jacobian of the ominus operation wrt self.

  • [out] – Jacobian of the ominus operation wrt other.

log(self: manifpy._bindings.SE_2_3, J_out_self: numpy.ndarray[numpy.float64[9, 9], flags.writeable, flags.c_contiguous] | None = None) manifpy._bindings.SE_2_3Tangent

Return the corresponding Lie algebra element in vector form.

Eq. (24).

Parameters:

[out] (J_out_self) – Jacobian of the log wrt self.

lplus(self: manifpy._bindings.SE_2_3, tau: manifpy._bindings._SE_2_3TangentBase, J_out_self: numpy.ndarray[numpy.float64[9, 9], flags.writeable, flags.c_contiguous] | None = None, J_mout_tau: numpy.ndarray[numpy.float64[9, 9], flags.writeable, flags.c_contiguous] | None = None) manifpy._bindings.SE_2_3

Left oplus operation of the Lie group.

See Eq. (27).

Parameters:
  • tau (Lie group tangent) – An element of the tangent of the Lie group.

  • [out] (J_out_tau) – Jacobian of the oplus operation wrt self.

  • [out] – Jacobian of the oplus operation wrt tau.

minus(self: manifpy._bindings.SE_2_3, other: manifpy._bindings._SE_2_3Base, J_out_self: numpy.ndarray[numpy.float64[9, 9], flags.writeable, flags.c_contiguous] | None = None, J_out_other: numpy.ndarray[numpy.float64[9, 9], flags.writeable, flags.c_contiguous] | None = None) manifpy._bindings.SE_2_3Tangent

An alias for the ‘rminus’ function.

normalize(self: manifpy._bindings.SE_2_3) None
plus(self: manifpy._bindings.SE_2_3, tau: manifpy._bindings._SE_2_3TangentBase, J_out_self: numpy.ndarray[numpy.float64[9, 9], flags.writeable, flags.c_contiguous] | None = None, J_mout_tau: numpy.ndarray[numpy.float64[9, 9], flags.writeable, flags.c_contiguous] | None = None) manifpy._bindings.SE_2_3

An alias for the ‘rplus’ function.

rminus(self: manifpy._bindings.SE_2_3, other: manifpy._bindings._SE_2_3Base, J_out_self: numpy.ndarray[numpy.float64[9, 9], flags.writeable, flags.c_contiguous] | None = None, J_out_other: numpy.ndarray[numpy.float64[9, 9], flags.writeable, flags.c_contiguous] | None = None) manifpy._bindings.SE_2_3Tangent

Right ominus operation of the Lie group.

See Eq. (26).

Parameters:
  • other (Lie group) – Another element of the same Lie group.

  • [out] (J_out_other) – Jacobian of the ominus operation wrt self.

  • [out] – Jacobian of the ominus operation wrt other.

rotation(self: manifpy._bindings.SE_2_3) numpy.ndarray[numpy.float64[3, 3]]
rplus(self: manifpy._bindings.SE_2_3, tau: manifpy._bindings._SE_2_3TangentBase, J_out_self: numpy.ndarray[numpy.float64[9, 9], flags.writeable, flags.c_contiguous] | None = None, J_out_tau: numpy.ndarray[numpy.float64[9, 9], flags.writeable, flags.c_contiguous] | None = None) manifpy._bindings.SE_2_3

Right oplus operation of the Lie group.

See Eq. (25).

Parameters:
  • tau (Lie group tangent) – An element of the tangent of the Lie group.

  • [out] (J_out_tau) – Jacobian of the oplus operation wrt self.

  • [out] – Jacobian of the oplus operation wrt tau.

setIdentity(self: manifpy._bindings.SE_2_3) manifpy._bindings.SE_2_3

Set self to the Lie group Identity.

setRandom(self: manifpy._bindings.SE_2_3) manifpy._bindings.SE_2_3

Set self to a random value.

translation(self: manifpy._bindings.SE_2_3) numpy.ndarray[numpy.float64[3, 1]]
vx(self: manifpy._bindings.SE_2_3) float
vy(self: manifpy._bindings.SE_2_3) float
vz(self: manifpy._bindings.SE_2_3) float
x(self: manifpy._bindings.SE_2_3) float
y(self: manifpy._bindings.SE_2_3) float
z(self: manifpy._bindings.SE_2_3) float
Dim = 3
DoF = 9
RepSize = 10
class manifpy.SE_2_3Tangent

Bases: _SE_2_3TangentBase

static Bracket(a: manifpy._bindings._SE_2_3TangentBase, b: manifpy._bindings._SE_2_3TangentBase) manifpy._bindings.SE_2_3Tangent

Compute the Lie bracket [a,b] in vector form..

static Generator(i: int) numpy.ndarray[numpy.float64[5, 5]]

Static helper to get the ith basis element of the Lie Algebra.

static InnerWeights() numpy.ndarray[numpy.float64[9, 9]]

Static helper to get the weight matrix of the Weighted Euclidean inner product, relative to the space basis.

static Random() manifpy._bindings.SE_2_3Tangent

Static helper to create a random object of the Lie group.

static Vee(arg0: numpy.ndarray[numpy.float64[5, 5]]) manifpy._bindings.SE_2_3Tangent

Instantiate a Tangent from a Lie algebra object.

static Zero() manifpy._bindings.SE_2_3Tangent

Static helper to create an object of the Lie group tangent set to zero.

bracket(self: manifpy._bindings.SE_2_3Tangent, other: manifpy._bindings._SE_2_3TangentBase) manifpy._bindings.SE_2_3Tangent

Compute the Lie bracket [this,other] in vector form.

return The Lie bracket [this,other] in vector form.

coeffs(self: manifpy._bindings.SE_2_3Tangent) numpy.ndarray[numpy.float64[9, 1]]

Get a reference to underlying data.

coeffs_copy(self: manifpy._bindings.SE_2_3Tangent) numpy.ndarray[numpy.float64[9, 1]]

Return a copy of underlying data.

exp(self: manifpy._bindings.SE_2_3Tangent, J_out_self: numpy.ndarray[numpy.float64[9, 9], flags.writeable, flags.c_contiguous] | None = None) manifpy._bindings.SE_2_3

Get the corresponding Lie group element.

Eq. (23).

Parameters:

[out] (J_out_self) – Jacobian of the log wrt self.

generator(self: manifpy._bindings.SE_2_3Tangent, i: int) numpy.ndarray[numpy.float64[5, 5]]

Get the ith basis element of the Lie Algebra.

hat(self: manifpy._bindings.SE_2_3Tangent) numpy.ndarray[numpy.float64[5, 5]]

Get the isomorphic element in the Lie algebra.

See Eq. (10).

inner(self: manifpy._bindings.SE_2_3Tangent, other: manifpy._bindings._SE_2_3TangentBase) float

Get inner product of this and another Tangent weighted by W.

ret = self^T x W x other

innerWeights(self: manifpy._bindings.SE_2_3Tangent) numpy.ndarray[numpy.float64[9, 9]]

Get the weight matrix of the Weighted Euclidean inner product, relative to the space basis.

isApprox(*args, **kwargs)

Overloaded function.

  1. isApprox(self: manifpy._bindings.SE_2_3Tangent, other: manifpy._bindings.SE_2_3Tangent, eps: float = 1e-10) -> bool

    Evaluate whether self and other are ‘close’.

    otherLie group tangent

    Another object of the same Lie group tangent.

    epsdouble

    Threshold for equality comparison. Default: 1e-10.

  2. isApprox(self: manifpy._bindings.SE_2_3Tangent, other: numpy.ndarray[numpy.float64[9, 1]], eps: float = 1e-10) -> bool

    Evaluate whether self and other are ‘close’.

    othernumpy.array

    Another object of the same Lie group tangent.

    epsdouble

    Threshold for equality comparison. Default: 1e-10.

ljac(self: manifpy._bindings.SE_2_3Tangent) numpy.ndarray[numpy.float64[9, 9]]

Get the left Jacobian.

This is the left Jacobian of ‘exp’, what is commonly known as “the left Jacobian”.

See Eq. (44) for the left Jacobian of general functions. See Eqs. (126,145,164,179,191) for implementations of the left Jacobian of exp.

lplus(self: manifpy._bindings.SE_2_3Tangent, state: manifpy._bindings.SE_2_3, J_out_self: numpy.ndarray[numpy.float64[9, 9], flags.writeable, flags.c_contiguous] | None = None, J_out_state: numpy.ndarray[numpy.float64[9, 9], flags.writeable, flags.c_contiguous] | None = None) manifpy._bindings.SE_2_3

Left oplus operation of the Lie group.

See Eqs. (27).

Parameters:
  • other (Lie group) – Another object of the same Lie group.

  • [out] (J_out_state) – Jacobian of the oplus operation wrt self.

  • [out] – Jacobian of the oplus operation wrt state.

minus(self: manifpy._bindings.SE_2_3Tangent, other: manifpy._bindings._SE_2_3TangentBase, J_out_self: numpy.ndarray[numpy.float64[9, 9], flags.writeable, flags.c_contiguous] | None = None, J_out_other: numpy.ndarray[numpy.float64[9, 9], flags.writeable, flags.c_contiguous] | None = None) manifpy._bindings.SE_2_3Tangent

Minus operation in the vector space.

Parameters:
  • other (Lie group tangent) – Another object of the same Lie group tangent.

  • [out] (J_out_other) – Jacobian of the oplus operation wrt self.

  • [out] – Jacobian of the oplus operation wrt other.

plus(*args, **kwargs)

Overloaded function.

  1. plus(self: manifpy._bindings.SE_2_3Tangent, state: manifpy._bindings.SE_2_3, J_out_self: Optional[numpy.ndarray[numpy.float64[9, 9], flags.writeable, flags.c_contiguous]] = None, J_out_state: Optional[numpy.ndarray[numpy.float64[9, 9], flags.writeable, flags.c_contiguous]] = None) -> manifpy._bindings.SE_2_3

An alias for the ‘rplus’ function.

  1. plus(self: manifpy._bindings.SE_2_3Tangent, other: manifpy._bindings._SE_2_3TangentBase, J_out_self: Optional[numpy.ndarray[numpy.float64[9, 9], flags.writeable, flags.c_contiguous]] = None, J_out_other: Optional[numpy.ndarray[numpy.float64[9, 9], flags.writeable, flags.c_contiguous]] = None) -> manifpy._bindings.SE_2_3Tangent

    Plus operation in the vector space.

    otherLie group tangent

    Another object of the same Lie group tangent.

    J_out_self [out]numpy.ndarray

    Jacobian of the oplus operation wrt self.

    J_out_other [out]numpy.ndarray

    Jacobian of the oplus operation wrt other.

rjac(self: manifpy._bindings.SE_2_3Tangent) numpy.ndarray[numpy.float64[9, 9]]

Get the right Jacobian.

This is the right Jacobian of ‘exp’, what is commonly known as “the right Jacobian”.

See Eq. (41) for the right Jacobian of general functions. See Eqs. (126,143,163,179,191) for implementations of the right Jacobian of exp.

rplus(self: manifpy._bindings.SE_2_3Tangent, state: manifpy._bindings.SE_2_3, J_out_self: numpy.ndarray[numpy.float64[9, 9], flags.writeable, flags.c_contiguous] | None = None, J_out_state: numpy.ndarray[numpy.float64[9, 9], flags.writeable, flags.c_contiguous] | None = None) manifpy._bindings.SE_2_3

Right oplus operation of the Lie group.

See Eqs. (25).

Parameters:
  • other (Lie group) – Another object of the same Lie group.

  • [out] (J_out_state) – Jacobian of the oplus operation wrt self.

  • [out] – Jacobian of the oplus operation wrt state.

setRandom(self: manifpy._bindings.SE_2_3Tangent) manifpy._bindings.SE_2_3Tangent

Set self to a random value.

setVee(self: manifpy._bindings.SE_2_3Tangent, vee: numpy.ndarray[numpy.float64[5, 5]]) manifpy._bindings.SE_2_3Tangent

Set the Tangent object from an object in the Lie algebra.

setZero(self: manifpy._bindings.SE_2_3Tangent) manifpy._bindings.SE_2_3Tangent

Set self to zero.

smallAdj(self: manifpy._bindings.SE_2_3Tangent) numpy.ndarray[numpy.float64[9, 9]]
squaredWeightedNorm(self: manifpy._bindings.SE_2_3Tangent) float

Get the squared Euclidean weighted norm.

weightedNorm(self: manifpy._bindings.SE_2_3Tangent) float

Get the Euclidean weighted norm.

Dim = 3
DoF = 9
RepSize = 9
class manifpy.SGal3

Bases: _SGal3Base

static Identity() manifpy._bindings.SGal3

Static helper to create an object set at the Lie group Identity.

static Random() manifpy._bindings.SGal3

Static helper to create a random object of the Lie group.

act(self: manifpy._bindings.SGal3, p: numpy.ndarray[numpy.float64[3, 1]], J_out_self: numpy.ndarray[numpy.float64[3, 10], flags.writeable, flags.c_contiguous] | None = None, J_out_p: numpy.ndarray[numpy.float64[3, 3], flags.writeable, flags.c_contiguous] | None = None) numpy.ndarray[numpy.float64[3, 1]]

Get the action of the Lie group object on a point.

Parameters:
  • p (numpy.array) – A point.

  • [out] (J_out_p) – Jacobian of the new object wrt self.

  • [out] – Jacobian of the new object wrt input point.

adj(self: manifpy._bindings.SGal3) numpy.ndarray[numpy.float64[10, 10]]

Return the Adjoint of the Lie group object self.

See Eq. (29).

between(self: manifpy._bindings.SGal3, other: manifpy._bindings._SGal3Base, J_out_self: numpy.ndarray[numpy.float64[10, 10], flags.writeable, flags.c_contiguous] | None = None, J_out_other: numpy.ndarray[numpy.float64[10, 10], flags.writeable, flags.c_contiguous] | None = None) manifpy._bindings.SGal3

Return the between of self and another object of the same Lie group.

Parameters:
  • other (Lie group) – Another object of the same Lie group.

  • [out] (J_out_other) – Jacobian of the composition wrt self.

  • [out] – Jacobian of the composition wrt other.

coeffs(self: manifpy._bindings.SGal3) numpy.ndarray[numpy.float64[11, 1]]

Get a reference to underlying data.

coeffs_copy(self: manifpy._bindings.SGal3) numpy.ndarray[numpy.float64[11, 1]]

Return a copy of underlying data.

compose(self: manifpy._bindings.SGal3, other: manifpy._bindings._SGal3Base, J_out_self: numpy.ndarray[numpy.float64[10, 10], flags.writeable, flags.c_contiguous] | None = None, J_out_other: numpy.ndarray[numpy.float64[10, 10], flags.writeable, flags.c_contiguous] | None = None) manifpy._bindings.SGal3

Return the composition of self and another object of the same Lie group.

See Eqs. (1,2,3,4).

Parameters:
  • other (Lie group) – Another object of the same Lie group.

  • [out] (J_out_other) – Jacobian of the composition wrt self.

  • [out] – Jacobian of the composition wrt other.

inverse(self: manifpy._bindings.SGal3, J_out_self: numpy.ndarray[numpy.float64[10, 10], flags.writeable, flags.c_contiguous] | None = None) manifpy._bindings.SGal3

Return the inverse of the Lie group object.

See Eq. (3).

Parameters:

[out] (J_out_self) – Jacobian of the inverse wrt self.

isApprox(self: manifpy._bindings.SGal3, other: manifpy._bindings._SGal3Base, eps: float = 1e-10) bool

Evaluate whether self and other are ‘close’.

Parameters:
  • other (Lie group) – Another object of the same Lie group.

  • eps (double) – Threshold for equality comparison. Default: 1e-10.

linearVelocity(self: manifpy._bindings.SGal3) numpy.ndarray[numpy.float64[3, 1]]
lminus(self: manifpy._bindings.SGal3, other: manifpy._bindings._SGal3Base, J_out_self: numpy.ndarray[numpy.float64[10, 10], flags.writeable, flags.c_contiguous] | None = None, J_out_other: numpy.ndarray[numpy.float64[10, 10], flags.writeable, flags.c_contiguous] | None = None) manifpy._bindings.SGal3Tangent

Left ominus operation of the Lie group.

See Eq. (28).

Parameters:
  • other (Lie group) – Another element of the same Lie group.

  • [out] (J_out_other) – Jacobian of the ominus operation wrt self.

  • [out] – Jacobian of the ominus operation wrt other.

log(self: manifpy._bindings.SGal3, J_out_self: numpy.ndarray[numpy.float64[10, 10], flags.writeable, flags.c_contiguous] | None = None) manifpy._bindings.SGal3Tangent

Return the corresponding Lie algebra element in vector form.

Eq. (24).

Parameters:

[out] (J_out_self) – Jacobian of the log wrt self.

lplus(self: manifpy._bindings.SGal3, tau: manifpy._bindings._SGal3TangentBase, J_out_self: numpy.ndarray[numpy.float64[10, 10], flags.writeable, flags.c_contiguous] | None = None, J_mout_tau: numpy.ndarray[numpy.float64[10, 10], flags.writeable, flags.c_contiguous] | None = None) manifpy._bindings.SGal3

Left oplus operation of the Lie group.

See Eq. (27).

Parameters:
  • tau (Lie group tangent) – An element of the tangent of the Lie group.

  • [out] (J_out_tau) – Jacobian of the oplus operation wrt self.

  • [out] – Jacobian of the oplus operation wrt tau.

minus(self: manifpy._bindings.SGal3, other: manifpy._bindings._SGal3Base, J_out_self: numpy.ndarray[numpy.float64[10, 10], flags.writeable, flags.c_contiguous] | None = None, J_out_other: numpy.ndarray[numpy.float64[10, 10], flags.writeable, flags.c_contiguous] | None = None) manifpy._bindings.SGal3Tangent

An alias for the ‘rminus’ function.

normalize(self: manifpy._bindings.SGal3) None
plus(self: manifpy._bindings.SGal3, tau: manifpy._bindings._SGal3TangentBase, J_out_self: numpy.ndarray[numpy.float64[10, 10], flags.writeable, flags.c_contiguous] | None = None, J_mout_tau: numpy.ndarray[numpy.float64[10, 10], flags.writeable, flags.c_contiguous] | None = None) manifpy._bindings.SGal3

An alias for the ‘rplus’ function.

rminus(self: manifpy._bindings.SGal3, other: manifpy._bindings._SGal3Base, J_out_self: numpy.ndarray[numpy.float64[10, 10], flags.writeable, flags.c_contiguous] | None = None, J_out_other: numpy.ndarray[numpy.float64[10, 10], flags.writeable, flags.c_contiguous] | None = None) manifpy._bindings.SGal3Tangent

Right ominus operation of the Lie group.

See Eq. (26).

Parameters:
  • other (Lie group) – Another element of the same Lie group.

  • [out] (J_out_other) – Jacobian of the ominus operation wrt self.

  • [out] – Jacobian of the ominus operation wrt other.

rotation(self: manifpy._bindings.SGal3) numpy.ndarray[numpy.float64[3, 3]]
rplus(self: manifpy._bindings.SGal3, tau: manifpy._bindings._SGal3TangentBase, J_out_self: numpy.ndarray[numpy.float64[10, 10], flags.writeable, flags.c_contiguous] | None = None, J_out_tau: numpy.ndarray[numpy.float64[10, 10], flags.writeable, flags.c_contiguous] | None = None) manifpy._bindings.SGal3

Right oplus operation of the Lie group.

See Eq. (25).

Parameters:
  • tau (Lie group tangent) – An element of the tangent of the Lie group.

  • [out] (J_out_tau) – Jacobian of the oplus operation wrt self.

  • [out] – Jacobian of the oplus operation wrt tau.

setIdentity(self: manifpy._bindings.SGal3) manifpy._bindings.SGal3

Set self to the Lie group Identity.

setRandom(self: manifpy._bindings.SGal3) manifpy._bindings.SGal3

Set self to a random value.

t(self: manifpy._bindings.SGal3) float
translation(self: manifpy._bindings.SGal3) numpy.ndarray[numpy.float64[3, 1]]
vx(self: manifpy._bindings.SGal3) float
vy(self: manifpy._bindings.SGal3) float
vz(self: manifpy._bindings.SGal3) float
x(self: manifpy._bindings.SGal3) float
y(self: manifpy._bindings.SGal3) float
z(self: manifpy._bindings.SGal3) float
Dim = 3
DoF = 10
RepSize = 11
class manifpy.SGal3Tangent

Bases: _SGal3TangentBase

static Bracket(a: manifpy._bindings._SGal3TangentBase, b: manifpy._bindings._SGal3TangentBase) manifpy._bindings.SGal3Tangent

Compute the Lie bracket [a,b] in vector form..

static Generator(i: int) numpy.ndarray[numpy.float64[5, 5]]

Static helper to get the ith basis element of the Lie Algebra.

static InnerWeights() numpy.ndarray[numpy.float64[10, 10]]

Static helper to get the weight matrix of the Weighted Euclidean inner product, relative to the space basis.

static Random() manifpy._bindings.SGal3Tangent

Static helper to create a random object of the Lie group.

static Vee(arg0: numpy.ndarray[numpy.float64[5, 5]]) manifpy._bindings.SGal3Tangent

Instantiate a Tangent from a Lie algebra object.

static Zero() manifpy._bindings.SGal3Tangent

Static helper to create an object of the Lie group tangent set to zero.

bracket(self: manifpy._bindings.SGal3Tangent, other: manifpy._bindings._SGal3TangentBase) manifpy._bindings.SGal3Tangent

Compute the Lie bracket [this,other] in vector form.

return The Lie bracket [this,other] in vector form.

coeffs(self: manifpy._bindings.SGal3Tangent) numpy.ndarray[numpy.float64[10, 1]]

Get a reference to underlying data.

coeffs_copy(self: manifpy._bindings.SGal3Tangent) numpy.ndarray[numpy.float64[10, 1]]

Return a copy of underlying data.

exp(self: manifpy._bindings.SGal3Tangent, J_out_self: numpy.ndarray[numpy.float64[10, 10], flags.writeable, flags.c_contiguous] | None = None) manifpy._bindings.SGal3

Get the corresponding Lie group element.

Eq. (23).

Parameters:

[out] (J_out_self) – Jacobian of the log wrt self.

generator(self: manifpy._bindings.SGal3Tangent, i: int) numpy.ndarray[numpy.float64[5, 5]]

Get the ith basis element of the Lie Algebra.

hat(self: manifpy._bindings.SGal3Tangent) numpy.ndarray[numpy.float64[5, 5]]

Get the isomorphic element in the Lie algebra.

See Eq. (10).

inner(self: manifpy._bindings.SGal3Tangent, other: manifpy._bindings._SGal3TangentBase) float

Get inner product of this and another Tangent weighted by W.

ret = self^T x W x other

innerWeights(self: manifpy._bindings.SGal3Tangent) numpy.ndarray[numpy.float64[10, 10]]

Get the weight matrix of the Weighted Euclidean inner product, relative to the space basis.

isApprox(*args, **kwargs)

Overloaded function.

  1. isApprox(self: manifpy._bindings.SGal3Tangent, other: manifpy._bindings.SGal3Tangent, eps: float = 1e-10) -> bool

    Evaluate whether self and other are ‘close’.

    otherLie group tangent

    Another object of the same Lie group tangent.

    epsdouble

    Threshold for equality comparison. Default: 1e-10.

  2. isApprox(self: manifpy._bindings.SGal3Tangent, other: numpy.ndarray[numpy.float64[10, 1]], eps: float = 1e-10) -> bool

    Evaluate whether self and other are ‘close’.

    othernumpy.array

    Another object of the same Lie group tangent.

    epsdouble

    Threshold for equality comparison. Default: 1e-10.

ljac(self: manifpy._bindings.SGal3Tangent) numpy.ndarray[numpy.float64[10, 10]]

Get the left Jacobian.

This is the left Jacobian of ‘exp’, what is commonly known as “the left Jacobian”.

See Eq. (44) for the left Jacobian of general functions. See Eqs. (126,145,164,179,191) for implementations of the left Jacobian of exp.

lplus(self: manifpy._bindings.SGal3Tangent, state: manifpy._bindings.SGal3, J_out_self: numpy.ndarray[numpy.float64[10, 10], flags.writeable, flags.c_contiguous] | None = None, J_out_state: numpy.ndarray[numpy.float64[10, 10], flags.writeable, flags.c_contiguous] | None = None) manifpy._bindings.SGal3

Left oplus operation of the Lie group.

See Eqs. (27).

Parameters:
  • other (Lie group) – Another object of the same Lie group.

  • [out] (J_out_state) – Jacobian of the oplus operation wrt self.

  • [out] – Jacobian of the oplus operation wrt state.

minus(self: manifpy._bindings.SGal3Tangent, other: manifpy._bindings._SGal3TangentBase, J_out_self: numpy.ndarray[numpy.float64[10, 10], flags.writeable, flags.c_contiguous] | None = None, J_out_other: numpy.ndarray[numpy.float64[10, 10], flags.writeable, flags.c_contiguous] | None = None) manifpy._bindings.SGal3Tangent

Minus operation in the vector space.

Parameters:
  • other (Lie group tangent) – Another object of the same Lie group tangent.

  • [out] (J_out_other) – Jacobian of the oplus operation wrt self.

  • [out] – Jacobian of the oplus operation wrt other.

plus(*args, **kwargs)

Overloaded function.

  1. plus(self: manifpy._bindings.SGal3Tangent, state: manifpy._bindings.SGal3, J_out_self: Optional[numpy.ndarray[numpy.float64[10, 10], flags.writeable, flags.c_contiguous]] = None, J_out_state: Optional[numpy.ndarray[numpy.float64[10, 10], flags.writeable, flags.c_contiguous]] = None) -> manifpy._bindings.SGal3

An alias for the ‘rplus’ function.

  1. plus(self: manifpy._bindings.SGal3Tangent, other: manifpy._bindings._SGal3TangentBase, J_out_self: Optional[numpy.ndarray[numpy.float64[10, 10], flags.writeable, flags.c_contiguous]] = None, J_out_other: Optional[numpy.ndarray[numpy.float64[10, 10], flags.writeable, flags.c_contiguous]] = None) -> manifpy._bindings.SGal3Tangent

    Plus operation in the vector space.

    otherLie group tangent

    Another object of the same Lie group tangent.

    J_out_self [out]numpy.ndarray

    Jacobian of the oplus operation wrt self.

    J_out_other [out]numpy.ndarray

    Jacobian of the oplus operation wrt other.

rjac(self: manifpy._bindings.SGal3Tangent) numpy.ndarray[numpy.float64[10, 10]]

Get the right Jacobian.

This is the right Jacobian of ‘exp’, what is commonly known as “the right Jacobian”.

See Eq. (41) for the right Jacobian of general functions. See Eqs. (126,143,163,179,191) for implementations of the right Jacobian of exp.

rplus(self: manifpy._bindings.SGal3Tangent, state: manifpy._bindings.SGal3, J_out_self: numpy.ndarray[numpy.float64[10, 10], flags.writeable, flags.c_contiguous] | None = None, J_out_state: numpy.ndarray[numpy.float64[10, 10], flags.writeable, flags.c_contiguous] | None = None) manifpy._bindings.SGal3

Right oplus operation of the Lie group.

See Eqs. (25).

Parameters:
  • other (Lie group) – Another object of the same Lie group.

  • [out] (J_out_state) – Jacobian of the oplus operation wrt self.

  • [out] – Jacobian of the oplus operation wrt state.

setRandom(self: manifpy._bindings.SGal3Tangent) manifpy._bindings.SGal3Tangent

Set self to a random value.

setVee(self: manifpy._bindings.SGal3Tangent, vee: numpy.ndarray[numpy.float64[5, 5]]) manifpy._bindings.SGal3Tangent

Set the Tangent object from an object in the Lie algebra.

setZero(self: manifpy._bindings.SGal3Tangent) manifpy._bindings.SGal3Tangent

Set self to zero.

smallAdj(self: manifpy._bindings.SGal3Tangent) numpy.ndarray[numpy.float64[10, 10]]
squaredWeightedNorm(self: manifpy._bindings.SGal3Tangent) float

Get the squared Euclidean weighted norm.

weightedNorm(self: manifpy._bindings.SGal3Tangent) float

Get the Euclidean weighted norm.

Dim = 3
DoF = 10
RepSize = 10
class manifpy.SO2

Bases: _SO2Base

The SO2 class

static Identity() manifpy._bindings.SO2

Static helper to create an object set at the Lie group Identity.

static Random() manifpy._bindings.SO2

Static helper to create a random object of the Lie group.

act(self: manifpy._bindings.SO2, p: numpy.ndarray[numpy.float64[2, 1]], J_out_self: numpy.ndarray[numpy.float64[2, 1], flags.writeable] | None = None, J_out_p: numpy.ndarray[numpy.float64[2, 2], flags.writeable, flags.c_contiguous] | None = None) numpy.ndarray[numpy.float64[2, 1]]

Get the action of the Lie group object on a point.

Parameters:
  • p (numpy.array) – A point.

  • [out] (J_out_p) – Jacobian of the new object wrt self.

  • [out] – Jacobian of the new object wrt input point.

adj(self: manifpy._bindings.SO2) numpy.ndarray[numpy.float64[1, 1]]

Return the Adjoint of the Lie group object self.

See Eq. (29).

angle(self: manifpy._bindings.SO2) float
between(self: manifpy._bindings.SO2, other: manifpy._bindings._SO2Base, J_out_self: numpy.ndarray[numpy.float64[1, 1], flags.writeable] | None = None, J_out_other: numpy.ndarray[numpy.float64[1, 1], flags.writeable] | None = None) manifpy._bindings.SO2

Return the between of self and another object of the same Lie group.

Parameters:
  • other (Lie group) – Another object of the same Lie group.

  • [out] (J_out_other) – Jacobian of the composition wrt self.

  • [out] – Jacobian of the composition wrt other.

coeffs(self: manifpy._bindings.SO2) numpy.ndarray[numpy.float64[2, 1]]

Get a reference to underlying data.

coeffs_copy(self: manifpy._bindings.SO2) numpy.ndarray[numpy.float64[2, 1]]

Return a copy of underlying data.

compose(self: manifpy._bindings.SO2, other: manifpy._bindings._SO2Base, J_out_self: numpy.ndarray[numpy.float64[1, 1], flags.writeable] | None = None, J_out_other: numpy.ndarray[numpy.float64[1, 1], flags.writeable] | None = None) manifpy._bindings.SO2

Return the composition of self and another object of the same Lie group.

See Eqs. (1,2,3,4).

Parameters:
  • other (Lie group) – Another object of the same Lie group.

  • [out] (J_out_other) – Jacobian of the composition wrt self.

  • [out] – Jacobian of the composition wrt other.

imag(self: manifpy._bindings.SO2) float
inverse(self: manifpy._bindings.SO2, J_out_self: numpy.ndarray[numpy.float64[1, 1], flags.writeable] | None = None) manifpy._bindings.SO2

Return the inverse of the Lie group object.

See Eq. (3).

Parameters:

[out] (J_out_self) – Jacobian of the inverse wrt self.

isApprox(self: manifpy._bindings.SO2, other: manifpy._bindings._SO2Base, eps: float = 1e-10) bool

Evaluate whether self and other are ‘close’.

Parameters:
  • other (Lie group) – Another object of the same Lie group.

  • eps (double) – Threshold for equality comparison. Default: 1e-10.

lminus(self: manifpy._bindings.SO2, other: manifpy._bindings._SO2Base, J_out_self: numpy.ndarray[numpy.float64[1, 1], flags.writeable] | None = None, J_out_other: numpy.ndarray[numpy.float64[1, 1], flags.writeable] | None = None) manifpy._bindings.SO2Tangent

Left ominus operation of the Lie group.

See Eq. (28).

Parameters:
  • other (Lie group) – Another element of the same Lie group.

  • [out] (J_out_other) – Jacobian of the ominus operation wrt self.

  • [out] – Jacobian of the ominus operation wrt other.

log(self: manifpy._bindings.SO2, J_out_self: numpy.ndarray[numpy.float64[1, 1], flags.writeable] | None = None) manifpy._bindings.SO2Tangent

Return the corresponding Lie algebra element in vector form.

Eq. (24).

Parameters:

[out] (J_out_self) – Jacobian of the log wrt self.

lplus(self: manifpy._bindings.SO2, tau: manifpy._bindings._SO2TangentBase, J_out_self: numpy.ndarray[numpy.float64[1, 1], flags.writeable] | None = None, J_mout_tau: numpy.ndarray[numpy.float64[1, 1], flags.writeable] | None = None) manifpy._bindings.SO2

Left oplus operation of the Lie group.

See Eq. (27).

Parameters:
  • tau (Lie group tangent) – An element of the tangent of the Lie group.

  • [out] (J_out_tau) – Jacobian of the oplus operation wrt self.

  • [out] – Jacobian of the oplus operation wrt tau.

minus(self: manifpy._bindings.SO2, other: manifpy._bindings._SO2Base, J_out_self: numpy.ndarray[numpy.float64[1, 1], flags.writeable] | None = None, J_out_other: numpy.ndarray[numpy.float64[1, 1], flags.writeable] | None = None) manifpy._bindings.SO2Tangent

An alias for the ‘rminus’ function.

normalize(self: manifpy._bindings.SO2) None
plus(self: manifpy._bindings.SO2, tau: manifpy._bindings._SO2TangentBase, J_out_self: numpy.ndarray[numpy.float64[1, 1], flags.writeable] | None = None, J_mout_tau: numpy.ndarray[numpy.float64[1, 1], flags.writeable] | None = None) manifpy._bindings.SO2

An alias for the ‘rplus’ function.

real(self: manifpy._bindings.SO2) float
rminus(self: manifpy._bindings.SO2, other: manifpy._bindings._SO2Base, J_out_self: numpy.ndarray[numpy.float64[1, 1], flags.writeable] | None = None, J_out_other: numpy.ndarray[numpy.float64[1, 1], flags.writeable] | None = None) manifpy._bindings.SO2Tangent

Right ominus operation of the Lie group.

See Eq. (26).

Parameters:
  • other (Lie group) – Another element of the same Lie group.

  • [out] (J_out_other) – Jacobian of the ominus operation wrt self.

  • [out] – Jacobian of the ominus operation wrt other.

rotation(self: manifpy._bindings.SO2) numpy.ndarray[numpy.float64[2, 2]]

Get the rotation matrix

rplus(self: manifpy._bindings.SO2, tau: manifpy._bindings._SO2TangentBase, J_out_self: numpy.ndarray[numpy.float64[1, 1], flags.writeable] | None = None, J_out_tau: numpy.ndarray[numpy.float64[1, 1], flags.writeable] | None = None) manifpy._bindings.SO2

Right oplus operation of the Lie group.

See Eq. (25).

Parameters:
  • tau (Lie group tangent) – An element of the tangent of the Lie group.

  • [out] (J_out_tau) – Jacobian of the oplus operation wrt self.

  • [out] – Jacobian of the oplus operation wrt tau.

setIdentity(self: manifpy._bindings.SO2) manifpy._bindings.SO2

Set self to the Lie group Identity.

setRandom(self: manifpy._bindings.SO2) manifpy._bindings.SO2

Set self to a random value.

transform(self: manifpy._bindings.SO2) numpy.ndarray[numpy.float64[3, 3]]

Get the transformation matrix

Dim = 2
DoF = 1
RepSize = 2
class manifpy.SO2Tangent

Bases: _SO2TangentBase

static Bracket(a: manifpy._bindings._SO2TangentBase, b: manifpy._bindings._SO2TangentBase) manifpy._bindings.SO2Tangent

Compute the Lie bracket [a,b] in vector form..

static Generator(i: int) numpy.ndarray[numpy.float64[2, 2]]

Static helper to get the ith basis element of the Lie Algebra.

static InnerWeights() numpy.ndarray[numpy.float64[1, 1]]

Static helper to get the weight matrix of the Weighted Euclidean inner product, relative to the space basis.

static Random() manifpy._bindings.SO2Tangent

Static helper to create a random object of the Lie group.

static Vee(arg0: numpy.ndarray[numpy.float64[2, 2]]) manifpy._bindings.SO2Tangent

Instantiate a Tangent from a Lie algebra object.

static Zero() manifpy._bindings.SO2Tangent

Static helper to create an object of the Lie group tangent set to zero.

angle(self: manifpy._bindings.SO2Tangent) float
bracket(self: manifpy._bindings.SO2Tangent, other: manifpy._bindings._SO2TangentBase) manifpy._bindings.SO2Tangent

Compute the Lie bracket [this,other] in vector form.

return The Lie bracket [this,other] in vector form.

coeffs(self: manifpy._bindings.SO2Tangent) numpy.ndarray[numpy.float64[1, 1]]

Get a reference to underlying data.

coeffs_copy(self: manifpy._bindings.SO2Tangent) numpy.ndarray[numpy.float64[1, 1]]

Return a copy of underlying data.

exp(self: manifpy._bindings.SO2Tangent, J_out_self: numpy.ndarray[numpy.float64[1, 1], flags.writeable] | None = None) manifpy._bindings.SO2

Get the corresponding Lie group element.

Eq. (23).

Parameters:

[out] (J_out_self) – Jacobian of the log wrt self.

generator(self: manifpy._bindings.SO2Tangent, i: int) numpy.ndarray[numpy.float64[2, 2]]

Get the ith basis element of the Lie Algebra.

hat(self: manifpy._bindings.SO2Tangent) numpy.ndarray[numpy.float64[2, 2]]

Get the isomorphic element in the Lie algebra.

See Eq. (10).

inner(self: manifpy._bindings.SO2Tangent, other: manifpy._bindings._SO2TangentBase) float

Get inner product of this and another Tangent weighted by W.

ret = self^T x W x other

innerWeights(self: manifpy._bindings.SO2Tangent) numpy.ndarray[numpy.float64[1, 1]]

Get the weight matrix of the Weighted Euclidean inner product, relative to the space basis.

isApprox(*args, **kwargs)

Overloaded function.

  1. isApprox(self: manifpy._bindings.SO2Tangent, other: manifpy._bindings.SO2Tangent, eps: float = 1e-10) -> bool

    Evaluate whether self and other are ‘close’.

    otherLie group tangent

    Another object of the same Lie group tangent.

    epsdouble

    Threshold for equality comparison. Default: 1e-10.

  2. isApprox(self: manifpy._bindings.SO2Tangent, other: numpy.ndarray[numpy.float64[1, 1]], eps: float = 1e-10) -> bool

    Evaluate whether self and other are ‘close’.

    othernumpy.array

    Another object of the same Lie group tangent.

    epsdouble

    Threshold for equality comparison. Default: 1e-10.

ljac(self: manifpy._bindings.SO2Tangent) numpy.ndarray[numpy.float64[1, 1]]

Get the left Jacobian.

This is the left Jacobian of ‘exp’, what is commonly known as “the left Jacobian”.

See Eq. (44) for the left Jacobian of general functions. See Eqs. (126,145,164,179,191) for implementations of the left Jacobian of exp.

lplus(self: manifpy._bindings.SO2Tangent, state: manifpy._bindings.SO2, J_out_self: numpy.ndarray[numpy.float64[1, 1], flags.writeable] | None = None, J_out_state: numpy.ndarray[numpy.float64[1, 1], flags.writeable] | None = None) manifpy._bindings.SO2

Left oplus operation of the Lie group.

See Eqs. (27).

Parameters:
  • other (Lie group) – Another object of the same Lie group.

  • [out] (J_out_state) – Jacobian of the oplus operation wrt self.

  • [out] – Jacobian of the oplus operation wrt state.

minus(self: manifpy._bindings.SO2Tangent, other: manifpy._bindings._SO2TangentBase, J_out_self: numpy.ndarray[numpy.float64[1, 1], flags.writeable] | None = None, J_out_other: numpy.ndarray[numpy.float64[1, 1], flags.writeable] | None = None) manifpy._bindings.SO2Tangent

Minus operation in the vector space.

Parameters:
  • other (Lie group tangent) – Another object of the same Lie group tangent.

  • [out] (J_out_other) – Jacobian of the oplus operation wrt self.

  • [out] – Jacobian of the oplus operation wrt other.

plus(*args, **kwargs)

Overloaded function.

  1. plus(self: manifpy._bindings.SO2Tangent, state: manifpy._bindings.SO2, J_out_self: Optional[numpy.ndarray[numpy.float64[1, 1], flags.writeable]] = None, J_out_state: Optional[numpy.ndarray[numpy.float64[1, 1], flags.writeable]] = None) -> manifpy._bindings.SO2

An alias for the ‘rplus’ function.

  1. plus(self: manifpy._bindings.SO2Tangent, other: manifpy._bindings._SO2TangentBase, J_out_self: Optional[numpy.ndarray[numpy.float64[1, 1], flags.writeable]] = None, J_out_other: Optional[numpy.ndarray[numpy.float64[1, 1], flags.writeable]] = None) -> manifpy._bindings.SO2Tangent

    Plus operation in the vector space.

    otherLie group tangent

    Another object of the same Lie group tangent.

    J_out_self [out]numpy.ndarray

    Jacobian of the oplus operation wrt self.

    J_out_other [out]numpy.ndarray

    Jacobian of the oplus operation wrt other.

rjac(self: manifpy._bindings.SO2Tangent) numpy.ndarray[numpy.float64[1, 1]]

Get the right Jacobian.

This is the right Jacobian of ‘exp’, what is commonly known as “the right Jacobian”.

See Eq. (41) for the right Jacobian of general functions. See Eqs. (126,143,163,179,191) for implementations of the right Jacobian of exp.

rplus(self: manifpy._bindings.SO2Tangent, state: manifpy._bindings.SO2, J_out_self: numpy.ndarray[numpy.float64[1, 1], flags.writeable] | None = None, J_out_state: numpy.ndarray[numpy.float64[1, 1], flags.writeable] | None = None) manifpy._bindings.SO2

Right oplus operation of the Lie group.

See Eqs. (25).

Parameters:
  • other (Lie group) – Another object of the same Lie group.

  • [out] (J_out_state) – Jacobian of the oplus operation wrt self.

  • [out] – Jacobian of the oplus operation wrt state.

setRandom(self: manifpy._bindings.SO2Tangent) manifpy._bindings.SO2Tangent

Set self to a random value.

setVee(self: manifpy._bindings.SO2Tangent, vee: numpy.ndarray[numpy.float64[2, 2]]) manifpy._bindings.SO2Tangent

Set the Tangent object from an object in the Lie algebra.

setZero(self: manifpy._bindings.SO2Tangent) manifpy._bindings.SO2Tangent

Set self to zero.

smallAdj(self: manifpy._bindings.SO2Tangent) numpy.ndarray[numpy.float64[1, 1]]
squaredWeightedNorm(self: manifpy._bindings.SO2Tangent) float

Get the squared Euclidean weighted norm.

weightedNorm(self: manifpy._bindings.SO2Tangent) float

Get the Euclidean weighted norm.

Dim = 2
DoF = 1
RepSize = 1
class manifpy.SO3

Bases: _SO3Base

static Identity() manifpy._bindings.SO3

Static helper to create an object set at the Lie group Identity.

static Random() manifpy._bindings.SO3

Static helper to create a random object of the Lie group.

act(self: manifpy._bindings.SO3, p: numpy.ndarray[numpy.float64[3, 1]], J_out_self: numpy.ndarray[numpy.float64[3, 3], flags.writeable, flags.c_contiguous] | None = None, J_out_p: numpy.ndarray[numpy.float64[3, 3], flags.writeable, flags.c_contiguous] | None = None) numpy.ndarray[numpy.float64[3, 1]]

Get the action of the Lie group object on a point.

Parameters:
  • p (numpy.array) – A point.

  • [out] (J_out_p) – Jacobian of the new object wrt self.

  • [out] – Jacobian of the new object wrt input point.

adj(self: manifpy._bindings.SO3) numpy.ndarray[numpy.float64[3, 3]]

Return the Adjoint of the Lie group object self.

See Eq. (29).

between(self: manifpy._bindings.SO3, other: manifpy._bindings._SO3Base, J_out_self: numpy.ndarray[numpy.float64[3, 3], flags.writeable, flags.c_contiguous] | None = None, J_out_other: numpy.ndarray[numpy.float64[3, 3], flags.writeable, flags.c_contiguous] | None = None) manifpy._bindings.SO3

Return the between of self and another object of the same Lie group.

Parameters:
  • other (Lie group) – Another object of the same Lie group.

  • [out] (J_out_other) – Jacobian of the composition wrt self.

  • [out] – Jacobian of the composition wrt other.

coeffs(self: manifpy._bindings.SO3) numpy.ndarray[numpy.float64[4, 1]]

Get a reference to underlying data.

coeffs_copy(self: manifpy._bindings.SO3) numpy.ndarray[numpy.float64[4, 1]]

Return a copy of underlying data.

compose(self: manifpy._bindings.SO3, other: manifpy._bindings._SO3Base, J_out_self: numpy.ndarray[numpy.float64[3, 3], flags.writeable, flags.c_contiguous] | None = None, J_out_other: numpy.ndarray[numpy.float64[3, 3], flags.writeable, flags.c_contiguous] | None = None) manifpy._bindings.SO3

Return the composition of self and another object of the same Lie group.

See Eqs. (1,2,3,4).

Parameters:
  • other (Lie group) – Another object of the same Lie group.

  • [out] (J_out_other) – Jacobian of the composition wrt self.

  • [out] – Jacobian of the composition wrt other.

inverse(self: manifpy._bindings.SO3, J_out_self: numpy.ndarray[numpy.float64[3, 3], flags.writeable, flags.c_contiguous] | None = None) manifpy._bindings.SO3

Return the inverse of the Lie group object.

See Eq. (3).

Parameters:

[out] (J_out_self) – Jacobian of the inverse wrt self.

isApprox(self: manifpy._bindings.SO3, other: manifpy._bindings._SO3Base, eps: float = 1e-10) bool

Evaluate whether self and other are ‘close’.

Parameters:
  • other (Lie group) – Another object of the same Lie group.

  • eps (double) – Threshold for equality comparison. Default: 1e-10.

lminus(self: manifpy._bindings.SO3, other: manifpy._bindings._SO3Base, J_out_self: numpy.ndarray[numpy.float64[3, 3], flags.writeable, flags.c_contiguous] | None = None, J_out_other: numpy.ndarray[numpy.float64[3, 3], flags.writeable, flags.c_contiguous] | None = None) manifpy._bindings.SO3Tangent

Left ominus operation of the Lie group.

See Eq. (28).

Parameters:
  • other (Lie group) – Another element of the same Lie group.

  • [out] (J_out_other) – Jacobian of the ominus operation wrt self.

  • [out] – Jacobian of the ominus operation wrt other.

log(self: manifpy._bindings.SO3, J_out_self: numpy.ndarray[numpy.float64[3, 3], flags.writeable, flags.c_contiguous] | None = None) manifpy._bindings.SO3Tangent

Return the corresponding Lie algebra element in vector form.

Eq. (24).

Parameters:

[out] (J_out_self) – Jacobian of the log wrt self.

lplus(self: manifpy._bindings.SO3, tau: manifpy._bindings._SO3TangentBase, J_out_self: numpy.ndarray[numpy.float64[3, 3], flags.writeable, flags.c_contiguous] | None = None, J_mout_tau: numpy.ndarray[numpy.float64[3, 3], flags.writeable, flags.c_contiguous] | None = None) manifpy._bindings.SO3

Left oplus operation of the Lie group.

See Eq. (27).

Parameters:
  • tau (Lie group tangent) – An element of the tangent of the Lie group.

  • [out] (J_out_tau) – Jacobian of the oplus operation wrt self.

  • [out] – Jacobian of the oplus operation wrt tau.

minus(self: manifpy._bindings.SO3, other: manifpy._bindings._SO3Base, J_out_self: numpy.ndarray[numpy.float64[3, 3], flags.writeable, flags.c_contiguous] | None = None, J_out_other: numpy.ndarray[numpy.float64[3, 3], flags.writeable, flags.c_contiguous] | None = None) manifpy._bindings.SO3Tangent

An alias for the ‘rminus’ function.

normalize(self: manifpy._bindings.SO3) None
plus(self: manifpy._bindings.SO3, tau: manifpy._bindings._SO3TangentBase, J_out_self: numpy.ndarray[numpy.float64[3, 3], flags.writeable, flags.c_contiguous] | None = None, J_mout_tau: numpy.ndarray[numpy.float64[3, 3], flags.writeable, flags.c_contiguous] | None = None) manifpy._bindings.SO3

An alias for the ‘rplus’ function.

quat(*args, **kwargs)

Overloaded function.

  1. quat(self: manifpy._bindings.SO3) -> numpy.ndarray[numpy.float64[4, 1]]

  2. quat(self: manifpy._bindings.SO3, quaternion: numpy.ndarray[numpy.float64[4, 1]]) -> None

rminus(self: manifpy._bindings.SO3, other: manifpy._bindings._SO3Base, J_out_self: numpy.ndarray[numpy.float64[3, 3], flags.writeable, flags.c_contiguous] | None = None, J_out_other: numpy.ndarray[numpy.float64[3, 3], flags.writeable, flags.c_contiguous] | None = None) manifpy._bindings.SO3Tangent

Right ominus operation of the Lie group.

See Eq. (26).

Parameters:
  • other (Lie group) – Another element of the same Lie group.

  • [out] (J_out_other) – Jacobian of the ominus operation wrt self.

  • [out] – Jacobian of the ominus operation wrt other.

rotation(self: manifpy._bindings.SO3) numpy.ndarray[numpy.float64[3, 3]]
rplus(self: manifpy._bindings.SO3, tau: manifpy._bindings._SO3TangentBase, J_out_self: numpy.ndarray[numpy.float64[3, 3], flags.writeable, flags.c_contiguous] | None = None, J_out_tau: numpy.ndarray[numpy.float64[3, 3], flags.writeable, flags.c_contiguous] | None = None) manifpy._bindings.SO3

Right oplus operation of the Lie group.

See Eq. (25).

Parameters:
  • tau (Lie group tangent) – An element of the tangent of the Lie group.

  • [out] (J_out_tau) – Jacobian of the oplus operation wrt self.

  • [out] – Jacobian of the oplus operation wrt tau.

setIdentity(self: manifpy._bindings.SO3) manifpy._bindings.SO3

Set self to the Lie group Identity.

setRandom(self: manifpy._bindings.SO3) manifpy._bindings.SO3

Set self to a random value.

transform(self: manifpy._bindings.SO3) numpy.ndarray[numpy.float64[4, 4]]
w(self: manifpy._bindings.SO3) float
x(self: manifpy._bindings.SO3) float
y(self: manifpy._bindings.SO3) float
z(self: manifpy._bindings.SO3) float
Dim = 3
DoF = 3
RepSize = 4
class manifpy.SO3Tangent

Bases: _SO3TangentBase

static Bracket(a: manifpy._bindings._SO3TangentBase, b: manifpy._bindings._SO3TangentBase) manifpy._bindings.SO3Tangent

Compute the Lie bracket [a,b] in vector form..

static Generator(i: int) numpy.ndarray[numpy.float64[3, 3]]

Static helper to get the ith basis element of the Lie Algebra.

static InnerWeights() numpy.ndarray[numpy.float64[3, 3]]

Static helper to get the weight matrix of the Weighted Euclidean inner product, relative to the space basis.

static Random() manifpy._bindings.SO3Tangent

Static helper to create a random object of the Lie group.

static Vee(arg0: numpy.ndarray[numpy.float64[3, 3]]) manifpy._bindings.SO3Tangent

Instantiate a Tangent from a Lie algebra object.

static Zero() manifpy._bindings.SO3Tangent

Static helper to create an object of the Lie group tangent set to zero.

bracket(self: manifpy._bindings.SO3Tangent, other: manifpy._bindings._SO3TangentBase) manifpy._bindings.SO3Tangent

Compute the Lie bracket [this,other] in vector form.

return The Lie bracket [this,other] in vector form.

coeffs(self: manifpy._bindings.SO3Tangent) numpy.ndarray[numpy.float64[3, 1]]

Get a reference to underlying data.

coeffs_copy(self: manifpy._bindings.SO3Tangent) numpy.ndarray[numpy.float64[3, 1]]

Return a copy of underlying data.

exp(self: manifpy._bindings.SO3Tangent, J_out_self: numpy.ndarray[numpy.float64[3, 3], flags.writeable, flags.c_contiguous] | None = None) manifpy._bindings.SO3

Get the corresponding Lie group element.

Eq. (23).

Parameters:

[out] (J_out_self) – Jacobian of the log wrt self.

generator(self: manifpy._bindings.SO3Tangent, i: int) numpy.ndarray[numpy.float64[3, 3]]

Get the ith basis element of the Lie Algebra.

hat(self: manifpy._bindings.SO3Tangent) numpy.ndarray[numpy.float64[3, 3]]

Get the isomorphic element in the Lie algebra.

See Eq. (10).

inner(self: manifpy._bindings.SO3Tangent, other: manifpy._bindings._SO3TangentBase) float

Get inner product of this and another Tangent weighted by W.

ret = self^T x W x other

innerWeights(self: manifpy._bindings.SO3Tangent) numpy.ndarray[numpy.float64[3, 3]]

Get the weight matrix of the Weighted Euclidean inner product, relative to the space basis.

isApprox(*args, **kwargs)

Overloaded function.

  1. isApprox(self: manifpy._bindings.SO3Tangent, other: manifpy._bindings.SO3Tangent, eps: float = 1e-10) -> bool

    Evaluate whether self and other are ‘close’.

    otherLie group tangent

    Another object of the same Lie group tangent.

    epsdouble

    Threshold for equality comparison. Default: 1e-10.

  2. isApprox(self: manifpy._bindings.SO3Tangent, other: numpy.ndarray[numpy.float64[3, 1]], eps: float = 1e-10) -> bool

    Evaluate whether self and other are ‘close’.

    othernumpy.array

    Another object of the same Lie group tangent.

    epsdouble

    Threshold for equality comparison. Default: 1e-10.

ljac(self: manifpy._bindings.SO3Tangent) numpy.ndarray[numpy.float64[3, 3]]

Get the left Jacobian.

This is the left Jacobian of ‘exp’, what is commonly known as “the left Jacobian”.

See Eq. (44) for the left Jacobian of general functions. See Eqs. (126,145,164,179,191) for implementations of the left Jacobian of exp.

lplus(self: manifpy._bindings.SO3Tangent, state: manifpy._bindings.SO3, J_out_self: numpy.ndarray[numpy.float64[3, 3], flags.writeable, flags.c_contiguous] | None = None, J_out_state: numpy.ndarray[numpy.float64[3, 3], flags.writeable, flags.c_contiguous] | None = None) manifpy._bindings.SO3

Left oplus operation of the Lie group.

See Eqs. (27).

Parameters:
  • other (Lie group) – Another object of the same Lie group.

  • [out] (J_out_state) – Jacobian of the oplus operation wrt self.

  • [out] – Jacobian of the oplus operation wrt state.

minus(self: manifpy._bindings.SO3Tangent, other: manifpy._bindings._SO3TangentBase, J_out_self: numpy.ndarray[numpy.float64[3, 3], flags.writeable, flags.c_contiguous] | None = None, J_out_other: numpy.ndarray[numpy.float64[3, 3], flags.writeable, flags.c_contiguous] | None = None) manifpy._bindings.SO3Tangent

Minus operation in the vector space.

Parameters:
  • other (Lie group tangent) – Another object of the same Lie group tangent.

  • [out] (J_out_other) – Jacobian of the oplus operation wrt self.

  • [out] – Jacobian of the oplus operation wrt other.

plus(*args, **kwargs)

Overloaded function.

  1. plus(self: manifpy._bindings.SO3Tangent, state: manifpy._bindings.SO3, J_out_self: Optional[numpy.ndarray[numpy.float64[3, 3], flags.writeable, flags.c_contiguous]] = None, J_out_state: Optional[numpy.ndarray[numpy.float64[3, 3], flags.writeable, flags.c_contiguous]] = None) -> manifpy._bindings.SO3

An alias for the ‘rplus’ function.

  1. plus(self: manifpy._bindings.SO3Tangent, other: manifpy._bindings._SO3TangentBase, J_out_self: Optional[numpy.ndarray[numpy.float64[3, 3], flags.writeable, flags.c_contiguous]] = None, J_out_other: Optional[numpy.ndarray[numpy.float64[3, 3], flags.writeable, flags.c_contiguous]] = None) -> manifpy._bindings.SO3Tangent

    Plus operation in the vector space.

    otherLie group tangent

    Another object of the same Lie group tangent.

    J_out_self [out]numpy.ndarray

    Jacobian of the oplus operation wrt self.

    J_out_other [out]numpy.ndarray

    Jacobian of the oplus operation wrt other.

rjac(self: manifpy._bindings.SO3Tangent) numpy.ndarray[numpy.float64[3, 3]]

Get the right Jacobian.

This is the right Jacobian of ‘exp’, what is commonly known as “the right Jacobian”.

See Eq. (41) for the right Jacobian of general functions. See Eqs. (126,143,163,179,191) for implementations of the right Jacobian of exp.

rplus(self: manifpy._bindings.SO3Tangent, state: manifpy._bindings.SO3, J_out_self: numpy.ndarray[numpy.float64[3, 3], flags.writeable, flags.c_contiguous] | None = None, J_out_state: numpy.ndarray[numpy.float64[3, 3], flags.writeable, flags.c_contiguous] | None = None) manifpy._bindings.SO3

Right oplus operation of the Lie group.

See Eqs. (25).

Parameters:
  • other (Lie group) – Another object of the same Lie group.

  • [out] (J_out_state) – Jacobian of the oplus operation wrt self.

  • [out] – Jacobian of the oplus operation wrt state.

setRandom(self: manifpy._bindings.SO3Tangent) manifpy._bindings.SO3Tangent

Set self to a random value.

setVee(self: manifpy._bindings.SO3Tangent, vee: numpy.ndarray[numpy.float64[3, 3]]) manifpy._bindings.SO3Tangent

Set the Tangent object from an object in the Lie algebra.

setZero(self: manifpy._bindings.SO3Tangent) manifpy._bindings.SO3Tangent

Set self to zero.

smallAdj(self: manifpy._bindings.SO3Tangent) numpy.ndarray[numpy.float64[3, 3]]
squaredWeightedNorm(self: manifpy._bindings.SO3Tangent) float

Get the squared Euclidean weighted norm.

weightedNorm(self: manifpy._bindings.SO3Tangent) float

Get the Euclidean weighted norm.

x(self: manifpy._bindings.SO3Tangent) float
y(self: manifpy._bindings.SO3Tangent) float
z(self: manifpy._bindings.SO3Tangent) float
Dim = 3
DoF = 3
RepSize = 3