IMFFlow
[IMF]

Collaboration diagram for IMFFlow:


Modules

 Source
 Hyperbolic
 SaddleFocus
 SaddleCenter
 Lorenz
 StandardLorenz

Classes

class  IMFFlow
 A flow is a way of defining a continuous dynamical system. It gives the time derivative of the state as a function of the state. If the flow depends on time it is call non-autonomous. An IMFFlow represents an autonomous flow, which is independant of time. More...

Typedefs

typedef void(* MFFlowFreeData )(void *, MFErrorHandler e)
typedef void(* MFFlowFunction )(double *, double *, double *, void *, MFErrorHandler e)

Functions

IMFFlow IMFCreateFlow (int nu, int np, MFFlowFunction F, MFFlowFunction dF, MFFlowFunction dFdp, MFFlowFunction ddF, MFFlowFunction dddF, void *data, MFFlowFreeData freeData, MFErrorHandler e)
 Creates a parameterized flow.
IMFFlow IMFCreateFatFlow (IMFFlow F, int k, MFErrorHandler e)
 Creates a fat parameterized flow. A fat flow is a flow for the point in phase space, an orthonormal basis for a "tangent space" (it doesn't have to be the tangent space of anything, it's just a linear subspace), and a quadratic in the normal space (orthogonal to the tangent space).
IMFFlow IMFCreateBackwardFatFlow (IMFFlow F, int k, MFErrorHandler e)
 Creates a fat parameterized flow, based on the reverse time flow of a given flow F. This is the same as IMFCreateFatFlow(IMFCreateBackwardFlow(F),k,MFErrorHandler e);.
void IMFEvaluateFlow (IMFFlow F, MFNVector vu, MFKVector vp, double *f, MFErrorHandler e)
 Evaluates the flow direction at a point in phase space.
void IMFEvaluateDerivativeOfFlow (IMFFlow F, MFNVector vu, MFKVector vp, double *df, MFErrorHandler e)
 Evaluates the derivative of the flow at a point in phase space (the Jacobian).
void IMFEvaluateParameterDerivativeOfFlow (IMFFlow F, MFNVector vu, MFKVector vp, double *dp, MFErrorHandler e)
 Evaluates the derivative of the flow at a point in phase space with respect to the parameter space variables (dFdp).
void IMFEvaluateSecondDerivativeOfFlow (IMFFlow F, MFNVector vu, MFKVector vp, double *ddf, MFErrorHandler e)
 Evaluates the second derivative of the flow at a point in phase space (dFdudu).
void IMFEvaluateThirdDerivativeOfFlow (IMFFlow F, MFNVector vu, MFKVector vp, double *dddf, MFErrorHandler e)
 Evaluates the third derivative of the flow at a point in phase space (dFdududu).
int IMFFlowNU (IMFFlow F, MFErrorHandler e)
 Returns the dimension of the phase space of the flow F.
int IMFFlowNP (IMFFlow F, MFErrorHandler e)
 Returns the dimension of the parameter space of the flow F.
void * IMFFlowData (IMFFlow F, MFErrorHandler e)
 Returns the data block that was provided when F was constructed. BE VERY CAREFUL WITH THIS.
MFFlowFreeData IMFFlowFreeData (IMFFlow F, MFErrorHandler e)
 Returns the routine to free the data block that was provided when F was constructed.
IMFFlow IMFCreateBackwardFlow (IMFFlow F, MFErrorHandler e)
 Creates the reverse time flow of F.
double IMFFlowR (IMFFlow F, double eps, MFNVector u, MFKVector p, MFNKMatrix mPhi, MFErrorHandler e)
 Estimates the radius of a negihborhood of a point in phase space within which the flow F does not change more than eps.
void IMFRefFlow (IMFFlow flow, MFErrorHandler e)
 Adds a reference to the flow.
void IMFFreeFlow (IMFFlow flow, MFErrorHandler e)
 Frees a reference to the flow, and deletes the flow if there are no references left.
void IMFWriteFlow (FILE *fid, IMFFlow flow, MFErrorHandler e)
 Writes a flow to a file.
IMFFlow IMFReadFlow (FILE *fid, MFAtlas A, MFErrorHandler e)
 Reads a flow from a file.

Typedef Documentation

typedef void(* MFFlowFreeData)(void *, MFErrorHandler e)
 

typedef void (*MFFlowFreeData)(void*,MFErrorHandler e); /brief A convenience for the signature of the "FreeData" routine of a flow.

Definition at line 29 of file IMFFlow.h.

typedef void(* MFFlowFunction)(double *, double *, double *, void *, MFErrorHandler e)
 

typedef void (*MFFlowFunction)(double*,double*,double*,void*,MFErrorHandler e); /brief A convenience for the signature of the functions which evaluate the flow and its derivatives.

Definition at line 34 of file IMFFlow.h.


Function Documentation

IMFFlow IMFCreateBackwardFatFlow IMFFlow  F,
int  k,
MFErrorHandler  e
 

Creates a fat parameterized flow, based on the reverse time flow of a given flow F. This is the same as IMFCreateFatFlow(IMFCreateBackwardFlow(F),k,MFErrorHandler e);.

IMFFlow IMFCreateBackwardFatFlow(IMFFlow F,int k,MFErrorHandler e);

Parameters:
F The flow that will be fattened.
k The dimension of the tangent space.
e A place to return errors.
Returns:
The fattened flow.

IMFFlow IMFCreateBackwardFlow IMFFlow  F,
MFErrorHandler  e
 

Creates the reverse time flow of F.

IMFFlow IMFCreateBackwardFlow(IMFFlow F,MFErrorHandler e);

Parameters:
F A flow.
e A place to return errors.
Returns:
The reverse time flow of F.

IMFFlow IMFCreateFatFlow IMFFlow  F,
int  k,
MFErrorHandler  e
 

Creates a fat parameterized flow. A fat flow is a flow for the point in phase space, an orthonormal basis for a "tangent space" (it doesn't have to be the tangent space of anything, it's just a linear subspace), and a quadratic in the normal space (orthogonal to the tangent space).

IMFFlow IMFCreateFatFlow(IMFFlow F,int k,MFErrorHandler e);

Parameters:
F The flow that will be fattened.
k The dimension of the tangent space.
e A place to return errors.
Returns:
The fattened flow.

IMFFlow IMFCreateFlow int  nu,
int  np,
MFFlowFunction  F,
MFFlowFunction  dF,
MFFlowFunction  dFdp,
MFFlowFunction  ddF,
MFFlowFunction  dddF,
void *  data,
MFFlowFreeData  freeData,
MFErrorHandler  e
 

Creates a parameterized flow.

IMFFlow IMFCreateFlow(int nu, int np, MFFlowFunction F, MFFlowFunction dF, MFFlowFunction dFdp, MFFlowFunction ddF, MFFlowFunction dddF,void *data, MFFlowFreeData freeData,MFErrorHandler e);

Parameters:
nu The dimension of the phase space.
np The dimension of the parameter space.
F The flow. Assigns a vector to each point in phase space.
dF The derivative of the flow with respect to the phase space variables (i.e. the Jacobian).
dFdp The derivative of the flow with respect to the parameter space variables.
ddF The second derivative of the flow with respect to the phase space variables.
dddF The thired derivative of the flow with respect to the phase space variables.
data A parameter block that will be passed to F and it's derivatives.
freeData A routine that may be provided to release the parameter block when the flow is deleted.
e A place to return errors.
Returns:
A flow.

void IMFEvaluateDerivativeOfFlow IMFFlow  F,
MFNVector  vu,
MFKVector  vp,
double *  df,
MFErrorHandler  e
 

Evaluates the derivative of the flow at a point in phase space (the Jacobian).

void IMFEvaluateDerivativeOfFlow(IMFFlow F, MFNVector vu, MFKVector vp, double *df,MFErrorHandler e);

Parameters:
F The flow.
vu A point in phase space.
vp A point in parameter space.
df An array of length at least the square of the dimension of the phase space to hold the Jacobian. It is filled with entries in column order. That is dF^i_j = df[i+nu*j], where nu is the dimension of the phase space.
e A place to return errors.

void IMFEvaluateFlow IMFFlow  F,
MFNVector  vu,
MFKVector  vp,
double *  f,
MFErrorHandler  e
 

Evaluates the flow direction at a point in phase space.

void IMFEvaluateFlow(IMFFlow F, MFNVector vu, MFKVector vp, double *f,MFErrorHandler e);

Parameters:
F The flow.
vu A point in phase space.
vp A point in parameter space.
f An array of length at least the dimension of the phase space to hold the flow vector.
e A place to return errors.

void IMFEvaluateParameterDerivativeOfFlow IMFFlow  F,
MFNVector  vu,
MFKVector  vp,
double *  dp,
MFErrorHandler  e
 

Evaluates the derivative of the flow at a point in phase space with respect to the parameter space variables (dFdp).

void IMFEvaluateParameterDerivativeOfFlow(IMFFlow F, MFNVector vu, MFKVector vp,double *dp,MFErrorHandler e);

Parameters:
F The flow.
vu A point in phase space.
vp A point in parameter space.
dp An array of length at least the dimension of the phase space times the dimension of the parameter space, to hold the derivatives. It is filled with entries in column order. That is dF^i_j = dp[i+nu*j], where nu is the dimension of the phase space.
e A place to return errors.

void IMFEvaluateSecondDerivativeOfFlow IMFFlow  F,
MFNVector  vu,
MFKVector  vp,
double *  ddf,
MFErrorHandler  e
 

Evaluates the second derivative of the flow at a point in phase space (dFdudu).

void IMFEvaluateSecondDerivativeOfFlow(IMFFlow F, MFNVector vu, MFKVector vp,double *ddf,MFErrorHandler e);

Parameters:
F The flow.
vu A point in phase space.
vp A point in parameter space.
ddf An array of length at least the cube of the dimension of the phase space to hold the derivatives. It is filled with entries in column order. That is dF^i_jk = df[i+nu*(j+nu*k)], where nu is the dimension of the phase space.
e A place to return errors.

void IMFEvaluateThirdDerivativeOfFlow IMFFlow  F,
MFNVector  vu,
MFKVector  vp,
double *  dddf,
MFErrorHandler  e
 

Evaluates the third derivative of the flow at a point in phase space (dFdududu).

void IMFEvaluateThirdDerivativeOfFlow(IMFFlow F, MFNVector vu, MFKVector vp,double *ddf,MFErrorHandler e);

Parameters:
F The flow.
vu A point in phase space.
vp A point in parameter space.
dddf An array of length at least the cube of the dimension of the phase space to hold the derivatives. It is filled with entries in column order. That is dF^i_jkl = df[i+nu*(j+nu*(k+nu*l))], where nu is the dimension of the phase space.
e A place to return errors.

void* IMFFlowData IMFFlow  F,
MFErrorHandler  e
 

Returns the data block that was provided when F was constructed. BE VERY CAREFUL WITH THIS.

void *IMFFlowData(IMFFlow F,MFErrorHandler e);

Parameters:
F The flow.
e A place to return errors.
Returns:
The data block which belongs to the flow.

MFFlowFreeData IMFFlowFreeData IMFFlow  F,
MFErrorHandler  e
 

Returns the routine to free the data block that was provided when F was constructed.

MFFlowFreeData IMFFlowFreeData(IMFFlow F,MFErrorHandler e);

Parameters:
F The flow.
e A place to return errors.
Returns:
The routine to free the data block.

int IMFFlowNP IMFFlow  F,
MFErrorHandler  e
 

Returns the dimension of the parameter space of the flow F.

int IMFFlowNP(IMFFlow F,MFErrorHandler e);

Parameters:
F The flow.
e A place to return errors.
Returns:
The dimension of the parameter space.

int IMFFlowNU IMFFlow  F,
MFErrorHandler  e
 

Returns the dimension of the phase space of the flow F.

int IMFFlowNU(IMFFlow F,MFErrorHandler e);

Parameters:
F The flow.
e A place to return errors.
Returns:
The dimension of the phase space.

double IMFFlowR IMFFlow  F,
double  eps,
MFNVector  u,
MFKVector  p,
MFNKMatrix  mPhi,
MFErrorHandler  e
 

Estimates the radius of a negihborhood of a point in phase space within which the flow F does not change more than eps.

double IMFFlowR(IMFFlow F, double eps, MFNVector u, MFKVector p, MFNKMatrix mPhi,MFErrorHandler e);

Parameters:
F A flow.
eps The bound on the change of F allowed within the neighborhood.
u A point in phase space.
p A point in parameter space.
mPhi An orthonormal basis for a subspace in phase space. The bound on the change in F need only hold in this subspace (a spherical ball in the subspace centered at the point in phase space).
e A place to return errors.
Returns:
The size of a neighborhood in which the bound applies.

void IMFFreeFlow IMFFlow  flow,
MFErrorHandler  e
 

Frees a reference to the flow, and deletes the flow if there are no references left.

Parameters:
flow The flow being unreferenced.
e A place to return errors.
See also:
ReferenceCounting IMFRefFlow

IMFFlow IMFReadFlow FILE *  fid,
MFAtlas  A,
MFErrorHandler  e
 

Reads a flow from a file.

Parameters:
fid The file to write to.
A The Atlas for the flow.
e A place to return errors.
Returns:
flow The flow.

void IMFRefFlow IMFFlow  flow,
MFErrorHandler  e
 

Adds a reference to the flow.

Parameters:
flow The flow being referenced.
e A place to return errors.
See also:
ReferenceCounting IMFFreeFlow

void IMFWriteFlow FILE *  fid,
IMFFlow  flow,
MFErrorHandler  e
 

Writes a flow to a file.

Parameters:
fid The file to write to.
flow The flow being queried.
e A place to return errors.


Generated on Tue Jan 30 13:38:45 2007 for multifario by  doxygen 1.4.6