El teorema de Mills: mucho ruido y pocas nueces

La búsqueda de funciones que generen números primos ha sido una constante en (prácticamente) toda la historia de las matemáticas. Los números primos, los “ladrillos” con los que se construyen los números naturales, han sido siempre un conjunto de números esquivo en el sentido de encontrar una expresión que los genere indefinidamente.

Sabiendo esto, encontrar una función que para todo número natural da como resultado un número primo, y que además conforme aumentamos el número natural da cada vez un primo más grande (es decir, la función es creciente), parece ciencia ficción, ¿verdad? Pues esa función existe, y no es muy difícil de definir. Y además la demostración de que siempre genera números primos es corta y relativamente sencilla. Magnífico, ¿verdad? Sí y no. En las próximas líneas veremos que en realidad las cosas no son tan bonitas como parecen.

En verde, todos los números primos entre 2 y 100.

Antes de nada, creo que está bien remarcar que lo que se busca es lo que podríamos llamar una función generadora (o representadora) de primos, que es una función f(n) que para cada número entero positivo n nos devuelve un número primo.

Bueno, vamos a comentar un poco el asunto. En 1947, William H. Mills publicaba un artículo en el Bulletin of the American Mathematical Society titulado A prime-representing function, en el que demostraba el sorprendente resultado siguiente (para quienes estéis interesados, aunque aparece en el paper que acabo de enlazar, dejo la demostración del teorema al final de esta entrada):

Teorema de Mills:

Existe al menos un número real A tal que la función

f(n)=\lfloor A^{3^n} \rfloor

es una función generadora de primos.

(Recuerdo que \lfloor x \rfloor es la función parte entera de x; es decir, el mayor número entero que es menor o igual que x.)

Tremendo, ¿verdad? Una función que genera números primos para todo número entero positivo. Y además, como comentaba al principio, creciente (estrictamente creciente de hecho). Vamos, que cuanto mayor es n mayor es el número primo que obtenemos. Y esto es muy interesante, ya que evita que haya varios valores de n para los cuales obtengamos el mismo número primo, con lo que siempre obtenemos primos distintos.

Bien, ¿dónde está la trampa? Pues está muy claro: Mills demuestra que existe un valor para A…¡¡¡pero no lo calcula!!! ¿Y por qué no lo calcula? Muy sencillo: porque no puede.

El problema principal es que la demostración de Mills se apoya en un resultado anterior que depende de un cierto K cuyo valor no tiene. Al no tener dicho valor, Mills no puede calcular A.

Nuestro gozo en un pozo…bueno, no del todo. Si buscáis por ahí algo sobre este teorema encontraréis que hay un número al que llaman constante de Mills que es, aproximadamente, 1.3063778838 \ldots. ¿Qué es exactamente ese número? No me digas que…¿sí? ¡¡Sí!! ¡¡Es el valor de A!! ¡¡Magnífico!!

Hala, problema resuelto, ¿verdad? Pues por desgracia no, ni muchísimo menos. Me explico.

Está demostrado que, para cualquier valor de c \ge 2.106, existen infinitos valores de A para los cuales la función \lfloor A^{c^n} \rfloor es una función generadora de primos. Mills eligió c=3, pues nos quedamos con c=3. Y ahora viene el problema: para calcular los sucesivos decimales de A necesitamos los números primos que nos va dando la función de Mills. Es decir, para calcular los números primos necesitamos A, pero para calcular A e ir afinando su valor necesitamos esos números primos…Vamos, que nos hemos metido en un círculo del cual va a ser difícil salir sin marearse…

Pero la realidad es que hay por ahí un valor de A, el que hemos dado antes, que se conoce como constante de Mills. ¿De dónde ha salido? Pues parece que ha salido de un acuerdo (parece que más casual que intencionado) al que se ha llegado por parte de muchos de los matemáticos que han hablado en sus trabajos sobre el teorema de Mills. Dicho acuerdo es el siguiente:

Para cada c (en nuestro caso, c=3), nos quedamos con el menor valor de A que genera siempre números primos (recordad que había infinitos valores de A). Y, además, convenimos que el primer número primo que vamos a obtener es el 2.

Ya está, asunto arreglado. Se sabe que cada número primo obtenido, digamos m_i, se puede calcular a partir del anterior, m_{i-1}, como el número primo más pequeño que está entre m_i^3 y (1+m_{i-1})^3 (por el Teorema 7 del primer paper enlazado en las fuentes que encontraréis al final del artículo), con lo que ya tenemos la lista de primos:

\begin{matrix} m_1=2 \\ m_2=11 \\ m_3=1361 \\ m_4=2521008887 \\ m_5=16022236204009818131831320183 \\ m_6=4113101149215104800030529537915953170486139623539759933135949994882770404074832568499 \\ \dots \end{matrix}

Pero nos falta ver cómo calcular A, del que voy a dar unos cuantos decimales más ahora:

A=1.30637788386308069046861449260260571291678458515671 \dots

Para realizar el cálculo de A debe cumplirse el siguiente resultado:

Existe al menos un número primo entre x^3 y (x+1)^3, para x mayor o igual que un cierto x_0.

y el cálculo de dicho A obliga a calcular explícitamente un número primo mayor que la raíz cúbica de dicho x_0. Por tanto, este valor x_0 debe ser pequeño para que el cálculo de su raíz cúbica no sea traumático.

El caso es que es posible encontrar un x_0 que cumpla dicho resultado, pero es del orden de, aproximadamente,

10^{6000000000000000000}

El problema en este caso es que encontrar un número primo mayor que la raíz cúbica de ese número es absolutamente imposible con las herramientas informáticas de las que disponemos en la actualidad. Para que os hagáis una idea, se estima que la cantidad de átomos del universo está entre 10^{77} y 10^{80} (fuente). Esto es, dicho x_0 es monstruosamente grande.

Pero queda una pequeña esperanza. Podemos conseguir que dicho x_0 sea 2^{1/3}-1=0.2599 \ldots. ¿¡¿¡Ein!?!? ¿Cómo es posible bajar de esa barbaridad de número a un número menor que 1? Pues muy sencillo: simplemente asumiendo que la Hipótesis de Riemann es cierta. Casi nada al aparato…

Es verdad que todos los indicios apuntan a que la Hipótesis de Riemann (HR) es cierta, pero no está demostrado, por lo que el hecho de que se necesite asumir que dicha conjetura es verdadera es una carga demasiado pesada. Pero bueno, al menos sabemos que si HR es cierta, podemos encontrar un número primo entre cada dos cubos consecutivos y eso nos lleva a poder calcular el valor de A con una gran exactitud. Hasta donde yo sé, en la actualidad, asumiendo que HR es cierta, se han podido calcular cerca de 7000 decimales de A, del que, por cierto, vamos a dar unos cuantos más de lo que hemos dado hasta ahora, concretamente 600:

\begin{matrix} 1.30637788386308069046861449260260571291678458515671 \\  36443680537599664340537668265988215014037011973957 \\ 07296960938103086882238861447816353486887133922146 \\ 19435345787110033188140509357535583193264801721383 \\ 23615223590622186016108566790572151979760951619929 \\ 52797079925631721527841237130765849112456317518426 \\ 33105652153513186684155079079372385923352208421842 \\  04053205176890260257934430086952906362056989687262 \\ 12274997876664385157661914387728449820775905648255 \\ 60915004123788524793626088046688154064374425340131 \\ 07361144094137650364379301267672117131030265228386 \\ 61546668804874760951441079075406984172603473107746 \ldots \end{matrix}

Por cierto, dada la dificultad que entraña el cálculo de A (y la tremenda asunción que hay que hacer), no creo que resulte extraño que no se sepa ni siquiera si dicho A es racional o irracional.

En resumen, lo que reza el título del post: mucho ruido y pocas nueces. El resultado es magnífico, de eso no hay duda, pero tiene tantos problemas que en la práctica es, podríamos decir, casi totalmente inservible para calcular números primos grandes, ya que el hecho de tener que asumir que la Hipótesis de Riemann es cierta nos lleva a que los números calculados con la constante de Mills hallada sean “solamente” primos probables. Habrá que esperar a que alguna mente lúcida, o algún grupo de matemáticos brillantes, demuestren la HR para que tanto éste como otros muchos resultados pasen de ser simples entelequias o resultados incompletos a ser auténticas realidades. Ojalá lleguemos a verlo con nuestros propios ojos.


Demostración del teorema de Mills:

Sea p_n el n-ésimo número primo. Como hemos comentado en esta entrada, Mills se apoya en un resultado de Albert Edward Ingham demostrado en On the difference between consecutive primes, que publicó Ingham en The Quarterly Journal of Mathematics en 1937 (no he podido encontrar el artículo completo; si alguien lo encuentra estaré muy agradecido si me lo envía). Dicho resultado afirma que

p_{n+1}-p_n < K \; p_n^{5/8}

donde K es un número entero positivo fijo (que, como ya hemos dicho, no conocemos).

Antes del teorema, Mills demuestra el siguiente lema:

Lema:

Si N es un número entero mayor que K^8, entonces existe un primo p tal que

N^3 < p < (N+1)^3-1

Demostración:

Sea p_n el mayor número primo que es menor que N^3. Entonces:

N^3 < p_{n+1} < p_n+K \; p^{5/8} < N^3+K \; N^{15/8} < \ldots

(como N > K^8, se tiene que N^{1/8} > K)

\ldots < N^3+N^{1/8} \cdot N^{15/8} = N^3+N^2 < (N+1)^3-1

Por tanto, existe un número primo, p_{n+1} en este caso, que cumple que está entre N^3 y (N+1)^3-1. \Box

Completada la demostración del lema, sea ahora P_0 un número primo mayor que K^8. Utilizando el lema anterior, podemos construir una sucesión infinita de primos P_0, P_1, P_2, \ldots tal que

P_n^3 < P_{n+1} < (P_n+1)^3-1

Definimos ahora las siguientes sucesiones:

\begin{matrix} u_n=P_n^{3^{-n}} \\ \\ v_n=(P_n+1)^{3^{-n}} \end{matrix}

Dichas sucesiones cumplen las siguientes condiciones:

  • v_n > u_n, \; \forall n, evidente por la propia definición de ambas.
  • u_{n+1}=P_{n+1}^{3^{-n-1}} > (P_n^3)^{3^{-n-1}}=P_n^{3^{-n}} =u_n, por lo que se tiene que u_n es estrictamente creciente.
  • v_{n+1}=(P_{n+1}+1)^{3^{-n-1}} < ((P_n+1)^3)^{3^{-n-1}}=(P_n+1)^{3^{-n}}=v_n, por lo que v_n es estrictamente decreciente.

De todo esto se deduce que u_n es monótona (estrictamente creciente de hecho) y acotada, por lo que en realidad es una sucesión convergente. Llamemos A a su límite, es decir:

A=\displaystyle{\lim_{n \to \infty} u_n}

Vamos a rematar el resultado:

Teorema de mills:

\lfloor A^{3^n} \rfloor es una función generadora de primos.

Demostración:

De las tres características anteriores de u_n y v_n, se deduce claramente que:

u_n < A < v_n

Esto es:

P_n^{3^{-n}} < A < (P_n+1)^{3^{-n}}

Elevando todos los miembros de esta desigualdad a 3^n obtenemos que:

P_n < A^{3^n} < P_n+1

Es decir, A^{3^n} es un número real que está entre un número primo, P_n, y el número entero positivo siguiente, P_n+1. Por tanto, su parte entera es el menor de los dos. Esto es:

\lfloor A^{3^n} \rfloor =P_n

con lo que queda demostrado el teorema de Mills.


Fuentes y más información:

Autor: ^DiAmOnD^

Miguel Ángel Morales Medina. Licenciado en Matemáticas y autor de Gaussianos y de El Aleph. Puedes seguirme en Twitter o indicar que te gusta mi página de Facebook.

2 Comentarios

  1. La solución de los numeros primos la tiene Andri Lopez.

    Demuestra que todo número primo eatá en el intervalo serie Dirichlett entre:

    (30a+p) y (42a+p_{1})

    p = (11;17;23;29) ; p_{1} = (13;19;31;37;43)

    para todo primo gemelo tenemos: siempre que (7a + (1;2;3;4;5;6)) \neq 5n entonces.

    5 + 6[7a + (1;2;3;4;5;6)] = p_{n}

    Y.

    \frac{[5 + 6[7a + (1;2;3;4;5;6)]] + 2]}{(3;5;7)} \neq Z] = p_{n+2}

    Seria fantástico que alguien refutase esto. Es sencillo verificarlo.

    Publicado en: http://www.hrpub.org/journals/jour_info.php?id=24 Vol 1 (3) 2013

    Publica una respuesta
  2. Una fórmula para obtener el enésimo número primo p(n) de Sebastian Ruiz (de la provincia de Cádiz); pero que equivale a ir calculando todos los primos uno a uno, y contarlos, hasta llegar al requerido. No hay secretos ni milagros, pero la fórmula es muy corta y por tanto bonita :
    http://mathworld.wolfram.com/PrimeFormulas.html

    Publica una respuesta

Trackbacks/Pingbacks

  1. Bitacoras.com - Información Bitacoras.com Valora en Bitacoras.com: La búsqueda de funciones que generen números primos ha sido una constante en (prácticamente)…

Puedes utilizar código LaTeX para insertar fórmulas en los comentarios. Sólo tienes que escribir
[latex]código-latex-que-quieras-insertar[/latex]
o
$latex código-latex-que-quieras-insertar$.

Si tienes alguna duda sobre cómo escribir algún símbolo puede ayudarte la Wikipedia.

Y si los símbolos < y > te dan problemas al escribir en LaTeX te recomiendo que uses los códigos html & lt; y & gt; (sin los espacios) respectivamente.

Envía un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *