Next: A Case-Study: Dimensional Up: Numerical precision Previous: Exact computation

To Summarize.

For algorithms with modest arithmetic bit-length requirements, exact arithmetic is appealing. Exact arithmetic appears not to be used widely, perhaps because of the performance cost of the required software arithmetic. However, computer hardware continues to increase in speed, which may mean that the performance cost becomes less significant. Furthermore, there is evidence that software exact arithmetic can be better designed for computational geometry applications, decreasing its effective cost.

Exact-arithmetic implementation of geometric algorithms would be much more attractive with the development of software arithmetic packages appropriate for computational geometry[110][52]. There are many issues to be explored: for example, the use of adaptive-precision arithmetic, the granularity of evaluation, algorithms for primitive evaluation, required arithmetic operations. For example, beyond speeding up basic arithmetic operations, more effective optimization techniques could be used at the expression level. Geometric computations invariably involves larger units of numerical computation, such as expressions like determinants or Euclidean lengths. This opens up an exciting new area of software construction in which many designs are possible.

The utility of exact arithmetic would be increased with the development of exact-arithmetic rounding algorithms. Geometric algorithms often produce objects that have both combinatorial and numeric data. For example, the vertices, edges, and faces of a polyhedron in three dimensions have both numeric coordinates and combinatorial incidence structure. The result of an exact computation may specify the numeric coordinates exactly, with coordinates of large bit-length. However, arithmetic on large coordinates is expensive, and an application may be satisfied with a short bit-length approximation to the numeric coordinates, as long as the combinatorial and numeric data are consistent. Rounding the coordinates of a complicated object such as a polyhedron is not straightforward, since its combinatorial structure may be invalidated by small perturbations of its faces or vertices. However, many applications are insensitive to changes in the combinatorial structure. If the structure is permitted to change, there are methods to round polygons or other planar objects made up of line segments to the integer grid [66][70] or any nonuniform grid [104][102]. In general, rounding algorithms, particularly for curved or higher dimensional structures, are as yet inadequately developed.

There are important applications, such as operations on algebraic curves and surfaces, where bit-length estimates appear to rule out the use of exact arithmetic. It is possible that such bit-length estimates are too pessimistic, either in theory because the underlying algebraic machinery is not developed enough to give sharp estimates, or in practice because instances requiring long bit-length are infrequent. Many predicates that are well-understood in the linear domain (incircle, orientation) become much more complex in the curved domain, and their best evaluation using exact arithmetic is not well understood.



Next: A Case-Study: Dimensional Up: Numerical precision Previous: Exact computation


seth@graphics.lcs.mit.edu