23#ifndef quantlib_fdm_2d_black_scholes_solver_hpp
24#define quantlib_fdm_2d_black_scholes_solver_hpp
26#include <ql/handle.hpp>
27#include <ql/patterns/lazyobject.hpp>
28#include <ql/methods/finitedifferences/solvers/fdmsolverdesc.hpp>
29#include <ql/methods/finitedifferences/solvers/fdmbackwardsolver.hpp>
34 class GeneralizedBlackScholesProcess;
43 bool localVol =
false,
67 mutable ext::shared_ptr<Fdm2DimSolver>
solver_;
const Handle< GeneralizedBlackScholesProcess > p2_
ext::shared_ptr< Fdm2DimSolver > solver_
void performCalculations() const override
Real gammaXYat(Real x, Real y) const
Real deltaXat(Real x, Real y) const
Real thetaAt(Real x, Real y) const
const FdmSolverDesc solverDesc_
Real valueAt(Real x, Real y) const
const Handle< GeneralizedBlackScholesProcess > p1_
Real deltaYat(Real x, Real y) const
Real gammaYat(Real x, Real y) const
Real gammaXat(Real x, Real y) const
const FdmSchemeDesc schemeDesc_
const Real illegalLocalVolOverwrite_
Shared handle to an observable.
Framework for calculation on demand and result caching.
template class providing a null value for a given type.
static FdmSchemeDesc Hundsdorfer()