ForHosting KIT · Matemática

Verificador de pseudoprimos de Lucas

Encontre os compostos ímpares que enganam o teste de Lucas: com P igual a 1 e Q igual a −1, o composto 323 passa no teste e é o menor pseudoprimo de Fibonacci. O resultado mostra D, o símbolo de Jacobi e o índice usado. Grátis no seu navegador.

  • Grátis
  • Funciona no seu navegador
  • Sem cadastro
  • Seus dados não saem do seu aparelho
Use pelo WebAPIE-mailTelegramApp em breve
Se você digitar
N
323
P
1
Q
-1
Você obtém
D
5
Símbolo de Jacobi
-1
Índice de U
324
U módulo n
0

Um pseudoprimo de Lucas é um inteiro composto ímpar que ainda satisfaz a mesma congruência da sequência U de Lucas que todo primo deve obedecer para parâmetros P e Q dados. Criptógrafos, estudantes de teoria dos números e implementadores de testes de primalidade usam esta verificação para separar primos genuínos de compostos que enganam uma única camada de Lucas — exatamente o modo de falha que a família Baillie–PSW foi desenhada para capturar quando combinada com um teste de Fermat forte. Este verificador aceita n junto com P e Q, monta o discriminante D igual a P ao quadrado menos quatro Q, rejeita a requisição quando D é um quadrado perfeito, calcula o símbolo de Jacobi de D sobre n, avalia U no índice n menos esse símbolo módulo n com uma escada de duplicação binária, e informa se a congruência vale e se n é composto.

O que é um pseudoprimo de Lucas e como o teste U funciona

As sequências de Lucas U_k(P, Q) e V_k(P, Q) são as recorrências inteiras definidas por U_0 igual a zero, U_1 igual a um, V_0 igual a dois, V_1 igual a P, e o passo linear comum X_k igual a P vezes X_{k-1} menos Q vezes X_{k-2}. Seu discriminante característico é D igual a P ao quadrado menos quatro Q. Para um inteiro ímpar n maior que um coprimo com Q vezes D, seja epsilon o símbolo de Jacobi de D sobre n, que vale mais um ou menos um.

Todo primo ímpar p que satisfaz a coprimidade obedece U_{p menos epsilon} congruente a zero módulo p. Um composto ímpar positivo n que ainda satisfaz a mesma congruência chama-se pseudoprimo de Lucas com parâmetros P e Q. O caso clássico de Fibonacci usa P igual a um e Q igual a menos um, de modo que U_k é a sequência de Fibonacci e D vale cinco; o menor pseudoprimo de Fibonacci é trezentos e vinte e três.

Variantes mais fortes (Lucas extraforte, Frobenius) acrescentam condições sobre V, mas esta capacidade implementa a definição padrão só com U usada em livros e notas de pesquisa sobre pseudoprimos de Lucas de tipos especiais. Saber se um candidato é apenas um primo provável ou um verdadeiro pseudoprimo ajuda você a decidir se uma única camada de Lucas basta para o seu orçamento de risco ou se deve empilhá-la com um teste forte de base dois como em Baillie–PSW.

O que é um pseudoprimo de Lucas com parâmetros P e Q?

Um n composto ímpar coprimo com Q·D (D=P²−4Q) tal que U_{n−(D/n)}(P,Q) ≡ 0 (mod n), onde (D/n) é o símbolo de Jacobi. Primos que passam o mesmo teste não se chamam pseudoprimos.

Por que o verificador rejeita um discriminante quadrado perfeito?

Quando D = P² − 4Q é um quadrado perfeito não negativo, as sequências de Lucas degeneram e a congruência de primalidade deixa de ser significativa.

323 é um pseudoprimo de Lucas?

Sim. Com P igual a 1 e Q igual a −1, o caso de Fibonacci, D vale 5, o símbolo de Jacobi é −1 e U no índice 324 é divisível por 323. Como 323 é composto, é um pseudoprimo de Lucas, o menor de Fibonacci.

O que acontece se eu testar um primo de verdade, como 13?

Ele passa no teste de Lucas, mas não é marcado como pseudoprimo, porque um pseudoprimo precisa ser composto. O resultado informa separadamente se a congruência vale e se o número é composto.

Só o teste de Lucas basta para provar que um número é primo?

Não. Alguns compostos passam por uma única camada de Lucas; por isso o método Baillie–PSW o combina com um teste forte de Fermat na base 2. Esta verificação mostra se o seu candidato é um desses compostos.

Tudo nesta página está disponível via API. Esta seção é para equipes que querem integrar a ferramenta aos próprios sistemas; quem não precisa disso pode simplesmente usar a ferramenta acima.

POSThttps://api.kit.forhosting.com/numth/lucas-pseudoprime-check

Autenticação por token Bearer. Um único POST coloca a tarefa na fila; o resultado chega por webhook ou link assinado.

curl -X POST https://api.kit.forhosting.com/numth/lucas-pseudoprime-check \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"n":"323","P":"1","Q":"-1"}'
{
  "n": "323",
  "P": "1",
  "Q": "-1"
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "numth.lucas_pseudoprime_check",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

A API é assíncrona: cada chamada devolve um task_id na hora. Se preferir polling, consulte o status a até 1 requisição por segundo.

por chamadaUS$ 0,002

Preço publicado, sem tokens nem créditos escondidos. Tarefa que falha não é cobrada.

HTTPCódigoO que significa
401unauthorizedToken ausente ou inválido. Confira o header Authorization.
402insufficient_balanceSaldo insuficiente para esta tarefa. Faça uma recarga e tente de novo.
404unknown_typeEsse tipo de tarefa não existe. Confira o campo type no catálogo.
429rate_limitedMuitas requisições em pouco tempo. Espere um instante e tente de novo.

O que é um pseudoprimo de Lucas e como o teste U funciona

Quando D é um quadrado perfeito não nulo, a forma fechada no estilo Binet colapsa em uma progressão geométrica pura e as sequências perdem as propriedades aritméticas que as tornam úteis para testes de primalidade, por isso este endpoint recusa esses parâmetros com invalid_input em vez de devolver um zero sem sentido.

Contrato de entrada, campos de resposta e erros

Um primo genuíno como treze com os mesmos parâmetros passa o teste de Lucas mas não é rotulado como pseudoprimo. Envie um corpo JSON com três campos inteiros obrigatórios: n, o candidato ímpar pelo menos três; P, o primeiro parâmetro de Lucas; e Q, o segundo. Cada campo pode chegar como número JSON ou como string de inteiro decimal. Não inteiros, campos ausentes, n par e n abaixo de três falham com invalid_input indicando o problema. Em sucesso o corpo ecoa n, P, Q e D como strings decimais; jacobi é o símbolo de Jacobi de D sobre n como número no conjunto menos um, zero ou um; u_index é n menos jacobi quando o símbolo é não nulo; u_mod_n é U nesse índice reduzido módulo n; gcd_ok é verdadeiro quando n é coprimo com Q vezes D; passes_lucas_test é verdadeiro exatamente quando a congruência U vale nas condições clássicas; is_prime é um veredito determinístico Miller–Rabin no intervalo suportado; e is_lucas_pseudoprime é verdadeiro só quando n é composto, gcd_ok vale, o símbolo de Jacobi é não nulo e a congruência ainda se mantém. O campo method é sempre a string lucas_u_sequence para que clientes fixem o algoritmo nos logs. Exemplo: n igual a trezentos e vinte e três, P igual a um, Q igual a menos um produz D igual a cinco, jacobi igual a menos um, u_index igual a trezentos e vinte e quatro, u_mod_n igual a zero, is_prime falso e is_lucas_pseudoprime verdadeiro. Validação falha não é cobrada; chamadas bem-sucedidas custam o preço base publicado US$ 0,002 na rota da API.

Onde uma API de pseudoprimos de Lucas se paga

Plataformas de sala de aula e de competições precisam de um oráculo determinístico que marque corretamente pseudoprimos de Fibonacci e de Lucas gerais sem que alunos reescrevam à mão código de recorrência modular que estoura inteiros de sessenta e quatro bits. Autores de bibliotecas que entregam camadas Baillie–PSW ou só Lucas usam um verificador de referência para regredir sua escada U_k contra compostos famosos como trezentos e vinte e três antes de afirmar zero contraexemplos conhecidos. Sites de conteúdo que ranqueiam por verificador de pseudoprimo de Lucas ganham uma ferramenta ao vivo cujo caminho gratuito no navegador coincide com a automação paga no mesmo módulo puro. Material de criptografia pode demonstrar que um único teste algébrico não é certificado de primalidade mostrando um composto que ainda devolve passes_lucas_test verdadeiro enquanto is_prime é falso. Cadernos de pesquisa que varrem famílias de parâmetros em busca de novos pseudoprimos de Lucas de tipos especiais se beneficiam de uma API de parse compacta que devolve o estado intermediário completo —D, Jacobi, índice e resíduo— para filtrar e plotar sem reimplementar a reciprocidade quadrática. Como a implementação é pure parse de nível A, cada chamada bem-sucedida custa US$ 0,002 sem tokens de modelo e sem rede de saída.

Exercícios de sala sobre PSP de Fibonacci e Lucas

Permita que alunos enviem n com P=1, Q=−1 (ou outros parâmetros) e verifiquem is_lucas_pseudoprime diante de listas de livro como 323.

Testes de regressão de bibliotecas de primalidade

Fixe pseudoprimos de Lucas e primos conhecidos no CI para que sua escada modular U_k nunca se desvie da congruência clássica.

Varreduras de parâmetros em pesquisa

Explore famílias de P e Q em busca de n compostos que ainda satisfaçam U_{n−ε} ≡ 0 (mod n), usando D, jacobi e u_mod_n da resposta.

323 é um pseudoprimo de Lucas?

Sim para os parâmetros de Fibonacci P=1, Q=−1 (D=5). É composto (17×19) e ainda assim U_{324} ≡ 0 (mod 323), de modo que is_lucas_pseudoprime é verdadeiro.

Um primo verdadeiro conta como pseudoprimo de Lucas?

Não. Primos verdadeiros que satisfazem a congruência U definem passes_lucas_test como verdadeiro e is_prime como verdadeiro, mas is_lucas_pseudoprime permanece falso por definição.

Quanto custa o verificador de pseudoprimos de Lucas?

A ferramenta do navegador é gratuita. Requisições API usam saldo pré-pago KIT a US$ 0,002 por chamada bem-sucedida; entrada inválida não é cobrada.

Ver a documentação completa do KIT →