Modular Arithmetic Essay, Research Paper

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.

**ДОБАВИТЬ КОММЕНТАРИЙ** [можно без регистрации]