26#ifndef quantlib_fdm_black_scholes_op_hpp
27#define quantlib_fdm_black_scholes_op_hpp
41 const ext::shared_ptr<FdmMesher>& mesher,
42 const ext::shared_ptr<GeneralizedBlackScholesProcess>& process,
44 bool localVol =
false,
47 ext::shared_ptr<FdmQuantoHelper> quantoHelper = ext::shared_ptr<FdmQuantoHelper>());
62 const ext::shared_ptr<YieldTermStructure>
rTS_,
qTS_;
63 const ext::shared_ptr<BlackVolTermStructure>
volTS_;
64 const ext::shared_ptr<LocalVolTermStructure>
localVol_;
1-D array used in linear algebra.
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 TripleBandLinearOp dxxMap_
const ext::shared_ptr< FdmQuantoHelper > quantoHelper_
void setTime(Time t1, Time t2) override
Time is required.
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_
template class providing a null value for a given type.
composite pattern for linear operators
helper class storing market data needed for the quanto adjustment.
first derivative linear operator
Real Time
continuous quantity with 1-year units
std::size_t Size
size of a container
ext::shared_ptr< YieldTermStructure > r
general triple band linear operator