CrankNicolson Class Template Reference

#include <cranknicolson.hpp>

Inheritance diagram for CrankNicolson:

Inheritance graph
[legend]
List of all members.

Detailed Description

template<class Operator>
class QuantLib::FiniteDifferences::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 > >


The documentation for this class was generated from the following file:

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