procedure pscale(d2: integer; var s: scalar; var v1,v2: vector);
var
  n: integer;
  sp,st: scalar;
begin { pscale }
  v2[0]:=v1[0];
  sp:=s;
  sprod(sp,v1[1],v2[1]);
  for n:=2 to d2 do begin
    sprod(s,sp,st);
    sp:=st;
    sprod(sp,v1[n],v2[n]);
  end;
end { pscale };

