URL: https://linuxfr.org/news/petite-actu-des-outils-d-analyse-numerique Title: Petite actu des outils d’analyse numérique Authors: vpinon Date: 2011年06月15日T15:09:38+02:00 License: CC By-SA Tags: scilab, mathématiques, python, calcul et sciences Score: 45 Au pays des scientifiques (entreprises & labos), en plus de la « taxe Microsoft » (Windows + MS Office), s’ajoute souvent la « taxe [[MATLAB]] » (employé comme grosse calculatrice graphique programmable...). Pourtant, dans ce milieu, les _geeks_ ne sont pas rares. Continuons à porter la bonne parole : il existe des alternatives très valables, à choisir selon ses priorités ! Petit tour des candidats et leurs mises à jour dans la seconde partie de la dépêche. ---- [NumPy](http://numpy.scipy.org/) [Scilab](http://www.scilab.org/) [Octave](http://www.gnu.org/software/octave/) [FreeMat](http://freemat.sourceforge.net/) [R](http://www.r-project.org/) ---- Python avec SciPy (NumPy) & matplotlib --- [Ça s’installe](http://new.scipy.org/download.html) aussi simplement sur une bonne distrib’ Linux / *BSD que sur Mac OS X ou Windows. Compatible Python 3, mais certains binaires ne sont fournis que pour Python 2. Passer à Python demande d’ajuster ses habitudes de programmation (syntaxe très particulière), mais pour y gagner vraiment au passage. On peut garder des petits scripts sans se casser la tête, mais si on veut structurer un projet, appeler des modules externes, ça devient bien bien plus propre (horreur, un fichier `« .m »` pour la moindre fonction, l’affreux `mex` pour appeler du C...). On bénéficie alors de l’océan d’extensions Python pour répondre à tous les petits besoins annexes, gratuitement et simplement : le réseau, l’accès au matériel (ports série, GPIB), Tkinter pour les petites interfaces ou PyQt pour les grosses. Concrètement, côté numérique, l’« ossature » de manipulation de vecteurs et matrices est assurée par [NumPy](http://numpy.scipy.org/) (version 1.6 sortie en mai), les fonctions scientifiques étendues sont fournies par [SciPy](http://scipy.org/) (version 0.9 sortie fin février. Bientôt la 1.0 ?), et pour les beaux graphiques dans tous les sens, exportés dans tous les formats, appelez [matplotlib](http://matplotlib.sourceforge.net/) à la rescousse (version 1.0.1 de janvier). Tout ça est maintenant bien stable, toutes les fonctions courantes sont disponibles. Scilab --- Depuis bien longtemps [cet outil](http://www.scilab.org/products/scilab/download) est pleinement satisfaisant, avec toute la documentation en français ! Développé initialement par l’[ENPC](http://www.enpc.fr/ "École Nationale des Ponts et Chaussées") et l’[INRIA](http://www.inria.fr/ "Institut National de Recherche en Informatique et Automatique") (occasions de stages ?), il s’est ouvert à travers un consortium. La syntaxe ne dépayse pas trop, bien que pas exactement identique aux vieilles habitudes (scripts à modifier). Le passage à la version 5 l’a largement modernisé (et sensiblement alourdi !), de nombreux outils pratiques de déverminage ont bien mûri. Un autre plus de Scilab par rapport aux autres : [Xcos](http://www.scilab.org/fr/products/xcos) (ex‐scicos), le simulateur « synoptique bloc » (à la [Simulink](http://www.mathworks.fr/products/simulink/)), lui aussi devenu bien plus attrayant... De nombreuses « boîtes à outils » sont disponibles pour ajouter des fonctionnalités (via [les ATOMS](http://atoms.scilab.org/) et [la forge](http://forge.scilab.org/)). [Scilab 5.3.2 date de mai](http://www.scilab.org/news/events), la version 6 est [en chantier](http://www.scilab.org/products/scilab/roadmap). Octave --- Octave vise la compatibilité avec les programmes MATLAB, pour une transition à court terme sans trop de râleries, mais en ajoutant également des petits raccourcis pour améliorer « l’expérience de développeur ». [La version 3.4.0 est sortie en février](http://www.gnu.org/software/octave/), et on sent depuis quelque temps qu’on a atteint un produit stable (plus de bogues de tuyau gnuplot...), performant et fonctionnel (notamment avec les greffons de [Octave-Forge](http://octave.sourceforge.net/)). Toujours pas d’environnement « sexy » de base, mais le _shell_, c’est très bien ; pourquoi l’emballer ? Je règle mon Term et mon éditeur comme je le préfère ! FreeMat --- Même objectif de compatibilité avec la « référence coûteuse », mais avec une interface plus léchée, [FreeMat](http://freemat.sourceforge.net/) semble être un plus petit projet qui s’est développé doucement : la version 4.0 date d’octobre 2009. R --- [R](http://www.r-project.org/) est depuis longtemps une référence pour les statistiques et l’analyse de données. [La dernière révision est sortie en avril](http://developer.r-project.org/). Et les « gadgets »... aussi pratiques ? --- Pour ceux qui aiment ne jamais faire comme les autres, on peut retrouver des capacités vectorielles et graphiques dans de nombreux autres petits langages. Par exemple, le bon vieux [S-Lang accompagné de Grace](http://www.s-lang.org/modules/grace/), le tout pimpant [Kpl](http://omnibus.uni-freiburg.de/%7Estille/kpl/kpldemo.html), le [Perl Data Language avec PLplot](http://pdl.perl.org/), des tentatives avec JavaScript comme [NumCalc](http://numcalc.com/) ou [gRaphaël](http://g.raphaeljs.com/)... Et, bien‐sûr, du C++, du Ruby, du OCaml, etc., et [GnuPlot](http://www.gnuplot.info/), [plotutils](http://www.gnu.org/software/plotutils/), [Qt](http://qt.nokia.com/), [GTK](http://www.gtk.org/), [Tk](http://www.tcl.tk/), [SVG](http://www.w3.org/Graphics/SVG/), [Fig](http://epb.lbl.gov/xfig/fig-format.html), [PostScript](http://www.tailrecursive.org/postscript/postscript.html)...