13 settembre 2018

Formule che calcolano i numeri primi

Da qualche giorno circola sui social network la notizia che un tredicenne di Reggio Calabria avrebbe addirittura "scoperto una formula che potrebbe risolvere il grattacapo che impegna i matematici da più o meno tremila anni", ovvero "una formula in grado di calcolare tutti i numeri primi in successione". Non c'è bisogno di dirlo, tale scoperta "potrebbe essere usata per rinforzare le password dei nostri account virtuali, quelle bancarie per esempio". O anche per decrittarle, si intende.

L'articolo sul giovane prodigio non è stato postato su una rivista specializzata, ma sul sito del noto programma televisivo "Le Iene", non proprio il massimo in fatto di autorevolezza quando si parla di scienza (emblematico il caso del servizio che creò allarmismi ingiustificati sull'esperimento SOX nel Gran Sasso). Per quanto riguardo la "formula", essa "non può essere divulgata" in quanto il giovanotto teme che "qualcuno possa appropriarsene e prendersi i meriti di quella che potrebbe essere una scoperta grandiosa. Ed è infatti questo il motivo che ha spinto la mamma di Rubens a contattare la redazione de le Iene". E ti pareva.

Come qualcuno possa appropriarsi di qualcosa che viene divulgato pubblicamente dal suo scopritore non è in effetti molto chiaro. Nell'attesa che il mistero venga svelato, e volendo magari parlare realmente di Matematica invece di fare solo sensazionalismo, vale la pena ricordare che "formule che calcolano i primi" ne esistono già parecchie, vedi [2] e [3]. Il (grosso) problema è che non sono molto efficienti, per cui nella pratica è più conveniente utilizzare metodi classici, come il crivello di Eratostene o qualche sua variante.

Non è in realtà difficile dimostrare che non esiste nessun polinomio $P(n)$ non costante a coefficienti interi in una variabile $n$ che assuma valori primi per ogni intero positivo $n$ (o per tutti gli $n$ meno un numero finito di essi). Infatti, se $P(1)=p$ con $p$ primo, allora $P(1)$ è congruo a zero (mod $p$). Da qui segue facilmente che  $P(1+kp)$ è congruo a zero (mod $p$) per ogni $k \in \mathbb{Z}$. Dunque $P(1+kp)$ è primo se e solo se è uguale a $p$, e un polinomio che assume infinite volte il valore $p$ è necessariamente costante.

Un esempio famoso (legato in modo non banale alle spirali di Ulam e ai numeri di Heegner) è il polinomio $n^2+n+41$, che produce numeri primi per ogni $n \leq 39$. Per $n=40$ il valore assunto è invece $1681=41 \times 41$.

Siccome l'insieme dei primi è computazionalmente numerabile, segue dal Teorema di Matiyasevich che esso può essere descritto per mezzo di un sistema di equazioni diofantee. Jones e i suoi collaboratori hanno determinato nel 1976 un sistema esplicito di tali equazioni, il che ha permesso di scrivere un polinomio in 26 variabili, a coefficienti interi, tale che l'insieme dei suoi valori interi positivi coincida con l'insieme dei numeri primi [3]. Per risultati generali della teoria è possibile trovare un polinomio di questo tipo con solo $10$ variabili, ma in tal caso il grado è enorme (dell'ordine di $10^{45}$).

Un altro esempio di formula che produce solo valori primi è $$f(n) = \lfloor A^{3^n} \rfloor,$$ dove $A=1.3063778838630806904686144926 \ldots$  è la cosiddetta costante di Mills (il valore di A è calcolato supponendo vera l'ipotesi di Riemann). Non si sa al momento se $A$ sia o meno irrazionale. I numeri prodotti dalla formula sopra sono detti "primi di Mills", e sono tabulati nella successione OEIS A051254: $$2, 11, 1361, 2521008887, 16022236204009818131831320183, \ldots$$ La formula di Mills, come altre "formule che calcolano i primi", per quanto interessante dal punto di vista teorico ha scarso valore pratico, dato che non vi è modo di calcolare esplicitamente la costante $A$ senza già conoscere a priori la successione dei primi.

Riferimenti:

[1] https://en.wikipedia.org/wiki/Formula_for_primes
[2] http://mathworld.wolfram.com/PrimeFormulas.html
[3] Jones, James P.; Sato, Daihachiro; Wada, Hideo; Wiens, Douglas: Diophantine representation of the set of prime numbers, American Mathematical Monthly 83 (6), 449–464.