Class hierarchy   Compound list   File list   Compound Members   File Members   Related Pages   Examples  

timeDisc Class Reference

This class provides a time discretization of a vector field. More...

Inherits map.

List of all members.

Public Members


Detailed Description

This class provides a time discretization of a vector field.

This is a derived class with base class "map". The "timeDisc" class is supplied an autonomous ODE together with its derivative, a timestep h, and a number of iterates N, and has public members which return the value, inverse, and derivative of the map which is the Nth iterate of the time-discretization with time step h. The class provides an algorithm for estimating the inverse when one is not provided (based on multidimensional Newton-Raphson with backtracking). The class also provides a numerical derivative algorithm as an alternative way to obtain the derivative of the map which is the Nth iterate of the time-discretization with time step h. The methods of time discretization currently supported are the explicit Euler method, classical forth order Runge-Kutta, and the Bulirsch-Stoer (polynomial extrapolation) method.

Examples:
d1StableODE.C and d2StableODE.C.

Member Function Documentation

timeDisc::timeDisc(int whasInv, int wnumDeriv, int wn, int wN, REAL wh, REAL dfridr_h, REAL acc, REAL dAcc, REAL wcp, char wtype[9], VEC (*wodePtr)(VEC, REAL), MAT (*wodeDerivPtr)(VEC, REAL), int wMAXITS, REAL wTOLF, REAL wTOLMIN, REAL wTOLX, REAL wSTPMX)

This is the explicit constructor for the timeDisc class. This is the only accessible constructor for this class.

Parameters:
hasInv - an integer, either 0 or 1, which specifies whether to treat the time discretization as if it is invertible. Usually set to 0. If it is set to 0, the inverse of the dynamical system determined by the time discretization will never be invoked or estimated.
numDeriv - an integer, either 0 or 1, which specifies whether to use a numerical derivative. When set to 1, *odeDerivPtr is never invoked.
n - a positive integer specifying the ambient dimension.
N - a positive integer, the number of iterates of the time discretization which is equal to one evaluation of the dynamical system.
h - a "REAL" value giving the step size for the time discretization.
dfridr_h - a "REAL" value, used as an initial stepsize for the numerical derivative. If the argument of the dynamical system has scale of order 1, then take this to be a few tenths.
acc - a "REAL" value, not currently used.
dAcc - a "REAL" value, the error tolerence for the numerical derivative.
cp - a "REAL" value, the initial value of the continuation parameter.
type - a character array of maximum length 9, specifying the type of discretization to be used, for example "rk4", "euler", or "bulirsch".
odePtr - a pointer to a function with arguments ("VEC","REAL") and return value "VEC". The function returns the value of the vector field at a point, where the second argument is the value of the continuation parameter.
odeDerivPtr - a pointer to a function with arguments ("VEC","REAL") and return value "MAT". The function returns the value of the derivative of the vector field at a point, where the second argument is the value of the continuation parameter.

Description of parameters for the multidimensional Newton's algorithm: (there are default arguments for these)

Parameters:
MAXITS - a positive integer specifying the maximum number of iterations.
TOLF - a "REAL" value, the convergence criterion on function values.
TOLMIN - a "REAL" value, the criterion for deciding whether spurious convergence to a minimum of fmin has occurred.
TOLX - a "REAL" value, the convergence criterion on (delta x) = the change in the guess for the root.
STPMX - a "REAL" value, the scaled maximum length allowed in line searches.

Returns:
a timeDisc object.


The documentation for this class was generated from the following files:
Generated at Sat Oct 16 03:55:28 1999 for Computing Invariant Manifolds Library by doxygen  written by Dimitri van Heesch, © 1997-1998