lunes, 9 de febrero de 2015

Conjetura de Polignac


Se llama Conjetura de Polignac a la enunciada por Alphonse de Polignac in 1849 y que se puede expresar así:

Hay un número infinito de números primos (p, q) tales que p - q = k, siendo k un número par.

Últimamente se ha hablado más de ella por algunos avances que se han producido y que pudieran llevar a su demostración

(Ver http://gaussianos.com/de-70000000-700-en-seis-meses/ y http://en.wikipedia.org/wiki/Polignac%27s_conjecture)

Dentro de esta conjetura, y para k=2 se incluye la de los primos gemelos:

Existen infinitos pares de primos gemelos (p, p+2)

(http://es.wikipedia.org/wiki/Conjetura_de_los_n%C3%BAmeros_primos_gemelos)
Pero también podríamos expresar lo mismo para pares del tipo (p, p+4), “cousin primes” y los del tipo (p, p+6), “sexy primes”.

Nosotros trabajaremos con el enunciado general, sobre los pares (p, p+k), con k número par. Para ello, usaremos el valor de k como entrada a algoritmos de búsqueda.

Esquema sin macros

Para buscar estos pares (p, p+k) ambos primos podemos crear en la hoja Conjeturas (http://www.hojamat.es/sindecimales/divisibilidad/herramientas/herrdiv.htm#global) una lista de números primos p en forma de columna. Para ello la iniciamos con el número que deseemos, generalmente grande, y después, en cada fila usamos la función PRIMPROX(N), siendo N el número contenido en la celda de arriba, con lo que para aumentar la lista bastará extender la fórmula hacia abajo. Después creamos una columna paralela formada por p+k. Por último, en una tercera columna usamos la función ESPRIMO. De esta forma, la aparición del primer par con ambos primos se detectará por el valor VERDADERO de esa función.

En la imagen hemos detectado el primer par de números gemelos después del número 1000000, el (1000037,1000039), Se comprende que si la conjetura es verdadera, prolongando las columnas lo que sea necesario, encontraremos un par de primos con la diferencia que hayamos fijado.



Por ejemplo, aquí tienes los primeros primos diferenciados en 1000 que siguen a 10000000:



La columna puede hacerse muy alta, y nos convendría también poder encontrar los pares buscados con una sola función.

Función Polignac

Para abreviar el proceso usaremos la función POLIGNAC(P;K), que hemos añadido a nuestra hoja cálculo conjeturas, enlazada más arriba.

Esta función actúa sobre un inicio n y una diferencia par k, y encuentra el primer número primo p posterior al inicio que forma par de primos con p+k. Basta leer los comentarios para entender su funcionamiento.

Function polignac(n, k)
Dim novale As Boolean
Dim p, q

p = n ‘Iniciamos la búsqueda en n
novale = True ‘Variable para terminar la búsqueda
If k / 2 <> k \ 2 Then polignac = 0: Exit Function ‘Si k es impar, damos valor 0 a la función
While novale
p = primprox(p) ‘Buscamos el siguiente primo
If  esprimo(p + k) Then q = p: novale = False ‘Si encontramos (p,p+k) paramos
Wend
polignac = q ‘Damos a la función el valor del primer primo del par
End Function

Por ejemplo, deseamos comprobar la conjetura encontrando el primer par de números primos diferenciados en 2000 que sigue al inicio 10^6. En la imagen, capturada de la hoja conjeturas.xslm tienes la respuesta: 1000121 es el primer primo tal que al sumarle 2000 se obtiene otro primo 1002121. El resto del esquema lo hemos organizado para que se obtengan varios pares en lugar de uno solo. A la derecha hemos incluido la prueba de que ambos son primos. Te invitamos a que construyas un esquema similar en la hoja conjeturas.


Como en todas las cuestiones, la hoja de cálculo puede fallar para números muy grandes, por lo que debemos acudir a programas más potentes. Elegimos PARI por ser gratuito. Podemos usar la siguiente función, a la que hemos añadido un “print” para que veas el resultado:

polignac(n,k)={local(p);p=nextprime(n);while(!isprime(p+k),p=nextprime(p+1)); return(p)}
{print(polignac(10^6,2000))}

Si lo ejecutas obtendrás el mismo número primo que con la hoja, 1000121:



También aquí puede fallar la función para números muy grandes, pero el margen es mayor que en Excel.

La idea es que si la conjetura es cierta (y la herramienta de cálculo lo admite), podemos elegir un número de inicio arbitrariamente grande y siempre tendremos un resultado.

Lista de números primos gemelos, “cousin”, “sexy” y otros

Con esta función puedes crearte fácilmente una lista de primos gemelos. Basta usarla de forma recurrente en columna a partir del 1, y con una diferencia dada. En el esquema que adjuntamos más arriba usamos esta técnica:



El primer par de primos gemelos (3,5) se ha construido a partir del 1. Los siguientes, a partir del anterior, con la función polignac(p,k). Las columna de la derecha la programamos para que sume el valor de k a la de la izquierda.

Si la conjetura de Polignac es cierta, esta tabla tendría una altura infinita. No terminarían de aparecer pares.

Podemos construir de esta forma los pares de primos “cousin”, que se diferencian en 4.



De igual forma, los “sexy”:



Nada nos impide crear una lista personalizada. Por ejemplo, si has nacido en el año 1962, como es par, puedes crear pares de primos con esa diferencia:



Llama la atención que el primer elemento del par no tiene que ser muy grande aunque k lo sea. Observa la lista de pares con una diferencia de 1000000:



Otras posibilidades

No podemos construir tríos de primos de este tipo, porque siempre uno de ellos sería múltiplo de 3, pero sí tríos de la forma (p, p+2, p+6), o, en general (p, p+k, p+3k). Para explorar un poco por este camino, bastaría sustituir la línea de Basic

If  esprimo(p + k) Then q = p: novale = False 

Por esta otra

If esprimo(p + k) And esprimo(p + 3 * k) Then q = p: novale = False

Si la conjetrura de Polignac es cierta, estas búsquedas terminarán por dar un resultado. Observa el caso de n=1000000 y k=1000


Casi todos estos casos están publicados y no pasan de ser curiosidades derivadas de la conjetura que estudiamos. Si eliges un ejemplo inadecuado, como (p, p+2, p+4), puede ocurrirte que se bloquee la hoja de cálculo y tengas que recurrir al Administrador de tareas para cerrarla.

Por el contrario, si consigues tríos no publicados, podrías intentar incluirlos en OEIS.