Pilier 2

Opérations `élément-par-élément` vs produit matriciel

Idée

Quand on écrit A * B avec deux tableaux, le calcul se fait case par case (multiplication coordonnée a coordonnée).

Outil

Distinction produit de Hadamard (terme a terme) vs produit matriciel $\sum_k a_{ik} b_{kj}$ de l'algèbre linéaire MPSI.

Formule

A * B $\equiv (a_{ij} b_{ij}){i,j}$ (Hadamard) ; A @ B $\equiv \sum_k a{ik} b_{kj}$ (produit matriciel).

Piège

Tentation classique : un MPSI lit A * B et pense au produit matriciel de l'algèbre linéaire. En NumPy * est le produit terme à terme (Hadamard) ; le produit matriciel s'écrit A @ B ou np.dot(A, B).