![]()
Précédent : Filtres arithmétiques Remonter :
Calcul
Géométrique Suivant : Applications de la géométrie
algorithmique
Participants : Hervé Brönnimann, Olivier Devillers, Sylvain Pion, Mariette Yvinec
Mots-clés : analyse d'algorithme,algorithme robuste, précision numérique,arithmétique exacte
Au paragraphe précédent, nous avons introduit la notion de filtre arithmétique et mentionné qu'en cas d'échec du filtre, il faut recourir à une arithmétique exacte.
Après avoir travaillé sur les méthodes exactes de calcul des déterminants en dimensions 2 et 3, nous nous sommes attachés à comprendre et analyser un algorithme de Clarkson (K.L. Clarkson, Safe and effect ive determinant evaluation, Proc. 33rd IEEE Symp. Found. Comput. Sci. 1993, 387-395) qui calcule le signe d'un déterminant d'une matrice entière de n'importe quelle dimension de façon exacte. Cet algorithme effectue une réorthogonalisation des colonnes de la matrice, avant d'utiliser un pivot de Gauss ou toute autre méthode numérique qui fait peu d'erreur quand la matrice est bien conditionnée. Son analyse fait intervenir de l'analyse d'erreur numérique. L'analyse donnée par Clarkson est difficile d'accès et comporte des lacunes. Nous avons donné une analyse plus simple et complète d'une version modifiée de cet algorithme[36]. Des expériences ont montré que cette approche est parfaitement utilisable en pratique pour des déterminants jusqu'à un ordre satisfaisant (au moins 10). L'implantation qui en a résulté est disponible sur le WWW.
Par ailleurs, nous avons pu étendre en dimensions supérieures
la méthode d'évaluation exacte du signe d'un déterminant proposée
par Avnaim et coll. (F. Avnaim, J-D. Boissonnat, O. Devillers, F.
Preparata et M. Yvinec, Evaluating signs of determinants using
single-precision arithmetic, Rapport de recherche INRIA 2306,
1994) pour les déterminants
et
. Les premiers tests
montrent que cette méthode se révèle aussi efficace que celle de
Clarkson pour des déterminants de petites dimensions (au moins
jusqu'à 4).
Si le test de coplanarité de points repose presque directement sur le calcul d'un déterminant, celui de cosphéricité est un peu plus complexe et nécessite le calcul d'un déterminant dont les entrées sont elles-mêmes le résultat de calculs. Nous tirons parti des spécificités d'un tel déterminant pour programmer son calcul exact plus rapidement.
Toujours pour calculer le signe exact d'un déterminant, et plus généralement d'une expression algébrique à variables entières (comme la cosphéricité), nous nous sommes intéressés à une méthode qui calcule cette expression à un modulo près. Le théorème des restes chinois assure qu'en prenant suffisamment de modulos, la valeur de l'expression est connue de façon exacte. Typiquement, le processus de reconstruction d'un nombre à partir de ses modulos se fait à l'aide d'un calcul multiprécision. Nous avons montré que le signe de cette expression peut être calculé de façon exacte en simple précision (les nombres intervenant dans les calculs ont la même taille que les entrées).
Ce travail a été conduit en partie en collaboration avec Victor Pan, CUNY, USA, professeur invité dans le projet SAFIR.