Ajuste o número de vetores e dimensões e, depois, preencha as coordenadas.
Calculadora de Ortogonalização de Gram-Schmidt
Use esta calculadora de ortogonalização de Gram-Schmidt para informar valores, ajustar opções e analisar resultados em uma área de trabalho compacta e responsiva.
Os resultados são calculados automaticamente conforme você informa os dados.
Visualização de projeções em 2D
As duas primeiras coordenadas são exibidas para facilitar a visualização da dependência e da direção da projeção.
Explicação passo a passo
▼ Veja explicações e dicas abaixo ▼
Calculadoras relacionadas
O que é a ortogonalização de Gram-Schmidt?
A ortogonalização de Gram-Schmidt é um método para transformar um conjunto de vetores em uma base mais simples para o mesmo espaço gerado. O espaço gerado é o conjunto de todos os vetores que podem ser obtidos a partir dos vetores originais por meio de combinações lineares.
A ideia principal é simples: processe os vetores um de cada vez, remova as partes que apontam para direções que já foram mantidas e conserve apenas a parte restante. Essa parte restante é chamada de residual. Se o residual não for zero, ele se torna um novo vetor da base. Se o residual for zero, o vetor original não acrescentou uma nova direção.
O resultado é uma base ortogonal ou, depois de reescalar cada vetor da base para comprimento 1, uma base ortonormal. Os vetores de uma base ortogonal são mais fáceis de usar porque apontam em direções mutuamente perpendiculares. Os vetores de uma base ortonormal são ainda mais convenientes porque são perpendiculares e têm comprimento unitário.
Gram-Schmidt é amplamente usado em álgebra linear porque conecta várias ideias importantes de uma só vez: projeções, produtos escalares, normas, posto, independência linear, decomposição QR e métodos de mínimos quadrados.
Por que Gram-Schmidt é importante
Uma base é útil porque oferece uma forma compacta de descrever um subespaço. Uma base ortogonal ou ortonormal é especialmente útil porque cada direção pode ser estudada separadamente.
Em uma base não ortogonal, alterar uma coordenada pode afetar o significado de outra porque as direções da base se sobrepõem. Em uma base ortogonal, as direções não se sobrepõem. Isso torna muito mais fáceis os cálculos que envolvem projeções, distâncias, coordenadas e aproximações.
Gram-Schmidt é útil quando você precisa:
- converter um conjunto gerador em uma base ortogonal ou ortonormal;
- identificar quantas direções independentes um conjunto de vetores contém;
- detectar vetores que são linearmente dependentes dos vetores anteriores;
- entender como a projeção remove uma direção já abrangida;
- preparar-se para a decomposição QR e cálculos de mínimos quadrados;
- conferir exercícios ou resultados numéricos em um curso de álgebra linear.
Termos importantes
- Vetor: Uma lista ordenada de coordenadas, como \((2,-1,4)\).
- Espaço gerado: O conjunto de todas as combinações lineares que podem ser formadas a partir de um grupo de vetores.
- Base: Um conjunto linearmente independente de vetores que gera um subespaço.
- Independência linear: Um conjunto de vetores é linearmente independente quando nenhum vetor do conjunto pode ser formado a partir dos demais.
- Dependência linear: Um vetor é dependente quando não acrescenta uma nova direção ao espaço gerado.
- Posto: O número de direções independentes encontradas no conjunto de vetores.
- Produto escalar: Uma forma de medir o quanto dois vetores apontam na mesma direção.
- Norma euclidiana: O comprimento usual de um vetor.
- Vetores ortogonais: Vetores cujo produto escalar é zero.
- Vetores ortonormais: Vetores ortogonais que têm comprimento 1.
- Projeção: A parte de um vetor que está na direção de outro vetor.
- Residual: O que resta depois que as projeções nas direções anteriores da base são subtraídas.
Como Gram-Schmidt funciona
Para vetores reais em um espaço euclidiano, o produto escalar de dois vetores é
A norma euclidiana é
Dois vetores não nulos são ortogonais quando seu produto escalar é zero:
A projeção de um vetor \(v_i\) sobre um vetor não nulo \(u_j\) é
A fração é o coeficiente de projeção. Ela informa quanto de \(u_j\) é necessário para corresponder à parte de \(v_i\) que aponta na direção de \(u_j\).
A calculadora avalia essas projeções com Gram–Schmidt modificado e depois executa uma segunda passagem de reortogonalização. Isso é mais confiável na aritmética de ponto flutuante do que subtrair de uma só vez todas as projeções calculadas a partir do vetor original.
Gram-Schmidt processa os vetores de entrada na ordem em que aparecem. Para cada vetor, ele subtrai as projeções nas direções da base que já foram aceitas:
Em que:
- \(v_i\) é o vetor de entrada atual.
- \(u_j\) é um vetor ortogonal da base aceito anteriormente.
- \(r_i\) é o residual depois da subtração das direções anteriores.
- \(k\) é o número de vetores da base aceitos até o momento.
Se \(r_i\) não for zero, ele se torna o próximo vetor ortogonal da base. Se \(r_i\) for zero, o vetor atual é dependente das direções aceitas anteriormente e não é adicionado à base.
Para produzir uma base ortonormal, cada vetor ortogonal aceito é dividido por sua norma:
As versões ortogonal e ortonormal geram o mesmo subespaço. A diferença é que a versão ortonormal reescala cada vetor não nulo da base para comprimento 1.
Exemplos práticos de Gram-Schmidt
Exemplo 1: Construindo uma base ortogonal a partir de dois vetores
Suponha que os vetores de entrada sejam
Comece pelo primeiro vetor:
Agora remova de \(v_2\) a parte que aponta na direção de \(u_1\):
O residual é
Portanto, uma base ortogonal é
Confira o produto escalar:
Os vetores da base são ortogonais.
Para tornar a base ortonormal, divida cada vetor pelo seu comprimento:
e
Exemplo 2: Detectando um vetor dependente
Agora adicione um terceiro vetor:
Do Exemplo 1, os dois primeiros vetores ortogonais aceitos são
Projete \(v_3\) sobre as duas direções aceitas:
e
O residual é
Um residual zero significa que \(v_3\) não acrescenta uma nova direção. Os três vetores ainda geram um plano bidimensional, portanto o posto é 2.
Exemplo 3: Direções repetidas
Considere
O primeiro vetor produz
O segundo vetor está na mesma reta. Sua projeção sobre \(u_1\) é
O residual é
Portanto, \(v_2\) é dependente. A base tem um vetor, e o posto é 1.
Como interpretar o resultado
O resultado informa quantas direções independentes foram encontradas e fornece uma base para o mesmo espaço gerado pelas direções úteis de entrada.
Um posto igual a 1 significa que todos os vetores não nulos aceitos apontam ao longo de uma única direção independente. Um posto igual a 2 significa que o conjunto contém duas direções independentes. Em geral, o posto é o número de resíduos não nulos aceitos durante o processo.
Um resultado dependente significa que pelo menos um vetor de entrada não acrescentou uma nova direção. Ele pode ter sido um múltiplo de um vetor anterior, uma combinação de vetores anteriores ou efetivamente zero depois da remoção das projeções.
Uma base ortogonal significa que os vetores da base de saída são mutuamente perpendiculares, mas não necessariamente têm comprimento 1.
Uma base ortonormal significa que os vetores da base de saída são mutuamente perpendiculares e cada um tem comprimento 1.
O erro de ortogonalidade normalizado verifica o maior produto escalar absoluto entre direções unitárias distintas da base. O residual de reconstrução do espaço gerado verifica se cada vetor de entrada pode ser reconstruído a partir da base calculada. Valores próximos de \(0\) indicam que ambas as propriedades valem, dentro do erro de arredondamento.
A tabela da base fornece as coordenadas dos vetores da base de saída. Esses vetores geram o mesmo subespaço que a parte independente do conjunto de entrada.
As explicações das etapas mostram como cada vetor foi tratado. Uma etapa geralmente inclui coeficientes de projeção, vetores de projeção, o vetor residual, a norma do residual e a indicação de se o residual foi aceito como uma nova direção da base.
O gráfico é útil para obter uma intuição, especialmente em duas dimensões. Para vetores com mais de duas coordenadas, o gráfico mostra apenas as duas primeiras coordenadas; portanto, não deve ser tratado como uma representação completa da geometria de dimensões superiores.
Erros e equívocos comuns
Inserir vetores como colunas em vez de linhas. Nesta calculadora, cada linha é um vetor e cada coluna é uma coordenada. Inverter esse formato altera o conjunto de vetores.
Deixar uma coordenada em branco. Um espaço reservado pode parecer um zero, mas uma célula vazia não equivale a inserir \(0\). Insira cada coordenada explicitamente.
Esperar que o modo ortogonal normalize os vetores. O modo ortogonal torna os vetores da base perpendiculares. Ele não força que tenham comprimento 1. Escolha o modo ortonormal quando quiser vetores da base de comprimento unitário.
Supor que toda decisão sobre quase dependência é exata. Quando um residual cai na faixa de incerteza numérica, a calculadora informa um intervalo de postos em vez de impor silenciosamente um único posto. Pode ser necessária maior precisão na entrada ou uma ferramenta de aritmética exata para determinar o posto.
Supor que o gráfico 2D mostra todas as coordenadas. Um vetor tridimensional ou de dimensão maior não pode ser representado completamente por um gráfico que usa apenas as duas primeiras coordenadas.
Colar frações ou variáveis. A calculadora espera coordenadas numéricas finitas. Use números decimais como \(0.5\) em vez de uma sequência de fração como 1/2 e não insira expressões simbólicas.
Arredondar cedo demais à mão. Gram-Schmidt usa projeções repetidamente, portanto arredondar cedo pode alterar os resíduos posteriores. Ao fazer o cálculo manualmente, mantenha dígitos extras até o resultado final.
Esperar a mesma base depois de reordenar os vetores. O espaço gerado e o posto podem permanecer iguais, mas os vetores ortogonais específicos podem mudar quando a ordem de entrada muda.
Quando usar Gram-Schmidt
Use Gram-Schmidt quando quiser transformar um conjunto de vetores em uma base mais clara para o espaço que ele gera.
Entre os usos comuns estão:
- verificar se um grupo de vetores contém direções redundantes;
- transformar uma base em uma base ortogonal ou ortonormal;
- encontrar numericamente o posto de um pequeno conjunto de vetores;
- estudar projeções e resíduos passo a passo;
- preparar-se para a decomposição QR;
- simplificar problemas de mínimos quadrados e aproximação;
- verificar exemplos de sala de aula em álgebra linear.
Gram-Schmidt é mais útil quando a geometria do conjunto de vetores é importante. Ele mostra não apenas se os vetores são independentes, mas também como cada novo vetor contribui com uma nova direção perpendicular depois que as direções anteriores são removidas.
Limitações e pontos importantes
Gram-Schmidt é um processo matemático, mas os resultados da calculadora são aproximações numéricas. Essa distinção é importante.
Esta calculadora usa aritmética de ponto flutuante com normas seguras em relação à escala, Gram–Schmidt modificado e uma segunda passagem de reortogonalização. As decisões de dependência usam o tamanho do residual em relação ao vetor original, em vez de um limite absoluto fixo. As entradas decimais são limitadas a 15 algarismos significativos para que a interface não sugira uma precisão que os números do JavaScript não conseguem preservar.
A calculadora foi projetada para vetores de coordenadas com valores reais. Ela não aceita coordenadas complexas, variáveis simbólicas, expressões algébricas, aritmética racional exata ou sequências de fração como 1/2.
A grade interativa é limitada a 20 vetores e 10 coordenadas por vetor. Os dados importados também devem respeitar esses limites, e todos os vetores importados devem ter o mesmo número de coordenadas.
A base de saída corresponde ao espaço gerado pelos vetores de entrada usando o produto escalar euclidiano padrão. Se sua aplicação usa um produto interno diferente ou uma geometria ponderada, a fórmula usual de Gram-Schmidt precisa ser alterada.
Entradas quase dependentes ainda podem ser numericamente ambíguas. Nesse caso, o intervalo de postos informado apresenta as direções que são certamente independentes e as direções adicionais que são plausíveis na precisão disponível. Para trabalhos de engenharia, científicos ou de álgebra linear numérica de alto risco, use software validado e uma precisão adequada ao problema.
Como usar esta calculadora
- Insira cada vetor como uma linha na grade de coordenadas.
- Insira uma coordenada por coluna, usando números finitos como \(2\), \(-3.5\) ou \(0\).
- Use os controles de vetores e coordenadas para ajustar o tamanho do seu conjunto de vetores ou importe vetores colados na área de importação.
- Ao importar, separe os vetores com quebras de linha ou ponto e vírgula e separe as coordenadas com espaços ou vírgulas.
- Escolha a saída ortogonal se quiser vetores da base perpendiculares, sem reescala para comprimento unitário.
- Escolha a saída ortonormal se quiser que os vetores aceitos da base sejam reescalados para comprimento 1.
- Selecione o nível de explicação e ative ou desative as setas de projeção conforme necessário.
- Use o controle deslizante das etapas para inspecionar as projeções e o residual de um vetor específico.
- Revise o posto, o status de dependência, o produto escalar máximo, a tabela da base e os cartões das etapas.
- Baixe o gráfico como PNG se um gráfico tiver sido renderizado com sucesso.
Perguntas frequentes
O que Gram-Schmidt produz?
Gram-Schmidt produz uma base ortogonal para o espaço gerado pelas direções independentes de entrada. Se a saída ortonormal for selecionada, os vetores da base também serão reescalados para comprimento 1. Os vetores dependentes são ignorados porque não acrescentam novas direções.
Qual é a diferença entre ortogonal e ortonormal?
Vetores ortogonais são perpendiculares entre si, portanto seus produtos escalares dois a dois são zero. Vetores ortonormais são ortogonais e também têm norma 1. Todo conjunto ortonormal é ortogonal, mas nem todo conjunto ortogonal é ortonormal.
Por que um vetor pode ser marcado como dependente?
Um vetor é dependente quando seu residual se torna zero depois da subtração das projeções nos vetores da base aceitos anteriormente. Isso significa que o vetor já estava no espaço gerado pelas direções aceitas antes. Numericamente, um residual muito pequeno também pode ser tratado como zero.
Por que o produto escalar máximo não é exatamente zero?
Na matemática exata, vetores diferentes em uma base ortogonal têm produto escalar \(0\). Em uma calculadora numérica, o arredondamento de ponto flutuante pode deixar valores não nulos muito pequenos. Um valor próximo de \(0\) geralmente é o sinal prático de que a base é ortogonal dentro da precisão numérica.
A ordem dos vetores de entrada importa?
Sim. Gram-Schmidt processa os vetores na ordem em que são inseridos. Reordenar os mesmos vetores pode produzir uma base ortogonal diferente, embora o espaço gerado e o posto das direções independentes possam ser os mesmos.
Posso inserir frações, variáveis ou números complexos?
Não. Insira números reais finitos como coordenadas. Use equivalentes decimais para frações, como \(0.5\) em vez de 1/2, e não insira variáveis, expressões, NaN ou infinito.
O gráfico mostra vetores de dimensões maiores com precisão?
O gráfico usa apenas as duas primeiras coordenadas de cada vetor. Ele pode ajudar a visualizar projeções em duas dimensões, mas não representa completamente vetores com três ou mais coordenadas.
Fontes e referências
Livros
- Dan Margalit e Joseph Rabinoff. Interactive Linear Algebra. Georgia Institute of Technology, 2019. Seções 6.3 “Orthogonal Projection” e 6.4 “Orthogonal Sets.” Livro aberto
- Robert A. Beezer. A First Course in Linear Algebra. Livro aberto, edição beta do PreTeXt. Seção O “Orthogonality”, especialmente “Gram-Schmidt Procedure.” Seção do livro aberto
Fontes online e universitárias
- Thomas Trogdon. “The Modified Gram-Schmidt Procedure.” Universidade da Califórnia, Irvine, notas de aula de Math 105A. Acessado em 28 de junho de 2026. Notas de aula