manifpy._bindings.SO2Tangent class

Static methods

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

Methods

def angle(self, /) -> float
def coeffs(self, /) -> numpy.ndarray[numpy.float64[1, 1]]
Get a reference to underlying data.
def coeffs_copy(self, /) -> numpy.ndarray[numpy.float64[1, 1]]
Return a copy of underlying data.
def exp(self, J_out_self: typing.Optional[numpy.ndarray[numpy.float64[1, 1], flags.writeable]] = None) -> SO2
Get the corresponding Lie group element.
def generator(self, i: int) -> numpy.ndarray[numpy.float64[2, 2]]
Get the ith basis element of the Lie Algebra.
def hat(self, /) -> numpy.ndarray[numpy.float64[2, 2]]
Get the isomorphic element in the Lie algebra.
def inner(self, other: manifpy._bindings._SO2TangentBase) -> float
Get inner product of this and another Tangent weighted by W.
def innerWeights(self, /) -> numpy.ndarray[numpy.float64[1, 1]]
Get the weight matrix of the Weighted Euclidean inner product, relative to the space basis.
def isApprox(self, other: SO2Tangent, eps: float = 1e-10) -> bool
Evaluate whether self and other are 'close'.
def isApprox(self, other: numpy.ndarray[numpy.float64[1, 1]], eps: float = 1e-10) -> bool
Evaluate whether self and other are 'close'.
def ljac(self, /) -> numpy.ndarray[numpy.float64[1, 1]]
Get the left Jacobian.
def lplus(self, state: SO2, J_out_self: typing.Optional[numpy.ndarray[numpy.float64[1, 1], flags.writeable]] = None, J_out_state: typing.Optional[numpy.ndarray[numpy.float64[1, 1], flags.writeable]] = None) -> SO2
Left oplus operation of the Lie group.
def minus(self, other: manifpy._bindings._SO2TangentBase, J_out_self: typing.Optional[numpy.ndarray[numpy.float64[1, 1], flags.writeable]] = None, J_out_other: typing.Optional[numpy.ndarray[numpy.float64[1, 1], flags.writeable]] = None) -> SO2Tangent
Minus operation in the vector space.
def plus(self, state: SO2, J_out_self: typing.Optional[numpy.ndarray[numpy.float64[1, 1], flags.writeable]] = None, J_out_state: typing.Optional[numpy.ndarray[numpy.float64[1, 1], flags.writeable]] = None) -> SO2
An alias for the 'rplus' function.
def plus(self, other: manifpy._bindings._SO2TangentBase, J_out_self: typing.Optional[numpy.ndarray[numpy.float64[1, 1], flags.writeable]] = None, J_out_other: typing.Optional[numpy.ndarray[numpy.float64[1, 1], flags.writeable]] = None) -> SO2Tangent
Plus operation in the vector space.
def rjac(self, /) -> numpy.ndarray[numpy.float64[1, 1]]
Get the right Jacobian.
def rplus(self, state: SO2, J_out_self: typing.Optional[numpy.ndarray[numpy.float64[1, 1], flags.writeable]] = None, J_out_state: typing.Optional[numpy.ndarray[numpy.float64[1, 1], flags.writeable]] = None) -> SO2
Right oplus operation of the Lie group.
def setRandom(self, /) -> SO2Tangent
Set self to a random value.
def setZero(self, /) -> SO2Tangent
Set self to zero.
def smallAdj(self, /) -> numpy.ndarray[numpy.float64[1, 1]]
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: SO2, /) -> SO2
Operator overload for the 'plus' function.
def __add__(self, arg0: SO2Tangent, /) -> SO2Tangent
Operator overload for the 'plus' function.
def __eq__(self, arg0: SO2Tangent, /) -> bool
Operator overload for the 'isApprox' function.
def __init__(self, /) -> None
Default constructor, uninitialized data.
def __init__(self, arg0: numpy.ndarray[numpy.float64[1, 1]], /) -> None
Constructor given data vector.
def __init__(self, arg0: float, /) -> None
def __mul__(self, arg0: float, /) -> SO2Tangent
Multiply the vector by a scalar.
def __neg__(self, /) -> SO2Tangent
def __rmatmul__(self, arg0: numpy.ndarray[numpy.float64], /) -> SO2Tangent
def __rmul__(self, arg0: float, /) -> SO2Tangent
Multiply the vector by a scalar.
def __rmul__(self, arg0: numpy.ndarray[numpy.float64], /) -> SO2Tangent
def __str__(self, /) -> str
def __sub__(self, arg0: SO2Tangent, /) -> SO2Tangent
Operator overload for the 'minus' function.
def __truediv__(self, arg0: float, /) -> SO2Tangent
Divide the vector by a scalar.

Data

Dim = 2
DoF = 1
RepSize = 1

Method documentation

def manifpy._bindings.SO2Tangent.exp(self, J_out_self: typing.Optional[numpy.ndarray[numpy.float64[1, 1], flags.writeable]] = None) -> SO2

Get the corresponding Lie group element.

Eq. (23).

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

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

Get the isomorphic element in the Lie algebra.

See Eq. (10).

def manifpy._bindings.SO2Tangent.inner(self, other: manifpy._bindings._SO2TangentBase) -> float

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

ret = self^T x W x other

def manifpy._bindings.SO2Tangent.isApprox(self, other: SO2Tangent, 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.SO2Tangent.isApprox(self, other: numpy.ndarray[numpy.float64[1, 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.SO2Tangent.ljac(self, /) -> 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.

def manifpy._bindings.SO2Tangent.lplus(self, state: SO2, J_out_self: typing.Optional[numpy.ndarray[numpy.float64[1, 1], flags.writeable]] = None, J_out_state: typing.Optional[numpy.ndarray[numpy.float64[1, 1], flags.writeable]] = None) -> SO2

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.SO2Tangent.minus(self, other: manifpy._bindings._SO2TangentBase, J_out_self: typing.Optional[numpy.ndarray[numpy.float64[1, 1], flags.writeable]] = None, J_out_other: typing.Optional[numpy.ndarray[numpy.float64[1, 1], flags.writeable]] = None) -> SO2Tangent

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.SO2Tangent.plus(self, other: manifpy._bindings._SO2TangentBase, J_out_self: typing.Optional[numpy.ndarray[numpy.float64[1, 1], flags.writeable]] = None, J_out_other: typing.Optional[numpy.ndarray[numpy.float64[1, 1], flags.writeable]] = None) -> SO2Tangent

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.SO2Tangent.rjac(self, /) -> 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.

def manifpy._bindings.SO2Tangent.rplus(self, state: SO2, J_out_self: typing.Optional[numpy.ndarray[numpy.float64[1, 1], flags.writeable]] = None, J_out_state: typing.Optional[numpy.ndarray[numpy.float64[1, 1], flags.writeable]] = None) -> SO2

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.