24#ifndef quantlib_fdm_kluge_ext_ou_op_hpp
25#define quantlib_fdm_kluge_ext_ou_op_hpp
35 class YieldTermStructure;
36 class KlugeExtOUProcess;
37 class ExtOUWithJumpsProcess;
39 class FdmExtendedOrnsteinUhlenbeckOp;
40 class ExtendedOrnsteinUhlenbeckProcess;
67 const ext::shared_ptr<FdmMesher>& mesher,
68 const ext::shared_ptr<KlugeExtOUProcess>& klugeOUProcess,
69 const ext::shared_ptr<YieldTermStructure>& rTS,
71 Size integroIntegrationOrder);
88 const ext::shared_ptr<ExtOUWithJumpsProcess>
kluge_;
89 const ext::shared_ptr<ExtendedOrnsteinUhlenbeckProcess>
extOU_;
91 const ext::shared_ptr<YieldTermStructure>
rTS_;
94 const ext::shared_ptr<FdmExtOUJumpOp>
klugeOp_;
95 const ext::shared_ptr<FdmExtendedOrnsteinUhlenbeckOp>
ouOp_;
1-D array used in linear algebra.
const ext::shared_ptr< FdmExtOUJumpOp > klugeOp_
Size size() const override
Array apply_direction(Size direction, const Array &r) const override
Array preconditioner(const Array &r, Real s) const override
std::vector< SparseMatrix > toMatrixDecomp() const override
const ext::shared_ptr< ExtendedOrnsteinUhlenbeckProcess > extOU_
const ext::shared_ptr< ExtOUWithJumpsProcess > kluge_
void setTime(Time t1, Time t2) override
Time is required.
const FdmBoundaryConditionSet bcSet_
Array apply_mixed(const Array &r) const override
const ext::shared_ptr< FdmMesher > mesher_
Array solve_splitting(Size direction, const Array &r, Real s) const override
const ext::shared_ptr< YieldTermStructure > rTS_
const NinePointLinearOp corrMap_
Array apply(const Array &r) const override
const ext::shared_ptr< FdmExtendedOrnsteinUhlenbeckOp > ouOp_
composite pattern for linear operators
Real Time
continuous quantity with 1-year units
std::size_t Size
size of a container
OperatorTraits< FdmLinearOp >::bc_set FdmBoundaryConditionSet
nine point linear operator
ext::shared_ptr< YieldTermStructure > r