SciPy — Wikipédia

SciPy
Description de l'image SCIPY 2.svg.
Description de l'image NumPyOptimizationSmall.png.
Informations
Dernière version 1.14.1 ()[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
Formats lus MAT-file (d), IDLSAV file (d), Matrix Market file format (d), netCDF, Harwell-Boeing file (d), Broadcast Wave Format, ARFF (d), numpy (d) et fichier texteVoir 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.

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 | modifier le code]

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 | modifier le code]

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

Références

[modifier | modifier le code]
  1. « Release 1.14.1 », (consulté le )

Liens externes

[modifier | modifier le code]