QuantLib: a free/open-source library for quantitative finance
fully annotated source code - version 1.38
Loading...
Searching...
No Matches
Public Member Functions | List of all members
DPlusDMinus Class Reference

\( D_{+}D_{-} \) matricial representation More...

#include <dplusdminus.hpp>

+ Inheritance diagram for DPlusDMinus:
+ Collaboration diagram for DPlusDMinus:

Public Member Functions

 DPlusDMinus (Size gridPoints, Real h)
 
- Public Member Functions inherited from TridiagonalOperator
 TridiagonalOperator (Size size=0)
 
 TridiagonalOperator (const Array &low, const Array &mid, const Array &high)
 
 TridiagonalOperator (const TridiagonalOperator &)=default
 
 TridiagonalOperator (TridiagonalOperator &&) noexcept
 
TridiagonalOperator & operator= (const TridiagonalOperator &)
 
TridiagonalOperator & operator= (TridiagonalOperator &&) noexcept
 
 ~TridiagonalOperator ()=default
 
Size size () const
 
bool isTimeDependent () const
 
const Array & lowerDiagonal () const
 
const Array & diagonal () const
 
const Array & upperDiagonal () const
 
void setFirstRow (Real, Real)
 
void setMidRow (Size, Real, Real, Real)
 
void setMidRows (Real, Real, Real)
 
void setLastRow (Real, Real)
 
void setTime (Time t)
 
void swap (TridiagonalOperator &) noexcept
 
Array applyTo (const Array &v) const
 apply operator to a given array More...
 
Array solveFor (const Array &rhs) const
 solve linear system for a given right-hand side More...
 
void solveFor (const Array &rhs, Array &result) const
 
Array SOR (const Array &rhs, Real tol) const
 solve linear system with SOR approach More...
 

Additional Inherited Members

- Public Types inherited from TridiagonalOperator
typedef Array array_type
 
- Static Public Member Functions inherited from TridiagonalOperator
static TridiagonalOperator identity (Size size)
 identity instance More...
 
- Protected Attributes inherited from TridiagonalOperator
Size n_
 
Array diagonal_
 
Array lowerDiagonal_
 
Array upperDiagonal_
 
Array temp_
 
ext::shared_ptr< TimeSetter > timeSetter_
 

Detailed Description

\( D_{+}D_{-} \) matricial representation

The differential operator \( D_{+}D_{-} \) discretizes the second derivative with the second-order formula

\[ \frac{\partial^2 u_{i}}{\partial x^2} \approx \frac{u_{i+1}-2u_{i}+u_{i-1}}{h^2} = D_{+}D_{-} u_{i} \]

Tests:
the correctness of the returned values is tested by checking them against numerical calculations.

Definition at line 43 of file dplusdminus.hpp.

Constructor & Destructor Documentation

◆ DPlusDMinus()

DPlusDMinus ( Size  gridPoints,
Real  h 
)

Definition at line 51 of file dplusdminus.hpp.

+ Here is the call graph for this function: