35 virtual Sample<std::vector<Array>>
next()
const;
48 bool antitheticSampling =
false);
49 void reset()
override;
58 QuantLib::ext::shared_ptr<PseudoRandom::rsg_type>
rsg_;
70 SobolRsg::DirectionIntegers directionIntegers = SobolRsg::JoeKuoD7);
71 void reset()
override;
79 QuantLib::ext::shared_ptr<LowDiscrepancy::rsg_type>
rsg_;
85 SobolRsg::DirectionIntegers directionIntegers = SobolRsg::JoeKuoD7, BigNatural scrambleSeed = 43);
86 void reset()
override;
95 QuantLib::ext::shared_ptr<InverseCumulativeRsg<Burley2020SobolRsg, InverseCumulativeNormal>>
rsg_;
101 const Size dimension,
const Size timeSteps,
102 SobolBrownianGenerator::Ordering ordering = SobolBrownianGenerator::Steps, BigNatural seed = 0,
103 SobolRsg::DirectionIntegers directionIntegers = SobolRsg::JoeKuoD7);
104 Sample<std::vector<Array>>
next()
const override;
107 Sample<std::vector<Real>>
nextSequence()
const override;
113 QuantLib::ext::shared_ptr<SobolBrownianGeneratorBase>
gen_;
119 const Size dimension,
const Size timeSteps,
120 SobolBrownianGenerator::Ordering ordering = SobolBrownianGenerator::Steps, BigNatural seed = 42,
121 SobolRsg::DirectionIntegers directionIntegers = SobolRsg::JoeKuoD7);
122 void reset()
override final;
128 const Size dimension,
const Size timeSteps,
129 SobolBrownianGenerator::Ordering ordering = SobolBrownianGenerator::Steps, BigNatural seed = 42,
130 SobolRsg::DirectionIntegers directionIntegers = SobolRsg::JoeKuoD7, BigNatural scrambleSeed = 43);
131 void reset()
override final;
137QuantLib::ext::shared_ptr<MultiPathVariateGeneratorBase>
139 const SobolBrownianGenerator::Ordering ordering = SobolBrownianGenerator::Steps,
140 const SobolRsg::DirectionIntegers directionIntegers = SobolRsg::JoeKuoD7);
virtual Sample< std::vector< Real > > nextSequence() const =0
virtual Sample< std::vector< Array > > next() const
virtual ~MultiPathVariateGeneratorBase()
void reset() override final
QuantLib::ext::shared_ptr< InverseCumulativeRsg< Burley2020SobolRsg, InverseCumulativeNormal > > rsg_
SobolRsg::DirectionIntegers directionIntegers_
Sample< std::vector< Real > > nextSequence() const override
MultiPathVariateGeneratorMersenneTwisterAntithetic(const Size dimension, const Size timeSteps, BigNatural seed=0)
Sample< std::vector< Real > > nextSequence() const override
QuantLib::ext::shared_ptr< PseudoRandom::rsg_type > rsg_
SobolBrownianGenerator::Ordering ordering_
SobolRsg::DirectionIntegers directionIntegers_
Sample< std::vector< Array > > next() const override
Sample< std::vector< Real > > nextSequence() const override
QuantLib::ext::shared_ptr< SobolBrownianGeneratorBase > gen_
void reset() override final
SobolRsg::DirectionIntegers directionIntegers_
Sample< std::vector< Real > > nextSequence() const override
QuantLib::ext::shared_ptr< LowDiscrepancy::rsg_type > rsg_
base class for multi path generators
QuantLib::ext::shared_ptr< MultiPathVariateGeneratorBase > makeMultiPathVariateGenerator(const SequenceType s, const Size dimension, const Size timeSteps, const BigNatural seed, const SobolBrownianGenerator::Ordering ordering, const SobolRsg::DirectionIntegers directionIntegers)