25#ifndef quantlib_fdm_heston_fwd_op_hpp
26#define quantlib_fdm_heston_fwd_op_hpp
35 class YieldTermStructure;
38 class FirstDerivativeOp;
39 class TripleBandLinearOp;
40 class NinePointLinearOp;
45 const ext::shared_ptr<HestonProcess>& process,
47 ext::shared_ptr<LocalVolTermStructure> leverageFct =
48 ext::shared_ptr<LocalVolTermStructure>(),
49 Real mixingFactor = 1.0);
67 const ext::shared_ptr<YieldTermStructure>
rTS_;
68 const ext::shared_ptr<YieldTermStructure>
qTS_;
71 const ext::shared_ptr<FirstDerivativeOp>
dxMap_;
72 const ext::shared_ptr<ModTripleBandLinearOp>
dxxMap_;
73 const ext::shared_ptr<ModTripleBandLinearOp>
boundary_;
76 const ext::shared_ptr<TripleBandLinearOp>
mapX_;
77 const ext::shared_ptr<FdmSquareRootFwdOp>
mapY_;
1-D array used in linear algebra.
const ext::shared_ptr< FirstDerivativeOp > dxMap_
Size size() const override
Array apply_direction(Size direction, const Array &r) const override
const ext::shared_ptr< NinePointLinearOp > correlation_
Array preconditioner(const Array &r, Real s) const override
std::vector< SparseMatrix > toMatrixDecomp() const override
const ext::shared_ptr< LocalVolTermStructure > leverageFct_
void setTime(Time t1, Time t2) override
Time is required.
const Array varianceValues_
const ext::shared_ptr< ModTripleBandLinearOp > boundary_
Array apply_mixed(const Array &r) const override
const ext::shared_ptr< YieldTermStructure > qTS_
const ext::shared_ptr< FdmMesher > mesher_
const ext::shared_ptr< TripleBandLinearOp > mapX_
Array getLeverageFctSlice(Time t1, Time t2) const
Array solve_splitting(Size direction, const Array &r, Real s) const override
const ext::shared_ptr< ModTripleBandLinearOp > dxxMap_
const ext::shared_ptr< YieldTermStructure > rTS_
const FdmSquareRootFwdOp::TransformationType type_
Array apply(const Array &r) const override
const ext::shared_ptr< FdmSquareRootFwdOp > mapY_
composite pattern for linear operators
Square root linear operator for the Fokker-Planck forward equation.
Real Time
continuous quantity with 1-year units
std::size_t Size
size of a container
Local volatility term structure base class.
ext::shared_ptr< YieldTermStructure > r