Math ClubMath Club
v1 · padrão canônico

Lição 117 — Decomposição em valores singulares (SVD)

A = U Σ Vᵀ funciona para qualquer matriz real. Valores singulares revelam a estrutura geométrica. Base de compressão de imagens, recomendação, PCA e pseudoinversa.

Used in: 3.º ano do EM (17-18 anos) · Equiv. Lineare Algebra LK alemão · Equiv. H2 Math singapurense · Equiv. Math III japonês avançado

A=UΣVTA = U\Sigma V^T

A SVD é a decomposição mais geral da álgebra linear: toda matriz m×nm \times n se escreve A=UΣVTA = U\Sigma V^T com UU e VV ortogonais e Σ\Sigma diagonal com valores singulares σ1σ20\sigma_1 \geq \sigma_2 \geq \cdots \geq 0. A decomposição existe para qualquer matriz real (ou complexa) — mesmo retangular. É a base de PCA, compressão de imagem, recomendação e regressão estável.

Choose your door

Rigorous notation, full derivation, hypotheses

Definição e teorema

Teorema da SVD

"Any matrix A with rank r can be written as a product A=UΣVTA = U \Sigma V^T where U is orthogonal (m×mm \times m), Σ\Sigma is diagonal (m×nm \times n, nonnegative entries decreasing), and V is orthogonal (n×nn \times n). The diagonal entries σ1σr>0\sigma_1 \geq \cdots \geq \sigma_r > 0 are the singular values of A." — Understanding Linear Algebra, §6.3

"Theorem (Existence of SVD). Every real matrix A has a singular value decomposition. The singular values are the positive square roots of the nonzero eigenvalues of ATAA^T A." — A First Course in Linear Algebra, §SVD

Conexão com autovalores

Os 4 subespaços fundamentais via SVD

Espaço de entrada (R^n)Row(A) = cols r de Vker(A) = cols n-r de VEspaço de saída (R^m)Col(A) = cols r de Uker(A^T) = cols m-r de UAColunas de U e V formam bases ortonormais dos 4 subespaços de A.
Os 4 subespaços fundamentais de Strang lidos diretamente da SVD.

Teorema de Eckart-Young

Pseudoinversa de Moore-Penrose

Exemplos resolvidos

Exercise list

30 exercises · 7 with worked solution (25%)

Application 19Understanding 4Modeling 4Challenge 1Proof 2
  1. Ex. 117.1UnderstandingAnswer key

    Explique a diferença entre autovalores e valores singulares de uma matriz AA. Para que tipo de matriz eles coincidem?

    Show solution
    Os valores singulares são as raízes quadradas dos autovalores de ATAA^T A. São sempre reais e não-negativos, ao contrário dos autovalores de AA que podem ser complexos. Para matrizes simétricas positivas semi-definidas, autovalores e valores singulares coincidem.
  2. Ex. 117.2Application

    Calcule a SVD de A=(0340)A = \begin{pmatrix} 0 & 3 \\ 4 & 0 \end{pmatrix}.

    Show solution
    ATA=(90016)A^T A = \begin{pmatrix} 9 & 0 \\ 0 & 16 \end{pmatrix}. Autovalores: 9 e 16. Valores singulares: σ1=4\sigma_1 = 4, σ2=3\sigma_2 = 3. V=I2V = I_2 (pois ATAA^T A já é diagonal). UU: colunas ui=Avi/σiu_i = Av_i/\sigma_i — como AA tem colunas ortonormais escaladas, u1=(0,1)Tu_1 = (0,1)^T, u2=(1,0)Tu_2 = (1,0)^T.
    Show step-by-step (with the why)
    1. Calcule ATAA^T A: multiplique transposta por original.
    2. Ache autovalores de ATAA^T A (diagonal, são as entradas ao quadrado, reordenados).
    3. Valores singulares: σi=λi\sigma_i = \sqrt{\lambda_i} em ordem decrescente.
    4. Vetores viv_i: autovetores de ATAA^T A.
    5. Vetores ui=Avi/σiu_i = Av_i/\sigma_i.
    6. Macete: para AA diagonal, a SVD é trivial — só reorganize por σ\sigma decrescente.
  3. Ex. 117.3Application

    Calcule a SVD compacta de A=(1111)A = \begin{pmatrix} 1 & 1 \\ 1 & 1 \end{pmatrix}. Qual o posto de AA?

    Show solution
    ATA=(2222)A^T A = \begin{pmatrix} 2 & 2 \\ 2 & 2 \end{pmatrix}. Autovalores: 4 e 0. Valor singular: σ1=2\sigma_1 = 2. v1=(1/2)(1,1)Tv_1 = (1/\sqrt{2})(1,1)^T. u1=Av1/2=(1/2)(1,1)Tu_1 = Av_1/2 = (1/\sqrt{2})(1,1)^T. Posto = 1.
  4. Ex. 117.4ApplicationAnswer key

    Se a SVD de AR4×3A \in \mathbb{R}^{4 \times 3} tem valores singulares σ1=5,σ2=3,σ3=0\sigma_1 = 5, \sigma_2 = 3, \sigma_3 = 0, qual o posto de AA? Qual a dimensão de ker(A)\ker(A)?

    Show solution
    Posto = número de valores singulares estritamente positivos. Para AA com SVD dada, o posto é 2, pois σ1=5\sigma_1 = 5 e σ2=3\sigma_2 = 3 são ambos positivos.
  5. Ex. 117.5Application

    A SVD de AA tem valores singulares σ1=8,σ2=2,σ3=1\sigma_1 = 8, \sigma_2 = 2, \sigma_3 = 1. Calcule o erro de Frobenius e o erro espectral da melhor aproximação de posto 1.

    Show solution
    Melhor aproximação de posto 1: A1=σ1u1v1TA_1 = \sigma_1 u_1 v_1^T. Erro de Frobenius: AA1F=σ22+σ32=4+1=5\|A - A_1\|_F = \sqrt{\sigma_2^2 + \sigma_3^2} = \sqrt{4 + 1} = \sqrt{5}. Erro espectral: AA12=σ2=2\|A - A_1\|_2 = \sigma_2 = 2.
  6. Ex. 117.6Application

    Descreva como calcular a pseudoinversa A+A^+ de AR2×3A \in \mathbb{R}^{2 \times 3} com valores singulares σ1=5,σ2=3\sigma_1 = 5, \sigma_2 = 3 e posto 2. Qual a dimensão de A+A^+?

    Show solution
    Usando SVD A=UΣVTA = U \Sigma V^T: Σ+=(1/50001/30)\Sigma^+ = \begin{pmatrix} 1/5 & 0 & 0 \\ 0 & 1/3 & 0 \end{pmatrix}. A+=VΣ+UTR3×2A^+ = V \Sigma^+ U^T \in \mathbb{R}^{3 \times 2}. Solução de mínimos quadrados: x=A+bx^* = A^+ b.
  7. Ex. 117.7Understanding

    Uma matriz AR10×10A \in \mathbb{R}^{10 \times 10} tem valores singulares σ1=100\sigma_1 = 100 e σ10=0,01\sigma_{10} = 0{,}01. Calcule κ2(A)\kappa_2(A) e interprete o que isso significa para resolver Ax=bAx = b numericamente.

    Show solution
    O número de condicionamento κ2(A)=σ1/σr=100/0,01=104\kappa_2(A) = \sigma_1 / \sigma_r = 100 / 0{,}01 = 10^4. Um sistema muito mal-condicionado: erros relativos em bb são amplificados por até 10410^4 em xx. Dados com 4 algarismos significativos podem perder toda precisão.
  8. Ex. 117.8Application

    Uma matriz tem valores singulares σ1=10,σ2=5,σ3=2,σ4=1\sigma_1 = 10, \sigma_2 = 5, \sigma_3 = 2, \sigma_4 = 1. Qual o menor kk tal que a aproximação de posto kk explica pelo menos 95% da variância de Frobenius?

    Show solution
    Variância explicada cumulativa: i=1kσi2/j=1rσj2\sum_{i=1}^k \sigma_i^2 / \sum_{j=1}^r \sigma_j^2. Com σ=(10,5,2,1)\sigma = (10, 5, 2, 1): σi2=100+25+4+1=130\sum \sigma_i^2 = 100 + 25 + 4 + 1 = 130. Top-1: 100/13076,9%100/130 \approx 76{,}9\%. Top-2: 125/13096,2%125/130 \approx 96{,}2\%. Escolha k=2k = 2 para 95%.
    Show step-by-step (with the why)
    1. Calcule AF2=iσi2\|A\|_F^2 = \sum_i \sigma_i^2.
    2. Calcule variância explicada cumulativa até cada kk.
    3. Encontre o menor kk tal que a proporção cumulativa 0,95\geq 0{,}95.
    4. Macete: o scree plot mostra σi\sigma_i vs ii; o "joelho" geralmente corresponde a ~95%.
  9. Ex. 117.9Application

    Mostre que, para uma matriz simétrica positiva semi-definida A=QΛQTA = Q \Lambda Q^T, a SVD tem U=V=QU = V = Q e Σ=Λ\Sigma = \Lambda. O que os valores singulares são, nesse caso?

    Show solution
    Para AA simétrica PSD, A=QΛQTA = Q \Lambda Q^T (decomposição espectral) já é uma SVD com U=V=QU = V = Q e Σ=Λ\Sigma = \Lambda. Os valores singulares são os autovalores (não-negativos por PSD). A SVD coincide com a diagonalização.
  10. Ex. 117.10Modeling

    Uma imagem em tons de cinza é uma matriz 1000×10001000 \times 1000. Se você guardar a SVD truncada com k=50k = 50 componentes, quantos floats armazena em comparação com a imagem original? Qual o fator de compressão?

    Show solution
    Custo de armazenamento SVD truncada: k(m+n+1)k(m + n + 1) reais. Original: mnmn. Taxa de compressão: mn/[k(m+n+1)]mn / [k(m+n+1)]. Para m=n=1000m = n = 1000, k=50k = 50: 106/[50×2001]1010^6 / [50 \times 2001] \approx 10. Fator de compressão 10x. Erro Frobenius relativo: i>50σi2/AF\sqrt{\sum_{i > 50} \sigma_i^2} / \|A\|_F.
  11. Ex. 117.11Understanding

    Qual afirmação sobre a interpretação de UU e VV na SVD é correta?

    Select the correct option
    Select an option first
    Show solution
    As primeiras rr colunas de UU formam base ortonormal de Col(A)\text{Col}(A); as últimas mrm - r de ker(AT)\ker(A^T). As primeiras rr colunas de VV formam base de Row(A)\text{Row}(A); as últimas nrn - r de ker(A)\ker(A).
  12. Ex. 117.12Application

    A SVD de AA tem valores singulares 6,3,2,16, 3, 2, 1. Calcule a norma espectral A2\|A\|_2 e a norma de Frobenius AF\|A\|_F.

    Show solution
    A2=σ1\|A\|_2 = \sigma_1 (norma espectral = maior valor singular). AF=σ12++σr2\|A\|_F = \sqrt{\sigma_1^2 + \cdots + \sigma_r^2} (norma de Frobenius). Para AA com σ=(6,3,2,1)\sigma = (6, 3, 2, 1): A2=6\|A\|_2 = 6, AF=50=52\|A\|_F = \sqrt{50} = 5\sqrt{2}.
  13. Ex. 117.13ApplicationAnswer key

    Uma imagem 512×512512 \times 512 tem posto numérico r=100r = 100. Qual a taxa de compressão ao guardar a SVD completa de posto rr em vez da matriz original?

    Show solution
    Custo de armazenar todos os rr componentes: r(m+n+1)=100(512+512+1)=102500r(m + n + 1) = 100(512 + 512 + 1) = 102500 vs 5122=262144512^2 = 262144. Ainda há compressão mesmo guardando tudo. Percentagem da variância explicada pelos 10 primeiros: depende da distribuição de σi\sigma_i.
  14. Ex. 117.14Application

    Explique geometricamente o que a SVD diz sobre como a matriz AA transforma a esfera unitária de Rn\mathbb{R}^n. Quais são os semi-eixos do elipsoide resultante?

    Show solution
    Axσ1x\|Ax\| \leq \sigma_1 \|x\| e minx=1Ax=σr\min_{\|x\|=1} \|Ax\| = \sigma_r. A matrix faz o máximo stretch por σ1\sigma_1 (na direção v1v_1) e mínimo por σr\sigma_r (na direção vrv_r). A esfera unitária é mapeada num elipsoide com semi-eixos σ1σr\sigma_1 \geq \cdots \geq \sigma_r.
  15. Ex. 117.15Application

    Mostre que na SVD se tem Avi=σiuiAv_i = \sigma_i u_i para todo ii. Use isso para verificar que Avi=σi\|Av_i\| = \sigma_i.

    Show solution
    Pela expansão SVD: Avi=σiuiAv_i = \sigma_i u_i para 1ir1 \leq i \leq r e Avj=0Av_j = 0 para j>rj > r. Portanto v1,,vrv_1, \ldots, v_r são base do espaço linha e AviAv_i tem norma σi\sigma_i.
  16. Ex. 117.16Modeling

    Em latent semantic analysis (LSA), a SVD de uma matriz termo-documento é truncada nos kk maiores valores singulares. Explique conceitualmente por que isso captura "tópicos latentes" nos documentos.

    Show solution
    LSA: represente documentos como vetores TF-IDF em um espaço de termos. A matrix termo-documento AA tem SVD. Os primeiros kk vetores singulares à direita representam kk "tópicos latentes". Documentos novos são projetados: qnovo=AnovoVkΣk1q_{\text{novo}} = A_{\text{novo}} V_k \Sigma_k^{-1}. Documentos similares ficam próximos nesse espaço.
  17. Ex. 117.17Proof

    Enuncie o Teorema de Eckart-Young e esboce a ideia da demonstração de que AkA_k é de fato a melhor aproximação de posto kk em norma espectral.

    Show solution
    Por Eckart-Young, AkA_k minimiza ABF\|A - B\|_F entre todas as matrizes BB de posto k\leq k. Prova: qualquer BB de posto kk tem nulidade nk\geq n - k, logo existe xx unitário no nulidade de BB e no espaço de v1,,vk+1v_1, \ldots, v_{k+1}. Então ABF(AB)x=Axσk+1\|A - B\|_F \geq \|(A - B)x\| = \|Ax\| \geq \sigma_{k+1}. O mínimo é atingido em AkA_k.
  18. Ex. 117.18Application

    Se AA tem valores singulares 5,3,15, 3, 1, quais são os valores singulares de ATAA^T A? Calcule ATA2\|A^T A\|_2 e ATAF\|A^T A\|_F.

    Show solution
    ATA2=σ1(ATA)=σ1(A)2\|A^T A\|_2 = \sigma_1(A^T A) = \sigma_1(A)^2 (pois autovalores de ATAA^T A são σi(A)2\sigma_i(A)^2). ATAF=σi4\|A^T A\|_F = \sqrt{\sum \sigma_i^4}. Para AA com σ=(5,3,1)\sigma = (5, 3, 1): ATA2=25\|A^T A\|_2 = 25, ATAF=625+81+1=707\|A^T A\|_F = \sqrt{625 + 81 + 1} = \sqrt{707}.
  19. Ex. 117.19Application

    Uma matrix tem valores singulares 100,10,1,0,001,0,00001100, 10, 1, 0{,}001, 0{,}00001. Usando threshold ϵ=1012\epsilon = 10^{-12} relativo ao maior singular, qual o posto numérico?

    Show solution
    Posto numérico: número de valores singulares acima de ϵσ1\epsilon \cdot \sigma_1 onde ϵ\epsilon é a precisão de máquina (~101510^{-15} para float64). Para σ=(100,10,1,0,001,0,00001)\sigma = (100, 10, 1, 0{,}001, 0{,}00001) com ϵ=1012\epsilon = 10^{-12}: threshold = 101010^{-10}, portanto posto numérico = 4 (os 4 primeiros estão acima).
  20. Ex. 117.20Application

    Prove que uma matriz ortogonal tem todos os valores singulares iguais a 1. Qual o número de condicionamento de uma matriz ortogonal?

    Show solution
    Para AA ortogonal: ATA=IA^T A = I, logo todos autovalores de ATAA^T A são 1, portanto todos valores singulares de AA são 1. SVD: A=UIVTA = U I V^T com Σ=I\Sigma = I. Número de condicionamento: κ2(A)=1\kappa_2(A) = 1 — perfeitamente condicionada.
  21. Ex. 117.21Modeling

    Explique como a SVD da matriz de retornos de ações identifica "fatores de risco" num portfólio. O que os primeiros vetores singulares v1,v2,v3v_1, v_2, v_3 representam economicamente?

    Show solution
    Modelo fator linear: retornos de nn ações ao longo de TT dias formam matriz RRT×nR \in \mathbb{R}^{T \times n}. SVD de R~\tilde R (centralizada): as primeiras kk colunas de VV são portfólios-fator. Valores singulares ao quadrado divididos por T1T - 1 são autovalores da covariância — variâncias dos fatores. Risco sistemático é capturado pelos primeiros fatores.
  22. Ex. 117.22ApplicationAnswer key

    Prove que AA e ATA^T têm os mesmos valores singulares não-nulos.

    Show solution
    Valores singulares de ATA^T são os mesmos de AA. Pois (AT)TAT=AAT(A^T)^T A^T = A A^T, que tem os mesmos autovalores não-nulos que ATAA^T A (pelo teorema do traço de produto circular). Assim σi(AT)=σi(A)\sigma_i(A^T) = \sigma_i(A).
  23. Ex. 117.23ApplicationAnswer key

    Derive a solução de ridge regression xλ=(ATA+λI)1ATbx_\lambda = (A^T A + \lambda I)^{-1} A^T b em termos da SVD de AA.

    Show solution
    Solução de mínimos quadrados com regularização Tikhonov: xλ=(ATA+λI)1ATb=V(ΣTΣ+λI)1ΣTUTb=iσiσi2+λ(uiTb)vix_\lambda = (A^T A + \lambda I)^{-1} A^T b = V (\Sigma^T \Sigma + \lambda I)^{-1} \Sigma^T U^T b = \sum_i \frac{\sigma_i}{\sigma_i^2 + \lambda} (u_i^T b) v_i. Para λ0\lambda \to 0, recupera pseudoinversa. Para λ\lambda grande, encolhe para zero.
    Show step-by-step (with the why)
    1. Substitua A=UΣVTA = U \Sigma V^T na fórmula de ridge.
    2. Simplifique (ATA+λI)1=V(ΣTΣ+λI)1VT(A^T A + \lambda I)^{-1} = V(\Sigma^T \Sigma + \lambda I)^{-1}V^T.
    3. A diagonal de (ΣTΣ+λI)1ΣT(\Sigma^T \Sigma + \lambda I)^{-1} \Sigma^T é σi/(σi2+λ)\sigma_i / (\sigma_i^2 + \lambda).
    4. Macete: ridge = pseudoinversa suavizada — encolhe componentes com σi2λ\sigma_i^2 \ll \lambda.
  24. Ex. 117.24ApplicationAnswer key

    A curva de juros (yield curve) brasileira tem dados diários de yields em 10 maturidades diferentes. SVD dessa matriz identifica 3 fatores principais. Quais são esses fatores, economicamente?

    Show solution
    Três eixos de deformação: level (todos yields sobem juntos), slope (curta vs longa maturidade), curvature (meio vs extremos). Litterman-Scheinkman (1991) mostraram que esses 3 PCs explicam ~99% da variância da yield curve do Tesouro americano. SVD da matriz de yields diários (tempo × maturidade) extrai esses fatores automaticamente.
  25. Ex. 117.25Application

    Para quais valores de kk a SVD truncada de uma imagem n×nn \times n ocupa menos memória que a imagem original? Derive a condição geral.

    Show solution
    Taxa de compressão para imagem m×nm \times n com kk singulares: mn/[k(m+n+1)]mn / [k(m + n + 1)]. Para ser vantajoso: k(m+n+1)<mnk(m+n+1) < mn, ou seja k<mn/(m+n+1)k < mn/(m+n+1). Para m=n=1000m = n = 1000: k<106/2001499k < 10^6/2001 \approx 499. Para qualquer k<n/2k < n/2 há compressão. Para k=100k = 100: taxa de aproximadamente 5x.
  26. Ex. 117.26Understanding

    A norma de Frobenius AF2\|A\|_F^2 é igual a:

    Select the correct option
    Select an option first
    Show solution
    AF2=tr(ATA)=iσi2\|A\|_F^2 = \text{tr}(A^T A) = \sum_i \sigma_i^2. Esta é a identidade central que conecta norma de Frobenius com SVD e justifica a fórmula de erro de Eckart-Young.
  27. Ex. 117.27Application

    Se AA tem valores singulares σ1,σ2,σ3\sigma_1, \sigma_2, \sigma_3, quais são os valores singulares de 3A-3A?

    Show solution
    Valores singulares de cAcA: cσi(A)|c| \sigma_i(A). Pois SVD de cA=U(cΣ)VTcA = U (c\Sigma) V^T; valores singulares são entradas de cΣ|c|\Sigma. Valores singulares de ABAB não têm fórmula simples em geral, mas σ1(AB)σ1(A)σ1(B)\sigma_1(AB) \leq \sigma_1(A) \sigma_1(B).
  28. Ex. 117.28Proof

    Demonstre que as colunas de UU e VV na SVD de AA formam bases ortonormais dos 4 subespaços fundamentais de AA. Enuncie cada subespaço e sua base explicitamente.

    Show solution
    Quatro subespaços pela SVD: (1) Col(A)=span{u1,,ur}\text{Col}(A) = \text{span}\{u_1, \ldots, u_r\} (dimensão rr); (2) ker(AT)=span{ur+1,,um}\ker(A^T) = \text{span}\{u_{r+1}, \ldots, u_m\} (dimensão mrm - r); (3) Row(A)=span{v1,,vr}\text{Row}(A) = \text{span}\{v_1, \ldots, v_r\} (dimensão rr); (4) ker(A)=span{vr+1,,vn}\ker(A) = \text{span}\{v_{r+1}, \ldots, v_n\} (dimensão nrn - r). Demonstração: Avj=σjujAv_j = \sigma_j u_j para jrj \leq r e Avj=0Av_j = 0 para j>rj > r.
  29. Ex. 117.29ModelingAnswer key

    Descreva o algoritmo de recomendação por SVD colaborativo: dado uma matriz usuário-item esparsa, como a SVD truncada pode prever ratings ausentes e recomendar itens?

    Show solution
    Passos: (1) montar matrix de ratings RR (usuários × itens, esparsa); (2) preencher ausências com média; (3) centralizar por usuário; (4) SVD truncada de rank kk; (5) aproximação Rk=UkΣkVkTR_k = U_k \Sigma_k V_k^T preenche os ratings faltantes; (6) recomendar os itens com maior valor predito. A ideia é que "gostos latentes" são capturados pelos primeiros kk fatores.
  30. Ex. 117.30Challenge

    Descreva o algoritmo de SVD randomizada de Halko-Martinsson-Tropp (2011) em 5 passos. Por que ele é vantajoso para matrizes grandes de baixo posto numérico? Qual a complexidade comparada com SVD exata?

    Show solution
    SVD randomizada (Halko-Martinsson-Tropp 2011): (1) Gere ΩRn×(k+p)\Omega \in \mathbb{R}^{n \times (k+p)} aleatória; (2) Y=AΩY = A \Omega (sketch da imagem); (3) Q,R=QR(Y)Q, R = \text{QR}(Y); (4) B=QTAB = Q^T A (pequena); (5) SVD de B=U^ΣVTB = \hat U \Sigma V^T; (6) U=QU^U = Q \hat U. Complexidade: O(mn(k+p))O(mn(k+p)) vs O(mn2)O(mn^2) para SVD exata. Com oversampling p=10p = 10, o erro esperado é próximo ao ótimo de Eckart-Young.

Fontes

Updated on 2026-05-06 · Author(s): Clube da Matemática

Found an error? Open an issue on GitHub or submit a PR — open source forever.