Calculadora de espaço coluna
Encontre uma base do espaço-coluna de qualquer matriz: com as linhas (1, 2, 3), (2, 4, 6) e (1, 0, 1), as colunas originais (1, 2, 1) e (2, 4, 0) formam a base, então a dimensão é 2. Cada passo aparece. 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.
Uma calculadora de espaço-coluna responde a uma pergunta clássica da álgebra linear: quais vetores geram o espaço-coluna de uma matriz real? Insira a matriz como linhas numéricas aninhadas ou como texto simples com vírgulas e quebras de linha; a ferramenta executa a eliminação gaussiana com pivoteamento parcial em uma cópia de trabalho, identifica as colunas-pivô sob um epsilon fixo e devolve as colunas correspondentes da matriz ORIGINAL como base — porque as operações elementares sobre linhas preservam as dependências lineares entre colunas, as colunas-pivô da forma reduzida selecionam colunas independentes da entrada. A resposta inclui os vetores da base, a dimensão (que é igual ao posto), os índices das colunas-pivô começando em zero, a matriz original arredondada, a forma escalonada por linhas e os passos de eliminação ordenados.
O que é o espaço-coluna e por que as colunas-pivô formam uma base
O espaço-coluna de uma matriz real m×n A — escrito Col A — é o conjunto de todas as combinações lineares das suas colunas, que é exatamente o conjunto dos vetores b para os quais Ax = b tem solução. Sua dimensão é o posto de A, e uma base é um conjunto mínimo de colunas que ainda gera todo o espaço.
O teorema padrão usado aqui é que as operações elementares sobre linhas preservam as relações lineares entre colunas: se a coluna três da forma escalonada é o dobro da coluna um, então a coluna três da matriz original também é o dobro da coluna um. Portanto, as colunas de A que ocupam posições de pivô na forma escalonada são linearmente independentes, toda outra coluna é combinação delas e, juntas, formam uma base de Col A.
Observe o ponto sutil que os estudantes deixam passar: os vetores da base vêm da matriz ORIGINAL, não da matriz reduzida — as colunas-pivô da forma escalonada em geral geram um subespaço diferente de R^m, embora ambos os espaços tenham a mesma dimensão. Entradas cujo valor absoluto fica no epsilon fixo ou abaixo dele após a eliminação são tratadas como zeros exatos, de modo que o cancelamento de ponto flutuante em colunas quase dependentes não inventa pivôs fantasmas nem infla a dimensão reportada.
A saída lista cada troca e cada passo de eliminação em ordem, para que você possa verificar o caminho do algoritmo manualmente ou em uma suíte de testes sem refazer a aritmética.
Dicas práticas, limites e buscas relacionadas
Mantenha todas as entradas dentro do intervalo absoluto publicado e prefira enviar arrays numéricos aninhados quando você controla o cliente; a forma de texto é conveniente para fluxos de colar de planilha, mas ainda é interpretada sob as mesmas regras numéricas.
Um exemplo clássico resolvido é a matriz três por três com linhas [1,2,3], [2,4,6], [1,0,1]: a coluna dois é o dobro da coluna um e o espaço-linha colapsa, a eliminação encontra pivôs apenas nas colunas zero e um, e a base é formada pelas duas primeiras colunas originais com dimensão dois.
A matriz nula é o caso-limite a lembrar nos testes: ela não tem pivôs, o espaço-coluna é apenas o vetor nulo e esta ferramenta devolve uma base vazia com dimensão zero e uma mensagem explicativa, em vez de um erro. Quando as colunas são quase, mas não exatamente, dependentes — comum em dados de sensores e matrizes de projeto de mínimos quadrados — o epsilon fixo decide, então espere que colunas limítrofes sejam descartadas como combinações das anteriores, em vez de reportadas como uma base de posto completo frágil.
Esta página visa quem procura uma calculadora de espaço-coluna, base do espaço-coluna online ou base por colunas-pivô; não é uma ferramenta de SVD, não é um ortonormalizador (a base é um subconjunto das colunas originais, não uma saída de Gram-Schmidt) e não é um resolvedor de espaço nulo — combine-a com uma capacidade de posto ou de espaço nulo se você precisar disso.
Verificações de ida e volta são fáceis: multiplique a base pelos coeficientes de dependência lidos da forma escalonada e confirme que cada coluna descartada é reproduzida exatamente após o arredondamento, e confirme que trocar duas colunas da entrada altera o conjunto de pivôs de forma previsível.
Casos de uso
Correção de exercícios de base do espaço-coluna
Estudantes colam matrizes do livro didático e comparam suas colunas-pivô e vetores de base escolhidos à mão com um resultado determinístico antes de entregar.
Testes unitários para código de álgebra linear de estudantes
Gere bases comprovadamente corretas para matrizes de posto completo, deficientes em posto e nulas, além de rejeições deliberadas de entradas não finitas para valores esperados de coding kata.
Pré-verificações de seleção de atributos em pipelines de dados
Pipelines detectam colunas numéricas redundantes em uma matriz de projeto: colunas não pivô são combinações lineares das anteriores e podem ser descartadas antes do ajuste.
Perguntas frequentes
Como a base do espaço-coluna é calculada aqui?
A ferramenta reduz uma cópia de trabalho da matriz à forma escalonada por linhas com pivoteamento parcial e depois toma as colunas da matriz ORIGINAL nas posições de pivô. Essas colunas formam uma base do espaço-coluna.
Por que a base usa colunas da matriz original, e não da reduzida?
As operações sobre linhas alteram o próprio espaço-coluna, mas preservam as relações lineares entre colunas. As posições de pivô identificam quais colunas originais são independentes, portanto a base deve ser tomada da matriz de entrada.
O que a matriz nula devolve?
Uma base vazia com dimensão 0: o espaço-coluna da matriz nula é apenas o vetor nulo, que não tem vetores de base. Este é um resultado de sucesso válido, não um erro.
A calculadora de espaço-coluna é gratuita?
A ferramenta do navegador é gratuita e roda localmente.
O que o espaço-coluna diz sobre o sistema Ax = b?
Ele é exatamente o conjunto de vetores b para os quais Ax = b tem solução. Se b ficar fora do espaço-coluna, o sistema não tem solução, qualquer que seja o x testado.
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/column-space \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"matrix":[[1,2,3],[2,4,6],[1,0,1]]}'const res = await fetch("https://api.kit.forhosting.com/math/column-space", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"matrix": [
[
1,
2,
3
],
[
2,
4,
6
],
[
1,
0,
1
]
]
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/math/column-space",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"matrix": [
[
1,
2,
3
],
[
2,
4,
6
],
[
1,
0,
1
]
]
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/math/column-space", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"matrix":[[1,2,3],[2,4,6],[1,0,1]]}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"matrix":[[1,2,3],[2,4,6],[1,0,1]]}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/math/column-space", 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
],
[
2,
4,
6
],
[
1,
0,
1
]
]
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "math.column_space",
"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_rows | 32 |
max_cols | 32 |
max_abs | 1000000000000 |
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
Qualquer entrada não finita — NaN, Infinity ou texto não numérico — rejeita a requisição com invalid_input em vez de produzir lixo silencioso. O caminho é aritmética puramente determinística — sem rede, sem sementes aleatórias, sem dependência de relógio — então o executor gratuito do navegador e a API pré-paga devolvem o mesmo JSON após o arredondamento decimal fixo em todas as chamadas.
O que é o espaço-coluna e por que as colunas-pivô formam uma base
Esta ferramenta executa a eliminação gaussiana com pivoteamento parcial, que troca a linha ativa pela linha com o maior valor absoluto na coluna corrente, de modo que os fatores de divisão permaneçam tão bem condicionados quanto a aritmética elementar de linhas permite em doubles IEEE.
Como chamar a API e o que ela devolve
Aceite tanto um array de linhas numéricas de mesmo comprimento — por exemplo três linhas de três números cada — quanto um bloco de texto em que as linhas são separadas por quebras de linha ou ponto e vírgula e as entradas por vírgulas ou espaços. Envie um corpo JSON com um campo obrigatório matrix (aliases rows, A e data). Cada entrada deve ser um número finito cujo valor absoluto permaneça dentro do limite publicado de um trilhão, e a matriz inteira pode ter no máximo trinta e duas linhas e trinta e duas colunas para que o trabalho no Worker e no navegador continue interativo. Em caso de sucesso, a resposta define dimension como o tamanho da base (igual ao posto), rows e cols como as dimensões da entrada, pivot_columns como os índices das colunas-pivô começando em zero na ordem de varredura, basis como um array de vetores-coluna tomados da matriz original nesses índices, matrix como a original arredondada, row_echelon como a forma reduzida arredondada, message como um breve resumo em inglês e steps como um array ordenado de notas de eliminação. Falhas de validação — matrix ausente, linhas vazias, entradas não finitas ou fora do intervalo, dimensões acima dos limites ou comprimentos de linha inconsistentes — devolvem invalid_input e nunca são cobradas. O preço é um valor fixo de US$ 0,002 por requisição bem-sucedida, com item unitário e preço unitário marginal zero. Clientes que precisam apenas da dimensão podem ler o campo dimension e ignorar a base, e clientes que precisam das relações de dependência podem recuperá-las do campo row_echelon, onde cada coluna não pivô expressa como ela combina as colunas-pivô à sua esquerda.
Dicas práticas, limites e buscas relacionadas
Tarefas com falha que devolvem invalid_input não consomem saldo pré-pago, o que mantém baratos os scripts exploratórios quando aprendizes enviam deliberadamente linhas irregulares ou texto simbólico.
Perguntas técnicas
E se uma entrada não for um número finito?
NaN, Infinity, células vazias ou texto não numérico tornam a requisição invalid_input, com uma mensagem indicando a posição do problema. Requisições com falha nunca são cobradas.