| John Cremona on Fri, 07 Sep 2007 21:57:14 +0200 |
[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]
| bug in isprime() |
Running this version:
GP/PARI CALCULATOR
Version 2.4.2 (development CHANGES-1.1844)
i686 running
linux (ix86 kernel) 32-bit version
compiled: Aug 18
2007, gcc-4.1.2 (Ubuntu 4.1.2-0ubuntu4)
(readline
v5.2 enabled, extended help enabled)
the manual claims that while the out of factor() contains "primes"
which are not proved primes, the function isprime() provides a proof
of primality. In which case what is going on here:
? default(debug,2)
%5 = 2
? p=nextprime(10^20)
%6 = 100000000000000000039
? isprime(p)
*** isprime: Warning: IFAC: untested integer declared prime.
507526619771207
%7 = 1
It seems that part of the "proof" involves a factorization whose
results are not proved.
Unless I am misunderstanding what the manual claims, this means that
it is _not_ doing what is claimed.
One solution would be (as I suggested earlier) to have a flag on
factor() to require proof, as this could be passed on down through
isprime() calls, and then we could trust the results!
John
--
John Cremona