06/09/2019, 04:03 PM
(This post was last modified: 06/10/2019, 12:39 AM by Ember Edison.)

(06/09/2019, 12:24 AM)sheldonison Wrote:(06/08/2019, 05:22 AM)Ember Edison Wrote: This sound like research the tetration can not get key helpful for super-root.

This is too regrettable, the all inverse function for tetration just has super-root was non-Complex.

Ps:the Tetration Wiki not have any super-root information. It's too carzy.

Ps2:If i just need 6 decimal digits for precision, can you speed up the code? You know, the human's eye can not get too high precision for color.

Ps3:How to recode the sexp and slog to catch Underflow and Overflow? Yon know, underflow will become overflow in pari/gp.

There aren't that many people in the world who even know how to write a complex base tetration program ... For complex bases, fatou.gp probably initializes 100x faster than everything else written so it makes sense that there isn't much out there on superroots for non integer values. Moreover, I consider it a technical tour-de-force that fatou.gp converges over as much of the upper complex plane as it does, which is also over a larger region than anything else written. Anyway, I spent a fair amount of time playing with the superroot of height n=1.5. Most of the limits of where I can't get accurate values for the superroot involve tetration to bases close to zero. So these are the same limitations we have in using fatou.gp for less well behaved bases. Yet the superroot is clearly an analytic function with a well behaved Taylor series in its well behaved regions.

The nearest singularity is at base eta=exp(1/e) where there is a surprisingly quiet branch so that extrending Kneser to real bases<eta are no longer real valued at the real axis, but the imaginary compoenent of sexp starts out quiet. So, I'm interested in in solving the problem f(z)=Tet_z(1.5); superroot_1.5(z)=f^{-1}(z). Since iterated exponentials always misbehave, we can equivalently sample

f(z)=z^z^Tet_z(-0.5); superroot_1.5(z)=f^{-1}(z)

I know there is a singularity at eta. I start by sampling a circle big enough to just touch the negative real axis so I could start understanding how to solve the superroot_1.5(z). But I also need to avoid the singularity at eta so the left edge of the circle is at 1.5 which is a little bigger than eta. Tet_z(1.5) is analytic and one to one in this entire circle, although Tet_z(-0.5) is better behaved in terms of Taylor series approximations.

This shows the mapping of the circle above.

And this shows a blowup of negative real axis where the complex logarithmic branch of Tet_z(1.5) starts to take on negative values.

So I think I can get the superroot_1.5 anywhere in the complex plane except for a region pretty close to the origin, by using the routines I posted below. I can also generate the Taylor series for the superroot, by taking the inverse of the z^^h. This example takes about 3-4 minutes to sample 120 Tetration bases, to get 240 sample points around a circle centered at 4, radius=2, for Tet_1.5. This is a smaller more well behaved circle than the one above, and the sroot(z) is accurate to >30 decimal digits where the Taylor series is well behaved.

Code:`\r fatou.gp`

\r superroot.gp

gen_sroot(4,2,1.5);

helps();

zb= sroot(5)); /* base~=2.674... via taylor series of gm */

sexpinit(zb);sexp(1.5) /* sexp(1.5) almost exactly 5; accurate to >32 digits */

zb = sroot(6+5*I);

sexpinit(zb);sexp(6+5*I); /* another example */

What if you want fast results and results over more of the complex plane?

gen_sroot(15,13.5,-0.5); /* initialize over a fairly big circle ... */

zb=invzzztth(-10) /* approx 2.232942146388 + 4.126815378582*I */

sexpinit(zb); sexp(1.5) /*-10.00002382582 - 1.225114519020 E-5*I */

zb=newtonsroot(-10,zb) /* more exact value */

sexp(1.5) /* -10 */

This approximation is camera accurate if Re(z)<=-9.2 or Re(z)>=1.7, or Im(z)>2.8i, as can be seen in the region of poor behavior shown below.

newtonsroot(z,invzzztth(z)) /* For accurate results inside poorly behaved region with Im(z)>0 */

This approach should also work with other heights with real(height) between 1 and 2; as long as imag(z) is small. This is the only other height I've tried so far.

/* setup approximation for superroot(1.5+0.5*I)(z); 3-4 minutes */

gen_sroot(15,13.5,-0.5+0.5*I); /* initialize over a fairly big circle */

zb=invzzztth(8*I); /* 4.239026742708 + 0.01949705866750*I */

sexpinit(zb); /* 0.0004576177155245 + 8.000948294760*I */

sexp(1.5+0.5*i);

zb=newtonsroot(8*I,zb);

fyi; the gen_sroot only supports centering samples on the real axis. One could imagine extensions of invzzztth to try to get better approximations over more of the poorly behaved region... It would be easy to implement the inverse of z^z^z^(ztth(z)) to handle superroot with Re(height) between 2 and 3 etc.

Thank you for your work.It's very helpful.

by the way...I can't use sexpinit() set the base with -0.1 <= x <= 0.62, 0.88 <= x <= 1.042, how can i do something to fix it?