Randomized (random shift) low-discrepancy sequence. More...
#include <ql/math/randomnumbers/randomizedlds.hpp>
| Public Types | |
| typedef Sample< std::vector< Real > > | sample_type | 
| Public Member Functions | |
| RandomizedLDS (const LDS &ldsg, const PRS &prsg) | |
| RandomizedLDS (const LDS &ldsg) | |
| RandomizedLDS (Size dimensionality, BigNatural ldsSeed=0, BigNatural prsSeed=0) | |
| const sample_type & | nextSequence () const | 
| returns next sample using a given randomizing vector | |
| const sample_type & | lastSequence () const | 
| void | nextRandomizer () | 
| Size | dimension () const | 
Randomized (random shift) low-discrepancy sequence.
Random-shifts a uniform low-discrepancy sequence of dimension \( N \) by adding (modulo 1 for each coordinate) a pseudo-random uniform deviate in \( (0, 1)^N. \) It is used for implementing Randomized Quasi Monte Carlo.
The uniform low discrepancy sequence is supplied by LDS; the uniform pseudo-random sequence is supplied by PRS.
Both class LDS and PRS must implement the following interface:
| void nextRandomizer | ( | ) | 
update the randomizing vector and re-initialize the low discrepancy generator