QuantLib_MixedScheme man page

MixedScheme< Operator > — Mixed (explicit/implicit) scheme for finite difference methods.


#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&);


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


Generated automatically by Doxygen for QuantLib from the source code.

Referenced By

bcs_(3), explicitPart_(3), I_(3), implicitPart_(3), L_(3), MixedScheme(3), setStep(3), step(3) and theta_(3) are aliases of QuantLib_MixedScheme(3).

Fri Sep 23 2016 Version 1.8.1 QuantLib