NumPy

Un article de Wikipédia, l'encyclopédie libre.

NumPy
Logo.
Image illustrative de l’article NumPy

Date de première version Voir et modifier les données sur Wikidata
Développeur communauté[pas clair]
Dernière version 1.19.5 ()[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 bibliothèque pour 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].

Exemples[modifier | modifier le code]

Création de tableau[modifier | modifier le code]

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

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

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

Algèbre linéaire[modifier | modifier le code]

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

  1. « Release 1.19.5 », (consulté le 15 janvier 2021)
  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 aussi[modifier | modifier le code]

  • SciPy : librairie pour le calcul scientifique.

Liens externes[modifier | modifier le code]

Sur les autres projets Wikimedia :