24#include <ql/methods/finitedifferences/operators/fdmlinearopcomposite.hpp>
25#include <ql/methods/finitedifferences/operators/firstderivativeop.hpp>
26#include <ql/methods/finitedifferences/operators/triplebandlinearop.hpp>
39 const Real T,
const QuantLib::ext::shared_ptr<QuantLib::FdmMesher>& mesher,
40 const QuantLib::ext::shared_ptr<const DefaultableEquityJumpDiffusionModel>& model,
const Size direction = 0);
42 Size
size()
const override;
43 void setTime(Time t1, Time t2)
override;
45 Array
apply(
const Array& r)
const override;
48 Array
solve_splitting(Size direction,
const Array& r, Real s)
const override;
51#if !defined(QL_NO_UBLAS_SUPPORT)
52 std::vector<QuantLib::SparseMatrix>
toMatrixDecomp()
const override;
57 QuantLib::ext::shared_ptr<QuantLib::FdmMesher>
mesher_;
58 QuantLib::ext::shared_ptr<const DefaultableEquityJumpDiffusionModel>
model_;
63 QuantLib::TripleBandLinearOp
mapT_;
QuantLib::ext::shared_ptr< const DefaultableEquityJumpDiffusionModel > model_
Size size() const override
QuantLib::TripleBandLinearOp dxxMap_
Array apply_direction(Size direction, const Array &r) const override
Array preconditioner(const Array &r, Real s) const override
QuantLib::ext::shared_ptr< QuantLib::FdmMesher > mesher_
std::vector< QuantLib::SparseMatrix > toMatrixDecomp() const override
void setTime(Time t1, Time t2) override
Array apply_mixed(const Array &r) const override
Array solve_splitting(Size direction, const Array &r, Real s) const override
QuantLib::FirstDerivativeOp dxMap_
Array apply(const Array &r) const override
QuantLib::TripleBandLinearOp mapT_