28#include <ql/methods/montecarlo/lsmbasissystem.hpp>
39std::vector<RandomVariableOp>
41 const QuantLib::LsmBasisSystem::PolynomialType polynomType = QuantLib::LsmBasisSystem::Monomial,
42 const double eps = 0.0, QuantLib::Real regressionVarianceCutoff = Null<Real>());
47 std::function<std::vector<RandomVariable>(
const std::vector<const RandomVariable*>&,
const RandomVariable*)>;
51 const Size size,
const Size regressionOrder = 2,
52 const QuantLib::LsmBasisSystem::PolynomialType polynomType = QuantLib::LsmBasisSystem::Monomial,
53 const double eps = 0.2, QuantLib::Real regressionVarianceCutoff = Null<Real>());
std::vector< RandomVariableGrad > getRandomVariableGradients(const Size size, const Size regressionOrder, const QuantLib::LsmBasisSystem::PolynomialType polynomType, const double eps, const Real regressionVarianceCutoff)
std::function< std::pair< std::vector< bool >, bool >(const std::size_t)> RandomVariableOpNodeRequirements
std::function< std::vector< RandomVariable >(const std::vector< const RandomVariable * > &, const RandomVariable *)> RandomVariableGrad
std::vector< RandomVariableOpNodeRequirements > getRandomVariableOpNodeRequirements()
std::function< RandomVariable(const std::vector< const RandomVariable * > &)> RandomVariableOp
std::vector< RandomVariableOp > getRandomVariableOps(const Size size, const Size regressionOrder, QuantLib::LsmBasisSystem::PolynomialType polynomType, const double eps, QuantLib::Real regressionVarianceCutoff)