Quetzal-CoaTL
The Coalescence Template Library
Loading...
Searching...
No Matches
quetzal::utils::random::TransitionKernel< Distribution > Class Template Reference

#include <quetzal/utils/random/TransitionKernel.hpp>

Detailed Description

template<typename Distribution>
class quetzal::utils::random::TransitionKernel< Distribution >

Discrete markovian transition kernel for sampling the next state knowing the present state \(x_0\).

Considering a Markov chain \((X_k)_{k\in Z_+}\) with discrete state space \(S\), and given each initial state \(x_0\) of \(S\), defines the markovian probability distribution \(P(X_1=\cdot|X_0=x_0)\), and samples the stochastic value \(X_1\), according to this probability law.

Template Parameters
Distributiontype of the transition kernels.

Public Types

using state_type = typename Distribution::result_type
 

Public Member Functions

 TransitionKernel ()
 Default constructor.
 
 TransitionKernel (state_type const &x, Distribution const &d)
 Initialize a transition kernel with a state and its associated distribution.
 
 TransitionKernel (state_type const &x, Distribution &&d)
 Initialize a transition kernel with a state and its associated distribution.
 
 TransitionKernel (const TransitionKernel &)=default
 Copy constructor.
 
 TransitionKernel (TransitionKernel &&)=default
 Move constructor.
 
TransitionKernel< Distribution > & operator= (const TransitionKernel< Distribution > &)=default
 Copy assignment operator.
 
TransitionKernel< Distribution > & operator= (TransitionKernel< Distribution > &&)=default
 Move assignment operator.
 
TransitionKernel< Distribution > & set (state_type const &x, Distribution const &d)
 Set a departure state and its associated distribution to the kernel.
 
TransitionKernel< Distribution > & set (state_type const &x, Distribution &&d)
 Set a departure state and its associated distribution to the kernel.
 
bool has_distribution (state_type const &x) const
 Checks if a probability distribution is associated to a departure state.
 
template<typename Generator >
state_type operator() (Generator &g, state_type const &x)
 Sample an arrival state conditionnaly to departure state.
 

Constructor & Destructor Documentation

◆ TransitionKernel() [1/2]

template<typename Distribution >
quetzal::utils::random::TransitionKernel< Distribution >::TransitionKernel ( state_type const x,
Distribution const d 
)
inline

Initialize a transition kernel with a state and its associated distribution.

Parameters
xthe departure state
dthe probability distribution on the arrival state

◆ TransitionKernel() [2/2]

template<typename Distribution >
quetzal::utils::random::TransitionKernel< Distribution >::TransitionKernel ( state_type const x,
Distribution &&  d 
)
inline

Initialize a transition kernel with a state and its associated distribution.

Parameters
xthe departure state
dthe probability distribution on the arrival state

Member Function Documentation

◆ has_distribution()

template<typename Distribution >
bool quetzal::utils::random::TransitionKernel< Distribution >::has_distribution ( state_type const x) const
inline

Checks if a probability distribution is associated to a departure state.

Returns
true if a distribution is defined, else returns false.
Parameters
xthe departure state

◆ operator()()

template<typename Distribution >
template<typename Generator >
state_type quetzal::utils::random::TransitionKernel< Distribution >::operator() ( Generator g,
state_type const x 
)
inline

Sample an arrival state conditionnaly to departure state.

Returns
the arrival state.
Parameters
xthe departure state

◆ set() [1/2]

template<typename Distribution >
TransitionKernel< Distribution > & quetzal::utils::random::TransitionKernel< Distribution >::set ( state_type const &  x,
Distribution &&  d 
)
inline

Set a departure state and its associated distribution to the kernel.

Parameters
xthe departure state
dthe probability distribution on the arrival state

◆ set() [2/2]

template<typename Distribution >
TransitionKernel< Distribution > & quetzal::utils::random::TransitionKernel< Distribution >::set ( state_type const &  x,
Distribution const &  d 
)
inline

Set a departure state and its associated distribution to the kernel.

Parameters
xthe departure state
dthe probability distribution on the arrival state

The documentation for this class was generated from the following file: