Précédent : Grands domaines d'application
Remonter : Projet
EURÉCA, Preuve, calcul symbolique Suivant :
Résultats
nouveaux
Participants : Vladimir Grébinski , Fabrice Rouillier ,
Paul Zimmermann
En a débuté une action intégrée Procope entre
l'Inria Lorraine et l'Université de Paderborn sur le
développement et l'implantation d'algorithmes efficaces en calcul
symbolique et plus particulièrement en MUPAD.
Les principales actions entreprises dans le cadre de cette action
ont été l'organisation d'un workshop en janvier à
Oberwolfach (Allemagne), du MuPAD User Workshop'97 en
septembre à Paderborn, et plusieurs échanges bilatéraux de
chercheurs.
Sur un plan scientifique, le nouvel algorithme dû à Barkatou [Bar97] pour trouver les solutions rationnelles d'équations différentielles linéaires à coefficients polynomiaux a été implanté en MUPAD, ainsi que la méthode de d'Alembert pour la réduction de telles équations :
>> Ln:=n*x*diff(y(x),x,x)-x*diff(y(x),x)+n^2*y(x): >> time(ode::polynomialSolutions(subs(Ln,n=20),y(x))); 3550
(MAPLE effectue le même calcul en 18 secondes , contre 3.6 secondes ici en MUPAD). Un algorithme de recherche des solutions polynomiales de récurrences linéaires a également été implanté :
>> solve(rec(n*u(n+2)-5*u(n+1)-(n+1)*u(n)=0, u(n))); { / 2 \ } { | n 3 n 3 | } { a3 | - - ---- + n | } { \ 2 2 / }
(MAPLE ne sait pas résoudre cette
récurrence). P. Zimmermann a aussi encadré le travail d'un
étudiant de Paderborn, Manfred Radimersky, qui a étendu le
logiciel PARI (H. Cohen, Bordeaux) par des
arrondis dirigés selon la norme IEEE 754, ce qui fournit une
arithmétique d'intervalles fiable. Pendant sa visite à Nancy,
A. Sorgatz a développé avec F. Rouillier une interface
entre MUPAD et les systèmes GB et REALSOLVING de résolution de systèmes polynomiaux. Cette
interface a été présentée au workshop Frisco en mars à
Nice, et a déjà permis de résoudre plusieurs problèmes non
triviaux, par exemple le calcul du polynôme minimal de la
constante de Neville:
Avec l'aide de Pierre-Etienne Moreau (projet Prothéo),
O. Kluge, pendant sa visite à Nancy, a interfacé avec
MUPAD le programme de filtrage
associatif-commutatif développé par Steven Eker :
>> ac_match(a+b, c+2+x, {}, {hold(_plus)}, {}); {b = 2, a = x + c}
Participants : François Bertault , Paul Zimmermann
Deux logiciels dédiés à la représentation automatique de
structures combinatoires par des graphes ont été développés au
cours de ces trois dernières années au sein de l'équipe Euréca.
Le logiciel CGRAPH permet de saisir de
façon interactive des graphes composés et de les dessiner de
manière automatique. Ces graphes ont la particularité de posséder
à la fois des liens d'adjacence et d'inclusion entre les noeuds.
L'originalité principale de ce programme est de permettre
l'emploi simultané sur un même graphe de plusieurs algorithmes
classiques de tracé de graphes simples. L'ajout de la possibilité
de représenter les liens d'inclusion ne se fait ainsi pas au
détriment de la qualité de la représentation de graphes
classiques. Le logiciel PADNON est lui
dédié au tracé automatique de graphes simples, orientés ou non,
en trois dimensions. Il permet de dessiner des graphes modifiés
dynamiquement, sous forme d'animation. PADNON a été utilisé pour visualiser dynamiquement la
structure de données sous-jacente au programme GRAPPE de recherche de motifs décrit dans la
section .
Les deux logiciels CGRAPH et PADNON sont conçus avec le souci constant de permettre leur utilisation conjointement avec d'autres programmes, ce qui ouvre un large champ d'applications. Ils sont diffusés par ftp anonyme et une description de leurs caractéristiques est disponible sur le web.
Participant : Fabrice Rouillier
La boîte à outils REALSOLVING est un logiciel dédié à l'étude des racines
réelles des systèmes polynomiaux. La première version date de
1993, elle contenait un unique algorithme pour le comptage des
racines réelles des systèmes polynomiaux admettant un nombre fini
de solutions complexes.
Cette boîte à outils comporte maintenant une panoplie importante d'outils variés de calculs exacts destinés à la simplification des systèmes et au codage ou à l'encadrement des racines réelles.
Une enquête auprès des utilisateurs de REALSOLVING a été financée par le projet Européen FRISCO. Les conclusions sont très encourageantes puisqu'il est mentionné dans les points positifs la rapidité, la solidité et la facilité d'utilisation du logiciel. D'autre part, le groupe MUPAD propose de joindre ce logiciel à sa distribution Linux.
Le logiciel REALSOLVING a subi de profondes modifications pendant l'année 1997 (le noyau a été complètement réécrit). En particulier, un ramasse-miettes spécifique et des implantations de très bas niveau (arithmétique modulaire 32 bits) ont permis un gain en temps de calculs d'environ 60% en moyenne.
Il a de plus été porté sur les machines du centre Charles Hermite et des versions distribuées de certains algorithmes ont été développées (algorithme de traitement d'inégalités simultanées pour l'étude des zéros réels de systèmes polynomiaux ou de polynômes en une variable, permettant de dénombrer les racines vérifiant un nombre arbitraire d'égalités et d'inégalités). Un travail est actuellement en cours pour la parallélisation des algorithmes multi-modulaires.
Le protocole de communication de REALSOLVING, commun avec GB (logiciel de Jean-Charles Faugère (CNRS - LIP6) dédié au calcul de bases de Groebner), a été réactualisé afin de devenir accessible depuis quelques logiciels généraux de calcul formel : MUPAD, AXIOM, ALDOR. La réactualisation de ce protocole a permis en particulier d'établir des liens sérieux avec divers groupes actifs de développement logiciel (NAG, MuPAD).
Participants : Vladimir Grébinski , Grégory Kucherov
Dans le cadre de notre travail sur la recherche combinatoire
(cf section )
nous avons créé un logiciel, dénommé DESIGNER, qui résout le problème combinatoire suivant.
Étant donné un ensemble
de
objets et un nombre
, construire un nombre minimal de parties de
de
cardinalité
(qui forment ce que l'on appelle un
recouvrement) telles que chaque couple
se trouve
dans une et une seule de ces parties. DESIGNER est un programme qui accepte deux nombres,
et
, et calcule un ensemble de parties de
chacune de cardinalité inférieure ou égale à
.
Ce problème relève de la branche classique de la combinatoire
appelée en anglais Block Design Theory. Malgré la
multitude de résultats mathématiques, on connaît peu de choses
sur les algorithmes efficaces de construction de recouvrements,
et encore moins sur les limites dans lesquelles les recouvrements
proches de l'optimum sont réalisables. De plus, l'approche
classique (voir par exemple La Jolla Covering
Repository) porte sur les recouvrements exacts,
quand la cardinalité de chaque partie est fixée à (ou à
quelqu'autre valeur spécifiée) et en revanche, chaque couple peut
être recouvert par plusieurs parties.
Deux implantations de DESIGNER ont été
faites : une implantation prototype en MAPLE et une implantation optimisée en C++. La version
MAPLE est disponible sur http://www.loria.fr/~kucherov/SOFTWARE/Designer/Designer
et la version C++ sur http://www.loria.fr/~kucherov/SOFTWARE/Designer/cover.tar.gz.
Voici quelques résultats de calcul de la version C++ sur un
Sparc-10.
est le nombre minimal de parties que
l'on puisse espérer et par conséquent la 4ème colonne contient un
indice de la << qualité >> du recouvrement construit
(lorsque cet indice est proche de 1, le recouvrement est proche
de l'optimal). Notons cependant que cet indice est relatif, car
le nombre
est le mimimum absolu
qu'il n'est pas toujours possible d'atteindre.