Calculadora de Decomposição em Valores Singulares

Calcule valores singulares, U, Sigma, V, posto e aproximações de baixo posto para uma matriz numérica.

Os resultados são calculados automaticamente à medida que você informa os dados.

Edite a matriz, cole dados ou altere as dimensões até 8 x 8.

Linhas
2
Colunas
3

Informe uma matriz para calcular sua decomposição.

Decomposição numérica
Valores singulares-

▼ Veja explicações e dicas abaixo ▼

O que é a decomposição em valores singulares?

A decomposição em valores singulares, geralmente abreviada como SVD, é uma forma de dividir uma matriz real em partes mais simples. Ela reescreve uma matriz como o produto de três matrizes:

$$ A = U\Sigma V^T $$

Nessa fatoração, \(A\) é a matriz original, \(U\) e \(V\) descrevem direções ortogonais, e \(\Sigma\) contém números não negativos chamados valores singulares. Em geral, esses valores singulares são listados do maior para o menor.

Uma forma útil de pensar na SVD é a seguinte: uma transformação matricial pode girar ou refletir as direções de entrada, esticá-las ou encolhê-las em determinadas proporções e depois girar ou refletir o resultado novamente. Os valores singulares são os fatores de alongamento. Um valor singular grande significa que a matriz exerce um efeito forte nessa direção. Um valor singular nulo ou muito pequeno significa que essa direção contribui pouco ou pode ser perdida na transformação.

A SVD é útil porque funciona para muitas matrizes que a decomposição usual em autovalores não trata bem. A matriz não precisa ser quadrada, simétrica ou inversível. Por isso, a SVD é uma das ferramentas mais importantes da álgebra linear, da computação numérica, da análise de dados, da compressão de imagens, da análise de componentes principais e da aproximação de baixo posto.


Por que a decomposição em valores singulares é importante

A SVD é valiosa porque organiza as informações de uma matriz por ordem de importância. O primeiro valor singular e seus vetores singulares descrevem o padrão de posto um mais forte da matriz. O próximo valor singular descreve o padrão restante mais forte, e assim por diante.

Essa ordenação torna a SVD útil para perguntas como:

  • Quais direções uma matriz estica mais?
  • Qual é o posto numérico de uma matriz?
  • Quanto da matriz é explicado pelos maiores valores singulares?
  • A matriz pode ser aproximada usando menos dimensões?
  • Quanto erro é introduzido quando apenas os primeiros \(k\) valores singulares são mantidos?

Para estudantes, a SVD conecta multiplicação de matrizes, ortogonalidade, autovalores, posto e aproximação. Para quem estuda ciência de dados e engenharia, ela explica por que uma matriz de alta dimensão às vezes pode ser representada com precisão por um número muito menor de componentes.


Termos importantes

  • Matriz: Uma disposição retangular de números. Nesta calculadora, as entradas são números reais, finitos e sem unidade.
  • Matriz ortogonal: Uma matriz quadrada cujas colunas são vetores unitários mutuamente perpendiculares. Para uma matriz ortogonal \(Q\), \(Q^TQ = I\).
  • Valor singular: Um fator de escala não negativo na SVD. Em geral, os valores singulares são escritos como \(\sigma_1, \sigma_2, \ldots\) e ordenados de modo que \(\sigma_1 \ge \sigma_2 \ge \cdots \ge 0\).
  • Vetores singulares à esquerda: As colunas de \(U\). Eles descrevem direções importantes no espaço de saída.
  • Vetores singulares à direita: As colunas de \(V\). Eles descrevem direções importantes no espaço de entrada.
  • Matriz Sigma: A matriz retangular diagonal \(\Sigma\) que armazena os valores singulares em sua diagonal.
  • Posto: O número de direções independentes em uma matriz. Em termos de SVD, o posto exato é o número de valores singulares não nulos.
  • Posto numérico: Uma estimativa do posto baseada em um pequeno limiar, e não em um zero simbólico exato.
  • Aproximação de baixo posto: Uma matriz mais simples que mantém apenas as primeiras \(k\) direções singulares.
  • Contribuição de energia: Uma porcentagem baseada nos valores singulares ao quadrado. Ela mede quanto da magnitude total ao quadrado dos valores singulares é capturado por um valor singular ou pelos primeiros \(k\) valores singulares.

Como funciona a decomposição em valores singulares

Para uma matriz real \(m \times n\) \(A\), a decomposição em valores singulares tem a forma:

$$ A = U\Sigma V^T $$

em que:

  • \(U\) é uma matriz \(m \times m\) ortogonal.
  • \(\Sigma\) é uma matriz retangular diagonal \(m \times n\).
  • \(V\) é uma matriz \(n \times n\) ortogonal.
  • \(V^T\) é a transposta de \(V\).
  • As entradas diagonais de \(\Sigma\) são os valores singulares \(\sigma_1,\sigma_2,\ldots\).

Os valores singulares podem ser encontrados a partir da matriz simétrica \(A^TA\). Se \(\lambda_i(A^TA)\) é um autovalor de \(A^TA\), então o valor singular correspondente é:

$$ \sigma_i = \sqrt{\lambda_i(A^TA)} $$

Para cada valor singular não nulo, o vetor singular à esquerda correspondente pode ser encontrado a partir do vetor singular à direita:

$$ u_i = \frac{Av_i}{\sigma_i} $$

É por isso que a SVD está intimamente relacionada aos autovalores e autovetores, mas é mais flexível. A matriz \(A^TA\) é sempre quadrada e simétrica, mesmo quando \(A\) é retangular.

A SVD também pode ser escrita como uma soma de componentes de posto um:

$$ A = \sigma_1u_1v_1^T + \sigma_2u_2v_2^T + \cdots + \sigma_ru_rv_r^T $$

em que \(r\) é o posto de \(A\). Essa forma mostra por que os valores singulares são úteis para aproximações. Manter os primeiros \(k\) termos produz uma aproximação de posto \(k\):

$$ A_k = \sum_{i=1}^{k}\sigma_i u_i v_i^T $$

Os primeiros \(k\) termos preservam os maiores padrões de valores singulares. O resultado matemático por trás dessa ideia de melhor aproximação, sob medidas comuns de erro matricial, como a norma de Frobenius, é conhecido como teorema de Eckart-Young.

Energia dos valores singulares

Uma forma comum de resumir quanta estrutura é capturada pelos primeiros \(k\) valores singulares é usar os valores singulares ao quadrado:

$$ \text{Energy kept by rank }k = \frac{\sum_{i=1}^{k}\sigma_i^2}{\sum_{i=1}^{r}\sigma_i^2} \times 100\% $$

É por isso que os maiores valores singulares frequentemente dominam a tabela de energia. Um valor singular duas vezes maior contribui com quatro vezes mais energia ao quadrado.


Exemplos práticos da decomposição em valores singulares

Exemplo 1: Uma matriz diagonal simples

Considere a matriz:

$$ A = \begin{bmatrix} 4 & 0 \\ 0 & 1 \end{bmatrix} $$

Essa matriz já estica a primeira coordenada por \(4\) e a segunda coordenada por \(1\). Seus valores singulares são:

$$ \sigma_1 = 4,\quad \sigma_2 = 1 $$

Os valores singulares ao quadrado são:

$$ 4^2 = 16,\quad 1^2 = 1 $$

Assim, o primeiro valor singular corresponde a:

$$ \frac{16}{16+1}\times 100\% \approx 94.12\% $$

O segundo valor singular corresponde a:

$$ \frac{1}{16+1}\times 100\% \approx 5.88\% $$

Este exemplo simples mostra por que as porcentagens de energia podem ser dominadas pelo maior valor singular.


Exemplo 2: Uma matriz deficiente em posto

Agora, considere:

$$ A = \begin{bmatrix} 1 & 2 & 3 \\ 2 & 4 & 6 \\ 3 & 6 & 9 \end{bmatrix} $$

Cada linha é um múltiplo da primeira, portanto a matriz tem apenas uma direção de linha independente. Ela é uma matriz de posto um. Na verdade, pode ser escrita como:

$$ A = \begin{bmatrix} 1 \\ 2 \\ 3 \end{bmatrix} \begin{bmatrix} 1 & 2 & 3 \end{bmatrix} $$

Seu único valor singular positivo é:

$$ \sigma_1 = 1^2 + 2^2 + 3^2 = 14 $$

Todos os demais valores singulares são zero. Uma aproximação de posto \(1\) reconstrói esta matriz exatamente, pois a matriz já tem posto \(1\).


Exemplo 3: Aproximação de baixo posto

Suponha que uma matriz tenha os valores singulares:

$$ 10,\quad 3,\quad 1 $$

A energia total ao quadrado dos valores singulares é:

$$ 10^2 + 3^2 + 1^2 = 100 + 9 + 1 = 110 $$

Uma aproximação de posto \(1\) mantém apenas o primeiro valor singular:

$$ \frac{10^2}{110}\times 100\% \approx 90.91\% $$

Uma aproximação de posto \(2\) mantém os dois primeiros valores singulares:

$$ \frac{10^2 + 3^2}{110}\times 100\% \approx 99.09\% $$

Neste caso, o posto \(2\) mantém quase toda a energia ao quadrado dos valores singulares, enquanto o posto \(1\) ainda pode perder estrutura visível.


Como interpretar o resultado

Os valores singulares são a parte mais importante do resultado. Eles mostram com que intensidade a matriz escala diferentes direções ortogonais.

Um valor singular grande significa que a matriz exerce um efeito forte nessa direção. Um valor singular pequeno significa que essa direção tem pouco efeito. Um valor singular nulo ou próximo de zero indica uma direção colapsada ou numericamente desprezível.

O posto numérico baseia-se na quantidade de valores singulares que excedem uma tolerância relativa à escala proporcional a \(\sigma_1\max(m,n)\epsilon\), em que \(\epsilon\) é a precisão de máquina de ponto flutuante. Isso torna a classificação invariante a uma reescala segura não nula, mas ela continua sendo uma estimativa numérica, e não uma prova simbólica do posto exato.

A tabela de contribuição de energia mostra a parcela de cada valor singular na energia total ao quadrado dos valores singulares. Se as primeiras linhas corresponderem à maior parte da energia, uma aproximação de baixo posto poderá preservar boa parte da estrutura principal da matriz.

A aproximação de posto \(k\) usa apenas as primeiras \(k\) direções singulares. Sua qualidade depende da rapidez com que os valores singulares diminuem. Se eles caírem acentuadamente, um \(k\) pequeno pode funcionar bem. Se diminuírem lentamente, um \(k\) pequeno pode perder informações importantes.

O erro relativo de reconstrução compara a norma de Frobenius do resíduo da reconstrução com a norma de Frobenius da matriz original. A calculadora também verifica se \(U\) e \(V\) são ortogonais antes de informar o sucesso.

O erro relativo de baixo posto compara a matriz original com a aproximação selecionada de posto \(k\). Em geral, esse erro deve diminuir à medida que \(k\) aumenta, pois mais direções singulares são incluídas.

As matrizes \(U\), \(\Sigma\) e \(V\) exibidas correspondem à fórmula:

$$ A = U\Sigma V^T $$

A calculadora exibe \(V\), enquanto a fórmula usa \(V^T\) durante a reconstrução.

O gráfico conceitual usa os dois primeiros valores singulares para esboçar como as direções unitárias são transformadas. É uma representação bidimensional útil, não uma visualização completa de todas as dimensões de uma matriz maior.


Erros comuns e equívocos

Deixar uma célula em branco esperando que o espaço reservado conte como zero. Um espaço reservado é apenas uma indicação visual. Para usar zero, digite 0 como o valor efetivo da matriz.

Colar linhas com comprimentos diferentes. Uma matriz deve ter a mesma quantidade de entradas em todas as linhas. Uma importação com uma linha contendo três números e outra contendo dois não é uma matriz retangular válida.

Inserir frações, números complexos ou expressões. A calculadora aceita números decimais reais e notação científica, como 1e-3. Ela não interpreta strings de fração, valores complexos, variáveis ou expressões algébricas.

Confundir \(\Sigma\) com uma matriz densa comum. Na SVD, \(\Sigma\) é diagonal ou diagonal retangular. Suas entradas não nulas aparecem somente na diagonal.

Supor que o posto é sempre exato. Softwares numéricos precisam de um limiar para valores muito pequenos. Um valor singular muito próximo de zero pode ser tratado como zero para fins de posto.

Supor que um posto solicitado maior sempre será mantido. O posto da aproximação selecionada é limitado ao intervalo válido. Ele não pode exceder o posto efetivo da matriz nem o posto máximo possível quando o posto numérico é não nulo.

Arredondar cedo demais. Os valores exibidos arredondados são mais fáceis de ler, mas podem ocultar pequenas diferenças numéricas. Use mais casas decimais quando precisar examinar valores próximos de zero.

Tratar o gráfico conceitual como um gráfico completo. O gráfico baseia-se nos dois primeiros valores singulares. Ele não mostra todas as direções singulares de uma matriz com mais dimensões.

Confundir o erro de reconstrução completa com o erro de baixo posto. O erro de reconstrução completa verifica se os fatores da SVD reproduzem a matriz original. O erro de baixo posto verifica quanta informação é perdida depois de manter apenas o posto selecionado.


Quando usar a decomposição em valores singulares

Use a SVD quando quiser:

  • Dividir uma matriz em direções ortogonais e fatores de escala interpretáveis.
  • Estudar o posto ou o posto numérico de uma matriz.
  • Entender quais direções dominam uma transformação matricial.
  • Construir uma aproximação de baixo posto.
  • Estimar quanta estrutura é preservada pelos primeiros \(k\) valores singulares.
  • Explorar a relação entre fatoração de matrizes e análise de componentes principais.
  • Comparar a reconstrução completa com uma aproximação reduzida.
  • Investigar matrizes retangulares, deficientes em posto ou quase deficientes em posto.

A SVD é especialmente útil quando uma matriz não é quadrada ou quando os métodos usuais de autovalores não se aplicam diretamente.


Limitações e aspectos importantes

Esta calculadora funciona com matrizes numéricas reais e finitas. Ela não interpreta números complexos, variáveis simbólicas, expressões algébricas ou strings de fração.

As matrizes são limitadas a \(1\) até \(8\) linhas e a \(1\) até \(8\) colunas. Isso mantém a exibição responsiva e legível, mas significa que a ferramenta se destina a aprendizado, verificação de exemplos pequenos e exploração de conceitos, e não ao processamento de grandes conjuntos de dados.

O cálculo é numérico, não simbólico. A matriz é normalizada antes que uma SVD de Jacobi unilateral seja calculada, o que evita formar \(A^TA\) e melhora o comportamento para entradas muito grandes, muito pequenas ou mal condicionadas. Resultados que não passam pelas verificações de convergência, reconstrução e ortogonalidade são rejeitados, em vez de serem exibidos como bem-sucedidos.

A precisão decimal exibida pode ser definida de \(2\) a \(10\) casas decimais. Se o campo de precisão estiver em branco ou for inválido, a exibição usará a precisão padrão de \(5\) casas decimais. Valores exibidos muito grandes ou muito pequenos podem usar notação exponencial.

O erro relativo de reconstrução completa deve ser próximo de zero, mas pode não ser exatamente zero. Espera-se que o erro da aproximação de baixo posto seja maior, a menos que o posto selecionado capture todo o posto numérico.

O seletor de posto permite o posto \(0\) para uma matriz totalmente nula e, nos demais casos, mantém o valor entre \(0\) e o posto numérico informado.

Se todos os valores singulares forem zero, a matriz não terá energia não nula ao quadrado dos valores singulares. Nesse caso, as porcentagens de energia são uma convenção de exibição, e não uma evidência de que uma direção explica uma estrutura significativa.

A implementação normaliza a matriz e usa rotações de Jacobi unilaterais escaladas por pares, em vez de formar \(A^TA\). As entradas e os resultados ainda precisam ser números finitos no formato binary64; uma faixa extrema de condicionamento pode exceder a precisão disponível ou tornar um valor reconstruído não representável. Se um cálculo for rejeitado, redimensione a matriz ou use um software numérico especializado.

Em trabalhos de engenharia, científicos, financeiros ou relacionados à segurança, trate os resultados como um auxílio computacional. Verifique novamente os cálculos importantes com software, documentação e julgamento profissional apropriados.


Como usar esta calculadora

  1. Digite números reais finitos na grade da matriz. Para usar zero, digite 0 na célula.
  2. Use os controles de linhas e colunas para redimensionar a matriz entre \(1 \times 1\) e \(8 \times 8\).
  3. Para importar uma matriz, cole as linhas separadas por quebras de linha. Os valores podem ser separados por espaços, vírgulas, ponto e vírgula ou tabulações.
  4. Use notação decimal ou científica para as entradas, como 2.5, -4 ou 1e-3.
  5. Escolha o posto da aproximação de baixo posto. A calculadora manterá o valor dentro do intervalo válido.
  6. Escolha a precisão decimal exibida entre \(2\) e \(10\) casas decimais.
  7. Execute o cálculo e examine os valores singulares, o posto, a tabela de energia, os erros de reconstrução, \(U\), \(\Sigma\), \(V\) e a aproximação de posto \(k\).
  8. Use a opção de baixar o gráfico quando houver um gráfico conceitual disponível.

Perguntas frequentes

A SVD serve apenas para matrizes quadradas?

Não. Uma das principais vantagens da SVD é funcionar tanto para matrizes retangulares quanto para matrizes quadradas. Para uma matriz real \(m \times n\), \(\Sigma\) tem o mesmo formato retangular da matriz original.


O que significam os valores singulares?

Os valores singulares são fatores de escala não negativos. Eles descrevem quanto a matriz estica ou preserva informações ao longo de direções ortogonais especiais. Valores singulares maiores representam direções mais fortes na matriz.


Qual é a relação entre valores singulares e autovalores?

Para uma matriz real \(A\), os valores singulares são as raízes quadradas dos autovalores de \(A^TA\):

$$ \sigma_i = \sqrt{\lambda_i(A^TA)} $$

Essa relação é útil porque \(A^TA\) é simétrica e quadrada, mesmo quando \(A\) é retangular.


Por que a tabela de energia usa os valores singulares ao quadrado?

A energia baseia-se em \(\sigma_i^2\) porque os valores singulares ao quadrado medem contribuições de magnitude ao quadrado. Por isso, um valor singular grande pode dominar a energia total. Por exemplo, um valor singular de \(10\) contribui com \(100\) unidades ao quadrado, enquanto um valor singular de \(1\) contribui com apenas \(1\).


Qual é a diferença entre posto e posto selecionado?

O posto descreve quantos valores singulares são tratados como não nulos. O posto selecionado \(k\) é o número de direções singulares iniciais usadas para a aproximação de baixo posto. O posto selecionado pode ser limitado para permanecer dentro de um intervalo válido para a matriz.


Por que meu erro de reconstrução não é exatamente zero?

O cálculo é numérico, portanto podem ocorrer pequenas diferenças de arredondamento. Se a matriz estiver bem dimensionada, o erro de reconstrução completa normalmente deverá ser muito pequeno. O arredondamento da exibição também pode fazer valores pequenos parecerem zero ou ocultar diferenças mínimas.


Posso usar esta calculadora para matrizes complexas?

Não. Esta calculadora aceita apenas números reais finitos. A SVD com valores complexos é um tema geral importante, mas entradas complexas não são compatíveis aqui.


Fontes e referências

Books and Open Textbooks

  1. Sheldon Axler. Linear Algebra Done Right. 4ª ed., Springer, 2024. Seções 7E–7F, decomposição em valores singulares e consequências da SVD. PDF do livro didático.
  2. David Austin. Understanding Linear Algebra. Runestone Academy. Seções 7.4–7.5, decomposições em valores singulares e uso de decomposições em valores singulares. Decomposições em valores singulares and Using Singular Value Decompositions. Acesso em 4 de julho de 2026.
  3. Lloyd N. Trefethen and David Bau III. Numerical Linear Algebra. SIAM, 1997. Aulas 4–5, a decomposição em valores singulares e mais sobre a SVD. Página do livro no SIAM.

Online and Official Sources

  1. MIT OpenCourseWare. “Singular Value Decomposition.” 18.06SC Linear Algebra, outono de 2011. Página do curso no MIT OCW. Acesso em 4 de julho de 2026.
  2. Eric W. Weisstein. “Singular Value Decomposition.” MathWorld—A Wolfram Resource. Página no MathWorld. Acesso em 4 de julho de 2026.
  3. Abner J. Salgado and Steven M. Wise. “The Singular Value Decomposition.” Capítulo 2 de Classical Numerical Analysis: A Comprehensive Course. Cambridge University Press, 2022. Página do capítulo na Cambridge Core. Acesso em 4 de julho de 2026.