Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
fast accurate Kneser sexp algorithm
#26
I'm attatching a new version of kneser.gp. The new version has two major modifications, as well as a fix to the earlier reported loss of precision bug with base b=exp(Pi/2). The first major modification is to generate a Taylor series for the superf and inverse superf functions, which eliminates most of the long strings of logarithms and exponents in the iterative process for generating the sexp Taylor series. This, along with other changes, results in an approximately 5x-7x performance improvement over the earlier version. Smaller bases closer to eta see the biggest performance improvements. The range of supported bases is init(1.449) to init(100000), along with some support for bases<eta. The second major change is to use pari-gp internal polynomials for the xsexp and xtheta Taylor series functions, respectively used for the sexp(z) and riemaprx(z) functions. pari-gp polynomials are also returned by the sexptaylor(w,r) and slogtaylor(w,r) functions, which generate a Taylor series centered at w, with sample radius "r". This update allows the use of many internal pari-gp polynomial functions.

This version of the code also includes complex plane support for cheta(z), and sexpeta(z), the two superfunctions for base=, as well as their inverse functions, invcheta(z), and invsexpeta(z). The default precision for these functions is 50 decimal digits, or 167 binary bits, but if precision is manually modified by inputting on the command line "\p 134" followed by "init;", then the precision for these base= functions are also similarly increased.

With the default precision of "\p 67", for the command "init(exp(1));loop", my laptop takes about 4.3 seconds for 13 iterations, to generate a series accurate to 110 binary bits (33 decimal digits). If the precision is manually modified via "\p 134", then "init;loop" for the base e default, it takes about 40 seconds, for 26 iterations, with results accurate to ~225 binary digits.
- Sheldon
For the most recent code version: go to the Nov 21st, 2011 thread.

.gp   kneser.gp (Size: 33.72 KB / Downloads: 334)
Reply


Messages In This Thread
The pari-GP code - by sheldonison - 08/07/2010, 09:17 PM
updated kneser.gp code - by sheldonison - 08/19/2010, 02:35 AM
RE: updated kneser.gp code - by nuninho1980 - 08/19/2010, 12:08 PM
RE: updated kneser.gp code - by sheldonison - 08/20/2010, 01:05 AM
update to support B<eta - by sheldonison - 11/15/2010, 02:53 PM
RE: update to support B<eta - by nuninho1980 - 11/15/2010, 03:26 PM
another new version - by sheldonison - 11/17/2010, 06:52 PM
RE: fast accurate Kneser sexp algorithm - by sheldonison - 07/15/2011, 09:34 PM

Possibly Related Threads...
Thread Author Replies Views Last Post
  "Kneser"/Riemann mapping method code for *complex* bases mike3 2 6,775 08/15/2011, 03:14 PM
Last Post: Gottfried
  Attempt to make own implementation of "Kneser" algorithm: trouble mike3 9 15,992 06/16/2011, 11:48 AM
Last Post: mike3
  Numerical algorithm for Fourier continuum sum tetration theory mike3 12 19,945 09/18/2010, 04:12 AM
Last Post: mike3
  regular sexp: curve near h=-2 (h=-2 + eps*I) Gottfried 2 6,030 03/10/2010, 07:52 AM
Last Post: Gottfried
  Attempting to compute the kslog numerically (i.e., Kneser's construction) jaydfox 11 18,685 10/26/2009, 05:56 PM
Last Post: bo198214
  regular sexp:different fixpoints Gottfried 6 11,934 08/11/2009, 06:47 PM
Last Post: jaydfox
  sexp(strip) is winding around the fixed points Kouznetsov 8 13,201 06/29/2009, 10:05 AM
Last Post: bo198214
  sexp and slog at a microcalculator Kouznetsov 0 3,200 01/08/2009, 08:51 AM
Last Post: Kouznetsov



Users browsing this thread: 1 Guest(s)