| Karim BELABAS on Tue, 28 Mar 2000 16:00:23 +0200 (MET DST) |
[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]
| Re: Primality Testing |
[Olivier.Ramare@agat.univ-lille1.fr writes:]
> No true primality testing in PARI/GP... It would be however nice if
> isprime were using the following two theorems of Jaeschke:
>
> \begin{theorem}
> Let $p$ be an odd integer. If $p$ is strong pseudoprime for bases
> 2,3,5,7,11,13 and 17 and $p<3.4\times 10^{14}$, then $p$ is a prime
> number.
> \end{theorem}
>
>
> \begin{theorem}
> Let $p$ be an odd integer. If $p$ is strong pseudoprime for bases
> 2,13,23 and 1662803 and $p<10^{12}$, then $p$ is a prime number.
> \end{theorem}
>
> and I should maybe recall that:
>
> \begin{definition}
> Let $p$ be an odd integer and $a$ be an integer.
> Let $h$ be such that $p=1+2^h.d$ with $d$ being odd. Then $p$ is a
> {\em strong pseudoprime} for base $a$ if we have
> either $a^d \equiv 1 \pmod{p}$,
> or there exists $k$ such that $0 \leq k < h$
> with $a^{2^k.d} \equiv -1 \pmod{p}$.
> \end{definition}
It's in there, sort of:
install(millerrabin, "lGD7,L,", IsPrime)
Now IsPrime(n) return a guaranteed answer provided n < 10^12
Well... [once 2.1 is out] it would be a good idea to include something like
that (+ Selfridge test) by default:
isprime(n) should return a guaranteed answer, and ispseudoprime should accept
an optional argument specifying the number of bases to check [ so that
old "isprime" = new "ispseudoprime(n,10)" ]
Karim.
__
Karim Belabas email: Karim.Belabas@math.u-psud.fr
Dep. de Mathematiques, Bat. 425
Universite Paris-Sud Tel: (00 33) 1 69 15 57 48
F-91405 Orsay (France) Fax: (00 33) 1 69 15 60 19
--
PARI/GP Home Page: http://www.parigp-home.de/