nextRandomizer (3) - Linux Manuals
nextRandomizer: Randomized (random shift) low-discrepancy sequence.
NAME
QuantLib::RandomizedLDS - Randomized (random shift) low-discrepancy sequence.
SYNOPSIS
#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
Detailed Description
template<class LDS, class PRS = RandomSequenceGenerator<MersenneTwisterUniformRng>> class QuantLib::RandomizedLDS< LDS, PRS >
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:
LDS::sample_type LDS::nextSequence() const; Size LDS::dimension() const;
Precondition:
- LDS and PRS must have the same dimension $ N $
Warning
- Inverting LDS and PRS is possible, but it doesn't make sense.
Possible enhancements
- implement the other randomization algorithms
Tests
- correct initialization is tested.
Member Function Documentation
void nextRandomizer ()
update the randomizing vector and re-initialize the low discrepancy generator
Author
Generated automatically by Doxygen for QuantLib from the source code.