Modular Arithmetics
MODULAR ARITHMETIC: Modular arithmetic can be used to compute exactly, at low
cost, a set of simple computations. These include most geometric predicates,
that need to be checked exactly, and especially, the sign of determinants and
more general polynomial expressions. Modular arithmetic resides on the Chinese
Remainder Theorem, which states that, when computing an integer expression, you
only have to compute it modulo several relatively prime integers called the
modulis. The true integer value can then be deduced, but also only its sign, in
a simple and efficient maner. The main drawback with modular arithmetic is its
static nature, because we need to have a bound on the result to be sure that we
preserve ourselves from overflows (that can't be detected easily while
computing). The smaller this known bound is, the less computations we have to
do. We have developped a set of efficient tools to deal with these problems, and
we propose a filtered approach, that is, an approximate computation using
floating point arithmetic, followed, in the bad case, by a modular computation
of the expression of which we know a bound, thanks to the floating point
computation we have just done. Theoretical work has been done in common with , ,
Victor Pan and. See the bibliography for details. At the moment, only the tools
to compute without filters are available. The aim is now to build a compiler,
that produces exact geometric predicates with the following scheme: filter +
modular computation. This approach is not compulsory optimal in all cases, but
it has the advantage of simpleness in most geometric tests, because it's general
enough. Concerning the implementation, the Modular Package contains routines to
compute sign of determinants and polynomial expressions, using modular
arithmetic. It is already usable, to compute signs of determinants, in any
dimension, with integer entries of less than 53 bits. In the near future, we
plan to add a floating point filter before the modular computation.
Bibliography
Explains basically the definition of modular arithmetic, and contents of it.
Words: 324