next up previous
Next: Implementing exact real numbers Up: Exact Real Computation in Previous: Introduction

Motivating example

Consider the task to give a parametrization of the surface

$\displaystyle F(x,y,z) = -2x^2+y^2z+2xyz+2y+z^5+z = 0 . $

This equation is quadratic in the pair of variables $ (x,y)$, therefore it may be parametrized by the method [(Schicho, 98)]. The Hessian of $ F$ with respect to $ (x,y)$ is $ H=z^7+2z^6+z^3+2z^2-2$. According to the algorithm, we compute all (real and complex) zeroes of $ H$. The result is

$\displaystyle Z = \{ -1.9676, -1, -0.5786 \pm 0.9058 \ i, 0.6896 \pm 0.8391 \ i, 0.7458
\}.
$

Now we have to solve a linear system with 20 unknowns, where expressions in the above zeroes arise as coefficients. The parametrization is then computed by a short formula from the solutions of this equation.

When we compute with floating points, the computation is quick (the whole example took less than one second with Maple). But the amplification of the accumulated rounding errors made the result meaningless.

It is impossible to compute this example with symbolic representations of real algebraic numbers. The reason is best explained by the following comment of a colleague answering to a posting to the Maple list:

This polynomial is the product of a linear factor and an irreducible degree 6 factor. The degree 6 factor has Galois group $ S_6$, so you're asking maple to construct a degree $ 6!$ extension (as a degree 2 extension of a degree 3 extension etc.) This is a huge task, so I'd consider it normal that this takes so long. I can imagine that the answer wouldn't even fit in your computer.

Nils Bruin, email from Mar 19, 1999

Using exact real numbers, the computing time is expected to be bigger than the time for floating point computation, but much smaller than the time for the symbolic computation with algebraic numbers. The result is a parametrization with ``exact real'' coefficients. Since evaluation of rational functions is easy in exact real computation, this parametrization can be used to produce points with arbitrary small distance to the given surface.


next up previous
Next: Implementing exact real numbers Up: Exact Real Computation in Previous: Introduction