QuantLib_MixedScheme

Langue: en

Autres versions - même langue

Version: 380846 (fedora - 01/12/10)

Section: 3 (Bibliothèques de fonctions)

NAME

QuantLib::MixedScheme -

Mixed (explicit/implicit) scheme for finite difference methods.

SYNOPSIS


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

Inherited by CrankNicolson< Operator >, ExplicitEuler< Operator >, and 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 Member Functions


MixedScheme (const operator_type &L, Real theta, const bc_set &bcs)

void step (array_type &a, Time t)

void setStep (Time dt)

Protected Attributes


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::MixedScheme< Operator >

Mixed (explicit/implicit) 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 applyTo(const array_type&);
         array_type solveFor(const array_type&);
         static Operator identity(Size size);
 
         // operator algebra
         Operator operator*(Real, const Operator&);
         Operator operator+(const Operator&, const Operator&);
         Operator operator+(const Operator&, const Operator&);
 

Warning

The differential operator must be linear for this evolver to work.

Possible enhancements

*
derive variable theta schemes
*
introduce multi time-level schemes.

Author

Generated automatically by Doxygen for QuantLib from the source code.