Informatique

Opérations sur les matrices avec NumPy en Python

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 que inv(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.