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

The particle set: ParticleSet, the weighted samples, with resampling, upkeep of weights and particles, insert() and erase() on a resizable block, and a kernel bandwidth; its marginal view ParticleSetMarginal; and Silverman's bandwidth. More...

#include <concepts>
#include <cstddef>
#include <expected>
#include <functional>
#include <optional>
#include <random>
#include <span>
#include <type_traits>
#include <utility>
#include <variant>
#include <vector>
#include <Eigen/Cholesky>
#include <EmrysFilter/Core/Allocation.h>
#include <EmrysFilter/Core/Execution.h>
#include <EmrysFilter/Core/Forwarding.h>
#include <EmrysFilter/Core/Macros.h>
#include <EmrysFilter/Core/Math.h>
#include <EmrysFilter/Core/Multiply.h>
#include <EmrysFilter/Core/Print.h>
#include <EmrysFilter/Core/Resampling.h>
#include <EmrysFilter/Core/Solve.h>
#include <EmrysFilter/Core/Stamp.h>
#include <EmrysFilter/Core/Weights.h>
#include <EmrysFilter/Distributions/Gaussian.h>
#include <EmrysFilter/Distributions/Moments.h>
#include <EmrysFilter/Distributions/SampleSet.h>
#include <EmrysFilter/Distributions/Statistics.h>
#include <EmrysFilter/Spaces/Composite.h>
#include <EmrysFilter/Spaces/Indexing.h>
#include <EmrysFilter/Spaces/Space.h>
#include <EmrysFilter/Spaces/Subspace.h>
#include <EmrysFilter/Distributions/KernelDensity.h>

Go to the source code of this file.

Classes

class  Emrys::ParticleSet< Space_, Scalar_, Allocator_ >
 A set of weighted samples: the empirical distribution. More...
class  Emrys::ParticleSet< Space_, Scalar_, Allocator_ >::MutableParticle
 Writable access to one particle during forEach(). More...
class  Emrys::ParticleSetMarginal< Source, Selection, SubSpace >
 Read-only view of a subset of the state entries of a ParticleSet. More...
struct  Emrys::ParticleSetMarginal< Source, Selection, SubSpace >::Element
 One particle's log-weight, as in the source, and the selected entries of its state. More...

Functions

template<typename Scalar, typename Space, typename Allocator>
std::expected< typename ParticleSet< Space, Scalar, Allocator >::MatrixType, WeightError > Emrys::silvermanBandwidth (ParticleSet< Space, Scalar, Allocator > const &particles)
template<ExecutionPolicy P, typename Scalar, typename Space, typename Allocator>
std::expected< typename ParticleSet< Space, Scalar, Allocator >::MatrixType, WeightError > Emrys::silvermanBandwidth (P &&policy, ParticleSet< Space, Scalar, Allocator > const &particles)
 silvermanBandwidth() under policy: the total weight, effective sample size, and covariance are reductions over the particles (see Execution policies).

Detailed Description

The particle set: ParticleSet, the weighted samples, with resampling, upkeep of weights and particles, insert() and erase() on a resizable block, and a kernel bandwidth; its marginal view ParticleSetMarginal; and Silverman's bandwidth.

KernelDensity.h completes toDensity() and is included at the end. The particle filter's state [upkeep]. Read KernelDensity.h next.