L'univers de Mathematica

Propos d'IMS - témoignages d'utilisateurs


Le huitième International Mathematica Symposium (IMS'06) aura lieu au Centre des congrès du Palais des papes en Avignon - France, du 19 au 23 juin 2006. Située dans le sud de la France, non loin de Marseille et à proximité de la mer Méditerranée, Avignon accueille par ailleurs son célèbre festival au mois de juillet (voir aussi la rubrique environnement).

L'International Mathematica Symposium est une conférence interdisciplinaire dédiée aux utilisateurs de Mathematica, mais également ouverte aux personnes souhaitant découvrir son univers de deux millions d'utilisateurs. En effet, grâce à son pouvoir fédérateur et à sa capacité de faire dialoguer les disciplines, Mathematica couvre les champs de l'investigation scientifique, de la conception technique et de la création artistique.

C'est pourquoi, le symposium s'adresse à la communauté académique (enseignement ou recherche) aussi bien qu'au monde industriel ou à l'univers des arts. Les sites des précédents IMS reflètent d'ailleurs la diversité des sujets abordés. Le symposium couvre une large variété de disciplines telles que :

  • Mathématiques pures et appliquées
  • Algorithmes et calcul formel
  • Informatique théorique et appliquée
  • Physique
  • Analyse de la complexité
  • Biologie et sciences de la vie
  • Sciences humaines
  • Ingénierie
  • Economie et finance
  • Graphisme et création
  • Arts visuels et musique
  • Education
  • Applications diverses

Le symposium est voulu forum où chacun(e) peut présenter ses résultats et découvrir les travaux en cours dans le domaine de l'informatique scientifique. En complément des exposés, il sera animé par des conférenciers invités, des tables rondes, des sessions de formation, des sessions de posters, des démonstrations de logiciels, des expositions d'œuvres d'art, sans oublier tourisme et gastronomie.

Témoignages d'utilisateurs

Témoignage de physicien

Un jour, je rencontrai un étudiant qui préparait un thèse sur l'optique de la région du point de croisement des deux faisceaux d'un collisionneur électron-positron. Le sujet était magnifique, il concernait un projet qui devait sonder la matière au niveau du TeV (1012 électron volt) dans le centre de masse des collisions. Le problème consistait à confiner les faisceaux dans un volume aussi faible que possible dans la région de collision pour optimiser l'observation d'évènements nouveaux. Comment attaquer le sujet ? L'optique des particules se distingue de l'optique lumineuse par le fait que les lentilles de focalisation n'ont pas de symétrie de révolution. Conséquence : s'il y a focalisation dans le plan horizontal, il y aura défocalisation dans le plan vertical et vice versa. La focalisation dans tous les plans exige un système de lentilles. Combien de lentilles ? Comment les associer ? Le directeur de thèse suggéra à l'étudiant d'adapter un schéma conçu à Stanford et qui ne comportait pas moins de 15 éléments indépendants soit 30 variables au total en comptant focalisation et position pour chaque élément.

-  Comment optimiser une fonction de 30 variables ? demanda l'étudiant.
-  Avec MINUIT, répondit le superviseur.

MINUIT est un programme de minimisation numérique célèbre qui accepte un nombre arbitraire de variables. Eblouissant ? Certes, les algorithmes de MINUIT sont de première force mais le résultat dépend des valeurs initiales assignées aux variables et trois ans de thèse étaient certainement insuffisants pour épuiser la combinatoire des conditions initiales et démontrer que la solution choisie était effectivement la meilleure.

Avec Mathematica, il est possible de substituer à la méthode numérique une méthode symbolique qui calcule analytiquement les propriétés de systèmes optiques. Pourquoi cette méthode n'a-t-elle pas été proposée par le directeur de thèse ? Parce que le calcul à la main est rapidement inextricable dès qu'il faut multiplier des matrices en nombre assez élevé. L'ordinateur, s'il a assez de mémoire, ne se fatigue pas et il reste à l'utilisateur la tâche noble d'interpréter les expressions analytiques que lui fournit le programme. Ainsi est née une application de Mathematica appelée BeamOptics qui transpose dans le domaine des particules chargées la théorie de l'optique lumineuse. Les étudiants et les concepteurs d'accélérateurs de particules y ont trouvé nombre de solutions remarquables.

Bruno Autin, physicien au CERN (Genève, Suisse).

Une experience avec Mathematica

J'ai entendu parler de Mathematica la première fois à la fin des années 1980. À l'époque, on ne savait pas vraiment ce qu'on pouvait faire avec : on en attendait trop et on s'en servait trop peu. Je rencontrai la version 2 au début des années 1990, bien que, sans interface (sous unix), je fus rapidement découragé. J'ai vraiment commencé à travailler en 1996 avec la version 3 sur une station de travail, pour des programmes de visualisation de données, puis un mailleur (qui marchait comme la tortue de Papert, dessinant des zig-zags autour des courbes). J'utilisais Mathematica sans vraiment comprendre comment ça marchait, par tâtonnement, et c'était frustrant.

En 2000, j'eus besoin de vérifier un développement perturbatif (singulier, sous contrainte, en codimension quelconque). Ça ne marchait pas. Je recherchai de l'aide auprès du Groumf (http://listes.ujf-grenoble.fr/wws/info/groumf) : merci ! Néanmoins, pour avancer, je laissai tomber mon objectif initial et abordai des problèmes variés, avec sérendipité, jusqu'à finir par comprendre comment Mathematica marchait (parfois de manière désopilante).

Depuis, j'ai avancé principalement dans deux directions (qui pourraient être reliées à New Kind of Science).

1- D'une part, un simple problème de contrôle stochastique (tiré d'un jeu de dés), qui a progressivement évolué vers un programme étonnamment complexe, à l'échelle duquel la programmation procédurale est avantageusement remplacée par la programmation λ (anonyme) ou fonctionnelle. Alors, les difficultés qui restent sont : - quelles fonctions nommer ? et - comment les nommer ?

2- D'autre part, avec Rémi Barrère, j'ai étudié les implications philosophiques du calcul : nous transposons notre attitude curieuse et critique, de la programmation à la pensée en général. Un problème récurrent est l'auto-référence. Comme on le voit dans Mathematica, la distinction entre données et programmes est artificielle, ce qui a de profondes conséquences.

Enfin, de mon expérience avec Mathematica, j'infère que les travailleurs intellectuels ne devraient pas mépriser leurs outils ni opposer la théorie et la pratique. Pour ma part, Mathematica m'a aidé à programmer et à penser à un plus haut niveau, de manière plus autonome et audacieuse. Mathematica suscite toutes sortes d'interactions respectables entre les utilisateurs, au delà des catégories de la science traditionnelle.

Pierre Albarède

Pourquoi je suis enthousiaste à propos de Mathematica

Ayant entendu dire du bien de Mathematica, mon équipe de recherche se l'est procuré au début des années 1990 (version 1.1). Nous nous sommes assez rapidement rendu compte que c'était un produit génial fondé sur une infrastructure évolutive pleine de promesses. La suite a confirmé notre sentiment initial puisqu'encore aujourd'hui, ce logiciel fait figure de produit d'avant-garde. Nous avons alors décidé d'investir dans Mathematica non seulement en recherche mais pour l'enseignement, d'abord sous forme de travaux pratiques puis plus récemment sous forme de micro-projets d'étude et développement.

A bien des égards, Mathematica s'apprécie comme une œuvre d'art : il faut y revenir pour en savourer les subtilités. A première vue, il se distingue par l'intégration cohérente d'un environnement d'édition, d'un système de calcul formel et d'un langage multiparadigme dont la syntaxe mime celle des mathématiques. Il en ressort un outil polyvalent pour des travaux aussi divers que calculs numériques exacts ou approchés, manipulations algébriques ou analytiques, programmation symbolique, traitement des données, représentations graphiques, édition documentaire. De sa pratique, émerge une conception rénovée de l'informatique scientifique, où calcul et programmation se mêlent en une même activité.

Mais j'ai progressivement découvert qu'en tant que système à base de règles de transformation, Mathematica exprime la notion mathématique de système formel, ce qui le rapproche de la logique et des fondements des mathématiques. En même temps, parce qu'on peut aussi les concevoir comme des fonctions opérant sur des structures de données, ces règles de transformation expriment les algorithmes à la façon des informaticiens ; c'est son aspect langage de programmation symbolique. Enfin, ces fonctions traduisent naturellement les règles de calcul servant à la modélisation et à la simulation des systèmes physiques.

Au bilan, Mathematica apparaît comme un langage pivot avec lequel peuvent s'exprimer aussi bien les mathématiciens que les informaticiens ou les physiciens, ce qui stimule le dialogue interdisciplinaire et facilite la compréhension mutuelle. Avec ce langage universaliste, le logiciel s'affiche comme acteur majeur de l'activité foncièrement multidisciplinaire qu'est la modélisation et il contribue aussi à rapprocher des questions fondamentales en théorie de la calculabilité et des préoccupations pratiques en calcul scientifique.

Rémi Barrère, université de Franche-Comté, ENSMM, (Besançon, France)

Témoignage d'Eric Jacopin

J'ai découvert Mathematica 1.2 sur Apple Macinstoch au laboratoire de robotique de Stanford en avril 1989 où j'avais une matrice 6 x 6 à diagonaliser, qui comportait surtout des paramètres : je me souviens avoir donné la matrice et récupéré le résultat le temps de dire "ouf !" ; tellement étonné de sa rapidité, j'ai cru que Mathematica ne pouvait que se tromper et j'ai passé l'après-midi à vérifier que c'était juste. Les vecteurs propres étaient justes aussi, bien sûr.

Cette journée fût tout ou presque avant que je ne rencontre Jacqueline Zizi en 1990 alors que je faisais ma thèse à Paris 6. J'ai alors développé, à partir de 1993, un petit ensemble de fonctions pour visualiser des suites de points et en calculer la dimension fractale, à partir de la recherche dans un espace d'états. Ces fonctionnalités ont été enrichies, améliorées et distribuées par Internet (ftp puis http) en complément d'un système de construction de plans d'actions, de 1994 à 2000.

Depuis 1998, j'utilise Mathematica comme langage de base pour un cours de programmation orientée objet (développement d'une couche objet à la "ObjVLisp") et un cours sur les machines de Turing (développement d'un simulateur) à l'école spéciale militaire de Saint-Cyr. Toujours en Mathematica, j'ai aussi enseigné la programmation fonctionnelle dans le cadre de la seconde année de deug (en partenariat avec l'université de Rennes 2) de l'école militaire inter-armes, de 2001 à 2004.

J'utilise également régulièrement Mathematica pour mes recherches sur la satisfiabilité des formules, écrites sous la forme d'une clause normale conjonctive, minimalement insatisfiables (i.e. les formules qui sont fausses mais qui deviennent satisfiables dès qu'on leur enlève n'importe quelle clause).

Eric Jacopin