jueves, 3 de noviembre de 2016

Conjetura de Rassias


Esta conjetura recibe el nombre de su autor, M. Th. Rassias, que la enunció siendo muy joven, mientras preparaba una Olimpiada Matemática. Se puede formular de varias formas, pero la que preferimos es la siguiente:

Para cada número primo p>2 existen dos primos p1 y p2, con p1<p2 tales que

(p-1)p1=p2+1

Es decir, que si el primer primo lo multiplicamos por p-1, conseguimos un número al que precede otro número primo. Por ejemplo:

Para el número 17, el par de primos puede ser 2 y 31, porque (17-1)*2=32=31+1. Para el primo 47 los primos pueden ser 3 y 137, porque (47-1)*3=138=137+1

La conjetura afirma que siempre se pueden encontrar esos dos primos para uno dado.

Obtención con hoja de cálculo

En teoría se podría comprobar esta conjetura mediante una tabla de doble entrada con los primeros números primos, pero sería un procedimiento costoso en espacio y tiempo. Es preferible acudir al VBASIC o lenguaje similar. En Excel puedes intentar una función que nos devuelva el más pequeño q de los dos primos, suficiente para comprobar la conjetura, ya que el otro lo podemos calcular mediante (p - 1) * q - 1

Public Function rassias(p)
Dim a, q

If Not esprimo(p) Then rassias = 0: Exit Function  ‘Si no es primo nos devuelve un cero
q = 2 ‘Posible valor del primo más pequeño
a = 0 ‘Si a=0 significa que aún no se han encontrado los primos
While a = 0
If esprimo((p - 1) * q - 1) Then ‘Prueba para saber que se encontraron los primos
a = q
End If
q = primprox(q) ‘Se prueba con el siguiente primo
Wend
rassias = a ‘Se encontró el primo menor
End Function

Las funciones ESPRIMO y PRIMPROX las puedes copiar desde nuestra entrada

http://hojaynumeros.blogspot.com.es/2012/04/proposito-de-ormiston.html

Con esta función y el cálculo posterior podemos construir una tabla en la que para cada número primo contenga los dos primos más pequeños que verifican la conjetura. Sería similar a esta:



Programa en PARI

Para quienes conozcan el lenguaje PARI, con este programa comprobamos la conjetura para los primos inferiores a 200:

p=2;while(p<200,p=nextprime(p+1);q=2;a=0;while(a==0,b=(p-1)*q-1;if(isprime(b),a=q);q=nextprime(q+1));print(p,", ",a,", ",b))

Resultado:



Con los cambios oportunos se puede lograr la comprobación para otros conjuntos de primos.

Otros puntos de vista

En la tabla anterior destaca la frecuencia con la que aparecen los valores 2 y 3 para el primo más pequeño. Es una indicación de que la conjetura no es algo complicado, sino que se comprueba fácilmente para valores pequeños. Podemos plantear una búsqueda para saber cuándo aparecerán otros valores, si es que lo hacen. Aquí tienes los resultados para la primera aparición de otros primos:



Esta tabla sugiere que la conjetura también se cumple para todo p1. El problema radica en que no hay tope en la búsqueda de p y de  p2 , por lo que de no cumplirse para algún valor, entraríamos en un bucle sin fin. No obstante, lo intentamos con esta función:

Public Function rassias2(p)
Dim q, b, a

If Not esprimo(p) Then rassias2 = 0: Exit Function
q = 2
a = 0
While a = 0
b = (q - 1) * p - 1
If esprimo(b) Then
a = b
End If
q = primprox(q)
Wend
rassias2 = a
End Function

Con ella vemos que a todo valor de  p1 le corresponde otro de  p2. No tienen que resultar los mismos valores anteriores, porque al cambiar el punto de vista se encuentran otros mínimos, pero lo importante es que existe siempre una solución.

Aquí tienes un resultado:



Por ejemplo, para 2081 como  p1, el valor de  p2 es 20809, calculado mediante p=11, ya que 20809=2081*10-1, y 20809 es primo.

No resistimos la elaboración de una función para p2:

Public Function rassias3(p)
Dim q, b, a

If Not esprimo(p) Then rassias3 = 0: Exit Function
q = 2
a = 0
While a = 0
b = (p + 1) / q + 1
If esprimo(b) Then
a = b
End If
q = primprox(q)
Wend
rassias3 = a
End Function

Con ella se puede construir una tabla que relaciones  p2 con  p1 y p:


Todas estas tablas se podrían prolongar hasta números mucho mayores, y siempre existe una solución de dos primos respecto al dado, luego se puede dar por comprobada la conjetura dentro de la herramienta que hemos usado.

Primos relacionados con uno fijo

Por último, nos podríamos plantear si para cada valor de p podemos encontrar infinitos pares  p1 y  p2 que cumplan la conjetura. Lo dejamos como ejercicio. En la tabla observamos pares de seis cifras que cumplen la conjetura para p=11:




Como los primos de la primera columna se multiplican por 10, los de la segunda terminan todos en 9. Este ejercicio lo podemos repetir para cualquier valor, y dentro del rango que deseemos. Terminamos con los primos de siete cifras que corresponden a p=137: