Escolar Documentos
Profissional Documentos
Cultura Documentos
Volta Redonda, RJ
2021
João Pedro Cardoso da Silva de Vasconcellos
Volta Redonda, RJ
2021
Vasconcellos, João Pedro Cardoso da Silva de
Estudo da Fatoração de matrizes com aplicações na resolução de sistemas lineares e em
processamento de imagens/ João Pedro Cardoso da Silva de Vasconcellos. – Volta Redonda,
RJ, 2021. 99 f., 30cm. : il.
Volta Redonda, RJ
2021
Aos meus pais, à minha família e a todos que ajudaram,
de alguma forma, a realizar esse trabalho.
Agradecimentos
Primeiro, agradeço a Deus pelo direcionamento que Ele me deu. Desde a escolha do curso,
sempre me guiando e estando comigo, me sustentando em momentos difíceis, colocando
pessoas ótimas ao meu redor durante a graduação. Tudo para honra e glória d’Ele.
Aos meus pais Jefferson Rocha de Vasconcellos e Cintia Cardoso da Silva de Vasconcellos,
por terem me dado todo incentivo e suporte que eu precisei, que me aconselharam e me
acalmaram nas horas que precisei. Á toda minha família que me incentivou e acreditou
em mim.
À minha orientadora Marina Ribeiro, que desde que entrei no curso me orientou, me guiou,
me instruiu e me direcionou a um crescimento como matemático, teve paciência e amor
durante todo esse tempo. A minha coorientadora Rosemary, que esteve comigo desde no
curso também, me ajudou com diversas dificuldades e que, ainda no primeiro período, me
incentivou a ficar no curso e me mostrou um caminho que poderia seguir e que, hoje, quero
segui-lo. Sou imensamente grato a vocês duas. Um agradecimento especial a professora
Marina Sequeiros pela sua grande contribuição com a aplicação de identificador de rostos,
contribuição que tornou possível apresentarmos a aplicação.
Aos meus amigos Melissa, Guilherme, Marcos, Natália, Hermes, Mariana, Joel, Tais,
Guylherme, Nelson, Rayan e Patrick, que me fizeram companhia durante todo esse trajeto,
com quem cresci como matemático e como pessoa, me ajudaram nos momentos difíceis e
me alegraram tanto com suas presenças como com brincadeiras. A meus amigos de ensino
médio Antonio Tadeu, Pedro Henrique e Talles pelas horas de lazer. A todos aqueles que
estiveram ao meu redor durante a graduação, o meu muito obrigado.
Agradeço ao corpo docente da UFF por me ensinar os ramos da matemática, por todo
o conhecimento agregado e, em especial, aos professores Carlos Henrique, Alan Prata,
Leandro Egea, Alessandro Gaio e Ivan Aguilar, por me inspirarem e serem um exemplo de
matemáticos e professores para mim.
Agradeço à banca avaliadora Marina Sequeiros e Vera Lucia Caminha por terem aceitado
participar desse momento e contribuir com meu trabalho e a todos que trabalharam na
UFF em todos os setores, que tornaram um ambiente propício para estudo, que mantiveram
limpa toda a Unidade e agradeço à Universidade Federal Fluminense pela oportunidade
dada.
“Você, eu , ninguém vai bater tão duro como a vida,
mas não se trata de bater duro, se trata de quanto você aguenta
apanhar e seguir em frente, o quanto você é capaz de aguentar
e continuar tentando. É assim que se consegue vencer”.
(Rocky Balboa, 2012)
Resumo
A fatoração de uma matriz pode ser aplicada em diversas situações, principalmente aquelas
que envolvem processos computacionais como o processamento de imagens (compressão de
imagens e identificação de rostos, por exemplo) e a resolução de sistemas lineares. Nesta
última, objetiva-se encontrar a solução do sistema Ax = b, quando possível. Este trabalho
apresenta um estudo de técnicas de resolução de sistemas lineares através da fatoração da
matriz do sistema. Em termos formais, se A ∈ Rm×n e b ∈ Rm , resolver o sistema linear
Ax = b consiste em encontrar um vetor x ∈ Rn tal que Ax é a melhor aproximação para b,
ou seja, obter um vetor x que minimize ||Ax − b||2 , onde ||.||2 é norma vetorial euclidiana.
Para os casos em que a matriz A é quadrada, ou seja, m = n e A é uma matriz não singular
(det(A) 6= 0), o problema tem resposta simples: x = A−1 b. Entretanto, se o sistema é
sobredeterminado, ou seja, m > n, é possível que nenhum x satisfaça Ax = b (nesses casos
procura-se uma solução aproximada, que minimize ||Ax − b||2 e este problema é conhecido
como problema de mínimos quadrados). Neste trabalho foi proposto o estudo dos sistemas
lineares em que A é matriz quadrada de ordem n não singular (sistema com solução única)
e os sistemas sobredeterminados, ou seja, os casos em que m > n. A fatoração LU e
a fatoração de Cholesky foram estudadas e aplicadas aos sistemas do primeiro caso. A
fatoração ortogonal (QR) e a Decomposição em Valores Singulares (SVD) foram estudadas
e aplicadas na resolução do segundo. Para a primeira, a fatoração A = Q bRb reduzida foi
factorization was applied to the image compression problem and also to face recognition.
LI Linearmente independente
|| · || Norma-2 euclidiana.
1 INTRODUÇÃO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
3 FATORAÇÃO LU . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
3.1 Fatoração LU de matriz retangular . . . . . . . . . . . . . . . . . . . 17
4 FATORAÇÃO DE CHOLESKY . . . . . . . . . . . . . . . . . . . . . 19
4.1 Fatorações Auxiliares . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
4.2 Matriz definida positiva . . . . . . . . . . . . . . . . . . . . . . . . . . 20
4.3 Fatoração de Cholesky . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
4.4 Resolução de sistemas lineares com a Fatoração de Cholesky . . . . 24
5 FATORAÇÃO QR . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
5.1 Projetores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
5.2 Projetores Ortogonais . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
5.3 O processo de Gram-Schmidt . . . . . . . . . . . . . . . . . . . . . . . 36
5.4 Fatoração QR reduzida . . . . . . . . . . . . . . . . . . . . . . . . . . 38
5.5 Fatoração QR completa . . . . . . . . . . . . . . . . . . . . . . . . . . 40
7 APLICAÇÕES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
7.1 O Problema de Mínimos Quadrados . . . . . . . . . . . . . . . . . . . 51
7.2 Resolução de um sistema impossível por mínimos quadrados usando
Cholesky . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
7.3 Resolução de um sistema impossível por mínimos quadrados usando
QR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
7.4 Resolução de um sistema impossível por mínimos quadrados usando
SVD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
7.5 Compressão de imagens . . . . . . . . . . . . . . . . . . . . . . . . . . 59
7.6 Reconhecimento de faces . . . . . . . . . . . . . . . . . . . . . . . . . 63
7.6.1 Resultados e discussões . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
8 CONSIDERAÇÕES FINAIS . . . . . . . . . . . . . . . . . . . . . . . 70
REFERÊNCIAS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
APÊNDICES 74
1 Introdução
Este trabalho aborda um tema da álgebra linear que se aplica em várias áreas
como física, economia, engenharia, biologia, geografia, problemas de navegação, aviação e
demografia, que são os sistemas lineares. Hoje, é uma área de pesquisa que anda aliada à
computação, visto que cientistas buscam métodos numéricos para resolver sistemas que,
manualmente, são inviáveis de se resolver, dada que as matrizes dadas para um sistema
possuem ordem muito alta.
Um sistema linear consiste em um conjunto de equações de ordem 1 que podem ser
escritos na forma matricial Ax = b, no qual A é uma matriz qualquer de tamanho m × n,
x ∈ Rn e b ∈ Rm . O objetivo é encontrar o vetor x ∈ Rn que satisfaça a equação Ax = b
ou, expressando de uma forma mais técnica, é encontrar o vetor x tal que Ax é a melhor
aproximação de b, ou seja, que minimize || b − Ax ||2 , onde || | · |2 é a norma euclidiana.
Este trabalho propõe resolver esses sistemas lineares fatorando a matriz A associada
ao sistema. Este tipo de resolução é classificado como um método direto. A vantagem de
usar o método de fatoração de matrizes comparado à outros métodos, como os métodos
iterativos, é que, uma vez fatorada a matriz, podemos resolver qualquer sistema linear que
possua a mesma matriz de coeficientes a um custo computacional menor.
No caso de matrizes quadradas não singulares(ou seja, detA 6= 0), sabemos que a
solução para o sistema é única. Para encontrarmos essa solução, utilizaremos a fatoração
LU, que se baseia na eliminação gaussiana, e a fatoração de Cholesky, que é similar a
fatoração LU, porém aplicável somente em matrizes simétricas definidas positivas.
Quando o sistema for sobredeterminado, ou seja, quando, para a matriz A ∈ Rm×n ,
m > n, teremos um sistema sobredeterminado com mais equações do que incógnitas,
e, possivelmente, nenhum x satisfará a equação Ax = b. Para esses casos, recorremos a
métodos para encontrar uma solução aproximada. O método que trabalharemos será o
método dos mínimos quadrados que relaciona a solução do sistema de equações normais
AT Ax = AT b com a solução por mínimos quadrados de Ax = b. Para resolver um sistema
de equações normais, aplicaremos a fatoração QR, também conhecida como fatoração
ortogonal, a fatoração SVD e a fatoração de Cholesky, uma vez que mostraremos que a
matriz AT A satisfaz as hipóteses para uma fatoração de Cholesky.
Este trabalho está organizado da seguinte maneira: No Capítulo 2, são introduzidos
os conceitos necessários de Álgebra Linear para embasar a teoria estudada e situar o leitor
do que será utilizado. Assuntos como norma de vetores, produto interno, espaços vetoriais
e matrizes serão abordados.
Capítulo 1. Introdução 2
Definição 2.1. Seja K um corpo. O conjunto não vazio V será um espaço vetorial sobre
K se em seus elementos, chamados de vetores, estiverem definidas as seguintes operações
Além disso, vamos impor que as operações dadas em (1) e (2) se distribuam, isto é, que
valham as seguintes propriedades:
(D1) α · (u + v) = α · u + α · v, ∀ α ∈ K e ∀ u, v ∈ V .
(D2) (α + β) · v = α · v + β · v, ∀ α, β ∈ K e ∀ v ∈ V .
Definição 2.2. Seja V um espaço vetorial sobre um corpo R. Dizemos que um subconjunto
β de V é uma base de V se
Definição 2.3. Seja V um espaço vetorial sobre R. Se V admite uma base finita, então
chamamos de dimensão de V o número de elementos de tal base. Caso contrário, dizemos
que a dimensão de V é infinita.
Definição 2.5. Seja V um espaço vetorial sobre R. Um produto interno sobre V é uma
função h, i : V × V → K que satisfaz as seguintes quatro propriedades:
4. hu, ui > 0, se u 6= 0
Além disso, como nossos vetores são representados por vetores coluna, representaremos o
produto interno entre os vetores x e y por xT y, ou seja, hx, yi = xT y.
Definição 2.6. Seja V um espaço vetorial sobre R. Uma norma sobre V é uma função
|| ||: V → K que satisfaz as seguintes quatro propriedades:
Capítulo 2. Revisão de Conceitos da Álgebra Linear 5
2. || u + v ||≤|| u || + || v ||.
3. || αu ||=| α | || u ||.
√
Neste trabalho, usaremos a norma canônica do Rn , dada por || x ||= xT x.
Especificamos o tipo de norma uma vez que, no próprio espaço euclidiano Rn ,
existem outras normas, como a norma 1, norma p e norma ∞. Para mais detalhes sobre
essas normas, veja (1).
2.2 Matrizes
Definição 2.8. Sejam m e n dois inteiros positivos. Uma matriz A, m por n, sobre K, é
dada por m × n valores aij ∈ K, com 1 ≤ i ≤ m, 1 ≤ j ≤ n agrupados em m linhas e n
colunas, e será representada como
a · · · a1n
11
.. .. ..
A = (aij ) = . . . .
am1 · · · amn
Definição 2.10. Dada uma matriz A ∈ Rm×n , a matriz transposta de A, denotada por
AT = (bij ) ∈ Rn×m é a matriz tal que bij = aji .
Definição 2.11. Dada uma matriz A ∈ Rm×n , diremos que essa matriz A é triangular
superior(inferior) se aij = 0, se i < j(i > j).
i=1
Analogamente, definimos o espaço linha de A.
Definição 2.13. Dada uma matriz A ∈ Rm×n , o núcleo de A, denotado por N uc(A), é o
conjunto tal que N uc(A) = {x ∈ Rn , Ax = 0}.
Definição 2.15. Diremos que A ∈ Rm×n é uma matriz unitária se A possui posto completo
e preserva o produto interno, ou seja, se A satisfaz (Ax)T Ay = xT y.
0 1 0
1 0 0
1 0 0
E1 =
1 0 0
, E2 = 0 α 0 , E3 = 0 1 0
.
0 0 1 0 0 1 α 0 1
Teorema 2.1. Toda matriz elementar é inversível e sua inversa também é elementar.
Demonstração. Suponha que seja aplicada uma operação elementar em uma matriz iden-
tidade I, logo, é produzida uma nova matriz E. Agora, aplique em E a operação inversa
da que foi aplicada em I.
Se denotarmos Ek a operação inversa citada acima, temos que Ek E = I. Analoga-
mente, concluimos que EEk = I, como queríamos demonstrar.
Capítulo 2. Revisão de Conceitos da Álgebra Linear 7
Definição 2.17. Diremos que uma matriz está na forma escalonada por linhas, ou somente
escalonada, ou ainda, na forma escada, quando:
1 87 3 0
1 2 3
0 4 20 89
A= 0 4 5 B=
, .
0 0 3 56
0 0 7
0 0 0 0
Definição 2.18. Seja A ∈ Rm×n uma matriz que requer apenas escalonamento do tipo
somar linha a um múltipla de outra linha pra sua redução à forma escada. Diremos que
uma matriz quadrada Mj ∈ Rm×m é a matriz da j-ésima transformação de Gauss se
Mj A(j−1) = A(j) .
a11 a12 a13
A fim de exemplificar, para a matriz A =
a21 a22 a23
a matriz M1 é dad por
a31 a32 a33
1 0 0
M1 = −a21
1 0
a11
−a31
a11
0 1
O próximo teorema garante resultados sobre matrizes triangulares.
2. Uma matriz triangular S é inversível se, e só se, seus elementos na diagonal principal
são todos não nulos.
n
cij = (2.1)
X
aik bkj .
k=1
Tomando um termo cij tal que i < j, reescrevemos a igualdade (2.1) por
j−1 n
cij = aik bkj +
X X
aik bkj .
k=1 k=j
ou ainda
i−1 n
cij = aik bki + aii bii
X X
aik bki .
k=1 k=i+1
Pela análise feita na primeira parte do item, os dois somatórios são nulos, logo
S 0
,
v T dn+1
onde v ∈ Rn , dn+1 ∈ R∗ e 0 é o vetor nulo de Rn . Como S1 é inversível, os elementos de
sua diagonal são não-nulos, o que implica que os elementos da diagonal de S também
sejam não nulos. Pela hipótese de indução, a inversa S −1 é uma matriz triangular inferior.
Seja w ∈ Rn tal que
1
w=− v T S −1 .
dn+1
0
S −1
R= 1 .
T
w
dn+1
e note que
S −1 S + 0v T S −1 0 + 0dn+1
I 0
RS1 = T 1 T dn+1 = T
w S+ v w 0+
T
0 1
dn+1 dn+1
e
1
SS −1
+ 0w T
T0 + 0
dn+1 I 0
S1 R = = .
dn+1
0 1
v T S −1 + wT dn+1
dn+1
Definição 2.19. Seja A ∈ Rn×n . Diremos que A é uma matriz não-singular, ou inversível
quando seu determinante é diferente de zero.
1. A não é inversível
2. A é inversível
1. Suponha, por absurdo que AB é inversível. Logo, existe uma matriz C tal que
ABC = I, ou ainda, existe uma matriz BC que é a inversa a direita de A. Absurdo,
uma vez que A não é inversível. Portanto, AB não é inversível e det(AB) = 0 =
0 · det(B) = det(A)det(B).
Capítulo 2. Revisão de Conceitos da Álgebra Linear 10
Teorema 2.4. (Teorema do Núcleo e da Imagem) Dada uma matriz A ∈ Rm×n , temos
que n = dim(N uc(A)) + dim(Im(A)).
Teorema 2.5. Seja V um R−espaço vetorial de dimensão finita com produto interno. As
seguintes afirmações são equivalentes:
1. T : V → V é autoadjunto ;
3. Existe uma base ortonormal de V tal que a matriz de T nessa base é diagonal.
Teorema 2.6. Uma matriz A quadrada é inversível se, e somente se, o sistema linear
homogêneo Ax = 0 tem somente a solução trivial.
Pelo fato de toda matriz elementar ser inversível e como A é uma matriz quadrada
com vetores coluna L.I., então a forma escada de A é triangular superior inversível. Logo,
det(Esc(A)) 6= 0 e det(A) 6= 0, e, portanto, A é inversível.
12
3 Fatoração LU
Definição 3.1. Se A é uma matriz quadrada real que pode ser fatorada na forma A = LU ,
onde L é uma matriz real triangular inferior e U é uma matriz real triangular superior,
então dizemos que A = LU é uma fatoração LU de A.
3 −1 2
3 0 0
1 −1
3
2
3
Exemplo 3.1. 4 3 7 = 4 13
0 0 1 1
3
−2 1 5 −2 1
3
6 0 0 1
2 6 4
1 0 0 2 6 4
Exemplo 3.2. 4 4 −1 = 2 1 0 0 −8 −9
−2 2 5 −1 −1 1 0 0 0
É importante dizer que nem todas as matrizes tem uma fatoração LU. De modo
geral, a matriz A só admite a fatoração LU se no seu escalonamento não for necessário
troca de linhas, como veremos no Teorema 3.1. Supondo que, no processo de escalonamento,
não precisamos efetuar permutações de linhas, existem matrizes M1 , M2 , . . . , Mk tais que
a forma escada de A é obtida por Mk . . . M1 A. Como, por hipótese, A é quadrada e não
requer troca de linhas, sua forma escada é triangular superior, logo existe uma matriz
resultante U tal que
Mk · · · M1 A = U. (3.1)
Note que as matrizes de Gauss são inversíveis e, como são triangulares inferiores,
sem premutação de linhas, suas inversas também são triangulares inferiores, pelo Teorema
2.2. Então, existe L tal que
L1 3L1
As primeiras operações a fazer são: L2 − , L3 − e L3 − L2 . Assim, obtemos
2 2
2 3 −1
U = 0 −7 5
.
2 2
0 0 −2
e, portanto,
2 3 −1
1 0 0 2 3 −1
1 −2 2 = 2 1 0 0 −7
=⇒ A = LU .
1 5
2 2
3 1 −1 3
2
1 1 0 0 −2
Perceba que, nos Exemplos 3.1 e 3.2, quando houve o elemento 0 na diagonal
principal, ele estava na posição ann , onde n é o tamanho da matriz quadrada. Embora
Capítulo 3. Fatoração LU 14
dois exemplos não sejam uma base confiável para uma afirmação, a posição do 0 não foi
uma coincidência.
A condição necessária para que a matriz A possa ter uma fatoração LU é possuir
pivôs diferentes de zero. Um método para se verificar isso é olhar para o determinante
de suas submatrizes principais, e é o que vamos definir antes de enunciar e demonstrar o
Teorema 3.1, sobre existência da fatoração LU.
Teorema 3.1. Uma matriz A ∈ Rn×n tem uma fatoração LU se det(A(k,k) ) 6= 0, para
k = 1, 2, . . . , n − 1.
Demonstração. Seja A ∈ Rn×n . Por hipótese, temos que A(1,1) = [a11 ] tem determinante
não nulo. Daí, a11 =
6 0 e é um pivô. Também temos que det(A(2,2) ) 6= 0 e, como a11 é pivô,
a primeira etapa do escalonamento de A pode ser escrita como E1 A = A(1) .
Como o determinante de um produto de matrizes é o produto dos determinantes
das matrizes (Teorema 2.3), tendo det(A(2,2) ) 6= 0 e det(E1 ) = 1, podemos concluir que
(1) (1)
det(A(2,2) ) 6= 0. Logo, a22 6= 0 e, assim, ele é o segundo pivô.
Suponha que k−1 etapas do escalonamento foram realizadas. Temos Ek−1 · · · E1 A =
(k−1)
A(k−1) , onde akk é o k-ésimo pivo. Considerando que
det(Ek−1 · · · E1 A) = det(A(k−1) )
=⇒ det(Ek−1 ) · · · det(E1 )det(A) = det(A(k−1) )
(k−1)
=⇒ det(A) = det(A(k−1) ) =⇒ det(A(k,k) ) = det(A(k,k) ).
(k−1) (k−1)
Então, como det(A(k,k) ) 6= 0, segue que det(A(k,k) ) 6= 0 e A(k,k) é triangular superior com
k pivôs.
Dessa forma, a hipótese de k variar até n − 1 é suficiente para garantir que a forma
escalonada de A é triangular superior pois, após a (n − 1)-ésima etapa do escalonamento,
os n − 1 primeiros termos da n-ésima linha serão nulos.
Capítulo 3. Fatoração LU 15
=⇒ L−1
2 L1 = L2 L2 U2 U1 =⇒ L2 L1 = U2 U1 .
−1 −1 −1 −1
Como L−1
2 L1 é triangular inferior e U2 U1
−1
é triangular superior, então existe uma
matriz diagonal D tal que L−1 2 L1 = D = U2 U1 . Considerando o método de Doolitle,
−1
−2
Portanto, a solução é dada por x = 2 .
1
Definição 3.3. Diremos que uma matriz C ∈ Rm×n possui forma triangular inferior
(superior) se bij = 0, se i < j (i > j).
Teorema 3.3. A condição necessária para que exista a fatoração LU para A ∈ Rm×n ,
m 6= n, é que A(k,k) seja não singular, para k ∈ {1, 2, . . . , j}, j = min{m, n}.
1 3 5
1 3 5 1 0 0
Exemplo 3.9. B = = 0 −2 −4 =⇒ B = L2×3 U3×3 .
2 4 6 2 1 0
0 0 0
Perceba que para os Exemplos 3.6 e 3.8 foi utilizada a mesma matriz A e, em cada
caso, foi obtida uma fatoração distinta. O mesmo aconteceu com a matriz B dos exemplos
3.7 e 3.9, garantindo assim, a não unicidade da fatoração LU .
19
4 Fatoração de Cholesky
Caso a matriz A seja não singular, as fatorações podem ser obtidas através da
fatoração LU , como mostraremos a seguir.
Demonstração. Pelo Teorema 3.1, a matriz A possui fatoração LU . Defina uma matriz
diagonal D da forma dii = uii , i = 1, 2, . . . , n. Como A é uma matriz inversível, D
também é inversível, assim, podemos reescrever a igualdade A = LU = LDD−1 U . Tome
D−1 U = M T e, temos, portanto, a igualdade A = LDM T . A unicidade das matrizes segue
do Teorema 3.2.
Teorema 4.2. Se todas as submatrizes principais de uma matriz simétrica A ∈ Rn×n são
não-singulares, então existe uma única matriz triangular inferior com diagonal unitária L
e uma única matriz diagonal D tais que A = LDLT .
Demonstração. Pelo Teorema 4.1, A possui fatoração LDM T . Como M é triangular inferior
com diagonal unitária, segue que
A = LDM T =⇒ AM −T = LD =⇒ M −1 AM −T = M −1 LD.
em problemas de otimização (que faz uso de formas quadráticas), entres outros [??, 8].
Esse tipo de matriz também é necessária para realizar a fatoração de Cholesky e, portanto,
vamos explorá-la nesta seção.
Perceba pela definição 4.3 que o cálculo que mostra que uma matriz é definida
positiva é o produto interno entre x e Ax. Aplicando, então, a definição de produto interno,
podemos chegar, também, em outra inequação que define se A é definida positiva.
Definição 4.4. Uma matriz A = [aij ] ∈ Rn×n é dita definida positiva se para qualquer
vetor não nulo x ∈ Rn , tivermos:
n
aij xi xj > 0.
X
i,j=1
Demonstração. Suponha, por absurdo, que A não é inversível. Então, existe um vetor não
nulo x ∈ Rn tal que Ax = 0, o que implica que xT Ax = 0. Contradição, pois A é definida
positiva.
Teorema 4.3. Se uma matriz A ∈ Rn×n é definida positiva, então todas as submatrizes
principais A(k,k) , 1 ≤ k ≤ n, são também definidas positivas.
i,j=1 i,j=1
Teorema 4.4. Se A ∈ Rn×n é definida positiva, então todos os seus elementos diagonais
são positivos.
Capítulo 4. Fatoração de Cholesky 22
i,j=1
Demonstração. Suponha que B não seja definida positiva. Então existe z ∈ Rk tal que
Suponha z não nulo tal que z T Bz = 0. Pela igualdade (4.1), e pelo fato de A
ser definida positiva, por hipótese, Xz = 0. Por outro lado, X tem posto e número de
incógnitas igual a k, então Xz = 0 possui somente a solução trivial z = 0. Logo, não existe
vetor não nulo tal que z T Bz = 0.
Suponha, agora, z ∈ Rk não nulo tal que z T Bz < 0. Defina, então, v = Xz, v não
nulo. Logo, z T Bz = v T Av > 0, pois A é definida positiva. Pela tricotomia, chegamos a um
absurdo. Logo, não ocorre z T Bz ≤ 0 para z não nulo, e isso demonstra que B é definida
positiva.
Demonstração. Perceba, pelo Teorema 4.3 e pelo Lema 4.1, que as subatrizes principais
de A são inversíveis. Então, de acordo com o Teorema 4.1, a matriz A possui fatoração
LDM T .
Se tomarmos X = L−T , pelo Teorema 4.5, a matriz B = X T AX = L−1 AL−T =
L−1 LDM T L−T = DM T L−T é definida positiva. Como M T L−T é uma matriz triangular
superior com diagonal unitária, concluímos que B e D tem a mesma diagonal.
Como, por hipótese, B é definida positiva, pelo Teorema 4.4, tem elementos
diagonais positivos. Por consequência, D tem elementos diagonais positivos.
Corolário 4.2. Se A é uma matriz simétrica definida positiva, então A admite a decom-
posição A = LDLT e D tem elementos diagonais positivos.
Demonstração. Pelo Teorema 4.3, temos que todas as submatrizes principais de A são não
singulares. Assim, segue do Teorema 4.2 que a fatoração LDLT de A existe.
A demonstração que os elementos não nulos de D são positivos é analoga ao do
Teorema 4.6, ao substituir M por L.
Capítulo 4. Fatoração de Cholesky 23
Teorema 4.7. Uma matriz A ∈ Rn×n é simétrica definida positiva se, e somente se, existe
uma única matriz triangular inferior G ∈ Rn×n com elementos diagonais positivos tal que
A = GGT .
Demonstração. (⇐) Suponha que exista uma matriz G que satisfaz as hipóteses do teorema,
ou seja, tal que A = GGT . Perceba que AT = (GGT )T = GGT = A, ou seja, a matriz A é
simétrica. Tomando x um vetor não nulo, temos as seguintes igualdades
Definindo G = LS, segue que A = GGT , com G sendo uma matriz triangular
inferior com elementos diagonais positivos, cuja unicidade segue da fatoração LDLT .
Teorema 4.8. Uma matriz simétrica A ∈ Rn×n é definida positiva se, e somente se, seus
pivôs são todos positivos.
Demonstração. (⇒) Se A ∈ Rn×n é simétrica definida positiva, pelo Corolário 4.1 e pelo
Teorema 4.7, temos que A = LU = GGT . Defina uma matriz diagonal D onde os elementos
da diagonal principal sejam dii = gii . Assim, A = GD−1 DGT , na qual GD−1 é triangular
inferior com diagonal unitária e DGT é triangular superior.
Pela unicidade da fatoração LU , temos L = GD−1 e U = DGT . E, pela igualdade,
U tem elementos diagonais positivos. Como U é a forma escalonada de A e os pivôs de A
estão na diagonal de U , os pivos de A são todos positivos.
(⇐) Se a matriz A ∈ Rn×n tem pivôs positivos, então as submatrizes principais de
A são inversíveis, possibilitando a fatoração LDLT de A. Denotando a matriz S, assim
como fizemos na demonstração do Teorema 4.7, temos que
n
x Ax = y y =
T T
yi2 ≥ 0,
X
i=1
com y = SLT x.
Como SLT é uma matriz triangular superior com diagonal positiva e inversível,
segue que o sistema homogêneo SLT x = 0 terá somente a solução trivial x = 0. Como x é
não nulo por hipótese, conclui-se que A é definida positiva.
Teorema 4.9. Uma matriz simétrica A é definida positiva se, e somente se, os determi-
nantes das submatrizes principais são todos positivos.
Demonstração. (⇒) Pelo Teorema 4.8, os pivos da matriz A são todos positivos. Pelo
fato da matriz admitir a decomposição LU , obtemos a igualdade det(A) = det(LU ) o que
implica que det(A(k,k) ) = det(L(k,k) )det(U(k,k) ) = u11 u22 . . . ukk . Como os escalares uii são
os pivos positivos de A, é facil ver que det(A(k,k) ) > 0, k = 1, 2, . . . n.
(⇐) Se os determinantes das submatrizes principais de A são positivos, temos,
diretamente, que os pivôs de A são positivos e, pelo Teorema 4.8, segue que A é definida
positiva.
Se, por hipótese, já tivermos que a matriz A é simétrica definida positiva, podemos
realizar a fatoração assim como vimos na demonstração do Teorema 4.7, através dos
seguintes passos:
Então,
√
g11 = a11
ai1
gi1 = , para i = 2, 3, . . . , n.
g11
Obtidos os elementos da primeira coluna, igualamos as segundas colunas de A e
GG para determinar os elementos da segunda coluna, como ilustrado a seguir:
T
Capítulo 4. Fatoração de Cholesky 26
Segunda coluna:
a12 g11 g21
a22 g21 + g22
2 2
.. ..
. .
=
gk1 g21 + gk2 g22
ak2
.. ..
. .
an2 gn1 g21 + gn2 g22
q
g22 = 2
a22 − g21
a1k g11 g1k
a2k
g21 gk1 + g22 gk2
.. ..
. .
gk1 + gk2 + . . . + gkk
2 2 2
akk
.. = ..
. .
gi1 gk1 + gi2 gk2 + . . . + gik gkk
aik
..
..
. .
ank gn1 gk1 + gn2 gk2 + . . . + gnk gkk
q
gkk = 2
ak k − gk1 2
− gk2 − . . . − gk(k−1)
A = GGT , (4.2)
1 2 4
det(A(3,3) ) = 2 20 16 = 144 > 0.
4 16 29
Portanto, pelo Teorema 4.9, a matriz A é definida positiva. Assim, pelo Teorema
4.7, a matriz A possui uma fatoração de Cholesky. Sabemos que A = GGT . Realizando a
multiplicação GGT , obtemos a seguinte igualdade:
1 2 4
2
g11 g21 g11 g31 g11
2 20 16
=
g21 g11 g21 + g22
2 2
g31 g21 + g32 g22
4 16 29 g31 g11 g31 g21 + g32 g22 2
g31 + g32
2
+ g33
2
Capítulo 4. Fatoração de Cholesky 28
g22 = 4 e g32 = 2.
g33 = 3.
1 0 0
Logo, G = 2 4 0 e
4 2 3
1 2 4
1 0 0 1 2 4
A = GGT =⇒
2 20 16
=
2 4 0
0 4 2 .
4 16 29 4 2 3 0 0 3
−1
Resolvendo o sistema, encontramos x0 = −1, y 0 = −2 e z 0 = 3, ou seja y =
−2 .
3
Conhecendo y, voltamos a resolver a substiruição GT x = y para obter o valor
desejado para x, a solução do sistema. Temos então o sistema
1 2 4 x −1
0 4 2 y = −2 ,
0 0 3 z 3
ou seja,
x + 2y + 4z = −1
4y + 2z = −2 ,
3z =3
Capítulo 4. Fatoração de Cholesky 29
−3
que tem como solução z = 1, y = −1 e x = −3, ou seja, x = −1 .
1
30
5 Fatoração QR
5.1 Projetores
P (P v − v) = P 2 v − P v = P v − P v = 0,
e então, P v − v ∈ N uc(P ).
Capítulo 5. Fatoração QR 31
v = Iv = Iv − 0 = Iv − P v = (I − P )v,
Demonstração. Seja S1 e S2 dois subespaços vetoriais do Rn que formam uma soma direta,
ou seja, Rn = S1 ⊕ S2 . Isso significa que S1 ∩ S2 = {0} e, para qualquer vetor v ∈ Rn ,
v = s1 + s2 , onde s1 ∈ S1 e s2 ∈ S2 .
Defina, então, uma matriz P tal que, para v ∈ Rn , P v = s1 . Provaremos agora que
P é um projetor que satisfaz nossas hipóreses.
Tomando v = s1 + s2 ∈ Rn arbitrário, se P v = s1 , então temos que P 2 v = P (P v) =
P (s1 ) = s1 . Pela arbitrariedade de v, temos que P 2 = P .
Por construção, temos que Im(P ) ⊂ S1 . Seja s1 ∈ S1 . Note que ele pode ser escrito
por s1 = s1 + 0, s1 ∈ S1 e 0 ∈ S2 . Então, P (s1 ) = s1 , logo, S1 ⊂ Im(P ), daí, Im(P ) = S1 .
Pela definição do projetor P , S2 ⊂ N uc(P ). Suponha que um vetor v ∈ / S2 . Então,
existem vetores não nulos s1 ∈ S1 e s2 ∈ S2 tal que v = s1 + s2 . Logo, P (v) = s1 , ou seja,
v∈/ N uc(P ). Portanto, N uc(P ) = S2 , como queríamos demonstrar
1. V = W + W ⊥
2. W ∩ W ⊥ = {0}
Porém,
n n
< v, vi > vi < v, vi > vi
< vj , vi >= 0, ∀j ∈ {1, . . . , m}.
X X
< vj , >=
i=m+1 || vi ||2
i=1 || vi ||2
Dessa forma,
n
< v, vi > vi
∈ W ⊥.
X
i=m+1 || v i ||2
Logo, V = W + W ⊥ .
Portanto, V = W W⊥ .
L
(P x)T (I − P )y = xT P T (I − P )y = xT (P T − P T P )y = xT (P − P P )y =
= xT (P − P 2 )y = xT 0y = 0.
= hAx, (I − A)yi − h(I − A)x, Ayi = hAx, (I − A)yi + h(I − A)(−x), Ayi.
Como a soma de ambos os termos é diferente de zero, podemos dizer que pelo
menos um dos produtos internos é diferente de zero. Portanto, existe u ∈ Im(P ) e
v ∈ Im(I − P ) = N uc(P ) tal que hu, vi =
6 0, seguindo, então, que P não é ortogonal.
( )
v1 v2 vm
2. Se {v1 , v2 , . . . , vm } é uma base ortogonal de W , então , ,...,
|| v1 || || v2 || || vm ||
é uma base ortonormal de W . Pelo primeiro item,
m m
vi vi < projW u, vi >
projW u = =
X X
< projW u, > vi .
i=1 || vi || || vi || i=1 || vi ||2
Demonstração. Seja V um espaço vetorial não nulo munido de um produto interno, que
possui dimensão finita n. Seja β = {u1 , u2 , . . . , un } uma base para V . Provaremos que, a
partir da base {u1 , u2 , . . . , un }, podemos obter uma base ortonormal {v1 , v2 , . . . , vn }.
Seja Wi o subespaço de V gerado por v1 , v2 , . . . vi que denotaremos por Wi =
[v1 , v2 , . . . , vi ].
u1
O primeiro passo é tomarmos v1 = .
|| u1 ||
O segundo é, se W1 = [v1 ] e v2 é o componente de u2 ortogonal a W1 , então tome
v2 = u2 − projW1 u2 = u2 − < u2 , v1 > v1 . Note que v2 é não nulo, pois, se fosse nulo, u2
seria combinação linear de u1 . Encontrado v2 , normalize-o.
No terceiro passo, seja W2 = [v1 , v2 ] e v3 o componente de u3 ortogonal a W2 . Dessa
forma, v3 = u3 − projW2 u3 = u3 − < u3 , v1 > v1 − < u3 , v2 > v2 . Novamente, v3 = 6 0, pois,
se fosse nulo, u3 seria combinação linear de u1 e u2 .
Capítulo 5. Fatoração QR 37
Corolário 5.1. Se {q1 , q2 , . . . , qn } é uma base ortonormal obtida pelo Processo de Gram-
Schmidt, com normalização subsequente dos vetores da base {u1 , u2 , . . . , un } de V , então
qk é ortogonal a u1 , u2 , . . . , uk−1 , k ≥ 2.
vk
Demonstração. Provaremos que, para j ∈ {1, 2, . . . , n−1}, < vk , uj >= 0, pois qk = .
|| vk ||
Pelo Teorema anterior, temos
k−1
< uk , vi >
vk = uk −
X
vi ,
i=1 || vi ||2
ou seja,
k−1
< uk , vi >
uk = vk +
X
vi .
i=1 || vi ||2
De forma geral,
k−1
< uj , vi >
uj = vi + vj ,
X
i=1 || vi ||2
e daí, uj ∈ Wj , para j ∈ {1, 2, . . . , k − 1}.
Fazendo o produto interno de < vk , uj > temos
j−1 j−1
< uj , vi > X < uj , vi >
+v < vk , vi > +< vk , vj > = 0+0 = 0,
X
< vk , uj >=< vk , vi j >=
i=1 || vi ||2
i=1 || vi ||
2
Corolário 5.2. Se {q1 , q2 , . . . , qn } é uma base ortonormal obtida pelo Processo de Gram-
Schmidt, com normalização subsequente dos vetores da base {u1 , u2 , . . . , un } de V , então
< ui , qi >6= 0, ∀i ∈ {1, 2, . . . , n}.
Demonstração. Suponha, por absurdo, que < ui , qi >= 0. Como vimos no Corolário 5.1,
temos que ui ∈ Wi−1
⊥
. Como < ui , qi >= 0, obtemos ui ∈ Wi⊥ .
Mas, como vimos na demonstração do Corolário 5.1, ui ∈ Wi . Portanto, ui = 0.
Absurdo, pois ui pertence a uma base.
Teorema 5.4. Se A ∈ Rm×n com os vetores coluna LI, com m ≥ n, então A pode ser
fatorada como A = Q̂R̂, onde Q̂ é uma matriz m × n com vetores coluna ortonormais e R̂
uma matriz n × n triangular superior inversível.
< a1 , q1 > < a2 , q1 > . . . < an , q1 >
h i h i 0 < a2 , q2 > . . . < an , q2 >
=
a1 a2 . . . an q1 q 2 . . . qn · .. .. ..
. . .
0 0 . . . < an , qn >
Por fim, pelo Corolário 5.2, os elementos da diagonal são não nulos, então a matriz
triangular superior é inversível. Portanto, denotando as matrizes da direita da igualdade
por Q̂ e R̂, obtemos A = Q̂R̂.
Capítulo 5. Fatoração QR 39
Por essa construção, nota-se que a matriz Q̂ possui vetores coluna ortonormais,
pois
q1T q1T q1 q1T q2 . . . q1T qn
q2T q2T q1 q2T q2 . . . q2T qn
h
i
Q̂T Q̂ = = .. .. .. = Id
·
.. q1 q2 . . . qn ...
. . . .
.
qnT q1 qnT q2 .. qnT qn
qnT
ou seja,
Capítulo 5. Fatoração QR 40
0.5 0 0
0.5 −0.4 0.7
Q̂ =
−0.5 0.4 0.7
0.5 0.81 0
e
< a1 , q1 > < a2 , q1 > < a3 , q1 > 2 2 2
√
R̂ =
0 < a2 , q2 > < a3 , q2 >
= 0 2 6 0
.
√
0 0 < a3 , q3 > 0 0 2
1 1 1 0.5 0 0
2 2 2
1 −1 2 0.5 −0.4 0.7 √
Logo, A = Q̂R̂, ou = · 0 2 6 0 .
−1 1 0 −0.5 0.4 0.7 √
0 0 2
1 5 1 0.5 0.81 0
Demonstração. Suponha que A tenha posto completo. Pelo Teorema 5.4, A possui fatoração
QR.
Capítulo 5. Fatoração QR 41
Teorema 5.6. Cada matriz A ∈ Rm×n com posto completo possui única fatoração QR
reduzida.
Uma observação sobre os Teoremas 5.4, 5.5 e 5.6 é que eles possuem suas respectivas
representações para matrizes A ∈ Cm×n com entradas complexas, mantendo as propriedades
das matrizes Q̂, R̂, Q e R. Porém neste trabalho, adotamos matrizes com entradas reais.
Outro detalhe importante é que, para obtermos a fatoração QR, seja para a
fatoração reduzida seja para a completa, não há necessidade de que os vetores colunas
sejam todos LI. Caso haja um vetor coluna que seja multiplo dos anteriores, acrescentamos
a eles um vetor ortonormal, e acrescentamos 0 na entrada correspondente na matriz R.
No Exemplo 5.2, mostraremos um caso onde isso acontece.
1 1 2
0 1 1
Exemplo 5.2. Obtenha a fatoração QR completa de A = .
1 0 1
0 0 0
Como última observação sobre a fatoração QR, ressaltamos que essa fatoração pode
ser construída usando a ortogonalização de Gram-Schmidt, com a aplicação de sucessivas
matrizes elementares Rk à direita de A para obter a matriz Q̂, ou seja, AR1 R2 . . . Rn = Q̂,
com R1 R2 . . . Rn = R̂−1 ou através da aplicação de sucessivas matrizes unitárias Qk à
esquerda de A para obter uma matriz triangular R̂, obtendo a igualdade Qn . . . Q2 Q1 A = R̂,
com Qn . . . Q2 Q1 = Q̂−1 . Essa técnica é conhecida como triangularização de Householder.
Realizar a fatoração pela triangularização de Householder possui como benefício
ser mais estável computacionalmente e mais rápida do que utilizar a ortogonalização de
Gram-Schmidt. Para maiores detalhes, veja a referência [1].
43
Suponha, sem perda de generalidade que, ∀ui , i ∈ {1, . . . n}, || ui ||2 = 1. Então, o
conjunto {σ1 u1 , σ2 u2 , . . . , σn un } são os semi-eixos principais da hiperelipse de tamanho
σ1 , σ2 , . . . , σm .
Capítulo 6. Decomposição em Valores Singulares 44
Definição 6.1. Os valores singulares de A são os tamanhos, de acordo com uma determi-
nada norma, dos n principais semi-eixos de AS, dados por σ1 , σ2 , . . . , σn ∈ R. É importante
destacar que, neste trabalho, usaremos a norma-2, definida no Capítulo 2, para medir os
semi-eixos e que, por convenção, os valores singulares são colocados em ordem decrescente.
Observando as Definições 6.1 - 6.3, é possivel montar uma equação que relaciona
os três objetos, e ela é dada por Avi = σi ui , i ∈ {1, . . . n} que pode ser representada
matricialmente por:
σ1
..
A
v1 . . . vn
=
u1 . . . un
.
σn
ou AV = Û Σ̂, onde Σ̂ ∈ Rn×n é uma matriz diagonal com entradas reais positivas,
Û ∈ Rm×n uma matriz com posto completo e V ∈ Rn×n unitária. Como V é unitária,
podemos reescrever a equação como A = Û Σ̂V T . Essa fatoração é chamada de SVD
reduzida, representada na Figura 10.
Visto que Û é substituida por U , para manter a igualdade original, devemos multi-
plicar por 0 as colunas acrescentadas em Û . Para realizar essa operação, acrescentaremos
m − n linhas nulas à matriz Σ̂, tornando-a Σ ∈ Rm×n .
Proposição 6.1. Seja A ∈ Rm×n . Então, posto(A) = posto(AT A). E, como consequência
direta, dim(col(A)) = dim(col(AT A)).
uT Ax = (Av)T Ax = v T AT Ax = v T 0 = 0,
Capítulo 6. Decomposição em Valores Singulares 46
n = posto(AT A) + η(AT A)
⇒ n = posto(AT A) + η(A)
⇒ n = posto(AT A) + n − posto(A)
⇒ posto(A) = posto(AT A).
Dessa forma, como {v1 , . . . vk } é um conjunto ortogonal e pela relação acima, concluímos
que {v1 , . . . vk } forma uma base para col(AT A). Pela Proposição 6.1, dim(col(AT A)) =
dim(col(A)), e segue diretamente que {v1 , . . . , vk } também é base para col(A).
Teorema 6.1. Seja A ∈ Rm×n . Então, existem matrizes ortogonais U ∈ Rm×m , V ∈ Rn×n
tais que
A = U ΣV T ,
vjT (AT A)vj = λj vjT vj =⇒ (Avj )T (Avj ) = λj || vj ||2 =⇒|| Avj ||2 = λj ,
1 1 1
T !
uTi uj = Avi Avj = (Avi )T (Avj ) =
σi σj σi σj
1 T T 1 T λj T
vi A Avj = vi λj vj = v vj .
σi σj σi σj σi σj i
Logo,
1, se
i=j
uTi uj = .
0, se
i 6= j
Portanto, β é um conjunto ortonormal, logo é LI. Como β possui n vetores e posto(A) =
dim(col(A)) = n, pela Proposição 6.2, segue que β é uma base para col(A). Agora, para
obtermos U ∈ Rm×m unitária, basta completarmos a base de col(A) até obtermos uma
base ortonormal para Rm .
Uma vez que sabemos, agora, como encontrar a fatoração SVD de uma matriz A,
vejamos como aplicá-la em sistemas lineares, adiantando um pouco do que veremos no
Capítulo 7.
Seja o sistema linear de equações Ax = b, A ∈ Rm×n , x ∈ Rn , b ∈ Rm . Pelo
teorema da existencia da fatoração SVD (Teorema 6.1), A = U ΣV T . Como vimos, o
Capítulo 6. Decomposição em Valores Singulares 48
espaço coluna de U é base para Rm , então, o vetor b é combinação linear dos vetores
coluna de U . Em outras palavras, b = U b0 =⇒ b0 = U T b, b0 ∈ Rm . De maneira análoga,
x = V x0 =⇒ x0 = V T x.
Substituindo na equação Ax = b, temos
Ax = b =⇒ U T Ax = U T b =⇒ U T U ΣV T x = U T b =⇒ Σx0 = b0 .
Teorema 6.3. Os valores singulares não negativos de A são as raízes dos autovalores de
AT A.
O próximo teorema afirma que a matriz A pode ser escrita como soma de matrizes
de posto 1.
i=1
i=1
2 −4
2 2
Exemplo 6.1. Encontre a decomposição SVD completa da matriz A =
−4 0
1 4
então, calcular
os autovetores associados a esses autovalores e acharmos V . Temos então
0 1
que V = .
1 0
Como λ1 = 36 e λ2 = 25, temos que σ1 = 6 e σ2 = 5. Com isso, conseguimos
6 0
0 5
montar a matriz Σ =
.
0 0
0 0
1
Calcularemos agora a matriz U . Primeiramente, faça ui = Avi , i = 1, 2. Temos
σi
−4
2
1 2 1 2
que u1 = e u2 =
. Já vimos que W = {u1 , u2 } é ortogonal. Logo, basta
6 0
5 −4
4 1
encontrar W ⊥ e encontrar uma base ortonormal
para W . De
⊥
acordo com nossos cálculos,
2
82
1 4 1 −68
temos que W = {d1 , d2 }, onde d1 =
⊥ √
e d2 =
. Assim, concluímos
29 3
29
36
0 116
h i
que U = u1 u2 d1 d2 .
A SVD da matriz A será, portanto,
−2
3
2
5
√2
29
82
29
6 0
1 2 √4 −68
0 5 0 1
A = U ΣV T
= 3 5 29
29 .
0 −4 √3 36
0 0 1 0
5 29
29
2
3
1
5
0 116
29
0 0
51
7 Aplicações
Após estudarmos quatro diferentes métodos de fatorar uma matriz, vamos estudar
aplicações das fatorações vistas nos Capítulos de 3 a 6. Vamos descrever, primeiramente,
o problema de mínimos quadrados, sua motivação e mostrar como resolver este problema
com fatoração de matrizes aliada às equações normais, que também serão apresentadas
neste capítulo. Em seguida, veremos outras aplicações envolvendo, de forma particular, a
fatoração SVD. As aplicações apresentadas envolverão temas de processamento de imagens,
particularmente em problemas de compressão de imagens e reconhecimento de rostos.
Mas, se tivermos uma matriz A ∈ Rm×n , com m > n, a probabilidade que o nosso
sistema seja impossível é alta, ou seja, a chance de não existe um vetor x0 tal que Ax0 = b
é grande. Nesses casos, buscar uma solução pode ser entendido como procurar um vetor x
que minimize || Ax − b ||, ou seja, um vetor x que minimiza a norma da diferença entre
Ax e b. Tal vetor será considerado como a melhor aproximação possível para o sistema
e será chamado de solução por Mínimos Qudrados (que possui esse nome pelo fato que
resolver minx∈Rn || Ax − b || (o que equivale a resolver minx∈Rn || Ax − b ||2 .)
Como denotamos na lista de abreviaturas e siglas, || Ax − b || representa a norma-2
euclidiana. A explicação pelo uso dessa norma é por argumentos geométricos e estatísticos.
Mais detalhes sobre a escolha da norma-2 pode ser encontrada em 11
Para encontrarmos este vetor que será a melhor aproximação, voltaremos ao estudo
dos projetores. No Capítulo 5 estudamos os projetores e ilustramos sua interpretação
geométrica para o R2 , e os utilizamos para, junto com o processo de ortogonalização de
Gram-Schmidt, construir uma base ortonormal que, daria origem à matriz Q da fatoração
QR. No teorema a seguir (Teorema 7.1) estudaremos um pouco melhor sobre a projeção
de um vetor u em um subespaço W e quais características sobre ele podemos utilizar para
nos auxiliar no problema dos mínimos quadrados.
Capítulo 7. Aplicações 52
Como w 6= projW u, || projW u − w ||> 0. Daí, || u − projW u ||2 <|| u − w ||2 que, dessa
forma, || u − projW u ||<|| u − w ||.
Perceba que o Teorema 7.1 garante que existe uma solução por mínimos quadrados
para um sistema linear impossível Ax = b, com A ∈ Rm×n , m > n. Ao tomarmos
W = col(A) e u = b, ao aplicar o Teorema 7.1, ganhamos um vetor que satisfaça o
problema de mínimos quadrados. Mas como encontrar essa solução garantida pelo Teorema
7.1 utilizando as fatorações que aprendemos? Neste momento, introduzimos os sistemas de
equações normais.
O Teorema 7.2 a seguir é o elo entre a solução por mínimos quadrados e os sistemas
de equações normais.
Definição 7.3. Chamamos de matriz semi-definida positiva a uma matriz A tal que
xT Ax ≥ 0, ∀x ∈ Rn .
x1 a1 + x2 a2 + · · · xn an = 0 ⇐⇒ Ax = 0 ⇐⇒ xT AT Ax = 0.
−4x1 + 9x2 = 76
3 2 13
Perceba que A = eb= . Veja também que os vetores coluna de
−4 9 76
A são L.I. e, portanto, AT A é uma matriz definida positiva, pelo Teorema 7.4. Podemos,
então, resolver o sistema por meio de equações normais, onde
25 −30 −265
AT A = e AT b = .
−30 85 710
Resolvendo Gy = AT b
O sistema triangular é
5 0 y1 −265
· = ,
−6 7 y2 710
2 3
5
Temos A = 9 4 eb= 51 .
6 −1 40
Como os vetores coluna de A são LI, podemos resolver
o sistema
via equações
121 36
normais usando a fatoração de Cholesky na matriz AT A = .
36 36
11 0 11 36
Realizando a fatoração de Cholesky, obtemos AT A = √ · 11
√ .
36
11
5 74
11
0 5 74
5
Vamos, então, resolver os já citados sistemas triangulares.
Resolvendo Gy = AT b
O sistema triangular é
11 0 y
· 1 =
709
√ ,
36
11
5 74
11
y2 179
Capítulo 7. Aplicações 56
709
que possui como solução y = 11
−3865
.
√
55 74
Resolvendo GT x = y
O sistema triangular é
11 36
11
x
· 1 =
709
11 ,
√
0 5 74
5
x2 −3865
√
55 74
1199
que possui solução x = 185
−773
.
340
2. Calcular Q̂T b;
Exemplo 7.3. Encontre a solução do sistema abaixo pelo método dos mínimos quadrados:
x1 + x2 + x3 = 8
− x2 + 2x3 = 17
x1
.
−x1 + x2 = −5
x + 5x + x = 6
1 2 3
Capítulo 7. Aplicações 57
Ao confirmarmos que os vetores coluna de A são LI, podemos fatorar (Teorema 5.4)
a matriz A para resolvermos o sistema de equações normais. Fatorando, então, a matriz A,
obtemos
1 1 1 1
0 0
2
−1
2 2 2
1 −1 2 1 √ √1 √
A= = 2 6 2
0 2 6 0 = Q̂R̂
·
−1 1 0 −1 √1 √1
√
2
0 0 2
6 2
1 5 1 1
2
√2
6
0
2. Calcular o vetor Û T b;
4. Resolver o sistema V T x = y.
2 −4
2 2
Temos a matriz A = que possui a fatoração SVD reduzida da forma
−4 0
1 4
−2 2
3 5
1 2
5 0 1 0
A= 3 5
= Û Σ̂V T .
· ·
0 −4
0 6 0 1
5
2 1
3 5
8
Determinadas as matrizes Û , Σ̂, V , calculamos, primeiro, o vetor Û T b = 3
−2
.
5
5 0 y1 5 0
Depois, resolvemos o sistema linear Σ̂y = Û T b, · = , que
0 6 y2 0 6
8
tem como solução o vetor y = 15
−1
.
15
Porfim,
encontrado y, basta resolver o sistema V T x = y, que tem como solução o
8
vetor x = 15
−1
.
15
Capítulo 7. Aplicações 59
Agora que conhecemos o vetor x da solução por minimos quadrados, vamos calcular
a norma do vetor residual.
√
9346
|| b − Ax ||= .
15
Além das aplicações de fatoração de matrizes em problemas de mínimos quadrados,
o próprio método de mínimos quadrados possui aplicações em várias áreas de pesquisa
aplicada, como estatística, processamento de sinais, problema de demarcações de fronteiras,
ajuste polinômial e regressão linear. Algumas dessas aplicações podem ser encontradas em
[11].
chamada de intensidade, ou nível de cinza, daquele ponto, ou seja, sua imagem (no sentido
de função). Quando x, y e os valores de amplitude f (x, y) são todos finitos (quantidades
discretas), a imagem é chamada de imagem digital [14].
Computacionalmente, uma imagem digital pode ser vista como uma matriz bidi-
mensional cujos índices de linhas e colunas (coordenadas) identificam os pixels da imagem.
Os elementos da matriz (imagem da função) representam o nível de intensidade e, para
imagens de 8-bits em tons de cinza, por exemplo, tais níveis variam entre 0 e 255 (ou 1 e
256).
A imagem apresentada na Figura 12 é um exemplo de imagem digital. Ela é uma
imagem de 8-bits, com os valores de intensidade entre 0 e 255.
Visto que uma imagem digital pode ser formulada como uma matriz, as técnicas
da Álgebra Matricial (em particular, a fatoração SVD) podem ser utilizadas para alguma
situação específica, como por exemplo, a compressão de imagens.
De uma forma simplificada, podemos pensar a compressão de imagens como a
redução da quantidade de dados necessários para representar uma imagem digital. Esta
compressão deve preservar as informações relevantes para análise de tal imagem digital.
Outro ganho desta aplicação se dá na velocidade de transmissão de dados via redes,
otimizando o envio de informações importantes principalmente em grandes dados e em
estruturas de transmissão defasadas [15].
Do que estudamos sobre SVD no Capítulo 6, temos alguns resultados interessantes
e úteis para o problema da compressão de imagens. O Teorema 6.2 afirma que o posto
de uma matriz A equivale ao número de valores singulares não nulos. Este resultado nos
permite reduzir o ruído ou comprimir os dados da matriz desconsiderando os menores
valores singulares.
Aplicando a fatoração SVD na matriz que representa a imagem e escrevendo A na
Capítulo 7. Aplicações 61
i=1
onde r = posto(A) e, pela Definição 6.1, os valores singulares são ordenados de forma
decrescente, ou seja, σ1 ≥ σ2 ≥ . . . ≥ σr . Perceba que até este momento, apesar da
fatoração SVD ter sido calculada, não houve compressão da imagem. Entretanto, os dados
passaram a tomar uma forma tal que os primeiros valores singulares (primeiras parcelas
do somatório) contribuem mais para a formação da matriz do que as últimas [9]. Com
isso, podemos descartar as últimas parcelas da soma, utilizando somente a matriz
k
Ak = σi ui viT ,
X
i=1
com k < r, para algum k satisfatório. A nova imagem representada por Ak fornece uma
boa representação da imagem original, mas contém menos informação do que a imagem
original A.
A escolha de distintos valores de k fornece imagens distintas, com armazenamentos
distintos [13]. Ainda segundo [13], para medir a performance do método de compressão via
SVD, podemos calcular a taxa de compressão, CR , e a qualidade da imagem comprimida.
A primeira pode ser entendida como a razão entre o tamanho final da imagem comprimida
e o tamanho da imagem sem compressão. Quanto menor for a imagem comprimida, maior
será a taxa de compressão. Para o cálculo de CR usamos a razão
n
CR = , (7.1)
k
onde n é o tamanho da largura da imagem.
Para o cálculo da qualidade da imagem comprimida Ak em relação à imagem
original A será usado o erro quadrático médio (Mean Square Error - MSE) [16] dado por
1 Xm X n
M SE = [fA (x, y) − fAk (x, y)]2 , (7.2)
mn y=1 x=1
onde fA (x, y) e fAk (x, y) representam os valores das entradas da imagem original e imagem
comprimida, respectivamente, nas posições (x, y), com 1 ≤ x ≤ m e 1 ≤ y ≤ n.
Na Figura 13 estão apresentados exemplos de imagens digitais usadas para testar a
compressão para cinco valores de k distintos. Em (f) temos a imagem original que, após o
cálculo da SVD, calculou-se um total de 1280 valores singulares.
Nas Figuras (13a a 13e) temos a reconstrução da imagem usando 20, 30, 40, 50 e 60
valores singulares, respectivamente.
Na Tabela 1 apresentamos um resumo dos resultados obtidos com o armazenamento,
a taxa de compressão e o erro para diferentes valores de k.
Capítulo 7. Aplicações 62
(a) k = 20 (b) k = 30
Figura 13 – Exemplo da compressão de imagens para k = 20, 30, 50, 100, 300, 600, 800 e
960.
k Armazenamento (bytes) CR M SE
20 44820 48 157,9569
30 67230 32 96,1821
50 112050 19,2 46,1189
100 224100 9,6 13,04
300 672300 3,2 0,4952
600 1344600 1,6 0,0084
800 1792800 1,2 0,0011
960 (original) 2151360 1 0
Vamos então encontrar uma média entre as 20 imagens através do que chamaremos
de vetor centroide c, que é obtido somando-se as entradas dos 20 vetores mi e dividindo o
total da soma 20, ou seja, as coordenadas do vetor centroide serão dadas por
1 X 20
c(j) = mij ,
20 i=1
com 1 ≤ j ≤ 31374. Em seguida, colocamos cada vetor mi como uma linha de uma matriz
M , que terá tamanho 20 × 31374. Depois, subtraimos o vetor centroide das linhas de M ,
gerando uma nova matriz A, também de tamanho A ∈ R20×31374 (esta técnica foi sugerida
em [10] para um problema de localização de lihas de ônibus).
Para encontrar o subespaço de dimensão 10 mais próximo do espaço gerado pelas
imagens de treino, calcularemos a fatoração SVD reduzida da matriz A, ou seja, A = Û Σ̂V T
e, uma vez que o espaço linha de A é igual ao espaço linha de V T , tomaremos as primeiras
10 linhas de V T como o subespaço mais próximo das imagens, que chamaremos de V10 .
Observe que as distâncias de cada imagem de treino (linhas de A) até o subespaço
V10 podem nos fornecer algum parâmetro inicial para a tomada de decisão das imagens
teste (se elas são ou não rostos). Por exemplo, considerando a norma-2, temos que a
distância das imagens (representadas por mi ) até o subespaço V10 é dada por
onde a[i] representa a i-ésima linha de A e projV10 a[i] é o vetor projeção de a[i] no subespaço
V10 . Assim, di é um vetor que contém as 20 distancias de ai até a projeção projV10 a[i].
Tomando ε1 = min{di } e ε2 = max{di }, criamos um parâmetro inicial de classificação:
i i
se a distância ε0 de uma imagem teste até o subespaço V10 (uma vez retirado o vetor
centroide) for tal que ε1 ≤ ε0 ≤ ε2 , então o programa classificará a imagem como rosto.
Caso contrário, a imagem não será classificada como rosto.
A fim de resumir o procedimento para identificação de rostos, apresentamos a
seguir um algoritmo que descreve todas as etapas mencionadas.
• A função cria vetor centroide() calcula o vetor centroide baseado nos vetores linha
de M ;
• A função testa imagem() diz se a imagem fora do banco de dados é uma imagem ou
não, baseada nos parâmetros encontrados na função lista distância.
seja um rosto. Na Figura 16 está a imagem gerada pelo vetor centroide. Perceba que, de
fato, se parece com um rosto humano.
Como já foi dito, a maior e menor distâncias das imagens treino, sendo representadas
pelos vetores linhas de A, até o subespaço V10 construiu o intervalo a ser usado como
parâmetro para definirmos se a imagem é um rosto ou não. Obtivemos os seguintes
resultados quanto a distância das respectivas imagens, exibidos na Tabela 2.
Nas Figuras 17 a 19 são apresentadas algumas imagens treino gerada pelo vetor
projetado no subespaço V10 para compararmos o que os números da Tabela 2 expressam.
Capítulo 7. Aplicações 68
Perceba que a imagem 3, na Figura 17, está bem semelhante, com o rosto bem
definido, enquanto que a imagem 11, na Figura 18, já aparece mais desfocda, com alguns
detalhes nos ombros não bem representados e o rosto um pouco diferente do original. Este
comportamento se repete na imagem 14, como vemos na Figura 19. Associando essas
observação com o resultado apresentado na Tabela 2, vemos que a imagem 3 etá mais
próxima do subespaço V10 do que as imagens 11 e 14, por isso, sua nitidez se difere.
Observando os dados da Tabela 2 novamente, iremos construir um intervalo de
classificação de imagens baseado nas distancias encontradas. Inicialmente, escolheremos o
[5, 20; 15, 67], cujos extremos são a menor e maior distâncias. Vamos testar sua eficiencia
Capítulo 7. Aplicações 69
com as primeiras 5 imagens teste. A Tabela 3 nos mostra os valores das distâncias para
cada imagem.
Tabela 3 – Distancia das primeiras 5 imagens que não estão no banco de dados.
Usando o intervalo [5, 20; 15, 67] como parâmetro de classificação percebemos que
ele classifica as imagens 2, 3, 4 e 5 (equivocadamete) como não sendo um rosto. O intervalo
obteve sucesso, somente, com a imagem 1, que de fato não é um rosto e assim foi classificada.
Uma forma de melhorar nosso parâmetro de classificação e, então, levar em conta as novas
distâncias calculadas. Assim, nos baseando nas Tabelas 2 e 3, novamente, considerando
o menor e o maior valor encontrado, definiremos um novo intervalo, que é [5, 20; 24, 38].
Observe que este intervalo já classificaria as imagens 2, 3, 4 e 5 como rostos, melhorando,
portanto, o programa.
Testamos sua eficiência com as outras 5 imagens teste ainda não utilizadas. A
Tabela 4 nos traz as distâncias dessas imagens ao subespaço V1 0.
Imagem Distância
6 24,21
7 41,18
8 24,71
9 40,04
10 36,73
Tabela 4 – Distancia das últimas 5 imagens que não estão no banco de dados.
Adotando o novo intervalo de [5, 20; 24, 38] como parâmetro, vemos que este foi
mais eficiente na classificação. Não só porque conseguiu classificar a imagem 6, que é um
rosto, como também excluiu a imagem 8 que, embora não seja um rosto, sua distância
ficou muito próxima do que seria um rosto. As outras imagens 7, 9 e 10 ele classificou
corretamente que não são rostos. Portanto, baseado em nossa análise, em nosso algoritmo
e no nosso banco de dados, o intervalo [5, 20, 24, 38] parece ser um bom parâmetro para
classificar se a imagem é um rosto ou não.
70
8 Considerações finais
Referências
2 ANTON, H.; RORRES, C. Álgebra Linear com aplicações. Porto Alegre: Bookman,
2012. Citado 2 vezes nas páginas 3 e 10.
7 AXLER, S. Linear algebra done right. San Francisco: Springer, 2015. Citado 3 vezes
nas páginas 20, 36 e 41.
9 HOLT, J. Linear Algebra with applications. New York: W. H. Freedman and company,
2013. Citado 2 vezes nas páginas 44 e 61.
16 WANG, Z.; BOVIK, A. C. Mean squared error: Love it or leave it? a new look at
signal fidelity measures. IEEE Signal Processing Magazine, v. 26, n. 1, p. 98–117, 2009.
Citado na página 61.
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.cm as cm
from PIL import Image
from scipy.linalg import svd
def cria_vetor_nulo(n):
a = [0]*n
return a
def imprime_imagem(M):
plt.figure(figsize=(3,4))
plt.axis("off")
plt.show()
def ler_matriz():
’’’A função lerá a imagem jpeg e ira arquiva-las em uma matriz.’’’
a = Image.open(’/home/joao/Downloads/EuAgain.jpeg’)
a = np.asarray(a)
a = np.reshape(a, (1280, 2880))
return(a)
APÊNDICE A. Algoritmo de compressão de imagens 76
M = cria_matriz_nula(1280, 2880)
return(M)
def main():
A = ler_matriz()
#imprime_imagem(A)
u, s, vh = svd(A,full_matrices=False)
x = cria_vetor_nulo(1280)
y = cria_vetor_nulo(2880)
Im = cria_matriz_nula(1280,2880)
for i in range(0,100):
for j in range(0,1280):
x[j] = u[j][i]
for j in range(0,2880):
y[j] = vh[i][j]
Im += soma_matriz(s[i],x,y)
imprime_imagem(Im)
if __name__ == ’__main__’:
main()
77
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.cm as cm
from PIL import Image
from scipy.linalg import svd
from math import sqrt
def dimensoes(matriz):
tam_matriz = (len(matriz), len(matriz[0]))
print(’{}X{}’.format(tam_matriz[0], tam_matriz[1]))
def cria_vetor_nulo(n):
a = [0.]*n
return a
return (a)
def imprime_imagem(M):
APÊNDICE B. Algoritmo para reconhecimento de rostos 78
plt.figure(figsize=(3,4))
plt.axis("off")
plt.show()
soma = 0
for i in range(0, n):
soma += x[i]*y[i]
return (soma)
def ler_matriz():
’’’A função lerá as imagens png e ira arquiva-las em uma matriz.
Função do passo 1.1’’’
M15 = Image.open(’/content/drive/MyDrive/Aplicacao_SVD/img15.png’)
M16 = Image.open(’/content/drive/MyDrive/Aplicacao_SVD/img16.png’)
M17 = Image.open(’/content/drive/MyDrive/Aplicacao_SVD/img17.png’)
M18 = Image.open(’/content/drive/MyDrive/Aplicacao_SVD/img18.png’)
M19 = Image.open(’/content/drive/MyDrive/Aplicacao_SVD/img19.png’)
M[8][i] = A8[0][i]/255
return M
def cria_vetor_centroide(M):
’’’A função receberá a matriz com rostos e criará o vetor centroide.
APÊNDICE B. Algoritmo para reconhecimento de rostos 82
for i in range(0,31374):
vetor[i] = vetor_centroide[0][i]
return vetor
return A
VT=vh[0:10,]
return (VT)
b = cria_vetor_nulo(31374)
return distancia
c = cria_vetor_nulo(31374)
diferenca = cria_vetor_nulo(31374)
m = Image.open(’/content/drive/MyDrive/Aplicacao_SVD/nimg01.png’)
a = np.asarray(m)
a = np.reshape(a, (1, 31374))
for i in range(0, 31374):
c[i] = a[0][i]/255
def main():
teste = cria_vetor_nulo(31374)
vetor_centroide = cria_vetor_centroide(M)
A = cria_matriz_A(M, vetor_centroide)
u, s, vh = svd(A,full_matrices=False)
#u, s, vh = svd(A)
V = subespaco(vh)
d=lista_distancia(A, V, vetor_centroide)
print(d)
a = 5.202570
b = 15.674521
if __name__ == ’__main__’:
main()