Calculadora de polinômio característico
Calcule o polinômio característico de qualquer matriz quadrada de até 12×12: a matriz com linhas 2, 1 e 1, 2 dá λ² − 4λ + 3, com traço 4 e determinante 3 mostrados como conferência. Grátis no seu navegador.
- Grátis
- Funciona no seu navegador
- Sem cadastro
- Seus dados não saem do seu aparelho
Executar grátis
Roda direto no seu navegador. Grátis, sem cadastro — seus dados não são enviados para lugar nenhum.
Ela também retorna o traço e o determinante como verificações integradas, além do polinômio em formato de texto, pronto para colar em um relatório. Você pode enviar a matriz como arrays aninhados ou como linhas de texto simples, e obtém sempre a mesma resposta determinística. Entradas não quadradas ou não numéricas são rejeitadas com um erro claro, em vez de gerar resultados sem sentido.
O que o polinômio característico realmente revela
O polinômio característico de uma matriz quadrada A, escrito p(λ) = det(λI − A), é a impressão digital mais compacta que uma matriz possui. Suas raízes são exatamente os autovalores de A, contando as multiplicidades, por isso quase toda pergunta sobre comportamento espectral — estabilidade de um sistema dinâmico, frequências de ressonância de uma estrutura, crescimento assintótico de uma recorrência — começa escrevendo esse polinômio.
Dois coeficientes são famosos por si só: o coeficiente de λⁿ⁻¹ é o traço de A com sinal trocado, e o termo constante é o determinante, com sinal positivo ou negativo conforme a dimensão seja par ou ímpar. O teorema de Cayley–Hamilton acrescenta que toda matriz satisfaz o próprio polinômio característico, truque que está por trás do cálculo de potências altas e de exponenciais de matrizes sem diagonalização. Ao calcular p(λ) à mão, você expande um determinante com λ na diagonal, o que é sujeito a erros além de 2×2.
Como os coeficientes são calculados
Em vez de expandir simbolicamente det(λI − A) — o que gera inchaço de expressões intermediárias e é lento de forma genérica — o solucionador usa a recursão de Faddeev–LeVerrier, um algoritmo clássico que recupera todos os coeficientes apenas com multiplicação de matrizes e traços. Partindo da matriz identidade, cada passo multiplica por A, calcula o traço e divide pelo índice do passo com sinal trocado, produzindo um novo coeficiente por iteração: n multiplicações para uma matriz n×n, aritmética O(n³) no total.
A recursão é exata em aritmética exata e bem comportada em ponto flutuante para os tamanhos modestos que esta ferramenta aceita. Duas verificações independentes acompanham cada resposta: o segundo coeficiente deve ser igual ao traço com sinal trocado, e o último coeficiente deve ser igual ao determinante, salvo o sinal; ambos os valores derivados são retornados junto com o vetor de coeficientes para que você possa conferir com o seu próprio cálculo.
Formato de entrada, erros e limites
Você pode enviar a matriz de duas formas. Cada entrada deve ser um número finito com valor absoluto de até 10¹², e a dimensão é limitada a 12×12 — acima disso, o crescimento dos coeficientes em ponto flutuante torna uma resposta numérica genérica enganosa, e você deveria usar um sistema de álgebra computacional dedicado. Erros nunca são cobrados; apenas computações bem-sucedidas contam no seu uso.
Casos de uso
Alimentar um buscador de raízes de polinômios
Obtenha os coeficientes de p(λ) programaticamente e passe-os a uma etapa de busca de raízes para obter autovalores de matrizes maiores que o caso 2×2 de forma fechada.
Conferir lição de casa e exercícios de livros
Verifique um polinômio característico calculado à mão para matrizes 3×3 ou 4×4, com as verificações de traço e determinante confirmando cada coeficiente.
Analisar sistemas dinâmicos lineares
Extraia o polinômio característico de uma matriz de estado para estudar a estabilidade, já que a localização das raízes de p(λ) determina se o sistema converge ou diverge.
Perguntas frequentes
Quanto custa?
Também é gratuito executar no navegador nesta página — mesmo código, mesmo resultado.
O que é retornado exatamente?
Os coeficientes de p(λ) = det(λI − A) como um array, começando pelo coeficiente líder (sempre 1, pois o polinômio é mônico), além do polinômio como texto, o traço, o determinante e um registro passo a passo da recursão.
Por que minha matriz foi rejeitada?
A matriz deve ser quadrada: cada linha deve ter exatamente tantos elementos quanto há linhas.
Qual algoritmo é usado?
A recursão de Faddeev–LeVerrier, que calcula cada coeficiente a partir de produtos de matrizes e traços em aritmética O(n³), sem expansão simbólica de determinantes.
Minha matriz fica armazenada em algum lugar?
Não. A matriz é processada em memória e descartada; apenas o resultado do polinômio é retornado.
Ferramentas relacionadas
Para desenvolvedores — acesso via API
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.
Endpoint
Autenticação por token Bearer. Um único POST coloca a tarefa na fila; o resultado chega por webhook ou link assinado.
Chame do seu código
curl -X POST https://api.kit.forhosting.com/math/characteristic-polynomial \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"matrix":[[2,1],[1,2]]}'const res = await fetch("https://api.kit.forhosting.com/math/characteristic-polynomial", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"matrix": [
[
2,
1
],
[
1,
2
]
]
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/math/characteristic-polynomial",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"matrix": [
[
2,
1
],
[
1,
2
]
]
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/math/characteristic-polynomial", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"matrix":[[2,1],[1,2]]}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"matrix":[[2,1],[1,2]]}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/math/characteristic-polynomial", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Exemplo de requisição
{
"matrix": [
[
2,
1
],
[
1,
2
]
]
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "math.characteristic_polynomial",
"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.
Preço
Preço publicado, sem tokens nem créditos escondidos. Tarefa que falha não é cobrada.
Limites
max_abs | 1000000000000 |
max_dim | 12 |
Erros
| HTTP | Código | O que significa |
|---|---|---|
401 | unauthorized | Token ausente ou inválido. Confira o header Authorization. |
402 | insufficient_balance | Saldo insuficiente para esta tarefa. Faça uma recarga e tente de novo. |
404 | unknown_type | Esse tipo de tarefa não existe. Confira o campo type no catálogo. |
429 | rate_limited | Muitas requisições em pouco tempo. Espere um instante e tente de novo. |
Notas técnicas
A API de polinômio característico recebe uma matriz quadrada — até 12×12 — e devolve os coeficientes de p(λ) = det(λI − A), começando pelo coeficiente líder, calculados com a recursão de Faddeev–LeVerrier. A execução é gratuita no navegador nesta página e custa US$ 0,002 por requisição quando você chama a API a partir do seu próprio código.
O que o polinômio característico realmente revela
Este endpoint faz a expansão de forma numérica e determinística para qualquer matriz quadrada até 12×12 e entrega os coeficientes em um formato pronto para alimentar um buscador de raízes, uma ferramenta simbólica ou o seu próprio pipeline.
Como os coeficientes são calculados
Todos os números são arredondados para exatamente doze casas decimais, o que faz com que a versão gratuita no navegador e a API paga retornem JSON idêntico byte a byte em qualquer máquina.
Formato de entrada, erros e limites
Clientes de API geralmente passam arrays JSON aninhados — um array de linhas, cada linha um array de números — enquanto o formulário web aceita texto colado com uma linha por linha (ou separadas por ponto e vírgula) e entradas separadas por vírgulas ou espaços; ambas as formas são validadas da mesma maneira. A matriz deve ser quadrada: se alguma linha tiver comprimento diferente do número de linhas, a requisição é rejeitada com um erro invalid_input que indica exatamente qual linha está errada, pois uma matriz retangular não tem polinômio característico nesse sentido. O endpoint é computação pura: nada é armazenado, nada é enviado a terceiros, e a mesma entrada sempre produz a mesma saída.
Perguntas técnicas
Os resultados são exatos?
Para matrizes inteiras de tamanho pequeno, os coeficientes costumam ser inteiros exatos após o arredondamento; todos os valores são arredondados para doze casas decimais, de modo que o navegador e a API sempre concordam byte a byte.