Précédent : Logiciels Remonter : Projet SAFIR, Systèmes Algébriques
et Suivant : Actions industrielles
Participants : Mohamed Elkadi , Bernard Mourrain
Mots-clés : système polynomial, résidu, dualité,
application polynomiale propre, exposant de Lojasiewicz
Les méthodes de résolutions algébriques de systèmes polynomiaux s'appuient sur l'analyse de la structure de l'algèbre quotient par l'idéal des relations que l'on cherche à résoudre. Dans cette étude, nous nous sommes intéressés à certaines classes de systèmes polynomiaux que l'on rencontre assez fréquemment, comme les intersections complètes de dimension . La théorie algébrique des résidus et la dualité sont des ingrédients importants de cette approche. Le résidu est en effet une forme linéaire, définie sur le quotient qui permet de retrouver complètement la structure de ce quotient. C'est ainsi un générateur du dual, qui possède des propriétés très riches, encore peu exploitées en géométrie algébrique effective. Dans un travail en cours, nous nous intéressons à la caractérisation d'une classe de ces systèmes polynomiaux, les applications polynomiales propres et au calcul de leurs exposants de Lojasiewicz à l'infini. Ceci nous a conduit également à un nouvel algorithme de calcul du résidu et donc de la structure quotient.
Participants : Ioannis Emiris , Arona Kane , Bernard
Mourrain
Mots-clés : résolution de systèmes polynomiaux, algèbre
linéaire, élimination, résultant, bézoutien
La résolution d'un système polynomial de dimension est équivalente à un calcul de valeurs ou vecteurs propres d'opérateurs de multiplication. Pour construire ces matrices de multiplication modulo l'idéal engendré par les équations, nous utilisons plusieurs formulations issues de la théorie de l'élimination, comme les résultants, les résultants toriques, les Bézoutiens. Cette approche a l'avantage de pouvoir s'appliquer avec des coefficients approchés et se révèle très efficace dans des problèmes géométriques rencontrés en robotique ou en vision, par exemple, où les données sont connues avec une certaine incertitude. Un inconvénient majeur de ces méthodes est cependant que les formulations matricielles, utilisées également pour le calcul de résultant, ne s'appliquent que dans les cas << génériques >>. B. Mourrain s'est donc intéressé au problème de dégénérescence dans ces méthodes et a montré comment, en analysant la structure des faisceaux de matrices correspondant, il est encore possible de retrouver les racines du système d'équations, par des techniques de compression des parties singulières de ces faisceaux de matrices. Un article sur ce travail a été rédigé [EM97].
Par ailleurs, le stage de A. Kane était consacré au développement de la bibliothèque d'algèbre linéaire pour les polynômes (ALP) en C++, en particulier à la construction des matrices de Bézout et de Macaulay. Cette bibliothèque utilise certaines fonctions de la bibliothèque LAPACK et permet de construire une algèbre quotient approchée puis, par des calculs de valeurs propres, de retrouver les racines du système. Ce travail s'inscrit dans le cadre du projet européen FRISCO.
Les différentes méthodes utilisées dans cette approche
matricielle sont présentées dans un rapport INRIA [EM96] et appliquées aux calculs de
configurations d'une molécule à 6 atomes (voir aussi en
démonstration :
http://www.inria.fr/safir/DEMO/cyclohex
).
Participants : Ioannis Emiris , Bernard Mourrain , Victor
Pan , Gabriel Dos Reis
Mots-clés : matrice structurée, Toeplitz, Hankel, FFT,
polynôme multivariable
matrice structurée: une matrice dont tous les
coefficients peuvent être définis par un nombre linéaire de
coefficients par rapport à la dimension de la matrice.
La résolution de systèmes polynomiaux et la théorie des matrices structurées ont des liens très forts, déjà abondamment utilisés dans le cas d'une variable. Dans le cas de plusieurs variables, le problème était jusqu'à présent très peu étudié. Cependant les matrices de résultants, de Bézoutiens ou de résidus en plusieurs variables, ont des structures qui généralisent les structures de Toeplitz ou de Hankel (voir [21,29], aussi [MP97]). Une étude détaillée des opérateurs linéaires apparaissant en géométrie algébrique effective et de la structure des matrices associées a été menée par V.Y. Pan et B. Mourrain, illustrant ainsi le rôle de la dualité dans cette approche. Un article de présentation générale a été soumis pour publication, dans lequel nous montrons comment l'utilisation de la structure de ces matrices conduit à des algorithmes dont la complexité asymptotique est réduite d'au moins un ordre de grandeur, dans une gamme très large de problèmes algébriques.
Par ailleurs, V. Pan et I. Emiris se sont intéressés à l'utilisation de ces structures pour la construction des matrices de Newton et le calcul des résultants creux, permettant également de réduire la complexité asymptotique du calcul par un facteur presque linéaire en la dimension de la matrice [27]. Des techniques numériques sont intégrées à l'approche formelle pour tester le rang des matrices candidats, puis des résultats sur l'interpolation de polynômes << creux >> sont utilisés.
Dans son stage, G. Dos Reis s'est intéressé à une amélioration de l'algorithme de Weyl proposée par V. Pan et à son implémentation en C++. Cet algorithme (ayant une très bonne complexité théorique) s'appuie sur les transformées de Fourier et l'utilisation des structures de type Toeplitz ou Hankel. Pour un résumé des connexions de l'algorithme FFT avec les matrices structurées, voir [23].
Participant : Ioannis Emiris
Mots-clés : volume mixte, système polynomial, structure
creuse
Résumé : En étudiant la structure géométrique des monômes qui apparaissent dans les polynômes, on obtient des bornes et des algorithmes plus intéressants qu'en général.
La théorie d'élimination creuse est une théorie relativement
récente qui étudie l'élimination de variables en s'appuyant sur
la structure des monômes actuellement présents dans les polynômes
donnés. Pour un système de polynômes en
variables, le
volume mixte des polytopes de Newton donne la borne de Bernstein
sur le nombre des racines, qui est plus précise que la borne de
Bézout. Cette approche avait surtout considéré les racines à
coordonnées non-nulles.
Nous mettons l'accent sur les racines affines arbitraires, et nous proposons des algorithmes efficaces pour les compter et les approcher numériquement [34]. L'outil principal est un relèvement géométrique des points entiers représentant les monômes. Une fois que la borne sur le nombre de racines est obtenue, nous nous intéressons à la résolution numérique du système, c'est-à-dire à l'approximation de toutes les racines communes par une méthode d'homotopie numérique. Pour améliorer la stabilité numérique de l'homotopie, nous dérivons des bornes inférieures sur les valeurs du relèvement et nous démontrons qu'elles peuvent être calculées dynamiquement afin d'atteindre leur valeurs minimales.
Participant : Loïc Pottier
Mots-clés : base de Gröbner, algorithme d'Euclide
Résumé : L'algorithme d'Euclide peut être généralisé en dimension
, où il permet de résoudre élégamment des problèmes de programmation linéaire entière.
L'utilisation de résultats et techniques de la géométrie
algébrique dans le domaine de la programmation linéaire entière
se poursuit dans cette communauté. Le lien est fait par les bases
de Gröbner et les variétés toriques qui permettent d'obtenir des
<< ensembles test >> (i.e. qui obtiennent
uniformément une solution entière optimale à partir d'une
solution quelconque). Une session sur les << bases de
Hilbert >> a d'ailleurs eu lieu à ISMP (International
Symposium on Mathematical Programming) cette année, où nous avons
présenté une synthèse sur le calcul des bases de Hilbert et de
Graver. Notre résultat principal est la généralisation de
l'algorithme d'Euclide en dimension [9], qui est une version adaptée des
algorithmes de Buchberger et Knuth-Bendix. C'est le seul
algorithme qui calcule une base de Graver autrement que par
énumération des solutions possibles. Nous essayons de l'adapter
proprement aux bases de Hilbert. Il est implémenté en C, dans le
logiciel bastat, téléchargeable sur le Web avec une page
de démonstration interactive : http://www.inria.fr/croap/personnel/Loic.Pottier/Bastat/bastatdemo.html
.
Participants : Ioannis Emiris , André Galligo , Stephen
Watt
Mots-clés : précision limitée, certification du
résultat, valeur singulière, factorisation, polynôme approché
précision limitée: des données provenant d'une
expérience sont, en général, bruitées.
Les applications potentielles, par exemple en vision, en
robotique, en biologie moléculaire, en traitement du signal et en
automatique, sont nombreuses, puisque les données provenant d'une
expérience sont, en général, bruitées.
Ayant défini la notion du Plus Grand Commun Diviseur (PGCD) pour deux polynômes en une variable dont les coefficients sont connus en précision limitée, nous avons continué ce travail en étudiant le cas de plusieurs polynômes. Après avoir généralisé la notion de PGCD approché pour plusieurs polynômes, le travail de ?a introduit une matrice ressemblant à une matrice de Sylvester afin d'obtenir un théorème de certification du degré du PGCD approché, ainsi qu'un algorithme de calcul.
Un problème lié est la factorisation absolue de polynômes à deux variables, ayant pour coefficients des nombres flottants. Si le polynôme est sans facteur carré, on considère en un point générique une solution implicite du polynôme, que l'on développe en série. Des candidats facteurs sont obtenus en considérant des polynômes de degrés croissants, qui admettent des développements limités de la solution implicite comme solutions implicites tronquées. Ayant donné un test d'irréducibilité [28], nous travaillons également sur un algorithme de factorisation absolue de polynômes à deux variables (basé sur une approche numérique) qui pourrait ensuite déboucher sur un algorithme de factorisation pour les polynômes à coefficients approchés.
Un résumé des différents aspects de ce travail se trouve dans [24].
Participants : Didier Bondyfalat , Olivier Faugeras
(projet ROBOTVIS) , Bernard Mourrain
Une tâche importante des outils de vision par ordinateur consiste à reconstruire une scène 3D à partir d'images d'une caméra. Dans ces différentes vues d'une même scène, les objets utilisés pour la reconstruction sont des points, des droites, des plans, vérifiant certaines relations géométriques : points sur une droite, dans un même plan, droites orthogonales, ... Pouvoir exploiter ces relations aussi bien au niveau formel en vérifiant des propriétés géométriques qui se déduisent des précédentes, qu'au niveau numérique en prenant en compte l'incertitude des coordonnées des points dans les images, est donc un challenge où intervient à la fois la géométrie et le calcul numérique. Le travail de première année de thèse de D. Bondyfalat a donc consisté à étudier les différentes méthodes de démonstrations automatiques en Géométrie et de voir leurs applications dans des problèmes de reconstruction en Vision. Une nouvelle méthode de recherche automatique de propriétés d'une configuration géométrique a également été mise au point. L'applications de ces méthodes algébriques dans le cadre de l'analyse d'images est en cours, en collaboration avec le projet CUMULI (LTR 21.914).
Participants : Ioannis Emiris , Bernard Mourrain
Mots-clés : détermination du signe, arithmétique
exacte, arithmétique modulaire probabiliste, simple précision,
perturbation
simple précision: le nombre de chiffres binaires
utilisés est fixe et ne dépend pas de l'opération. On évite alors
d'utiliser une précision arbitraire, soit sur les entiers, soit
sur les flottants.
Certaines questions fondamentales liées à l'implantation des algorithmes en géométrie combinatoire et algorithmique peuvent être considérées d'un point de vue purement algébrique. Nous étudions deux problèmes importants et souvent complémentaires : la singularité des données et l'arithmétique exacte, y compris la détermination du signe.
Nous avons étudié et implanté une perturbation infinitésimale et symbolique pour traiter les données singulières. Pour des applications en robotique, un post-traitement permet d'éliminer les effets artificiels de la perturbation [19].
La détermination du signe des expressions algébriques est de grande importance en modélisation, CAO (conception assistée par ordinateur) et calcul formel réel. Notre méthode repose sur l'arithmétique modulaire,qui est efficace, mais pour laquelle il est généralement accepté que les comparaisons requièrent une précision multiple. L'algorithme de [25,16] nous permet de déterminer le signe exact et d'effectuer des comparaisons dans ce modèle en simple précision. L'idée principale est de combiner le calcul dans un corps fini avec un calcul approximatif mais bien contrôlé sur les flottants, afin de garantir la simple précision et obtenir une accélération importante en pratique. Les résultats des expériences faites avec l'implantation de H. Brönnimann et S. Pion du projet PRISME indiquent qu'il s'agit de la méthode la plus performante aujourd'hui, pour des prédicats de haute dimension. Ces questions seront de nouveau étudiées au sein de l'action incitative Fiable. Une technique aléatoire nous permet d'améliorer l'efficacité du théorème du reste chinois [19].
Un autre aspect de la combinaison du calcul modulaire et du calcul flottant est examiné dans [18] pour certaines opérations vectorielles et matricielles sur les réels. Le but est de combiner les avantages des deux méthodes, afin de réduire la précision nécessaire quand on peut établir des bornes intéressantes sur le nombre de chiffres exprimant le résultat.
Participants : Stéphane Lavirotte , Loïc Pottier
Mots-clés : reconnaissance de formules, reconnaissance
de caractères, analyse de documents, grammaire de graphe
Résumé : À l'aide de grammaires de graphes avec contextes, et de la résolution de leurs ambiguïtés, on peut reconnaître des formules mathématiques scannées ou manuscrites.
Parmi les améliorations possibles de la saisie de formules, on
peut envisager l'utilisation de formules déjà imprimées ou les
écrire sur une tablette graphique. Le problème à résoudre est
alors : Comment reconstruire une formule (arbre de
syntaxe abstraite) à partir des données graphiques (les
caractères qui constituent la formule et leurs positions).
Notre approche consiste en l'utilisation d'une grammaire de graphes contextuelle. Nous avons découpé le problème en trois parties :
Ce découpage permet de rendre suffisamment indépendantes les différentes parties et donc de pouvoir les étudier séparément.
Durant cette année, nous nous sommes penchés sur plusieurs problèmes. L'élimination des ambiguïtés entre les différentes règles de la grammaire de graphes a été enrichie et prouvée. Nous avons aussi enrichi les données graphiques stockées dans les graphes afin de pouvoir exprimer plus finement les liens entre les différents objets graphiques qui constituent la formule à reconnaître. Le prototype actuel a été complété pour tenir compte des dernières modifications.
Une autre partie du travail a été d'étudier les problèmes liés à la reconnaissance des caractères et en particulier des caractères mathématiques. Cette étude a conduit à un OCR plus spécifiquement dédié aux caractères mathématiques. Nous avons aussi une collaboration en cours avec l'université de Duisburg (Allemagne) pour étudier la reconnaissance de formules manuscrites (saisies par tablette graphique).
Nous avons exposé nos travaux à ICDAR en août [30].
Participants : Olivier Arsac , Stéphane Dalmas , Marc
Gaëtano
Mots-clés : interface homme-machine, éditeur de
formules
Emath, le composant d'édition de formules mathématiques conçu et implémenté les années précédentes, a été utilisé cette année pour réaliser un prototype assez complet d'interface. Ce prototype utilise le Central Control pour effectuer ses calculs.
Emath se présente sous la forme d'un serveur auquel une application délègue la gestion d'une ou plusieurs fenêtres destinée à l'affichage et à l'édition de formules mathématiques. Pour faciliter l'expérimentation et une grande paramétrisation, dans un esprit similaire à l'éditeur de texte Emacs, Emath contient un petit interprète Lisp (Klone, un interprète embarquable développé par l'équipe KOALA). La plupart des fonctionnalités d'Emath sont décrites par des fonctions Klone et sont donc modifiables et extensibles. Pour garantir une bonne interactivité, l'éditeur utilise un moteur d'affichage incrémental avec cache de « pixmaps » et une bibliothèque de processus légers (threads) qui permet, par exemple, que l'édition dans une fenêtre ne bloque pas le réaffichage dans une autre. La qualité de l'affichage est supérieure à celle des interfaces des systèmes de calcul formel commerciaux.
L'interface que nous avons réalisée nous a permis de tester plusieurs modes de saisie de formules, les déplacements spatiaux (déplacement dans la structure bi-dimensionnelle de la formule par opposition aux déplacements syntaxiques dans sa structure logique) et l'utilisation de la multisélection pour spécifier les paramètres d'une opération.
Pour la saisie, nous avons évalué différentes solutions à l'aide d'un jeu de tests soumis à quelques utilisateurs représentatifs. Les comparaisons ont porté sur différentes façons de saisir des expressions de manière bidimensionnelle et les syntaxes de Maple et Mathematica.
Nous avons dû, à l'usage, revoir l'algorithme utilisé pour nos déplacements spatiaux qui utilise maintenant une structure géométrique plus sophistiquée pour trouver l'élément de formule le plus proche dans une direction donnée.
Emath a également été intégré dans une interface Tcl/Tk pour réaliser un éditeur de formule capable de générer du LaTeX ou de l'OpenMath par couper-coller.
Participants : Stéphane Dalmas , Marc Gaëtano , Stephen
Watt
Mots-clés : communication, protocole, OpenMath
Un premier document définissant précisément la version 1 d'OpenMath a été rédigé cette année. À cette occasion, nous avons révisé l'encodage SGML utilisé par OpenMath qui est désormais compatible XML et permet d'exprimer le partage de sous-expressions.
Après avoir été intégrée dans des versions expérimentales des systèmes de calcul formel Reduce et Maple, notre bibliothèque C a également été intégrée dans MuPad (comme un module dynamique). Nous l'avons utilisée pour faire communiquer IlogSolver (solveur de contraintes de la société Ilog) avec le moteur de calcul de bases de Gröbner développé à Pise (dans le cadre du projet FRISCO). Cette expérience a montré l'intérêt de cette approche. Sur plusieurs problèmes concrets, le calcul d'une base standard pour réduire les contraintes polynomiales a pu accélérer nettement le calcul d'une solution.
Depuis septembre, notre activité OpenMath se poursuit dans le cadre d'un projet européen Esprit (``Task 3.2, Multimedia Standards'') intitulé OpenMath: Accessing and Using Mathematical Information Electronically.
Participants : Claude Huchet , Stéphane Dalmas , Marc
Gaëtano
Mots-clés : calcul formel, base de formules, base de
données déductives
Cette année, nos efforts dans ce domaine ont porté d'une part sur l'amélioration de notre prototype et d'autre part sur une meilleure formalisation de certains de nos mécanismes, en particulier la liaison entre typage et conditions de validité.
Une requête à la base de formule a la forme « sous les
conditions , la formule
est-elle vraie ?
» où
peut contenir des variables particulières qui devront
être instanciées par une expression dans la réponse, ce qui
permet, par exemple, de poser des questions comme « quelle est
l'expression (une expression) qui représente la primitive d'une
fonction donnée ». La réponse à une requête est multiple et
conditionnelle : des conditions supplémentaires peuvent être
données dans la réponse. La base peut répondre «
est
vrai si on rajoute la condition
aux conditions
». Les réponses sont obtenues par un processus de
déduction original qui combine une unification
associative-commutative entre la requête et les formules de la
base (il s'agit en fait d'un cas particulier d'unification
associative-commutative) et une ou plusieurs étapes qui
s'apparentent à la paramodulation. Certaines des équations
provenant de l'échec de l'unification sont résolues en utilisant
la base elle-même ou un algorithme spécialisé.
Nous avons pu procéder à une première série de tests significatifs avec une base contenant environ 600 formules (pour 75 fonctions et constantes connues). Cela nous a permis de mettre en évidence plusieurs problèmes intéressants. Nous avons pu améliorer l'efficacité du moteur de recherche de la base de manière significative mais plusieurs directions restent à explorer notamment dans le contrôle du processus de déduction qui est aujourd'hui assez primitif et l'élimination de certaines solutions triviales.
Participant : Loïc Pottier
Mots-clés : calcul formel, preuve de programme
Résumé : L'implémentation certifiée d'algorithmes de calcul formel est possible grâce au système Coq et à son mécanisme d'extraction en ocaml. De plus, le langage de Coq (les constructions inductives de Huet-Coquand-Paulin) est particulièrement adapté pour la représentation de structures mathématiques.
Nous avons mené cette année plusieurs expériences destinées à
tester si, en se basant sur le système Coq, on pouvait obtenir
des implémentations certifiées et efficaces d'algorithmes de
calcul formel. Les résultats nous semblent très
encourageants : sur les exemples de l'arithmétique des
polynômes à une ou plusieurs variables, on obtient du code plus
rapide que tous les systèmes de calcul formel, excepté Pari qui
est légèrement plus efficace. Ces tests sont visibles sur le Web
http://www.inria.fr/croap/personnel/Loic.Pottier/Coq/rap2.html
. Du coté de la représentation de structures mathématiques, nous
avons exploré plusieurs voies. La plus intéressante, à notre
avis, était de représenter à l'aide du langage Coq, les notions
de structures, de signatures, d'héritage (un peu comme dans
Axiom, ou dans les modules de langages objets). La puissance de
Coq l'autorise, mais il s'est avéré que les calculs (les
réductions sur les types en particulier) étaient beaucoup trop
lents en pratique. La deuxième voie a été d'abstraire un peu
moins et d'utiliser les « record » de Coq ainsi que les
coercions. Nous nous sommes ainsi basés sur le travail d'A. Saïbi
(projet Coq) sur la théorie des catégories et les coercions, pour
développer une bibliothèque d'algèbre de base. Pour l'instant,
elle va des ensembles aux algèbres sur un anneau, avec les
polynômes à plusieurs indéterminées. Le but de ce développement
est double : d'une part fournir des outils pour écrire
facilement des algorithmes de calcul formel, au moins aussi
puissants que ceux donnés par Axiom ; d'autre part donner un
environnement où les preuves de ces algorithmes seront plus
naturelles et aisées.
Parmi les problèmes soulevés par ces expériences, les plus importants sont l'extension du mécanisme d'extraction de Coq (pour extraire dans << Type >>) et le développement d'outils syntaxiques pour avoir une syntaxe plus naturelle dans l'écriture d'algorithmes et la manipulation d'expressions algébriques.
Mentionnons enfin quelques expériences montrant que l'extraction de Coq vers C ou Java est possible à peu de frais, du moins si on accepte une relative perte d'efficacité par rapport à ocaml.
Nous collaborons étroitement avec le récent projet << FOC >> du LIP6 de Jussieu, avec les équipes de D. Lazard, T. Hardin, dont le but est de bâtir un système de calcul formel certifié à l'aide de Coq, ocaml et des algorithmes déjà écrits en Axiom.
Participant : José Grimm
Mots-clés : document structuré, base de données, analyse
de documents
Nous avons écrit des scripts Perl pour gérer un ensemble de
fichiers LaTeX. Il s'agit par exemple de faire un index global,
de vérifier la cohérence orthographique entre les divers
fichiers, de gérer la bibliographie (compter le nombre de
publications par type, par année, etc., faire une bibliographie
globale à l'aide des bibliographies locales, etc.). Ce travail
sert par exemple pour générer le tiré à part du rapport
d'activité de l'UR de Sophia, et quelques indicateurs pour le
contrat d'objectifs de l'Inria. Par ailleurs, nous avons commencé
à faire une base de données contenant les fichiers de style et de
classes utilisables par LaTeX.
Participants : Christèle Faure , André Galligo , José
Grimm , Frédéric Eyssette , Mohamed Tadjouddine , Vladimir
Vyskocil , Stephen Watt , Mohammed Ghemires , Yves Papegay
Mots-clés : différentiation automatique, transformation de
code, code adjoint, dérivée, compromis stockage/recalcul
Nous avons continué notre activité sur l'analyse de Jacobienne creuse en interfaçant Partita et Odyssée. Partita nous permet de calculer un graphe de dépendances fin via l'analyse de régions de tableaux. À partir de cette information transmise par fichier, Odyssée génère un code calculant une jacobienne creuse. Cette approche est en cours d'évaluation sur des exemples types. Les paramètres comparés seront le temps d'exécution et l'occupation mémoire. Ces modifications ont été effectuées dans une version de travail d'Odyssée.
L'algorithme d'analyse de dépendance a été modifié pour
manipuler des informations plus compactes et permettre ainsi le
traitement de plus gros codes (150 000 lignes). En effet, sur de
grands codes, cette analyse ne terminait pas. Nous avons
implémenté un nouvel algorithme de mode inverse qui permet
d'inverser non plus un code de façon syntaxique, mais de
l'inverser selon son graphe de flot. L'implémentation actuelle
n'a pas été validée sur de grands codes, mais l'idée semble
correcte. Lorsqu'une version robuste de cet algorithme aura été
implémentée, le mode inverse d'Odyssée sera applicable à des
codes plus généraux. De plus, des mécanismes de vérification
automatique des hypothèses faites par Odyssée lors de la
dérivation sont en cours d'élaboration. Ces modifications ont été
réalisées dans une version 1.7 qui n'est pas distribuée
pour l'instant.
Le logiciel ODYPer est en cours de développement. Il est dérivé du logiciel Odyssée et analyse la propagation des erreurs d'arrondis dans un code. Il utilise un mode inverse très particulier qui n'existe pas dans Odyssée. Un contrat portant sur le logiciel ODYPer est en cours de signature entre l'UNSA et le CNES.
Participant : Yves Papegay
Mots-clés : optique,génération de
code,modélisation,simulation
Depuis 1994, dans le cadre de nos travaux de développement d'un ensemble d'outils de calcul formel pour la modélisation et la simulation, nous nous intéressons, en collaboration avec l'Aerospatiale-Cannes au cas de la calibration d'instruments optiques embarqués sur satellites.
Cette étude a débouché en 1995 sur la production de deux maquettes écrites respectivement en Mathematica et en Maple :
En 1996, le logiciel Circe a été réalisé à partir de la maquette Maple dans le cadre du stage post-doctoral de Jérôme De Sousa. Il possèdait en plus de nouvelles fonctionnalités de gestion des bibliothèques d'équations, de génération de code numérique et de communication avec les bibliothèques numériques NAG et IMSL.
Cette année, nous avons continué à développer Circe, pilotés par son application à la gestion de modèles d'instruments optiques, dans la cadre du projet DARWIN (en collaboration avec l'Aerospatiale-Cannes). De nouvelles fonctionnalités ont été ajoutées concernant notamment la nature des expressions mathématiques acceptées en entrée et le traitement d'expressions conditionnelles.
De plus, dans le cadre du bêta-test de la nouvelle version de Mathematica, nous avons développé la première maquette, en implémentant une interface graphique basée sur la notion de palette pour la gestion des modèles.