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