QuantLib: a free/open-source library for quantitative finance
Reference manual - version 1.40
Loading...
Searching...
No Matches
ImplicitEuler< Operator > Class Template Reference

Backward Euler scheme for finite difference methods. More...

#include <ql/methods/finitedifferences/impliciteuler.hpp>

Inheritance diagram for ImplicitEuler< Operator >:

Public Types

typedef OperatorTraits< Operator > traits
typedef traits::operator_type operator_type
typedef traits::array_type array_type
typedef traits::bc_set bc_set
typedef traits::condition_type condition_type
Public Types inherited from MixedScheme< Operator >
typedef OperatorTraits< Operator > traits
typedef traits::operator_type operator_type
typedef traits::array_type array_type
typedef traits::bc_set bc_set
typedef traits::condition_type condition_type

Public Member Functions

 ImplicitEuler (const operator_type &L, const bc_set &bcs)
Public Member Functions inherited from MixedScheme< Operator >
 MixedScheme (const operator_type &L, Real theta, bc_set bcs)
void step (array_type &a, Time t)
void setStep (Time dt)

Additional Inherited Members

Protected Attributes inherited from MixedScheme< Operator >
operator_type L_
operator_type I_
operator_type explicitPart_
operator_type implicitPart_
Time dt_
Real theta_
bc_set bcs_

Detailed Description

template<class Operator>
class QuantLib::ImplicitEuler< Operator >

Backward Euler scheme for finite difference methods.

In this implementation, the passed operator must be derived from either TimeConstantOperator or TimeDependentOperator. Also, it must implement at least the following interface:

typedef ... array_type;
// copy constructor/assignment
// (these will be provided by the compiler if none is defined)
Operator(const Operator&);
Operator& operator=(const Operator&);
// inspectors
Size size();
// modifiers
void setTime(Time t);
// operator interface
array_type solveFor(const array_type&);
static Operator identity(Size size);
// operator algebra
Operator operator*(Real, const Operator&);
Operator operator+(const Operator&, const Operator&);