Piecewise linear continuation

Simplicial continuation, or piecewise linear continuation (Allgower and Georg),[1][2] is a one-parameter continuation method which is well suited to small to medium embedding spaces.

The algorithm has been generalized to compute higher-dimensional manifolds by (Allgower and Gnutzman)[3] and (Allgower and Schmidt).

[4] The algorithm for drawing contours is a simplicial continuation algorithm, and since it is easy to visualize, it serves as a good introduction to the algorithm.

a smooth scalar valued function) in the square

The square is divided into small triangles, usually by introducing points at the corners of a regular square mesh

, making a table of the values of

at the corners of the triangle defines a unique Piecewise Linear interpolant

One way of writing this interpolant on the triangle with corners

(this maps the original triangle to a right unit triangle), then the remaining equation gives the interpolated value of

Over the whole mesh of triangles, this piecewise linear interpolant is continuous.

The contour of the interpolant on an individual triangle is a line segment (it is an interval on the intersection of two planes).

The contour of the piecewise linear interpolant is a set of curves made up of these line segments.

Any point on the edge connecting

, and the linear interpolant over the edge is So setting

Since this only depends on values on the edge, every triangle which shares this edge will produce the same point, so the contour will be continuous.

Each triangle can be tested independently, and if all are checked the entire set of contour curves can be found.

Piecewise linear continuation is similar to contour plotting (Dobkin, Levy, Thurston and Wilks),[5] but in higher dimensions.

The algorithm is based on the following results: An '(n-1)'-dimensional simplex has n vertices, and the function F assigns an 'n'-vector to each.

The simplex is convex, and any point within the simplex is a convex combination of the vertices.

That is: If x is in the interior of an (n-1)-dimensional simplex with n vertices

such that If the vertices of the simplex are linearly independent the non-negative scalars

are unique for each point x, and are called the barycentric coordinates of x.

They determine the value of the unique interpolant by the formula: There are basically two tests.

The one which was first used labels the vertices of the simplex with a vector of signs (+/-) of the coordinates of the vertex.

A simplex is called completely labelled if there is a vertex whose label begins with a string of "+" signs of length 0,1,2,3,4,...n. A completely labelled simplex contains a neighborhood of the origin.

This may be surprising, but what underlies this result is that for each coordinate of a completely labelled simplex there is a vector with "+" and another with a "-".

Put another way, the smallest cube with edges parallel to the coordinate axes and which covers the simplex has pairs of faces on opposite sides of 0.

The second approach is called vector labelling.

It is based on the barycentric coordinates of the vertices of the simplex.

The first step is to find the barycentric coordinates of the origin, and then the test that the simplex contains the origin is simply that all the barycentric coordinates are positive and the sum is less than 1. where