30#include <ql/methods/finitedifferences/meshers/fdmmesher.hpp>
31#include <ql/methods/finitedifferences/solvers/fdmbackwardsolver.hpp>
38 LgmFdSolver(
const QuantLib::ext::shared_ptr<LinearGaussMarkovModel>&
model,
const Real maxTime = 50.0,
39 const QuantLib::FdmSchemeDesc scheme = QuantLib::FdmSchemeDesc::Douglas(),
40 const Size stateGridPoints = 64,
const Size timeStepsPerYear = 24,
const Real mesherEpsilon = 1E-4);
45 Size
steps = Null<Size>())
const override;
46 const QuantLib::ext::shared_ptr<LinearGaussMarkovModel>&
model()
const override;
49 QuantLib::ext::shared_ptr<LinearGaussMarkovModel>
model_;
56 mutable QuantLib::ext::shared_ptr<FdmMesher>
mesher_;
57 mutable QuantLib::ext::shared_ptr<FdmLinearOpComposite>
operator_;
58 mutable QuantLib::ext::shared_ptr<FdmBackwardSolver>
solver_;
Interface for LGM1F backward solver.
Numerical FD solver for the LGM model.
QuantLib::ext::shared_ptr< FdmLinearOpComposite > operator_
RandomVariable rollback(const RandomVariable &v, const Real t1, const Real t0, Size steps=Null< Size >()) const override
const QuantLib::ext::shared_ptr< LinearGaussMarkovModel > & model() const override
Size gridSize() const override
QuantLib::ext::shared_ptr< FdmBackwardSolver > solver_
QuantLib::ext::shared_ptr< FdmMesher > mesher_
RandomVariable stateGrid(const Real t) const override
QuantLib::FdmSchemeDesc scheme_
QuantLib::ext::shared_ptr< LinearGaussMarkovModel > model_
RandomVariable mesherLocations_
interface for LGM1F backward solver
std::vector< Size > steps