Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
Visualizzazione grafica della congettura di Goldbach

Visualizzazione grafica della congettura di Goldbach

19147_size.png
Eseguire prima 'genera combinazioni.py' e successivamente 'grafica.py'
NB. grafica.py non va' in loop, semplicemente richiede un po' di tempo di esecuzione

.:: Premessa ::.
La congettura di Goldbach afferma che ogni numero pari maggiore di 2 può essere scritto come somma di due numeri primi (che possono essere anche uguali).

.:: Intento ::.
La congettura mi sembrava (e mi sembra ancora adesso) incredibile e volevo pertanto visualizzarla graficamente in qualche modo.

Così ho scritto un semplice programma che si articola in due file: il primo,"genera combinazioni.py" prende un file testuale contenente i numeri primi da 3 fino a 5000 e scrive su un altro file tutte le combinazioni possibili e per ognuna calcola la somma.
(Esempio: '3,5,7' -> (3,5,somma 8);(3,7,somma 10);(5,7,somma 12) etc.)

N.B. 1) nonostante il 2 sia un numero primo l'ho escluso in quanto pari (e quindi non contribuisce a formare numeri pari sommato ad altri numeri primi)
     2) il file testuale può essere ampliato a piacimento, basta avere tempo e potenza di calcolo. E' inoltre necessario che i numeri siano separati da virgola.

Il secondo file, "grafica.py", per ogni combinazione disegna una retta che va dal primo numero della coppia al secondo e ha come ordinata la loro somma. Inoltre dagli estremi della retta partono due ulteriori rette che individuano i numeri della coppia.
(Esempio: per la coppia (3,5) la retta è un segmento che va da 3 a 5 in ascissa e ha per ordinata 8)

.:: Considerazioni ::.
Credo che il mio lavoro sia corretto in quanto le combinazioni semplici di n elementi di classe k dove n = 668 (i numeri primi nell'insieme [3,5000] sono 668) e k = 2 è il coefficiente binomiale di n su k.
Combinazioni semplici = 668!/(666! 2!) = 222.778
A cui va aggiunto 668 (in quanto sono possibili anche le coppie (3,3), (5,5), (7,7) etc.)
Combinazioni totali = 222.778 + 668 = 223.446 che sono le effettive combinazioni trovate (vedi data.txt).

.:: Risultato ::.
Semplicemente ciò che si nota dall'immagine è che esiste una retta in corrispondenza di ogni punto dell'asse y che rappresenta i numeri naturali.
Ciò che si nota graficamente è che non esistono "buchi" e pertanto ogni numero esaminato nell'intervallo [6;5000[ è esprimibile come somma di due numeri primi.
Questo programma non pretende nè di dimostrare nulla nè di essere sofisticato a livello di programmazione,semplicemente l'ho scritto per interesse personale e deciso di condividere queste considerazioni.


Categoria: Matematica e fisica / Python
Piattaforma:

Downloads: 970
Rating: (0 voti)
Data: 27/06/2012
Download

A proposito dell'autore


Aggiungi un commento

Inserisci il tuo commento qui
Esegui il login oppure registrati per inviare commenti
  • Uhm...
    non l'ho ancora eseguito, ma penso che a rigor di logica non avresti dovuto escludere il numero primo 2 dal conteggio, così facendo fai si che la congettura di Goldbach fallisca se applicata al numero pari 4, che (limitandosi ai soli numeri primi) può essere scritto solo come 2+2;a meno che non consideri anche 1 come numero primo, ma in questo caso, nella congettura, non sarebbe stato escluso il 2 come numero pari.


    Ciao.
  • molto bello!