EmrysFilter 0.1.0
State estimation utilities in C++23 using Eigen
Loading...
Searching...
No Matches
ParticleGaussian.h File Reference

The state of a Rao-Blackwellized particle filter (decisions.md [rb-particle-filter]): ParticleGaussianParams, weighted particles for one block with a Gaussian or a hybrid of Gaussians over the rest each, built by particleGaussian() or drawn from a joint Gaussian by drawParticleGaussian(), and its density ParticleGaussian, which gives the collapse. More...

Go to the source code of this file.

Classes

class  Emrys::ParticleGaussianParams< Space_, Path_, Covariance_, Scalar_, Allocator_, Component_ >
 The parameters of a Rao-Blackwellized particle filter's state: weighted particles for one block of the state, each carrying a Gaussian, or a hybrid of Gaussians, over the rest. More...
class  Emrys::ParticleGaussian< Space_, Path_, Covariance_, Scalar_, Allocator_, Component_ >
 The density of a Rao-Blackwellized particle filter's state, a checked view of its ParticleGaussianParams (decisions.md [params-and-density], [view-stamp]): \( p(x) = \sum_i w_i \, \delta(x_p - p_i) \, \mathcal{N}(x_r; \mu_i, \Sigma_i) \), or with a hybrid per particle, a mixture over its modes in place of each Gaussian. More...

Functions

template<typename P, Space S, typename Scalar, typename Allocator, typename Covariance = SharedCovariance>
auto Emrys::particleGaussian (S space, ParticleSet< typename internal::BlockSplit< S, P >::PinnedSpace, Scalar, Allocator > particles, GaussianParams< typename internal::BlockSplit< S, P >::RestSpace, Scalar > const &conditional, Covariance covariance={})
template<typename P, Space S, typename Scalar, typename Allocator, typename Component, typename ModeSpace, typename HybridAllocator>
auto Emrys::particleGaussian (S space, ParticleSet< typename internal::BlockSplit< S, P >::PinnedSpace, Scalar, Allocator > particles, HybridParams< Component, ModeSpace, HybridAllocator > const &conditional)
template<typename P, typename Covariance = SharedCovariance, typename S, typename Scalar, std::uniform_random_bit_generator G, typename Allocator = DefaultAllocator>
auto Emrys::drawParticleGaussian (GaussianParams< S, Scalar > const &joint, Eigen::Index count, G &rng, Covariance={}, Allocator const &allocator={})

Detailed Description

The state of a Rao-Blackwellized particle filter (decisions.md [rb-particle-filter]): ParticleGaussianParams, weighted particles for one block with a Gaussian or a hybrid of Gaussians over the rest each, built by particleGaussian() or drawn from a joint Gaussian by drawParticleGaussian(), and its density ParticleGaussian, which gives the collapse.

Read Models next; the design review is docs/guide/rao-blackwellized-filters.md.