Produit matriciel
Implémentation from scratch vs numpy
Enonce
Implémenter le produit matriciel $C = A \cdot B$ à la main avec 3 boucles (sans utiliser @, np.dot ou np.matmul). On suppose que les dimensions sont compatibles.
Signature attendue
def produit_matriciel(A: np.ndarray, B: np.ndarray) -> np.ndarray:
Exemple
produit_matriciel(np.array([[1, 2], [3, 4]]), np.array([[5, 6], [7, 8]])).tolist()→[[19.0, 22.0], [43.0, 50.0]]
📖 Rappel de cours
Le produit de deux matrices $A \in \mathcal{M}_{n, p}$ et $B \in \mathcal{M}_{p, m}$ est la matrice $C \in \mathcal{M}_{n, m}$ définie par :
$C_{ij} = \sum_{k=1}^{p} A_{ik} \cdot B_{kj}$
Contrainte dimensionnelle :
Les dimensions "internes" doivent correspondre : $A$ a $p$ colonnes, $B$ a $p$ lignes. Sinon, erreur.
En numpy, le produit matriciel s'écrit A @ B ou np.dot(A, B). Attention : A * B est le produit élément par élément (Hadamard), pas matriciel !
← Exercices Python pour la prépa ECG — probabilités, matrices, suites
Exercices du meme theme
- Moyenne et variance empiriques
- Coefficient de corrélation
- Loi des grands nombres
- Résolution d'un système linéaire
- Puissance rapide d'une matrice
- Chaîne de Markov — distribution à $n$ étapes
La correction commentee, les indices progressifs, l'execution du code dans le navigateur et la verification par l'IA sont reserves aux abonnes.