22#include <boost/numeric/ublas/matrix.hpp>
27 const Array &localVolatility)
28 :
mesher_(mesher), localVolatility_(localVolatility),
30 .mult(0.5 * localVolatility * localVolatility)) {}
1-D array used in linear algebra.
FdmDupire1dOp(const ext::shared_ptr< FdmMesher > &mesher, const Array &localVolatility)
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
void setTime(Time t1, Time t2) override
Time is required.
Array apply_mixed(const Array &r) const override
Array solve_splitting(Size direction, const Array &r, Real s) const override
Array apply(const Array &r) const override
SparseMatrix toMatrix() const override
Array solve_splitting(const Array &r, Real a, Real b=1.0) const
Array apply(const Array &r) const override
#define QL_FAIL(message)
throw an error (possibly with file and line information)
Dupire local volatility pricing operator Note that time is reversed in order to make backward solvers...
const ext::shared_ptr< FdmMesher > mesher_
Real Time
continuous quantity with 1-year units
std::size_t Size
size of a container
ext::shared_ptr< YieldTermStructure > r
second derivative operator