I've attached in this update a nearly flawless code. I figured out how to write a kind of exception statement in my code. This required me, sort of guessing, a cut off point for at least 200 point accuracy. This required me, sort of, guessing the parameter k; and making a different recursion. I've reduced all of my exception statements into a clear code.
This is the final result of my code for the Abel function for varying period \( 2\pi i / \lambda \). I'm still trying to find a way to effectively code \( \text{tet}_\beta \). But I'm getting there.
Disclaimer: these graphs are very slow to produce using Mike's program. As I was inputting my x,y values on the box, I may have put the y values in backwards on some of these graphs; if so, said erroneous graphs, the imaginary argument should be flipped; and the pictures flipped. I apologize. I wasn't being careful.I'll get around to flipping them and changing the domains; but this just means recompiling the graphs. Which takes a very long time. Sorry; that was stupid of me. Nonetheless; it still shows their holomorphy, which is more to the point.
Here's a graph of \( F_{\log(2)-i}(z) \) over the region \( 0 \le \Re(z) \le 2 \) and \( -1 \le \Im(z) \le 1 \).
This was done with \( F_{\log(2)-i}(z) = \text{Abl(z,log(2)-I,100)} \).
And here's a graph of \( F_{1+i}(z) \) over the region \( 0 \le \Re(z) \le 3 \) and \( -1.5 \le \Im(z) \le 1.5 \)
This was done with \( F_{1+i}(z) = \text{Abl(z,1+I,100)} \).
And here is a very crazy graph of \( F_{1+5i}(z) \) over the region \( 1 \le \Re(z) \le 4 \) and \( 0 \le \Im(z) \le 3 \). The reason this graph looks so crazy is because it has a period of \( \pi(5+i)/13 \); which means it repeats on a pretty small strip. You can also see how bananas these tetration functions start to look when we vary the multiplier around. You can also see the many branch cuts which start to form. This graph should look a bit more level in the lower half plane, but it blows up pretty fast so my code tends to short circuit before we get there.
I've attached here my temporary code for \( \text{tet}_\beta \). It is not normalized yet; I'm having trouble making it normalized efficiently. Therefore, there's a real number \( x_0 \in \mathbb{R} \) which shifts us to the normalized tetration. As to that, this is code for \( \text{tet}_\beta(s-x_0) \).
This needs to be attached to the code above. It's pretty shoddy on the real line; but it seems to work well in the lower and upper half plane; where it doesn't overflow.
At this point I am confident this tetration function IS NOT KNESER's. As to that, expect \( \text{Tet(z,n)} \) to overflow as we increase the imaginary argument. It is not normal, it does not tend to a fixed point as \( \Im(z) \to \infty \). At least, as far as I can tell.
From this point, I no longer may have made a flipping error when using Mike's graphing program. The following graph is how it should be.
This is a graph of \( \text{Tet(z,100)} \) over the domain \( 0\le \Re(z)\le 4 \) and \( 1 \le \Im(z) \le 5 \).
I'm still having trouble with the real line; and mapping for large arguments. My code doesn't like this function; I definitely need to fiddle with it a bit more. I'm trying alternative expressions at the moment. But I'm trying to keep it as optimized as possible. Nonetheless, It should look something like this,
I need to work on accuracy with this though; it's failing on the real line for a reason. My guess is that the code is choosing the principal branch; and it's causing errors. I need to think of a way to make this a logarithm of \( log(1+w) \) for \( w \) small rather than \( log(X) \) for \( X \) large; but every way I've tried hasn't worked.
Even if this is Kneser's tetration, it's pretty crazy Kneser can be constructed with 1 for-loop and 2 if statements--and a whole swath of recursion...
UPDATE
I fiddled with the tetration code a bit more and updated it. This is more so the standard form. I realize I had a dangling negative sign, which forced a bunch of errors. The correct graph and code is posted now. It was a long night last night, and I got ahead of myself a bit. Nonetheless, without the negative sign everything was correct.
Code:
\\This is the asymptotic solution to tetration. z is the variable, l is the multiplier, and n is the depth of recursion
\\Warning: z with large real part looks like tetration; and therefore overflows very fast. Additionally there are singularities which occur where l*(z-j) = (2k+1)*Pi*I.
\\j,k are integers
beta_function(z,l,n) =
{
my(out = 0);
for(i=0,n-1,
out = exp(out)/(exp(l*(n-i-z)) +1));
out;
}
\\This is the error between the asymptotic tetration and the tetration. This is pretty much good for 200 digit accuracy if you need.
\\modify the 0.000000001 to a bigger number to make this go faster and receive less precision. When graphing 0.0001 is enough
\\Warning: This will blow up at some points. This is part of the math; these functions have singularities/branch cuts.
tau(z,l,n)={
if(1/real(beta_function(z,l,n)) <= 0.000000001,
-log(1+exp(-l*z)),
log(1 + tau(z+1,l,n)/beta_function(z+1,l,n)) - log(1+exp(-l*z))
)
}
\\This is the sum function. I occasionally modify it; to make better graphs, but the basis is this.
Abl(z,l,n) = {
beta_function(z,l,n) + tau(z,l,n)
}This is the final result of my code for the Abel function for varying period \( 2\pi i / \lambda \). I'm still trying to find a way to effectively code \( \text{tet}_\beta \). But I'm getting there.
Disclaimer: these graphs are very slow to produce using Mike's program. As I was inputting my x,y values on the box, I may have put the y values in backwards on some of these graphs; if so, said erroneous graphs, the imaginary argument should be flipped; and the pictures flipped. I apologize. I wasn't being careful.I'll get around to flipping them and changing the domains; but this just means recompiling the graphs. Which takes a very long time. Sorry; that was stupid of me. Nonetheless; it still shows their holomorphy, which is more to the point.
Here's a graph of \( F_{\log(2)-i}(z) \) over the region \( 0 \le \Re(z) \le 2 \) and \( -1 \le \Im(z) \le 1 \).
This was done with \( F_{\log(2)-i}(z) = \text{Abl(z,log(2)-I,100)} \).
And here's a graph of \( F_{1+i}(z) \) over the region \( 0 \le \Re(z) \le 3 \) and \( -1.5 \le \Im(z) \le 1.5 \)
This was done with \( F_{1+i}(z) = \text{Abl(z,1+I,100)} \).
And here is a very crazy graph of \( F_{1+5i}(z) \) over the region \( 1 \le \Re(z) \le 4 \) and \( 0 \le \Im(z) \le 3 \). The reason this graph looks so crazy is because it has a period of \( \pi(5+i)/13 \); which means it repeats on a pretty small strip. You can also see how bananas these tetration functions start to look when we vary the multiplier around. You can also see the many branch cuts which start to form. This graph should look a bit more level in the lower half plane, but it blows up pretty fast so my code tends to short circuit before we get there.
I've attached here my temporary code for \( \text{tet}_\beta \). It is not normalized yet; I'm having trouble making it normalized efficiently. Therefore, there's a real number \( x_0 \in \mathbb{R} \) which shifts us to the normalized tetration. As to that, this is code for \( \text{tet}_\beta(s-x_0) \).
Code:
Tet(z,n) ={
if(1/real(beta_function(z,1/sqrt(1+z),n)) <= 0.00000001,
beta_function(z,1/sqrt(1+z),n),
log(Tet(z+1,n))
)
}This needs to be attached to the code above. It's pretty shoddy on the real line; but it seems to work well in the lower and upper half plane; where it doesn't overflow.
At this point I am confident this tetration function IS NOT KNESER's. As to that, expect \( \text{Tet(z,n)} \) to overflow as we increase the imaginary argument. It is not normal, it does not tend to a fixed point as \( \Im(z) \to \infty \). At least, as far as I can tell.
From this point, I no longer may have made a flipping error when using Mike's graphing program. The following graph is how it should be.
This is a graph of \( \text{Tet(z,100)} \) over the domain \( 0\le \Re(z)\le 4 \) and \( 1 \le \Im(z) \le 5 \).
I'm still having trouble with the real line; and mapping for large arguments. My code doesn't like this function; I definitely need to fiddle with it a bit more. I'm trying alternative expressions at the moment. But I'm trying to keep it as optimized as possible. Nonetheless, It should look something like this,
I need to work on accuracy with this though; it's failing on the real line for a reason. My guess is that the code is choosing the principal branch; and it's causing errors. I need to think of a way to make this a logarithm of \( log(1+w) \) for \( w \) small rather than \( log(X) \) for \( X \) large; but every way I've tried hasn't worked.
Even if this is Kneser's tetration, it's pretty crazy Kneser can be constructed with 1 for-loop and 2 if statements--and a whole swath of recursion...
UPDATE
I fiddled with the tetration code a bit more and updated it. This is more so the standard form. I realize I had a dangling negative sign, which forced a bunch of errors. The correct graph and code is posted now. It was a long night last night, and I got ahead of myself a bit. Nonetheless, without the negative sign everything was correct.

