Andrew John Walker on Tue, 29 Jul 2003 14:52:49 +1000 (EST)


[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]

Speed of zeta() evaluation


I recently upgraded to Karim's windows executable  of 29 May 2003
(266105 bytes) or
GP/PARI CALCULATOR Version 2.2.6 (development CHANGES-1.756)
 when loaded.

Compared with 2.0.17 (beta) which I have used happily for a fair while,
the execution times for the zeta() function seems to be a lot different,
sometimes much better and sometimes a lot worse. For example,
using \p9  and the function
pz(x)=sum(n=1,10000,moebius(n)*log(zeta(n*x))/n)
(this is the prime zeta function),

gettime();x=pz(0.1+100.0*I);gettime()

takes ~5.7 on a ~850MHz pc for the older version,
while on the newer version I gave up after several minutes.

On the other hand, gettime();x=pz(0.9+100.0*I);gettime()
takes 1.6s on the newer version and about 2.4s on the older.
My guess is that the evaluation method used has changed.

Another example, under the new version:

(14:37) gp > \p9
   realprecision = 9 significant digits
(14:37) gp > gettime();x=zeta(1+12000.0*I);gettime()
%1 = 38443
(14:38) gp > gettime();x=zeta(1+12000.0*I);gettime()
%2 = 217
(14:38) gp > gettime();x=zeta(1+13000.0*I);gettime()
%3 = 7812
(14:38) gp > gettime();x=zeta(1+13000.0*I);gettime()
%4 = 310

Under the older version:
? \p9
   realprecision = 9 significant digits
? gettime();x=zeta(1+12000.0*I);gettime()
%1 = 1100
? gettime();x=zeta(1+12000.0*I);gettime()
%2 = 330
? gettime();x=zeta(1+13000.0*I);gettime()
%3 = 1210
? gettime();x=zeta(1+13000.0*I);gettime()
%4 = 380

It seems that some values are stored that makes
subsequent evaluations quicker, but the newer version
is much slower on the first go. Note that both times
I was using the default
parisize = 4000000, primelimit = 500000

Andrew Walker