23#include <ql/experimental/finitedifferences/fdmextoujumpop.hpp>
24#include <ql/experimental/finitedifferences/fdmextoujumpsolver.hpp>
25#include <ql/experimental/processes/extouwithjumpsprocess.hpp>
26#include <ql/methods/finitedifferences/solvers/fdm2dimsolver.hpp>
32 ext::shared_ptr<YieldTermStructure> rTS,
35 : process_(
std::move(process)), rTS_(
std::move(rTS)), solverDesc_(
std::move(solverDesc)),
36 schemeDesc_(schemeDesc) {
42 ext::shared_ptr<FdmLinearOpComposite>op(
46 solver_ = ext::make_shared<Fdm2DimSolver>(
52 return solver_->interpolateAt(x, y);
ext::shared_ptr< Fdm2DimSolver > solver_
void performCalculations() const override
const FdmSolverDesc solverDesc_
Real valueAt(Real x, Real y) const
const ext::shared_ptr< YieldTermStructure > rTS_
FdmExtOUJumpSolver(Handle< ExtOUWithJumpsProcess > process, ext::shared_ptr< YieldTermStructure > rTS, FdmSolverDesc solverDesc, const FdmSchemeDesc &schemeDesc=FdmSchemeDesc::Hundsdorfer())
const Handle< ExtOUWithJumpsProcess > process_
const FdmSchemeDesc schemeDesc_
Shared handle to an observable.
virtual void calculate() const
std::pair< iterator, bool > registerWith(const ext::shared_ptr< Observable > &)
const FdmBoundaryConditionSet bcSet
const ext::shared_ptr< FdmMesher > mesher