#(* Beispiel *) restart: with(linalg): m1:=matrix([[1,2,3],[0,5,6],[-1,-2,4]]); for i from 1 to 3 do v(i):=row(m1,i) od: GramSchmidt([v(1),v(2),v(3)]); seq(normalize(i),i="): on:=seq(map(combine,i,power),i="); mn1:=matrix([on[1],on[2],on[3]]); `(* Probe *)`; mn2:=transpose(mn1); evalm(mn1 &* mn2);