24#ifndef quantlib_fdm_2d_black_scholes_op_hpp
25#define quantlib_fdm_2d_black_scholes_op_hpp
27#include <ql/methods/finitedifferences/operators/ninepointlinearop.hpp>
28#include <ql/methods/finitedifferences/operators/fdmblackscholesop.hpp>
29#include <ql/methods/finitedifferences/operators/fdmlinearopcomposite.hpp>
34 class GeneralizedBlackScholesProcess;
39 const ext::shared_ptr<FdmMesher>& mesher,
40 const ext::shared_ptr<GeneralizedBlackScholesProcess>& p1,
41 const ext::shared_ptr<GeneralizedBlackScholesProcess>& p2,
44 bool localVol =
false,
61 const ext::shared_ptr<GeneralizedBlackScholesProcess>
p1_,
p2_;
1-D array used in linear algebra.
const ext::shared_ptr< LocalVolTermStructure > localVol2_
Array solve_splitting(Size direction, const Array &x, Real s) const override
Size size() const override
const NinePointLinearOp corrMapTemplate_
Array preconditioner(const Array &r, Real s) const override
std::vector< SparseMatrix > toMatrixDecomp() const override
const ext::shared_ptr< GeneralizedBlackScholesProcess > p1_
Array apply_mixed(const Array &x) const override
void setTime(Time t1, Time t2) override
Time is required.
NinePointLinearOp corrMapT_
Array apply(const Array &x) const override
Array apply_direction(Size direction, const Array &x) const override
const ext::shared_ptr< FdmMesher > mesher_
const ext::shared_ptr< GeneralizedBlackScholesProcess > p2_
const ext::shared_ptr< LocalVolTermStructure > localVol1_
const Real illegalLocalVolOverwrite_
template class providing a null value for a given type.
Real Time
continuous quantity with 1-year units
std::size_t Size
size of a container