[][src]Trait rtsam::core::group::LieGroup

pub trait LieGroup<N>: Debug + Sized + Copy where
    Self: Mul<Self, Output = Self>,
    Self: for<'a> Mul<&'a Self, Output = Self>,
    &'a Self: Mul<Self, Output = Self>,
    &'a Self: Mul<&'b Self, Output = Self>,
    Self: AbstractSemigroup<Multiplicative>,
    N: Scalar + Zero + One,
    Self: Manifold
{ type D: DimName; fn between(&self, g: &Self) -> Self;
fn adjoint_map(&self) -> MatrixN<N, Self::D>
    where
        DefaultAllocator: Allocator<N, Self::D, Self::D>
;
fn logmap(
        R: &Self,
        H: Option<&mut MatrixN<N, Self::D>>
    ) -> VectorN<N, Self::D>
    where
        DefaultAllocator: Allocator<N, Self::D> + Allocator<N, Self::D, Self::D>
;
fn expmap(omega: &VectorN<N, Self::D>) -> Self
    where
        DefaultAllocator: Allocator<N, Self::D>
;
fn expmap_with_derivative(
        omega: &VectorN<N, Self::D>,
        H: Option<&mut MatrixN<N, Self::D>>
    ) -> Self
    where
        DefaultAllocator: Allocator<N, Self::D> + Allocator<N, Self::D, Self::D>
; fn compose(&self, g: &Self) -> Self { ... } }

Associated Types

type D: DimName

Loading content...

Required methods

fn between(&self, g: &Self) -> Self

fn adjoint_map(&self) -> MatrixN<N, Self::D> where
    DefaultAllocator: Allocator<N, Self::D, Self::D>, 

fn logmap(R: &Self, H: Option<&mut MatrixN<N, Self::D>>) -> VectorN<N, Self::D> where
    DefaultAllocator: Allocator<N, Self::D> + Allocator<N, Self::D, Self::D>, 

fn expmap(omega: &VectorN<N, Self::D>) -> Self where
    DefaultAllocator: Allocator<N, Self::D>, 

fn expmap_with_derivative(
    omega: &VectorN<N, Self::D>,
    H: Option<&mut MatrixN<N, Self::D>>
) -> Self where
    DefaultAllocator: Allocator<N, Self::D> + Allocator<N, Self::D, Self::D>, 

Loading content...

Provided methods

fn compose(&self, g: &Self) -> Self

Loading content...

Implementors

impl LieGroup<f64> for SE3<f64>[src]

type D = U6

fn expmap_with_derivative(
    xi: &Vector6<f64>,
    optionalH: Option<&mut Matrix6<f64>>
) -> Self
[src]

Modified from Murray94book version (which assumes w and v normalized?)

fn compose(&self, g: &Self) -> Self[src]

impl LieGroup<f64> for SO3<f64>[src]

type D = U3

fn compose(&self, g: &Self) -> Self[src]

Loading content...