Distanza tra numeri primi consecutivi.Realizzato software.
CIAO A TUTTI
dopo molto tempo ho rimesso mano al python e ho tirato fuori un programmino niente male che vorrei condividere con voi del forum.Si tratta di un eseguibile che conta le distanze tra numeri primi consecutivi.Ad esempio dopo quasi 20 minuti che il mio mac contava ho scoperto che la distanza massima entro i primi<2200000 è 148 e precisamente tra 2010733 e
2010881 niente male vero!!!! ora la sfida è capire se c'è una distanza massima
vi do il link per scaricare l'eseguibile
fatemi sapere cosa ne pensate
http://localhostr.com/file/bZEKTl7/distancepr.
Questi valoro sono riferiti ai primi 100000 primi
dopo molto tempo ho rimesso mano al python e ho tirato fuori un programmino niente male che vorrei condividere con voi del forum.Si tratta di un eseguibile che conta le distanze tra numeri primi consecutivi.Ad esempio dopo quasi 20 minuti che il mio mac contava ho scoperto che la distanza massima entro i primi<2200000 è 148 e precisamente tra 2010733 e
2010881 niente male vero!!!! ora la sfida è capire se c'è una distanza massima

vi do il link per scaricare l'eseguibile
fatemi sapere cosa ne pensate
http://localhostr.com/file/bZEKTl7/distancepr.
Questi valoro sono riferiti ai primi 100000 primi

Risposte
Sfida?
Una distanza massima non esiste. Non e' difficile trovare distanze >> 148
Per esempio, la distanza fra il numero primo
7799922041683461553249199106329813876687996789903550945093032474868511536164700353
e il primo successivo e' 1230
Una distanza massima non esiste. Non e' difficile trovare distanze >> 148
Per esempio, la distanza fra il numero primo
7799922041683461553249199106329813876687996789903550945093032474868511536164700353
e il primo successivo e' 1230
Stickelberger, però quella che proponi non è una dimostrazione 
Non esiste distanza massima (in altre parole l'insieme delle differenze di primi [tex]p_{n+1}-p_n[/tex] non è superiormente limitato) perché se esistesse, chiamandola [tex]\alpha[/tex] avremmo che [tex]\pi(n) \geq n/\alpha[/tex] per ogni intero positivo [tex]n[/tex], dove [tex]\pi(n)[/tex] è il numero di numeri primi compresi tra [tex]1[/tex] e [tex]n[/tex]. Ma sappiamo che [tex]\pi(n) \sim n/\log(n)[/tex] (cf. qui). In particolare non può essere [tex]\pi(n)/n \geq 1/\alpha > 0[/tex] per ogni [tex]n[/tex], essendo [tex]\lim_{n \to \infty} \pi(n)/n = \lim_{n \to \infty} 1/\log(n) = 0[/tex].

Non esiste distanza massima (in altre parole l'insieme delle differenze di primi [tex]p_{n+1}-p_n[/tex] non è superiormente limitato) perché se esistesse, chiamandola [tex]\alpha[/tex] avremmo che [tex]\pi(n) \geq n/\alpha[/tex] per ogni intero positivo [tex]n[/tex], dove [tex]\pi(n)[/tex] è il numero di numeri primi compresi tra [tex]1[/tex] e [tex]n[/tex]. Ma sappiamo che [tex]\pi(n) \sim n/\log(n)[/tex] (cf. qui). In particolare non può essere [tex]\pi(n)/n \geq 1/\alpha > 0[/tex] per ogni [tex]n[/tex], essendo [tex]\lim_{n \to \infty} \pi(n)/n = \lim_{n \to \infty} 1/\log(n) = 0[/tex].
Stickelberger notevole quella distanza ma notevole anche il primo considerato!! chissà che distanze sussistono tra i biggest primes.se non sono male informato il primo più grande conosciuto ad oggi è (2^43112609)-1 ho provato a calcolarlo con python ma credo che ci sarebbe rimasto per mesi...
Martino cosa intendi con "non esiste una distanza massima"? le cose son due o è infinata (difficile pensarlo) oppure è finita (probabilmente, poichè al cresce di Pn crescono anche il numero di possibili suoi divisori).Comunque sia mi sono divertito a giocare con questo programma.Come avete visto si possono calcolare i primi gemelli, i primi i primi sexy e cosi via.Avete provato a scaricare l'eseguibile.Credo che si apra con il terminale.Fatemi sapere se funge altrimento inserisco il source code.Saluti
Martino cosa intendi con "non esiste una distanza massima"? le cose son due o è infinata (difficile pensarlo) oppure è finita (probabilmente, poichè al cresce di Pn crescono anche il numero di possibili suoi divisori).Comunque sia mi sono divertito a giocare con questo programma.Come avete visto si possono calcolare i primi gemelli, i primi i primi sexy e cosi via.Avete provato a scaricare l'eseguibile.Credo che si apra con il terminale.Fatemi sapere se funge altrimento inserisco il source code.Saluti
DImostrazione alternativa a quella di Martino: per ogni $N$ l'intervallo tra $N!+2$ e $N!+N$ non contiene primi perché per ogni primo $p$ minore di $N$ $p$ divide ogni $N!+d$ tale che $p|d$.
Equivalentemente avrei potuto considerare il solo prodotto di tutti i primi minori di $N$ invece che $N!$
Equivalentemente avrei potuto considerare il solo prodotto di tutti i primi minori di $N$ invece che $N!$
P.S: un programma del genere che ci metta 20 minuti per relativamente pochi numeri come il tuo direi che è piuttosto poco ottimizzato. Dovresti vedere un po' di algoritmi di quel settore per migliorarlo (a mio avviso si può fare in meno di un minuto su un computer con un processore decente).
"vict85":
DImostrazione alternativa a quella di Martino: per ogni $N$ l'intervallo tra $N!+2$ e $N!+N$ non contiene primi perché per ogni primo $p$ minore di $N$ $p$ divide ogni $N!+d$ tale che $p|d$.
Equivalentemente avrei potuto considerare il solo prodotto di tutti i primi minori di $N$ invece che $N!$
Ma è stata dimostrata questa formula?
Quindi questa è la dimostrazione che al tendere di Pn all'infinito anche la distanza tra due numeri primi è infinita.ad esempio per 1000! non ci sono primi nei 998 naturali successivi.per 1001! nei 999 successivi e cosi via.
"fritjof":
[quote="vict85"]DImostrazione alternativa a quella di Martino: per ogni $N$ l'intervallo tra $N!+2$ e $N!+N$ non contiene primi perché per ogni primo $p$ minore di $N$ $p$ divide ogni $N!+d$ tale che $p|d$.
Equivalentemente avrei potuto considerare il solo prodotto di tutti i primi minori di $N$ invece che $N!$
Ma è stata dimostrata questa formula?
Quindi questa è la dimostrazione che al tendere di Pn all'infinito anche la distanza tra due numeri primi è infinita.ad esempio per 1000! non ci sono primi nei 998 naturali successivi.per 1001! nei 999 successivi e cosi via.[/quote]
$1000!+1$ può essere primo. D'altra parte se $d$ è minore di $1000$ (e diverso da 1) allora $1000! + d = d((1000!)/d +1)$.
D'altra parte $1000!$ è uguale al numero scritto qui... http://www.justinwhite.com/big-calc/1000.html
In ogni caso anche solo il prodotto di primi è sufficiente. Per esempio $2*3*5 = 30$ e tra $32$ e $36$ non ci sono primi. Oppure anche prendendo $2*3*5*7*9*11*13 = 270270$ è assicurato che tra $270272$ e $270286$ non ci sono primi.
quote: In ogni caso anche solo il prodotto di primi è sufficiente. Per esempio e tra e non ci sono primi. Oppure anche prendendo è assicurato che tra e non ci sono primi.
questa risposta è stata molto efficace a farmi comprendere che non esiste una distanza massima finita.Comunque sembra che salga mooolto lentamente
questa risposta è stata molto efficace a farmi comprendere che non esiste una distanza massima finita.Comunque sembra che salga mooolto lentamente
"fritjof":
questa risposta è stata molto efficace a farmi comprendere che non esiste una distanza massima finita.Comunque sembra che salga mooolto lentamente
Sul quanto lentamente bisogna usare metodi più potenti e non sono sicuro ci sia un teorema apposito. Questo che ti ho mostrato è un adattamento della dimostrazione di Euclide sull'infinità dei numeri primi ed è un risultato che trovi abbastanza in giro per libri e anche online. La ricerca del campo della distanza tra primi penso sia comunque un settore relativamente attivo e cercando velocemente ho trovato varie congetture e teoremi inerenti.
Per la parte computazionale ti suggerisco di partire da questo http://it.wikipedia.org/wiki/Crivello_di_Eratostene
spero almeno che il mio programmino abbia una qualchè utilità per qualche ricercatore matematico...
"fritjof":
spero almeno che il mio programmino abbia una qualche utilità per qualche ricercatore matematico...
Ci sono varie ragioni per cui questo non accadrà:
1) i ricercatori del campo conoscono algoritmi più potenti e persone in grado di scriverli al meglio (anzi probabilmente ce ne saranno già). Come ho detto 20 minuti per arrivare ad un numero così basso è troppo. Cosa hai fatto? Hai testato se avevano divisori?
2) è un eseguibile mac. La maggior parte delle università usa linux, windows o unix (anche se qualche professore con un mac c'é)*. Un programma di questo tipo, che ha buone probabilità di andare su supercomputer o in programmi distribuiti, dovrebbe essere abbastanza parallelizzabile ed andare su altri sistemi operativi.
3) i ricercatori dovrebbero scoprirne l'esistenza e qui sul forum hai poca visibilità.
* ci sono ragioni per non usare un mac per certi tipi di calcoli. A livelli alti di richiesta di calcolo si usa solo unix o linux (negli ultimi tempi). Un caso a parte merita l'uso delle GPU per i calcoli (non questi che sarebbero lentissimi) che sono generalmente comunque improntati su windows per i calcoli più semplici e su linux per quelli con più di due schede.
Detto questo è un buon esercizio di programmazione, continua così... Ti suggerirei comunque se ti interessi del campo questo http://www.amazon.com/Computational-Int ... pd_sim_b_4 libro di Shoup
Per Vict85: Sembra un buon libro, ma non sono un matematico di professione perciò non voglio farmi una cultura immane su questa roba ed in secondo luogo io e l'inglese non andiamo molto d'accordo perciò... Grazie per l'incoraggiamento.Hai qualche idea per migliorare il programmino? oppure dirmi quale potrebbe un altro esercizio di programmazione leggermente piu avanzato di questo? per migliorare poco alla volta.Grazie ancora
Sempre di algebra? Mmh, difficile. Potresti cercare algoritmi di primalità, vedere come puoi velocizzare memorizzando numeri e cose così. Queste cose le trovi su internet e non necessitano conoscenze superiori a quelli di algoritmi.