manifpy._bindings.R5Tangent class

Static methods

def Generator(i: int) -> numpy.ndarray[numpy.float64[6, 6]]
Static helper to get the ith basis element of the Lie Algebra.
def 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.
def Random() -> R5Tangent
Static helper to create a random object of the Lie group.
def Zero() -> R5Tangent
Static helper to create an object of the Lie group tangent set to zero.

Methods

def coeffs(self, /) -> numpy.ndarray[numpy.float64[5, 1]]
Get a reference to underlying data.
def coeffs_copy(self, /) -> numpy.ndarray[numpy.float64[5, 1]]
Return a copy of underlying data.
def exp(self, J_out_self: typing.Optional[numpy.ndarray[numpy.float64[5, 5], flags.writeable, flags.c_contiguous]] = None) -> R5
Get the corresponding Lie group element.
def generator(self, i: int) -> numpy.ndarray[numpy.float64[6, 6]]
Get the ith basis element of the Lie Algebra.
def hat(self, /) -> numpy.ndarray[numpy.float64[6, 6]]
Get the isomorphic element in the Lie algebra.
def inner(self, other: manifpy._bindings._R5TangentBase) -> float
Get inner product of this and another Tangent weighted by W.
def innerWeights(self, /) -> numpy.ndarray[numpy.float64[5, 5]]
Get the weight matrix of the Weighted Euclidean inner product, relative to the space basis.
def isApprox(self, other: R5Tangent, eps: float = 1e-10) -> bool
Evaluate whether self and other are 'close'.
def isApprox(self, other: numpy.ndarray[numpy.float64[5, 1]], eps: float = 1e-10) -> bool
Evaluate whether self and other are 'close'.
def ljac(self, /) -> numpy.ndarray[numpy.float64[5, 5]]
Get the left Jacobian.
def lplus(self, state: R5, J_out_self: typing.Optional[numpy.ndarray[numpy.float64[5, 5], flags.writeable, flags.c_contiguous]] = None, J_out_state: typing.Optional[numpy.ndarray[numpy.float64[5, 5], flags.writeable, flags.c_contiguous]] = None) -> R5
Left oplus operation of the Lie group.
def minus(self, other: manifpy._bindings._R5TangentBase, J_out_self: typing.Optional[numpy.ndarray[numpy.float64[5, 5], flags.writeable, flags.c_contiguous]] = None, J_out_other: typing.Optional[numpy.ndarray[numpy.float64[5, 5], flags.writeable, flags.c_contiguous]] = None) -> R5Tangent
Minus operation in the vector space.
def plus(self, state: R5, J_out_self: typing.Optional[numpy.ndarray[numpy.float64[5, 5], flags.writeable, flags.c_contiguous]] = None, J_out_state: typing.Optional[numpy.ndarray[numpy.float64[5, 5], flags.writeable, flags.c_contiguous]] = None) -> R5
An alias for the 'rplus' function.
def plus(self, other: manifpy._bindings._R5TangentBase, J_out_self: typing.Optional[numpy.ndarray[numpy.float64[5, 5], flags.writeable, flags.c_contiguous]] = None, J_out_other: typing.Optional[numpy.ndarray[numpy.float64[5, 5], flags.writeable, flags.c_contiguous]] = None) -> R5Tangent
Plus operation in the vector space.
def rjac(self, /) -> numpy.ndarray[numpy.float64[5, 5]]
Get the right Jacobian.
def rplus(self, state: R5, J_out_self: typing.Optional[numpy.ndarray[numpy.float64[5, 5], flags.writeable, flags.c_contiguous]] = None, J_out_state: typing.Optional[numpy.ndarray[numpy.float64[5, 5], flags.writeable, flags.c_contiguous]] = None) -> R5
Right oplus operation of the Lie group.
def setRandom(self, /) -> R5Tangent
Set self to a random value.
def setZero(self, /) -> R5Tangent
Set self to zero.
def smallAdj(self, /) -> numpy.ndarray[numpy.float64[5, 5]]
def squaredWeightedNorm(self, /) -> float
Get the squared Euclidean weighted norm.
def weightedNorm(self, /) -> float
Get the Euclidean weighted norm.

Special methods

def __add__(self, arg0: R5, /) -> R5
Operator overload for the 'plus' function.
def __add__(self, arg0: R5Tangent, /) -> R5Tangent
Operator overload for the 'plus' function.
def __eq__(self, arg0: R5Tangent, /) -> bool
Operator overload for the 'isApprox' function.
def __init__(self, /) -> None
Default constructor, uninitialized data.
def __init__(self, arg0: numpy.ndarray[numpy.float64[5, 1]], /) -> None
Constructor given data vector.
def __mul__(self, arg0: float, /) -> R5Tangent
Multiply the vector by a scalar.
def __neg__(self, /) -> R5Tangent
def __rmatmul__(self, arg0: numpy.ndarray[numpy.float64], /) -> R5Tangent
def __rmul__(self, arg0: float, /) -> R5Tangent
Multiply the vector by a scalar.
def __rmul__(self, arg0: numpy.ndarray[numpy.float64], /) -> R5Tangent
def __str__(self, /) -> str
def __sub__(self, arg0: R5Tangent, /) -> R5Tangent
Operator overload for the 'minus' function.
def __truediv__(self, arg0: float, /) -> R5Tangent
Divide the vector by a scalar.

Data

Dim = 5
DoF = 5
RepSize = 5

Method documentation

def manifpy._bindings.R5Tangent.exp(self, J_out_self: typing.Optional[numpy.ndarray[numpy.float64[5, 5], flags.writeable, flags.c_contiguous]] = None) -> R5

Get the corresponding Lie group element.

Eq. (23).

Parameters ---------- J_out_self [out] : numpy.ndarray Jacobian of the log wrt self.

def manifpy._bindings.R5Tangent.hat(self, /) -> numpy.ndarray[numpy.float64[6, 6]]

Get the isomorphic element in the Lie algebra.

See Eq. (10).

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

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

ret = self^T x W x other

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

Evaluate whether self and other are 'close'.

Parameters ---------- other : Lie group tangent Another object of the same Lie group tangent. eps : double Threshold for equality comparison. Default: 1e-10.

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

Evaluate whether self and other are 'close'.

Parameters ---------- other : numpy.array Another object of the same Lie group tangent. eps : double Threshold for equality comparison. Default: 1e-10.

def manifpy._bindings.R5Tangent.ljac(self, /) -> 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.

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

Left oplus operation of the Lie group.

See Eqs. (27).

Parameters ---------- other : Lie group Another object of the same Lie group. J_out_self [out] : numpy.ndarray Jacobian of the oplus operation wrt self. J_out_state [out] : numpy.ndarray Jacobian of the oplus operation wrt state.

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

Minus operation in the vector space.

Parameters ---------- other : Lie 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.

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

Plus operation in the vector space.

Parameters ---------- other : Lie 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.

def manifpy._bindings.R5Tangent.rjac(self, /) -> 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.

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

Right oplus operation of the Lie group.

See Eqs. (25).

Parameters ---------- other : Lie group Another object of the same Lie group. J_out_self [out] : numpy.ndarray Jacobian of the oplus operation wrt self. J_out_state [out] : numpy.ndarray Jacobian of the oplus operation wrt state.