Cyril Guyot <cyril@zoy.org> writes:
> It took less than a second and returned FALSE. I suspect it is not
> actually passing the first pseudo-prime test that Juergen mentioned
> earlier. (Btw, what do you mean by pseudo-prime test? Is it just a
> regular Miller-Rabin test or something else? )
No, it just checks if N is a pseudo-prime (in the weakest sense) wrt
to base 3 and 13 (that's actually hardwired), i.e. 3^(N-1)=1 mod N and
13^(N-1)=1 mod N. The same test is performed if you set the maxima
variable `modulus' to N. This suggests an easy test for your
suspicion:
(C1) modulus:80630964769;
(D1) 80630964769
(C2) modulus:80630965313;
(D2) 80630965313
(C3) modulus:340282366762482138434845932244680310783;
(D3) 340282366762482138434845932244680310783
If you get some warning like
(C4) modulus:80630965311;
Warning: MODULUS being set to 80630965311, a non-prime.
(D4) 80630965311
your suspicion is confirmed and this would indicate a gcl specific bug
in the lisp function `cexpt' (in the "MAXIMA" package) or in something
called by it.
Btw, it's me (not Juergen) who mentioned the pseudo-prime test (so
don't complain to him :-)
Wolfgang
--
wjenkner@inode.at