Exemples de comment multiplier deux matrices en python avec numpy:
Table des matières
1 -- Fonction dot()
Pour multiplier deux matrices sous python il existe la fonction dot() de numpy, illustration en reprenant l'exemple de wikipedia:
\begin{equation}
A = \left( \begin{array}{ccc}
1 & 2 & 0 \\
4 & 3 & -1
\end{array}\right)
\end{equation}
\begin{equation}
B = \left( \begin{array}{ccc}
5 & 1 \\
2 & 3 \\
3 & 4
\end{array}\right)
\end{equation}
\begin{equation}
C = A * B =
\left( \begin{array}{ccc}
1 & 2 & 0 \\
4 & 3 & -1
\end{array}\right)
*
\left( \begin{array}{ccc}
5 & 1 \\
2 & 3 \\
3 & 4
\end{array}\right)
=
\left( \begin{array}{ccc}
9 & 7 \\
23 & 9
\end{array}\right)
\end{equation}
>>> import numpy as np
>>> A = np.array([[1,2,0],[4,3,-1]])
>>> A.shape
(2, 3)
>>> B = np.array([[5,1],[2,3],[3,4]])
>>> B.shape
(3, 2)
>>> C = A.dot(B)
>>> C
array([[ 9, 7],
[23, 9]])
2 -- L'opérateur *
Attention: L'opérateur * ne permet pas de multiplier deux matrices !. L'opérateur * multiplie les éléments de même indices.
Note: les deux matrices doivent être de même taille, exemple:
>>> import numpy as np
>>> A = np.array([[1,2,0],[4,3,-1]])
>>> C = np.array([[3,4,5],[1,2,3]])
>>> A * C
array([[ 3, 8, 0],
[ 4, 6, -3]])
3 -- Multiplier par une constante
Note: pour multiplier tous les éléments d'une matrice par un nombre donné on peut faire comme ceci:
>>> import numpy as np
>>> A = np.array([[1,2,0],[4,3,-1]])
>>> A * 2
array([[ 2, 4, 0],
[ 8, 6, -2]])