MFAtlas

Collaboration diagram for MFAtlas:


Modules

 MFBinaryTree
 MFChart
 MFKVector
 MFListOfCharts
 MFNKMatrix

Classes

class  MFAtlas
 An atlas (or list) of charts, which represents a manifold. More...

Functions

MFAtlas MFCreateAtlas (MFImplicitMF M, MFErrorHandler e)
 Creates an atlas with no charts.
int MFAtlasAddChart (MFAtlas A, MFNVector u, MFErrorHandler e)
 Computes a neighborhood of a point u on the manifold, adds a chart to the list of charts in an atlas and updates the polyhedra of the charts.
int MFAtlasAddChartWithApproxTS (MFAtlas A, MFNVector u, MFNKMatrix Phi, double delta, double R, MFErrorHandler e)
 Computes a neighborhood of a point u on the manifold, adds a chart to the list of charts in an atlas and updates the polyhedra of the charts. An approximation of the tangent space is passed in and used when the new chart is created.
int MFAtlasK (MFAtlas A, MFErrorHandler e)
 Returns the dimension of the manifold.
int MFAtlasN (MFAtlas A, MFErrorHandler e)
 Returns the dimension of the embedding space of the manifold.
MFImplicitMF MFAtlasMF (MFAtlas A, MFErrorHandler e)
 Returns the implicitly defined manifold which the atlas represents.
int MFAtlasNumberOfCharts (MFAtlas A, MFErrorHandler e)
 Returns the number of charts in the atlas.
double MFAtlasChartRadius (MFAtlas A, int chart, MFErrorHandler e)
 Returns the radius of the specified chart.
MFNVector MFAtlasChartCenter (MFAtlas A, int chart, MFErrorHandler e)
 Returns the center of the specified chart.
MFNKMatrix MFAtlasChartTangentSpace (MFAtlas A, int chart, MFErrorHandler e)
 Returns the tangent space of the specified chart.
int MFAtlasIsPointInChart (MFAtlas A, int chart, MFKVector s, MFErrorHandler e)
 Tests whether a k-dimensional point is in the domain of a particular chart in the atlas.
void MFAtlasEvaluateChart (MFAtlas A, int chart, MFKVector s, MFNVector u, MFErrorHandler e)
 Evaluates the chart mapping of the specified chart.
int MFAtlasIsChartSingular (MFAtlas A, int chart, MFErrorHandler e)
 Queries the specified chart to see if it is marked singular.
double MFAtlasChartSuggestedRadius (MFAtlas A, int chart, MFErrorHandler e)
 Returns the suggested radius of the specified chart.
int MFAtlasNumberOfChartNeighbors (MFAtlas A, int chart, MFErrorHandler e)
 Returns the number of charts in the atlas that are neighbors of the specified chart (the number of faces in the chart's polyhedron).
int MFAtlasChartNeighbor (MFAtlas A, int chart, int neighbor, MFErrorHandler e)
 Returns the index of the chart in the atlas of a neighbor of the specified chart.
int MFAtlasNumberOfChartsWithBoundary (MFAtlas A, MFErrorHandler e)
 Returns the number of charts that are currently on the boundary of the union of the chart images.
int MFAtlasChartWithBoundary (MFAtlas A, int chart, MFErrorHandler e)
 Returns the index of a chart in the boundary list of the atlas.
int MFAtlasPointOnBoundaryInsideRegion (MFAtlas A, MFNRegion Omega, MFNVector u, MFNKMatrix *Phi, double *R, MFErrorHandler e)
 Creates a point very near the current boundary of the manifold and a neighborhood of the point.
void MFWriteChartCenters (FILE *fid, MFAtlas A, MFErrorHandler e)
 Writes the centers, tangent space bases, and radii of the charts in an Atlas to a file.
int MFReadChartCenters (FILE *fid, MFNVector **centerList, MFNKMatrix **Philist, double **Rlist, MFErrorHandler e)
 Reads the centers, tangent space bases, and radii of the charts in a file.
void MFAtlasSetEpsilon (MFAtlas A, double epsilon, MFErrorHandler e)
 Sets the internal parameter epsilon, which is the tolerance allowed between the tangent space and the manifold.
void MFAtlasSetRMin (MFAtlas A, double Rmin, MFErrorHandler e)
 Sets the internal parameter Rmin, which is the minimum radius allowed for a chart.
void MFAtlasSetDotMin (MFAtlas A, double, MFErrorHandler e)
 Sets the internal parameter dotmin, which is the smallest dot product between neighboring tangent spaces. (Generalized to more than one dimensional manifolds. The dot product for a flat manifold will be 1.
void MFAtlasSetVerbose (MFAtlas A, int verbose, MFErrorHandler e)
 Controls the output to stdout from operations on the atlas. A value of 0 is quiet.
MFAtlas MFComputeAtlas (MFContinuationMethod algorithm, MFImplicitMF M, MFNRegion Omega, MFNVector u0, MFErrorHandler e)
 Creates an atlas which covers the connected component of the implicitly defined manifold M which is inside the region Omega, and contains the initial point u0.
MFAtlas MFComputeAtlasWithTangent (MFContinuationMethod algorithm, MFImplicitMF M, MFNRegion Omega, MFNVector u0, MFNKMatrix Phi0, MFErrorHandler e)
 Creates an atlas which covers the connected component of the implicitly defined manifold M which is inside the region Omega, and contains the initial point u0.
MFAtlas MFComputeAtlasMultiple (MFContinuationMethod algorithm, MFImplicitMF M, MFNRegion Omega, int n, MFNVector *u0, MFErrorHandler e)
 Creates an atlas which covers the connected component of the implicitly defined manifold M which is inside the region Omega, and contains the n initial points in the array u0[].
MFAtlas MFComputeAtlasMultipleWithTangents (MFContinuationMethod algorithm, MFImplicitMF M, MFNRegion Omega, int n, MFNVector *u0, MFNKMatrix *Phi0, MFErrorHandler e)
 Creates an atlas which covers the connected component of the implicitly defined manifold M which is inside the region Omega, and contains the n initial points in the array u0[].
MFAtlas MFAnimateAtlas (MFImplicitMF M, MFNRegion Omega, MFNVector u0, double epsilon, int kmax, int verbose, char *stub, int DrawSimp, int DrawAfter, int DrawEvery, MFErrorHandler e)
 Creates an animation of the computation of an atlas. That is, it writes images of the Atlas after adding a chart. The viewpoint etc are read from a .view file.
double MFVolumeOfAtlas (MFAtlas A, MFNRegion Omega, MFErrorHandler e)
 Computes the volume of a manifold. This is approximated by adding the volumes of the convex chart polyhedra.
int MFAtlasAddChartWithAll (MFAtlas A, MFNVector u, MFNKMatrix Phi, double R, MFErrorHandler e)
 Adds a chart to the Atlas.A The chart is created with the center, tangents space and radius given.
int MFAtlasPointOnBoundaryWOProject (MFAtlas A, MFNRegion Omega, MFKVector s, MFErrorHandler e)
 Finds a point near the boundary of the atlas, on an existing chart, but not projected onto the manifold.
MFNVector MFAtlasGetPointOnBoundaryChart (MFAtlas A, MFNRegion Omega, int chart, double t0, MFErrorHandler e)
 Refines a point near the boundary by bisection.
int MFAtlasGetSingularChartWithBoundary (MFAtlas A, MFNRegion Omega, MFErrorHandler e)
 Get a singular chart that lies on the boundary.
void MFExtendAtlas (MFAtlas A, MFContinuationMethod algorithm, MFImplicitMF M, MFNRegion Omega, MFNVector u0, MFErrorHandler e)
 Extend a manifold.
void MFExtendAtlasMultiple (MFAtlas A, MFContinuationMethod algorithm, MFImplicitMF M, MFNRegion Omega, int n, MFNVector *u0, MFErrorHandler e)
 Extend a manifold starting with a list of initial points.
void MFExtendAtlasWithTangent (MFAtlas A, MFContinuationMethod algorithm, MFImplicitMF M, MFNRegion Omega, MFNVector u0, MFNKMatrix Tan0, MFErrorHandler e)
 Extend a manifold, with one initial solution and tangent space.
void MFExtendAtlasMultipleWithTangents (MFAtlas A, MFContinuationMethod algorithm, MFImplicitMF M, MFNRegion Omega, int n, MFNVector *u0, MFNKMatrix *Tan0, MFErrorHandler e)
 Extend a manifold starting with a list of initial points and tangent spaces.
void MFCloseAtlas (MFContinuationMethod algorithm, MFAtlas A, MFErrorHandler e)
 Finish any processing for the atlas.
void MFFlushAtlas (MFContinuationMethod algorithm, MFAtlas A, MFErrorHandler e)
 Finish any i/o for the atlas.
void MFAtlasAddClipF (MFAtlas A, double(*side)(MFNVector), MFErrorHandler e)
 Add a clipping plane to the atlas. This serves as a way to clean up plots. The chart polyhedra are clipped against the function "side". Linear interpolation is used on the value of "side" at the vertices, and the positive part is kept.
void MFAtlasClearClipF (MFAtlas A, MFErrorHandler e)
 Removes all clipping planes.
void MFAtlasSetExpFactor (MFAtlas A, double factor, MFErrorHandler e)
 Sets the parameter controlling the output to the plotfile. Each vertex of a polygon is scaled by this factor, so that any gaps between polyhedral faces are closed.
double MFAtlasGetExpFactor (MFAtlas A, MFErrorHandler e)
 Gets the current value of the expansion factor controlling the output to the plotfile.
void MFRefAtlas (MFAtlas A, MFErrorHandler e)
 Adds a reference to the atlas.
void MFFreeAtlas (MFAtlas A, MFErrorHandler e)
 Releases an atlas. This subtracts one from the reference count, and if the count is zero, frees the storage associated with the atlas.
MFAtlas MFReadAtlas (FILE *fid, MFErrorHandler e)
 Reads an Atlas from a file.
void MFWriteAtlas (FILE *fid, MFAtlas A, MFErrorHandler e)
 Writes an Atlas to a file.

Function Documentation

MFAtlas MFAnimateAtlas MFImplicitMF  M,
MFNRegion  Omega,
MFNVector  u0,
double  epsilon,
int  kmax,
int  verbose,
char *  stub,
int  DrawSimp,
int  DrawAfter,
int  DrawEvery,
MFErrorHandler  e
 

Creates an animation of the computation of an atlas. That is, it writes images of the Atlas after adding a chart. The viewpoint etc are read from a .view file.

Parameters:
M An implicitly defined manifold.
Omega The region.
u0 An initial point on M.
epsilon The tolerance for the distance between the manifold and a linear approximation at the chart centers. Used to estimate R.
kmax The largest number of charts to add.
verbose Controls the verbosity on stdout. A value of 0 is quiet.
stub A prefix to use for the files.
DrawSimp TRUE if the dual is to be drawn prefix to use for the files.
DrawAfter skips the first DrawAfter-1 frames in the animation.
DrawEvery Creates an image every time DrawEvery charts have been added.
e A place to return errors.
Returns:
A new atlas.

int MFAtlasAddChart MFAtlas  A,
MFNVector  u,
MFErrorHandler  e
 

Computes a neighborhood of a point u on the manifold, adds a chart to the list of charts in an atlas and updates the polyhedra of the charts.

Parameters:
A The atlas being modified.
u The center of the chart to be created and added.
e A place to return errors.
Returns:
TRUE if the operation was sucessful.

int MFAtlasAddChartWithAll MFAtlas  A,
MFNVector  u,
MFNKMatrix  Phi,
double  R,
MFErrorHandler  e
 

Adds a chart to the Atlas.A The chart is created with the center, tangents space and radius given.

Parameters:
A The atlas being modified.
u The center of the chart to be created and added.
Phi A basis for the tangent space of the manifold at u.
R The radius of the domain of the chart.
e A place to return errors.
Returns:
TRUE if the operation was sucessful.

int MFAtlasAddChartWithApproxTS MFAtlas  A,
MFNVector  u,
MFNKMatrix  Phi,
double  delta,
double  R,
MFErrorHandler  e
 

Computes a neighborhood of a point u on the manifold, adds a chart to the list of charts in an atlas and updates the polyhedra of the charts. An approximation of the tangent space is passed in and used when the new chart is created.

Parameters:
A The atlas being modified.
u The center of the chart to be created and added.
Phi An approximation to the tangent space of the new chart.
delta The radius of the new chart is chosen so that in the domain of the chart the distance between the linear approximation of the manifold at the center of the chart and the manifold is less than delta.
R A radius to use for the new chart if one can't be computed.
e A place to return errors.
Returns:
TRUE if the operation was sucessful.

void MFAtlasAddClipF MFAtlas  A,
double(*)(MFNVector side,
MFErrorHandler  e
 

Add a clipping plane to the atlas. This serves as a way to clean up plots. The chart polyhedra are clipped against the function "side". Linear interpolation is used on the value of "side" at the vertices, and the positive part is kept.

Parameters:
A The atlas.
side A function giving the distance from the clipping surface.
e A place to return errors.

MFNVector MFAtlasChartCenter MFAtlas  A,
int  chart,
MFErrorHandler  e
 

Returns the center of the specified chart.

Parameters:
A The atlas being queried.
chart The chart being queried (between 0 and MFAtlasNumberOfCharts(A)-1).
e A place to return errors.
Returns:
The center of the chart.

int MFAtlasChartNeighbor MFAtlas  A,
int  chart,
int  neighbor,
MFErrorHandler  e
 

Returns the index of the chart in the atlas of a neighbor of the specified chart.

Parameters:
A The atlas being queried.
chart The chart being queried (between 0 and MFAtlasNumberOfCharts(A)-1).
neighbor The number of the neighbor being requested (between 0 and MFAtlasNumberOfChartNeighbors(A,chart)-1).
e A place to return errors.
Returns:
The neighbor (between 0 and MFAtlasNumberOfCharts(A)-1).

double MFAtlasChartRadius MFAtlas  A,
int  chart,
MFErrorHandler  e
 

Returns the radius of the specified chart.

Parameters:
A The atlas being queried.
chart The chart being queried (between 0 and MFAtlasNumberOfCharts(A)-1).
e A place to return errors.
Returns:
The radius.

double MFAtlasChartSuggestedRadius MFAtlas  A,
int  chart,
MFErrorHandler  e
 

Returns the suggested radius of the specified chart.

Parameters:
A The atlas being queried.
chart The chart being queried (between 0 and MFAtlasNumberOfCharts(A)-1).
e A place to return errors.
Returns:
The suggested chart radius.

MFNKMatrix MFAtlasChartTangentSpace MFAtlas  A,
int  chart,
MFErrorHandler  e
 

Returns the tangent space of the specified chart.

Parameters:
A The atlas being queried.
chart The chart being queried (between 0 and MFAtlasNumberOfCharts(A)-1).
e A place to return errors.
Returns:
The tangent space of the chart.

int MFAtlasChartWithBoundary MFAtlas  A,
int  chart,
MFErrorHandler  e
 

Returns the index of a chart in the boundary list of the atlas.

Parameters:
A The atlas being queried.
chart The chart being queried (between 0 and MFAtlasNumberOfChartsWithBoundary(A)-1).
e A place to return errors.
Returns:
The boundary chart.

void MFAtlasClearClipF MFAtlas  A,
MFErrorHandler  e
 

Removes all clipping planes.

Parameters:
A The atlas.
e A place to return errors.

void MFAtlasEvaluateChart MFAtlas  A,
int  chart,
MFKVector  s,
MFNVector  u,
MFErrorHandler  e
 

Evaluates the chart mapping of the specified chart.

Parameters:
A The atlas being queried.
chart The chart being queried (between 0 and MFAtlasNumberOfCharts(A)-1).
s The k-dimensional point.
u The image of s.
e A place to return errors.

void MFAtlasGetExpFactor MFAtlas  A,
MFErrorHandler  e
 

Gets the current value of the expansion factor controlling the output to the plotfile.

Parameters:
A The atlas.
e A place to return errors.
Returns:
The expansion factor.

MFNVector MFAtlasGetPointOnBoundaryChart MFAtlas  A,
MFNRegion  Omega,
int  chart,
double  t0,
MFErrorHandler  e
 

Refines a point near the boundary by bisection.

Parameters:
A The atlas being modified.
Omega A region within which the boundary point must lie.
chart A boundary chart.
t0 A distance which generates a point outside Omega.
e A place to return errors.
Returns:
The point on the manifold.

int MFAtlasGetSingularChartWithBoundary MFAtlas  A,
MFNRegion  Omega,
MFErrorHandler  e
 

Get a singular chart that lies on the boundary.

Parameters:
A The atlas.
Omega A region within which the boundary point must lie.
e A place to return errors.
Returns:
The number of the chart.

int MFAtlasIsChartSingular MFAtlas  A,
int  chart,
MFErrorHandler  e
 

Queries the specified chart to see if it is marked singular.

Parameters:
A The atlas being queried.
chart The chart being queried (between 0 and MFAtlasNumberOfCharts(A)-1).
e A place to return errors.
Returns:
TRUE If the chart being queried is marked as singular.

int MFAtlasIsPointInChart MFAtlas  A,
int  chart,
MFKVector  s,
MFErrorHandler  e
 

Tests whether a k-dimensional point is in the domain of a particular chart in the atlas.

Parameters:
A The atlas being queried.
chart The chart being queried (between 0 and MFAtlasNumberOfCharts(A)-1).
s The k-dimensional point.
e A place to return errors.
Returns:
TRUE if the point is in the domain.

int MFAtlasK MFAtlas  A,
MFErrorHandler  e
 

Returns the dimension of the manifold.

Parameters:
A The atlas being queried.
e A place to return errors.
Returns:
The dimension of the manifold.

MFImplicitMF MFAtlasMF MFAtlas  A,
MFErrorHandler  e
 

Returns the implicitly defined manifold which the atlas represents.

Parameters:
A The atlas being queried.
e A place to return errors.
Returns:
The implicit defined manifold.

int MFAtlasN MFAtlas  A,
MFErrorHandler  e
 

Returns the dimension of the embedding space of the manifold.

Parameters:
A The atlas being queried.
e A place to return errors.
Returns:
The embedding dimension of the manifold.

int MFAtlasNumberOfChartNeighbors MFAtlas  A,
int  chart,
MFErrorHandler  e
 

Returns the number of charts in the atlas that are neighbors of the specified chart (the number of faces in the chart's polyhedron).

Parameters:
A The atlas being queried.
chart The chart being queried (between 0 and MFAtlasNumberOfCharts(A)-1).
e A place to return errors.
Returns:
The number of neighbors.

int MFAtlasNumberOfCharts MFAtlas  A,
MFErrorHandler  e
 

Returns the number of charts in the atlas.

Parameters:
A The atlas being queried.
e A place to return errors.
Returns:
The number of charts.

int MFAtlasNumberOfChartsWithBoundary MFAtlas  A,
MFErrorHandler  e
 

Returns the number of charts that are currently on the boundary of the union of the chart images.

Parameters:
A The atlas being queried.
e A place to return errors.
Returns:
The number of boundary charts.

int MFAtlasPointOnBoundaryInsideRegion MFAtlas  A,
MFNRegion  Omega,
MFNVector  u,
MFNKMatrix Phi,
double *  R,
MFErrorHandler  e
 

Creates a point very near the current boundary of the manifold and a neighborhood of the point.

Parameters:
A The atlas being queried.
Omega The point is required to lie within Omega.
u The center of the new neighborhood (if the return code is TRUE).
Phi If the return code is TRUE, the tangent space at the center.
R If the return code is TRUE, an estimate of the radius of the new neigborhood.
e A place to return errors.
Returns:
TRUE if a boundary point exists in Omega.

int MFAtlasPointOnBoundaryWOProject MFAtlas  A,
MFNRegion  Omega,
MFKVector  s,
MFErrorHandler  e
 

Finds a point near the boundary of the atlas, on an existing chart, but not projected onto the manifold.

Parameters:
A The atlas being modified.
Omega A region within which the boundary point must lie.
s The point in the chart's domain which gives the required point.
e A place to return errors.
Returns:
The number of the chart.

void MFAtlasSetDotMin MFAtlas  A,
double  dotmin,
MFErrorHandler  e
 

Sets the internal parameter dotmin, which is the smallest dot product between neighboring tangent spaces. (Generalized to more than one dimensional manifolds. The dot product for a flat manifold will be 1.

Parameters:
A The atlas.
dotmin The minimum allowed dot product.
e A place to return errors.

void MFAtlasSetEpsilon MFAtlas  A,
double  epsilon,
MFErrorHandler  e
 

Sets the internal parameter epsilon, which is the tolerance allowed between the tangent space and the manifold.

Parameters:
A The atlas.
epsilon The tolerance.
e A place to return errors.

void MFAtlasSetExpFactor MFAtlas  A,
double  factor,
MFErrorHandler  e
 

Sets the parameter controlling the output to the plotfile. Each vertex of a polygon is scaled by this factor, so that any gaps between polyhedral faces are closed.

Parameters:
A The atlas.
factor The expansion factor.
e A place to return errors.

void MFAtlasSetRMin MFAtlas  A,
double  Rmin,
MFErrorHandler  e
 

Sets the internal parameter Rmin, which is the minimum radius allowed for a chart.

Parameters:
A The atlas.
Rmin The minimum radius.
e A place to return errors.

void MFAtlasSetVerbose MFAtlas  A,
int  verbose,
MFErrorHandler  e
 

Controls the output to stdout from operations on the atlas. A value of 0 is quiet.

Parameters:
A The atlas.
verbose The level of verbosity.
e A place to return errors.

void MFCloseAtlas MFContinuationMethod  algorithm,
MFAtlas  A,
MFErrorHandler  e
 

Finish any processing for the atlas.

Parameters:
algorithm A continuation algorithm.
A The atlas.
e A place to return errors.

MFAtlas MFComputeAtlas MFContinuationMethod  algorithm,
MFImplicitMF  M,
MFNRegion  Omega,
MFNVector  u0,
MFErrorHandler  e
 

Creates an atlas which covers the connected component of the implicitly defined manifold M which is inside the region Omega, and contains the initial point u0.

Parameters:
algorithm An algorithm to use for the computation.
M An implicitly defined manifold.
Omega The region.
u0 A point on M.
e A place to return errors.
Returns:
A new atlas.

MFAtlas MFComputeAtlasMultiple MFContinuationMethod  algorithm,
MFImplicitMF  M,
MFNRegion  Omega,
int  n,
MFNVector u0,
MFErrorHandler  e
 

Creates an atlas which covers the connected component of the implicitly defined manifold M which is inside the region Omega, and contains the n initial points in the array u0[].

Parameters:
algorithm An algorithm to use for the computation.
M An implicitly defined manifold.
Omega The region.
n The number of initial points on M.
u0 A list of points on M.
e A place to return errors.
Returns:
A new atlas.

MFAtlas MFComputeAtlasMultipleWithTangents MFContinuationMethod  algorithm,
MFImplicitMF  M,
MFNRegion  Omega,
int  n,
MFNVector u0,
MFNKMatrix Phi0,
MFErrorHandler  e
 

Creates an atlas which covers the connected component of the implicitly defined manifold M which is inside the region Omega, and contains the n initial points in the array u0[].

Parameters:
algorithm An algorithm to use for the computation.
M An implicitly defined manifold.
Omega The region.
n The number of initial points on M.
u0 A list of points on M.
Phi0 A list of tangent spaces of M at the initial points.
e A place to return errors.
Returns:
A new atlas.

MFAtlas MFComputeAtlasWithTangent MFContinuationMethod  algorithm,
MFImplicitMF  M,
MFNRegion  Omega,
MFNVector  u0,
MFNKMatrix  Phi0,
MFErrorHandler  e
 

Creates an atlas which covers the connected component of the implicitly defined manifold M which is inside the region Omega, and contains the initial point u0.

Parameters:
algorithm An algorithm to use for the computation.
M An implicitly defined manifold.
Omega The region.
u0 A point on M.
Phi0 The tangent space of M at u.
e A place to return errors.
Returns:
A new atlas.

MFAtlas MFCreateAtlas MFImplicitMF  M,
MFErrorHandler  e
 

Creates an atlas with no charts.

Parameters:
M the implicitly defined manifold this atlas describes.
e A place to return errors.
Returns:
A new atlas.

void MFExtendAtlas MFAtlas  A,
MFContinuationMethod  algorithm,
MFImplicitMF  M,
MFNRegion  Omega,
MFNVector  u0,
MFErrorHandler  e
 

Extend a manifold.

Parameters:
A The atlas.
algorithm A continuation algorithm.
M The implicitly defined manifold.
Omega A region for the computation.
u0 An initial point on the manifold.
e A place to return errors.

void MFExtendAtlasMultiple MFAtlas  A,
MFContinuationMethod  algorithm,
MFImplicitMF  M,
MFNRegion  Omega,
int  n,
MFNVector u0,
MFErrorHandler  e
 

Extend a manifold starting with a list of initial points.

Parameters:
A The atlas.
algorithm A continuation algorithm.
M The implicitly defined manifold.
Omega A region for the computation.
n The number of initial points in the array u0.
u0 An array of initial points on the manifold.
e A place to return errors.

void MFExtendAtlasMultipleWithTangents MFAtlas  A,
MFContinuationMethod  algorithm,
MFImplicitMF  M,
MFNRegion  Omega,
int  n,
MFNVector u0,
MFNKMatrix Tan0,
MFErrorHandler  e
 

Extend a manifold starting with a list of initial points and tangent spaces.

Parameters:
A The atlas.
algorithm A continuation algorithm.
M The implicitly defined manifold.
Omega A region for the computation.
n The number of initial points in the arrays u0 and Tan0.
u0 A list of initial points on the manifold.
Tan0 A list of bases for the tangent spaces of the manifold at the initial points.
e A place to return errors.

void MFExtendAtlasWithTangent MFAtlas  A,
MFContinuationMethod  algorithm,
MFImplicitMF  M,
MFNRegion  Omega,
MFNVector  u0,
MFNKMatrix  Tan0,
MFErrorHandler  e
 

Extend a manifold, with one initial solution and tangent space.

Parameters:
A The atlas.
algorithm A continuation algorithm.
M The implicitly defined manifold.
Omega A region for the computation.
u0 An initial point on the manifold.
Tan0 A basis for the tangent space of the manifold at the initial point.
e A place to return errors.

void MFFlushAtlas MFContinuationMethod  algorithm,
MFAtlas  A,
MFErrorHandler  e
 

Finish any i/o for the atlas.

Parameters:
algorithm A continuation algorithm.
A The atlas.
e A place to return errors.

void MFFreeAtlas MFAtlas  A,
MFErrorHandler  e
 

Releases an atlas. This subtracts one from the reference count, and if the count is zero, frees the storage associated with the atlas.

Parameters:
A The atlas being released.
e A place to return errors.

MFAtlas MFReadAtlas FILE *  fid,
MFErrorHandler  e
 

Reads an Atlas from a file.

Parameters:
fid the file containing an atlas.
e A place to return errors.
Returns:
The atlas.

int MFReadChartCenters FILE *  fid,
MFNVector **  centerList,
MFNKMatrix **  PhiList,
double **  RList,
MFErrorHandler  e
 

Reads the centers, tangent space bases, and radii of the charts in a file.

Parameters:
fid the file containing an atlas.
centerList A pointer to an array of MFNVectors for the centers
PhiList A pointer to an array of MFNKMatrices for the tangent space bases.
RList A pointer to an array of double for the radii.
e A place to return errors.
Returns:
The number of centers, tangent space bases and radii read.

void MFRefAtlas MFAtlas  A,
MFErrorHandler  e
 

Adds a reference to the atlas.

Parameters:
A The Atlas being referenced.
e A place to return errors.
See also:
ReferenceCounting MFFreeAtlas

double MFVolumeOfAtlas MFAtlas  A,
MFNRegion  Omega,
MFErrorHandler  e
 

Computes the volume of a manifold. This is approximated by adding the volumes of the convex chart polyhedra.

Parameters:
A An atlas representing the manifold.
Omega The calculation will include the part of the manifold in this region.
e A place to return errors.
Returns:
The volume.

void MFWriteAtlas FILE *  fid,
MFAtlas  A,
MFErrorHandler  e
 

Writes an Atlas to a file.

Parameters:
fid the file to write to an atlas.
A The atlas.
e A place to return errors.

void MFWriteChartCenters FILE *  fid,
MFAtlas  A,
MFErrorHandler  e
 

Writes the centers, tangent space bases, and radii of the charts in an Atlas to a file.

Parameters:
fid the file to write the centers into.
A The atlas.
e A place to return errors.


Generated on Tue Jan 30 13:39:07 2007 for multifario by  doxygen 1.4.6