Procedimento

> poli:=proc()
local s,p,q,r,k,i;
with(linalg):
s:=vector[10]: p:=vector[10]: q:=vector[10]: r:=vector[10]:
p[1]:= 1: q[1]:= 1: r[1]:= 1:
p[2]:= 0.497: q[2]:= 0.497: r[2]:= 0.497:
for k from 1 to 10 do s[k]:=0.5^(k-1):od:
for k from 3 to 10 do p[k]:=1.5*p[k-1]-0.5*p[k-2]:od:
for k from 3 to 10 do q[k]:=2.5*q[k-1]-q[k-2]:od:
for k from 3 to 10 do r[k]:=0.5*r[k-1]:od:
printf(" i p[i] q[i] r[i] s[i]\n");
for i from 1 to 10 do
printf(" %2d %8.6f %8.6f %8.6f %8.6f \n", i,p[i],q[i],r[i],s[i]):
od;
end:

> poli();

Warning, new definition for norm

Warning, new definition for trace

  i       p[i]        q[i]       r[i]       s[i]

  1    1.000000    1.000000   1.000000   1.000000 

  2     .497000     .497000    .497000    .500000 

  3     .245500     .242500    .248500    .250000 

  4     .119750     .109250    .124250    .125000 

  5     .056875     .030625    .062125    .062500 

  6     .025438    -.032688    .031063    .031250 

  7     .009719    -.112344    .015531    .015625 

  8     .001859    -.248172    .007766    .007813 

  9    -.002070    -.508086    .003883    .003906 

 10    -.004035    -1.022043    .001941    .001953