The density of a hybrid state, a checked view of its HybridParams (decisions.md [params-and-density], [view-stamp]): \( p(x, m) = P(m) \, p_m(x) \), with \( P(m) = w_m / \sum_n w_n \).
More...
#include <EmrysFilter/Distributions/Hybrid.h>
template<internal::ComponentOrInfoForm Component_, DiscreteSpace ModeSpace_, typename Allocator_>
class Emrys::Hybrid< Component_, ModeSpace_, Allocator_ >
The density of a hybrid state, a checked view of its HybridParams (decisions.md [params-and-density], [view-stamp]): \( p(x, m) = P(m) \, p_m(x) \), with \( P(m) = w_m / \sum_n w_n \).
HybridParams::toDensity() makes one after checking the mode weights and factorizing every component, so the log-density, the moments, and the collapses below read components that are distributions. A hybrid is a component (see Component) by this name, as a Gaussian is by Gaussian: MixtureParams<HybridGaussian<State, Mode>> stores HybridGaussianParams.
auto const density = x.toDensity();
Scalar density(Eigen::MatrixBase< Derived > const &x) const
Definition Hybrid.h:623
- Template Parameters
-
- See also
- class HybridParams, HybridGaussian
◆ collapse()
template<internal::ComponentOrInfoForm Component_, DiscreteSpace ModeSpace_, typename Allocator_>
template<typename P>
| auto Emrys::Hybrid< Component_, ModeSpace_, Allocator_ >::collapse |
( |
| ) |
const |
|
inlinenodiscard |
- Returns
- the hybrid state over the mode axis named by the path P (a tag or a TagPath) alone, as parameters: its marginal weights, and for each of its values, the components of the modes with that value moment-matched into one. This is collapse grouped by mode. It has the parameters' allocator.
◆ collapsed()
template<internal::ComponentOrInfoForm Component_, DiscreteSpace ModeSpace_, typename Allocator_>
- Returns
- the state as one component, moment-matched over the modes (see ComponentTraits)
◆ conditional()
template<internal::ComponentOrInfoForm Component_, DiscreteSpace ModeSpace_, typename Allocator_>
- Returns
- the component given the mode with flat index mode, factorized
◆ density()
template<internal::ComponentOrInfoForm Component_, DiscreteSpace ModeSpace_, typename Allocator_>
template<typename Derived>
| Scalar Emrys::Hybrid< Component_, ModeSpace_, Allocator_ >::density |
( |
Eigen::MatrixBase< Derived > const & | x | ) |
const |
|
inlinenodiscard |
◆ differenceDimension()
template<internal::ComponentOrInfoForm Component_, DiscreteSpace ModeSpace_, typename Allocator_>
| Eigen::Index Emrys::Hybrid< Component_, ModeSpace_, Allocator_ >::differenceDimension |
( |
| ) |
const |
|
inlinenodiscard |
- Returns
- the number of rows and columns of every component's covariance (see Spaces)
◆ get_allocator()
template<internal::ComponentOrInfoForm Component_, DiscreteSpace ModeSpace_, typename Allocator_>
- Returns
- the parameters' allocator
◆ logDensity()
template<internal::ComponentOrInfoForm Component_, DiscreteSpace ModeSpace_, typename Allocator_>
template<typename Derived>
| Scalar Emrys::Hybrid< Component_, ModeSpace_, Allocator_ >::logDensity |
( |
Eigen::MatrixBase< Derived > const & | x | ) |
const |
|
inlinenodiscard |
- Returns
- the log of the density at x, \( \log \sum_m P(m) \, p_m(x) \), over the modes: read from the components' factorizations under this view's check (see ComponentTraits)
◆ modes()
template<internal::ComponentOrInfoForm Component_, DiscreteSpace ModeSpace_, typename Allocator_>
- Returns
- the weights of the modes, which define a distribution
◆ modeSpace()
template<internal::ComponentOrInfoForm Component_, DiscreteSpace ModeSpace_, typename Allocator_>
| ModeSpace_ const & Emrys::Hybrid< Component_, ModeSpace_, Allocator_ >::modeSpace |
( |
| ) |
const |
|
inlinenodiscard |
- Returns
- the discrete mode space
◆ moments()
template<internal::ComponentOrInfoForm Component_, DiscreteSpace ModeSpace_, typename Allocator_>
- Returns
- the mean and covariance of the state, over every mode: a tangent-space mean, and the modes' covariances plus the spread of their means
◆ size()
template<internal::ComponentOrInfoForm Component_, DiscreteSpace ModeSpace_, typename Allocator_>
| Eigen::Index Emrys::Hybrid< Component_, ModeSpace_, Allocator_ >::size |
( |
| ) |
const |
|
inlinenodiscard |
- Returns
- the number of modes
◆ space()
template<internal::ComponentOrInfoForm Component_, DiscreteSpace ModeSpace_, typename Allocator_>
- Returns
- the continuous state space
◆ valueDimension()
template<internal::ComponentOrInfoForm Component_, DiscreteSpace ModeSpace_, typename Allocator_>
| Eigen::Index Emrys::Hybrid< Component_, ModeSpace_, Allocator_ >::valueDimension |
( |
| ) |
const |
|
inlinenodiscard |
- Returns
- the number of coordinates of every component's mean (see Spaces)
The documentation for this class was generated from the following file: