Lucas-Lehmer Test
The Lucas-Lehmer test is an efficient deterministic primality test for determining if a Mersenne number
is prime. Since it is known that Mersenne numbers
can only be prime for prime subscripts, attention can be restricted to Mersenne numbers
of the form
, where
is an odd
prime.
Consider the recurrence equation
|
(1)
|
with
. For example, ignoring the congruence,
the first few terms of this iteration are 4, 14, 194, 37634, 1416317954, ... (OEIS
A003010).
It turns out that
is prime iff
, and the value
is called the Lucas-Lehmer residue for
.
For example, the sequence obtained for
is given by
4, 14, 67, 42, 111, 0, so
is prime.
For prime
, the first few Lucas-Lehmer residues
are 1, 0, 0, 0, 1736, 0, 0, 0, 6107895, 458738443, 0, 117093979072, ... (OEIS A095847).
This test can also be extended to arbitrary integers. Prior to the work of Pratt (1975), the Lucas-Lehmer test had been regarded purely
as a heuristic that worked a lot of the time (Knuth 1969). Pratt (1975) showed that
Lehmer's primality heuristic could be made a nondeterministic procedure by applying
it recursively to the factors of
, resulting in
a certification of primality that has come to be known as the Pratt
certificate.
A generalized version of the Lucas-Lehmer test lets
|
(2)
|
with
the distinct prime
factors, and
their respective powers.
If there exists a Lucas sequence
such that
|
(3)
|
for
, ...,
and
|
(4)
|
then
is a prime.
This reduces to the conventional Lucas-Lehmer test for Mersenne
numbers.
primality testing