(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;
lambda1=polcoeff(fz2,1);
fs1=formalischroder(fz2,20);
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..."
-------
Hmm, I replaced that unexplained by the best what I could assume ("acoeff" as indeterminate first which shall be valued later by reference in "subst(...)")
Code:
\\ Sheldon's code::
fz1=x^2+(1-sqrt(3))*x
lambda1=polcoeff(fz1,1)
fs1=formalischroder(fz1,20)
superfunction1(z)=subst(fs1,x,lambda1^z)Code:
fs1 = x + 0.788675134595*x^2 + 4.64273441009*x^3 + 9.72047587679*x^4 + 51.2905072562*x^5 + O(x^6) so it seems the insertions of mine are possibly correct.
Now here is the computation with my matrix-toolbox:
Code:
fz1 = x^2 + (1- sqrt(3))*x \\ use your function
F = mkCarleman ( polcoeffs(fz1,32) ) \\ procedure to make a carlemanmatrix from polynomial or series
F_eigen = tri_eigen(F) \\ my diagonalization for triangular matrices gives M,D,M^-1 in
\\ a result vector as components 2,3 and 4
Schr = F_eigen[2][,2] \\ put the coeffs for the Schröder function
\\ from column 2 of M into separate vector
lam = F_eigen[3][2] \\ put the eigenvalue from D-component into variable "lam"
SchrInv = F_eigen[4][,2] \\ put the coeffs for the Inverse Schröder function
\\ from column 2 of M^-1 into separate vector
Ser(SchrInv) + O(x^6) \\ display inverse Schroeder function as a series
\\ ------
%77 = x + 0.788675134595*x^2 + 4.642734410*x^3 + 9.72047587679*x^4 + 51.2905072562*x^5 + O(x^6)
Gottfried Helms, Kassel

