04/10/2023, 08:48 AM
I am going to draw a graph here, and it's the standard Kneser graph. This is drawn using minimal data. If we assume that:
\[
\text{tet}_K'(\tau(0)) = 1\\
\]
The value \(\tau(0) = 0.806...\). Then we bank a Taylor series:
\[
\text{tet}_K(\tau(0) + z) = \text{tet}_K(\tau(0)) + z + \sum_{k=2}^\infty a_k z^k\\
\]
I developed this Taylor series using Sheldon's fatou.gp. And this is all that I've used from sheldon. Once you have this Taylor series, you can create the super logarithm, and by proxy, the Kneser tetration. My code is on par with speed with Sheldon, but it can take some time. I think a big graph should show what I mean. Here is \(|\Re(z)| <4\) and \(|\Im(z)| < 1\) and we graph \(\text{slog}(z)\):
It's still not perfect; but this is Kneser's super logarithm from a single taylor series of Kneser's super exponential centered at a point \(\text{tet}_K'(\tau(0)) = 1\). To get perfection we will need to sample along \(\tau\), and getting Taylor series about here; which can speed up the current slog code I have. Additionally this would fix some issues with large graphs I have.
So, to refresh; we can take a single 50kb file, which stores \(a_k\); and we can use this to run Kneser's slog with little to no interruptions. My code is not faster than Sheldon's. But it is more malleable. When we write slog(A+z) this expression writes the taylor series of slog about A in the variable z. My expression of slog uses much more of the built in functions of pari. And you can treat it like \(\sin\) or how built in pari code works.
AGAIN! I've done nothing mathematically here. I've simply stored the taylor series:
\[
\text{tet}_K(z+\tau(0)) = \text{TAYLOR}\\
\]
I used sheldon's program to get the Kneser numbers. But now, all we need is TAYLOR to construct the slog function. From here we can write Kneser's tetration everywhere. If we use a single Taylor series from Kneser--generated by Sheldon; we can bypass all of Sheldon's code and write simpler code which does a "good enough job".
This code is very rough, and slightly inaccurate. But we're good for about 15-20 digits of accuracy. Which is the cap from the import of 50kb Taylor data. This technique does not work generally. The code I use specifies that \(z \mapsto \exp(z)\) is nowhere normal, and each point \(z_0 \mapsto \exp(z_0)\) eventually gets close to \(0 \mapsto \exp(0) \mapsto \exp(1) \mapsto \exp(\exp(1))\mapsto...\). This is a proven property of the exponential function. Thereby, my code works. If you want to take arbitrary tetrations, this code will not work. And in no way will it even look like it works.
This algorithm produces \(\text{slog}_K(z)\) for vertical branching points at \(\pm L\). This works solely off the 50kb that \(a_k\) generate. The \(\text{slog}\) we create is the unique one about the real-line, but there are branches in the complex plane.
Inverting this super logarithm creates Kneser's tetration. This is all Sheldon's heavy lifting. But It tricks the story. We only need 50kb of data, and we can process it as fast but in more manageable language. The taylor series of \(|text{tet}_K'(\tau)| = 1\) gives the raw solution/
\[
\text{tet}_K'(\tau(0)) = 1\\
\]
The value \(\tau(0) = 0.806...\). Then we bank a Taylor series:
\[
\text{tet}_K(\tau(0) + z) = \text{tet}_K(\tau(0)) + z + \sum_{k=2}^\infty a_k z^k\\
\]
I developed this Taylor series using Sheldon's fatou.gp. And this is all that I've used from sheldon. Once you have this Taylor series, you can create the super logarithm, and by proxy, the Kneser tetration. My code is on par with speed with Sheldon, but it can take some time. I think a big graph should show what I mean. Here is \(|\Re(z)| <4\) and \(|\Im(z)| < 1\) and we graph \(\text{slog}(z)\):
It's still not perfect; but this is Kneser's super logarithm from a single taylor series of Kneser's super exponential centered at a point \(\text{tet}_K'(\tau(0)) = 1\). To get perfection we will need to sample along \(\tau\), and getting Taylor series about here; which can speed up the current slog code I have. Additionally this would fix some issues with large graphs I have.
So, to refresh; we can take a single 50kb file, which stores \(a_k\); and we can use this to run Kneser's slog with little to no interruptions. My code is not faster than Sheldon's. But it is more malleable. When we write slog(A+z) this expression writes the taylor series of slog about A in the variable z. My expression of slog uses much more of the built in functions of pari. And you can treat it like \(\sin\) or how built in pari code works.
AGAIN! I've done nothing mathematically here. I've simply stored the taylor series:
\[
\text{tet}_K(z+\tau(0)) = \text{TAYLOR}\\
\]
I used sheldon's program to get the Kneser numbers. But now, all we need is TAYLOR to construct the slog function. From here we can write Kneser's tetration everywhere. If we use a single Taylor series from Kneser--generated by Sheldon; we can bypass all of Sheldon's code and write simpler code which does a "good enough job".
This code is very rough, and slightly inaccurate. But we're good for about 15-20 digits of accuracy. Which is the cap from the import of 50kb Taylor data. This technique does not work generally. The code I use specifies that \(z \mapsto \exp(z)\) is nowhere normal, and each point \(z_0 \mapsto \exp(z_0)\) eventually gets close to \(0 \mapsto \exp(0) \mapsto \exp(1) \mapsto \exp(\exp(1))\mapsto...\). This is a proven property of the exponential function. Thereby, my code works. If you want to take arbitrary tetrations, this code will not work. And in no way will it even look like it works.
This algorithm produces \(\text{slog}_K(z)\) for vertical branching points at \(\pm L\). This works solely off the 50kb that \(a_k\) generate. The \(\text{slog}\) we create is the unique one about the real-line, but there are branches in the complex plane.
Inverting this super logarithm creates Kneser's tetration. This is all Sheldon's heavy lifting. But It tricks the story. We only need 50kb of data, and we can process it as fast but in more manageable language. The taylor series of \(|text{tet}_K'(\tau)| = 1\) gives the raw solution/