NumPy

Bibliothèque Python

NumPy
Logo.
Image illustrative de l’article NumPy

Date de première version Voir et modifier les données sur Wikidata
Développeur comunauté[pas clair]
Dernière version 1.19.4 ()[1]Voir et modifier les données sur Wikidata
Écrit en Python, C et FortranVoir et modifier les données sur Wikidata
Système d'exploitation Multiplate-forme
Licence BSD 3-clauses (d)[2]Voir et modifier les données sur Wikidata
Site web www.numpy.orgVoir et modifier les données sur Wikidata

NumPy est une extension du langage de programmation Python, destinée à manipuler des matrices ou tableaux multidimensionnels ainsi que des fonctions mathématiques opérant sur ces tableaux.

Plus précisément, cette bibliothèque logicielle libre et open source fournit de multiples fonctions permettant notamment de créer directement un tableau depuis un fichier ou au contraire de sauvegarder un tableau dans un fichier, et manipuler des vecteurs, matrices et polynômes.

NumPy est la base de SciPy, regroupement de bibliothèques Python autour du calcul scientifique[3].

ExemplesModifier

Création de tableauModifier

Numpy apporte la structure de données ndarray (Tableaux multidimensionnels) à python. Contrairement a la structure de liste de python, cette structure n'est pas dynamique, et le type de ses éléments doit être homogène[4].

>>> import numpy as np
>>> x = np.array([1, 2, 3])
>>> x
array([1, 2, 3])
>>> y = np.arange(10)
>>> y
array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])

Opérations de baseModifier

>>> a = np.array([1, 2, 3, 6])
>>> b = np.linspace(0, 2, 4)
>>> c = a - b
>>> c
array([ 1.        ,  1.33333333,  1.66666667,  4.        ])
>>> a**2
array([ 1,  4,  9, 36])

Fonctions universellesModifier

>>> a = np.linspace(-np.pi, np.pi, 100) 
>>> b = np.sin(a)
>>> c = np.cos(a)

Algèbre linéaireModifier

>>> from numpy.random import rand
>>> from numpy.linalg import solve, inv
>>> a = np.array([[1, 2, 3], [3, 4, 6.7], [5, 9.0, 5]])
>>> a.transpose()
array([[ 1. ,  3. ,  5. ],
       [ 2. ,  4. ,  9. ],
       [ 3. ,  6.7,  5. ]])
>>> inv(a)
array([[-2.27683616,  0.96045198,  0.07909605],
       [ 1.04519774, -0.56497175,  0.1299435 ],
       [ 0.39548023,  0.05649718, -0.11299435]])
>>> b =  array([3, 2, 1])
>>> solve(a, b)  # résout ax = b
array([-4.83050847,  2.13559322,  1.18644068])
>>> c = rand(3, 3)  # crée une matrice 3x3 au hasard
>>> c
array([[  3.98732789,   2.47702609,   4.71167924],
       [  9.24410671,   5.5240412 ,  10.6468792 ],
       [ 10.38136661,   8.44968437,  15.17639591]])
>>> np.dot(a, c)  # multiplication de matrices
array([[  53.61964114,   38.8741616 ,   71.53462537],
       [ 118.4935668 ,   86.14012835,  158.40440712],
       [ 155.04043289,  104.3499231 ,  195.26228855]])
>>> a @ c  # depuis Python 3.5 et NumPy 1.10, équivalent à np.dot(a, c) 
array([[  53.61964114,   38.8741616 ,   71.53462537],
       [ 118.4935668 ,   86.14012835,  158.40440712],
       [ 155.04043289,  104.3499231 ,  195.26228855]])

Notes et référencesModifier

  1. « Release 1.19.4 », (consulté le 15 novembre 2020)
  2. « https://github.com/numpy/numpy/blob/master/LICENSE.txt » (consulté le 1er septembre 2016)
  3. « Scientific computing tools for Python — SciPy.org », sur www.scipy.org (consulté le 8 juillet 2020)
  4. Stefan Van Der Walt, S. Chris Colbert et Gaël Varoquaux, « The NumPy array: a structure for efficient numerical computation », Computing in Science & Engineering, vol. 13, no 2,‎ , p. 22–30 (ISSN 1521-9615, DOI 10.1109/MCSE.2011.37, lire en ligne, consulté le 8 juillet 2020)

Voir aussiModifier

  • SciPy : librairie pour le calcul scientifique.

Liens externesModifier

Sur les autres projets Wikimedia :