Struct bayes_estimate::models::InformationState[][src]

pub struct InformationState<N: SimdRealField, D: Dim> where
    DefaultAllocator: Allocator<N, D, D> + Allocator<N, D>, 
{ pub i: VectorN<N, D>, pub I: MatrixN<N, D>, }

Information state.

Linear representation as a information state vector and the information (symmetric positive semi-definite) matrix. For a given KalmanState the information state I == inverse(X), i == I.x

Fields

i: VectorN<N, D>

Information state vector

I: MatrixN<N, D>

Information matrix (symmetric positive semi-definite)

Implementations

impl<N: RealField, D: Dim> InformationState<N, D> where
    DefaultAllocator: Allocator<N, D, D> + Allocator<N, D>, 
[src]

pub fn new_zero(d: D) -> InformationState<N, D>[src]

impl<N: RealField, D: Dim> InformationState<N, D> where
    DefaultAllocator: Allocator<N, D, D> + Allocator<N, D>, 
[src]

pub fn predict_linear<QD: Dim>(
    &mut self,
    pred_inv: MatrixN<N, D>,
    noise: &CoupledNoise<N, D, QD>
) -> Result<N, &'static str> where
    DefaultAllocator: Allocator<N, QD, QD> + Allocator<N, D, QD> + Allocator<N, QD, D> + Allocator<N, QD>, 
[src]

Linear information predict.

Computation is through information state i,I only. Uses Fx.x instead of extended f(x)

The numerical solution used is particularly flexible. It takes particular care to avoid invertibility requirements for the noise and noise coupling g,Q Therefore both zero noises and zeros in the couplings can be used.

pub fn add_information(&mut self, information: &InformationState<N, D>)[src]

pub fn observe_info<ZD: Dim>(
    &self,
    hx: &MatrixMN<N, ZD, D>,
    noise_inv: &MatrixN<N, ZD>,
    z: &VectorN<N, ZD>
) -> InformationState<N, D> where
    DefaultAllocator: Allocator<N, ZD, ZD> + Allocator<N, ZD, D> + Allocator<N, D, ZD> + Allocator<N, ZD>, 
[src]

Trait Implementations

impl<N: Clone + SimdRealField, D: Clone + Dim> Clone for InformationState<N, D> where
    DefaultAllocator: Allocator<N, D, D> + Allocator<N, D>, 
[src]

impl<N: RealField, D: Dim> Estimator<N, D> for InformationState<N, D> where
    DefaultAllocator: Allocator<N, D, D> + Allocator<N, D>, 
[src]

impl<N: RealField, D: Dim, ZD: Dim> ExtendedLinearObserver<N, D, ZD> for InformationState<N, D> where
    DefaultAllocator: Allocator<N, D, D> + Allocator<N, D, ZD> + Allocator<N, ZD, D> + Allocator<N, ZD, ZD> + Allocator<N, D> + Allocator<N, ZD>, 
[src]

impl<N: RealField, D: Dim> ExtendedLinearPredictor<N, D> for InformationState<N, D> where
    DefaultAllocator: Allocator<N, D, D> + Allocator<N, D>, 
[src]

impl<N: RealField, D: Dim> KalmanEstimator<N, D> for InformationState<N, D> where
    DefaultAllocator: Allocator<N, D, D> + Allocator<N, D>, 
[src]

impl<N: PartialEq + SimdRealField, D: PartialEq + Dim> PartialEq<InformationState<N, D>> for InformationState<N, D> where
    DefaultAllocator: Allocator<N, D, D> + Allocator<N, D>, 
[src]

impl<N: SimdRealField, D: Dim> StructuralPartialEq for InformationState<N, D> where
    DefaultAllocator: Allocator<N, D, D> + Allocator<N, D>, 
[src]

Auto Trait Implementations

impl<N, D> !RefUnwindSafe for InformationState<N, D>

impl<N, D> !Send for InformationState<N, D>

impl<N, D> !Sync for InformationState<N, D>

impl<N, D> !Unpin for InformationState<N, D>

impl<N, D> !UnwindSafe for InformationState<N, D>

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Same<T> for T

type Output = T

Should always be Self

impl<SS, SP> SupersetOf<SS> for SP where
    SS: SubsetOf<SP>, 

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<V, T> VZip<V> for T where
    V: MultiLane<T>,