Matrizenaddition (beide Matrizen müssen gleich groß sein):
restart: with(linalg): m1:=matrix([[a1,b1],[a2,b2],[a3,b3]]); m2:=matrix([[u1,v1,w1],[u2,v2,w2]]); evalm(m1+transpose(m2));
Multiplation mit einem Skalar:
restart: with(linalg): m1:=matrix([[a1,b1],[a2,b2],[a3,b3]]); m2:=matrix([[u1,v1,w1],[u2,v2,w2]]); evalm(4*transpose(m2));
Multiplikation zweier Matrizen (Zahl der Spalten in der einen Matrix muß gleich der Zahl der Zeilen in der anderen Matrix sein):
restart: with(linalg): m1:=matrix([[a1,b1],[a2,b2],[a3,b3]]); m2:=matrix([[u1,v1,w1],[u2,v2,w2]]); evalm(m1&* m2); `(* aber(nicht kommutativ) *)`; evalm(m2&* m1);
Multiplikation einer Matrix mit einem Vektor (elementweise Multiplikation, kommutativ):
restart: with(linalg): m1:=matrix([[a1,b1,c1],[a2,b2,c2],[a3,b3,c3]]); v1:=vector([u1,v1,w1]); evalm(m1&* v1); `(* aber *)`: v2:=matrix([[u],[v],[w]]); evalm(m1 &* v2);