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.