RamdomizedLDS Class Template Reference#include <ql/RandomNumbers/randomizedlds.hpp>
List of all members.
Detailed Description
template<class LDS, class PRS = RandomSequenceGenerator<MersenneTwisterUniformRng>>
class QuantLib::RamdomizedLDS< LDS, PRS >
Randomized (random shift) low-discrepancy sequence.
Random-shifts a uniform low-discrepancy sequence of dimension by adding (modulo 1 for each coordinate) a pseudo-random uniform deviate in 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

- Warning:
- Inverting LDS and PRS is possible, but it doesn't make sense
- Todo:
- implement the other randomization algorithms
- Tests:
- correct initialization is tested.
|
Public Types |
typedef Sample< Array > | sample_type |
Public Member Functions |
| RamdomizedLDS (const LDS &ldsg, const PRS &prsg) |
| RamdomizedLDS (const LDS &ldsg) |
| RamdomizedLDS (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 |
Member Function Documentation
|
update the randomizing vector and re-initialize the low discrepancy generator |
|