CrankNicolson Class Template Reference

#include <ql/FiniteDifferences/cranknicolson.hpp>

Inheritance diagram for CrankNicolson:

Inheritance graph
[legend]
List of all members.

Detailed Description

template<class Operator>
class QuantLib::CrankNicolson< Operator >

Crank-Nicolson scheme for finite difference methods.

See sect. The finite differences framework for details on the method.

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

typedef ... arrayType; // 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 arrayType applyTo(const arrayType&); arrayType solveFor(const arrayType&); static Operator identity(Size size); // operator algebra Operator operator*(double, 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.


Friends

class FiniteDifferenceModel< CrankNicolson< Operator > >


QuantLib.org
QuantLib
Hosted by
SourceForge.net Logo
Documentation generated by
doxygen