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

The likelihoods that sample-based filters weight by (decisions.md [likelihood-measurements], [execution-policies]): logLikelihoods() of a measurement at the columns of a matrix of states, under an execution policy, and logLikelihood() at one. More...

#include <array>
#include <concepts>
#include <cstddef>
#include <expected>
#include <optional>
#include <span>
#include <tuple>
#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/Macros.h>
#include <EmrysFilter/Core/Multiply.h>
#include <EmrysFilter/Core/Solve.h>
#include <EmrysFilter/Core/Weights.h>
#include <EmrysFilter/Distributions/Gaussian.h>
#include <EmrysFilter/Distributions/Mixture.h>
#include <EmrysFilter/Distributions/Product.h>
#include <EmrysFilter/Models/MeasurementModel.h>
#include <EmrysFilter/Models/MeasurementReads.h>
#include <EmrysFilter/Models/Transform.h>
#include <EmrysFilter/Spaces/Composite.h>
#include <EmrysFilter/Spaces/Coordinates.h>
#include <EmrysFilter/Spaces/Indexing.h>
#include <EmrysFilter/Spaces/Space.h>
#include <EmrysFilter/Spaces/Subspace.h>
#include <EmrysFilter/Spaces/TagPath.h>

Go to the source code of this file.

Functions

template<internal::WeighsPoints M, typename Space, typename Derived>
Eigen::Array< typename Derived::Scalar, Eigen::Dynamic, 1 > Emrys::logLikelihoods (M const &measurement, Space const &space, Eigen::MatrixBase< Derived > const &states)
template<ExecutionPolicy P, internal::WeighsPoints M, typename Space, typename Derived>
Eigen::Array< typename Derived::Scalar, Eigen::Dynamic, 1 > Emrys::logLikelihoods (P &&policy, M const &measurement, Space const &space, Eigen::MatrixBase< Derived > const &states)
 logLikelihoods() under policy, a for-each over the columns (see Execution policies).
template<internal::WeighsPoints M, typename Space, typename Derived>
Derived::Scalar Emrys::logLikelihood (M const &measurement, Space const &space, Eigen::MatrixBase< Derived > const &x)
template<FixedSizeSpace S, internal::WeighsPoints M, typename Derived>
requires Space<S>
Eigen::Array< typename Derived::Scalar, Eigen::Dynamic, 1 > Emrys::logLikelihoods (M const &measurement, Eigen::MatrixBase< Derived > const &states)
 logLikelihoods() in the fixed-size state space S, given as a template argument: logLikelihoods<State>(measurement, states).
template<FixedSizeSpace S, ExecutionPolicy P, internal::WeighsPoints M, typename Derived>
requires Space<S>
Eigen::Array< typename Derived::Scalar, Eigen::Dynamic, 1 > Emrys::logLikelihoods (P &&policy, M const &measurement, Eigen::MatrixBase< Derived > const &states)
 logLikelihoods() under policy in the fixed-size state space S, given as a template argument: logLikelihoods<State>(policy, measurement, states).
template<FixedSizeSpace S, internal::WeighsPoints M, typename Derived>
requires Space<S>
Derived::Scalar Emrys::logLikelihood (M const &measurement, Eigen::MatrixBase< Derived > const &x)
 logLikelihood() in the fixed-size state space S, given as a template argument: logLikelihood<State>(measurement, x).

Detailed Description

The likelihoods that sample-based filters weight by (decisions.md [likelihood-measurements], [execution-policies]): logLikelihoods() of a measurement at the columns of a matrix of states, under an execution policy, and logLikelihood() at one.

It needs none of the update, which Measurement.h holds. Read SwitchingModel.h next.