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)>>> Carray([[ 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 * Carray([[ 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 * 2array([[ 2, 4, 0],[ 8, 6, -2]])
