procedure mnorm(var w: ltuple; var m: matrix; var s: scalar);
var
  i,j: integer;
  s0,s1,s2: scalar;
begin { mnorm }
  szero(s);
  for i:=0 to lmax do begin
    sabs(m[i,0],s1);
    sprod(s1,w[0],s0);
    for j:=1 to lmax do begin
      sabs(m[i,j],s1);
      sprod(s1,w[j],s2);
      ssum(s0,s2,s1);
      s0:=s1;
    end;
    squot(s0,w[i],s1);
    sunion(s,s1,s2);
    s:=s2;
  end;
end { mnorm };

