Calculadora de Gram-Schmidt

Calculadora de Gram-Schmidt

Digite de 2 a 4 vetores com de 2 a 4 números cada um, separados por vírgulas. Todos os vetores precisam ter o mesmo número de componentes. Use o ponto para os decimais.

O processo de Gram-Schmidt transforma uma lista de vetores em outra de vetores perpendiculares entre si que geram o mesmo espaço. Informe de 2 a 4 vetores com de 2 a 4 números cada um, escolha ortogonal ou ortonormal, e a calculadora mostra cada coeficiente de projeção, o vetor u_k construído com ele, o seu comprimento e o vetor unitário e_k. A aritmética é exata, por isso um vetor que não acrescenta nenhuma direção nova é indicado como linearmente dependente, em vez de se perder em arredondamentos.

Como usar a calculadora de Gram-Schmidt

  1. 1

    Digite os vetores

    Escreva um vetor por linha, com as componentes separadas por vírgulas, por exemplo 1, 1, 0. Use de 2 a 4 vetores que tenham todos o mesmo número de componentes (de 2 a 4). Para decimais use o ponto, com até quatro casas decimais.

  2. 2

    Escolha o resultado

    Escolha vetores ortonormais (de comprimento 1, em decimais) ou vetores ortogonais (em decimais e em frações exatas quando forem curtas o suficiente).

  3. 3

    Leia os passos

    A página de resultado mostra primeiro a base e depois cada passo: os coeficientes de projeção, u_k, o seu comprimento ao quadrado e o comprimento, e e_k. Um vetor ignorado aparece marcado como linearmente dependente.

Como funciona o processo de Gram-Schmidt

Dados os vetores v_1, v_2, …, v_n, o processo constrói, um de cada vez, os vetores ortogonais u_1, u_2, …:

  • u_1 = v_1
  • u_k = v_k - c_k1 u_1 - c_k2 u_2 - ... - c_k,k-1 u_k-1
  • cada coeficiente de projeção é c_kj = (v_k · u_j) / (u_j · u_j)

Subtrair a projeção tira de v_k tudo o que aponta na direção dos u_j anteriores, de modo que u_k fica perpendicular a todos eles. Dividindo cada u_k pelo seu comprimento |u_k| = √(u_k · u_k) obtém-se o vetor ortonormal e_k, que tem comprimento 1.

Exemplo resolvido

Tomemos v_1 = (1, 1, 0), v_2 = (1, 0, 1) e v_3 = (0, 1, 1).

Passo Cálculo Resultado
u_1 v_1 (1, 1, 0)
c_21 (v_2 · u_1) / (u_1 · u_1) = 1/2 1/2
u_2 v_2 - 1/2 u_1 (1/2, -1/2, 1)
c_31, c_32 1/2 e 1/3 1/2, 1/3
u_3 v_3 - 1/2 u_1 - 1/3 u_2 (-2/3, 2/3, 2/3)

Os vetores ortonormais são e_1 ≈ (0,7071; 0,7071; 0), e_2 ≈ (0,4082; -0,4082; 0,8165) e e_3 ≈ (-0,5774; 0,5774; 0,5774).

Dependência linear

Se v_k já pertence ao subespaço gerado pelos vetores anteriores, ao subtrair as suas projeções sobra o vetor nulo. A calculadora deteta isso com exatidão, porque cada número é tratado como fração e não há nenhuma tolerância envolvida. Esse vetor é marcado como dependente e ignorado, e os seguintes são ortogonalizados em relação aos independentes encontrados até ali. Com mais vetores do que dimensões (três vetores no plano, por exemplo), há sempre pelo menos um vetor dependente.

O que esta calculadora abrange

  • De 2 a 4 vetores com de 2 a 4 componentes, todos do mesmo tamanho, com componentes de até 1.000.000 em valor absoluto e até quatro casas decimais.
  • Os vetores ortogonais são mostrados em decimais e, quando a fração é curta, em frações exatas. Os vetores unitários são mostrados em decimais porque precisam de uma raiz quadrada.
  • Usa o produto escalar padrão sobre os números reais. Não trabalha com vetores complexos, outros produtos escalares nem tamanhos maiores.

Perguntas frequentes

Vetores ortogonais são perpendiculares, ou seja, cada par tem produto escalar 0. Vetores ortonormais são ortogonais e também têm comprimento 1. O conjunto ortonormal obtém-se dividindo cada vetor ortogonal u_k pelo seu comprimento.

A calculadora marca o vetor dependente, explica que o seu resto u_k é o vetor nulo e ignora-o. Os vetores seguintes são ortogonalizados em relação aos independentes. A página de resultado também diz quantos dos seus vetores acrescentam uma direção nova.

Sim. O Gram-Schmidt mantém a direção do primeiro vetor e ajusta os outros a ela, por isso uma ordem diferente dá um conjunto ortogonal diferente. Todos esses conjuntos geram o mesmo espaço.

Os valores digitados são convertidos em frações exatas e as projeções são calculadas sem arredondar, e é por isso que a dependência é detetada de forma confiável. Os vetores ortogonais são mostrados com frações exatas quando são curtas o bastante para ler. Os vetores unitários precisam de uma raiz quadrada, por isso aparecem como decimais arredondados a quatro casas.

Os vetores que você digita são enviados ao servidor para calcular o resultado e acrescentados ao link da página à medida que avança entre os passos, de modo que um cálculo pode ser guardado nos favoritos ou partilhado. Não são guardados numa conta nem num perfil.

Ferramentas relacionadas

Ferramenta disponível em outros idiomas