La bibliothèque Numpy

1 - À propos de numpy

1.1 - Qu'est-ce que numpy?

Numpy est une bibliothèque open source associée au langage Python, créée spécialement pour le calcul scientifique, notamment le calcul matriciel, tout en offrant de multiples fonctions permettant la création et la manipulation  de matrices, vecteurs, etc ... Documentation officielle : https://numpy.org/doc/

1.2 Comment installer numpy?

L'installation de la bibliothèque numpy est une opération triviale, il suffit de lancer l'invite de commande cmd et de taper:

 pip install numpy

2. Matrice ou tableau avec numpy

2.1 Syntaxe de création d'une matrice avec numpy

import numpy as np
a = np.array ([ligne1, ligne2, ligne3])

Exemple: matrice à 2 lignes et 3 colonnes 2x3

import numpy as np
a = np.array ([[2,7,3], [8,5,4]])
print(a)

Ce qui affiche à l'exécution:
[[2 7 3]
[8 5 4]]

2.2 Produit terme à terme

import numpy as np
a = np.array ([[5, 3], [2, 3]])
b = np.array ([[1, 3], [7, 3]])
print(a * b)

La sortie est la suivante:
[[5 9]
[14 9]]

2.3 Produit matriciel

import numpy as np
a = np.array ([[5, 3],
              [2, 3]])
b = np.array ([[1, 3],
              [1, 3]])
produit = np.dot (a, b)
print(produit)

La sortie est la suivante:
[[8 24]
[5 15]]

2.4 Transposition d'une matrice

import numpy as np
a = np.array ([[5, 3], [2, 3]])
print(a.T)

La sortie est:
[[5 2]
[3 3]]

2.5 Matrice unitaire

import numpy as np
a = np.eye (3)
print(a)

La sortie est:
[[1. 0. 0.]
[0. 1. 0.]
[0. 0. 1.]]

2.6 Créer une matrice en subdivisant un intervalle

numpy.linspace () renvoie un tableau unidimensionnel d'une valeur de début à une valeur de fin après une étape donnée.

Exemple

import numpy as np
m = np.linspace (0, 20, 5)
print("La matrice obtenue à partir de l'intervalle [0 , 20]  est:", m)
# La sortie est:
# La matrice obtenue à l'étape 5 est: [0. 5. 10. 15. 15. 20.]

2.7 Créer une matrice numpy avec la méthode arange()

La méthode arange() renvoie une matrice dont les valeurs uniformément réparties sur l'intervalle [début , fin] avec le pas choisi.

Syntaxe:

np.arange( début, fin, pas , dtype=None)
  1. début : valeur de début (facultatif)
  2. fin : valeur de fin
  3. pas : saut entre chaque valeur (par défaut 1 s'il n'est pas précisé !)
  4. dtype : type choisi

Remarque

La valeur fin n'est pas atteinte !

Exemple : matrices formées de nombres entiers

import numpy as np
a = np.arange(5 , 20 , 3 , int)
print(a)
# renvoie une matrice d'entiers : [ 5  8 11 14 17]

Exemple : matrice formée de nombres réels

import numpy as np
a = np.arange(0 , 1 , 0.1 , float)
print(a)
# renvoie la matrice formée de nombres  réels : [0.   0.1  0.2  0.3  0.4  0.5  0.6  0.7  0.8  0.9]

2.8 Modifier la forme d'une matrice avec la méthode reshape()

La méthode reshape() a pour effet de modifier la forme d'une matrice en changeant le nombre de ligne et le nombre de colonnes. Il suffit pour cela de préciser le nombre des lignes et de colonnes en paramètres:

Remarque

# coding: utf-8
import numpy as np
a = np.arange(0 , 11, 2 , int).reshape(2 , 3)
b = a.reshape(3 , 2)
print(a)
print(b)
# print(a) renvoie la matrice formée de nombres  entiers : [[ 0  2  4]  [ 6  8 10]]
# print(b) renvoie la matrice formée de nombres  entiers : [[ 0  2] [ 4  6] [ 8 10]]

2.9 Concaténation de deux matrices avec la méthode concatenate()

La méthode concatenate() est utilisée pour concaténer deux matrices :

Exemple

# coding: utf-8
import numpy as np

a = np.array([1, 2])
b = np.array([3, 4, 5])

# concaténation de a et b
c = np.concatenate((a, b))
print("La matrice obtenue en concaténant a et b est : c = " , c) 
# La matrice obtenue en concaténant a et b est : c =  [1 2 3 4 5]

2.10 Action d'une fonction mathématique sur un tableau

NumPy possède un grand nombre de fonctions mathématiques qui peuvent être appliquées directement à un tableau. Dans ce cas, la fonction est appliquée à chacun des éléments du tableau.

Exemple

import numpy as np
x = np.linspace (0, 3,4)
y = np.exp (x)
print(y)
# La sortie est: [1. 2.71828183 7.3890561 20.08553692]

3. La sous-bibliothèque linalg pour l'algèbre linéaire

3.1 Inverse d'une matrice avec linalg numpy

Pour inverser une matrice avec numpy, nous utilisons la méthode: NumPy algèbre linéaire . Pour plus de détails sur cette fonction, consultez la documentation officielle: https://docs.scipy.org/ doc / numpy / reference / routines.linalg.html

import numpy as np
a = np.array ([[2, 1],
              [5, 3]])
b = np.linalg.inv (a)
print ("L'inverse matriciel de a est:", b)

La sortie est:
L'inverse matriciel de a est:
[[3. -1.]
[-5. 2.]]

3.2 Les valeurs propres de la matrice avec linalg numpy

Pour calculer les valeurs propres d'une matrice avec numpy, nous utilisons la méthode eig ():

Exemple:

import numpy as np
a = np.array ([[1, 2],
              [3, 2]])
valPropres = np.linalg.eigvals (a)
print ("Les valeurs propres de la matrice a sont:", valPropres)
# La sortie est: Les valeurs propres de la matrice a sont: [-1. 4.]

Remarque:

Vous pouvez manipuler et utiliser plusieurs autres notions d'algèbre linéaire avec la bibliothèque linalg numpy, comme le polynôme caractéristique, le polome minimal, le rang d'une matrice ... Voir la documentation officielle: https://docs.scipy.org/doc/numpy/reference/routines.linalg.html

 

Younes Derfoufi
CRMEF OUJDA

1 thought on “La bibliothèque Numpy

Leave a Reply