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

Contenu supprimé Contenu ajouté
Propagation
Ligne 259 :
| consulté le = 2019-03-16
}}
 
== Propagation ==
 
Le terme « propagation » ''({{lang|en|broadcasting}})'' désigne la manière dont Python complète les matrice lorsque des dimensions manquent.
 
Supposons que l'on veuille additionner deux matrices M<sub>1</sub> et M<sub>2</sub> de dimensions ''m''<sub>1</sub> × ''n''<sub>1</sub> et ''m''<sub>2</sub> × ''n''<sub>2</sub> différentes. Alors :
* le résultat a pour dimension max(''m''<sub>1</sub>, ''m''<sub>2</sub>) × max(''n''<sub>1</sub>, ''n''<sub>2</sub>) ;
* si une des dimensions vaut 1, alors les valeurs de l'autre dimension sont dupliquées ;
* sinon, les dimensions manquantes pour chaque matrice sont complétées par des 1.
Par exemples :
: <math>\mathrm{A} = \begin{pmatrix} 1 & 2 \\ 3 & 4 \end{pmatrix} </math>
: <math>5 + \mathrm{A} = \begin{pmatrix} 5 & 5 \\ 5 & 5 \end{pmatrix} + \begin{pmatrix} 1 & 2 \\ 3 & 4 \end{pmatrix} </math>
:: La matrice (5) est de dimension 1 × 1, la valeur « 5 » est donc répétée dans les deux dimensions
<source lang="python">
A = np.array([[1, 2], [3, 4]])
print(5 + A)
# [[6 7]
# [7 8]]
</source>
: <math>(5, 4) + \mathrm{A} = \begin{pmatrix} 5 & 4 \\ 5 & 4 \end{pmatrix} + \begin{pmatrix} 1 & 2 \\ 3 & 4 \end{pmatrix} </math>
<source lang="python">
print(np.array([[5, 4]]) + A)
# [[6 6]
# [6 8]]
</source>
: <math>\begin{pmatrix} 5 \\ 4 \end{pmatrix} + \mathrm{A} = \begin{pmatrix} 5 & 5 \\ 4 & 4 \end{pmatrix} + \begin{pmatrix} 1 & 2 \\ 3 & 4 \end{pmatrix} </math>
<source lang="python">
print(np.array([[5], [4]]) + A)
# [[6 7]
# [7 8]]
</source>
 
== Fonctions « universelles » ==
 
Les fonctions universelles ''({{lang|en|ufunc}})'' sont les fonctions s'appliquant aux matrices, des fonctions vectorisées.
 
== Notes et références ==