SciPy

bibliothèque logicielle Python
SciPy
Description de l'image SCIPY 2.svg.
Description de l'image NumPyOptimizationSmall.png.
Informations
Dernière version 1.12.0 ()[1]Voir et modifier les données sur Wikidata
Dépôt github.com/scipy/scipyVoir et modifier les données sur Wikidata
Écrit en Python, C, Fortran, C++ et CythonVoir et modifier les données sur Wikidata
Système d'exploitation Type Unix, Microsoft Windows et macOSVoir et modifier les données sur Wikidata
Type Bibliothèque logicielle Python (d)
Research software (d)Voir et modifier les données sur Wikidata
Licence Licence BSDVoir et modifier les données sur Wikidata
Site web scipy.orgVoir et modifier les données sur Wikidata

SciPy est un projet visant à unifier et fédérer un ensemble de bibliothèques Python à usage scientifique. Scipy utilise les tableaux et matrices du module NumPy.

Cette distribution de modules est destinée à être utilisée avec le langage interprété Python afin de créer un environnement de travail scientifique très similaire à celui offert par Scilab, GNU Octave, Matlab voire R.

Il contient par exemple des modules pour l'optimisation, l'algèbre linéaire, les statistiques, le traitement du signal ou encore le traitement d'images.

Il offre également des possibilités avancées de visualisation grâce au module matplotlib.

Afin d'obtenir d'excellentes performances d'exécution (point faible des langages interprétés), la plupart des algorithmes de SciPy et NumPy sont codés en C. Le module NumPy permet d'appliquer des opérations simultanément sur l'ensemble d'un tableau permettant d'écrire un code plus lisible, plus facile à maintenir et donc plus efficace.

Le projet suit la même philosophie que le langage Python à savoir clarté du code, facilité d'apprentissage et extensibilité.

Le projet est sous licence libre (BSD) et sponsorisé par Enthought (en), entreprise informatique qui développe également la distribution de Python Enthought Canopy, destinée au calcul scientifique.

Historique modifier

Dans les années 1990, Python a été étendu afin d'inclure un type de tableau pour le calcul numérique appelé Numeric. Le data scientist Travis Oliphant a finalement remplacé cet ensemble de fonctions en concevant et écrivant la librairie NumPy en 2006. Cette bibliothèque est un mélange de Numeric et de Numarray qui avaient été lancés en 2001.

Dans les années 2000, le nombre d'extensions a augmenté. De même, un intérêt croissant pour la création d'environnement complet de calcul scientifique et technique s'est développé.

En 2001, Travis Oliphant, Eric Jones et Pearu Peterson ont fusionné le code qu'ils avaient écrit et l'ont appelé SciPy. Celui-ci fournit une collection standard d'opérations numériques courantes sur la structure de données du tableau Numeric.

Peu après, Fernando Pérez a publié IPython, un interpréteur de commande interactif très amélioré et largement utilisé dans la communauté des developpeurs. Puis, John Hunter a publié la première version de Matplotlib, la bibliothèque graphique 2D.

Structure de données modifier

La structure de données de base utilisée par SciPy est un tableau multidimensionnel fourni par la librairie NumPy. NumPy gère, par exemple, quelques fonctions de base dans les domaines de l'algèbre linéaire, les transformations de Fourier et la génération de nombres aléatoires. Ensuite, NumPy étend ces fonctions.

NumPy peut également être utilisé comme un conteneur multidimensionnel de données, avec des types de données arbitraires. Cela permet à NumPy de s'intégrer de manière transparente et rapide à une grande variété de bases de données.

Les anciennes versions de SciPy, qui utilisaient Numeric comme type de tableau, sont dépréciées en faveur de la structure de données NumPy.

Sous-modules modifier

La partie « Apprentissage automatique » a été regroupée sous deux modules complémentaires de SciPy appelées SciKit :

Références modifier

  1. « Release 1.12.0 », (consulté le )

Liens externes modifier