sabato 3 aprile 2021

Numeri primi e funzione Z di Riemann

Introduzione

In questa nota raccoglierò alcune formule e teoremi inerenti i numeri primi e la funzione Z, al solo fine di avere un punto di raccolta online sul tema, per coloro (presumo pochi) che fossero, come me, appassionati dell'argomento.
Non esporrò tutte le dimostrazioni, ma eventualmente darò i riferimenti su dove trovarle ove si fosse interessati ad esse.
In fondo all'articolo c'è una bibliografia con tutto il materiale per approfondire.
La presente nota sarà integrata nel tempo ossia non è (e forse non lo sarà mai) "finita".
Le formule sono ottenute con codecogs e math.typeit


Nomenclatura

π(n) = quanti numeri primi ci sono tra 1 e n

Teorema dei numeri primi

Questo teorema è talmente importante che ha una sua sigla propria, ossia TNP.
Afferma che 
  [1]



ossia che tra 1 ed n ci sono circa n/log(n) numeri primi. Statisticamente la probabilità che un numero compreso tra 1 ed n sia primo è 1/log(n). 
Alternativamente, l'n-no numero primo vale circa n log(n)
Questo risultato, inizialmente intuito da Gauss fu provato poi da Hadamard e Lavallée Poussin nel 1896. Gauss congetturò la stima data da
\pi(x) \sim Li(x)


ove Li(x) è il logaritmo integrale di x, definito come

Li(x) = \int_2^x \frac{1}{log(y)}dy   [2]


Il logaritmo integrale Li(x) è calcolato da 2 per non includere la singolarità nel punto 1, e rispetto alla versione  
li(x) = \int_0^x \frac{1}{log(y)}dy

Si ha che Li(x) = li(x)-log(2). li(x) ha un solo zero, circa in x=1.4513569... costante nota come di Ramanujan-Soldner.


Si osserva che π(x) < Li(x) per numeri non troppo grandi e che il primo cambiamento di segno della loro differenza π(x) - Li(x) è intorno a 10^371. Il primo a congetturare un limite superiore per il primo cambio di segno fu Skew, che dimostro che tale numero era inferiore a 
poi detto numero di Skew.
Littlewood ha dimostrato che tale differenza cambia di segno infinite volte.


Somma degli inversi dei numeri primi minori di N

Già Eulero dimostrò che

\sum_{p<x} 1/p \sim log(log(x))  [3]

ossia che la somma dei numeri primi minori di x tende a log(log(x)), nel senso che il loro rapporto tende a uno.
Tal somma tende all'infinito, molto lentamente, tanto che John Selfridge, un teorico dei numeri, usava dire "Si sa che log(log(n)) cresce all’infinito, ma nessuno l’ha mai visto arrivarci."

In particolare Mertens ha dimostrato che

 [4]


Identità di Eulero o prodotto di Eulero

Per s∈, Re(s)>1
\sum_{n} \frac{1}{n^s} =  \prod_{p} \frac{1}{1-p^{-s}}   [5]


questa identità è molto interessante in quanto mette in relazione un prodotto in cui ci sono tutti i numeri primi con una somma  in cui figurano potenze di tutti i numeri naturali. Eulero studiò questa identità sul campo , poi Riemann la studiò su , per Re(s)>1 e poi estendendola a tutto mediante la funzione ζ.

Funzione fattoriale complesso

Eulero estese la funzione fattoriale n! = n(n-1)*.. *3*2*1 dai numeri naturali a qualsiasi numero reale maggiore di -1 osservando che per n intero
n! = \int_{0}^\infty e^{-x}x^{n}dx      [6]  

e definendo quindi Π(s) la funzione di variabile complessa:

\Pi(s) = \int_{0}^\infty e^{-s}x^{s}dx  [7]

ove si osserva facilmente che Π(n) = n! per n intero

Tale funzione è strettamente collegata alla funzione Γ di Eulero che vedremo tra poco. in alcune scritture tuttavia risulta più comodo usare la funzione Π così definita che la funzione  Γ.

Si può provare che si può estendere tale funzione a tutto il piano complesso osservando che:
\Pi(s) = \lim_{n \to \infty} \frac{n! (n+1)^s}{(s+1)(s+2)\cdot \cdot \cdot (s+n)}    [8]


Si dimostra che valgono le seguenti proprietà per la funzione fattoriale complesso:

\Pi (s) = \prod_{n=1}^{\infty} \frac{n^{1-s}(n+1)^s}{s+n} = \prod_{n=1}^{\infty} (1+\frac{s}{n})^{-1}(1+\frac{1}{n})^s    [9]


    [10]


   
\Pi(s)\Pi(-s) = \frac{\pi s}{sin (\pi s)}  [11]



\pi(s) = 2^{s} \pi(\frac{s}{2}) \pi(\frac{s-1}{2})\pi^{-1/2}   [12]



Funzione Gamma Γ di Eulero

Correlata alla funzione fattoriale complesso è la funzione 
 


molto usata in statistica (si veda la distribuzione gamma)
Facilmente si osserva che 

 [13]

ossia

[14]



quindi per la funzione gamma valgono relazioni simili a quelle riportate (8,9,10,11) cambiando s in s-1
in particolare
 
  [15]


\Gamma(z)  = \lim_{n \to \infty}\frac{n!n^z}{z (z+1)...(z+n)}  [16]

e l'analoga della [11] è 

\Gamma(s)\Gamma(-s) = \frac{\pi}{sin (\pi s)} [11a]

(si noti che nel numeratore manca la s) da cui si ricava facilmente  Γ(1/2) = √π

Una particolarità delle funzioni Π e Γ è che, per via della [11] e [11a], conoscendone il valore in a+ib, con a e b reali e 0<a<1 è possibile ricavarne il valore di un generico x+ib con x>0 applicando ricorsivamente la formula ossia calcolando, ad esempio,
Γ( x + ib) = (x+ib) Γ( (x-1) + i b)  = (x+ib)(x-1+ib) Γ( (x-2) + i b) = ..
sino ad arrivare alla parte intera n di x per cu si avrà
Γ( x + ib) =  (x+ib)(x-1+ib)...(x-n+ib)  Γ( (x-n) + i b)
dove x-n è compreso tra 0 e 1.
In sostanza si ha

\Gamma(s)= \frac{\Gamma(s+n)}{s (s+1) .. (s+n-1)} [17]

da cui possiamo anche osservare che Γ ha dei poli semplici in 0, -1, -2,... e non ha zeri.
Per Re(s) >0 si ha che Γ(s)>0 mentre per Re(s)<0 è positiva o negativa a seconda della parte intera di s, ossia negativa tra -1<Re(s)<0, positiva tra -2<Re(s)<1 etc.



Funzione ζ di Riemann  

Questa è la sezione che descrive la funzione di maggiore interesse dell'articolo, quindi sarà trattata con maggiore cura.
Riemann estende la funzione definita per Re(s)>1
  [18]

con una  funzione meromorfa  ζ valida su tutto  e che sodisfa la seguente equazione funzionale:
\zeta(s)= \Pi(-s) (2\pi)^{(s-1)}2sin(\frac{s\pi}{2})\zeta(1-s) [19]

che si dimostra essere equivalente a 

\Gamma(\frac{s}{2})\pi^{-s/2}\zeta(s) = \Gamma(\frac{1-s}{2})\pi^{-(1-s)/2}\zeta(1-s) [19b]


come mostreremo ora, a grandi linee.
E' chiaro quindi che la funzione ζ è strettamente collegata alla funzione Γ.



Alla sinistra del semipiano Re(s)>1 sostituendo nt a t nel prodotto di Eulero e calcolando per x-1 [7]
ossia (riprendendo la formula già vista) in

\Pi(s) = \int_{0}^\infty e^{-t}t^{s}dt [7]

consideriamo nx = t e quindi ndx = dt  quindi otteniamo

     [20]


e calcolando per s-1 otteniamo dopo pochi passaggi


\int_{0}^\infty e^{-nx} x^{s-1} dx = \frac{\Pi(s-1)}{n^s}  [21]



a questo punto Riemann somma i due membri per n che varia da 1 a ∞:

\sum_{n=1}^{\infty}\int_0^\infty e^{-nx}x^{s-1} = \sum_{n=1}^{\infty}\frac{\Pi(s-1)}{n^s}



e osservato che 
\sum_{n=1}^\infty r^{-n}   =  \frac{1}{1-r^{-1}}-1 = \frac{r}{r-1}-1 = \frac{1}{r-1}

ove in questo caso r = e^(-x) che non dipende da s quindi si può eseguire a parte, ottiene 
 
\int_{0}^\infty \frac{x^{s-1}}{e^x-1}dx  = \Pi(s-1)\sum_{n=1}^\infty \frac{1}{n^s} = \Pi(s-1) \zeta(s)  [22]


E' possibile dimostrare un lemma, che qui non dimostriamo, che stabilisce che

\int_{-\infty}^\infty \frac{(-x)^s}{e^x-1}\frac{dx}{x} =  (e^{i \pi s}-e^{-i \pi s})\int_{0}^{\infty}\frac{x^{s-1}dx}{e^x-1}    [23]

Dove con integrale da +infinito a +infinito si intende un integrale curvilineo che parte da +infinito e si muove in senso anti orario sotto l'asse delle ascisse, gira intorno all'origine e torna a + infinito sopra l'asse delle ascisse.


e che  ricordando la definizione di seno complesso

si ha in questo caso z= πs

\int_{-\infty}^\infty \frac{(-x)^s}{e^x-1}\frac{dx}{x} =  2 i sin(\pi s)\int_{0}^{\infty}\frac{x^{s-1}dx}{e^x-1}  [24]

quindi per la [22] si ha:

  [25]



applicando la [10]   sulla parte destra 
e moltiplicando ambo i membri per Π(-s)  / 2πi



\frac{\Pi(-s)}{2 \pi i} \int_{+\infty}^{+\infty} \frac{(-x)^s}{e^x-1}\frac{dx}{x} =   \frac {sin(\pi s)\Pi(-s) \Pi(s)} {\pi s} \zeta(s)  [26]


e tenuto conto della proprietà [11]                             

            
si ottiene finalmente
\zeta(s) = \frac{\Pi(-s)}{2 \pi i} \int_{+\infty}^{+\infty} \frac{(-x)^s}{e^x-1}\frac{dx}{x}     [27]


quando Re(s)>1 questa converge a 

\frac{1}{\Gamma(s)}\int_0^\infty \frac{x^{s-1}}{e^x-1}dx [27b]



Valori di ζ(s), zeri banali

Considerando la funzione x/(e^x-1)  possiamo notare che è la funzione generatrice per i numeri di Bernoulli Bn con B0=1, B1= -1/2
Ossia 
\frac{x}{e^x-1} = \sum_{n=0}^\infty \frac {B_{n}x^n}{n!}  [28]

Da cui ricorsivamente si calcolano, e si può dimostrare che tutti i Bn con n dispari maggiore di uno sono pari a zero.
La  [28] può essere usata per calcolare i valori di  ζ(-n) con n=0, 1,2.. ottenendo infatti che (vedasi rif.[1], pag.12):

\zeta(-n)= (-1)^n \frac{B_{n+1}}{n+1} [29]

da cui discendono tutti gli zeri cosiddetti "banali" della funzione z, ossia essendo Bn pari a zero per tutti gli n dispari maggiori di uno si ha che ζ(-2n) = 0 per ogni n<0
Inoltre si ha che 
\zeta(2n)= \frac {(2 \pi)^{2n} (-1)^{n+1}B_{2n}}  {2 \cdot (2n)!}  [30]


Ipotesi di Riemann

Tutti gli zeri non banali di  ζ(s) hanno parte reale pari a 1/2


Per provare questa ipotesi si è cercato di esprimere ζ(s) in vari modi per evidenziarne alcune proprietà

Equazione funzionale

Prende il nome di equazione funzionale di ζ la seguente uguaglianza, che lega  ζ(s) e  ζ(1-s)

  [31]


con una serie di passaggi è possibile dimostrare che quest'ultima è equivalente alla seguente:

\Pi(\frac{s}{2}-1)\pi^{-s/2}\zeta(s) = \Pi(\frac{1-s}{2}-1)\pi^{-(1-s)/2}\zeta(1-s) [32]

Questa è la "forma simmetrica dell'equazione funzionale"
da cui si evince chiaramente che la funzione a sinistra dell'uguaglianza non cambia sostituendo s con 1-s.
La stessa si può anche esprimere in funzione di Γ(s) ricordando che Γ(s) = ∏(s-1):

\Gamma(\frac{s}{2})\pi^{-s/2}\zeta(s) = \Gamma(\frac{1-s}{2})\pi^{-(1-s)/2}\zeta(1-s)  [33]

Che è quella che abbiamo anticipato nella [17a]. 
Da questa uguaglianza si evince chiaramente che gli zeri di ζ sono simmetrici rispetto all'asse x= 1/2. 


Definendo la funzione teta
\psi(x)= \sum_{n=1}^{\infty} exp(-n^2\pi x) [34]

si può dimostrare che tale funzione converge molto rapidamente e che per s qualsiasi

\Pi(\frac{s}{2}-1) \pi^{-s/2}\zeta(s) =  \int_{1}^{\infty}\psi(x)[x^{s/2}+x^{(1-s)/2)}] \frac{dx}{x} - \frac{1}{s(1-s)} [35]


Che è un altro modo di evidenziare come la funzione è invariante alla sostituzione di s con 1-s.
Dalla [35] si può anche dedurre che la funzione nella parte sinistra dell'uguaglianza ha poli in 0 e in 1.


Funzione ξ(s)

Riemann moltiplica la funzione alla sinistra della [32]  per s(s-1)/2, ottenendo:

\Pi(\frac{s}{2}-1)\pi^{-s/2}\zeta(s) \frac{s(s-1)}{2}


 e, ricordando che Π(s) = s Π(s-1), ossia che  (s/2) Π(s/2-1) = Π(s/2) definisce:

\xi(s) = \Pi(\frac{s}{2}) (s-1) \pi^{-s/2}\zeta(s)  [36]

L'equazione funzionale di ζ(s) equivale a ξ(s) = ξ(1-s)

Si noti che esistono versioni equivalenti delle equazioni funzionali, che usano la funzione Γ invece di Π. Basterà ricordare che Γ(s+1) = Π(s) ed ottenere quindi, dalla [31], sostituendo Π(-s) con Γ(1-s) :

\zeta(s) = \Gamma(1-s)(2 \pi)^{s-1} 2 \sin( \frac{s \pi}{2}) \zeta(1-s)  [37]


e dalla  [36]  essendo Π(s/2) = Γ(s/2+1) = (s/2) Γ(s/2), si ha

 [38]


La funzione ξ(s) ha gli stessi zeri della funzione ζ(s), ad eccezione di quelli banali ed è per questo che in questa sede ci interessiamo alla sua valutazione

Si dimostra che anche per ξ vale la formula ξ(s)  = ξ(1-s)

 

Funzione ξ(s) come serie di potenze

Si dimostra che è possibile esprimere ξ(s) come serie di potenze:
\xi(s) = \sum_{n=0}^\infty a_{2n}(s-\frac{1}{2})^{2n} [39]

ove 
a_{2n} = 4 \int_1^\infty \frac{d[x^{3/2}\psi'(x)]}{dx}x^{-1(4)}\frac{(\frac{1}{2}logx)^{2n}}{(2n)!}dx  [40]


e dove  Ψ(x) è quella introdotta al punto [29] 


Prodotto di Hadamard

Si dimostra che  è possibile esprimere  ξ(s)  come prodotto infinito:
\xi(s) = \frac{1}{2} \prod_\rho (1 - \frac{s}{\rho})  [41]



ove ρ spazia tra le radici di  ξ, a patto di prenderle a coppie, ossia raggruppando le radici di tipo  ρ e 1- ρ




Relazioni tra ζ(s) e numeri primi

Usando il prodotto di Eulero [5] e usando la definizione di  [17], per Re(s)>1 si ha


\gamma(s) =  \prod_{p} \frac{1}{1-p^{-s}} [42]

dove p varia tra i numeri primi.
da cui, effettuando il logaritmo di ambo i membri e sviluppando in serie  si ottiene, per Re(s)>1


log  \zeta(s)  =  \sum_{p}\sum_{n}(1/n)p^{-ns} [43]

A questo punto dobbiamo introdurre una nuova fondamentale funzione, J(x) che inizia da 0 per x=0 e aumenta di uno dopo ogni numero p primo, di 1/2 dopo ogni quadrato di numero primo e di 1/n per ogni potenza n-ma di un numero primo. Nel punto esatto di ogni salto la funzione J(x) è definita come la media tra i due valori prima e dopo il salto.
In sostanza J(x) = 0 per 0<=x<2, J(2)=1/2, J(x)= 2 per 2<x<3, J(3)=1.5, J(x)= 2 per 3<x<5 etc.
Fatta questa premessa, possiamo riscrivere la [38] come:

log  \zeta(s)  =  \int_0^\infty x^{-s}dJ(x) [44]

Dove l'integrale in questione è un integrale di Stieltjes, a proposito si ricorda che l'integrale di Riemann-Stieltjes  di f rispetto a g è definito come

\int_a^b f(x)dg(x) = \lim_{\delta(P)\to 0 } \sum_{c_i\epsilon P} f(c_i)(g(x_{i+1})-g(x_i)) [45]


Ove P={x0=a<x1<x2< ..< xn=b} è una partizione di [a,b] e c1..cn ognuno preso da [xi..xi+1], e δ(P) è il "calibro" della partizione ed è pari al max | xi-xi+1 |, se esiste indipendentemente dalla scelta dei punti  ci
Si dimostra che ove f sia integrabile secondo Riemann si ha che

\int_a^b f(x)dg(x) =  \int_a^b f(x)g'(x)dx [46]

Alternativamente, senza ricorrere all'integrale di Stieltjes, la [39] si può scrivere, per Re(s)>1, come:

log  \zeta(s)  =  s \int_0^\infty J(x) x^{-(s+1)}  [47]

in sostanza il logaritmo della funzione  ζ è pari all'integrale di x-s rispetto alla funzione J, che è una funzione che "conta" i numeri primi e le loro potenze, dando come conteggio l'esponente con cui trova il numero primo. 

Inversione di Fourier

Dalla [47] dividendo ambo i termini per s si ottiene, per Re(s)>1

\frac {log  \zeta(s)}{s}  =   \int_0^\infty J(x) x^{-(s+1)} [48]

ed effettuando alcuni passaggi, che includono l'applicazione del teorema di inversione di Fourier, si ottiene, per a>1

J(x)  =   \frac{1}{2\pi i} \int_{a-i\infty}^{a+i\infty} log(\zeta(s))x^s\frac{ds}{s} [49]


Tenendo presente la definizione di ξ(s) [39]

\xi(s) = \Pi(\frac{s}{2}) (s-1) \pi^{-s/2}\zeta(s) [39]  

possiamo ottenere un'espressione alternativa per log ζ(s):

log \ \zeta(s) =  log \ \xi(s) - log \ \Pi(\frac{s}{2})+ \frac{s}{2} log\pi - log (s-1) [50]

e poi  usando la \xi(s) = \frac{1}{2} \prod_\rho (1 - \frac{s}{\rho}) [41]

abbiamo che

log \ \zeta(s) =  \frac {1}{2} + \sum_p{log(1-\frac{s}{p})}- log \ \Pi(\frac{s}{2})+ \frac{s}{2} log\pi - log (s-1) [51]

e si dimostra che in questa espressione, il termine predominante è l'ultimo, ossia -log(s-1), quando s tende all'infinito.


Se consideriamo nuovamente la [48] e deriviamo ambo i membri, otteniamo

 [52]


Funzione Ψ(x), o funzione di Chebyshev

La misura (log x) dJ(x) è una misura punto a punto che assegna log(p^n)/n alle potenze dei numeri primi p^n e 0 a tutti gli altri punti, quindi [48] può essere espresso come un integrale di Stieltjes sulla funzione Ψ(x) che inizia assegnando 0 a x=0 e poi ha un salto di log(p^n)/n= log p ad ogni potenza p^n di un numero primo. Ossia:

 
\psi(x)  = \sum_{p<x} log(p) [53]

A questo punto possiamo riscrivere la [52] come:


\frac{\zeta'(s)}{\zeta(s)} = \int_0^\infty x^{-s} d\psi(x) [54]


Funzione di von Mangoldt

Consideriamo la funzione, detta di von Mangoldt,
 [55]

questa funzione assegna ad n il peso attribuito dalla funzione Ψ. 
Si può osservare che 
    [56]


e tramite la funzione di Mangoldt si può esprimere la [50] in termini di sommatoria:

-\frac{\zeta'(s)}{\zeta(s)}= \sum_{n=2}^\infty \Lambda(n) n^{-s} [57]

Si può dimostrare che

\Psi(x) = x - \sum_p \frac{x^p}{p}+ \sum_n \frac{x^{-2n}}{2n} - \frac{\zeta'(0)}{\zeta(0)} [58]


e considerato che 

log(\frac{1}{1-x}) = x + \frac{x^2}{2}  + \frac{x^3}{3} + \frac{x^4}{4}...



e sostituendo l'ultimo termine col suo valore si ottiene:

\Psi(x) = x - \sum_p \frac{x^p}{p}+ \frac{1}{2} log \frac{x^2}{x^2-1} - log 2 \pi [59]


Formula principale di Riemann

 Nel suo lavoro, Riemann dimostrò (e successivamente, in maniera più rigorosa, von Mangoldt) che, per x>1:
J(x)= Li(x) - \sum_\rho Li(x^\rho) - log\ 2 + \int_{x}^\infty \frac{dt}{t(t^2-1)log(t)}  [60]

In questa formula ρ varia tra le soluzioni non banali di  ζ.
Osservando i due membri, a sinistra abbiamo J(x) che come abbiamo visto è la funzione che inizia da 0 per x=0 e aumenta di uno dopo ogni numero p primo, di 1/2 dopo ogni quadrato di numero primo e di 1/n per ogni potenza n-ma di un numero primo. Analiticamente si ha che

J(x) = \sum_n \frac{\pi(x^{1/n})}{n} [61]


Li(x) è il logaritmo integrale di x, ed il risultato della funzione è sempre reale anche se i vari ρ sono numeri complessi, poiché le parti immaginarie degli zeri sono simmetriche rispetto all'origine.



Valori noti di ζ(s)

Tra i valori noti di ζ(s) si segnalano
ζ(0) = -1/2
ζ(-1) =  -1/12



Bibliografia, in ordine di rilevanza

[1] Riemann's Z function di H.M. Edwards
[3] RiemannPaper di Bernhard Riemann, tradotto da David R. Wilkins
[4] L'ossessione dei numeri primi di John Derbyshire
[5] L'enigma dei numeri primi di Marcus du Satoy
[6] Breve storia dei numeri primi di Alessandro Zaccagnini
[7Mer] Il teorema dei numeri primi di Flavio Cimolin
[9] Il teorema dei numeri primi  di Mauro Davide Ferrario

   

Nessun commento:

Posta un commento

Refactoring: improving modularization

  Modularità In generale, per modularità si intende la misura in cui un sistema può essere decomposto e ricombinato. La modularizzazione è a...