NumPy est la bibliothèque de référence pour le calcul matriciel en Python. Voici les opérations essentielles avec des exemples directement exécutables.
Créer une matrice
import numpy as np
A = np.array([[1, 2], [3, 4]]) — matrice 2×2 depuis une liste de listes.
Matrices spéciales : np.zeros((3,3)), np.ones((2,4)), np.eye(3) (identité), np.diag([1,2,3]).
Opérations élément par élément
Les opérateurs +, -, *, /, ** agissent élément par élément :
A + B → somme matricielle. A * B → produit de Hadamard (élément par élément), PAS le produit matriciel.
Produit matriciel
Le vrai produit matriciel s'obtient par : A @ B (opérateur @, Python 3.5+) ou np.dot(A, B) ou A.dot(B).
Attention : A * B n'est PAS le produit matriciel. C'est l'erreur la plus fréquente chez les débutants NumPy.
Transposée, inverse, déterminant
A.T→ transposée.np.linalg.inv(A)→ matrice inverse $A^{-1}$ (si elle existe).np.linalg.det(A)→ déterminant.np.linalg.eig(A)→ valeurs propres et vecteurs propres.np.linalg.solve(A, b)→ résout $Ax = b$ (plus stable et rapide queinv(A) @ b).np.trace(A)→ trace (somme diagonale).np.linalg.matrix_rank(A)→ rang.
À retenir
Préférer np.linalg.solve(A, b) à np.linalg.inv(A) @ b : c'est plus rapide, plus stable numériquement, et n'exige pas de calculer l'inverse complète.
Une question ou une suggestion ? Écrivez-nous.