DZero Class Reference
Finite-differences framework

\( D_{0} \) matricial representation More...

`#include <ql/methods/finitedifferences/dzero.hpp>`

Inheritance diagram for DZero:
[legend]

## Public Member Functions

| DZero (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 Disposable< TridiagonalOperator > &)
TridiagonalOperator & | operator= (const Disposable< TridiagonalOperator > &)
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 &)
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
void | solveFor (const Array &rhs, Array &result) const
Disposable< Array > | SOR (const Array &rhs, Real tol) const
| solve linear system with SOR approach

## Additional Inherited Members

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

## Detailed Description

\( D_{0} \) matricial representation

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

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

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