21#ifndef quantlib_sobol_brownian_generator_hpp
22#define quantlib_sobol_brownian_generator_hpp
24#include <ql/models/marketmodels/browniangenerator.hpp>
25#include <ql/math/randomnumbers/inversecumulativersg.hpp>
26#include <ql/math/randomnumbers/sobolrsg.hpp>
27#include <ql/methods/montecarlo/brownianbridge.hpp>
28#include <ql/math/distributions/normaldistribution.hpp>
53 unsigned long seed = 0,
65 std::vector<std::vector<Real> >
transform(
66 const std::vector<std::vector<Real> >& variates);
83 unsigned long seed = 0,
86 ext::shared_ptr<BrownianGenerator>
create(
Size factors,
Size steps)
const override;
Builds Wiener process paths using Gaussian variates.
Inverse cumulative random sequence generator.
SobolBrownianGenerator::Ordering ordering_
ext::shared_ptr< BrownianGenerator > create(Size factors, Size steps) const override
SobolRsg::DirectionIntegers integers_
Sobol Brownian generator for market-model simulations.
std::vector< std::vector< Size > > orderedIndices_
std::vector< std::vector< Real > > transform(const std::vector< std::vector< Real > > &variates)
Real nextStep(std::vector< Real > &) override
std::vector< std::vector< Real > > bridgedVariates_
Size numberOfFactors() const override
Size numberOfSteps() const override
const std::vector< std::vector< Size > > & orderedIndices() const
InverseCumulativeRsg< SobolRsg, InverseCumulativeNormal > generator_
std::size_t Size
size of a container