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é
Dernière version 1.18.1 ()[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.

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ènes.

>>> 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.18.1 », (consulté le 7 janvier 2020)
  2. « https://github.com/numpy/numpy/blob/master/LICENSE.txt » (consulté le 1er septembre 2016)

Voir aussiModifier

  • SciPy : librairie pour le calcul scientifique.

Liens externesModifier

Sur les autres projets Wikimedia :