Monte Carlo Integration Library 1.0
High-performance Monte Carlo methods for numerical integration and optimization
Public Member Functions | List of all members
mc::proposals::UniformProposal< dim > Class Template Reference

Uniform distribution over a domain. More...

#include <uniformProposal.hpp>

Inheritance diagram for mc::proposals::UniformProposal< dim >:
Collaboration diagram for mc::proposals::UniformProposal< dim >:

Public Member Functions

 UniformProposal (const mc::domains::IntegrationDomain< dim > &d)
 Construct uniform proposal over domain.
 
mc::geom::Point< dimsample (std::mt19937 &rng) const override
 Sample uniform point from domain.
 
double pdf (const mc::geom::Point< dim > &) const override
 Evaluate uniform PDF.
 
- Public Member Functions inherited from mc::proposals::Proposal< dim >
virtual ~Proposal ()=default
 Virtual destructor for proper cleanup.
 

Detailed Description

template<size_t dim>
class mc::proposals::UniformProposal< dim >

Uniform distribution over a domain.

Template Parameters
dimDimensionality

Proposes points uniformly distributed over the integration domain. PDF is constant: q(x) = 1/V where V is the domain volume. Efficient for domains where we want equal weighting across all regions.

Definition at line 31 of file uniformProposal.hpp.

Constructor & Destructor Documentation

◆ UniformProposal()

template<size_t dim>
mc::proposals::UniformProposal< dim >::UniformProposal ( const mc::domains::IntegrationDomain< dim > &  d)
explicit

Construct uniform proposal over domain.

Parameters
dIntegration domain to sample from

Member Function Documentation

◆ pdf()

template<size_t dim>
double mc::proposals::UniformProposal< dim >::pdf ( const mc::geom::Point< dim > &  ) const
overridevirtual

Evaluate uniform PDF.

Parameters
xQuery point
Returns
1/V if x in domain, undefined behavior otherwise

Implements mc::proposals::Proposal< dim >.

◆ sample()

template<size_t dim>
mc::geom::Point< dim > mc::proposals::UniformProposal< dim >::sample ( std::mt19937 &  rng) const
overridevirtual

Sample uniform point from domain.

Parameters
rngRandom generator
Returns
Point uniformly distributed in domain

Implements mc::proposals::Proposal< dim >.


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