O algoritmo Meissel-Lehmer (em homenagem a Ernst Meissel e Derrick Henry Lehmer ) é um algoritmo que calcula a função de contagem de primos .
Descrição
A identidade chave
Dado , pode-se definir as seguintes funções: Em primeiro lugar,
esta função mede o conjunto ( intervalo fechado ) quando alguém peneirou múltiplos dos primeiros primos ( incluindo estes próprios primos); ou seja, é a sequência de números primos em ordem crescente.
Podemos dividir isso ainda mais com as funções
estes medem o conjunto, mas consideram apenas os números que têm exatamente fatores primos (isso é bem definido pelo teorema fundamental da aritmética ). Com estes, temos
a soma à direita é finita, pois os números têm, por exemplo, fatores primos.
As identidades
provar que se pode calcular pela computação e , . E é isso que o algoritmo Meissel-Lehmer faz.
Fórmulas para o P k ( x , a )
Para , obtemos a seguinte fórmula para :
Pois , há uma expansão semelhante.
Expandindo 𝜑 ( x , a )
Usando a fórmula
pode ser expandido. Cada soma, por sua vez, pode ser expandida da mesma maneira, de modo que surge uma soma alternada muito grande.
Combinando os termos
Resta avaliar e para certos valores de e . Isso pode ser feito por peneiramento direto e usando as fórmulas acima.
Uma variante moderna
Jeffrey Lagarias , Victor Miller e Andrew Odlyzko publicaram uma realização desse algoritmo que calcula no tempo e no espaço para qualquer um . Após a configuração , a árvore de tem nós de folha.
Referências