La bibliothèque Mathématique Numpy En Python


1 - À propos de la bibliothèque numpy

1.1 - Qu'est-ce que numpy?

NumPy est une bibliothèque attachée au langage Python, ajoutant la prise en charge des tableaux et matrices multidimensionnelles, ainsi qu'une grande collection de fonctions mathématiques de haut niveau pour opérer sur ces matrices. NumPy est un logiciel open source et compte de nombreux contributeurs, 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 ... Pour plus de détails voir la documentation officielle : https://numpy.org/doc/

1.2 Comment installer numpy?

La bibliothèque numpy s'installe facilement à l'aide de l'utilitaire pip, il suffit de lancer l'invite de commande cmd et de taper:

2. Matrice ou tableau avec numpy

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

Exemple: matrice à 2 lignes et 3 colonnes 2x3

2.2 Produit terme à terme




2.3 Produit matriciel

2.4 Transposition d'une matrice




2.5 Matrice unitaire

2.6 Créer une matrice en subdivisant un intervalle

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

Syntaxe

Exemple

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

  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

Exemple : matrice formée de nombres réels

2.8 Obtenir le type d'une matrice numpy avec la méthode shape()

La méthode shape() renvoie le type d'une matrice numpy, elle permet donc de déterminer le nombre de lignes et le nombre de colonnes de la matrice.

Exemple

2.9 Ajouter des lignes et des colonnes à une matrice numpy

Pour ajouter une ligne à une matrice numpy, plusieurs méthodes peuvent être utilisées:

  1. numpy.r_()
  2. numpy.vstack()
  3. numpy.append()
  4. numpy.insert()

Exemple

Pour ajouter une ligne à une position spécifique dans un tableau NumPy existant, vous pouvez utiliser la fonction numpy.insert. Voici un exemple pour ajouter une ligne à la deuxième position (index 1) d'un tableau à deux dimensions :

Dans cet exemple:

  1. np.insert(arr, 1, new_row, axis=0): insère la ligne new_row à la position 1 (c'est-à-dire juste après la première ligne), en déplaçant toutes les lignes suivantes vers le bas.
  2. L'argument axis=0: indique que l'insertion doit se faire sur l'axe des lignes (l'axe 1 est l'axe des colonnes).

Pour ajouter une colonne à une matrice numpy, nous pouvons utiliser la méthode numpy.append() qui prends comme paramètres:

  1. La matrice initiale
  2. la colonne à ajouter 
  3. la valeur de l'axis

Exemple

2.10 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:

Exemple

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

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

Exemple

2.12 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




2.13 Produit scalaire de deux vecteurs

Le produit scalaire de deux vecteurs peut être déterminer et calculer facilement avec la méthode dot():

Exemple

Le produit scalaire peut être calculer aussi avec la méthode vdot() si les vecteurs sont définis sous forme de matrices colonnes

Exemple

2.14 Exporter un tableau vers un fichier texte ou un fichier Numpy .npy

Parfois on a besoins d'exporter et d'enregistrer les données matricielles sous forme d'un fichier texte ou .npy et ce dont le but d'échanger les données avec d'autre bibliothèques et scripts. A cet effet la bibliothèque Numpy nous offre la méthode save() qui réalise en toute aisance cette opération.

Exemple




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

3.1 Calcul du rang d'une matrice avec numpy

Pour calculer le rang d'une matrice avec numpy, il suffit d'utiliser la méthode matrix_rank() de la bibliothèque linalg:

Exemple

3.2 Calcul du déterminant d'une matrice avec numpy

Pour calculer le déterminant d'une matrice avec numpy, rien de plus simple, il suffit d'utiliser la méthode det() de la bibliothèque linalg:

Exemple

3.3 Inverse d'une matrice avec linalg numpy

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

Exemple

3.4 résolution d'un système linéaire avec linalg

Pour résoudre un système linéaire avec la bibliothèque linalg, il suffit d'appliquer la méthode solve() pourvue que la matrice du système linéaire soit inversible:

Exemple

pour résoudre le système linéaire:

on utilise le code:




3.5 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() (eigenvalues en anglais):

Exemple

3.6 Calcul des valeurs et vecteurs propres en même temps avec la méthode eig()

Pour calculer les valeurs et vecteurs propres d'une matrice, la méthode linalg.eigh() nous donne les deux en même temps:

Exemple

3.7 Calcul du polynôme caractéristique d'une matrice avec numpy

La bibliothèque Numpy nous offre une méthode poly() comme outil efficace  pour calculer facilement le polynôme caractéristique d'une matrice sans passer par le déterminant:

Exemple

1 -3 et 4 sont les coefficients du polynôme caractéristique:
le polynôme caractéristique est doc P = X2 -3X -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




4. Liste des principales méthodes associées à la bibliothèque numpy

La bibliothèque numpy est une bibliothèque très riche en fonctionnalités pour le calcul scientifique en Python. Voici une liste non exhaustive des principales méthodes associées à numpy:

  1. np.array() : Crée un tableau numpy à partir d'une liste ou d'un tableau existant.
  2. np.arange() : Crée un tableau numpy contenant une séquence d'entiers.
  3. np.linspace() : Crée un tableau numpy contenant une séquence de nombres à espacement régulier.
  4. np.logspace() : Crée un tableau numpy contenant une séquence de nombres à espacement logarithmique.
  5. np.zeros() : Crée un tableau numpy rempli de zéros.
  6. np.ones() : Crée un tableau numpy rempli de uns.
  7. np.eye() : Crée un tableau numpy qui représente la matrice identité.
  8. np.diag() : Crée un tableau numpy contenant une diagonale spécifiée.
  9. np.random.rand() : Génère des nombres aléatoires uniformément distribués dans un tableau numpy.
  10. np.random.randn() : Génère des nombres aléatoires à partir d'une distribution normale dans un tableau numpy.
  11. np.random.randint() : Génère des nombres aléatoires entiers dans un tableau numpy.
  12. np.random.random_sample() : Génère des nombres aléatoires dans l'intervalle [0, 1] dans un tableau numpy.
  13. np.random.choice() : Génère un échantillon aléatoire à partir d'un tableau numpy.
  14. np.empty() : Crée un tableau numpy vide.
  15. np.ndim() : Retourne le nombre de dimensions d'un tableau numpy.
  16. np.shape() : Retourne la forme d'un tableau numpy.
  17. np.size() : Retourne le nombre total d'éléments dans un tableau numpy.
  18. np.dtype() : Retourne le type de données d'un tableau numpy.
  19. np.astype() : Convertit le type de données d'un tableau numpy.
  20. np.reshape() : Modifie la forme d'un tableau numpy.
  21. np.resize() : Modifie la taille d'un tableau numpy.
  22. np.transpose() : Transpose un tableau numpy.
  23. np.concatenate() : Concatène deux tableaux numpy.
  24. np.split() : Divise un tableau numpy en plusieurs sous-tableaux.
  25. np.copy() : Crée une copie d'un tableau numpy.
  26. np.save() : Enregistre un tableau numpy dans un fichier.
  27. np.load() : Charge un tableau numpy à partir d'un fichier.
  28. np.add() : Effectue l'addition de deux tableaux numpy.
  29. np.subtract() : Effectue la soustraction de deux tableaux numpy.
  30. np.multiply() : Effectue la multiplication de deux tableaux numpy.
  31. np.divide() : Effectue la division de deux tableaux numpy.
  32. np.dot() : Calcule le produit scalaire de deux tableaux numpy.
  33. np.sum() : Calcule la somme des éléments d'un tableau numpy.
  34. np.mean() : Calcule la moyenne des éléments d'un tableau numpy.
  35. np.std() : Calcule l'écart type des éléments d'un tableau numpy.
  36. np.var() : Calcule la variance des éléments d'un tableau numpy.
  37. np.min() : Retourne la valeur minimale d'un tableau numpy.
  38. np.max() : Retourne la valeur maximale d'un tableau numpy.
  39. np.argmin() : Retourne l'indice de la valeur minimale.

Younes Derfoufi
CRMEF OUJDA

Leave a Reply