10/20/2017, 08:19 PM
(This post was last modified: 10/20/2017, 08:38 PM by sheldonison.)
(10/20/2017, 07:55 PM)Gottf ried Wrote:acoeff is just like an unknown; like "x" in the equations "x^3+2*x^2+3*x+1". In the routine, Pari-gp will treat acoeff as an unknown unassigned variable just like "x", that happens to be the multiplier for the "i'th" coefficient we are trying to determine.(10/20/2017, 06:00 PM)sheldonison Wrote: For example, here is the pari-gp program for the formal inverse schroeder function. I don't know how to turn this into a matrix function, but not many programming languages support the powerful polyonomial functions that pari-gp has.
Code:formalischroder(fx,n) = {
local(lambda,i,j,z,f1t,f2t,ns,f1s);
lambda = polcoeff(fx,1);
f1t=x;
i=2;
while (i<=n,
f1s=f1t;
f1t=f1t+acoeff*x^i+O(x^(i+1));
f2t=subst(f1t,x,lambda*x)-subst(fx+O(x^(i+1)),x,f1t);
z = polcoeff(f2t, i);
z = subst(z,acoeff,x);
ns=-polcoeff(z,0)/polcoeff(z,1);
f1t=f1s+ns*x^i;
i++;
);
return(Pol(f1t));
}
fz1=x^2+(1-sqrt(3))*x;
[size=small][font=Monaco, Consolas, Courier, monospace]lambda1=polcoeff(fz1,1);[/font][/size]
[size=small][font=Monaco, Consolas, Courier, monospace]fs1=formalischroder(fz1,20);[/font][/size]
superfunction1(z)=subst(fs2,x,lambda2^z);
Sheldon - I find some unexplained terms: what is "acoeff" / how is this defined before it is queried for "f1t"?
the same with "fz2" in "lambda1=pol..." and "fs2" in "superfuncion...subst(fs2..."
The others are typos: I was originally going to post both superfunctions, from both fixed points.... The other fixed point equation would be fz2=x^2+(1+sqrt(3))*x. Depending on whether |lambda|>1 or <1, determines where the superfunction equation converges, either negative or positive values of .
Actually, the other fixed point also converges better, so that's what I meant to post. Here superfunction1 converges pretty good for \( \Re(z)<=2 \)
Code:
fz1=x^2+(1+sqrt(3))*x;
lambda1=polcoeff(fz1,1);
fs1=formalischroder(fz1,20);
superfunction1(z)=subst(fs1,x,lambda1^z);
- Sheldon

