La bibliothèque Mathématique Numpy En Python

Apprendre numpy python

1 - À propos de la bibliothèque numpy
____1.1 - Qu'est-ce que numpy?
____1.2 Comment installer numpy?

2. Matrice ou tableau avec numpy
____2.1 Syntaxe de création d'une matrice avec numpy
____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
____2.7 Créer une matrice numpy avec la méthode arrange()
____2.8 Obtenir le type d'une matrice numpy avec la méthode shape()
____2.9 Ajouter des lignes et des colonnes à une matrice numpy
____2.10 Modifier la forme d'une matrice avec la méthode reshape()
____2.11 Concaténation de deux matrices avec la méthode concatenate()
____2.12 Action d'une fonction mathématique sur un tableau
____2.13 Produit scalaire de deux vecteurs
____2.14 Exporter un tableau vers un fichier texte ou un fichier Numpy .npy

3. La sous-bibliothèque linalg pour l'algèbre linéaire
____3.1 Calcul du rang d'une matrice avec numpy
____3.2 Calcul du déterminant d'une matrice avec numpy
____3.3 Inverse d'une matrice avec numpy linalg
____3.4 résolution d'un système linéaire avec linalg
____3.5 Les valeurs propres de la matrice avec linalg numpy
____3.6 Calcul des valeurs et vecteurs propres en même temps avec la méthode eig()
____3.7 Calcul du polynôme caractéristique d'une matrice avec numpy
4. Liste des principales méthodes associées à la biliothèque numpy
5. Liste des principaux sous modules de la biliothèque numpy


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://np.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. np.r_()
  2. np.vstack()
  3. np.append()
  4. np.insert()

Exemple

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

5. Liste des principaux sous modules de la biliothèque numpy

La bibliothèque NumPy (Numerical Python) fournit des sous modules contenant des structures de données et des fonctions pour travailler avec des tableaux multidimensionnels et des matrices, ainsi que des fonctions mathématiques pour effectuer des opérations numériques. Ces sous-modules couvrent un large éventail de fonctionnalités pour le calcul numérique en Python, et ils sont utilisés dans de nombreuses applications scientifiques. Voici une liste des principaux sous-modules de la bibliothèque NumPy :

  1. numpy.array: Il s'agit du sous-module principal qui définit l'objet ndarray (n-dimensional array), qui est utilisé pour stocker et manipuler des données multidimensionnelles de manière efficace.
  2. numpy.char: Ce sous-module fournit des fonctionnalités pour travailler avec des chaînes de caractères, en particulier lorsque vous traitez des tableaux de chaînes de caractères.
  3. numpy.ctypeslib: Il permet d'intégrer NumPy avec des bibliothèques écrites en langage C.
  4. numpy.datetime64: Il permet de travailler avec des dates et des heures à l'aide du type de données datetime64, qui est optimisé pour les calculs de date et d'heure.
  5. numpy.distutils: Ce sous-module est utilisé pour la construction et la distribution de modules Python qui dépendent de NumPy.
  6. numpy.doc: Il contient de la documentation sur NumPy.
  7. numpy.einsum: C'est un outil puissant pour effectuer des opérations de somme, de produit, et de contraction sur des tenseurs multidimensionnels.
  8. numpy.f2py: Il s'agit d'un outil qui facilite l'intégration de code Fortran dans Python via NumPy.
  9. numpy.fft: Ce sous-module fournit des outils pour effectuer des transformations de Fourier, utiles dans le traitement du signal et d'autres domaines.
  10. numpy.lib.format: Ce sous-module gère le format de stockage des tableaux NumPy, y compris la sérialisation des données.
  11. numpy.lib: Il contient des fonctionnalités auxiliaires pour travailler avec NumPy, telles que des fonctions pour la manipulation de mémoire, la gestion des types de données, etc.
  12. numpy.linalg: Ce sous-module fournit des fonctionnalités pour l'algèbre linéaire, telles que la résolution de systèmes d'équations linéaires, la décomposition en valeurs singulières (SVD), et plus encore.
  13. numpy.ma.extras: Il fournit des fonctions supplémentaires pour la manipulation de tableaux masqués.
  14. numpy.ma: Il propose une prise en charge des tableaux masqués, utiles lorsque vous travaillez avec des données manquantes ou des données masquées.
  15. numpy.polynomial: ce sous-module permet de travailler avec des polynômes et de réaliser des opérations polynomial, notamment l'ajustement de courbes.
  16. numpy.random: Il permet de générer des nombres aléatoires et des échantillons aléatoires à partir de différentes distributions de probabilité.
  17. numpy.testing: Ce sous-module contient des outils pour tester et vérifier la validité des fonctions et des résultats NumPy.
  18. numpy.version: Il permet d'obtenir la version actuelle de NumPy.

Younes Derfoufi
CRMEF OUJDA

2 thoughts on “La bibliothèque Mathématique Numpy En Python

Leave a Reply