Voici venu le temps de la maturité ! En lançant la version 4 de leur logiciel de calcul formel Mathematica pour Linux/Unix, Windows et MacOS, les équipes de développement de Wolfram Research innovent en trois points essentiels.
Le projet Giganumerics
Il s'agit d'un axe de recherche visant les calculs de grande taille, que ce soit au niveau de la précision ou de la dimension des objets mathématiques à traiter, par exemple de très grandes matrices. La technologie des «packed arrays», l'une des premières retombées de cette recherche, permet en effet - pour la plus grande joie des physiciens par exemple - de traiter efficacement (tant sur le plan de la mémoire que du temps) des tableaux de grande taille, matrices ou autres. A l'instar de constructeurs de microprocesseurs comme Intel, par exemple avec le MMX2, les tableaux numériques (compactés) deviennent un type de base interne à part entière. Un tableau de 100000 réels aléatoires n'occupera que 800k de mémoire, au lieu de 2Go dans la version 3, et sera calculé en une fraction de seconde.
Ces avancées dans le calcul numérique se propagent à travers le système, améliorant les performances globales des traitements sonores et graphiques (cf figure 1). Les formats d'images pgm, tiff, jpg, gif, Xbitmap, etc. sont importables et exportables, traduits en matrices numériques passibles de traitements mathématiques (convolution, etc). Même chose pour le son avec les formats aiff, au et wav entre autres. Les objets 3D sont manipulables en temps réel avec des animations très lisses.
fig.1
Traitement par convolution d'un image jpeg
fig.2
Le noyau mathématique
Il fallait s'y attendre : plusieurs dizaines de nouvelles primitives font leur apparition. On notera avec intérêt une première attaque sérieuse du problème de la simplification sous hypothèses, avec les raisonnements du type : "Soit x réel. Faisons les calculs suivants..." en souhaitant que, bien entendu, Mathematica tienne compte dans ceux-ci que la variable x dénote bien un réel, ce qui était assez mal géré jusqu'à présent, y compris dans les autres systèmes de calcul formel (cf figure 2). Les transformées de Fourier, de Laplace et en Z ont été étendues et accélérées.
Les formats de documents
Un fichier Mathematica est un notebook, livre électronique structuré en ensembles de cellules que l'on peut ouvrir et fermer à volonté. Un notebook peut être distribué et lu avec le logiciel gratuit MathReader distribué sur le site de Mathematica, où l'on trouvera aussi MathSource, énorme réservoir de notebooks d'enseignement ou de recherche traitant de sujets aussi variés que les mathématiques pures, la physique-chimie, la finance, la programmation, etc. Comme dans la version 3, des palettes (cf figure 3) permettent de composer les formules mathématiques directement à la souris et en deux dimensions. Un notebook peut être converti aux formats HTML ou TeX, les équations étant alors traduites au format MathML, une extension de HTML qui va s'imposer peu à peu. Il était en effet possible, en HTML, de coder la formule E=mc2, mais pas la formule E=1/2mv2 (ou pire, une intégrale) qui devait être transformée en image gif. La norme MathML fournit dorénavant un langage de description de formules mathématiques (intégrales, etc.) qu'il reste aux navigateurs à implémenter. Signalons enfin qu'un correcteur orthographique apparaît, aussi bien au niveau du langage courant que des primitives. Enfin, la communication avec le monde extérieur est poursuivie, le système MathLink permettant de faire dialoguer un programme Mathematica avec un logiciel écrit en C, ou avec Excel, ou via une connection Internet !
Bref, un système incontournable pour l'ingénieur, l'enseignant, l'étudiant (prix éducation), ou même le simple rédacteur de documents techniques de très haute qualité.
Jean-Paul ROY
Mathematica 4
Wolfram Research (http://www.wolfram.com)