next up previous
Next: Handling erna objects Up: Exact Real Computation in Previous: Motivating example

Implementing exact real numbers in Maple

In Maple, the system variable Digits controls the relative precision of a computation. In most of the applications, however, the measure of precision is the accuracy:

Definition 1   Let $ r$ be a real number, and $ \varepsilon>0$. A rational number $ r_0$ is an approximation of accuracy $ \varepsilon$ for $ r$ (sometimes called $ \varepsilon$-approximation) iff

$\displaystyle \vert r-r_0\vert\le \varepsilon.$

Our representation of real numbers is based on the concept of accuracy. From the software engineering point of view, an exact real number $ r$ is an object that fulfills the following:

These specifications can be extended to complex numbers, or to vectors/matrices with real entries (the absolute value is replaced now by a suitable norm). In general, we will call such an object erna object (erna real, erna complex, etc.). Erna stands for exact real number arithmetic, a common appellative for techniques for manipulating computable reals.


next up previous
Next: Handling erna objects Up: Exact Real Computation in Previous: Motivating example