Piecewise Linear Continuation
   HOME

TheInfoList



OR:

Simplicial continuation, or piecewise linear continuation (Allgower and Georg),Eugene L. Allgower, K. Georg, "Introduction to Numerical Continuation Methods", ''SIAM Classics in Applied Mathematics'' 45, 2003.E. L. Allgower, K. Georg, "Simplicial and Continuation Methods for Approximating Fixed Points and Solutions to Systems of Equations", ''SIAM Review'', Volume 22, 28-85, 1980. 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)Eugene L. Allgower, Stefan Gnutzmann, "An Algorithm for Piecewise Linear Approximation of Implicitly Defined Two-Dimensional Surfaces", ''SIAM Journal on Numerical Analysis'', Volume 24, Number 2, 452-469, 1987. and (Allgower and Schmidt).Eugene L. Allgower, Phillip H. Schmidt, "An Algorithm for Piecewise-Linear Approximation of an Implicitly Defined Manifold", ''SIAM Journal on Numerical Analysis'', Volume 22, Number 2, 322-346, April 1985. 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.


Contour plotting

The contour plotting problem is to find the zeros (contours) of f(x,y)=0\, ( f(\cdot)\, a smooth scalar valued function) in the square 0\leq x \leq 1, 0\leq y \leq 1\,,
The square is divided into small triangles, usually by introducing points at the corners of a regular square mesh ih_x\leq x\leq (i+1)h_x\,, jh_y\leq y \leq (j+1)h_y\,, making a table of the values of f(x_i,y_j)\, at each corner (i,j)\,, and then dividing each square into two triangles. The value of f(x_i,y_j)\, at the corners of the triangle defines a unique Piecewise Linear interpolant lf(x,y)\, to f(\cdot)\, over each triangle. One way of writing this interpolant on the triangle with corners (x_0,y_0),~(x_1,y_1),~(x_2,y_2)\, is as the set of equations : (x,y) = (x_0,y_0)+(x_1-x_0,y_1-y_0)s+(x_2-x_0,y_2-y_0)t\, : 0\leq s\, : 0\leq t\, : s+t \leq 1\, : lf(x,y) = f(x_0,y_0)+(f(x_1,y_1)-f(x_0,y_0))s+(f(x_2,y_2)-f(x_0,y_0))t\, The first four equations can be solved for (s,t)\, (this maps the original triangle to a right unit triangle), then the remaining equation gives the interpolated value of f(\cdot)\,. 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 equation for the line can be found, however the points where the line crosses the edges of the triangle are the endpoints of the line segment.
The contour of the piecewise linear interpolant is a set of curves made up of these line segments. Any point on the edge connecting (x_0,y_0)\, and (x_1,y_1)\, can be written as : (x,y) = (x_0,y_0) + t (x_1-x_0,y_1-y_0),\, with t\, in (0,1)\,, and the linear interpolant over the edge is : f \sim f_0 + t (f_1-f_0)\, So setting f = 0\, : t = -f_0/(f_1-f_0)\, and (x,y) = (x_0,y_0)-f_0*(x_1-x_0,y_1-y_0)/(f_1-f_0)\, 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

Piecewise linear continuation is similar to contour plotting (Dobkin, Levy, Thurston and Wilks),
David P. Dobkin David Paul Dobkin is an American computer scientist and the Phillip Y. Goldman '86 Professor of Computer Science at Princeton University. His research has concerned computational geometry and computer graphics. Early life and education Dobkin wa ...
, Silvio V. F. Levy, William P. Thurston and Allan R. Wilks, "Contour Tracing by Piecewise Linear Approximations", ''ACM Transactions on Graphics'', 9(4) 389-423, 1990.
but in higher dimensions. The algorithm is based on the following results:


Lemma 1

An '(n-1)'-dimensional simplex has n vertices, and the function F assigns an 'n'-vector to each. The simplex is
convex Convex or convexity may refer to: Science and technology * Convex lens, in optics Mathematics * Convex set, containing the whole line segment that joins points ** Convex polygon, a polygon which encloses a convex set of points ** Convex polytope ...
, and any point within the simplex is a
convex combination In convex geometry and vector algebra, a convex combination is a linear combination of points (which can be vectors, scalars, or more generally points in an affine space) where all coefficients are non-negative and sum to 1. In other word ...
of the vertices. That is: If x is in the interior of an (n-1)-dimensional simplex with n vertices v_i , then there are positive scalars 0<\alpha_i such that
: \mathbf = \sum_i \alpha_i \mathbf_i : \sum_i \alpha_i = 1.\,
If the vertices of the simplex are
linearly independent In the theory of vector spaces, a set of vectors is said to be if there is a nontrivial linear combination of the vectors that equals the zero vector. If no such linear combination exists, then the vectors are said to be . These concepts are ...
the non-negative scalars \alpha are unique for each point x, and are called the
barycentric coordinates In mathematics, an affine space is a geometric structure that generalizes some of the properties of Euclidean spaces in such a way that these are independent of the concepts of distance and measure of angles, keeping only the properties related ...
of x. They determine the value of the unique
interpolant In the mathematical field of numerical analysis, interpolation is a type of estimation, a method of constructing (finding) new data points based on the range of a discrete set of known data points. In engineering and science, one often has a n ...
by the formula:
: LF = \sum_i \alpha_i F(\mathbf_i)


Lemma 2

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. For example the vertex (.5,-.2,1.) would be labelled (+,-,+). 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. (i.e. a "+" and a "-" for each coordinate). 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.


Lemma 3

{, class="wikitable" style="margin:1em auto;" , - , There is a triangulation (the Coxeter-Freudenthal-Kuhn triangulation which is invariant under the pivot operation
P_{v_i} (v_0,v_1,...,v_n) := (v_0,v_1,...,v_{i-1},\tilde v_i,v_{i+1},...,v_n)
where
\tilde v_i = \left\{ \begin{array}{lcl} v_1+v_n-v_0 & &i=0 \\ v_{i+1}+v_{i-1}-v_i&\qquad\qquad&0\\ v_{n-1}+v_0-v_n & &i=n \\ \end{array}\right.


References

{{reflist Numerical analysis