28#include <ql/methods/finitedifferences/operators/fdmlinearopcomposite.hpp>
29#include <ql/methods/finitedifferences/operators/firstderivativeop.hpp>
30#include <ql/methods/finitedifferences/operators/triplebandlinearop.hpp>
31#include <ql/payoff.hpp>
32#include <ql/processes/blackscholesprocess.hpp>
50 const ext::shared_ptr<GeneralizedBlackScholesProcess>& process, Real strike = Null<Real>(),
51 bool localVol =
false, Real illegalLocalVolOverwrite = -Null<Real>(), Size direction = 0,
52 const ext::shared_ptr<FdmQuantoHelper>& quantoHelper = ext::shared_ptr<FdmQuantoHelper>(),
53 const bool discounting =
true,
const bool ensureNonNegativeForwardVariance =
false);
55 Size
size()
const override;
56 void setTime(Time t1, Time t2)
override;
58 Array
apply(
const Array& r)
const override;
61 Array
solve_splitting(Size direction,
const Array& r, Real s)
const override;
64#if !defined(QL_NO_UBLAS_SUPPORT)
65 std::vector<QuantLib::SparseMatrix>
toMatrixDecomp()
const override;
69 const ext::shared_ptr<YieldTermStructure>
rTS_,
qTS_;
70 const ext::shared_ptr<BlackVolTermStructure>
volTS_;
71 const ext::shared_ptr<LocalVolTermStructure>
localVol_;
const bool ensureNonNegativeForwardVariance_
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< QuantLib::SparseMatrix > toMatrixDecomp() const override
const TripleBandLinearOp dxxMap_
const ext::shared_ptr< FdmQuantoHelper > quantoHelper_
void setTime(Time t1, Time t2) override
Array apply_mixed(const Array &r) const override
const ext::shared_ptr< YieldTermStructure > qTS_
const FirstDerivativeOp dxMap_
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 ext::shared_ptr< BlackVolTermStructure > volTS_
Array apply(const Array &r) const override
const ext::shared_ptr< LocalVolTermStructure > localVol_
const Real illegalLocalVolOverwrite_
extended version of the QuantLib class, see the documentation for details