Test di Lucas-Lehmer-Riesel
In matematica, il test di Lucas-Lehmer-Riesel è un test di primalità per i numeri della forma N = k2n − 1, con 2n > k. Il test è stato elaborato da Hans Riesel e si basa sul test di primalità di Lucas-Lehmer. Costituisce l'algoritmo deterministico più veloce per i numeri della suddetta forma. Similmente, il test di Brillhart–Lehmer–Selfridge è il più veloce per i numeri della forma N = k2n + 1.
L'algoritmo
L'algoritmo è molto simile al test di Lucas-Lehmer, ma con un punto iniziale variabile dipendente dal valore di k.
Definiamo una sequenza {ui} per ogni i > 0 da:
Allora N è primo se e solo se esso divide un−2.
Trovare il valore di partenza
- Se k = 1 e n è primo, allora ci troviamo di fronte ad un numero di Mersenne e possiamo prendere u0 = 4.
- Se , allora possiamo prendere .
- Se , e o , allora .
- Se o , e N non è divisibile per 3, allora possiamo prendere .
- Altrimenti, ci troviamo nel caso in cui k è un multiplo di 3, ed è più difficile selezionare il valore giusto di <math>u_0</math.