Telechargé par Yahya Taguenaouti

Calcul Matriciel Module Numpy

publicité
Calcul Matriciel
Module Numpy
MOUKRIM ABDELAAZIZ
Lycée Omar Al-Khayyam- Rabat
1ECT
[email protected]
26 Décembre 2025
Module
Bibliothèque
Numpy
Définition
Un module Python est un fichier contenant du code réutilisable
(fonctions,classes,variables) qui implémente une fonctionnalité spécifique,il
permet d’organiser le code d’une maniére modulaire. Un module a un nom
spécifié par le nom de fichier sans .py par exemple si le fichier appelé
operations.py le nom du module est operations
1/52
Calcul Matriciel :Module Numpy
Module
Bibliothèque
Numpy
Exemple
Exemple :. ce module définit 4 fonctions mathématiques de base ,permettant
de réaliser des opérations courantes entre deux nombres :
1
# operations . py
2
3
4
5
def addition (a , b ) :
" " " Retourne la somme de a et b . " " "
return a + b
6
7
8
9
def soustraction (a , b ) :
" " " Retourne la d i f f r e n c e entre a et b ( a - b ) . " " "
return a - b
10
11
12
13
def multiplication (a , b ) :
" " " Retourne le produit de a et b . " " "
return a * b
14
15
16
17
18
19
20
21
22
def division (a , b ) :
"""
Retourne le quotient de a par b .
D c l e n c h e une erreur si b est
gal
z ro.
"""
if b == 0:
raise ValueError ( " La division par z r o est impossible . " )
return a / b
Calcul Matriciel :Module Numpy
2/52
Module
Bibliothèque
Numpy
Pour utiliser les objets (fonctions,variables,classes,etc)définis dans un module
depuis un autre fichier ,on utilise l’instruction import Les objets du module
peuvent être appelés en utilisant le nom du module suivi d’un point
1
import operations
2
3
4
5
6
print ( operations . addition (10 , 5) )
print ( operations . soustraction (10 , 5) )
print ( operations . multiplicat ion (10 , 5) )
print ( operations . division (10 , 5) )
#
#
#
#
15
5
50
2.0
3/52
Calcul Matriciel :Module Numpy
Module
Bibliothèque
Numpy
Il est possible de renommer le module lors de l’importation grâce au mot-clé
as
1
2
3
4
5
import operations as op
print ( op . addition (4 , 2) )
print ( op . soustraction (9 , 3) )
print ( op . multiplication (3 , 7) )
print ( op . division (10 , 2) )
#
#
#
#
6
6
21
5.0
4/52
Calcul Matriciel :Module Numpy
Module
Bibliothèque
Numpy
Par ailleurs ,pour aaccéder directement aux objets sans avoir à préfixer leur
nom par celui du module , on peut utiliser l’instruction from ... import ,qui
permet d’importer uniquement certains éléments au lieu de tout le module
1
from operations import addition , soustraction
2
3
4
print ( addition (10 , 5) )
print ( soustraction (10 , 3) )
# 15
# 7
5/52
Calcul Matriciel :Module Numpy
Module
Bibliothèque
Numpy
Le module math est une bibliothèque standard de python qui fournit des
fonctions et constantes mathématiques avancées .Elle permet d’effectuer des
opérations plus complexes que les opérations de base(+,-,/,*)
1
import math
2
3
4
5
6
7
8
print ( math . sqrt (25) )
print ( math . e )
print ( math . pi )
print ( math . factorial (6) )
print ( math . cos ( math . pi / 4) )
print ( math . log (100) )
#
#
#
#
#
#
5.0
2 .71828 1828.. .
3. 141592 653...
720
0.707...
ln (100)
6/52
Calcul Matriciel :Module Numpy
Module
Bibliothèque
Numpy
Le module matplotlib est une bibliothèque Python spécialisée dans :
la visualisation de données,
le tracé de courbes mathématiques,
la création de graphiques (lignes, barres, histogrammes, nuages de points. . .),
la génération de figures scientifiques de haute qualité.
1
2
import matplotlib . pyplot as plt
import numpy as np
3
4
5
6
7
8
9
# Generation des valeurs de x
x = np . linspace ( -10 , 10 , 400)
# Definition de la fonction
y = x ** 2
# Trace de la courbe
plt . plot (x , y , label = " f ( x ) = x
# 400 points entre -10 et 10
")
10
11
12
13
14
15
16
17
18
# Ajout du titre et des labels
plt . title ( " Representation de la fonction $f ( x ) = x ^2 $ " )
plt . xlabel ( " x " )
plt . ylabel ( " f ( x ) " )
# Legende
plt . legend ()
# Affichage
plt . show ()
7/52
Calcul Matriciel :Module Numpy
Module
Bibliothèque
Numpy
Définition
Une bibliothèque est un ensemble de modules regroupés pour accomplir
une tâche précise.
Une bibliothèque peut contenir plusieurs modules, parfois des sous-modules.
8/52
Calcul Matriciel :Module Numpy
Module
Bibliothèque
Numpy
Exemples de bibliothèques
numpy : calcul numérique
matplotlib : graphiques
pandas : analyse de données
9/52
Calcul Matriciel :Module Numpy
Module
Bibliothèque
Numpy
Définition
NumPy (Numerical Python) est une bibliothèque Python dédiée au calcul
numérique. NumPy permet de :
manipuler des tableaux numériques
effectuer des calculs rapides et vectorisés
travailler avec des vecteurs et des matrices
NumPy est la base de nombreuses autres bibliothèques :
pandas
matplotlib
scikit-learn
Calcul Matriciel :Module Numpy
10/52
Module
Bibliothèque
Numpy
Importation du module NumPy
On peut importer ce module par l’instruction :
import numpy as np
11/52
Calcul Matriciel :Module Numpy
Module
Bibliothèque
Numpy
Fonction array()
Définition :
Après avoir importé NumPy, on peut créer des tableaux numériques à l’aide
de la fonction np.array. Cette fonction prend en paramètre une liste de
nombres qui seront contenus dans le tableau.
Exemple :
Création d’un tableau NumPy
A = np.array([1, 2, 3, 4])
Le tableau A contient les valeurs : 1, 2, 3 et 4.
12/52
Calcul Matriciel :Module Numpy
Module
Bibliothèque
Numpy
Liste Python vs tableau NumPy
Une liste Python peut contenir des elements de types differents
Un tableau NumPy contient des elements de meme type
Les calculs avec NumPy sont plus rapides et vectorises
Avec NumPy, les operations s’effectuent sur tout le tableau sans utiliser de
boucle explicite.
13/52
Calcul Matriciel :Module Numpy
Module
Bibliothèque
Numpy
Création de matrices avec NumPy
Une matrice NumPy est un tableau à deux dimensions.
Exemple :
Création d’une matrice
M = np.array([[1, 2, 3], [4, 5, 6]])
La matrice M possède :
2 lignes
3 colonnes
14/52
Calcul Matriciel :Module Numpy
Module
Bibliothèque
Numpy
Accès aux éléments d’un tableau NumPy
Pour accéder à un élément d un tableau NumPy, on utilise les indices
[ligne, colonne].
Les indices commencent toujours à 0
Exemple :
Accès à un élément
M[0, 1]
Cet élément correspond à la valeur 2.
Accès à une ligne :
Ligne 0
M[0, :]
Accès à une colonne :
Colonne 1
M[:, 1]
Calcul Matriciel :Module Numpy
15/52
Module
Bibliothèque
Numpy
Notion de slicing
Le slicing (ou découpage) permet d extraire une partie d un tableau sans
modifier le tableau initial.
Il est très utilisé avec NumPy pour :
extraire certaines lignes
extraire certaines colonnes
travailler sur une sous-matrice
16/52
Calcul Matriciel :Module Numpy
Module
Bibliothèque
Numpy
Forme générale du slicing
Pour un tableau NumPy, le slicing s’écrit sous la forme :
Syntaxe
tableau[début : fin]
Règle fondamentale :
l’indice début est inclus
l’indice fin est exclu
Autrement dit, on extrait les éléments de début jusqu à fin - 1.
17/52
Calcul Matriciel :Module Numpy
Module
Bibliothèque
Numpy
Slicing d un tableau à une dimension
Soit le tableau NumPy suivant :
Exemple
A = np.array([10, 20, 30, 40, 50])
A[1:4] extrait les éléments 20, 30 et 40
A[:3] extrait les trois premiers éléments
A[2:] extrait les éléments à partir de l indice 2
18/52
Calcul Matriciel :Module Numpy
Module
Bibliothèque
Numpy
Slicing d’un tableau à deux dimensions
Pour une matrice NumPy, on utilise la notation :
Syntaxe
matrice[lignes, colonnes]
Par défaut, si on écrit matrice[début:fin], le slicing s’applique uniquement
sur les lignes.
19/52
Calcul Matriciel :Module Numpy
Module
Bibliothèque
Numpy
Points essentiels à retenir
Les indices commencent toujours à 0
La borne de fin est toujours exclue
Le slicing ne modifie pas le tableau initial
Le symbole : signifie tout
20/52
Calcul Matriciel :Module Numpy
Module
1
2
3
4
Bibliothèque
Numpy
import numpy as np
tab2 = np . array ([[1 , 2 , 3] ,
[4 , 5 , 6] ,
[5 , 7 , 9]])
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
print ( tab2 [1:])
# [[4 5 6]
# [5 7 9]]
print ( tab2 [: -1])
# [[1 2 3]
# [4 5 6]]
print ( tab2 [0:2])
# [[1 2 3]
# [4 5 6]]
print ( tab2 [1:2 , 0:]) # [[4 5 6]]
print ( tab2 [1: , 1:2])
# [[5]
# [7]]
print ( tab2 [1:2 , 1: -1]) # [[5]]
print ( tab2 [: , : -2])
# [[1]
# [4]
# [5]]
21/52
Calcul Matriciel :Module Numpy
Module
Bibliothèque
Numpy
Fonction arange()
Définition :
La fonction np.arange() permet de créer un tableau NumPy contenant des
valeurs régulièrement espacées selon un pas donné.
Syntaxe :
np.arange(début, fin, pas)
Règles importantes :
l’indice début est inclus
l’indice fin est exclu
22/52
Calcul Matriciel :Module Numpy
Module
Bibliothèque
Numpy
Exemples avec arange()
Exemples
np.arange(0, 5)
np.arange(1, 10, 2)
np.arange(0, 1, 0.2)
Résultats attendus :
[0 1 2 3 4]
[1 3 5 7 9]
[0. 0.2 0.4 0.6 0.8]
23/52
Calcul Matriciel :Module Numpy
Module
Bibliothèque
Numpy
Fonction linspace()
Définition :
La fonction np.linspace() permet de créer un tableau de nombres réels,
régulièrement espacés, entre deux bornes.
Contrairement à arange(), on ne fixe pas le pas, mais le nombre de valeurs.
24/52
Calcul Matriciel :Module Numpy
Module
Bibliothèque
Numpy
Syntaxe de linspace()
Syntaxe
np.linspace(début, fin, nombre_de_points)
Signification des paramètres :
début : première valeur du tableau (incluse)
fin : dernière valeur du tableau (incluse)
nombre_de_points : nombre total de valeurs générées
25/52
Calcul Matriciel :Module Numpy
Module
Bibliothèque
Numpy
Exemple simple avec linspace()
Exemple
np.linspace(0, 1, 5)
Résultat obtenu :
[0.
0.25
0.5
0.75
1.]
26/52
Calcul Matriciel :Module Numpy
Module
Bibliothèque
Numpy
Calcul du pas
Le pas est calculé automatiquement par NumPy selon la formule :
pas =
fin − début
nombre_de_points − 1
Exemple :
1−0
= 0.25
5−1
27/52
Calcul Matriciel :Module Numpy
Module
Bibliothèque
Numpy
Pourquoi utiliser linspace()
très précis avec les nombres réels
idéal pour les intervalles mathématiques
très utilisé pour tracer des courbes
évite les erreurs d’approximation de arange()
28/52
Calcul Matriciel :Module Numpy
Module
Bibliothèque
Numpy
Fonction reshape()
Définition :
La fonction reshape() permet de modifier la forme (dimension) d un tableau
NumPy sans modifier ses données.
29/52
Calcul Matriciel :Module Numpy
Module
Bibliothèque
Numpy
Règle fondamentale de reshape()
Le nombre total d éléments du tableau doit rester identique avant et après l
utilisation de reshape().
Par exemple, un tableau de 6 éléments peut être transformé en :
une matrice 2 × 3
une matrice 3 × 2
30/52
Calcul Matriciel :Module Numpy
Module
Bibliothèque
Numpy
Syntaxe de reshape()
Syntaxe
tableau.reshape(nombre_de_lignes, nombre_de_colonnes)
31/52
Calcul Matriciel :Module Numpy
Module
Bibliothèque
Numpy
Exemple avec reshape()
Exemple
A = np.array([1, 2, 3, 4, 5, 6])
A.reshape(2, 3)
Résultat obtenu
Résultat obtenu :
[[1 2 3]
[4 5 6]]
32/52
Calcul Matriciel :Module Numpy
Module
Bibliothèque
Numpy
Fonction zeros()
Définition :
La fonction np.zeros() permet de créer un tableau NumPy rempli
uniquement de zéros.
Tableau à une dimension :
np.zeros(n)
Tableau à deux dimensions :
np.zeros((n, p))
33/52
Calcul Matriciel :Module Numpy
Module
Bibliothèque
Numpy
Exemples avec zeros()
1
import numpy as np
2
3
4
np . zeros (4)
np . zeros ((2 , 3) )
Résultat obtenu
[0. 0. 0. 0.]
[[0. 0. 0.]
[0. 0. 0.]]
34/52
Calcul Matriciel :Module Numpy
Module
Bibliothèque
Numpy
Fonction ones()
Définition :
La fonction np.ones() permet de créer un tableau NumPy rempli
uniquement de uns.
Syntaxe
np.ones(n)
np.ones((n, p))
35/52
Calcul Matriciel :Module Numpy
Module
Bibliothèque
Numpy
Exemples avec ones()
1
import numpy as np
2
3
4
np . ones (5)
np . ones ((2 , 3) )
Résultat obtenu
[1. 1. 1. 1. 1.]
[[1. 1. 1.]
[1. 1. 1.]]
36/52
Calcul Matriciel :Module Numpy
Module
Bibliothèque
Numpy
Fonction eye()
Définition :
La fonction np.eye() permet de créer une matrice identité.
Une matrice identité est une matrice carrée contenant :
des 1 sur la diagonale principale
des 0 ailleurs
Exemple
np.eye(3)
Résultat obtenu
[[1. 0. 0.]
[0. 1. 0.]
[0. 0. 1.]]
37/52
Calcul Matriciel :Module Numpy
Module
Bibliothèque
Numpy
Fonction diag()
Définition :
La fonction np.diag() permet soit d’extraire la diagonale d’une matrice, soit
de créer une matrice diagonale à partir d’un vecteur.
38/52
Calcul Matriciel :Module Numpy
Module
Bibliothèque
Numpy
Extraire la diagonale d’une matrice
Code Python
A = np.array([[1, 2, 3],
[4, 5, 6],
[7, 8, 9]])
np.diag(A)
Résultat :
[1 5 9]
39/52
Calcul Matriciel :Module Numpy
Module
Bibliothèque
Numpy
Créer une matrice diagonale
Code Python
1
2
v = np . array ([1 , 2 , 3])
np . diag ( v )
Résultat :
[[1 0 0]
[0 2 0]
[0 0 3]]
40/52
Calcul Matriciel :Module Numpy
Module
Bibliothèque
Numpy
Génération de matrices aléatoires
NumPy permet de générer facilement des matrices aléatoires à l aide du
module np.random.
41/52
Calcul Matriciel :Module Numpy
Module
Bibliothèque
Numpy
Fonction rand()
Définition :
La fonction np.random.rand() génère des nombres réels aléatoires suivant
une loi uniforme sur l’intervalle [0, 1[.
Syntaxe
np.random.rand(n, p)
Elle génère une matrice de n lignes et p colonnes.
42/52
Calcul Matriciel :Module Numpy
Module
Bibliothèque
Numpy
Exemple avec rand()
Code Python
np.random.rand(2, 3)
Résultat
[[0.32 0.85 0.14]
[0.67 0.41 0.93]]
Les valeurs obtenues sont comprises entre 0 et 1.
43/52
Calcul Matriciel :Module Numpy
Module
Bibliothèque
Numpy
Fonction randn()
Définition :
La fonction np.random.randn() génère des nombres réels aléatoires suivant
une loi normale centrée réduite (de moyenne 0 et de variance 1).
Syntaxe
np.random.randn(n, p)
44/52
Calcul Matriciel :Module Numpy
Module
Bibliothèque
Numpy
Exemple avec randn()
Code Python
np.random.randn(2, 3)
Résultat
[[ 1.12 -0.45 0.78]
[-1.03 0.21 -0.67]]
Les valeurs générées peuvent être positives ou négatives.
45/52
Calcul Matriciel :Module Numpy
Module
Bibliothèque
Numpy
Somme de deux matrices
Principe :
Deux matrices de mêmes dimensions peuvent être additionnées élément par
élément.
1
2
import numpy as np
3
4
5
A = np . array ([[1 , 2] ,
[3 , 4]])
6
7
8
B = np . array ([[5 , 6] ,
[7 , 8]])
9
10
A + B
Résultat
[[ 6 8]
[10 12]]
46/52
Calcul Matriciel :Module Numpy
Module
Bibliothèque
Numpy
Produit de deux matrices
Principe : Soient deux matrices A et B telles que :
A est de dimension m × n
B est de dimension n × p
Alors le produit matriciel A × B est défini et le résultat est une matrice de
dimension :
m×p
Condition essentielle :
Le nombre de colonnes de A doit être égal au nombre de lignes de B.
Le produit matriciel se fait avec la fonction dot().
1
A . dot ( B )
2
Résultat
[[19 22]
[43 50]]
47/52
Calcul Matriciel :Module Numpy
Module
Bibliothèque
Numpy
Transposée d’une matrice
Principe :
La transposée échange les lignes et les colonnes.
Code Python
1
A.T
Résultat
[[1 3]
[2 4]]
48/52
Calcul Matriciel :Module Numpy
Module
Bibliothèque
Numpy
Déterminant d’une matrice
Principe :
Le déterminant est un nombre associé à une matrice carrée.
Code Python
1
np . linalg . det ( A )
Résultat
-2.0
49/52
Calcul Matriciel :Module Numpy
Module
Bibliothèque
Numpy
Inverse d’une matrice
Condition :
Une matrice doit être carrée et de déterminant non nul.
Code Python
1
np . linalg . inv ( A )
Résultat
[[-2.
1. ]
[ 1.5 -0.5]]
50/52
Calcul Matriciel :Module Numpy
Module
Bibliothèque
Numpy
Définition du rang d’une matrice
Définition :
Le rang d’une matrice est le nombre maximal de lignes (ou de colonnes)
linéairement indépendantes.
Il mesure la quantité d’information indépendante contenue dans la matrice.
Le rang d une matrice est inférieur ou égal au minimum du nombre de
lignes et de colonnes
Le rang des lignes est égal au rang des colonnes
51/52
Calcul Matriciel :Module Numpy
Module
Bibliothèque
Numpy
Calcul du rang avec NumPy
NumPy propose une fonction directe pour calculer le rang.
Code Python
np.linalg.matrix_rank(A)
Exemple
A = np.array([[1, 2],
[2, 4]])
Résultat :
rang(A) = 1
52/52
Calcul Matriciel :Module Numpy
Téléchargement