manifpy._bindings.SO2 class

The SO2 class

Static methods

def Identity() -> SO2
Static helper to create an object set at the Lie group Identity.
def Random() -> SO2
Static helper to create a random object of the Lie group.

Methods

def act(self, p: numpy.ndarray[numpy.float64[2, 1]], J_out_self: typing.Optional[numpy.ndarray[numpy.float64[2, 1], flags.writeable]] = None, J_out_p: typing.Optional[numpy.ndarray[numpy.float64[2, 2], flags.writeable, flags.c_contiguous]] = None) -> numpy.ndarray[numpy.float64[2, 1]]
Get the action of the Lie group object on a point.
def adj(self, /) -> numpy.ndarray[numpy.float64[1, 1]]
Return the Adjoint of the Lie group object self.
def angle(self, /) -> float
def between(self, other: manifpy._bindings._SO2Base, 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) -> SO2
Return the between of self and another object of the same Lie group.
def coeffs(self, /) -> numpy.ndarray[numpy.float64[2, 1]]
Get a reference to underlying data.
def coeffs_copy(self, /) -> numpy.ndarray[numpy.float64[2, 1]]
Return a copy of underlying data.
def compose(self, other: manifpy._bindings._SO2Base, 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) -> SO2
Return the composition of self and another object of the same Lie group.
def imag(self, /) -> float
def inverse(self, J_out_self: typing.Optional[numpy.ndarray[numpy.float64[1, 1], flags.writeable]] = None) -> SO2
Return the inverse of the Lie group object.
def isApprox(self, other: manifpy._bindings._SO2Base, eps: float = 1e-10) -> bool
Evaluate whether self and other are 'close'.
def lminus(self, other: manifpy._bindings._SO2Base, 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
Left ominus operation of the Lie group.
def log(self, J_out_self: typing.Optional[numpy.ndarray[numpy.float64[1, 1], flags.writeable]] = None) -> SO2Tangent
Return the corresponding Lie algebra element in vector form.
def lplus(self, tau: manifpy._bindings._SO2TangentBase, J_out_self: typing.Optional[numpy.ndarray[numpy.float64[1, 1], flags.writeable]] = None, J_mout_tau: 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._SO2Base, 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
An alias for the 'rminus' function.
def normalize(self, /) -> None
def plus(self, tau: manifpy._bindings._SO2TangentBase, J_out_self: typing.Optional[numpy.ndarray[numpy.float64[1, 1], flags.writeable]] = None, J_mout_tau: typing.Optional[numpy.ndarray[numpy.float64[1, 1], flags.writeable]] = None) -> SO2
An alias for the 'rplus' function.
def real(self, /) -> float
def rminus(self, other: manifpy._bindings._SO2Base, 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
Right ominus operation of the Lie group.
def rotation(self, /) -> numpy.ndarray[numpy.float64[2, 2]]
Get the rotation matrix
def rplus(self, tau: manifpy._bindings._SO2TangentBase, J_out_self: typing.Optional[numpy.ndarray[numpy.float64[1, 1], flags.writeable]] = None, J_out_tau: typing.Optional[numpy.ndarray[numpy.float64[1, 1], flags.writeable]] = None) -> SO2
Right oplus operation of the Lie group.
def setIdentity(self, /) -> SO2
Set self to the Lie group Identity.
def setRandom(self, /) -> SO2
Set self to a random value.
def transform(self, /) -> numpy.ndarray[numpy.float64[3, 3]]
Get the transformation matrix

Special methods

def __add__(self, arg0: SO2Tangent, /) -> SO2
Operator overload for the 'plus' function.
def __eq__(self, arg0: SO2, /) -> bool
Operator overload for the 'isApprox' function.
def __init__(self, /) -> None
Default constructor, uninitialized data.
def __init__(self, arg0: numpy.ndarray[numpy.float64[2, 1]], /) -> None
Constructor given data vector.
def __init__(self, arg0: float, /) -> None
def __init__(self, arg0: float, arg1: float, /) -> None
def __mul__(self, arg0: SO2, /) -> SO2
Operator overload for the 'compose' function.
def __str__(self, /) -> str
def __sub__(self, arg0: SO2, /) -> SO2Tangent
Operator overload for the 'minus' function.

Data

Dim = 2
DoF = 1
RepSize = 2

Method documentation

def manifpy._bindings.SO2.act(self, p: numpy.ndarray[numpy.float64[2, 1]], J_out_self: typing.Optional[numpy.ndarray[numpy.float64[2, 1], flags.writeable]] = None, J_out_p: typing.Optional[numpy.ndarray[numpy.float64[2, 2], flags.writeable, flags.c_contiguous]] = None) -> numpy.ndarray[numpy.float64[2, 1]]

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

Parameters ---------- p : numpy.array A point. J_out_self [out] : numpy.ndarray Jacobian of the new object wrt self. J_out_p [out] : numpy.ndarray Jacobian of the new object wrt input point.

def manifpy._bindings.SO2.adj(self, /) -> numpy.ndarray[numpy.float64[1, 1]]

Return the Adjoint of the Lie group object self.

See Eq. (29).

def manifpy._bindings.SO2.between(self, other: manifpy._bindings._SO2Base, 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) -> 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. J_out_self [out] : numpy.ndarray Jacobian of the composition wrt self. J_out_other [out] : numpy.ndarray Jacobian of the composition wrt other.

def manifpy._bindings.SO2.compose(self, other: manifpy._bindings._SO2Base, 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) -> 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. J_out_self [out] : numpy.ndarray Jacobian of the composition wrt self. J_out_other [out] : numpy.ndarray Jacobian of the composition wrt other.

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

Return the inverse of the Lie group object.

See Eq. (3).

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

def manifpy._bindings.SO2.isApprox(self, 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.

def manifpy._bindings.SO2.lminus(self, other: manifpy._bindings._SO2Base, 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

Left ominus operation of the Lie group.

See Eq. (28).

Parameters ---------- other : Lie group Another element of the same Lie group. J_out_self [out] : numpy.ndarray Jacobian of the ominus operation wrt self. J_out_other [out] : numpy.ndarray Jacobian of the ominus operation wrt other.

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

Return the corresponding Lie algebra element in vector form.

Eq. (24).

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

def manifpy._bindings.SO2.lplus(self, tau: manifpy._bindings._SO2TangentBase, J_out_self: typing.Optional[numpy.ndarray[numpy.float64[1, 1], flags.writeable]] = None, J_mout_tau: typing.Optional[numpy.ndarray[numpy.float64[1, 1], flags.writeable]] = None) -> 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. J_out_self [out] : numpy.ndarray Jacobian of the oplus operation wrt self. J_out_tau [out] : numpy.ndarray Jacobian of the oplus operation wrt tau.

def manifpy._bindings.SO2.rminus(self, other: manifpy._bindings._SO2Base, 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

Right ominus operation of the Lie group.

See Eq. (26).

Parameters ---------- other : Lie group Another element of the same Lie group. J_out_self [out] : numpy.ndarray Jacobian of the ominus operation wrt self. J_out_other [out] : numpy.ndarray Jacobian of the ominus operation wrt other.

def manifpy._bindings.SO2.rplus(self, tau: manifpy._bindings._SO2TangentBase, J_out_self: typing.Optional[numpy.ndarray[numpy.float64[1, 1], flags.writeable]] = None, J_out_tau: typing.Optional[numpy.ndarray[numpy.float64[1, 1], flags.writeable]] = None) -> 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. J_out_self [out] : numpy.ndarray Jacobian of the oplus operation wrt self. J_out_tau [out] : numpy.ndarray Jacobian of the oplus operation wrt tau.