01/02/2017, 02:26 PM
I have just downloaded it from somewhere. It includes the following:
\r kneser.gp
/* hyperoperators */
h(a,s,b) = {
fatbx(a,s-1,b);
}
/* root inverse of hyperops */
hr(a,s,b) = {
invfatbx(a,s-1,b);
}
/* support function for fatbx and invfatbx, allowing to have a,b<e */
expeta(t,a) = {
if (real(a)<exp(1), sexpeta(invsexpeta(a)+t), cheta(invcheta(a)+t));
}
/* fatbx main function of calculation of hyperops */
fatbx(a,t,b) = {
if (real(t)<1, return (expeta(t,expeta(-t,a)+expeta(-t,b))));
if (real(t)>=1, return (expeta(t-1,b*expeta(1-t,a))));
}
/* invfatbx main function of calculation of root inverse of hyperops */
invfatbx(a,t,b) = {
if (real(t)<1, return (expeta(t,expeta(-t,a)-expeta(-t,b))));
if (real(t)>=1, return (expeta(t-1,(1/b)*expeta(1-t,a))));
}
It might be incorrect according to the graph.
\r kneser.gp
/* hyperoperators */
h(a,s,b) = {
fatbx(a,s-1,b);
}
/* root inverse of hyperops */
hr(a,s,b) = {
invfatbx(a,s-1,b);
}
/* support function for fatbx and invfatbx, allowing to have a,b<e */
expeta(t,a) = {
if (real(a)<exp(1), sexpeta(invsexpeta(a)+t), cheta(invcheta(a)+t));
}
/* fatbx main function of calculation of hyperops */
fatbx(a,t,b) = {
if (real(t)<1, return (expeta(t,expeta(-t,a)+expeta(-t,b))));
if (real(t)>=1, return (expeta(t-1,b*expeta(1-t,a))));
}
/* invfatbx main function of calculation of root inverse of hyperops */
invfatbx(a,t,b) = {
if (real(t)<1, return (expeta(t,expeta(-t,a)-expeta(-t,b))));
if (real(t)>=1, return (expeta(t-1,(1/b)*expeta(1-t,a))));
}
It might be incorrect according to the graph.
Xorter Unizo