DECOMPOSIÇÃO EM VALORES SINGULARES DE UMA MATRIZ
Professor: Angel Ramírez Gutiérrez1
1Instituto de Matemática y Ciencias Afines (IMCA), Lima, Perú 2Universidad Nacional de Ingeniería, Lima, Perú
Introdução
Neste trabalho vamos apresentar alguns resultados básicos de decomposição em valores singulares de uma matriz qualquer, assim como algumas de suas aplicações para motivar seu estudo. Com este objetivo, serão introduzidos alguns
resultados prévios conhecidos para matrizes quadradas e em particular para as matrizes simétricas.
Neste tópico vamos ver a importância da álgebra linear na formação como engenheiros, pois faremos uso de conceitos de matrizes, autovalores e autovetores, diagonalização, etc.
Resultados prévios
Seja A ∈ Rn×numa matriz simétrica. Então é possível obter uma matriz P ∈ Rn×n ortogonal tal que A = PDPT, onde D é uma matriz diagonal que em sua diagonal principal estão os autovalores da matriz A.
No caso seja A ∈ Rn×n uma matriz não simétrica, dizemos que é diagonalizável quando existe uma matriz S não singular e uma matriz diagonal D tal que A = SDS−1. Os autovalores da matriz A estão na diagonal principal da matriz D.
Mas, nem toda matriz A ∈ Rn×n é diagonalizável. E as matrizes retangulares A ∈ Rm×n?
Algoritmo para diagonalizar uma matriz
Entrada: Uma matriz quadrada A ∈ Rn×n. Saída: Uma matriz não singular S ∈ Rn×n
Uma matriz diagonal D ∈ Rn×ntal que D = SAS−1. Passo 1: Obter os autovalores λ da matriz A resolvendo:
det(A − λI) = 0.
Passo 2: Determine a multiplicidade algébrica da cada λ.
Passo 3: Calcular os subespaços associados a cada autovalor λ: S(λ) = {v ∈ Rn/ (A − λI)v = 0}
Passo 4: Determine a multiplicidade geométrica de cada λ.
Algoritmo para diagonalizar uma matriz
Passo 5: Se m.a.(λ) = m.g.(λ) para todo autovalor λ então a matriz A é diagonalizável.
Passo 5.1:
Para cada autovalor λi escolha os autovetores
vi ∈ S(λi)que sejam uma base de S(λi).
Passo 5.2:
Defina a coluna ” i ” de S como sendo o autovetor vi.
Fim.
Passo 6: Se m.a.(λ) 6= m.g.(λ) para algum autovalor λ então a matriz A não é diagonalizável. Fim.
Algoritmo para diagonalizar uma matriz simétrica
Lembre que toda matriz simétrica A pode-se diagonalizar de forma ortogonal, isto é, pode-se obter uma matriz ortogonal (PPT =I) tal que D = PAPT.
Entrada: Uma matriz quadrada simétrica A ∈ Rn×n. Saída: Uma matriz não singular P ∈ Rn×n
Uma matriz diagonal D ∈ Rn×ntal que D = PAPT. Passo 1: Obter os autovalores λ da matriz A resolvendo:
det(A − λI) = 0.
Passo 2: Determine a multiplicidade algébrica de cada λ.
Passo 3: Calcular os subespaços associados a cada autovalor λ: S(λ) = {v ∈ Rn/ (A − λI)v = 0}
Passo 4: Determine a multiplicidade geométrica de cada λ.
Algoritmo para diagonalizar uma matriz simétrica
Passo 5:
Passo 5.1:
Para cada autovalor λi escolha os autovetores vi ∈ S(λi)
que sejam uma base de S(λi).
Passo 5.2:
Se necessário, use o proceso de Gram-Schmidth para obter uma base ortogonal de Rn.
Passo 5.3:
Exemplo:
Diagonalizar ortogonalmente a matriz: A = 1 −2 2 −2 4 −4 2 −4 4 . Solução:
Passo 1: Cálculo de autovalores da matriz A:
PA(λ) =det 1 − λ −2 2 −2 4 − λ −4 2 −4 4 − λ = −λ3+9λ2= −λ2(λ−9) Os autovalores de A são λ1=0 e λ2=9.
Passo 2: Cálculo das multiplicidades algébricas:
m.a.(0) = 2 e m.a.(9) = 1.
Passo 3:
Cálculo de autovetores v ∈ R3\{0} tal que (A − λI)v = 0:
Para λ = 0: (A − λI|0) = 1 −2 2 0 −2 4 −4 0 2 −4 4 0 ∼ 1 −2 2 0 0 0 0 0 0 0 0 0 , portanto: v1− 2v2+2v3=0 ⇒ v1=2v2− 2v3,e assim: v = v1 v2 v3 = 2v2− 2v3 v2 v3 =v2 2 1 0 +v3 −2 0 1 . Então m.g.(λ = 0) = 2 e os autovetores associados são:
2 1 0 , −2 0 1
Passo 3:
Para λ = 9: (A − λI|0) = −8 −2 2 0 −2 −5 −4 0 2 −4 −5 0 ∼ 2 −4 −5 0 0 −9 −9 0 0 0 0 0 , resolvendo obtemos v2= −v3e v1= v3 2, logo: v = v1 v2 v3 = v3/2 −v3 v3 = v3 2 1 −2 2 , então m.g.(9) = 1 e assim um autovetor associado ao autovalor λ = 9 é: 1 −2 2 Passo 4: Construir a matriz ortogonal P.
Considere: u1= 2 1 0 ,u2= −2 0 1 e u3= 1 −2 2 .Os vetores {u1,u2,u3} ainda não são ortogonais. Portanto,
usamos o processo de Gram-Schmidth para ortonormalizar os vetores e assim obtemos:
√ 5 5 2 1 0 , √ 5 3 −2/5 4/5 1 , 1 3 1 −2 2 .
assim obtemos as seguintes matrizes: P = 2√5 5 − 2√5 15 1 3 √ 5 5 4√5 15 − 2 3 0 √ 5 3 2 3 e D = 0 0 0 0 0 0 0 0 9 .
Pode-se verificar que A = PDPT.
Matrizes retangulares diagonais
Seja uma matriz retangular A ∈ Rm×n. Adiagonal principal da
matriz A está formada pelas entradas aii com
i ∈ {1, . . . , m´ın(m, n)}.
Uma matriz D ∈ Rm×nchama-seretangular diagonal se todas
suas entradas fora da diagonal principal são nulas:
Decomposição em valores singulares
Seja a matriz A ∈ Rm×n. Então existem matrizes ortogonais
U ∈ Rm×m e V ∈ Rn×n tais que A = UDVT, onde D é uma matriz retangular diagonal m × n da forma:
D = σ1 0 · · · 0 0 0 σ2 · · · 0 0 .. . ... ... ... 0 0 · · · σr 0 0 0 · · · 0 0 com σ1≥ σ2≥ . . . ≥ σr >0 e r ≤ m´ın(m, n) é o número de
valores singulares não nulos. Às vezes se definem também σi =0 para todo i > r .
Definición 1
Os valores σ1, σ2, . . . , σr da diagonal principal de S são
chamados devalores singulares de A. Definición 2
As colunas da matriz U são chamadas devetores singulares à esquerda da matriz A. As colunas da matriz V são
Não parece trivial que qualquer matriz A ∈ Rm×nadmita uma decomposição em valores singulares. Mas supondo que A = UDVT, então AT =VDTUT e assim:
AAT = (UDVT)(VDTUT) =UD(VVT)DTUT =UDDTUT ⇒ UT(AAT)U = DDT
mas como D ∈ Rm×né uma matriz real diagonal, então o produto DDT é uma matriz diagonal com entradas σ2i de mesma ordem que D, isto é:
σ1 0 0 . . . 0 0 σ2 0 . . . 0 .. . . . . ... . . 0 0 . . . 0 σm . . . 0 σ1 0 0 . . . 0 σ2 0 . . . .. . . . .. ... .. . . . .. σm .. . . . .. . . . 0 . . . 0 0
Então obtemos uma diagonalização da matriz AAT e os valores singulares de A são as raízes quadradas dos autovalores da matriz AAT.
Observe também:
UT(AAT)U = DDT ⇒ (AAT)U = U(DDT) = (DDT)U pois DDT é uma matriz diagonal. Se uj é a coluna ” j ” da
matriz U, então temos que (AAT)uj = σ2uj, isto é, as colunas
Algoritmo para diagonalizar uma matriz qualquer
A análise anterior dá o seguinte algoritmo para obter a decomposição singular da matriz A.
Entrada: Uma matriz A ∈ Rm×n.
Saída: Matrizes ortogonais U ∈ Rm×m,V ∈ Rn×n e os valores singulares σi.
Uma matriz retangular diagonal D ∈ Rn×n.
Passo 1: Obter os autovalores λ da matriz AAT resolvendo: det(AAT − λI) = 0.
Passo 2: Calcular os subespaços associados a cada autovalor λ: S(λ) = {v ∈ Rn/ (AAT − λI)v = 0}
Algoritmo para diagonalizar uma matriz qualquer
Passo 3: Calcule os valores singulares σi =
√ λi
para todo i = 1, . . . , m. Passo 4:
Passo 4.1:
Para cada autovalor λi escolha os autovetores ui ∈ S(λi)
que sejam uma base de S(λi).
Passo 4.2:
Se necessário, use o proceso de Gram-Schmidth para obter uma base ortonormal de Rn.
Passo 4.3:
Defina a coluna ” i ” de U como sendo o autovetor ui.
Passo 5:
Exemplo:
Calcule a decomposição em valores singulares da matriz A = 1 2 0 2 0 2 . Solução:
Passo 1: Calculamos os autovalores da matriz AAT = 5 2 2 8 : det 5 2 2 8 − λ 1 0 0 1 =0 ⇒ (λ − 9)(λ − 4) = 0 isto implica que λ1=9 e λ2=4, portanto os valores singulares
da matriz A são: σ1= √ λ1=3 e σ2= √ λ2=2, logo: D = 3 0 0 0 2 0 .
Passo 2: Calcular as colunas da matriz U, isto é, calculamos os autovetores da matriz AAT para cada autovalor resolvendo o sistema (AAT − λI)u = 0.
Para λ = 9 temos: −4 2 0 2 −1 0 ⇒ 2 −1 0 0 0 0 ⇒ u1= 1/√5 2/√5 . Para λ = 4 temos: 1 2 0 2 4 0 ⇒ 1 2 0 0 0 0 ⇒ u2= −2/√5 1/√5 . Portanto U = [u1 u2], isto é: U = 1/√5 −2/√5 2/√5 1/√5 .
Passo 3: Cálculo da matriz V mediante: AV = UD ⇒ 1 2 0 2 0 2 V = 1/√5 −2/√5 2/√5 1/√5 3 0 0 0 2 0
Se vi é a coluna i da matriz V , logo temos:
1 2 0 0 −4 2 [v1 v2 v3] = 3/√5 −4/√5 0 0 2√5 0
Cálculo de v
1unitário
Se v1= (x , y , z), logo: 1 2 0 0 −4 2 x y z = 3/√5 0 ⇒ x = 3/√5 − z/2 y = z/2 Como kv1k2=x2+y2+z2=1 ⇒ z = 4 3√5. Logo: v1= 5 3√5 2 3√5 4 3√5 Cálculo de v2e v3: Se procede de forma análoga e obtemos: v2= 0 −2/√5 1/√5 , v3= −2/3 1/3 2/3
assim obtemos a matriz V :
V = 5 3√5 0 − 2 3 2 3√5 − 2 √ 5 1 3 4 3√5 1 √ 5 2 3
pode-se verificar que A = UDVT.
Teorema 1
Toda matriz A ∈ Rm×n possui uma decomposição em valores singulares.
Teorema 2
Os valores singulares σi da diagonal são únicos.
Observação:
A decomposição em valores singulares não é única, pois se A = In, então para toda matriz ortogonal V tem-se
Teorema 3
Seja A ∈ Rm×ncom valores singulares σ
1≥ σ2≥ . . . ≥ σr ≥ 0
e seja r o posto de A. Sejam u1, . . . ,ur os vetores singulares à
esquerda e sejam v1, . . . ,vr os vetores singulares à direita de A
correspondentes aos valores singulares. Então: A = σ1u1v1T + σ2u2v2T + . . . + σrurvrT
Número de condição
Dada uma norma em Rn, pode-se definir uma norma matricial induzida dada por:
kAk = m´ax kAxk
kxk /x 6= 0
= m´ax{kAx k / kx k = 1}. Vamos considerar a norma euclidiana. Sabemos que
A = UDVT e lembrando que matrizes ortogonais conservam a norma, então kAx k = k(UDVT)x k e = kVTx k = kx k pois V
também é ortogonal, portanto:
kAxk = m´ax{kAx k / kx k = 1} = m´ax{kDVTx k / kx k = 1} = m´ax{kD(VTx )k / kVTx k = 1} = kDk
Por outro lado, considerando kx k = 1, então: kDxk = v u u t r X j=1 |σjxj|2≤ σ1 v u u t r X j=1 |xj|2≤ σ1kxk = σ1
desta forma kx kσ1. E se pegamos x0=e1= (1, 0, . . . , 0) temos
que kx0k = 1, então:
kDk = m´ax{kDx k / kx k = 1} ≥ kDx0k = σ1
concluindo que kAk = σ1, que é o maior valor singular de A.
e temos que A−1=VD−1UT, assim obtemos que os valores singulares de A−1são: 1 σn ≥ . . . ≥ 1 σ1 portanto kA−1k = 1 σn
. Lembrando que Cond2(A) = kAk kA−1k,
obtemos:
Cond2(A) = kAk kA−1k =
σ1
σn
Solução de sistemas de equações lineares
Se A = UDVT então do sistema Ax = b obtemos (UDVT)x = b e aproveitando que U é ortogonal, tem-se:
D(VTx ) = UTb
se A é invertível, então σi 6= 0 para todo i, portanto:
VTx = D−1UTb e VT também é ortogonal, assim resulta:
x = VD−1UTb
Compressão de imagens
Figura 2:r = 50. Tamanho: 49.4 Kb.
Figura 4:r = 200. Tamanho: 53.2 Kb.
Referencias bibliograficas
Ascher, U.M., Greif, C., A First Course in Numerical Methods, Siam. Computational Science & Engineering, 2011.
Domínguez Jiménez, M. Matrices: un modelo para las fotografías digitales. Modelling in Science Education and Learning, 2011.
Grossman, S., Álgebra Lineal, Mc Graw Hill, 2008.
Burden, R. Faires, Douglas., Análisis Numérico. Grupo Editorial Iberoamericana, México, 1985.