Entrada destacada

Distancia media de dos puntos en un cuadrado unitario

domingo, 2 de octubre de 2016

Conjetura de Goldbach


El matemático Chistian Goldbach (1690-1764) nacido en Rusia, en una carta escrita a Leonard Euler daba a conocer en 1742 la que se conoce como la conjetura de Goldbach, que dice:

Todo número par mayor que 2 puede 
escribirse como la suma de dos números primos

Aún 300 años después todavía no se ha podido ni demostrar ni refutar esta afirmación.

En Mathematica

El siguiente código genera el número par y las diferentes combinaciones de dos primos que sumados dan el número par hasta Prime[numero] (el primo en la posición numero)

numero = 200;
goldbach = {{4, 2, 2}};
DistributeDefinitions[goldbach, numero]

AbsoluteTiming[
 ParallelDo[
  If[k == Prime[n] + Prime[m], 
   AppendTo[goldbach, {k, Prime[n], Prime[m]}]], {k, 4, Prime[numero],
    2}, {n, 2, numero}, {m, n, numero}]; goldbach]


Como se puede notar por ejemplo para el número 10, se puede obtener de dos formas diferentes: {10,5,5} y {10,3,7}. Luego aquí se gráfica la cantidad posible de forma de obtener cada número para como la suma de dos primos

numero = 200;
gold = {4};

DistributeDefinitions[gold]

numero = 500;
gold = {4};
AbsoluteTiming[
 ParallelDo[
  If[k == Prime[n] + Prime[m], AppendTo[gold, k]], {k, 4, Prime[numero], 2}, {n, 2, numero}, {m, n, numero}];
 ListPlot@Tally[gold]]



Es claro, desde la gráfica, que cuando el número es mayor más posibles formas tiene de ser escrito como la suma de dos números primos.


La comprobación de la Conjetura de Goldbach para el conjunto representado anteriormente, es si encuentra un número para el que no sea posible se detendría el proceso y mostraría: no cumple. Obvio esto no sucede con los números que hemos probado.

Do[If[Tally[gold][[k, 2]] == 0, 
  Print[Tally[gold][[k, 1]], "no cumple"]], {k, 1, 
  Length[Tally[gold]]}]





No hay comentarios.:

Publicar un comentario