ssmkit  master-68aed98
Memoryless< TPDF, TParamMap > Class Template Reference

A Memoryless (independent/white) random process. More...

Public Member Functions

 Memoryless (distribution::Conditional< TPDF, TParamMap > cpdf)
 Constructor. More...
 
auto initialize () -> decltype(std::declval< TPDF >().random())
 initialize process More...
 
template<typename... Args>
auto random (const Args &...args) -> decltype(std::declval< TPDF >().random())
 Sample from process. More...
 
template<typename... Args>
double likelihood (const decltype(std::declval< TPDF >().random())&rv, const Args &...args)
 Calculate likelihood. More...
 
distribution::Conditional
< TPDF, TParamMap > & 
getCPDF ()
 Returns a reference to internal CPDF. More...
 
- Public Member Functions inherited from BaseProcess< Memoryless< TPDF, TParamMap > >
decltype(auto) random_n (const size_t &n, const TArgs &...args)
 

Detailed Description

template<typename TPDF, typename TParamMap>
class ssmkit::process::Memoryless< TPDF, TParamMap >

A Memoryless (independent/white) random process.

Implementation of memoryless process defined using CPDF \(p(\mathbf{x}_k| y^0_k, \cdots, y^N_k)\)

memoryless.png
Dynamic Bayesian Network model of Memoryless process
Note
this process has no state.

Definition at line 28 of file memoryless.hpp.

Constructor & Destructor Documentation

Memoryless ( distribution::Conditional< TPDF, TParamMap >  cpdf)
inline

Constructor.

The process is constructed from a distribution::Conditional PDF (cpdf). The condition variables ( \(y_0, \cdots, y_N\)) are disposed to the interface of random() and likelihood() methods.

Note
use makeMemoryless builder for convenient template argument deduction
Parameters
cpdfdistribution::Conditional PDF \(p(\mathbf{x}_k| y^0_k, \cdots, y^N_k)\)

Definition at line 45 of file memoryless.hpp.

Member Function Documentation

auto initialize ( ) -> decltype(std::declval<TPDF>().random())
inline

initialize process

The memoryless process has no state and initialization. This method is provided for interface consistency of process class.

Returns
Default value of the random variable type.

Definition at line 56 of file memoryless.hpp.

References Memoryless< TPDF, TParamMap >::random().

auto random ( const Args &...  args) -> decltype(std::declval<TPDF>().random())
inline

Sample from process.

Samples one random variable \(\mathbf{x}_k\) from the process.

Parameters
args... Process condition (control) variables ( \(y^0_k, \cdots, y^N_k\)) if any.
Returns
Random variable \(\mathbf{x}_k\).

Definition at line 72 of file memoryless.hpp.

Referenced by Memoryless< TPDF, TParamMap >::initialize().

double likelihood ( const decltype(std::declval< TPDF >().random())&  rv,
const Args &...  args 
)
inline

Calculate likelihood.

Calculate the likelihood of one random variable \(p(\mathbf{x}_k| y^0_k, \cdots, y^N_k)\).

Parameters
rvThe random variable \(\mathbf{x}_k\).
args... Process condition (control) variables ( \(y^0_k, \cdots, y^N_k\)) if any.
Returns
The likelihood of random variable \(\mathbf{x}_k\).

Definition at line 86 of file memoryless.hpp.

distribution::Conditional<TPDF, TParamMap>& getCPDF ( )
inline

Returns a reference to internal CPDF.

Definition at line 93 of file memoryless.hpp.


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