vSMC
vSMC: Scalable Monte Carlo
Public Types | Public Member Functions | List of all members
vsmc::NormalMVProposal< RealType, Dim > Class Template Reference

Multivariate Normal random walk proposal. More...

#include <vsmc/rng/internal/common.hpp>

Public Types

using result_type = RealType
 

Public Member Functions

 NormalMVProposal (const result_type *chol=nullptr, const result_type *a=nullptr, const result_type *b=nullptr)
 Only usable when Dim != Dynamic More...
 
 NormalMVProposal (std::size_t dim, const result_type *chol=nullptr, const result_type *a=nullptr, const result_type *b=nullptr)
 
const result_typea () const
 
const result_typeb () const
 
std::size_t dim () const
 
template<typename RNGType >
result_type operator() (RNGType &rng, std::size_t, const result_type *x, result_type *y)
 

Detailed Description

template<typename RealType, std::size_t Dim>
class vsmc::NormalMVProposal< RealType, Dim >

Multivariate Normal random walk proposal.

Definition at line 543 of file common.hpp.

Member Typedef Documentation

template<typename RealType , std::size_t Dim>
using vsmc::NormalMVProposal< RealType, Dim >::result_type = RealType

Definition at line 470 of file random_walk.hpp.

Constructor & Destructor Documentation

template<typename RealType , std::size_t Dim>
vsmc::NormalMVProposal< RealType, Dim >::NormalMVProposal ( const result_type chol = nullptr,
const result_type a = nullptr,
const result_type b = nullptr 
)
inlineexplicit

Only usable when Dim != Dynamic

Parameters
cholThe lower triangular elements of the Cholesky decomposition of the covaraince matrix, packed row by row. If it is a nullpointer, then the covariance is the identicy matrix \(I\)
aThe lower bound of the support of the target distribuiton. It is assumed that the support is \(\prod_{p=1}^d E_p \subset \mathbb{R}^d\) where \(E_p \subset \mathbb{R}\).
bThe upper bound of the support of the target distribution.

If the geometry of the support is more complex than above, then one may find a superset of the support that takes the required form, and reject proposals that lay outside the support manually.

Definition at line 486 of file random_walk.hpp.

template<typename RealType , std::size_t Dim>
vsmc::NormalMVProposal< RealType, Dim >::NormalMVProposal ( std::size_t  dim,
const result_type chol = nullptr,
const result_type a = nullptr,
const result_type b = nullptr 
)
inlineexplicit

Definition at line 495 of file random_walk.hpp.

Member Function Documentation

template<typename RealType , std::size_t Dim>
const result_type* vsmc::NormalMVProposal< RealType, Dim >::a ( ) const
inline

Definition at line 506 of file random_walk.hpp.

template<typename RealType , std::size_t Dim>
const result_type* vsmc::NormalMVProposal< RealType, Dim >::b ( ) const
inline

Definition at line 507 of file random_walk.hpp.

template<typename RealType , std::size_t Dim>
std::size_t vsmc::NormalMVProposal< RealType, Dim >::dim ( ) const
inline

Definition at line 505 of file random_walk.hpp.

template<typename RealType , std::size_t Dim>
template<typename RNGType >
result_type vsmc::NormalMVProposal< RealType, Dim >::operator() ( RNGType &  rng,
std::size_t  ,
const result_type x,
result_type y 
)
inline

Definition at line 510 of file random_walk.hpp.