TridiagonalOperator Class Reference
[Finite-differences framework]
#include <ql/methods/finitedifferences/tridiagonaloperator.hpp>
Inheritance diagram for TridiagonalOperator:

Detailed Description
Base implementation for tridiagonal operator.
- Warning:
- to use real time-dependant algebra, you must overload the corresponding operators in the inheriting time-dependent class.
Operator interface | |
Disposable< Array > | applyTo (const Array &v) const |
apply operator to a given array | |
Disposable< Array > | solveFor (const Array &rhs) const |
solve linear system for a given right-hand side | |
Disposable< Array > | SOR (const Array &rhs, Real tol) const |
solve linear system with SOR approach | |
static Disposable< TridiagonalOperator > | identity (Size size) |
identity instance | |
Public Types | |
typedef Array | array_type |
Public Member Functions | |
TridiagonalOperator (Size size=0) | |
TridiagonalOperator (const Array &low, const Array &mid, const Array &high) | |
TridiagonalOperator (const Disposable< TridiagonalOperator > &) | |
TridiagonalOperator & | operator= (const Disposable< TridiagonalOperator > &) |
Inspectors | |
Size | size () const |
bool | isTimeDependent () |
const Array & | lowerDiagonal () const |
const Array & | diagonal () const |
const Array & | upperDiagonal () const |
Modifiers | |
void | setFirstRow (Real, Real) |
void | setMidRow (Size, Real, Real, Real) |
void | setMidRows (Real, Real, Real) |
void | setLastRow (Real, Real) |
void | setTime (Time t) |
Utilities | |
void | swap (TridiagonalOperator &) |
Protected Attributes | |
Array | diagonal_ |
Array | lowerDiagonal_ |
Array | upperDiagonal_ |
boost::shared_ptr< TimeSetter > | timeSetter_ |
Friends | |
Disposable< TridiagonalOperator > | operator+ (const TridiagonalOperator &) |
Disposable< TridiagonalOperator > | operator- (const TridiagonalOperator &) |
Disposable< TridiagonalOperator > | operator+ (const TridiagonalOperator &, const TridiagonalOperator &) |
Disposable< TridiagonalOperator > | operator- (const TridiagonalOperator &, const TridiagonalOperator &) |
Disposable< TridiagonalOperator > | operator * (Real, const TridiagonalOperator &) |
Disposable< TridiagonalOperator > | operator * (const TridiagonalOperator &, Real) |
Disposable< TridiagonalOperator > | operator/ (const TridiagonalOperator &, Real) |
Classes | |
class | TimeSetter |
encapsulation of time-setting logic More... |