Next: 4.5 Auxiliary variable method Up: 4. Nonlinear Polynomial Solvers Previous: 4.3.3 Subdivision Methods   Contents   Index


4.4 Projected Polyhedron algorithm

In this section we introduce an iterative global root-finding algorithm for an -dimensional nonlinear polynomial equation system, which belongs to the class of subdivision methods, called Projected Polyhedron (PP) algorithm developed by Sherbrooke and Patrikalakis [392]. It is easy to visualize and simple in that it only requires two straightforward algorithms in order to implement it: one for subdividing multivariate polynomials in Bernstein form, and one for finding the convex hull of a two-dimensional set of points. This algorithm is an extension and generalization of earlier adaptive subdivision algorithms: for used in finding the real roots and extrema of a polynomial within an interval by Lane and Riesenfeld [221], and for used in shape interrogation by Geisow [124] or in intersecting rays with trimmed rational polynomial surface patches by Nishita et al. [286] (a method known as Bézier clipping). The PP algorithm has found many applications in shape interrogation problems (see also Grandine and Klein [133]) as we will see in subsequent sections and its convergence, rate of convergence and complexity properties are developed in [392].

For illustration, we will enumerate the procedures required by the PP algorithm to find roots of a degree polynomial equation over the interval .

  1. Make an affine parameter transformation such that as follows:
        (4.9)

    The transition from the interval to the interval is an affine map, and the polynomials are invariant under affine parameter transformation [92].
  2. Convert the basis from monomial to Bernstein [106]:
        (4.10)

    where
        (4.11)

    and is the th Bernstein polynomial of degree .
  3. Create a graph of function using the linear precision property of Bernstein polynomials (see (1.21)). Then the graph will become a Bézier curve
        (4.12)

    where are control points. Now the problem of finding roots of the univariate polynomial has been transformed into a geometric problem of finding the intersection of a Bézier curve with the parameter axis, a transformation already used in Geisow [124] for surface interrogation.
  4. Construct the convex hull of the Bézier curve.
  5. Intersect the convex hull with the parameter axis.
  6. Discard the regions which do not contain roots by applying the de Casteljau subdivision algorithm and find a sub-region of [0,1] which may contain the root(s).
  7. If the sub-region is sufficiently small, we conclude that there is a root inside and return it. But when there are more than one root in the sub-region, the sub-region will not be reduced. In such case we split the region evenly by applying the de Casteljau subdivision algorithm and we go back to 4.

Example 4.4.1. PP algorithm in one dimension.
Find the roots of where . The roots are approximately, 0.164 and 1.108.

  1. Make an affine parameter transformation by plugging into yielding where .
  2. Convert from monomial to Bernstein basis using (4.11) as below
         

    where , and , thus leading to , and .
  3. Create a graph of function using linear precision property of the Bernstein polynomial
         

    yielding a Bézier curve
         

    with control points of (0, -0.2), (0.5, 1.2) and (1, -1.8).
  4. Construct a convex hull of the Bézier curve, which is a triangle as shown in Fig. 4.3.
  5. The convex hull intersects the t-axis with and .
  6. Discard the regions and , which do not contain roots, by applying the de Casteljau algorithm. Now we have a smaller convex hull which contains the roots (see shaded triangular in Fig. 4.3).
  7. If the sub-region is sufficiently small, we conclude that there is a root inside and return it. In this case there are two roots in the convex hull and the sub-region does not reduce much (even after several iteration steps), thus we split the region evenly by applying the de Casteljau subdivision algorithm and go back to 4.
Figure 4.3: de Casteljau algorithm applied to the quadratic Bézier curve


Example 4.4.2. PP algorithm in two dimensions.
Let us solve the system of polynomial equations (4.2) and (4.3) over the region .

  1. Make an affine parameter transformation by substituting and into (4.2) and (4.3) so that , then:
         
         

  2. Convert from monomial to Bernstein basis using
         

    where in this case leading to


    and

  3. Create graphs of functions and using the linear precision property of Bernstein polynomials. Then the graphs will become two Bézier surfaces as follows:
         
         

    The two Bézier surfaces are shown in Fig. 4.4. Now the root-finding problem of the bivariate polynomial system has been transformed to find the intersections of three surfaces, , and the -plane. Figure 4.5 shows the intersection between the plane and both Bézier surfaces. We can easily observe that the two intersection curves are the circles in Fig. 4.1 but trimmed in the resulting domain.

    Figure 4.4: Bézier surfaces and their control points

    Figure 4.5: Bézier surfaces intersecting with -plane

  4. Project the control points of and onto and planes. Here , . For each and plane, construct 2-D convex hulls. Figure 4.6 (a) shows 2-D convex hulls on the plane, while Fig. 4.6 (b) shows 2-D convex hulls on the plane. The solid line corresponds to convex hull of and the dashed line corresponds to that of .
    Figure 4.6: Projections of control points

  5. Intersect each 2-D convex hull on the plane with ( ) axis. The parameter interval contains solutions of (4.2), while the interval contains solutions of (4.3). The root is contained in the common interval of . We will repeat the same procedures for the 2-D convex hulls on the plane to find the common interval of .
  6. Discard the reigion of and regions of which do not contain the roots by applying the de Casteljau subdivision algorithm to both Bézier surfaces.
  7. If the sub-regions of both parameters are sufficiently small, we conclude that there is a root. In this case, the sub-region of the parameter will not decrease much in size because there are two roots, while the interval decreases more in parameter, since the two roots have the same value. We split the sub-region of evenly by applying the de Casteljau subdivision algorithm for both surfaces and we go back to step 4.

Many applications in shape interrogation result in systems of nonlinear polynomial equations with unknowns, referred to as balanced systems. However, there exist some problems such as tangential intersection or implicit curve/surface rendering consisting of nonlinear polynomial equations with unknowns, where could be larger or smaller than . When the system is called overconstrained and when it is called underconstrained. Now we will introduce an -dimensional Projected-Polyhedron algorithm such that it can effectively handle overconstrained problems [392,179]. This algorithm can also be used in underconstrained problems but in such cases it tends to be slow (especially in the presence of infinite roots); for such cases more specialized algorithms are necessary (e.g. parametric surface intersections where , and ). In such cases the PP algorithm is used to find characteristic points efficiently and marching methods are used to trace the intersection curves (see Sect. 5.8.2).

Suppose we are given a set of nonlinear polynomials , each of which is polynomial in the independent variables . Let denote the degree in of polynomial , so that the multi-index describes all the degree information of . Furthermore, suppose we are given an -dimensional rectangular subset of

    (4.13)

A priori knowledge of is one of the main features of geometric modeling and shape interrogation problems. We wish to find all points such that
    (4.14)

By making the affine parameter transformation [92] for each between and inclusive, we simplify the problem to one of determining all such that

    (4.15)

Since all of the are polynomial in each of the independent variables, a simple change of basis [92] allows us to express them in the multivariate Bernstein basis, which has better numerical stability under perturbation of its coefficients than the power basis [105] as we discussed in Sect. 1.3.3 and in addition permits transformation of an algebraic problem to a geometric problem. In other words, for each there exists an -dimensional array of real coefficients such that for each


    (4.16)

The notation in (4.16) may be simplified by letting , = ( , , , ) and writing (4.16) in the equivalent form


    (4.17)

Representation of algebraic and piecewise algebraic surfaces (i.e., for ) in terms of tensor products of Bernstein polynomials or B-splines has been studied earlier by Patrikalakis and Kriezis [299]. Equation (4.17) is simply an extension to dimensions. Provided that conversion of the problem to the Bernstein basis is exact or sufficiently accurate, the use of the Bernstein basis in conjunction with subdivision is known to be numerically stable [105]. The conversion process itself may be numerically ill-conditioned [106]. Therefore, we recommend that the problem be formulated in the Bernstein basis from the very beginning or that the conversion is carried out in exact arithmetic. If necessary, polynomials may be converted from the multivariate power basis to the multivariate Bernstein basis using the following formula:

    (4.18)

We now restate the problem as the intersection of the graphs of the (each of which is a hypersurface in and the hyperplane of . This idea is designed to impart geometrical significance to the coefficients of the polynomials and to the solution process.

Let us build a graph for each :

    (4.19)

Clearly, (4.15) is satisfied by the point if and only if
    (4.20)

Using the linear precision property of the Bernstein basis (1.21), we obtain an equivalent expression for each of the in equation (4.19):

    (4.21)

Substituting (4.21) into (4.19) gives a more useful representation for the :
    (4.22)

where
    (4.23)

The are called the control points of . Using the parametric hypersurfaces instead of the real-valued permits use of the powerful convex-hull property of the multivariate Bernstein basis.

We assume we are given nonlinear polynomial equations with variables in the power basis, where , and a box , in which we need to determine the roots of the given system. In this case we first scale the box by performing an appropriate affine parameter transformation described above to the functions , so that the box becomes . Next we express the transformed nonlinear polynomial equations in the multivariate Bernstein basis using (4.18). Now we summarize the PP algorithm.

  1. Using the convex hull property, find a sub-box of which contains all the roots. The essential idea behind the box generation scheme in this algorithm is to transform a complicated -dimensional problem into a series of two-dimensional problems. Suppose can be coordinatized with the axes; we can then employ these steps:

    1. Project the of all of the into different coordinate planes; specifically, the -plane, the -plane, and so on, up to the plane.

    2. In each one of these planes,

      1. Construct two-dimensional convex hulls. The first is the convex hull of the projected control points of , the second is from and so on.

      2. Intersect each convex hull with the horizontal axis (that is, ). Because the polygon is convex, the intersection may be either a closed interval (which may degenerate to a point) or empty. If it is empty, then no root of the system exists within the given search box.

      3. Intersect the intervals with one another. Again, if the result is empty, no root exists within the given search box.

    3. Construct an -dimensional box by taking the Cartesian product of each one of these intervals in order. In other words, the side of the box is the interval resulting from the intersection in the -plane, and so forth.

  2. Using the scaling relationship between our current box and the initial box of search, see if the new sub-box represents a sufficiently small box in . If it does not, then go to step 3. If it does, then check the convex hulls of the hypersurface in the new box. If the convex hulls cross each variable axis, conclude that there is a root or at least an approximate root in the new box, and put the new box into a root list. Otherwise the new box is discarded.

  3. If any dimension of this sub-box is not much smaller than 1 unit in length (i.e., the box has not decreased much in size along one or more sides), split the box evenly along each dimension which is causing trouble (not reducing in size). Continue on to the next iteration with several independent sub-problems.

  4. If none of the boxes is left, then the root-finding process is over. Otherwise, perform an appropriate affine parameter transformation to the functions , so that the box becomes , and go back to step 1 for each new box. This transformation can be performed with the multivariate de Casteljau subdivision algorithm which is an extension of similar algorithms for 1 and 2 dimensions given in [92]. However, keep track of the scaling relationship between this box and the initial box of search.

If we assume that each equation in (4.14) is of degree in each variable and the system is -dimensional, then the total asymptotic time per step is of . The number of steps depends primarily on the accuracy required [392]. The Projected Polyhedron algorithm achieves quadratic convergence in one dimension, while for higher dimensions, it exhibits at best linear convergence [392]. Once roots have been isolated via the PP algorithm, local quadratically convergent Newton-type algorithms can be used to compute the roots to high precision more efficiently. An extension of the algorithm described above for a set of simultaneous piecewise polynomial nonlinear equations expressed in terms of tensor product B-splines can be found in [132]. A novel feature of this extension is the normalization of the equations in the range [-1,1] and normalization of the knot vector in each subdomain in range [0,1] at each iteration step of the process to capitalize on the higher density of floating point numbers in this range, thereby improving numerical robustness of the algorithm.

Because the PP algorithm depends only on the convex hull property and ability to perform subdivision and multiplication, in theory one could implement the algorithm for rational B-spline entities without subdividing them into their rational Bézier components. Subdivision algorithms for B-splines are well-known, and Mørken [270] has developed an algorithm for multiplying two piecewise polynomials expressed in the B-spline basis. However, Zhou et al. [461] indicate that this approach sometimes tends to be more time-consuming than subdividing into rational polynomials and applying direct algebraic operations of addition and multiplication of two Bernstein forms (see Sect. 1.3.2). Piegl and Tiller [315] provide detailed description of the procedures that can handle algebraic operators of NURBS curves and surfaces such as dot and cross products, sum/difference and derivative operators. They start with decomposing the B-splines into their Bézier components using knot insertion, and applying the algebraic operators to the Bézier functions and finally recomposing the resulting Bézier functions into B-spline form using knot removal.



Next: 4.5 Auxiliary variable method Up: 4. Nonlinear Polynomial Solvers Previous: 4.3.3 Subdivision Methods   Contents   Index
December 2009