27#ifndef quantlib_triple_band_linear_op_hpp
28#define quantlib_triple_band_linear_op_hpp
40 const ext::shared_ptr<FdmMesher>& mesher);
1-D array used in linear algebra.
std::unique_ptr< Real[]> diag_
void swap(TripleBandLinearOp &m) noexcept
std::unique_ptr< Real[]> lower_
std::unique_ptr< Size[]> i0_
SparseMatrix toMatrix() const override
TripleBandLinearOp multR(const Array &u) const
Array solve_splitting(const Array &r, Real a, Real b=1.0) const
std::unique_ptr< Real[]> upper_
~TripleBandLinearOp() override=default
void axpyb(const Array &a, const TripleBandLinearOp &x, const TripleBandLinearOp &y, const Array &b)
TripleBandLinearOp mult(const Array &u) const
TripleBandLinearOp & operator=(const TripleBandLinearOp &m)
Array apply(const Array &r) const override
ext::shared_ptr< FdmMesher > mesher_
std::unique_ptr< Size[]> reverseIndex_
TripleBandLinearOp()=default
TripleBandLinearOp add(const TripleBandLinearOp &m) const
std::unique_ptr< Size[]> i2_
ext::function< Real(Real)> b
linear operator to model a multi dimensinal pde system
std::size_t Size
size of a container
void swap(Array &v, Array &w) noexcept
boost::numeric::ublas::compressed_matrix< Real > SparseMatrix
ext::shared_ptr< YieldTermStructure > r