« Python pour le calcul scientifique/Manipulation de matrices » : différence entre les versions

Contenu supprimé Contenu ajouté
== Algèbre linéaire == {{loupe|../Algèbre linéaire}}
opérations matricielles
Ligne 63 :
b.fill(5) # remplace les valeurs de b par la valeur 5
</syntaxhighlight>
 
== Opérations matricielles ==
 
Les quatre opérations classiques <code lang="python>+</code>, <code lang="python>-</code>, <code lang="python>*</code> et <code lang="python>/</code> ne fonctionnent qu'entre tenseurs de mêmes dimensions et sont des opérations élément par élément ''({{lang|en|elementwise operations}})'' :
* <code lang="python">(A + B)[i, j, k]</code> vaut <code lang="python">A[i, j, k] + B[i, j, k]</code> ;
* <code lang="python">(A - B)[i, j, k]</code> vaut <code lang="python">A[i, j, k] - B[i, j, k]</code> ;
* <code lang="python">(A * B)[i, j, k]</code> vaut <code lang="python">A[i, j, k] * B[i, j, k]</code> ;
* <code lang="python">(A / B)[i, j, k]</code> vaut <code lang="python">A[i, j, k] / B[i, j, k]</code>.
De même, les fonctions <code lang="python>np.add()</code>, <code lang="python>np.subtract()</code>, <code lang="python>np.multiply()</code> et <code lang="python>np.divide()</code> effectuent des opérations élément par élément sur des tenseurs de mêmes dimensions :
* <code lang="python">np.add(A, B)[i, j, k]</code> vaut <code lang="python">A[i, j, k] + B[i, j, k]</code> ;
* <code lang="python">np.subtract(A, B)[i, j, k]</code> vaut <code lang="python">A[i, j, k] - B[i, j, k]</code> ;
* <code lang="python">np.multiply(A, B)[i, j, k]</code> vaut <code lang="python">A[i, j, k] * B[i, j, k]</code> ;
* <code lang="python">np.divide(A, B)[i, j, k]</code> vaut <code lang="python">A[i, j, k] / B[i, j, k]</code>.
La multiplication matricielle, au sens de l'algèbre linéaire, se fait avec les fonctions <code> lang="python">np.dot()</code> ou <code> lang="python">np.matmul()</code>.
 
== Calcul vectorisé ==