Calculadora de matriz de cofatores
A API de matriz de cofatores recebe uma matriz quadrada, entrada por entrada, e devolve a matriz de seus cofatores: para cada posição (i, j), o determinante com sinal do menor obtido ao remover a linha i e a coluna j.
Executar grátis
É o passo intermediário por trás da adjunta, da fórmula da inversa A^-1 = adj(A)/det(A) e de toda expansão de determinante dos livros didáticos, calculado em uma única chamada determinística em vez de à mão, sinal por sinal, com cada entrada validada antes de qualquer aritmética começar.
O que é de fato uma matriz de cofatores
Para uma matriz quadrada A, o cofator C(i,j) combina duas coisas: o menor M(i,j), que é o determinante da submatriz que resta após eliminar a linha i e a coluna j, e um sinal de tabuleiro de xadrez (-1)^(i+j) que alterna entre linhas e colunas. A matriz de cofatores reúne cada C(i,j) na mesma posição da entrada original, portanto tem exatamente o mesmo formato de A. Os estudantes a conhecem como a maquinaria por trás da expansão de Laplace ao longo de uma linha ou coluna, mas ela é muito mais do que um exercício: a transposta da matriz de cofatores é a adjunta, e dividir a adjunta pelo determinante produz a inversa sempre que o determinante não é zero. Um único sinal errado em qualquer ponto inverte uma linha ou coluna inteira do resultado, exatamente o tipo de erro silencioso que uma computação determinística elimina de vez. Você envia as entradas e recebe a matriz de cofatores completa, com todos os sinais já aplicados, além da ordem n, de modo que a resposta é totalmente autodescritiva.
Como o cálculo é feito
Cada cofator exige o determinante de um menor (n-1) x (n-1), portanto o endpoint calcula internamente n ao quadrado determinantes para uma matriz de ordem n. Cada um é avaliado por eliminação gaussiana com pivoteamento parcial, um método exato para as matrizes de inteiros e decimais simples que as pessoas realmente enviam e numericamente bem comportado para todo o resto, ao contrário da expansão recursiva ingênua, cujo custo explode fatorialmente com n. Os resultados são arredondados para nove casas decimais, de modo que a resposta é estável byte a byte, não importa onde seja executada. O contrato de entrada é rigoroso de propósito: a matriz deve ser quadrada, cada entrada deve ser um número finito e a ordem é limitada a dez, pois além disso uma matriz de cofatores raramente é o que você deseja — seu custo cresce com a quinta potência de n e a rota adjunta-inversa é a maneira mais lenta conhecida de inverter qualquer coisa. Uma matriz 1x1 retorna [[1]], a convenção que mantém a identidade A * adj(A) = det(A) * I verdadeira nesse caso-limite.
Quando usá-la e quando não
Use-a quando a própria matriz de cofatores é o entregável: conferir dever de casa entrada por entrada, gerar exemplos totalmente resolvidos para ensino, verificar uma implementação da fórmula da adjunta contra uma referência confiável ou alimentar um pipeline simbólico que precisa de cada menor com sinal explicitamente, e não de um único número agregado. Se o que você realmente precisa é apenas do determinante ou da inversa, essas são capacidades separadas e mais baratas — o determinante é um único número e a inversa é calculada diretamente com eliminação de Gauss-Jordan, em vez de passar por n ao quadrado menores. O mesmo código que responde à API roda de graça no seu navegador nesta página, então você pode colar uma matriz, inspecionar o resultado e só pagar — US$ 0,002 por requisição — quando automatizar a chamada a partir do seu próprio sistema. Nada do que você envia é guardado em lugar algum: a matriz é processada em memória e descartada, e apenas a matriz de cofatores é devolvida a você.
Casos de uso
Conferir dever de álgebra linear
Compare seus cofatores calculados à mão, sinais incluídos, com um resultado exato para qualquer matriz quadrada até 10x10.
Verificar uma implementação da adjunta
A adjunta é a transposta da matriz de cofatores; teste seu código contra saídas de referência antes de confiar na fórmula da inversa.
Gerar exemplos didáticos resolvidos
Produza matrizes de cofatores completas para notas de aula ou exercícios sem calcular n ao quadrado menores à mão.
Perguntas frequentes
Quanto custa?
US$ 0,002 por requisição via API. Também é gratuito executar no seu navegador nesta página, com o mesmo código e o mesmo resultado.
O que é exatamente um cofator?
C(i,j) = (-1)^(i+j) vezes o determinante do menor obtido ao remover a linha i e a coluna j. A matriz de cofatores coloca cada C(i,j) na mesma posição da entrada original.
Que entrada ela aceita?
Uma matriz quadrada como um array de linhas, cada linha um array de números finitos, de 1x1 até 10x10. Uma matriz irregular ou uma entrada não numérica é rejeitada com um erro claro que indica a posição problemática.
O que uma matriz 1x1 retorna?
[[1]], a convenção padrão, de modo que a identidade A * adj(A) = det(A) * I também vale para n = 1.
A matriz fica armazenada após a chamada?
Não. Ela é processada em memória e descartada; apenas a matriz de cofatores e sua ordem são retornadas.
Por que a ordem é limitada a 10?
Uma matriz de cofatores exige n ao quadrado determinantes de menores, portanto o trabalho cresce muito rápido com n. Acima de 10x10, a rota de cofatores quase nunca é a ferramenta certa; as capacidades de determinante ou inversa atendem a essas necessidades diretamente.
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/cofactor-matrix \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"matrix":[[1,2],[3,4]]}'const res = await fetch("https://api.kit.forhosting.com/math/cofactor-matrix", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"matrix": [
[
1,
2
],
[
3,
4
]
]
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/math/cofactor-matrix",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"matrix": [
[
1,
2
],
[
3,
4
]
]
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/math/cofactor-matrix", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"matrix":[[1,2],[3,4]]}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"matrix":[[1,2],[3,4]]}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/math/cofactor-matrix", 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": [
[
1,
2
],
[
3,
4
]
]
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "math.cofactor_matrix",
"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_n | 10 |
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. |