08/08/2017, 12:32 AM
(This post was last modified: 08/08/2017, 11:12 AM by sheldonison.)
I posted a new version of fatou.gp; to download, see the first post. The most important addition to the program is a routine called "matrix_ir(k,n,m), where k is log(log(B))+1 if B is the tetration base. Internally, fatou iterates exp(z)-1+k near the parabolic fixed point. The matrix_ir routine solves a matrix equivalent to finding a solution on n sample points that matches exactly with the theta approximation, or abel(f(z))-1 or abel(finv(z))+1. The sexpinit(B) is still 2-2.5x faster than the matrix solution on average, but for some complicated complex bases, the times are closer. I also added loop1(n), which is used after loop(k) to keep iterating the loop solution without adding any additional sample points. Then loop1 will converge to the exact same solution as matrix_ir generates! I will add more details later on the matrix_ir solution, and how it samples a set of points to get the exact same kind of convergence as sexpinit/loop.
The output has been cleaned up, and shows 32 bit decimals by default now. Precision is reported in number of decimal digits now. With 64-bit pari-gp implementations, its still generally less than 0.6 seconds for an sexpinit(B), but if you are calculating lots of bases, try limitp=16 to speed up computation by another factor of 5x with >16 decimal digits precision. Perhaps you want to also enable quietmode=1.
I had to change how the guts of fatou.gp worked to allow matrix_ir to work. These changes are extensive but mostly invisible. Some bases require a couple of more iterations than before. Precision will generally be higher than the last version for all bases. The new version converges to full precision on far more bases than the old version, including real bases up to 39000, and complex bases like sexpinit(I) and sexpinit(-exp(-2)) converge fully as well. I cleaned up the help menus, and the output doesn't show the imaginary part for real bases. In general, the program is more stable than it used to be over a much wider range of real and complex bases. For real bases>39000, try setting ctr=19/20. This allows real bases up to about sexpinit(10^6). The only thing kneser.gp does better than fatou.gp is real bases>10^6, but I am no longer supporting or updating kneser.gp.
My old pentation.gp program is broke with the latest versions of pari-gp, and since I'm not supporting kneser.gp I added an improved more elegant version of pentation in fatou.gp. Look at help_pentation(). I added support for eta=exp(1/e); see help_eta. Internally, I implemented Ecalle's formal assymptotic solution for exp(x)-1, the parabolic base equivalent to eta.
The output has been cleaned up, and shows 32 bit decimals by default now. Precision is reported in number of decimal digits now. With 64-bit pari-gp implementations, its still generally less than 0.6 seconds for an sexpinit(B), but if you are calculating lots of bases, try limitp=16 to speed up computation by another factor of 5x with >16 decimal digits precision. Perhaps you want to also enable quietmode=1.
I had to change how the guts of fatou.gp worked to allow matrix_ir to work. These changes are extensive but mostly invisible. Some bases require a couple of more iterations than before. Precision will generally be higher than the last version for all bases. The new version converges to full precision on far more bases than the old version, including real bases up to 39000, and complex bases like sexpinit(I) and sexpinit(-exp(-2)) converge fully as well. I cleaned up the help menus, and the output doesn't show the imaginary part for real bases. In general, the program is more stable than it used to be over a much wider range of real and complex bases. For real bases>39000, try setting ctr=19/20. This allows real bases up to about sexpinit(10^6). The only thing kneser.gp does better than fatou.gp is real bases>10^6, but I am no longer supporting or updating kneser.gp.
My old pentation.gp program is broke with the latest versions of pari-gp, and since I'm not supporting kneser.gp I added an improved more elegant version of pentation in fatou.gp. Look at help_pentation(). I added support for eta=exp(1/e); see help_eta. Internally, I implemented Ecalle's formal assymptotic solution for exp(x)-1, the parabolic base equivalent to eta.
- Sheldon

