4.4 Opérateurs arithmétiques

Les opérateurs arithmétiques s'appliquent aux scalaires, aux vecteurs et aux matrices. Il faut juste vérifier que les opérandes soient compatibles.

L' opérateur d'addition est noté \fbox{\bf+} et celui de la soustraction \fbox{\bf-} .

Pour la multiplication, on distingue la multiplication matricielle, le produit scalaire et le produit tensoriel notés tous \fbox{\bf*}, et la multiplication terme à terme notée \fbox{\bf.*}.

>> A*B'         multiplication matricielle (2x3) x (3,1)=>(2,1) $=\sum_{j}A_{ij}B_{j}$


\begin{displaymath}
\mbox{ans\, =}\begin{array}{c}
14\\
32\end{array}\end{displaymath}

>> B*B'          produit scalaire (1,3)x(3,1)=>(1,1) $=\sum\, B_{i}*B_{i}$


\begin{displaymath}
\mbox{ans\, =}14\end{displaymath}

>> A1=C*C'          produit tensoriel (2,1)x(1,2)=>(2,2) $=C_{i}*C_{j}$


\begin{displaymath}
\mbox{ans\, =}\begin{array}{cc}
1 & 2\\
2 & 4\end{array}\end{displaymath}

Donc le produit $A*B$ n'est possible que si A a un nombre de colonnes égale au nombre de lignes de B. Le résultat est une matrice dont le nombre de lignes est égale à celui de A et le nombre de colonnes à celui de B. Si cela n'est pas le cas, on obtiens une erreur:

>> B*B

??? Error using ==> *

Inner matrix dimensions must agree.

La multiplication terme à terme correspond à la multiplication des coefficients, et se fait avec des opérandes de même dimension.

>> B.*B


\begin{displaymath}
\mbox{ans\, =}1\,4\,9\end{displaymath}

De la même façon, l'opérateur d'élévation à une puissance peut s'écrire de 2 façons \fbox{\textasciicircum} ou \fbox{.\textasciicircum} :

>>A1^2         correspond à A1*A1


\begin{displaymath}
\mbox{ans\, =}\begin{array}{cc}
5 & 10\\
10 & 20\end{array}\end{displaymath}

>>A1.^2         correspond à l'élévation au carré des coefficients de A1


\begin{displaymath}
\mbox{ans\, =}\begin{array}{cc}
1 & 4\\
4 & 16\end{array}\end{displaymath}

Pour la division, on distingue la division matricielle à droite \fbox{$/$}, i.e. la multiplication par l'inverse de l'opérande droit, et la division matricielle à gauche \fbox{$\backslash$}, i.e. la multiplication par l'inverse de l'opérande gauche:

>>A=[2 -1; -1 2];B=[0;3];

>>X=A\B;        résolution de $A*X=B$, i.e. $X=A^{-1}B$

>>Y=B/A;       résolution de $Y*A=B^{t}$, i.e. $Y=B^{t}A^{-1}$

Les opérateurs de division terme à terme sont notés \fbox{$./$} et \fbox{$.\backslash$}


Pr. Marc BUFFAT
marc.buffat@univ-lyon1.fr
2007-02-08