11/21/2011, 09:10 PM
(This post was last modified: 11/12/2013, 09:42 PM by sheldonison.)
Here is the most recent code, Nov 12th, 2013:
kneser.gp (Size: 35.84 KB / Downloads: 1,092)
updates Nov 12th 2013; this is the same as the code at the top of the first page
o updated to be compatible with latest pari-gp
o removed eval, and kill
o enhanced prtpoly routine
o added lambertL routine
end updates Nov 12th, 2013
Nov 21st, 2011 version of "kneser.gp", previous version link:
kneser_backup_110811.gp (Size: 34.36 KB / Downloads: 1,050) This update is largely cosmetic. I cleaned up a lot of stuff that I've wanted to clean up for a long time. Its stable. I've been using it for a couple of months for experiments, and tests. Here is a list of the changes in this version of "Kneser.gp".
init(base) automatically initializes and then automatically loops through generating the xsexp and xtheta taylor series for future operations. The old loop command is no longer required by the user, but is available as an internal function. "rawinit(base);loop(n);" rawinit is an internal function which is also not generally required by the user, which is the initialization function without looping, so the user can manually control looping. This change will help minimize some user errors, as well as simplify the use of the program.
sexp(z) now works for the entire complex plane. if imag(z)>0.87, the sexp(z) routine automatically switches to using thetaaprx(z). Therefore, the splicesexp(z) routine is no longer necessary, and is now deprecated
internal function name changes: thetaaprx(z) replaces riemaprx(z), which is more accurate, since Knesser's Riemann mapping is not a theta(z) mapping, although the two mappings can be shown to be mathematically equivalent.
internal function name changes: thetaup replaces riemup, to update the xtheta array during loop iteration
internal function name changes: Schroder/iSchroder replaces xisuperf/superf taylor series. These are the polynomial taylor series for the schroder function and inverse schroder functions, which have a radius of approximately rsuper. These names are more consistent with the mathematic's communities literature on iterated functions.
precision fix to sexptaylor and slogtaylor functions, to automatically update resulting polynomial to full precision otherwise, when these taylor series are evaluated via eval(f), they can return inaccurate results
help, and morestuff menus are cleaned up a little bit, which should hopefully make it easier to use the program.
xsexp is no longer initialized at startup. This helps minimize user errors with unitialized data. The cheta routines are still initialized at startup, and the cheta routines are still updated by init(base) but if and only if the precision has changed.
pentation.gp has all of the new minor changes from kneser.gp, included in it.
To use the program, you'll need to install pari-GP. After loading kneser.gp, to generate the sexp/tetration function for base e, type in "init(exp(1))". The program will loop and generate the xsexp/xtheta polynomials. Then type in sexp(z) for any complex valued z, and the program will return sexp(z). For example, sexp(1)=~2.71828...
- Sheldon
kneser.gp (Size: 35.84 KB / Downloads: 1,092)
updates Nov 12th 2013; this is the same as the code at the top of the first page
o updated to be compatible with latest pari-gp
o removed eval, and kill
o enhanced prtpoly routine
o added lambertL routine
end updates Nov 12th, 2013
Nov 21st, 2011 version of "kneser.gp", previous version link:
kneser_backup_110811.gp (Size: 34.36 KB / Downloads: 1,050) This update is largely cosmetic. I cleaned up a lot of stuff that I've wanted to clean up for a long time. Its stable. I've been using it for a couple of months for experiments, and tests. Here is a list of the changes in this version of "Kneser.gp".
init(base) automatically initializes and then automatically loops through generating the xsexp and xtheta taylor series for future operations. The old loop command is no longer required by the user, but is available as an internal function. "rawinit(base);loop(n);" rawinit is an internal function which is also not generally required by the user, which is the initialization function without looping, so the user can manually control looping. This change will help minimize some user errors, as well as simplify the use of the program.
sexp(z) now works for the entire complex plane. if imag(z)>0.87, the sexp(z) routine automatically switches to using thetaaprx(z). Therefore, the splicesexp(z) routine is no longer necessary, and is now deprecated
internal function name changes: thetaaprx(z) replaces riemaprx(z), which is more accurate, since Knesser's Riemann mapping is not a theta(z) mapping, although the two mappings can be shown to be mathematically equivalent.
internal function name changes: thetaup replaces riemup, to update the xtheta array during loop iteration
internal function name changes: Schroder/iSchroder replaces xisuperf/superf taylor series. These are the polynomial taylor series for the schroder function and inverse schroder functions, which have a radius of approximately rsuper. These names are more consistent with the mathematic's communities literature on iterated functions.
precision fix to sexptaylor and slogtaylor functions, to automatically update resulting polynomial to full precision otherwise, when these taylor series are evaluated via eval(f), they can return inaccurate results
help, and morestuff menus are cleaned up a little bit, which should hopefully make it easier to use the program.
xsexp is no longer initialized at startup. This helps minimize user errors with unitialized data. The cheta routines are still initialized at startup, and the cheta routines are still updated by init(base) but if and only if the precision has changed.
pentation.gp has all of the new minor changes from kneser.gp, included in it.
To use the program, you'll need to install pari-GP. After loading kneser.gp, to generate the sexp/tetration function for base e, type in "init(exp(1))". The program will loop and generate the xsexp/xtheta polynomials. Then type in sexp(z) for any complex valued z, and the program will return sexp(z). For example, sexp(1)=~2.71828...
- Sheldon