Evalm

> evalm(exprM);

Évalue une expression contenant des matrices et les opérateurs &*, +, -, ^.

Remarque: &* est utilisé au lieu de * à cause de la non-commutativité. 0 est utilisé pour le scalaire ou pour la matrice 0 (de la bonne dimension).

Exemple

> with(linalg):
Warning: new definition for norm
Warning: new definition for trace

> M1 := matrix(3,2,[1,2,3,4,5,6]);
é
ê
ë
1 2
3 4
5 6
ù
ú
û

> M2 := matrix(2,4,[1,1,2,2,3,3,4,4]);
é
ë
1 1 2 2
3 3 4 4
ù
û

> M1*M2;
M1 M2

> evalm(M1*M2);
Error, (in evalm/evaluate) use the &* operator for
matrix multiplication


> M1&*M2;
M1&*M2

> evalm(M1&*M2);
é
ê
ë
7 7 10 10
15 15 22 22
23 23 34 34
ù
ú
û