ForHosting KIT · Ferramentas para dev

Calculadora de Hensel

A calculadora de levantamento de Hensel recebe um polinômio inteiro, uma raiz conhecida módulo um primo p e um expoente-alvo k.

● BetaGrátis · no seu navegador
Use pelo WebAPIE-mailTelegramApp em breve

Ela aplica a forma de raiz simples do lema de Hensel para obter a única raiz compatível módulo p^k. Todos os cálculos usam aritmética inteira exata, e o resultado mostra cada módulo, raiz e dígito de correção intermediário para que você possa conferir ou reproduzir o levantamento. A cadeia completa de congruências permanece visível.

Informe o polinômio e a raiz de forma precisa

Informe o polinômio com coeficientes em ordem crescente de grau. Por exemplo, [-2, 0, 1] significa x ao quadrado menos 2: o primeiro item é o termo constante, o segundo multiplica x e o terceiro multiplica x ao quadrado. Depois, informe um primo p, uma raiz inteira e o expoente-alvo k. A raiz fornecida pode ser qualquer representante inteiro; a calculadora primeiro a reduz ao resíduo padrão entre zero e p menos um. Antes do levantamento, ela verifica se o polinômio avaliado nesse resíduo é zero módulo p. Também confirma que p é realmente primo e que o polinômio tem grau positivo. Essas verificações são importantes porque o lema de Hensel não procura às cegas uma raiz modular inicial. Ele começa com uma raiz já conhecida no primeiro nível primo. Se esse requisito falhar, a calculadora retorna um erro de entrada claro, em vez de exibir um resíduo sem justificativa matemática.

Entenda a etapa de Hensel para raiz simples

Suponha que a raiz atual r funcione módulo p elevado a n. O próximo candidato compatível tem a forma r mais t vezes p elevado a n, em que t é um dígito módulo p. A divisão do valor atual do polinômio por p elevado a n, seguida da multiplicação pelo inverso da derivada, determina esse dígito de correção. A calculadora executa essa operação nível por nível até alcançar p^k. A hipótese essencial é que a derivada formal na raiz inicial não seja zero módulo p. Isso torna a derivada invertível; portanto, cada correção existe e é única. Se a derivada se anular módulo p, esta capacidade para deliberadamente com um erro. Raízes singulares exigem uma análise mais geral: podem não ter levantamento, ter vários ou mudar de comportamento em potências posteriores. Escolher silenciosamente uma ramificação deturparia o teorema de raiz simples e poderia fazer cálculos posteriores parecerem únicos quando não são.

Leia e verifique o levantamento retornado

O campo principal da raiz contém o menor representante não negativo módulo o valor p^k retornado. Ambos aparecem como strings decimais, preservando os valores exatos mesmo quando ultrapassam o intervalo numérico seguro do JavaScript. O expoente confirma o nível solicitado, derivative_mod_p registra o resíduo não nulo da derivada usado no cálculo e verified informa se a substituição direta produz zero módulo o módulo final. O array lifts começa no expoente um e registra cada raiz e módulo sucessivos. A partir do segundo item, correction_digit é o dígito em base p acrescentado naquela etapa. Esse histórico é útil para conferir exercícios, exemplos resolvidos, testes de algoritmos e anotações de pesquisa reproduzíveis. Você pode avaliar o polinômio em qualquer raiz listada e confirmar a divisibilidade pelo módulo correspondente. O resultado é o levantamento único congruente com a raiz inicial fornecida módulo p; outra raiz do mesmo polinômio geralmente conduz a uma ramificação p-ádica compatível diferente.

Conferir um exercício de teoria dos números

Compare cada dígito de correção com o cálculo manual e verifique o resíduo final módulo a potência prima solicitada.

Criar vetores modulares exatos

Gere raízes determinísticas módulo potências primas crescentes para testar código de álgebra simbólica ou aritmética modular.

Explorar uma ramificação p-ádica

Acompanhe uma raiz simples por potências sucessivas de p e examine a correção em base p escolhida em cada nível.

Qual ordem de coeficientes a calculadora usa?

Ordem crescente de grau. O array [a0, a1, a2] representa a0 + a1*x + a2*x^2.

Por que p precisa ser primo?

Esta capacidade implementa o lema de Hensel padrão para raízes simples sobre potências de um primo. Um módulo inicial composto exige outra formulação.

Por que uma derivada nula causa erro?

A fórmula de raiz simples exige que a derivada tenha inverso módulo p. Quando ela se anula, o levantamento pode não existir ou não ser único; por isso, a calculadora não faz suposições.

Por que a raiz e o módulo são retornados como strings?

Potências primas podem ultrapassar o intervalo de inteiros seguros. Strings decimais preservam todos os dígitos exatamente em JSON e no navegador.

A raiz inicial precisa estar entre zero e p menos um?

Não. Qualquer representante inteiro seguro é aceito e reduzido módulo p antes da validação e do levantamento.

Quanto custa?

O cálculo no navegador é gratuito. Uma solicitação API custa US$ 0,002.

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/hensel-lift

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/hensel-lift \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"coefficients":[-2,0,1],"root":3,"p":7,"k":4}'
{
  "coefficients": [
    -2,
    0,
    1
  ],
  "root": 3,
  "p": 7,
  "k": 4
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "numth.hensel_lift",
  "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.

Ver a documentação completa do KIT →