|
Monte Carlo Integration Library 1.0
High-performance Monte Carlo methods for numerical integration and optimization
|
Abstract base class for Monte Carlo integration in N dimensions. More...
#include <integrator.hpp>
Public Member Functions | |
| Integrator (const mc::domains::IntegrationDomain< dim > &d) | |
| Constructs an integrator for a specific domain. | |
| virtual double | integrate (const std::function< double(const mc::geom::Point< dim > &)> &f, int n_samples, const mc::proposals::Proposal< dim > &proposal, std::uint32_t seed)=0 |
| virtual | ~Integrator ()=default |
| Virtual destructor for proper polymorphic cleanup. | |
Protected Member Functions | |
| std::vector< mc::geom::Point< dim > > | initializeRandomizer (int numbers) |
| Initializes random samples uniformly distributed in the domain. | |
Protected Attributes | |
| const mc::domains::IntegrationDomain< dim > & | domain |
| Reference to the integration domain. | |
| std::vector< std::mt19937 > | randomizer |
| Per-thread random number generators. | |
Abstract base class for Monte Carlo integration in N dimensions.
| dim | The dimensionality of the integration domain. |
Manages random number generation and provides utilities for initializing sample points within the integration domain. Subclasses implement specific integration algorithms (uniform sampling, importance sampling, MCMC).
Definition at line 34 of file integrator.hpp.
|
inlineexplicit |
Constructs an integrator for a specific domain.
| d | Reference to the integration domain. |
Definition at line 116 of file integrator.hpp.
|
virtualdefault |
Virtual destructor for proper polymorphic cleanup.
|
inlineprotected |
Initializes random samples uniformly distributed in the domain.
| numbers | The number of sample points to generate. |
Generates points uniformly in the bounding box, writes to file for visualization (hsphere_samples.dat, cylinder_samples.dat, etc.), and returns as vector of Point<dim>.
Definition at line 49 of file integrator.hpp.
|
pure virtual |
|
protected |
Reference to the integration domain.
Definition at line 37 of file integrator.hpp.
|
protected |
Per-thread random number generators.
Definition at line 38 of file integrator.hpp.