UKOnline

Écosystème SciPy

Scipy est un écosystème de librairies Python centré sur le calcul numérique proposant un environnement de calcul et d'analyse pour les mathématiques, les sciences et l'ingénierie. Ces librairies sont coordonnées, en ce sens qu'elles sont à utiliser ensemble, car elles se basent sur des structures de données communes. Par exemple, la librairie NumPy définit des tableaux multidimensionnels qui peuvent être utilisés avec la librairie Matplotlib pour dessiner des graphes de fonction.

Librairies de l'écosystème Scipy
L'écosystème Scipy se compose de plusieurs librairies coordonnées dont les six principales sont NumPy, SciPy, Matplotlib, SymPy, pandas et IPython.

Les six principales librairies de l'écosystème SciPy sont reprises à la figure 1, NumPy étant considérée comme le cœur de l'écosystème. Celle-ci ajoute principalement le support de grands tableaux multidimensionnels au langage Python. Il s'agit de la structure de données de base du calcul numérique, détaillée au chapitre 2. La librairie SciPy complète le duo en proposant des algorithmes et fonctions utilitaires construits sur NumPy. On y retrouve, par exemple, des algorithmes d'optimisation et des fonctions de distributions statistiques.

La librairie Matplotlib permet de réaliser des dessins 2D ou 3D, dynamiques ou exportables, permettant notamment de dessiner des graphes de fonction, des histogrammes, des surfaces dans l'espace, etc. La librairie SymPy, quant à elle, permet de réaliser du calcul symbolique, c'est-à-dire qu'elle est capable de faire des calculs comportant des variables, sans jamais devoir les évaluer. La librairie pandas est spécialisée dans la manipulation, le traitement et l'analyse de données.

Enfin, il reste IPython qui est un interpréteur de commandes spécialisé pour le calcul interactif. Il supporte de nombreux langages et l'inclusion de médias riches tels que des formules mathématiques, des graphes, etc. Sa présence dans l'écosystème SciPy facilite son utilisation, comme illustré un peu plus loin en section 1.3.

Ces différentes librairies et outils sont détaillés tout au long du livre, dans les chapitres suivants, au fur et à mesure que l'on découvre les concepts clés du calcul numérique.