procedure pconv(d2: integer; var vc,v1,v2: vector);
var
  k,kmax,n: integer;
  sf,ss,st1,st2: scalar;  
begin { pconv }
  write('(pconv'); flush(output);
  kmax:=min(d2,vdim-1);
  for k:=0 to kmax do begin
    sf:=sone;
    ss:=v1[k];
    for n:=k+1 to vdim-1 do begin
      ismult(n,sf);
      ismult(2*n-1,sf);
      sprod(v1[n],sf,st1);
      sprod(st1,vc[n-k],st2);
      ssum(st2,ss,st1);
      ss:=st1;
    end;
    v2[k]:=ss;
  end;
  for k:=kmax+1 to vdim do szero(v2[k]);
  write(')'); flush(output);
end { pconv };

