25#ifndef quantlib_fdm_square_root_fwd_op_hpp
26#define quantlib_fdm_square_root_fwd_op_hpp
32 class SquareRootProcess;
33 class TripleBandLinearOp;
34 class ModTripleBandLinearOp;
41 const ext::shared_ptr<FdmMesher>& mesher,
62 void setLowerBC(
const ext::shared_ptr<FdmMesher>& mesher);
63 void setUpperBC(
const ext::shared_ptr<FdmMesher>& mesher);
90 ext::shared_ptr<ModTripleBandLinearOp>
mapX_;
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
void setLowerBC(const ext::shared_ptr< FdmMesher > &mesher)
std::vector< SparseMatrix > toMatrixDecomp() const override
void getCoeffLog(Real &alpha, Real &beta, Real &gamma, Size n) const
ext::shared_ptr< ModTripleBandLinearOp > mapX_
Real upperBoundaryFactor(TransformationType type=Plain) const
void setUpperBC(const ext::shared_ptr< FdmMesher > &mesher)
void setTime(Time t1, Time t2) override
Time is required.
void getCoeffPlain(Real &alpha, Real &beta, Real &gamma, Size n) const
Array apply_mixed(const Array &r) const override
void getCoeffPower(Real &alpha, Real &beta, Real &gamma, Size n) const
Array solve_splitting(Size direction, const Array &r, Real s) const override
const TransformationType transform_
Array apply(const Array &r) const override
void getCoeff(Real &alpha, Real &beta, Real &gamma, Size n) const
Real lowerBoundaryFactor(TransformationType type=Plain) const
composite pattern for linear operators
Real Time
continuous quantity with 1-year units
std::size_t Size
size of a container
ext::shared_ptr< YieldTermStructure > r
ext::shared_ptr< BlackVolTermStructure > v