El algoritmo de Meissel-Lehmer (según Ernst Meissel y Derrick Henry Lehmer ) es un algoritmo que calcula la función de conteo de primos .
Descripción
La identidad clave
Dado , se pueden definir las siguientes funciones: En primer lugar,
esta función mide el conjunto ( intervalo cerrado ) cuando uno ha tamizado múltiplos de los primeros primos ( incluidos estos mismos primos); es decir, es la secuencia de números primos en orden creciente.
Podemos dividirlo aún más con las funciones
estos miden el conjunto pero consideran solo los números que tienen exactamente factores primos (esto está bien definido por el teorema fundamental de la aritmética ). Con estos, tenemos
la suma de la derecha es finita, ya que los números tienen, por ejemplo, factores primos.
Las identidades
demostrar que uno puede calcular mediante el cálculo y , . Y esto es lo que hace el algoritmo de Meissel-Lehmer.
Fórmulas para la P k ( x , a )
Para , obtenemos la siguiente fórmula para :
Porque hay una expansión similar.
Expandiendo 𝜑 ( x , a )
Usando la fórmula
puede ampliarse. Cada sumando, a su vez, puede expandirse de la misma manera, de modo que surja una suma alterna muy grande.
Combinando los términos
Lo único que queda por hacer es evaluar y para ciertos valores de y . Esto se puede hacer tamizando directamente y usando las fórmulas anteriores.
Una variante moderna
Jeffrey Lagarias , Victor Miller y Andrew Odlyzko publicaron una realización de este algoritmo que calcula en tiempo y espacio para cualquiera . Al establecerse , el árbol de tiene nodos de hojas.
Referencias