You are on page 1of 127

Universidade de Braslia

Instituto de Cin ias Exatas


Departamento de Matemti a

Algoritmo de fatorao QR para gerao de


animaes fa iais
por

Elenilson de Vargas Fortes

Braslia
2007

Universidade de Braslia
Instituto de Cin ias Exatas
Departamento de Matemti a

Algoritmo de fatorao QR para gerao de


animaes fa iais
por

Elenilson de Vargas Fortes

Dissertao apresentada ao Departamento de Matemti a da Universidade de


Braslia, omo parte dos requisitos para obteno do grau de

MESTRE EM MATEMTICA
Braslia, 13 de Dezembro de 2007

Comisso Examinadora:

Prof. Dr. Jorge Carlos Lu ero - MAT/UnB (Orientador)

Prof.

Dr.

Carlos Maber Carrin Riveros - MAT/UnB

(Membro)

Prof.

Dr.

Pledson Guedes de Medeiros - EST/UFRN

(Membro)

* Este

trabalho ontou om apoio nan eiro par ial do CNPq.

Somos o que pensamos. Tudo


o que somos surge om nossos pensamentos. Com nossos pensamentos,
fazemos o nosso mundo, (Buda).

Aos meus pais

Jonas de Vargas Fortes e Ozilia Loureti Fortes

Agrade imentos
Deus pela vida e sabedoria on edida ao longo da minha aminhada estudantil.
Aos meus pais, Jonas de Vargas Fortes e Ozilia Loureti Fortes, aos meus queridos
irmos, Emerson, Jonas (Junior), Jaqueline e Janielli.
Agradeo ao povo brasileiro, que atravs do pagamento de impostos permitiu ao
Conselho Na ional de Desenvolvimento Cient o e Te nolgi o (CNPq), nan iar
esta pesquisa.
Ao meu Orientador, Dr. Jorge Carlos Lu ero, pela orientao e pa in ia que
teve durante a elaborao deste trabalho.
Aos professores da Universidade Federal do Espirito Santo (UFES): Aldo Vignatti, Alex sander, Eder Ma hado, Gilvan, Jamil, Jo itiel, Domingos, Ana Claudia
e Ro ha, pelos onselhos e in entivos.
Aos professores da ban a examinadora Dr. Pledson Guedes de Medeiros e Dr.
Carlos Maber Carrin Riveros.
Aos olegas de graduao que ainda mantenho ontato:

Meu grande amigo

Edinelo Dal umune, Wagner, Riedson, Srgio e Vanessa.

Aos olegas do urso

de vero que foram muito importantes para que eu tomasse a de iso de vir para
Braslia. E a todos os meus olegas do Departamento de Matemti a da Universidade de Braslia que sempre me apoiaram nos bons e maus momentos. Alguns em
espe ial omo Hailton pelo suporte t ni o do site que riamos, Susanne, Ri ardo,
Enio, Srgio, Lu iana, Igor, Euro, Evander, Nilton, Walter e laro, Eliane Ferreira,
pelo arinho e ateno a mim on edidos.
Aos professores do Departamento de Matemti a da Universidade de Braslia
(UnB), Dr. Helmar Numes Moreira e em espe ial Dr. Angel Rodolfo Baigorri, pelos
onselhos e onversas que foram de grande valia durante este perodo.
Aos Professores do Ensino Fundamental e Mdio que de alguma forma a abaram
inuen iando-me nesta onquista, em espe ial Leni e, Ce lia, Santinha, Ivete, Ger lio, Anadir e Lena.
todos que, de alguma forma alimentaram meus sonhos e ontribuiram para
esta grande onquista de minha vida. Obrigado!

Resumo

Nesta dissertao, onsideramos o problema da seleo de um sub onjunto de


olunas independentes de uma matriz de dados, e sua resoluo por meio da fatorao
QR om pivoteamento de olunas, (Lu ero et al., [14).

Mostraremos omo este

problema pode ser apli ado identi ao de padres de deformao fa ial durante
a fala, para a onstruo de um modelo empri o da inemti a fa ial. O modelo
pode ser utilizado para a gerao de animaes da fala, sob ontrole de sinais olhidos
experimentalmente.

Palavras- haves: Seleo de Sub onjunto, Fatorao QR, Animao


Fa ial.

Abstra t

In this work, we study the problem of the sele tion of a subset of independent
olumns in matrix of data, and this resolution through the fa torization QR with
pivoted of olumns, (Lu ero et al., [14).

We will show how this problem an be

applied to the identi ation of patterns of fa ial deformation during spee h, for the
onstru tion of an empiri model of the fa ial kinemati s. The model an be used
for generating spee h animations, if we ontrol the signals hoosen experimentally.

Key Words: Subset Sele tion, QR Fa torization , Fa ial Animation.

Sumrio
Introduo

1 Con eitos Bsi os e De omposio em Valores Singulares

1.1

Introduo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1.2

Norma de Vetores . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1.3

Norma de Matrizes

1.4

Imagem, Espao Nulo e Posto

1.5

Ortogonalidade

1.6

De omposio em Valores Singulares

1.7

Algumas Propriedades da SVD

1.8

. . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

11

. . . . . . . . . . . . . . . . . .

12

. . . . . . . . . . . . . . . . . . . . .

14

1.7.1

SVD e sua Relao om Normas . . . . . . . . . . . . . . . . .

14

1.7.2

Relaes entre SVD e o Posto de uma Matriz

. . . . . . . . .

16

1.7.3

Posto Numri o . . . . . . . . . . . . . . . . . . . . . . . . . .

19

Anlise e Dis usso . . . . . . . . . . . . . . . . . . . . . . . . . . . .

21

2 A Fatorao QR

24

2.1

Introduo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

24

2.2

Denio e Propriedades da Fatorao QR . . . . . . . . . . . . . . .

24

2.3

Reexo de Householder

. . . . . . . . . . . . . . . . . . . . . . . . .

27

2.3.1

Reexo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

27

2.3.2

Denio e Propriedades da Reexo de Householder

. . . . .

30

2.3.3

Es olha do Vetor de Reexo

. . . . . . . . . . . . . . . . . .

31

2.4

Cl ulo da Fatorao QR . . . . . . . . . . . . . . . . . . . . . . . . .

33

2.5

Relaes da Fatorao QR om o Posto de uma Matriz

. . . . . . . .

34

. . . . . . . . . . . . . . . . . . .

35

. . . . . . . . . . . . . . . . . . . . . .

35

2.5.1

Uni idade da Fatorao QR

2.5.2

Matriz de Permutao

2.5.3

Fatorao QR om Pivoteamento de Colunas . . . . . . . . . .

3 Apli aes da Fatorao QR

36

39

3.1

Introduo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

39

3.2

Sistemas Lineares . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

40

3.3

Problema de Mnimos Quadrados

. . . . . . . . . . . . . . . . . . . .

41

3.3.1

Matrizes de Posto Completo . . . . . . . . . . . . . . . . . . .

42

3.3.2

Matrizes de Posto In ompleto

. . . . . . . . . . . . . . . . . .

46

O Problema da Seleo de Sub onjunto . . . . . . . . . . . . . . . . .

48

3.4

3.5

3.4.1

Propriedades da Matriz

. . . . . . . . . . . . . . . . . . .

48

3.4.2

Seleo de Sub onjunto . . . . . . . . . . . . . . . . . . . . . .

50

3.4.3

Seleo de Sub onjunto e Mnimos Quadrados . . . . . . . . .

51

Dis usso

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

4 Apli ao a Animao Fa ial

54

55

4.1

Introduo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

55

4.2

Dados

55

4.3

Pr-pro essamento

4.4

Posto Numri o da Matriz de Dados

. . . . . . . . . . . . . . . . . .

57

4.5

Alguns Resultados da Fatorao QR

. . . . . . . . . . . . . . . . . .

59

4.6

Es olha dos Mar adores Prin ipais e suas Respe tivas Regies de Inun ia

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . .

56

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

61

4.7

Gerao de Animaes Fa iais . . . . . . . . . . . . . . . . . . . . . .

66

4.8

Anlise de Erros nas Trajetrias Computadas

. . . . . . . . . . . . .

69

4.9

Anlise para Seleo de Mar adores . . . . . . . . . . . . . . . . . . .

72

Con luses

76

Refern ias Bibliogr as

78

Apndi e A

80

Algoritmo A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

80

Algoritmo B . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

82

Algoritmo C . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

84

Algoritmo D . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

85

Algoritmo E . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

86

ii

Algoritmo F . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

87

Algoritmo G . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

88

Algoritmo H . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

89

Algoritmo I

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

92

Algoritmo J . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

94

Algoritmo K . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

97

Algoritmo L . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

99

Apndi e B

103

Tabela 4.6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103

Anexos

105

Teorema 2.6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105


Teorema 2.7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
Teorema 2.9 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
Teorema 2.10

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111

Teorema 2.13

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113

iii

Lista de Figuras
2.1

Reexo em torno da reta .

2.2

Possibilidades de Reexo.

3.1

Propriedades da Matriz A.

4.1

Posio dos mar adores fa iais.

4.2

Elementos da diagonal da Matriz .

. . . . . . . . . . . . . . . . . . . .

58

4.3

Elementos da diagonal da Matriz R.

. . . . . . . . . . . . . . . . . . . .

59

4.4

4.5

. . . . . . . . . . . . . . . . . . . . . . . .

28

. . . . . . . . . . . . . . . . . . . . . . . . .

31

. . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . .

60

Valores normalizados dos 12 primeiros elementos na diagonal de R em


funo da quantidade de amostras nos dados permutados aleatoriamente.

60

. . .

65

. . . . . . . . .

66

Regies fa iais ilustradas para os mar adores 40, 34, 38, 02, 36 e 06.

4.7

Regies fa iais ilustradas para mar adores 20, 49, 13 e 52.

4.8

Regies de deformao fa ial nas direes ortogonais, linhas 1 a 6 de R.

4.9

Regies de deformao fa ial nas direes ortogonais, linhas 7 a 10 de R.

4.10

Quadro ini ial das animaes.

4.12

4.13

56

Valores normalizados dos 12 primeiros elementos na diagonal de R em


funo da quantidade de amostras nos dados. . . . . . . . . . . . . . .

4.6

4.11

49

. .

67

68

. . . . . . . . . . . . . . . . . . . . . . .

69

Exemplo de trajetria real (linha de traos) e re onstruda pelo algoritmo


(linha heia), para o mar ador 28. . . . . . . . . . . . . . . . . . . . .

70

Erro mdio para um onjunto de k mar adores sele ionados, frases 31 e 32.
A linha heia (na horizontal) representa o erro de pre iso dos dados. . .

73

Erro mdio para um onjunto de k mar adores sele ionados, frases 33 a 36.
A linha heia (na horizontal) representa o erro de pre iso dos dados. . .

74

iv

4.14

Erro mdio para um onjunto de k mar adores sele ionados, para as frases
37 a 40. A linha heia (na horizontal) representa o erro de pre iso dos
dados. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

75

Lista de Tabelas
4.1

4.2

4.3
4.4

4.5

4.6

Os 12 primeiros mar adores sele ionados pelo algoritmo om k linhas na


matriz de dados. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

62

Os 12 primeiros mar adores sele ionados pelo Algoritmo om k linhas permutadas aleatoriamente. . . . . . . . . . . . . . . . . . . . . . . . . .

62

. . . . . . . . . .

63

Os 12 primeiros mar adores sele ionados pelo algoritmo.

Erro obtido para as trajetrias dos mar adores que foram re onstitudas
atravs algoritmo para a sentena 39. . . . . . . . . . . . . . . . . . .

71

Erro mdio para trajetrias re onstitudas pelo algoritmo para as sentenas


31 a 40. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

72

Conjunto de 40 sentenas em ingls: As 30 primeiras frases foram usadas


para onstruir o modelo e as 10 ltimas para realizar testes e validar o modelo. 104

vi

Introduo
Alguns problemas da lgebra Linear, tais omo resoluo de sistemas lineares, mnimos quadrados e seleo de sub onjunto (subset sele tion problem ) podem ser
onvenientemente tratados por meio da fatorao QR.
A fatorao QR um mtodo de de omposio em que a matriz
de omposta em um produto

A = QR,

onde

Q Rmm

ortogonal e triangular superior, respe tivamente.

R Rmn

A Rmn

so matrizes

Existem outros mtodos para resolver os problemas a ima. Por exemplo, para o
problema de mnimos quadrados, podem ser usadas as equaes normais (ver [8, 20).
Os sistemas lineares podem ser solu ionados atravs da fatorao LU ou eliminao
de Gauss (ver [11).
Fo alizaremos, doravante, no tema de seleo de sub onjuntos e suas variaes.
Suponha que temos uma matriz de dados

A Rmn

queremos predizer um vetor de observaes


vetor

que miniminize

da matriz de dados

A,

||Ax b||2 .

om

m > n,

b Rm1 , isto ,

a partir da qual

queremos en ontar um

No entanto, ao invs de usar todas as olunas

desejamos predizer

a partir de apenas um sub onjunto de

olunas, eliminando aquelas que sejam redundantes e possam ser des onsideradas

(por exemplo, olunas linearmente dependentes, [8). Veremos que a seleo de dito
sub onjunto de olunas no-redundantes de
matriz

feita atravs da fatorao QR da

om pivoteamento de olunas, (ver [8, 7, 14).

Mostraremos que a seleo de sub onjunto pode ser apli ado a gerao de animaes fa iais, onde queremos identi ar um sub onjunto de mar adores independentes
para ser utilizado posteriormente, omo base para predizer o movimento de pontos
fa iais arbitrrios, obtendo dessa forma gerao de animaes, para ser utilizado
omo ferramenta omputa ional em estudos sobre per epo e produo da fala. Os
estudos baseiam-se prin ipalmente em Lu ero et al., (ver [14).

Introduo

Em artigo re ente, a seleo de sub onjuntos foi examinado por Hoog e Mattheij
(ver [10), onde onsideram uma matriz
linhas de

A Rmn

de tal forma que a matriz resultante

BR

de linhas linearmente independentes, isto , para


de permutao

mm

tal que

A =
sendo

B Rkn

em que se deseja eliminar

kn

mk

possua um sub onjunto

A Rmn

en ontrar uma matriz

(1)

a matriz pretendida. Neste artigo, os autores mostram uma t ni a

de seleo de linhas baseado na norma de Frobenius e na Pseudo-Inversa (ver [8).


Outros mtodos omo os algoritmos de tipo Ba kward Greedy (ver [5) podem
ser utilizados para abordar o problema de seleo de sub onjunto, uja essn ia
onsiste na determinao reiterada, de

A Rmn

e um vetor de observaes

= minn ||Ax b||2

xR
Rn .

min ||A1 x1 b||2 .


x1 Rn1
novamente retiramos outra oluna e al ula-se

Espe i amente, retira-se uma oluna de


Reinserida esta oluna na matriz

min ||A1 x1 b||2 .

x1 Rn1

para uma dada matriz

e al ula-se

Repete-se este pro esso para todas as olunas de

a oluna que fornea

min
||A1 x1 b||2
n1

menor possvel, onde

x1 R
ada etapa do algoritmo, elimina-se uma oluna de

A,

A e elimina-se

A1 Rm(n1) .

sempre seguindo os passos

para eliminao da primeira oluna. Desta forma, o algoritmo elimina


de

e portanto, tem-se uma matriz

sub onjunto de

olunas de

A.

Ar Rmr ,

Em

nr

olunas

ou seja, o algoritmo sele iona um

Do mesmo modo pode ser utilizadas para examinar o problema de seleo de


sub onjunto, diferente t ni a (ver [8) denominada de omposio de valores singulares (SVD), que adiaremos temporariamente e prontamente ser apresentada no
Captulo 1.
Em outro artigo (ver [12), a seleo de sub onjunto feita usando re ursos
estatsti os e algbri os. Ini ia-se om a apli ao de s anner a laser a

expreses

fa iais estti as pr-determinadas originando igual nmero de matrizes om


pixels e

141.900

71.900

polgonos, que seguidamente so adaptadas a uma malha fa ial

deformvel genri a onstituda por


malhas fa iais so gerados

576

nodos e

844

polgonos. A partir dessas

8 (oito) vetores de 3 576 omponentes, que representam


2

Introduo

as oordenadas espa iais

{x, y, z}

de ada um dos nodos e onstituem os vetores

olunas da matriz de dados aleatrios

A Rmn ,

onde

m = 3 576

n = 8.

Aps

al ulada a matriz de ovarin ia e via SVD obtem-se as omponentes prin ipais


(PCA) dos vetores olunas de

dos quais sele iona-se o sub onjunto dos mais

representativos no que se refere varin ia dos dados. Note-se que as omponentes


prin ipais so os autovetores de

e que pelo signi ado de orrentes do modelo

representam rostos dis retizados na forma de malhas fa ias, o que os leva a serem
hamados de autofa es (eigenfa e ). No presente aso, gostariamos de obter um
modelo em termos de pou o mar adores fa iais, ao invs de vetores que representam
imagem da fa e.
Outra alternativa interessante, foi proposta pelo trabalho de modelagem arti ulatria de Badin et al., (ver [2). Neste artigo, o PCA usado para determinar
parmetros arti ulatrios para ontrolar a forma de uma regio vo al em

3D.

Para

uma melhor relao biome ni a subja ente, alguns dos parmetros (por exemplo,
altura do maxilar, et .) so denidos a priori, e suas ontribuies so subtradas
dos dados antes de omputar os omponentes restantes.

Em nosso trabalho, ns

propomos onar inteiramente nos dados para predizer o omportamento dinmi o


da fa e, om pou as suposies prvias omo possvel.
Retornando de omposio QR om pivoteamento de olunas omo pro edimento de seleo de sub onjunto, mister omentar algumas re entes apli aes.
Foi apli ada matriz

A Rmn ,

om

m<n

ujas olunas se orrespondem om a

sequn ia nita de profundidades do nvel da gua medida em um dado poo, em


intervalos arbitrrios de tempo. O objetivo deste estudo foi a identi ao de sub onjunto de poos independentes para posteriormente serem utilizados omo base
para a predio do deslo amento do nivel de gua em poos aleatoriamente es olhidos (ver [16).
Como visto, existem vrias t ni as para se resolver o problema de seleo de
sub onjunto e apli aes. Conforme mostraremos, o algoritmo de fatorao QR om
pivoteamento de olunas permite identi ar um sub onjunto de mar adores fa iais
independentes, e desta forma explorar sua apli ao onstruo de modelos da
biome ni a fa ial (ver [14) e onsequentemente, movimentos arbitrrios e animaes da fala podem ser logo geradas, ontrolando esse modelo om sinais olhidos
experimentalmente (animao fa ial data driven ).

Introduo

Os estudos sobre animaes fa iais deste presente trabalho est baseado em


Lu ero et al.

(ver [14) e resultado da anlise de pesquisas anteriores, na ger-

ao de animaes fa iais realsti as durante a fala. Nosso trabalho segue uma linha
de pesquisas omputa ionais para a gerao deste tipo de animao. Dentre esses
trabalhos, podemos itar um outro artigo re ente de Lu ero et al.
artigo prope uma analise dos registros da posio

3D

(ver [15).

de um onjunto de mar-

adores olo ados no rosto de um sujeito, enquanto este fala, indenti ando grupos
de mar adores om padres de movimentos similares. Esses grupos denem regies
inemti as independentes, que onstituem uma base para expressar o movimento
total da superf ie fa ial.
No que segue, esta dissertao ter a seguinte estrutura:
No primeiro Captulo so introduzidos on eitos bsi os de lgebra linear, denies e resultados sobre a SVD e sua relao om o posto de uma matriz e nalizamos
om uma rpida dis usso sobre a SVD.
No Captulo seguinte, denimos fatorao QR e algumas propriedades desta
de omposio. Em seguida, apresentamos omo obter a fatorao QR por Reexo
de Householder, on luindo om alguns resultados que rela ionam a fatorao QR
om o posto da matriz.
J no ter eiro Captulo, apresentamos algumas apli aes da fatorao QR, tal
omo na resoluo de sistemas lineares, problema de mnimos quadrados e uma
soluo para o problema de seleo de sub onjunto, nalizando om uma breve
dis usso deste Captulo.
Por m, no quarto Captulo, mostramos omo a fatorao QR pode ser til
na obteno de um modelo para gerao de animaes fa iais e alguns resultados
a er a da fatorao QR, alm da anlise dos erros. O Matlab foi utilizado em todos
os gr os e tabelas que apare em neste Captulo.
Por ltimo, apresentamos algumas Con luses, Anexos e o Apndi e, onde est
disposto o digo fonte em Matlab da maioria dos programas que foram implementados nesta dissertao.

Captulo 1
Con eitos Bsi os e De omposio
em Valores Singulares
1.1 Introduo
Esse aptulo tem omo objetivo introduzir alguns on eitos de lgebra linear que
sero usados nos aptulos seguintes. Comearemos denindo normas, posto, ortogonalidade e alguns resultados sobre o mesmo.
Em seguida, fo alizaremos nossos estudos na De omposio de Valores singulares
(SVD) e provaremos alguns dos prin ipais resultados que envolvem este tipo de de omposio, prin ipalmente naqueles que rela ionam SVD e o posto de uma matriz,
mostrando que a SVD pode ser usado para reduzir a dimenso de uma matriz de
dados.
Por m, usaremos o SVD para determinar o posto numri o de uma matriz
on luiremos esse aptulo, fazendo uma anlise desta de omposio.

1.2 Norma de Vetores


Uma norma uma funo

|| || : Rn R
x ||x||
que faz uma orrespondn ia de um valor real (` omprimento') a ada vetor.

Captulo

1.

Resultados Bsi os e De omposio em Valores Singulares

Para que orresponda a uma idia razovel de omprimento, uma norma deve
satisfazer trs axiomas. Para quaisquer

1.

||x|| 0,

2.

||x + y|| ||x|| + ||y||;

3.

||x|| = ||||x||.

||x|| = 0

x, y Rn

e es alar

x = 0;

se, e s se,

Em palavras, estas ondies expressam o seguinte: Por


no-nulo positiva,

2.

R,

1.

a famosa desigualdade do tringulo,

a norma de um vetor

3.

a propriedade de

homogeneidade.
Pode-se provar (ver [8) que para quaisquer

x, y Rn

temos

||x.y|| ||x||.||y||.
Esta inequao onhe ida omo desigualdade de Cau hy-S hwarz.
As normas mais utilizadas em Anlise Numri a so as denominadas

p-normas.

Denio 1.1 p-norma de um vetor x dada por


m
X

||x||p =
para todo

i=1

igual a

normas:

2.

3.

(1.1)

x Rn .

Para os asos parti ulares em que

1.

|xi |p

! p1

1-norma: ||x||1 =

2-norma: ||x||2 =

m
X
i=1

|xi |;

m
X
i=1

|xi |2

! 12

-norma: ||x|| = max |xi |.


i=1, ,n

1, 2

ou

temos as seguintes

1.

Captulo

O tem

1.

Resultados Bsi os e De omposio em Valores Singulares

onhe ido omo norma da Soma,

2.

omo norma Eu lidiana e

3.

a norma do Mximo.
Todas as normas em
normas em

Rn ,

Rn

so equivalentes (ver [8), isto , se

ento existem onstantes positivas

c1

c2

|| . ||

tais que

|| . ||

c1 ||x|| ||x|| c2 ||x||


para todo

so

(1.2)

x Rn .

Pode-se provar (ver [8) que, para todo

1.

||x||2 ||x||1

2.

||x|| ||x||2

3.

||x|| ||x||1

x Rn , valem as seguintes desigualdades:

n||x||2 ;

n||x|| ;
n||x|| .

Em geral, os valores das

p-normas, p = 1, 2

so distintos.

1.3 Norma de Matrizes


Uma matriz

A Rmn

pode ser vista omo um vetor no espao de dimenso

ada um dos elementos onsiderados omo oordenada independente.

m n,

Portanto,

qualquer norma vetorial pode ser utilizada para medir o `tamanho' de uma matriz.
Uma norma matri ial uma funo

|| || : Rmn R
A
||A||
que satisfaz

ondies. Para quaisquer

1.

||A|| 0,

2.

||A + B|| ||A|| + ||B||

3.

||A|| = ||||A||.

||A|| = 0

se, e s se,

A, B Rmn

A = 0;

temos

Captulo

1.

Resultados Bsi os e De omposio em Valores Singulares

Em alguns asos, podemos ter ainda uma propriedade adi ional, que rela iona

||A.C|| ||A||.||C||

a operao de multipli ao de matriz, isto ,

A Rmn

C Rnm .

Essa propriedade hamada de onsistn ia, (ver [8).

Por simpli idade, utilizaremos a mesma norma


a

p-norma

de

A,

para quaisquer

e denotaremos por

||A||p.

Assim,

|| ||p

no domnio e na imagem,

Denio 1.2 p-norma de uma matriz A dada por ||A||p = max


x6=0

todo

x Rn .

||Ax||p
,
||x||p

para

Equivalentemente Denio 1.2 temos que





||Ax||p
x
= max ||Ax||p .

||A||p = max
= max A
x6=0 ||x||p
x6=0
||x||p p ||x||p=1

Em parti ular, se

p = 1, 2

1.

||A||1 = max

||Ax||1
;
||x||1

2.

||A||2 = max

||Ax||2
;
||x||2

3.

||A|| = max

x6=0

x6=0

x6=0

ou

temos, respe tivamente, que

||Ax||
.
||x||

Pode-se provar (ver [8) que se

p=1

p=

||A||1 = max

1jn

||A|| = max

1im

m
X
i=1

n
X
j=1

temos, respe tivamente, que

|aij |

(1.3)

|aij |

(1.4)

Uma norma matri ial, frequentemente utilizada, hamada de Norma de Frobe-

nius ou Hilbert-S hmidt e denida a partir de

Denio 1.3 Norma de Frobenius de uma matriz A Rmn


v
uX
m
u n X
||A||F = t
(aij )2 .
j=1 i=1

dada por

Captulo

Seja
por

bl ,

1.

Resultados Bsi os e De omposio em Valores Singulares

uma matriz om elementos

om

n
X
l=1

1 l n,

bij

onde

1im

as respe tivas olunas da matriz

B.

1 j n.

Denotemos

Ento

||bl ||22 = ||b1 ||22 + ||b2 ||22 + + ||bn ||22


= (b211 + b221 + + b2m1 ) + + (b21n + b22n + + b2mn )
= ||B||2F .

Seja

C = AB

oluna de

B.

om entradas

Ento

cij = aTi bj

(1.5)

cik , denotamos aTi

a i-sima linha de

e por Cau hy-S hwartz

||AB||2F

n X
m
X

i=1 j=1
m
n X
X
i=1 j=1
n
X
i=1

A e bj

|cij | ||ai||.||bj ||.

j -sima

Assim,

|cij |2
(||ai||2 ||bj ||2)2

(||ai ||2 )

m
X

(||b||2)2

j=1
2
2
||A||F ||B||F .

Como as normas vetoriais, as normas matri iais

(1.6)

Ap

om

p = 1, p =

AF

tambm possuem relaes de equivaln ia. Podemos provar que (ver [8) dada uma
matriz

A Rmn

temos

1.

||A||2 ||A||F

2.

max |aij | ||A||2


i,j

n ||A||2

1
3.
n

||A|| ||A||2

1
4.
m

||A||1 ||A||2

mn max |aij |;
i,j

m ||A||;

n ||A||1.

1.4 Imagem, Espao Nulo e Posto


Denio 1.4

Dada uma oleo de vetores

a1 , a2 , , an

em

Rn ,

o onjunto de

todas as ombinaes lineares desses vetores um subespao denotado por

Espao

Captulo

de

a1 , a2 , , an ,

1.

Resultados Bsi os e De omposio em Valores Singulares

ou seja,

ha1 , a2 , , an i =

Denio 1.5

Seja

A Rmn .

( n
X

j aj ; j R .

j=1

Dizemos que a

Im(A) = {y Rm ; y = Ax

Imagem de A

para algum

x Rn } .

Em relao a Denio 1.5, observe que qualquer vetor


gerado pelas olunas de
n
X
ou seja,

y =

xj aj ,

A pode
logo

ento

das olunas de

A.

y = Ax

y = Ax

e portanto,

para algum

Assim, se

ento

que perten e ao espao

ser es rito omo ombinao linear de suas olunas,

j=1

y Im(A)

x Rn

y Im(A).

Re ipro amente, se

Ax

ombinao linear

e portanto,

A = [a1 , a2 , , an ]

so as olunas parti ionadas de

Im(A) = ha1 , a2 , , an i .

Denio 1.6 (N leo)

Seja

dado por

A Rmn .

Espao Nulo

A,

(1.7)

ou

N leo

de

N(A) = {x Rn ; Ax = 0} .

Denio 1.7 (Posto)

Dizemos que o

Posto de uma matriz A

posto(A) = dim(Im(A)).

Denio 1.8

Dizemos que

min {m, n}.

A Rmn

possui

Posto In ompleto, se posto(A) <

Pode-se provar que (ver [8):

1.

posto(A) = posto(AT );

2. Se

A Rmn ,

ento

dim(N(A)) + posto(A) = n.
10

1.

Captulo

Resultados Bsi os e De omposio em Valores Singulares

1.5 Ortogonalidade
Denio 1.9

Uma matriz

QT Q = In .

Teorema 1.10

Se

Q Rmn

dita

Ortogonal se, e somente se, QQT =

uma matriz ortogonal, ento

1.

det(Q) = 1;

2.

QT

3.

||Qx||2 = ||x||2 ,

4.

||QA||2 = ||A||2,

5.

||Q||2 = 1.

ortogonal.
para todo vetor

x;

para toda matriz

A;

Demonstrao:
Omitiremos a demonstrao para os tens

3.

Se

1, 2, 4

e podem ser en ontradas em [19.

um vetor qualquer, ento

||Qx||22 = (Qx)T (Qx)


= xT QT Qx
= xT x
= ||x||22
= ||x||2 .
5.

onsequn ia imediata de

2.

e de

(1.8)

||I||2 = 1.


Teorema 1.11

Se

Demonstrao:

Q1

Q2

so matrizes ortogonais, ento

Q1 Q2

ortogonal.

Ver [19.


11

Captulo

Teorema 1.12
onde

Seja

1.

Resultados Bsi os e De omposio em Valores Singulares

A Rmn

norma de Frobenius.

Q Rmm

ortogonal, ento

||QA||F = ||A||F ,

Demonstrao:
Suponha que

a1 , a2 , , an

sejam as olunas de

A,

ento

||QA||2F = ||(Qa1 , Qa2 , , Qan )||2F


n
X
=
||Qai ||22
i=1

n
X

i=1

||ai||22

= ||A||2F .

(1.9)

1.6 De omposio em Valores Singulares


A De omposio em Valores Singulares (SVD, Singular Value De omposition )
uma fatorao de matrizes freqentemente utilizada em muitos algoritmos. uma
ferramenta ontida na maioria dos pa otes matemti os de omputao e muitos
problemas de lgebra Linear podem ser resolvidos utilizando esta fatorao. Ini iamos esta Seo, apresentando a denio de SVD.

Denio 1.13

Seja

A Rmn .

SVD de A a fatorao

A = UV T
onde

U Rmm

isto ,

V Rnn

so

Ortogonais e Rmn uma matriz Diagonal,

ij =
Os elementos

(1.10)

ii , i = 1, 2, , p,

ij , se i = j,
0, se i 6= j.

onde

Singulares de A e denotados por i

p = min{m, n},

so denominados

sendo es olhidos de modo que

p 0.
12

Valores

1 2

Captulo

Cada uma das

1.

Resultados Bsi os e De omposio em Valores Singulares

olunas da matriz

Singulares Esquerda de

U,

denotadas por

da matriz

A A,

so hamadas Vetores

A e ada uma das n olunas da matriz V , denotadas por vk ,

so hamadas Vetores Singulares Direita de

uk ,

e os vetores

vk

A.

Os vetores

so os autovetores da matriz

uk

so os autovetores

AA

Observaes:
1. A de omposio de valores singulares denida em 1.13 re ebe o nome de SVD

Completa.
2. Seja

A Rmn ,

om

m n

A = UV T

so dados omo na Denio 1.13.


possui todos

mn

Observe que para

A,

a matriz

onde

m > n

U, V

valores singulares iguais a zero. De modo que apenas os

primeiros valores singulares de


suponha que

a SVD de

tenha

inuen iam na de omposio de

A.

Assim,

valores singulares no-nulos. Logo, a equao (1.10)

denida em 1.13 pode ser rees rita omo

A=U
Desta forma, o produto a ima anula
singulares. Logo

onde

b Rmn , V Rnn
U

n
de

A.

mn

V T.
olunas de

b V
b T
A=U

b Rnn

possui

uma matriz diagonal om

valores

(1.11)

1 2

todos no-nulos. Essa de omposio onhe ida omo SVD reduzida

Dada uma matriz

1. Toda matriz

A Rmn

pode-se provar que:

sempre admite uma de omposio em valores singulares;

2. Seus respe tivos valores singulares so ni os;


3. Se os valores singulares forem distintos dois a dois, ento os vetores singulares
( esquerda e direita) so ni os a menos de sinal.

Demonstraes para esses resultados podem ser en ontrados em [19.


13

Captulo

1.

Resultados Bsi os e De omposio em Valores Singulares

1.7 Algumas Propriedades da SVD


Um dos aspe tos que valorizam a SVD sua apa idade de lidar om o on eito
de posto de matrizes. Nessa Seo mostraremos que o SVD uma have para esse
problema por ara terizar e ientemente uma aproximao de matrizes de um posto
denido, (ver [7). Ini iaremos essa Seo, introduzindo algumas relaes entre SVD
e normas (ver [8, 20), que sero teis adiante, quando falaremos de posto numri o.

1.7.1 SVD e sua Relao om Normas


Nessa Subseo apresentaremos alguns resultados que rela ionam
de Frobenius om os valores singulares de uma matriz

2-norma

e norma

que so importantes e

mere em ser desta adas. Estas relaes sero mostradas nos Teoremas 1.14 e 1.15.

Teorema 1.14
UV

Seja

, ento

A Rmn

uma matriz om de omposio de valor singular

||A||2 = 1

(maior

valor singular).

(1.12)

Demonstrao:
Sabemos que

||U||2 = ||V T ||2 = 1

porque

so ortogonais. Assim,

||A||2 = ||UV T ||2


= ||||2
||x||2
= max
x6=0 ||x||2

= max
x6=0

n
X

(i xi )2

i=1

n
X
i=1

= max
x6=0

x2i

! 12

! 12

((1 x1 )2 + (2 x2 )2 + + (n xn )2 ) 2
1

(x21 + x22 + + x2n ) 2


14

Captulo

Como

1, , n,

1.

Resultados Bsi os e De omposio em Valores Singulares

o maior valor singular da matriz


por

A,

substituindo ada

i ,

onde

i =

teremos,
1

||A||2 max
x6=0

(12 (x21 + x22 + + x2n )) 2


1

(x21 + x22 + + x2n ) 2

= max 1
x6=0

= max 1

(x21 + x22 + + x2n ) 2

(x21 + x22 + + x2n ) 2

x6=0

= 1 .
Portanto,

||A||2 1 .
Por outro lado, es olhendo

x = e1 ,

(1.13)

temos

||A||2 = ||UV T ||2 .

= max

((1 x1 )2 + (2 x2 )2 + + (n xn )2 ) 2

= max

((1 1)2 + (2 0)2 + + (n 0)2 ) 2

x6=0

x6=0

= max 1

(x21 + x22 + + x2n ) 2

(12 + 02 + + 02 ) 2

x6=0

||A||2 = 1 .

(1.14)

De (1.13) e (1.14) seque (1.12).

Teorema 1.15
UV T ,

Seja

ento

A Rmn uma matriz om de omposio em valores singulares


||A||F = 12 + 22 + + n2

 21

(1.15)

Demonstrao:
Pelo Teorema 1.12 para qualquer matriz ortogonal

15

temos que

||QA||F = ||A||F .

1.

Captulo

Considere

Rnn

UV T
e

Resultados Bsi os e De omposio em Valores Singulares

a de omposio em valores singulares de

V T Rnn .

A,

Ento

onde

U Rmn ,

||A||F = ||UV T ||F


= ||V T ||F

= ||(V T )T ||F
= ||(V T )||F
= ||T ||F

12 + 22 + + n2

 21

.


1.7.2 Relaes entre SVD e o Posto de uma Matriz


Esta Subseo tem o propsito de rela ionar a SVD e o posto de uma matriz, usando
os respe tivos valores singulares.

Comeamos por um teorema que forne e uma

relao entre o posto e os valores singulares de uma matriz.

Teorema 1.16 (Posto)


Ento,

posto(A) = n

Seja

A Rmn

se, e somente se,

tm

a matriz de valores singulares de

A.

valores singulares no-nulos.

Demonstrao:
Suponha que

tm

valores singulares no-nulos ento

uma matriz diagonal. Por outro lado,


ento

posto(A) = posto().

A = UV

e omo

posto() = n,

j que

tm posto ompleto,

A re pro a anloga.


O Teorema 1.16 forne e uma alternativa para se determinar o posto de uma matriz em vez de usar a Denio 1.7, porm agora, usando a SVD. Conseqentemente,
uma matriz
e

A Rmn

ter posto in ompleto, isto ,

r+1 = = n = 0.

r < n,

se

i > 0, i = 1, , r

A frmula seguinte uma das mais importantes propriedades da de omposio


em valores singulares.
16

Captulo

Teorema 1.17

1.

Resultados Bsi os e De omposio em Valores Singulares

A Rmn

Uma matriz

forma

Ar =

r
X

om posto

r , r n,

pode ser es rita na

j uj vjT ,

(1.16)

j=1

em que

ui, i = 1, , r ,

i = 1, , r ,

so os primeiros

so os primeiros

so os valores singulares de

vetores singulares esquerda de

vetores singulares direita de

A.

A, vi ,

i , i = 1, , r ,

Demonstrao:
Tem-se que

I = VVT
= (v1 , v2 , , vn )(v1T , v2T , , vnT )
= v1 v1T + v2 v2T + + vn vnT ,

j que

uma matriz ortogonal. Se multipli armos por

a esquerda da equao

a ima em ambos os membros da igualdade teremos:

A = A(v1 v1T + v2 v2T + + vn vnT )

= (Av1 )v1T + (Av2 )v2T + + (Avn )vnT


= 1 u1 v1T + 2 u2 v2T + + n un vnT .

Se

tem posto

r = n,

segue do Teorema 1.16 que

possui

valores singulares

no-nulos e portanto

A =

r
X

j uj vjT .

j=1

Caso ontrrio, se

r+2 = = n = 0.

tem posto

r < n,

ento pelo Teorema 1.16 temos que

r+1 =

Da,

A = 1 u1 v1T + 2 u2 v2T + + r ur vrT


r
X
=
j uj vjT .
j=1


17

Captulo

1.

Resultados Bsi os e De omposio em Valores Singulares

Observao:

Dados

u11

u21

u1 =
..
.

um1

u1 v1T

v11

u11

v21

v1 =
..
.

vn1

u11 v11

u21 v11

..
.
um1 v11

Portanto, as olunas da matriz

u1 v1T

i = 1, , r

tem posto

ento,

u21

.. (v11 v21 vn1 )


.
um1

matriz

1.

u1 v1T

u11 v21

u21 v21
..
.

um1 v21

u11 vn1

u21 vn1
.
..

um1 vn1

so mltiplos do vetor

u1 ,

De maneira anloga, todas as matrizes

tm exatamente posto

e assim, a

uiviT ,

om

1.

A partir desta observao e do Teorema 1.17 podemos armar que qualquer


matriz ( om posto

r)

uma ombinao linear de

matrizes de posto

 ientes desta ombinao linear so os valores singulares

1 , 2 , , r

1.

Os oe-

da matriz.

Em determinadas apli aes, apare em matrizes ujos valores singulares menores


deveriam ser nulos, mas no o so por determinados motivos (por exemplo, erros de
arredondamento). freqente, nestes asos, substituir esses valores singulares por
zero, desprezando as suas ontribuies, e onsiderar uma matriz aproximada om
menos termos na ombinao linear das matrizes de posto

Teorema 1.18

Seja

A Rmn .

Para qualquer

A =

j uj vjT ,

j=1

18

om

1.

0 r,

denimos

(1.17)

Captulo

se

1.

= p = min{m, n},

Resultados Bsi os e De omposio em Valores Singulares

dena

+1 = 0.

||A A ||2 =

Demonstrao:

Ento

min

posto(B)

||A B||2 = +1 .

Ver [19.

Observaes:
U T A V = diag(1 , 2 , , , 0, , 0)

1. f il ver que

e da,

posto(A ) = .

U (A A )V = diag(0, 0, , 0, +1 , , p ) e pelo Teorema

Por outro lado,

||A A ||2 = +1 .

1.14, temos

2. Observe que de a ordo om o Teorema 1.17 podemos usar o SVD para expressar uma matriz

A omo ombinao linear de

Ou seja, dada uma matriz


singulares (r

< n),

uma base de

uma matriz

A Rmn ,

podemos usar os primeiros

e aproximar as olunas de

valores

omo ombinao linear de

vetores. De a ordo om o Teorema 1.18, quando aproximamos


de posto

n r,

para uma matriz

temos que essa aproximao no sentido da


pois o nmo atingido para toda matriz

B=U
onde

uma base de vetores ortogonais.

Ar = Ur V T

|| . ||2

om posto

a melhor possvel de

r,
A,

denida por

V T,

(1.18)

= diag(1 , 2 , , r , 0, , 0).

1.7.3 Posto Numri o


Seja

A Rmn .

Suponha que uma matriz

que originalmente tinha posto

r<n

tm seus elementos perturbados por algum tipo de erro, por exemplo, arredondamento ou erros de medidas. Certamente, esses erros de arredondamento, no permitir que a matriz

ontinue om posto exatamente igual a

r.

Realmente, o que

provvel, que a matriz que foi pertubada ter posto maior que
19

r.

Captulo

1.

Resultados Bsi os e De omposio em Valores Singulares

Suponha que ambas as matrizes a ima sejam submetidas a algoritmos numri os


ou estatsti os. A proximidade de

para matriz pertubada no forne er interpre-

taes erradas quando ambas as matrizes forem submetidas a esses algoritmos.


Assim, um modo de evitar possveis problemas om a denio de posto (ver
[7), espe i ar uma tolern ia e dizer que a matriz
de iente, se dentro dessa tolern ia, a matriz

tem posto numeri amente

est prxima da matriz de posto

de iente. Em outras palavras,

Denio 1.19

Uma matriz

possui um

-posto r

om norma

|| ||

se

r = posto(A, ) = inf{posto(B); ||A B|| }.

Entretanto, essa denio pode apresentar problemas, pois um pequeno aumento

em

poderia a arretar na diminuio do posto numri o de

a har um limite superior para


a

r.

A.

ne essrio ento,

para o qual o posto numri o  a pelo menos iqual

Tal nmero forne ido por qualquer

satisfazendo

Denio 1.20
< sup{; ||A B|| < posto(B) r},
onde

dado omo na Denio

1.19.

Atravs das Denies 1.19 e 1.20 podemos ento ara terizar posto numri o
de uma matriz

A,

Denio 1.21
,

ou seja,

Uma matriz

satisfazem as Denies

tem

1.19

Posto Numri o (, , r) om norma || || se


e

1.20.

Usando as Denies 1.19 e 1.20, podemos ara terizar o posto numri o de uma
matriz. O seguinte teorema tem esse propsito. Usaremos a notao
para ara terizar o posto numri o om

|| ||2.

20

posto(, , r)2

Captulo

Teorema 1.22
Ento

1.

Sejam

Resultados Bsi os e De omposio em Valores Singulares

1 2 n

tem posto numri o

( , , r)2

os valores singulares de uma matriz

A.

se, e somente se,

r > r+1 .

(1.19)

Demonstrao:
Suponha (1.19). Pelo Teorema 1.18, se

posto(B) r

||A B||2 <

e portanto

1.19.

r+1 .

e por denio temos

r r+1 .

Suponha por ontradio que

impli aria que

||A B||2 < r+1 ,

pelo Teorema 1.18 tem-se

r .

||A B||2 ,

Re ipro amente, suponha agora que

>

r+1 <

e onseqentemente satisfaz a Denio 1.18.

denida em (1.18), tem posto

ento

logo,

e portanto

Como a matriz

da satisfaz a Denio

satisfazem as Denies 1.19 e 1.20

Basta ento mostrar que

< r+1 ,

ento, omo

e que

||A B||2 < ,

isso

ontradio om o Teorema 1.18. Por outro lado,


Isso prova o teorema.


Mais detalhes a er a desta Subseo podem ser en ontradas em [7.

1.8 Anlise e Dis usso


Como j men ionamos na introduo, alguns trabalhos usam o PCA para gerao
de animaes fa iais. Em geral, a SVD utlizado na obteno de uma base para o
PCA. Podemos itar por exemplo o trabalho de Kuratate et al., (ver [12).
Como vimos, a SVD uma poderosa t ni a que permite aproximar uma determinada matriz

de posto

para uma matriz de posto

Essa aproximao para uma matriz

Ar

de posto

r<n

r <n

(Teorema 1.17).

tima no sentido da

(Teorema 1.18).

|| ||2

Sob a ti a do problema de seleo de sub onjunto gostariamos de sele ionar

olunas de uma matriz de dados

A Rmn (m n).

Tais

olunas devem

ser independentes de tal forma que podemos desprezar as ontribuies das outras

21

Captulo

1.

Resultados Bsi os e De omposio em Valores Singulares

(n r ) olunas da matriz de dados

A e portanto, poder aproximar as (n r ) olunas

(no sentido dos mnimos quadrados, [3) em termos de uma ombinao linear das

olunas sele ionadas.


Suponha que tivssemos uma matriz

A Rmn

om

mn

e de ompomos esta

matriz usando SVD. Essa matriz A vai ser de omposta em soma de matrizes de
n
X
posto 1, A =
i ui viT . Pelos teoremas 1.17 e 1.18, a matriz de posto r que melhor
i=1
r
X
i ui viT ,
aproxima-se de A no sentido da 2-norma, justamente a matriz Ar =
i=1
onde ui e vi so ulunas das matrizes U e V respe tivamente. Pode-se mostrar que

e
a1 , e
a2 , , e
an

ada uma das olunas


omo

dessa nova matriz

Ar

de posto

so es ritas

ae1 = u1 v11 1 + u2 v12 2 + + ur v1r r

ae2 = u1 v21 1 + u2 v22 2 + + ur vr2 r


.
..

.
..

.
..

.
..

aer = u1 vr1 1 + u2 vr2 2 + + ur vrr r


..
.

..
.

..
.

..
.

aen = u1 vn1 1 + u2 vn2 2 + + ur vnr r


e da,

onde

Ur

e
Ar = Ur X,

ontm os vetores ortogonais

orrespondentes a

vij l ,

onde

u1 , u2 , , ur

1in

e
X

uma matriz de oi ientes

1 j, l r .

Obeservaes:
1. Cada uma das olunas de

Ar , e
ai

om

i = 1, , n,

naes lineares de uma base de vetores


2. A base de vetores

ui

ui

obtida a partir das

so es ritas omo ombi-

da matriz ortogonal

U;

A.

olunas da matriz

Por m, realmente verdade que estamos interessados em reduzir a dimenso da


matriz

para uma matriz de posto

r,

mas tambm, queremos que essas


22

olunas

Captulo

1.

Resultados Bsi os e De omposio em Valores Singulares

sele ionadas sejam usadas para obter uma aproximao das outras (n

r)

olunas.

Dessa forma, obteremos um modelo que pode ser usado para predizer as (n

r)

olunas restantes de uma matriz de dados qualquer, bastando apenas sele ionar um
onjunto de

olunas independentes da matriz

A.

Com o SVD, isso no possivel.

Primeiro, porque teramos que en ontrar todos os vetores


obtermos

aei

onde

i = 1, , n,

as olunas da matriz

ui ,

om

i = 1, , r

para

mas obviamente, esses vetores dependem de todas

e isso no nos interessa, pois frustraria todo o nosso esforo

na tentativa de reduzir a dimenso dos dados da matriz

A.

Segundo, verdade

que a interpretao dos resultados atravs da utilizao dessa t ni a fa ilitada


pela reduo da dimensionalidade (posto), mantendo um elevado grau de expli ao,
porm, quais olunas da matriz

A foram usadas para obter as olunas da matriz Ar ?

De fato, no sabemos e no presente aso, no queremos que isso o orra. Gostaramos


de saber exatamente quais so essas olunas.
Como veremos nos Captulos

2 e 3, a fatorao QR atende pre isamente as nossas

ne essidades, sele ionando um onjunto de

A.

Posteriormente, essas

uma das

(n r)

de uma base de

olunas independentes de uma matriz

olunas so utilizadas para aproximar exatamente ada

olunas da matriz de dados

A em termos de uma ombinao linear

olunas. Justi ando nossa es olha de usar a fatorao QR para

obteno do modelo.

23

Captulo 2
A Fatorao QR
2.1 Introduo
Nesse Captulo omearemos por apresentar a denio de Fatorao QR e alguns
resultados a er a do mesmo.

Em seguida, dis utimos as hamadas matrizes de

Householder e omo podemos obter a de omposio QR usando essas matrizes.


Estudaremos as relaes que existem entre a fatorao QR e o posto de uma
determinada matriz. Provaremos, que se uma matriz

A tem posto ompleto, impli a

na uni idade de sua de omposio QR e onseqentemente, uma base para a


Por nal, analisaremos o aso em que
neste aso, uma base para a

Im(A).

no tem posto ompleto e omo obter

Im(A).

2.2 Denio e Propriedades da Fatorao QR


Sejam
elas:

a1 , a2 , , an

as olunas da matriz

e a sequn ia de subspaos gerados por

ha1 i ha1 , a2 i ha1 , a2 , , an i.


Assim,

ha1 i um espao 1-dimensional gerado por a1 , ha1 , a2 i o espao 2-dimensio-

nal gerado por

a1

a2

e assim por diante. A idia da fatorao QR est na onstru-

o de uma sequn ia de vetores

q1 , q2 , , qn

sequn ia de subespaos, (ver [8).

24

ortonormais que geram essa mesma

Captulo

2.

A Fatorao QR

Para sermos mais pre isos, assumimos por um momento que

A Rmn

om

m n e que posto(A) = n (nesse aso, dizemos que se A possui posto mximo, ento
as

olunas de

formam uma base ortonormal da imagem de

q1 , q2 , , qn

que a sequn ia

Assim, para que


que

a1 = r11 q1 .

i = 1, , 4

a1

i = 2

i = 1, , n.

na igualdade a ima temos que

seja ombinao linear de

Por denio, para que

tais que

Gostaramos

tivesse a seguinte propriedade

ha1 , a2 , , ai i = hq1 , q2 , , qi i ,
Em parti ular, tomando

A).

q1 ,

ha1 , a2 i = hq1 , q2 i.

devemos ter um es alar

ha1 , a2 i = hq1 , q2 i

t1 a1 + t2 a2 = t3 q1 + t4 q2 .

(2.1)

r11

devem existir es alares

Substituindo

a1

por

r11 q1 ,

tal

ti ,

teremos:

t1 a1 + t2 a2 = t3 q1 + t4 q2
t1 (r11 q1 ) + t2 a2 = t3 q1 + t4 q2
t2 a2 = t1 (r11 q1 ) + t3 q1 + t4 q2
t2 a2 = q1 (t1 r11 + t3 ) + t4 q2


t4
t1 r11 + t3
q1 + q2
a2 =
t2
t2
a2 = r12 q1 + r22 q2
onde,

r12

r22

es alares tais que,

r12 =

t1 r11 +t3
e
t2

r22 =

t4
. Analogamente, temos:
t2

a1 = r11 q1
a2 = r12 q1 + r22 q2
.
.
.

.
.
.

.
.
.

an = r1n q1 + r2n q2 + + rnn qn .


Observando as equaes a ima, vemos que elas podem ser es ritas utilizando
matrizes

ortogonal e

Denio 2.1
onde

Seja

Q Rmm

triangular superior, onde

A Rmn .

A de omposio de uma matriz

uma matriz ortogonal e

Fatorao QR de A.
Observe que dada uma matriz
linhas de

A, m n

ou

m < n.

A = QR.

R Rmn

A Rmn ,

A do

tipo

A = QR,

triangular superior, dita

temos duas possibilidades para as

Daremos em seguida, alguns detalhes (ver [20, 8)

sobre omo obter a fatorao QR de uma matriz


25

para esses asos.

Captulo

2.

A Fatorao QR

Caso: m n

1o

Teorema 2.2
nal

Dada uma matriz

Q Rmm

A Rmn ,

om

e uma matriz triangular superior

m n,

existe uma matriz ortogo-

R Rmn

tal que

A = QR.

(2.2)

Demonstrao:
A prova desse teorema ser dada na Seo 2.4.

Observaes:
1. Seja

A Rmn , m n.

A de omposio QR onde existem matrizes

R Rmn , onde Q ortogonal e R =

Q Rmm

Rnn triangular superior


,R

m>n

ento pelo Teorema 2.2 e pela

R
0

hamada de fatorao QR ompleta.


2. Suponha que

A Rmn , m n.

observao 1, existem

R
0

Rnn
, R

Q Rmm

Rm(mn)
Q

olunas restantes de

R Rmn ,

triangular seperior e

matriz que onsiste das


Seja

Se

onde

A = QR.

ortogonal e

R =

Rmn
Q

uma

Seja

tambm ortogonal.
n primeiras olunas de Q, logo Q

uma matriz ortogonal que representa as outra

Q.

Ento

Q]

A = QR = [Q

R
0

R
+ Q0,

=Q

mn
isto ,

R
.
A=Q
A fatorao QR de

R Rnn

A Rmn

om

m n

onde,

Q Rmn

ortogonal e

triangular superior denominada de fatorao QR reduzida.

26

Captulo

2.

A Fatorao QR

Caso: m < n

2o

Teorema 2.3

Seja

A Rmn , m < n.

R = (R11 R12 ) Rmn ,


R12 Rm(nm)

onde

Ento existem matrizes

ortogonal,

A = QR.

retangular e

R11 Rmm

Q Rmm

triangular superior,

Demonstrao:
A prova desse teorema ser dada na Seo 2.4.


Basi amente, existem trs mtodos para se obter a fatorao QR, so eles:

1. Reexo de Householder;
2. Rotao de Givens;
3. Pro esso de Ortogonalizao de Gram-S hmidt.

Des reveremos a seguir um mtodo para se obter a fatorao QR. Esse mtodo
baseado na refexo de Householder.

2.3 Reexo de Householder


Para melhor entendimento da reexo de Householder, onveniente denir reexo
(ver [20). Entretanto, no entraremos em detalhes, trataremos de um aso simples
de reexo no

R2 ,

apenas para podermos ter uma idia geomtri a.

2.3.1 Reexo
Seja

R2

uma reta em

pela reta

R2

que passa pela origem. O operador que reete ada vetor em

uma transformao linear, e portanto, pode ser representado por

uma matriz. Gostariamos de determinar esta matriz.


Seja
a

v um vetor no nulo perten ente a .

s pode ser mltiplo de

v.

Considere

27

Logo, ada vetor no-nulo que perten e

um vetor no-nulo ortogonal a

Segue

Captulo

que,

2.

A Fatorao QR

{u, v} uma base de R2 , logo ada x R2 pode ser expressado omo ombinao

linear de

v.

Ento

x = u + v ,

om

, R.

A reexo de

por

x=

u+v (ver Figura 2.1), logo, a matriz Q de reexo deve satisfazer Q(u+v) =

u + v .

Assim, para que isso o orra, ne essrio e su iente que

Qu = u e Qv = v.

(2.3)

x = u + v
v

Qx = u + v

PSfrag repla ements

Figura 2.1:

Reexo em torno da reta .

Sem perda de generalidade, podemos supor que

foi es olido de tal forma que

||u||2 = 1.
Considere agora a matriz
priedade

Q = uuT R22 .
Qu = (uuT )u
= u(uT u)
= u||u||2
= u

Qv = (uuT )v
= u(uT v)
= u(u, v)
= 0
28

Ento

possui a seguinte pro-

Captulo

j que

A Fatorao QR

so ortogonais.

Portanto, a matriz

I 2Q

2.

no uma reexo.

Por outro lado, se denimos

W =

temos

W u = u 2Qu
= u 2u
= u
e

W v = v 2Qv
= v0
= v.
Assim, a matriz
pela reta

onde

W R22
u

que dada por

W = I 2Q

um vetor unitrio e ortogonal a

reete o vetor que passa

Logo,

uma matriz de

reexo.

Teorema 2.4

Seja

reexo.

v Rn

um vetor no nulo e

P = I 2 vv
.
vT v

Ento

uma

Demonstrao:
vv T
vT v
vv T
2
||v||22
vv T
2
||v||2.||v||2
vT
2b
v
||v||
2b
vvbT .

P = I 2
= I
= I
= I
= I
Logo,

uma reexo.

(2.4)

29

Captulo

2.

A Fatorao QR

2.3.2 Denio e Propriedades da Reexo de Householder


A denio seguinte hamada de reexo de Householder devido ao matemti o e
psi logo norte ameri ano Alston Householder.

Denio 2.5

v Rn

Seja

um vetor no nulo. Uma matriz

P = I 2

da forma

vv T
vT v

(2.5)

reexo de Householder, ou em outros


Householder ou ainda transformao de Householder.
de vetor de Householder.
hamada de

matriz de

asos de
O vetor

hamado

Para os nossos propsitos, omo veremos a seguir, ne essario obtermos algumas


propriedades rela ionadas om a reexo de Householder (ver [19, 11, 20).

Uma

reexo de Householder goza das seguintes propriedades:

Teorema 2.6

Seja

P Rmn

uma reexo de Householder e

A Rmn .

Ento

1. P simtri a;
2. P ortogonal;
3.

||P x||2 = ||x||2 ;

4.

||P A||2 = ||A||2;

5.

P 2 = I.

Demonstrao:

Ver Anexo.


Umas das propriedades mais importantes da reexo de Householder se onsiste
em omo determinar um vetor
omo en ontrar o vetor

e1 = (1, 0, , 0)

v que dena tal reexo.

O seguinte resultado mostra

de Householder de tal forma que

30

Px

seja mltiplo de

Captulo

Teorema 2.7
um vetor

v = (v1 , v2 , , vn )

de householder

x = (x1 , x2 , , xn )T ,

Dado um vetor no-nulo

de maneira que

denida pelo vetor

Demonstrao:

Px

2.

podemos en ontrar

mltiplo de

v = x ||x||2 e1

A Fatorao QR

e1

onde a matriz

P x = ||x||2 e1 .

Ver Anexo.


Portanto, todas as omponentes do vetor
por multipli ao da matriz

ex eo da primeira so anuladas

P.

De a ordo om o Teorema 2.7 temos duas possibilidades de reexo para o vetor

x, P x = ||x||2 e1
situao, onde

ou

P x = ||x||2 e1 .

A gura 2.2 representa geometri amente essa

representam hiperplanos no espao

um hiperplano, representa um onjunto de pontos no


om

ai , i = 1, , n e b so nmeros reais.

um hiperplano o plano habitual.

n-dimensional.

Alis,

Rn , tais que ax1 + +axn = b,

Em parti ular, num espao tridimensional

Num espao bidimensional, um hiperplano

uma reta. Num espao monodimensional, um hiperplano um ponto. Assim, um


hiperplano divide o espao em que est denido em duas partes. Cada uma delas
hamada de semi-espao.

H+
PSfrag repla ements

||x||2 e1

+||x||2e1

Figura 2.2:

Possibilidades de Reexo.

2.3.3 Es olha do Vetor de Reexo


Para evitar problemas no l ulo da reexo, importante determinarmos uma
boa es olha para o vetor

v.

Obeserve que atravs da Denio 2.5 e das equaes

31

2.

Captulo

(4.9) e (4.10) on lui-se que indiferente es olher o sinal


anular todas as omponentes de
sinal da omponente

xsign(x1 )||x||2 e1
vT v

x1

do vetor

P x.
x

Por outro lado, se

ou

A Fatorao QR

no vetor

sign(x1 )

e se o mesmo difere pou o de

para

representar o

e1

ento

v =

tem norma bastante reduzida. Isso impli a que o produto es alar

possa ser uma quantidade muito pequena, o que a arretariam problemas no

l ulo da matriz

P.

Por essa razo o vetor

habitualmente denido a partir de

v = x + sign(x1 )||x||2e1 ,

1, se y < 0,
1, se y > 0,
sign(y) =

0, se y = 0.

onde

Alm disso, omo todos os elementos da matriz


ponentes do vetor

x,

vv T

(2.6)

so produtos de duas om-

ento valores grandes dessas omponentes podem impli ar a

o orrn ia de fenmenos de overow (o erro de overow o orre quando o resultado


de uma operao aritmti a ex ede o valor de

3.4028235 1038 ,

ou seja, erro por

estouro de memria). Esse problema resolvido onsiderando o vetor


de

na denio de

e portanto, omo

v.

Assim na denio da matriz

P x = ||x||2 e1 ,

em vez

denido por

(2.7)

ento

x


e1 =
P x = sign(x1 )


||x|| 2

sign(x1 )
0
..
.

v
u n 


2
uX
x
x
i
t

=
||x|| =
vmax
2

o vetor




1
1

e1
v=x
+ sign(x1 ) x
||x||
||x|| 2

onde

P,

x ||x||1

i=1

vmax = max |xi | .


i

32

(2.8)

(2.9)

Captulo

2.

A Fatorao QR

2.4 Cl ulo da Fatorao QR


Como visto na Seo 2.2, provaremos a existn ia da de omposio QR para uma

A Rnn .

matriz

QR quando

A prova do prximo teorema mostra a existn ia da fatorao

m n,

Teorema 2.8

usando reexo de Householder.

Seja

Rmn , om m n.

a matriz de Householder omo na Denio

Ento existem matrizes

Q Rmm

R Rmn

2.5

e seja

tal que

A = QR.

Demonstrao:
Como
Ento,

m n,

2
.
T
v(1) v(1)

temos que a matriz de Householder uma matriz quadrada

m m.

v
onde

(1)

A Rmn

e seja

P1 = I 1 v (1) v (1)

a11
a21
an1
=
+ sign(a11 ),
, ,
vmax
vmax
vmax
v
u n 
2
uX
xi
2
t
=
, 1 = (1)T (1) ,
vmax
v v
i=1

assim

(2)

P1 A = A

De maneira geral, ada matriz

v
om

1 =

De fato, suponha que

(k)

(2)

a11

0
=
..
.
0

Pk

(2)

a12

(2)

a22
.
.
.

(2)
am2

..

(2)
a2n

. .
.
.
(2)
amn

(k)

(k)
ak+1,k
akk
(k)
+ sign(akk )
= 0 0
vmax
vmax


(k)
vmax = max aik ,

Assim,

Pk = I k v (k) v (k)
#T
(k)
ank

vmax

v
u n 

uX aik 2
2
=t
, k = (k)T (k) .
vmax
v
v
i=k
33

(2)

a1n

i=k, ,n

onde

T

de Householder dada por

"

, onde

Captulo

2.

A Fatorao QR

Pn1 Pn2 P2 P1 A = R
donde segue,

1
1
A = P11 P21 Pn2
Pn1
R

= P1 P2 Pn2 Pn1 R.
Observe agora que todas as matrizes

P1 P2 Pn2 Pn1

so ortogonais e portanto, o produto

tambm ortogonal, alm disso, para ada

uma matriz simtri a, assim,

I.

Pk

Isso impli a que

P1 P2 Pn2 Pn1

PkT = Pk .

PkT = Pk1

Alm disso,

e portanto,

Pk

k = 1, 2, ..., n, Pk

ortogonal, logo

Pk1 = Pk .

Pk PkT =

Q Rmm

Q =

Assim tomando

podemos es rever

A = QR,
onde

(2.10)

R Rmn .


Portanto, o Teorema 2.8 prova a existn ia da de omposio QR quando
Em relao ao Teorema 2.3 (quando

m n.

m < n), sua demonstrao totalmente anloga

ao Teorema 2.8, basta onsiderarmos para esse aso, uma matriz de Householder

P Rmm ,

onde

(R11 R12 ) R

mn

m < n

e obteremos uma matriz

R11 R

mm

triangular superior e

Q Rmm
R12 R

ortogonal e

m(nm)

R =

retangular.

Nos limitaremos a partir das prximas Sees a obter resultados somente quando

A Rmn

om

4.

m n,

pois essa matriz vai ser nosso objeto de estudo no Captulo

2.5 Relaes da Fatorao QR om o Posto de uma


Matriz
Essa Seo objetiva estudar a uni idade da fatorao QR e analizar em que ir unstn ias ela o orre. Veremos que o fato de uma matriz

A posuir

posto ompleto, im-

pli a em sua uni idade, aso ontrrio, a fatorao QR no produz ne essariamente


uma base para

Im(A).

Assim, antes de darmos detalhes da uni idade, daremos uma


34

Captulo

2.

A Fatorao QR

prova para a suposio (2.1), pois a idia da fatorao QR, est na onstruo para
uma base para

Im(A).

Teorema 2.9

Seja

A Rmn

e sua respe tiva fatorao QR. Suponha

e onsidere as seguintes parties

ada

ai

qj

A = [a1 , a2 , , an ]

so as respe tivas olunas de

posto(A) =

Q = [q1 , q2 , , qm ],

Q, 1 i n

1 j m.

Ento

ha1 , a2 , , an i = hq1 , q2 , , qn i , k = 1, , n.

Demonstrao:

onde

(2.11)

Ver Anexo.

2.5.1 Uni idade da Fatorao QR


A uni idade da fatorao QR pode ser muito til em ertas apli aes, (ver [13, 8).
Portanto, poder determinar quando ela o orre, pode ser muito importante.

Teorema 2.10

Seja

A Rmn ,

existe uma ni a matriz

om

Q Rmn

mn

e suponha que

R Rnn

tal que

posto(A) = n.

Ento

tm olunas ortogonais e

triangular superior om todas as entradas da diagonal positiva e

A = QR.

Demonstrao:

(2.12)

Ver Anexo.

2.5.2 Matriz de Permutao


Se uma matriz

A no tem posto ompleto, ento a fatorao QR no ne essariamente

produz uma base para

Im(A).

Esse problema pode ser orrigido implementando o

que hamamos de fatorao QR om pivoteamento de olunas. Antes falarmos sobre


pivoteamento de olunas, daremos algumas denies teis que sero ne essrias ao
entendimento desse mtodo.
35

2.

Captulo

Denio 2.11

Uma

Matriz de Permutao ij

uma matriz quadrada que se

obtm da matriz identidade por tro a das suas linhas e olunas

Uma matriz de permutao

1.

ij = Tij

2.

ij = 1
ij .

A Fatorao QR

j.

tem as seguintes propriedades:

Uma matriz de permutao (ver [11) o produto de um nmero nito de matrizes


da forma

ij .

Se

uma matriz de permutao, ento

que se obtm tro ando as linhas ( olunas) de


onstituem

Assim,

nmero de linhas e olunas de

Denio 2.12

Uma matriz

A (A)

A orrespondentes

a matriz que difere de

uma matriz

aos fatores

ij

que

na ordem de um erto

A.

T A

denominada

Permutao Prin ipal de A.

2.5.3 Fatorao QR om Pivoteamento de Colunas


Vimos que quando uma matriz

possui posto ompleto, a fatorao QR ni a.

Porm, o que dizer quando o posto de uma matriz

A Rmn

in ompleto? Essa

Subseo tem o propsito de responder a essa questo.

Des revemos a seguir, omo esse problema pode ser resolvido al ulando-se a fatorao QR de

A om suas olunas permutadas (isto , om pivotamento de olunas,

[8, 20). Essa fatorao dada por


fatorao QR e

A = QR,

onde

so matrizes usuais da

uma matriz permutao.

Basi amente, a fatorao QR om pivoteamento de olunas permuta as oluna


de matriz

de tal forma os elementos da diagonal da matriz

que so `pequenos'

ou nulos, so movidos para a parte inferior da diagonal da matriz

R.

A idia dessa

fatorao segue abaixo dividida em dois passos.

Primeiro Passo:
Para ada oluna da matriz

j n.

Se a

j -sima

A,

al ulamos a

|| ||2

da

j -sima

oluna, om

oluna tem maior omprimento, isto , maior


36

|| ||2 ,

ento

Captulo

as olunas 1 e
satisfaz

so permutadas.

||(A)1 ||2 = max ||aj ||2 ,

da matriz

j
om maior

oluna da matriz
2-norma e

1 j n.

r11 6= 0,

Aps a determinao da oluna

Como a primeira oluna que tem maior

P x = ||x||2 e1 = [|r11 | 0 0 0]T

Em parti ular,

a reexo de householder transforma a primeira

[r11 0 0 0]T .

em

A Fatorao QR

Dessa forma, a primeira oluna da matriz

om

2-norma,

2.

a menos que

ento

|r11 |

tm maior valor absoluto.

seja identi amente nula.

Segundo Passo:
Terminado o primeiro passo, operamos em uma nova submatriz que denotaremos
por

(k)

A22 ,

iterao,

A.

onde o ndi e

k = 2.

indi a o nmero de interaes e omo estamos na segunda

Essa matriz obtida por ignorar primeira linha e oluna da matriz

De maneira totalmente anloga, prosseguimos de a ordo om o que foi feito

no primeiro passo, apenas om uma ressalva, quando tro amos a oluna de

(k)

A22 ,

(k)
oluna ompleta deve ser tro ada e no apenas a oluna que perten e a A22 .
Cada passo, opera em uma submatriz

(k)

A22 , obtida om uma oluna e uma linha a

menos que no passo anterior, justamente omo antes, ex eto que as olunas tro adas
so olunas ompletas. Observe que, o efeito de tro a de olunas orresponde a tro a
de olunas em

Teorema 2.13
b, Q
A

R,

antes de efetuarmos a fatorao QR.

Seja

tal que

ortogonal,

R=

A Rmn

b = A
A

om

posto(A) = r n.

obtida de

R11

R12

Ento existem matrizes

por permutao de olunas,

Rmn , R11 Rrr

Q Rmm

no-singular e triangular

superior.

Demonstrao:

Ver Anexo.


De forma anloga ao teorema a ima obtemos de omposio QR om permutao
de olunas para uma matriz

A Rmn

om

37

m n,

onde

Q Rmn

R Rnn .

Captulo

2.

A Fatorao QR

Observaes:
1. Seja

A Rmn ,

Rmn

m n.

om

Consedere a de omposio

uma matriz triangular superior,

Rnn

Q Rmm

A = QR

onde,

uma matriz ortogonal e

uma matriz de permutao. Com o esquema de pivoteamento de

olunas des rito a ima podemos es rever

A = QR = Q

onde os elementos da diagonal da matriz


no- res ente, isto ,
2. Se uma matriz

R11

R12

R22

(2.13)

esto todos dispostos em ordem

r11 r22 r33 rnn

A Rmn

posto(A) = r < n,

||R22 ||2

pequena, (ver [4);

ento a fatorao QR de

no ne essariamente produz uma base ortonormal para a

Im(A).

Felizmente,

a fatorao QR om pivoteamento de olunas pode ser usada para produzir


uma base ortogonal para

Im(A).

Pelo Teorema 2.13, existe uma matriz de permutao

QT A = R =

onde,
nal e

R11 Rrr

triangular superior,

posto(A) = r .

de tal forma que


Assim, para

R11

R12

A = QR

uma matriz ortogo-

tm suas olunas reordenadas

A = [a1 , a2 , , ar , , an ]
temos que

tal que

R12 Rr(nr) , Q

Sabemos que a matriz

k = 1, , n

Q = [q1 , q2 , , qr , qm ].

min{r,k}

ai =

X
i=1

impli ando que

rik qi hq1 , ..., qr i ,

Im(A) = hq1 , q2 , , qr i.

38

(2.14)

Captulo 3
Apli aes da Fatorao QR
3.1 Introduo
Ini iaremos esse Captulo resolvendo sistema de equaes lineares

A R

nn

om

posto(A) = n

Ax = b,

onde

e veremos que a fatorao QR forne e uma boa

soluo para esse sistema.


Em seguida, estudaremos o problema de mnimos quadrados (3.5). Mostraremos
sob quais ondies o orre a uni idade deste problema. Provaremos que a soluo do

problema de mnimos quadrados est rela ionado om o posto da matriz. Primeiro,


trataremos do aso em que uma matriz

A tem posto ompleto e em seguida, quando

no tem posto ompleto, analisando as duas solues.


Deniremos o problema de seleo de sub onjunto de uma matriz de dados

e forne eremos uma soluo para este problema, por meio da fatorao QR om
pivoteamento de olunas. Por m, daremos uma soluo aproximada para o sistema
sobredeterminado
matriz

Ax = b

usando um sub onjunto de

olunas independentes da

atravs de mnimos quadrados e nalizaremos este aptulo om algumas

on luses.

39

Captulo

3.

Apli aes da Fatorao QR

3.2 Sistemas Lineares


Considere o sistema de equaes lineares

Ax = b
A Rmn

b Rm , m = n.

posto(A) = n.

(3.1)

Existem vrios mtodos disponveis na literatura para resolver o sistema (3.1),


por exemplo, eliminao de Gauss, fatorao LU, dentre outros (ver [8). Porm, a
fatorao QR tambm uma boa alternativa para en ontrar a soluo do sistema
(3.1). De fato, seja

ni as matrizes
que

QRx = b.
onde

tais que

A = QR.

Multipli ando por

QT QRx = QT b
Rx = d,

A omo denida em (3.1).


QT

e omo a matriz

d=Q bR

nn

Como

A tem posto ompleto existem

Portanto, substituindo QR por

temos

em ambos os membros da igualdade teremos

T
uma matriz ortogonal (Q Q

= I ),

temos

Assim, para en ontrar a soluo para o sistema (3.1), basta resolver o sistema
triangular superior
para

i > j,

onde ada

Rx = d.

Como a matriz

triangular superior, temos

rij = 0

portanto temos um sistema da forma

xi

di ,

r11 x1 + r12 x2 + r13 x3 + + r1n xn = d1

r22 x2 + r23 x3 + + r2n xn = d2

r33 x3 + + r3n xn = d3

..

rnn xn = dn ,

om

mente.

i = 1, , n

so omponentes dos vetores

respe tiva-

Tais sistemas so resolvidos por substituies retroativas, atravs de equaes da


forma:

bi
xi =
para todo

n
X

j=i+1

rii

rij xj
(3.2)

i = 1, , n.

Observe que para en ontrar a soluo para o sistema (3.1), podemos atravs da
fatorao, de forma equivalente, resolver um sistema triangular superior, f il de
40

Captulo

3.

Apli aes da Fatorao QR

resolver. E de fato, essa a grande vantagem de se resolver o sistema (3.1) usando


a fatorao QR.

3.3 Problema de Mnimos Quadrados


O mtodo dos mnimos quadrados tem sido o pro edimento padro para a anlise
de dados a partir do in io de

1800.

Um famoso exemplo deste mtodo foi quando

Gauss om su esso predisse a rbita do asteride Ceres, em

1801.

Mais de duzentos

anos depois, mnimos quadrados ontinua sendo amplamente utilizado em reas


omputa ionais, engenharia, et (ver [3).
Considere um sistema (sobredeterminado ) de
,

m > n.

onde
vetor

n.

b Rm .

s existe se

b Im(A),

mas

b Rm

b.

Considere o vetor

in gnitas, isto

x que satisfaz Ax = b,

Normalmente, este problema no tem soluo. Pois, tal

Assim, devemos en ontrar um vetor

para

equaes om

Simboli amente, gostaramos de en ontrar um vetor

A Rmn
x

r = Ax b.

x
b Rn

Im(A)

tal que

Supondo que

no mximo de dimenso

Ab
x

a melhor aproximao

no nulo, devemos faz-lo to

pequeno quanto possvel. Desse modo, natural a es olha de uma norma para medir
o tamanho de

r,

isto , devemos en ontrar um vetor

seja mnimo, para alguma es olha de

p.

x
b

tal que

||r||p = ||Ab
x b||p

Porm, diferentes normas produzem difer-

entes solues. Normalmente, a norma es olhida a


propriedades importantes em relao as outras,

2-norma

1-norma

pois possui algumas

-norma,

(ver [19, 8).

A 2-norma preservada sob uma transformao ortogonal. Isto signi a que podemos en ontrar uma matriz
minimizao

||Q Ax Q b||2

De fato, seja
minado

Q Rmm

ortogonal tal que o problema se torna equivalente a


e omo veremos, f il de resolver.

uma matriz ortogonal e onsidere o sistema sobredeter-

QT Ax = QT b,
obtido atravs de (3.1) por multipli ao de

QT

(3.3)

em ambos os membros da igualdade.

Ento:

s = QT Ax QT b = QT (Ax b) = QT r.
Como

QT

ortogonal, temos

||s||2 = ||r||2.
41

Logo,

x Rn

(3.4)
minimiza

||s||2

se, e

Captulo

somente se, minimiza


soluo.

||r||2,

3.

Apli aes da Fatorao QR

isto , os dois sistemas sobrederminados tem a mesma

A t ni a que onsiste em en ontar um vetor

x
b que

minimize

||Ax b||2 ,

isto ,

Denio 3.1 Dados uma matriz A Rmn , om m > n e b Rm , o Problema


de Mnimos Quadrados (Least Squares Problem) onsiste em en ontrar xb Rn ,
tal que,

||Ab
x b||2

mnima.

Usaremos a notao

min ||Ax b||2

(3.5)

xRn

para denotar o problema de en ontrar o tal vetor

r = Ab
xb

x
b.

O vetor

(3.6)

onhe ido omo vetor residual (ver [3). Usaremos a notao

||r||2 = ||Ab
x b||2
e denotaremos por resduo. Note que se
para o vetor

x
b

das olunas de

(mas em geral,

A.

||r||2

(3.7)

||r||2 pequeno, dependendo de uma es olha

no nulo), ento podemos predizer

atravs

Nas Subsees seguintes, estudaremos a soluo para o problema de mnimos


quadrados atravs da fatorao QR. Divideremos esse estudo em dois asos. Primeiro
trataremos do aso em que uma matriz

A possui posto

ompleto e em seguida, para

o aso ontrrio.

3.3.1 Matrizes de Posto Completo


Teorema 3.2

Seja

A Rmn

e suponha que

posto(A) = n,

ento o problema de

Ax = b tm uma ni a soluo,
b = c, onde c Rn1 ,
superior Rx

mnimos quadrados para o sistema sobredeterminado


o qual pode ser resolvido pelo sistema triangular

QT b =

c
d

b
R

so obtidas pela de omposio QR de

42

A.

Captulo

3.

Apli aes da Fatorao QR

Demonstrao:
Queremos en ontrar

min ||Ax b||22 .

Temos que

A = QR,

om

xRn
mm
R
e

(3.8)

R Rmn .

Logo

||Ax b||22 = ||QRx b||22

= ||QT (QRx b)||22


= ||Rx QT b||22 .

Fazendo

onde

QT b =

c
d

b
R

R=

(3.9)

temos que

b c||2 + ||d||2,
||Ax b||22 = ||Rx
2
2

c Rn1 , d R(mn)1

b Rnn .
R

(3.10)

b c||2 + ||d||2 ser


||Rx
2
2
2
2
b
b
minimizado exatamente quando ||Rxc||2 for mnimo. Obviamente, ||Rxc||2 0,
b = c. Como A tem posto ompleto, R
b no om igualdade se, e somente se, Rx
b = c tem uma ni a soluo.
singular. Assim, o sistema Rx
Como o termo

||d||22

independente de

x,

temos que

Portanto, a soluo para o problema de mnimos quadrados para o aso em que


a matriz

b = c, e seu resduo dado por ||d||22.


A possui posto ompleto dada por Rx

Vimos na Seo 3.2 deste mesmo aptulo, que o sistema de equaes

b =c
Rx

f il de se resolver, ou seja, podem ser resolvidos por substituies retroativas. Dessa


forma, a fatorao QR se torma uma ferramenta bastante e az para en ontar uma
soluo para o problema de mnimos quadrados no aso em que

possui posto

ompleto.
Observe que atravs do sistema sobredetreminado
fatorao QR e en ontrar

Rx = Q b.

e portanto podemos multipli ar


superior

Rx = QT b,

Q Q = I,

obtendo

RT

Como

Ax = b,

posto(A) = n,

podemos apli ar a

temos

no-singular

em ambos os membros do sistema triangular

RT Rx = RT QT b.

Da, omo

segue

RT QT QRx = RT QT b.
43

ortogonal, isto ,

Captulo

Como

A = QR

AT = RT QT ,

3.

Apli aes da Fatorao QR

temos que

AT Ax = AT b.

(3.11)

Podemos provar os seguintes resultados (ver [3) para o sistema de equaes (3.11):

Armao 1:
AT A positiva denida, isto , xT (AT A)x > 0 para todo x,

dado que

posto(A) = n.

De fato

xT AT Ax = (Ax)T (Ax)
= ||Ax||22
0.
Alm disso, omo
segue que

Ax 6= 0.

tem posto

temos que se

Ax = 0,

ento

x = 0.

Logo, se

Isto signi a que

x 6= 0

xT AT Ax > 0
para todo

x 6= 0,

isto ,

AT A

positiva denida.

Armao 2:
A matriz

AT A

no-singular. De fato,

AT Ax = 0 xT AT Ax = 0
||Ax||22 = 0
Ax = 0
x=0
assim, a inversa

(AT A)1

T
1 T
na expresso (A A) A b existe.

Armao 3:
Mostremos que

para todo

x
b satisfaz

||Ab
x b||22 < ||Ax b||22 ,

(3.12)

x 6= x
b.

De fato,

||Ax b||22 = ||(Ax A


x) + (A
x b)||22

= ||Ax A
x||22 + ||A
x b||22 + 2(Ax A
x)T (A
x b),
44

(3.13)

Captulo

3.

Apli aes da Fatorao QR

onde nesta segunda igualdade foi usado que

||u + v||22 = (u + v)T (u + v)

= uT u + 2uT v + v T v

= ||u||22 + ||v||22 + 2uT v.

Armao 4:
(Ax Ab
x)T (Ab
x b) = 0

(3.14)

De fato,

2(Ax Ab
x)T (Ab
x b) = (x x
b)T AT (Ab
x b)

= (x x
b)T (AT Ab
x AT b)

= (x x
b)T [AT A(AT A)1 AT b) AT b]

= (x x
b)T (AT b AT b)

= (x x
b)T 0

= 0,
pois,

x
b = (AT A)1 AT b.

Com essa simpli ao,

||Ax b||22 = ||A(x x


b)||22 + ||Ab
x b||22 .

O primeiro termo no negativo para todo

x,

e onseqentemente

||Ax b||22 > ||Ax Ab


x||22 .
Alm disso, temos a igualdade somente se

posto(A) = n).

Portanto, on lumos que

A(x x
b) = 0,

isto ,

x = x
b

(pois, o

||Ax b||22 > ||Ab


x b||22 , x 6= x
b.

As equaes (3.11) so onhe idas omo Equaes Normais e omo foi provado
atravs das armaes a ima, tambm podem ser utilizadas para en ontrar uma
ni a soluo para o problema de mnimos quadrados para o aso em que
posto ompleto.

45

tem

Captulo

3.

Apli aes da Fatorao QR

3.3.2 Matrizes de Posto In ompleto


Vimos anteriormente que quando

tem posto ompleto a soluo do problema de

min ||Ax b||2 ni a. Por outro lado, se uma matriz A no


xRn
possui posto ompleto, provaremos que existem innitas solues para o problema

mnimos quadrados

de mnimos quadrados, (ver [8).

Teorema 3.3

A Rmn

b Rn

om

m > n.

Ento o problema de mnimos

quadrados para o sistema sobredeterminado

Ax = b

sempre tem uma soluo. Se

posto(A) < n,

Seja

ento h innitas solues.

Demonstrao:
Suponha que

A tem posto

A Rmn

posto(A) = r < n,

pois se

r = n,

estamos no aso em que

ompleto e portanto j existiria uma ni a soluo para o problema de

mnimos quadrados (Teorema 3.2). Usando a fatorao QR om pivoteamento de


olunas, temos

A = QR,

om olunas ortogonais e

onde

Rnn

R Rmn

triangular superior tal que

R=

om

R11 Rkk

uma matriz de permutao,

R11

R12

Q Rmm

R12 Rn(nk) .

2
Assim, podemos apli ar mnimos quadrados para minimizar ||Axb||2 . Portanto:

||Ax b||22 = ||QT Ax QT b||22

= ||QT A(T )x QT b||22

= ||(QT A)T x QT b||22

= ||RT x QT b||22 .

Seja

T x =

R(mk)1 .

x1
x2

QT b =

b1
b2

onde

Substituindo em (3.15) teremos:

46

x1 , b1 Rk1 , x2 R(nk)1

(3.15)

b2

Captulo

R11

R12

x1
x2

2

!

R11 x1 R12 x2 b1
.

b2


2



!




b1

=


b2




Apli aes da Fatorao QR

2

!

R11 x1 + R12 x2 b1
= ||R11 x1 + R12 x2 b1 ||2 + ||b2 ||2 .
2
2

b2



2

atingido quando

R11

3.

||R11 x1 + R12 x2 b1 ||22 = 0,

possui inversa temos que

Lembrando que

T x =

x1
x2

Portanto a soluo depende

segue que

Logo o mnimo

||b2 ||2 . Como


1
R11 (b1 R12 x2 ).

ujo resduo dado por

R11 x1 + R12 x2 b1 = 0

Assim,

ou

x1 =

1
R11
(b1 R12 x2 )

x=

x2

x2 , ou seja, para ada es olha de x2 temos uma ni a

soluo para o problema de mnimos quadrados. Logo, innitas solues.


Obeserve que o mnimo atingido quando

R12 x2 + b1 ,

onde

R11

no-singular.

R11 x1 +R12 x2 b1 = 0, isto , R11 x1 =


x2 = 0

Es olhendo

teremos

R11 x1 = b1

portanto

x=
Qualquer soluo, onde

Ax

1
R11
b1

s envolve no mximo

(3.16)

olunas de

A,

hamada de

soluo bsi a. A soluo bsi a usada freqentemente em vrias apli aes, por
exemplo, quando as olunas de

representam fatores redundantes em um modelo

linear, e queremos predizer um vetor de observaes

usando

olunas de

A,

(ver

[3).
A soluo bsi a no a soluo de 2-norma mnima a menos que a submatriz

R12

nula, (ver [8).


Observe que (3.16) novamente um sistema triangular superior e f il de se

resolver por substituio retroativa.

47

Captulo

3.

Apli aes da Fatorao QR

3.4 O Problema da Seleo de Sub onjunto


Suponha que ao invs de usar todas as olunas da matriz de dados
zer

b,

para predi-

gostaramos de prediz-lo a partir de apenas um sub onjunto de suas olunas,

eliminando aquelas que sejam redundantes, ou seja, olunas que ontm informaes
supruas, que podem ser des onsideradas (por exemplo, olunas linearmente dependentes, ver [8). O problema ento omo sele ionar um sub onjunto de olunas
no-redundantes de

A.

Como es olher estas olunas o onhe ido omo problema de

seleo de sub onjunto e o assunto desta Seo. Veremos que esse problema pode
ser resolvido atravs da fatorao QR da matriz

A,

om pivoteamento de olunas,

(ver [8, 14).


Na subseso seguinte, trataremos de omentar algumas importantes propriedades
da matriz

que sero teis mais adiante, quando dis utiremos uma soluo para

o problema de seleo de sub onjunto.

3.4.1 Propriedades da Matriz A


Seja

A Rmn ,

om

m n.

Ao usarmos fatorao QR om pivoteamento de

olunas, obtemos a seguinte de omposio para

A,

A = QR,
onde

Rnn

R Rnn

uma matriz permutao ,

uma matriz triangular superior.

(3.17)

Q Rmn

Para entendermos melhor as propriedades da matriz


o aso parti ular em que

m = n = 3.

a1 , a2 , a3

a1

as olunas de

a2

=
a3

A, trataremos de entender

A fatorao QR om pivoteamento de olunas

para esse aso nos forne e uma matriz


Denotemos por

uma matriz ortogonal e

Q R33

q1

q1 , q2 , q3

q2

48

q3

R R33

tal que

as olunas de

r
11
0

r12
r22
0

r13

r23

r33

A = QR.

ento,

Captulo

3.

Apli aes da Fatorao QR

onseqentemente,

a1 = r11 q1
a2 = r12 q1 + r22 q2
a3 = r13 q1 + r23 q2 + r33 q3 .

q3

PSfrag repla ements

r33

a3

r12

r23

r13

r22
q2

q1

a1 = q1 r11
Figura 3.1:

a2

Propriedades da Matriz A.

A gura 3.1 representa geometri amente o aso parti ular de pivoteamento de


olunas para uma matriz
em mdulo.

A R33 ,

onde os elementos da matriz

foram tomados

De a ordo om a Subseo 2.5.3 do Captulo 2, foi observado que quando efetuamos pivoteamento de olunas na matriz de dados

A,

os elementos da diagonal todos no- res ente, ou seja,


Na Figura 3.1, a primeira oluna da matriz
olunas de

forma que

q1

que possuem maior

2-norma,

possui a mesma direo de

foi es olhida dentre as olunas restantes


esta substitui a segunda oluna de

A.

justamente a oluna que minimiza

r33

om

r11 r22 r33 rnn .


es olhida dentre todas as

(ver Subseo 2.5.3 do Captulo 2) de

a1 .

a2

obtemos uma matriz

A prxima oluna para a matriz

a3 ,

omo a oluna que maximiza

r22

Desta forma, a ltima oluna da matriz


de

R.

De maneira geral, temos portanto que os elementos da diagonal de


49

R,

ou seja,

Captulo

rkk ,

3.

medem a omponente ortogonal de ada oluna

olunas da matriz
Portanto:

relativa as primeiras

k1

A, e sempre apare em em ordem des res ente para k = 1, , n.

1. A primeira oluna da matriz permutada


possui maior

justamente a oluna de

que

|| . ||2;

2. A segunda oluna de

a oluna de

que tem a maior omponente em

direo ortogonal primeira oluna da matriz


3. Em geral,

Apli aes da Fatorao QR

A;

k -sima oluna de A a oluna de A que tem a maior omponente

em direo ortogonal s

k1

olunas da matriz

A.

3.4.2 Seleo de Sub onjunto


A soluo para o problema de seleo de sub onjunto, depende do mtodo om
que a fatorao QR om pivoteamento de olunas omputada. Provavelmente, o
melhor algoritmo numri o o que est baseado na reexo de Householder, (ver
[7).

Como vimos no Captulo 2, este algoritmo baseia-se no seguinte:

que no

k -simo

e temos

(k)

passo a fatorao QR om pivoteamento de olunas foi omputada

A(k) (k) = Q(k) R(k) ,


(k)

k = 1, 2, , n.

onde

por uma das olunas restantes


de

R,

isto ,

rkk ,

ak+1 , ak+2, , an .

k -simo

estejam representadas nas primeiras

passo antes que

k -sima

ak ,

ento haver uma

A sejam es olhidas de tal forma que

olunas de

A,

deixando as ltimas olunas

justamente om as olunas dependentes de

Podemos justi ar tal ritrio de independn ia das

A,

(ver [7).

k primeiras olunas da matriz

A fazendo uma anlise das propriedades itadas na Subseo anterior.


que ada oluna da matriz
justamente a oluna de
s

(k 1)

direo ortogonal.

es olhida de tal forma que sua

L, foi visto

k -sima

oluna

que possui a maior omponente em direo ortogonal

olunas da matriz

equivale na es olha das

oluna de

Se a oluna que maximiza o

es olhida para substituir

tendn ia para que as olunas independentes de

da matriz

No

sejam omputados, h possibilidade de substituir a

(k, k)-elemento

Suponha

A.

Desta forma, tal ritrio de independn ia, se

olunas de

que possuem as maiores omponentes em

Em outras palavras, quando efetuamos a fatorao QR om

pivoteamento de olunas na matriz

A,

esta ser de omposta da seguinte forma

50

Captulo

A = QR = Q
onde
nal e

R Rnn

exatamente as

R11

R12

R22

Apli aes da Fatorao QR

(3.18)

Q Rmn

uma matriz ortogo-

uma matriz de permutao. Logo, a submatriz

(n k)

R22

olunas da matriz

ontm

primeiras

que so justa-

que possuem as maiores omponentes em direo ortogonal.

Caso ontrrio, omo todos os elementos da diagonal da matriz


ordem no- res ente e

de

so identi amente nulos, ertamente as

forne em um sub onjunto de

mente as olunas de

R22

menores (ou nulos) omponentes em direo ortogonal. Se

os elementos da diagonal de
olunas de

R11

uma matriz triangular superior,

Rnn

3.

R22

esto todos em

tem norma reduzida (ver [4), podemos desprezar suas

ontribuies e desta forma, sele ionamos novamente, um onjunto de

olunas de

A que possuem as maiores omponentes em direo ortogonal, dados pelos elementos


da diagonal da matriz

R11

Assim, as primeiras

que so forne idos pelas


olunas da matriz

onsequentemente as primeiras

primeiras olunas de

Im(A)

forne em uma base para

olunas da matriz

A.
e

so uma base ortogonal para

Im(A).

3.4.3 Seleo de Sub onjunto e Mnimos Quadrados


At o momento, vimos que o problema sobredeterminado

Ax = b pode ser

resolvido

usando a t ni a de mnimos quadrados, este por sua vez, possui uma ni a soluo
quando a matriz
matriz

possui posto ompleto e innitas solues para o aso em que a

possui posto in ompleto. Em alguns asos, pode ser vantajoso reduzir a

dimenso da matriz de dados para resolver o sistema


gerao de animaes fa iais (ver Captulo
Sele ionado um sub onjunto de

A1 ,

Ax = b,

por exemplo, para a

4).

olunas independentes da matriz

A,

dadas por

obtidas atravs da fatorao QR om pivotemento de olunas, gostaramos de

min ||A1 x b||22 .

(3.19)

xRn
De fato, a matriz

pode ser fatorada na forma

parti ionando a matriz

A[1 2 ] = QR.

= [1 2 ],

onde

Da segue,
51

A = QR,

1 Rmk

que pode ser rees rita

2 Rm(nk) .

Assim,

Captulo

A[1 2 ] = Q
tal que

onde,

A1 Rmk
R11 R

A1 = QR11

kk

3.

R11 R12
0 R22

Apli aes da Fatorao QR

representa um sub onjunto de

R12 R

k(nk)

A2 Rm(nk) .

R22 R

olunas independentes de

(nk)(nk)

Conseqentemente,

Podemos resolver (3.19), que um problema de mnimos quadrados usando fatorao QR. De fato, substituindo a matriz

por

A1

no Teorema 3.2 e repitindo

de forma anloga a demonstrao do teorema en ontraremos

||R11 x b1 ||22 + ||b2 ||22 ,


onde

Q b=
e

b1 Rk1

b2 R(mk)1 .

b1
b2

Logo, o mnimo atingido quando

R11 x = b1 .

(3.20)

Assim, a soluo para o problema de mnimos quadrados usando um sub onjunto de


olunas independentes da matriz
e resduo

A dada pelo sistema triangular superior R11 x = b1

||b2 ||2 .

Dessa forma, podemos sele ionar um sub onjunto de


matriz

para predizer um vetor de observaes

b,

k olunas independentes da

utilizando a t ni a de mnimos

quadrados.
Gostaramos de aproximar as

(n k)

olunas que no foram sele ionadas pelo

algoritmo de fatorao QR om pivoteamento de olunas, dadas por


de uma ombinao linear das olunas independentes de

olunas da matriz

de posto

k,

A,

A1 .

pois estamos predizendo

olunas independentes de

A.

isto ,

A,

A2 , em funo

dadas pelas primeiras

Desse modo, obteramos uma matriz

(n k)

olunas da matriz

Ak

em termos de

e portanto, reduziremos a dimenso (posto) da matriz

Como veremos no prximo aptulo, essa reduo de posto est rela ionada om

a obteno do modelo para gerao de animaes fa iais.


Podemos expressar esse problema om a minimizao de

Ei = ||A1 xi (A2 )i ||22 ,


52

Captulo

3.

Apli aes da Fatorao QR

i = 1, , (n k). Como ada Ei 0 e ada par ela Ei possui norma mnima,


nk
X
Ei ter norma mnima. Isto equivalente a minimizao de
logo
om

i=1

E =

nk
X
i=1

||A1 xi (A2 )i ||22

= ||A1 x1 (A2 )1 ||22 + + ||A1 xnk (A2 )nk ||22 ,


onde ada ndi e

representa ada uma das

nk

olunas de

A2 .

Assim, pela

denio de norma de Frobenius e por (1.5) teremos

E = ||A1 X A2 ||2F ,
onde

(3.21)

X Rk(nk).

Observe que (3.21) equivalente a minimizao de

E = ||QT (A1 X A2 )||2F ,


visto que

Q Rmn

uma matriz ortogonal. Assim,

E = ||QT (A1 X A2 )||2F

pois,

= ||QT A1 X QT A2 ||2F

 2


T
R
12
T

=
Q QR11 X Q Q R22
F


R11 R12
. Ento,
A[1 2 ] = Q
0 R22

 2

T
R12
T


E = Q QR11 X Q Q
R22 F

 2


R12


= R11 X
R22 F


R11 X R12 2

=


R22
F
= ||R11 X R12 ||2F + ||R22 ||2F .

(3.22)

Portanto, para que (3.22) seja mnimo devemos ter

R11 X = R12 ,
onde sua parte residual dada por

||R22 ||F .
53

(3.23)

Captulo

3.

Apli aes da Fatorao QR

3.5 Dis usso


A fatorao QR de fato uma ferramenta e iente. Atravs da fatorao QR, deduzimos as equaes normais, en ontramos uma soluo para o sistema de equaes
lineares

b||2 ,

Ax = b, onde A Rnn e para o problema de mnimos quadrados minn ||Ax

om

A Rmn ,

onde

xR
possui ou no posto ompleto. Em ambos os asos a

soluo forne ida om a resoluo de um sistema triangular superior, que f il


de resolver.
Mostrou-se e az na soluo para o problema de seleo de sub onjunto, forne endo um sub onjunto de olunas independentes de uma matriz

A,

atravs de

pivoteamento de olunas.
Entretanto, laro que existem outros mtodos para en ontrar solues para os
problemas propostos nesse aptulo (ver [8), porm, para os propsitos do aptulo

4,

a fatorao QR mostrou-se e az, permitindo resolver os prin ipais problemas

para se hegar em um modelo para gerao de animaes fa iais.

54

Captulo 4
Apli ao a Animao Fa ial
4.1 Introduo
Neste Captulo, mostraremos omo a fatorao QR pode ser utlizada na obteno de
um modelo e produzir animaes omputadorizadas da fala om um nvel a eitvel
de realismo. O algoritmo permite identi ar um sub onjunto de mar adores fa iais
independentes. Esse sub onjunto pode ser utilizado posteriormente, omo uma base
para predizer o movimento de pontos fa iais arbitrrios.
Investigaremos as trajetrias re onstitudas pelo algoritmo, mostrando que o erro
mdio obtido relativamente pequeno e geraremos omputa ionalmente animaes
fa iais. A maioria dos algoritmos que foram implementados nessa dissertao esto
disponveis no Apndi e

A.

O software es olhido para os l ulos foi o Matlab.

4.2 Dados
Os dados onsistem em registros da posio

3D

de

57

mar adores distribudos na

fa e de um sujeito (Figura 4.1). Foram olhidos om uma frequn ia de amostragem


de

120

Hz, enquanto o sujeito pronun iava uma sequn ia de

4.6 no Apndi e B) em ingls [14, 15.


onstruir o modelo, e as

10

As primeiras

30

40

frases (ver Tabela

frases foram usadas para

ltimas para validar o modelo e gerar animaes. Antes

de pronun iar ada uma das

40

frases, o sujeito adotou uma posio de des anso

(neutra), para que fosse obtido o deslo amento (separado) de ada mar ador.

55

Captulo

4.

Apli ao a Animao Fa ial

Posio dos mar adores fa iais.

Figura 4.1:

4.3 Pr-pro essamento


Primeiramente, os deslo amentos de ada mar ador foram al ulados relativos
posio neutra ini ial e foram armazenados em uma matriz
e

n = 171.

A matriz

oordenadas espa iais

57 3 = 171

possui

{x, y, z}

Parte dos dados da matriz

onde

m
b = 11975
b
B

representa as

y1,2

z1,3

x1,4

y1,5

z1,6

.
..

.
..

.
..

.
..

.
..

.
..

xm,1

ym,2

zm,3

xm,4

ym,5

zm,6

(x11 xm1 )T , (y12 ym2 )T


(x14 xm4 )

n = 171

(ver Seo 4.5).

b
b Rmn
B

omo segue

x1,1

primeiro mar ador,

olunas, onde o fator

foram reagrupados em uma nova matriz

Podemos representar a matriz

b=
B

m = 16106

onde

de ada mar ador.

om as 30 primeiras frases, onde

Bmn ,

x1,169

y1,170

z1,171

.
..

.
..

.
..

xm,169

ym,170

zm,171

(z13 zm3 )T

(y15 ym5 )

representam os deslo amentos do

(z16 zm6 )T

para o segundo mar-

ador e de forma anloga para o restante dos mar adores.

Como veremos na Seo 4.7, devemos aproximar o deslo amento de ada mar ador que no foi sele ionado pelo algoritmo de fatorao QR omo uma ombinao
56

Captulo

linear de

mar adores sele ionados. Seja

linear desses

Ps

4.

Apli ao a Animao Fa ial

o deslo amento obtido por ombinao

deslo amentos. Ento

Ps = a1s P1 + a2s P2 + + aks Pk ,


aks

(4.1)

so es alares. Por simpli idade, para obtermos os deslo amentos de ada mar-

ador, vamos on atenar os deslo amentos dos mar adores em ni o mar ador.
Dessa forma teremos

x
x
x
x
s
1
2
k
y = a1s y + a2s y + + aks y .
s
1
2
k
zs
z1
z2
zk

(4.2)

Portanto, os deslo amentos de ada mar ador foram representados em um ni a


oluna da matriz de dados omo segue

x=

y=

z=

onde

x1r
..

x
mr

y1j
.
.

y
mj

z1l
.
.

z
ml

r = {1, 4, 7, , (n 2)}, j = {2, 5, 8, , (n 1)}

Assim, deslo amentos dos mar adores nas


dos e arranjadas em uma matriz de dados
mar adores (57) e
apli ada a matriz

M = 3 m.

A,

30

l = {3, 6, 9, , n}.

primeiras frases foram on atena-

A RM N ,

onde

N =

n
o nmero de
3

A fatorao QR om pivoteamento de olunas foi

usando o software Matlab.

4.4 Posto Numri o da Matriz de Dados


Lu ero et al. no seu artigo [14 obteve o posto numri o da matriz de dados om
anlise baseada na de omposio QR om pivoteamento de olunas. Mostraremos
57

Captulo

4.

Apli ao a Animao Fa ial

nesta Seo que a mesma anlise pode ser feita om de omposio de valores singulares.
Como visto no Captulo 1, o posto numri o de uma matriz pode ser al ulado
analisando os seus respe tivos valores singulares. A Figura 4.2 mostra os elementos
da diagonal da matriz
relao ao

56,56 = 18.88

Teorema 1.22 temos que

O pequeno valor entre os elementos


indi a posto

56

para matriz de dados

tem posto numri o ( ,

, r )2

57,57 = 0.07
A.

em

De fato, pelo

se, e somente se,

r > r+1 .

(4.3)

Em determinadas apli aes (ver Captulo 1), apare em matrizes ujos valores singulares menores deveriam ser nulos, mas no o so devido erros de arredondamentos,
et (ver [8). No que se refere aos dados, houve uma pequena margem de erro que
hega a aproximadamente
temos

r = 56 = 18.88

0.5mm

(ver [17).

r+1 = 57 = 0.07.

Desse modo, se es olhermos


Portanto,

= 1.0

r = 56

satisfaz a Denio

1.20 e da

18.88 1.0 > 0.5 0.07.


Portanto, podemos supor posto numri o

56

(4.4)

e identi ar a dimenso dos dados.

1800
1600
1400
1200

kk

1000
800
600
400
200
0

10

20

30

40

50

60

Figura 4.2:

Elementos da diagonal da Matriz .

A gura 4.3 mostra os elementos da diagonal da matriz


omponente ortogonal de ada oluna

R, rkk ,

relativo as primeiras

58

que medem a

k1

anteriores, e

Captulo

apare em em ordem des res ente para

4.

Apli ao a Animao Fa ial

k = 1, , 57.

lhana entre os elementos da diagonal das matrizes

Observe que h uma semee

Ambas as tm diagonal

em ordem de res ente e apresentando uma abertura entre os elementos


e o

r57,57 = 0.01

r56,56 = 25.41

que pode ser usado para determinar o posto numri o da matriz de

dados, (ver [7).

700

600

500

rkk

400

300

200

100

10

20

30

40

50

60

Figura 4.3:

Elementos da diagonal da Matriz R.

4.5 Alguns Resultados da Fatorao QR


Em seu artigo [14, Lu ero et al.
primeiros

10 valores de rkk ,

observou que os dados estabilizavam para os

normalizados relativos a norma de

lizam para um onjunto de aproximadamente

15

R.

Os valores estabi-

sentenas on luindo que qualquer

onjunto de dados maior, bastante seguro para onstruir um modelo, o que justi ou adoo de

30.

Usaremos esta mesma metodologia aqui.

A es olha da quantidade de sentenas pode ser justi ada atravs de uma anlise
na Figura 4.4. L, os primeiros
de

12 valores de rkk esto normalizados relativos norma

R, em funo da quantidade de amostras nos dados.

Os valores estabilizam antes

de atingir o total de amostras disponveis (aproximadamente


frase o upa aproximadamente em mdia
justi a a adoo de

30

500

15a

frase, j que ada

linhas da matriz de dados), o que

frases para onstruir o modelo. Dessa forma, sobram

frases para testar e validar o modelo.

59

10

Captulo

4.

Apli ao a Animao Fa ial

0.4
0.35
0.3

rkk/||R||F

0.25
0.2
0.15
0.1
0.05
0

20

40

60

80

100

Amostras 100

120

140

160

Valores normalizados dos 12 primeiros elementos na diagonal de R em funo


da quantidade de amostras nos dados.

Figura 4.4:

Na Figura 4.4, o orre estabilidade dos dados aproximadamente a partir da


frase. Porm, quando permutamos as linhas de

15a

A aleatoriamente (Figura 4.5) obser-

vamos que a estabilidade al anada mais rapidamente, ou seja, aproximadamente


entre a linha

1000

2000,

o que ns d aproximadamente

sentenas.

0.3

rkk/||R||F

0.25

0.2

0.15

0.1

0.05

20

40

60

80

100

Amostras 100

120

140

160

Valores normalizados dos 12 primeiros elementos na diagonal de R em funo


da quantidade de amostras nos dados permutados aleatoriamente.

Figura 4.5:

De fato, em ada linha da matriz esto representados os deslo amentos de todos


mar adores. Assim, em um determinado momento, a matriz de dados poder ter
60

Captulo

4.

Apli ao a Animao Fa ial

ou no todos os detalhes dos movimentos manifestados na fa e do indivduo atravs


dos mar adores: Por exemplo, a fala, pis ar dos olhos, sorriso, et .

Isto , nem

sempre em determinadas frases, o indviduo manifesta todas estas expresses fa iais.


Portanto, em alguns asos, h ne essidade de mais de uma frase at que todas estas
ara teristi as dos movimentos sejam in orporadas. Logo, quando dizemos que os

rkk

esto se estabilizando, na verdade estamos dizendo que o onjunto de linhas

que foram sele ionadas para apli ar a fatorao QR, su iente, no sentido de que
todos os movimentos da fa e apturados pelos mar adores esto agregadas nesse
onjunto de sentena.

Da, um onjunto

30

sentenas su iente para que isso

a ontea (Figura 4.4). Por outro lado, quando permutamos aleatoriamente as linhas
da matriz de dados, temos um ruzamento de informaes, isto , expresses fa iais
que antes eram manifestas em frases posteriores, por exemplo, agora se misturam.
Assim, movimentos fa iais que antes eram obtidos om um onjunto de

30

frases

por exemplo, no mais ne essrio e portanto, a estabilidade o orre bem antes (ver
Figura 4.5) em omparao om a Figura 4.4.

4.6 Es olha dos Mar adores Prin ipais e suas Respe tivas Regies de Inun ia
Em [14 apresentado uma Tabela om
adores sele ionados pelo algoritmo.

10

olunas.

Cada oluna possui

Um onjunto de dados de

usado em todas as tentativas. Na primeira tentativa, as primeiras


onjunto foram usadas, e nas

30
30

12

mar-

sentenas foi
sentenas do

tentativas restantes, as sentenas foram aleatoria-

mente sele ionadas. As olunas sele ionadas tiveram uma pequena mudana a ada
nova tentativa.
Neste trabalho, faremos um outro tipo de anlise. A Tabela 4.1 mostra experimentos feitos om
na matriz

A.

goritmo na

linhas da matriz de dados, onde

varia de

1000

11975

linhas

Cada oluna da tabela representa os mar adores sele ionados pelo al-

k -sima linha.

estabilizam a partir da

7a

E omo j tnhamos observado na Figura 4.4, os dados se


oluna, que orresponde a

15a

sentena aproximadamente.

A Tabela 4.2 mostra os mar adores que o algoritmo sele ionou om as linhas
permutadas aleatoriamente na matriz de dados

A,

onde

varia

1000 a 11975.

oluna da tabela representa os mar adores sele ionados pelo algoritmo na

61

Cada

k -sima

Captulo

Ordem
1
2
3
4
5
6
7
8
9
10
11
12

Amostras 100

4.

Apli ao a Animao Fa ial

Mar adores Sele ionados


1
40
34
51
20
36
32
11
56
12
44
39
16
10

2
48
34
51
20
02
07
36
39
57
11
32
47
20

3
48
34
51
20
03
36
39
11
06
44
32
47
30

4
40
34
38
2
36
20
49
07
52
13
23
57
40

5
40
34
38
2
36
20
49
07
52
13
54
23
50

6
40
34
38
2
20
36
08
49
11
52
12
54
60

7
40
02
38
2
20
08
36
49
13
52
12
54
70

8
40
34
38
2
20
36
36
49
13
12
54
52
80

9 10 11
12
40 40 40
40
34 34 34
34
38 38 38
38
2
2
2
2
36 36 36
36
36 36 36
36
20 08 08
20
49 49 49
49
13 13 13
13
12 52 52
52
54 54 54
54
47 56 47
47
90 100 110 119.75

Os 12 primeiros mar adores sele ionados pelo algoritmo om k linhas na


matriz de dados.
Tabela 4.1:

linha. Como observamos na Figura 4.5, os dados se estabilizam a partir da


ou aproximadamente

5a

Amostras 100

oluna

sentena.

Ordem
1
2
3
4
5
6
7
8
9
10
11
12

2o

Mar adores Sele ionados


1
40
34
38
2
36
20
49
06
11
47
54
47
10

2
40
34
38
2
36
08
20
49
13
52
54
47
20

3
40
34
38
2
36
06
20
49
13
52
54
47
30

4
40
34
38
2
36
06
20
49
13
52
54
47
40

5
40
34
38
2
36
06
20
49
13
52
54
47
50

6
40
34
38
2
36
06
20
49
13
52
54
47
60

7
40
34
38
2
36
06
20
49
13
52
54
47
70

8
40
34
38
2
36
20
06
49
13
52
54
47
80

9 10 11
12
40 40 40
40
34 34 34
34
38 38 38
38
2
2
2
2
36 36 36
36
20 06 06
06
06 20 20
20
49 49 49
49
13 13 13
13
52 52 52
52
54 54 54
54
47 47 47
47
90 100 110 119.75

Os 12 primeiros mar adores sele ionados pelo Algoritmo om k linhas permutadas aleatoriamente.

Tabela 4.2:

A partir do momento em que os dados omeam a estabilizar, h pou as mudanas entre as olunas sele ionadas pelo algoritmo. Assim, usando os resultados

62

Captulo

4.

Apli ao a Animao Fa ial

das Tabelas 4.1 e 4.2 sele ionamos um onjunto de 12 mar adores.

A tabela 4.3

representa essa seleo.

Tabela 4.3:

Ordem

Mar ador

1
2
3
4
5
6
7
8
9
10
11
12

40
34
38
2
36
06
20
49
13
52
54
47

Os 12 primeiros mar adores sele ionados pelo algoritmo.

Nos tens a seguir, esto rela ionados os

12

mar adores que foram sele ionados

pelo algoritmo e suas respe tivas regies de inun ia para ada um dos mar adores.

O primeiro mar ador sele ionado o

40,

no entro do lbio inferior (Figura

4.1), que tem o maior deslo amento;

Os prximos dois mar adores so o

O quarto mar ador o

Na

5a

02,

06

e o

38,

em ambos antos dos lbios;

prximo da sobran elha direita;

posio apare e o mar ador

mar ador

34

36 e

situ-se no entro do lbio superior. O

apare e em seguida e est situado a ima do olho esquerdo.

7a

O mar ador

20

apare e na

O mar ador

49

apare e em seguida e en ontra-se na parte inferior dos lbios,

13

representa a a o de pis ar do olho esquerdo;

posio e se en ontra ao lado direito do nariz;

a esquerda;

O mar ador

Na

10a

posio apare e o mar ador

52

rosto;

63

e este se en ontra ao lado esquerdo do

Captulo

O mar ador

54,

4.

Apli ao a Animao Fa ial

na plpebra esquerda, apare e na

bem prximo do mar ador

11a

posio, e en ontra-se

52;

Por ltimo, apare e o mar ador

47

e en ontra-se na parte inferior dos lbios,

a direita.

Os valores

rkk

asso iados aos

primeiros mar adores so bem maiores em om-

parao om os outros (ver Figura 4.2), o que sugere que seus movimentos determinam grande parte da inemti a fa ial geral.
Aps sele ionar os mar adores ( olunas) prin ipais, al ulamos om o auxlio de
mnimos quadrados das olunas restantes resolvendo

R11 X = R12 ,

(4.5)

omo na Seo 3.4 do Captulo 3. Como um exemplo numri o, usamos os resultados da a Tabela 4.3. Em [14, Lu ero et al. adotou uma base onstituda de
mar adores. Nesta dissertao, adotamos base de
in lui at o mar ador

47.

09

12 mar adores (ver Seo 4.9) que

As Figuras 4.6 e 4.7 mostram os resultados desse ajuste.

L, os oe ientes apropriados omputados para os mar adores se undrios foram


estendidos a outros pontos fa iais por interpolao bi a.
As regies asso iadas a ada um dos mar adores prin ipais in luem as sub-regies
positivas (vermelho) e negativas (azuis), onde o movimento est no mesmo sentido
e no oposto, respe tivamente, ao movimento do mar ador prin ipal.

As regies

apare em no mesmo nmero e posio similar em ambos os lados do rosto, embora


tenham uma grande assimetria.

A respeito das plpebras, note que embora um

dos dois mar adores da plpebra seja um mar ador prin ipal, ambos tm os pesos
similares, indi ando padres quase iguais do movimento.
O gr os das Figuras 4.6 e 4.7 representam as linhas da matriz

obtidas pela

equao (4.5), interpoladas a toda a superf ie fa ial. Cada gr o mostra a regio
ontrolada pelo mar ador i, que orresponde a linha

de

X.

Do mesmo modo, podemos fazer gr os similares (Figuras 4.8 e 4.9), porm
nesse aso, onsiderando a matriz

R.

projees de ada oluna da matriz


da primeira oluna da matriz

Sabemos que a primeira linha de

ontm as

( om as olunas j permutadas) na direo

(que tem maior norma).

64

A segunda linha de

Captulo

Figura 4.6:

Q.

Apli ao a Animao Fa ial

Regies fa iais ilustradas para os mar adores 40, 34, 38, 02, 36 e 06.

ontm as projees de ada oluna de


matriz

4.

Em geral, a

A em direo ortogonal primeira oluna da

k -sima linha de R

em direo ortogonal

k1

ontm as projees de ada oluna de

olunas da matriz

65

Q.

Ento, gr os das linhas de

A
R

Captulo

Figura 4.7:

4.

Apli ao a Animao Fa ial

Regies fa iais ilustradas para mar adores 20, 49, 13 e 52.

mostram a projeo do deslo amento de ada ponto fa ial nas direes ortogonais
denidas pela matriz

Q.

Isto , os gr os (regies mais es uras) mostram quais os

padres regionais de deformao fa ial nessas direes ortogonais.

4.7 Gerao de Animaes Fa iais


Como exemplo de animao fa ial, usaremos a frase

39

do onjunto de sentenas

disponvel no Apndi e B (ver Tabela 4.6). As animaes fa iais de movimentos arbitrrios podem ser produzidas, ontrolando o movimento dos mar adores prin ipais
om sinais apropriados.
Seja

P1 Rmk

a matriz om os deslo amentos dos mar adores prin ipais rela-

tivos posio neutra ini ial. Uma vez omputados todos os oe ientes da matriz

66

Captulo

Figura 4.8:

X,

4.

Apli ao a Animao Fa ial

Regies de deformao fa ial nas direes ortogonais, linhas 1 a 6 de R.

al ulamos o deslo amento para os mar adores se undrios, resolvendo

P2 = P1 X.

(4.6)

Cal ulados os deslo amento para os mar adores se undrios, a posio ini ial de
67

Captulo

Figura 4.9:

4.

Apli ao a Animao Fa ial

Regies de deformao fa ial nas direes ortogonais, linhas 7 a 10 de R.

todos os mar adores introduzida para obter sua posio no espao (3D). Desse
modo, riamos um malha fa ial equiespaada ontendo

2500

pontos fa iais arbi-

trrios. Inter alamos esses pontos fa iais atravs da interpolao bi a, isto , ada
urva entre dois pontos adja entes onsiste num polinmio de ter eira ordem ujos
oe ientes foram obtidos resolvendo sistema de equa es lineares montadas a partir
ondies preestabele idas.
Finalmente, ns produzimos animaes fa iais para a sentena

39,

em formato

AVI (ver Algoritmo L do Apndi e A). Outros exemplos de animaes que usam
esta t ni a podem ser visualizadas em

http://vargas.mat.unb.br/ .

A Figura

4.10 mostra o quadro ini ial das animaes geradas usando esse mtodo.
Em geral, as animaes so visualmente realistas, sem nenhuma distoro per eptvel nos padres de movimento.

68

Captulo

Figura 4.10:

4.

Apli ao a Animao Fa ial

Quadro ini ial das animaes.

4.8 Anlise de Erros nas Trajetrias Computadas


Como j omentado, deixamos

10

frases para testar e validar o modelo e omo

exemplo numri o, es olhemos a frase


Cal ulada a matriz

P2

39

do onjunto de sentenas.

que ontm os deslo amentos para os mar adores se-

undrios, omo em (4.6), podemos medir o erro, omparando os deslo amentos


dos mar adores se undrios que foram re onstitudos pelo algoritmo, om os deslo amentos originais dos mar adores. Para al ular o erro, adotamos o Erro Mdio

Quadrti o dado pela seguinte frmula

onde

zi

xi , yi , zi

v
u
N
u1 X
t
(xi xi )2 + (yi y i )2 + (zi z i )2 ,
E=
N i=1

so omponentes dos deslo amentos dos mar adores originais,

(4.7)

xi , y i

omponentes dos deslo amentos obtidos atravs da re onstituio dos mar adores

pelo algoritmo.
A Figura 4.11 mostra a omparao entre a trajetria real (linha em traos) e a
nova trajetria que foi re onstituda pelo algoritmo (linha heia), no presente aso,
para o mar ador

28.

Observe que o mar ador

28

en ontra-se na parte inferior do

rosto (ver Figura 4.1), uma regio onde h muito deslo amento, ainda assim, h
grande semelhana entre as trajetrias originais e as re onstitudas pelo algoritmo,
mostrando que a fatorao QR de fato um bom algoritmo para re onstruo das
trajetrias.

69

Captulo

4.

Apli ao a Animao Fa ial

3.5
3

0
2.5
1

y (mm)

x (mm)

2
2

1.5
1

3
0.5
4
0
5

100

200

300

400

500

0.5

600

100

200

Amostras

300

400

500

600

Amostras
1.5
1
0.5

z (mm)

0
0.5
1
1.5
2
2.5

100

200

300

400

500

600

Amostras

Figura 4.11: Exemplo de trajetria real (linha de traos) e re onstruda pelo algoritmo
(linha heia), para o mar ador 28.

A Tabela 4.4 ontm os erros obtidos atravs da re onstituo dos deslo amentos
dos mar adores pelo algoritmo. Em relao a Tabela 4.4 desta amos:

1. O erro al ulado para o

11o mar ador quase nulo, na ordem de 1.07105mm.

Se analisarmos a Figura 4.1 veremos que o

11o

mar ador simtri o ao

13o

mar ador, que um mar ador sele ionado pelo algoritmo, portanto ambos
possuem pesos similares, e omo o

11o

13o

possui erro nulo, isso justi a o erro do

mar ador ser to pequeno;

2. Alm do mar ador

11

mente para o mar ador

que simtri o ao mar ador

13,

o menor erro justa-

10, aproximadamente 0.30mm e de fato j era esperado,

pois esse mar ador en ontra-se justamente na parte superior na sombra elha
direita, lo al onde h pou o deslo amento dos mar adores;
70

Captulo

4.

Apli ao a Animao Fa ial

Mar adores

Erro

Mar adores

Erro

Mar adores

Erro

01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19

0.80
0.00
0.40
0.50
0.66
0.00
0.70
0.55
0.49
0.30
1.07 105
0.94
0.00
0.88
0.44
0.63
0.65
0.67
0.39

20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38

0.00
0.76
0.66
0.93
0.61
0.49
0.38
0.56
0.35
0.70

39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57

1.05
0.00
0.68
0.93
0.74
0.82
0.58
0.65
0.00
0.84
0.00
0.61
0.72
0.00
0.51
0.00
0.80
0.70
0.84

0.75

0.97
0.95
0.54
0.00
0.61
0.00
0.78
0.00

Erro obtido para as trajetrias dos mar adores que foram re onstitudas atravs
algoritmo para a sentena 39.

Tabela 4.4:

3. O erro al ulado para os

12

mar adores primrios (mar adores sele ionados

pelo algoritmo de fatorao QR om pivoteamento de olunas) nulo, uma


vez que

xi = xi , yi = y i

zi = z i ;

4. De todos os erros al ulados, os mar adores


os maiores erros e hegam a
mar ador

42, 0.84mm

1.05mm

39, 42, 48 e 57 so os que possuem

para o mar ador

para o mar ador

48

57.

39, 0.93mm

para o

Se observarmos que esses

mar adores (ver gura 4.1) se en ontram na parte inferior do rosto, que a
regio onde se tm os maiores deslo amento de mar adores, era natural que
tivssemos nessa regio os maiores erros.

A Tabela 4.5 mostra o erro mdio para ada uma das sentenas usadas para
validar o modelo.

As sentenas

39

31, 37

so justamente as que apresentam o

menor e o maior erro mdio respe tivamente. Comparado om o erro de pre iso
dos dados, er a de

0.5mm (ver [17), o erro para as trajetrias re onstrudas para os


71

Captulo

4.

Apli ao a Animao Fa ial

mar adores fa iais pequeno, j que em mdia, o erro de

0.64mm

(ver Algoritmo

I do Apndi e A).

Tabela 4.5:

31 a 40.

Sentenas

Amostras

Erro Mdio

31
32
33
34
35
36
37
38
39
40

468
323
424
416
474
454
315
308
589
364

1.10
0.84
1.06
0.93
1.08
0.68
0.71
0.97
0.64
1.01

Erro mdio para trajetrias re onstitudas pelo algoritmo para as sentenas

Em [14, Lu ero et al. obteve seu modelo adotando uma base de

09

mar adores.

Neste aptulo, al ulamos os erros, re onstrumos as trajetrias, obtivemos animaes fa iais atravs de uma base onstituda de

0.90mm

12

mar adores om erro mdio de

e omo j era esperado, menor que o erro mdio que Lu ero, de

pois em seu artigo, a base adotada ontm

03

1.05mm,

mar adores a menos.

4.9 Anlise para Seleo de Mar adores


Esta Seo objetiva justi ar a es olha dos

12 mar adores na

Seo 4.6 para anlise

de erros, trajetrias e gerao de animaes fa iais atravs de uma frase predenida


do onjunto de sentenas, omo nas Sees 4.7 e 4.8.
Sabemos que as primeiras

olunas da matriz

forne em uma soluo para

o problema de seleo de sub onjunto (ver Captulo 3). No nosso aso, as olunas
desta matriz so representadas por deslo amentos de
O modelo (matriz

X)

obtido a partir da seleo de

deslo amentos, resolvendo

R11 X = R12

os mar adores se undrios resolvendo


junto de

57

mar adores.

mar adores na matriz de

(ver Captulo 3). Em seguida, onseguimos

P1 X = P2

(ver Seo 4.7). Para ada on-

mar adores sele ionados temos uma matriz

72

(modelo) e uma matriz

P2

Captulo

(deslo amentos se undrios). Fazendo

variar de

4.

Apli ao a Animao Fa ial

57

(nmero de mar adores) e

es olhendo uma frase predenida do onjunto de sentenas, logramos para ada sub onjunto de

mar adores um erro mdio. Sabemos a priori que o erro de pre iso

dos dados de

0.5mm

(ver [17), ento qualquer sub onjunto de

mar adores em

que o erro mdio aproximadamente do mesmo valor apropriado para onstruir o


modelo. As Figuras 4.12, 4.13 e 4.14, representam os gr os para as frases

31

40

do onjunto de sentenas (a esquerda, frases mpares e a direita as pares).

1.8

1.8

1.6

1.6

1.4

Erro Mdio (mm)

Erro Mdio (mm)

1.4
1.2
1
0.8
0.6

1
0.8
0.6
0.4

0.4

0.2

0.2
0

1.2

10

20

30

40

50

10

20

30

40

50

Erro mdio para um onjunto de k mar adores sele ionados, frases 31 e 32.
A linha heia (na horizontal) representa o erro de pre iso dos dados.
Figura 4.12:

Nas Figuras 4.12, 4.13 e 4.14, a linha horizontal representa aproximadamente o


erro de pre iso dos dados e observamos que as frases

31

35,

so as que possuem

os maiores sub onjuntos de mar adores ne essrios, aproximadamente


obter um erro mdio prximo de

0.5mm.

Por outro lado, as frases

os menores sub onjunto de mar adores, em torno de

20,

36

40,

39,

para se

possuem

para onseguir erro mdio

similar.
Atravs de uma anlise das Figuras 4.12, 4.13 e 4.14 on luimos que o erro mdio
diminui quando se aumenta o nmero de mar adores e pelo observado a ima, uma
quantidade razovel para se onstruir o modelo deveria ser de pelo menos

40.

Por

outro lado, no interessante uma base muito numerosa, j que propomos desde
o in io deste trabalho um modelo em termos de `pou os' mar adores fa iais. Na
verdade, no h pro edimento que estime a priori o nmero de mar adores a serem
es olhidos.

Porm ertamente, podemos armar que a base om

12

mar adores

mostrou bons resultados, om erro mdio relativamente pequeno e uma boa ani-

73

Captulo

4.

Apli ao a Animao Fa ial

2.5

1.8
1.6

Erro Mdio (mm)

Erro Mdio (mm)

1.4
1.2
1
0.8

1.5

0.6
0.4

0.5

0.2
0

10

20

30

40

50

10

20

30

40

50

30

40

50

1.6
1.4

2.5

Erro Mdio (mm)

Erro Mdio (mm)

1.2
2

1.5

1
0.8
0.6
0.4

0.5
0.2
0

10

20

30

40

50

10

20

Erro mdio para um onjunto de k mar adores sele ionados, frases 33 a 36.
A linha heia (na horizontal) representa o erro de pre iso dos dados.
Figura 4.13:

mao fa ial sem distores per eptveis.


Os algoritmos utilizados para fazer as Figuras 4.12, 4.13 e 4.14 esto disponveis
em

http://vargas.mat.unb.br/ .

74

Captulo

1.6

4.

Apli ao a Animao Fa ial

2.5

1.4
2

Erro Mdio (mm)

Erro Mdio (mm)

1.2
1
0.8
0.6

1.5

0.4
0.5
0.2
0

10

20

30

40

50

10

20

k
1.8

1.6

1.8

50

30

40

50

1.4

1.2

Erro Mdio (mm)

Erro Mdio (mm)

40

1.6

1.4

1
0.8
0.6

1.2
1
0.8
0.6

0.4

0.4

0.2
0

30

0.2
0

10

20

30

40

50

10

20

Erro mdio para um onjunto de k mar adores sele ionados, para as frases
37 a 40. A linha heia (na horizontal) representa o erro de pre iso dos dados.
Figura 4.14:

75

Con luses
Neste trabalho, estudamos a fatorao QR e suas apli aes. Atravs desta de omposio, en ontramos uma soluo para o sistema de equaes lineares

A Rnn
e

m > n,

Ax = b, onde

min ||Ax b||2 , om A Rmn


xRn
possui ou no posto ompleto. Em ambos os asos a soluo

e para o problema de mnimos quadrados


tal que

forne ida om a resoluo de um sistema triangular superior. Tais sistemas so


resolvidos por substituies retroativas, atravs de equaes da forma

bi
xi =
para todo

n
X

rij xj

j=i+1

rii

i = 1, , n.

A fatorao QR om pivoteamento de olunas mostrou-se e az, forne endo uma


soluo para o problema de seleo de sub onjunto, extraindo um sub onjunto de
olunas linermente independentes de uma matriz

A.

Entretanto, laro que existem outros mtodos para en ontrar solues para
os problemas propostos nesta dissertao (ver [8), porm, para os propsitos deste
trabalho, fatorao QR mostrou bons resultados, permitindo resolver os prin ipais
problemas para se hegar em um modelo para gerao de animaes fa iais.
Tal pro edimento mostrou-se e iente, pois permitiu identi ar um sub onjunto
base de mar adores fa iais independentes, posteriormente utilizados para prognosti ar o movimento de pontos fa iais arbitrrios.
Atravs da Figura 4.11 podemos observar que as trajetrias re onstitudas pelo
algoritmo esto bem prximas das originais, mostrando a e ssia da fatorao QR
na re onstruo das trajetrias dos mar adores.

As animaes omputadorizadas

produzidas atravs da fatorao QR om pivoteamento de olunas no possuem


nenhuma distoro per eptvel nos padres movimento fa iais.
76

Con luses

Em [14, Lu ero et al. obteve seu modelo adotando uma base de


um erro de aproximadamente

1.05mm.

Neste trabalho, re onstrumos as trajetrias,

obtivemos animaes fa iais atravs de uma base onstituda de


erro mdio de

0.90mm

09 mar adores e

12 mar adores om

e omo j era esperado, houve uma diminuio do erro.

Salientamos que os mar adores fa iais sele ionados so utilizados na obteno de


um modelo linear individualizado da inemti a fa ial, pois ada indivduo possui
suas prprias propriedades da pele, te idos, peso ou estruturas mus ulares diferentes.
Possivelmente, alguns aspe tos desta t ni a requerem algumas melhorias. Por
exemplo, um melhor ritrio para determinar uma dimenso apropriada na seleo
dos mar adores utilizados para onstruir o modelo poderiam inferir melhores resultados. Por exemplo, na gerao de animaes fa iais. Mas estas e outras questes
ans, deixamos omo assunto para futuros trabalhos de pesquisas.

77

Refern ias Bibliogr as


[1 Alexa, M.; Mller, W.,
ROGRAPHICS

2000

Publishers, Malden (

Representing animations by prin ipal omponents, EU-

(Gross M.; Hopgood F. R. A., eds.), pp.

2000).

1 8,

Bla kwell

Linear degrees of freedom in spee h


produ tion: Analysis of ineradio-and labio-lm data and arti ulatory-a ousti
modeling, Journal A ousti al So iety of Ameri a 109, 2165 2180 (2001).

[2 Beautemps, D.; Badin, P.; Bailly, G.,

[3 Bjr k, A.,
phia

Numeri al Methods for Least Squares Problems,

SIAM, Philadel-

(1996).

[4 Chan, T. F.; Hansen P. C.,

Low-rank revealing QR fa torizations,

Linear Algebra with Appli ations

Numeri al

1, 33 44 (1994).

On the optimality of the ba kward greedy algorithm


for the subset sele tion problem, SIAM Journal on Matrix Analysis and Appli-

[5 Couvreur, C.; Breler, Y.,

ations

21, 797 808

[6 Fukuda, H. E.,

2006).

Re uperao de Informaes por lgebra Linear Computa ional,

Universidade de So Paulo - USP, Brasil (

2004).

[7 Golub, G. H.; Klema, V.; Stewart, G. W.,

problems,
76 559

Rank degenera y and least squares

Computer S ien e Department Stanford University, STAN  CS 

1976).

[8 Golub, G. H.; Van Loan, C. F.,


University Press, Baltimore (
[9 Hong, Y. P.; Pan, C. T.,

Matrix Computations,

The John Hopkins

1996).

Rank - revealing QR fa torizations and the singular

value de omposition, Mathemati s of Computation 58, 213 232 (1992).


78

Refern ias Bibliogr as

Subset sele tion for matri es,

[10 Hoog, F. R.; Mattheij, R. M. M.,


Linear Algebra and Appli ations
[11 Jdi e, J. J; Patr io, J. M.,

422, 349 459

2007).

Sistemas de Equaes Lineares,

Matemti a da Universidade de Coimbra, Portugal (


[12 Kuratate, T.; Yehia, H.; Vatikiotis-Bateson, E.,

realisti talking fa es,

Journal of the

Departamento de

1996).

Kinemati s-based synthesis of

International Conferen e on Auditory - Visual Spee h

Pro essing (AVSP'98) (Burnham, D.; Robert-Ribes, J.; Vatikiotis-Bateson E.,


eds.), pp. 185  190, Causal Produ tions, Terrigal-Sydney (
[13 Leon S. J.,

1998).

Linear Algebra with Appli ations, Prenti e-Hall International Edi-

tions, New York (

1994).

[14 Lu ero, J. C.; Baigorri, R. A.; Munhall K. G.,

Data-driven fa ial animation of

spee h using a QR fa torization algorithm, Pro eedings of the 7th International


Seminar on Spee h Produ tion, pp.

135 142,

Ubatuba - SP (

2006).

Empiri al modeling of human fa e kinemati s during spee h using motion lustering, Journal

[15 Lu ero, J. C.; Ma iel, S. T. R.; Johns, D. A.; Munhall, K. G.,

A ousti al So iety of Ameri a

118, 405 409

2005).

Fatorao QR para o problema


de seleo de sub onjuntos apli ado a uma rede de monitoramento da variao
da piezometria, XXX Congresso Na ional de Matemti a Apli ada Computa-

[16 Ma iel, S. T. R.; Silva, A. M.; Lu ero, J. C.,

ional - CNMAC. Anais do XXX Congresso Na ional de Matemti a Apli ada


e Computa ional

1, 1 7

2007).

[17 Munhall, K. G., informao privada via e-mail:


ska, R.,
[18 Setnes, M.; Babu

<munhallkpost.queensu. a>.

Rule base redu tion: some omments on the use of

orthogonal transforms, IEEE Transa tions on Systems, Man and Cyberneti s Part C: Appli ations and Reviews

New York (

2001).

SIAM, Philadelphia

Fundamentals of Matrix Computations,

John Wiley & Sons,

1997).

[20 Watkins, D. S.,

Numeri al Linear Algebra,

[19 Trefethen, L. N.; Bau, D.,


(

31, 199 206

1991).

79

Apndi e A
Esto rela ionados abaixo o digo fonte dos programas implementados em Matlab
para gerar os gr os e tabelas que apare em no texto. Alguns programas, Algoritmos J, K e L foram adaptados de [14 e os outros foram elaborados neste trabalho.

Algoritmo A
Cdigo fonte para gerar a Figura 4.4.

___________________________________________________________________

lear all
load Matriz
MARCADORES = 57;
[k,l = size(trM5);
= 2;
l = 0;
n = 12;
m = 0;
while (k >= 57) & ( > 1)
for j = 1:k
if mod(j,100) == 0
D = trM5(1:j,:);
C = reshape(D,3*j,MARCADORES);
= 0;
[q,r,e = qr(C,0);
80

Apndi e A

a = norm(r,'fro');
for i = 1:n
l = l + 1;
R(l) = r(i,i);
b(l) = R(l)/a;
end
end
end
for i = 1:(l/n)
for j = 1:n
m = m + 1;
M(i,j) = b(m);
end
end
plot(abs(M),'-o','MarkerSize',4,'MarkerFa eColor','bla k');
xlabel('Amostras \times 100')
ylabel('r_{kk}/||R||_F')
end
if (k < 57)
display('k tem que ser maior ou igual a 57')
end

81

Apndi e A

Algoritmo B
Cdigo fonte para gerar a Figura 4.5.

_____________________________________________________________________

lear all
load MatrizHexa
[M,N = size(A);
P = randperm(M);
C = A(P,:);
k = 16106;
= 2;
l = 0;
n = 10;
m = 0;
while (k >= 57) & ( > 1)
for j = 1:k
if mod(j,100) == 0
H = C(1:j,:);
W = reshape(H,6*j,N/6);
= 0;
[q,r,e = qr(W,0);
a = norm(r,'fro');
for i = 1:n
l = l + 1;
R(l) = r(i,i);
b(l) = R(l)/a;
end
end
end
for i = 1:(l/10)
for j = 1:10
82

Apndi e A

m = m + 1;
D(i,j) = b(m);
end
end
plot(abs(D),'-o','MarkerSize',4,'MarkerFa eColor','bla k');
xlabel('Amostras \times 100')
ylabel('R_{kk}/||R||_F')
end
if (k < 57)
display('n tem que ser maior ou igual a 57')
end

83

Apndi e A

Algoritmo C
Cdigo fonte para gerar a Figura 4.2.

_____________________________________________________________________

lear all
load DataW
[m,n= size(trM);
N = n/3;
trM3 = reshape(trM,3*m,N);
[U,T,V = svd(trM3,0);
for i = 1:57
R(i) = T(i,i);
k(i) = i;
end
plot(k,R,'-ro','MarkerSize',5,'MarkerFa eColor','bla k');
xlabel('k')
ylabel('\Sigma_{kk}')

84

Apndi e A

Algoritmo D
Cdigo fonte para gerar a Figura 4.3.

_____________________________________________________________________

lear all
load DataW
[m,n= size(trM);
N = n/3;
trM3 = reshape(trM,3*m,N);
[q,r,e = qr(trM3,0);
SIGMA = diag(r);
SIGMA = SIGMA';
for i = 1:57
if SIGMA(i) < 0
M(i,i) = - 1;
else
M(i,i) = 1;
end
end
D = M*r;
for i = 1:57
R(i) = D(i,i);
k(i) = i;
end
plot(k,R,'-ro','MarkerSize',5,'MarkerFa eColor','bla k');
xlabel('k')
ylabel('r_{kk}')

85

Apndi e A

Algoritmo E
Cdigo fonte para gerar as Tabela 4.1.

_____________________________________________________________________

lear all
load DataW
[m,n = size(trM);
j = 0;
for i = 1:12
j = j + 1000;
if j < 11975
D = trM(1:j,:);
C = reshape(D,3*j,57);
[q,r,e = qr(C,0);
M(:,i) = e(1:12);
else
j = j - 25;
D = trM(1:j,:);
C = reshape(D,3*j,57);
[q,r,e = qr(C,0);
M(:,i) = e(1:12);
end
end

86

Apndi e A

Algoritmo F
Cdigo fonte para gerar a Tabela 4.2.

_____________________________________________________________________

lear all
load DataW
[m,n = size(trM);
P = randperm(m);
E = trM(P,:);
j = 0;
for i = 1:12
j = j + 1000;
if j < 11975
D = E(1:j,:);
C = reshape(D,3*j,57);
[q,r,e = qr(C,0);
M(:,i) = e(1:12);
else
j = j - 25;
D = E(1:j,:);
C = reshape(D,3*j,57);
[q,r,e = qr(C,0);
M(:,i) = e(1:12);
end
end

87

Apndi e A

Algoritmo G
Cdigo fonte para gerar a Tabela 4.3.

_____________________________________________________________________

lear all
load DataW
[m,n = size(trM);
C = reshape(B,3*m,57);
[q,r,e = qr(C,0);
M = e(1:12);

88

Apndi e A

Algoritmo H
Cdigo fonte para gerar a Figura 4.11.

___________________________________________________________________

lear all
load DataW
load Resultados
load Posi ao
IC = 11;
[m,n = size(snt _39);
N = n/3;
%Cl ulo do Deslo amento
for i = 1:m
for j = 1:n
D(i,j) = snt _39(i,j) - Pos9(1,j);
end
end
[m,n = size(D);
%Matriz Deslo amento dos Mar adores Prin ipais
P3 = reshape(D,3*m,N);
for j = 1:IC
P1(:,j) = P3(:,e(j));
end
% Deslo amento dos Mar adores Se undrios
P2 = P1*AA2;
for i = 1:m
for j = 1:N
x1(i,j) = P3(i,j);
y1(i,j) = P3(m + i,j);
z1(i,j) = P3(2*m + i,j);

89

Apndi e A

x2(i,j) = P2(i,j);
y2(i,j) = P2(m + i,j);
z2(i,j) = P2(2*m + i,j);
end
end
%Comparao dos Mar adores Originais om se undrios
for i = 28:28
X =

[x1(:,i),x2(:,i);

Y =

[y1(:,i),y2(:,i);

Z =

[z1(:,i),z2(:,i);

plot(X(:,1),'k--');
hold on
plot(X(:,2),'k-');
xlabel('Amostras','FontSize',12);
ylabel('x (mm)','FontSize',12);
%legend('Mar ador primrio x_i', 'Mar ador se undrio x_i');
pause
hold off
lear X
lf
plot(Y(:,1),'K--');
hold on
plot(Y(:,2),'K-');
xlabel('Amostras','FontSize',12);
ylabel('y (mm)','FontSize',12);
%legend('Mar ador primrio y_i','Mar ador se undrio y_i');
pause
hold off
lear Y
lf
plot(Z(:,1),'k--');
hold on
plot(Z(:,2),'k-');
xlabel('Amostras','FontSize',12);
90

Apndi e A

ylabel('z (mm)','FontSize',12);
%legend('Mar ador primrio z_i','Mar ador se undrio z_i');
pause
hold off
lear Z
lf
end

91

Apndi e A

Algoritmo I
Cdigo fonte para gerar as Tabelas 4.4 e 4.5.

_____________________________________________________________________

lear all
load DataW
load Resultados
load Posi ao
IC = 10;
[m,n = size(snt _39);
N = n/3;
T = m*3;
k = T*N;
M = 0;
S = 0;
%Cl ulo do Deslo amento
for i = 1:m
for j = 1:n
D(i,j) = snt _39(i,j) - Pos9(1,j);
end
end
%Matriz Deslo amento dos Mar adores Prin ipais
P3 = reshape(D,3*m,N);
for j = 1:IC
P1(:,j) = P3(:,e(j));
end
% Deslo amento dos Mar adores Se undrios
P2 = P1*AA2;
%Erro de ada Mar ador Primrio e Se undrio Respe tivamente
for j = 1:N
for i = 1:m
92

Apndi e A

M = M + (P3(i,j) - P2(i,j)).^2 + (P3(m + i,j) P2(m + i,j)).^2 + (P3(2*m + i,j) - P2(2*m + i,j)).^2 ;
end
erro(j) = sqrt((1/m)*M);
M = 0;
l(j) = j;
end
erro_medio = sum(erro)/46;

93

Apndi e A

Algoritmo J
Cdigo fonte para gerar a Figuras 4.6 e 4.7.

_____________________________________________________________________

fun tion QRanalysis(dfile)


if nargin<1
[filename, pathname = uigetfile( ...
{

'*.mat','MAT files (*.mat)'; ...

'*.*',

'All Files (*.*)'}, ...

'Sele t data file', ...


'MultiSele t', 'off');
dfile=fullfile(pathname,filename);
end
load(dfile);
load DataW
[m,n = size(trM);
IC =

10;

N = n/3;
C = reshape(trM,3*m,N);
% QR
[q,r,e = qr(C,0);
% Solve least squares
AA = [eye(IC),r(1:IC,1:IC)\r(1:IC,IC+1:N);
% Put olumns ba k into original positions
[a,b = sort(e);
AA2 = AA(:,b);
% Plot fa ial regions
load map
olormap( map);
LGRID = 100;
% Grid dimension
94

Apndi e A

for i = 1:N;
x(i) = mPos(1,1+(i-1)*3);
y(i) = mPos(1,2+(i-1)*3);
z(i) = mPos(1,3+(i-1)*3);
end
xlin = linspa e(min(x),max(x),LGRID);
ylin = linspa e(min(y),max(y),LGRID);
[X,Y = meshgrid(xlin,ylin);
Z = griddata(x,y,z,X,Y,' ubi ');
ZPos(1,:) = reshape(X,1,LGRID*LGRID);
ZPos(2,:) = reshape(Y,1,LGRID*LGRID);
ZPos(3,:) = reshape(Z,1,LGRID*LGRID);
ZPos = reshape(ZPos,1,3*LGRID*LGRID);
for iC = 1:IC
w = AA2(iC,:);
W = griddata(x,y,w,X,Y,' ubi ');
%ZW(iC,:) = reshape(W,1,LGRID*LGRID);
C = W + ones(size(W));
surf(X,Y,W,C,'Fa eColor','interp','EdgeColor','none')
axis([0 2);
daspe t([5 5 1)
view(0,90)
axis tight
axis equal
xlabel('X (mm)','FontSize',12);
ylabel('Y (mm)','FontSize',12);
title(['Regio n^{o}:',int2str(iC),'-Mar ador',int2str(e(iC)))
hold on
plot3(x,y,z,'ro','MarkerSize',4,'MarkerFa eColor','bla k');
pause
hold off
%print('-deps',int2str(iC));
end
% Save results
95

Apndi e A

[filename2, pathname2 = uiputfile( ...


{'*.mat','MAT-files (*.mat)'; ...
'*.*', 'All Files (*.*)'}, ...
'Save as', 'Resultados.mat');
save(fullfile(pathname2,filename2),'e','AA2','IC','mPos');

96

Apndi e A

Algoritmo K
Cdigo fonte para gerar as Figuras 4.8 e 4.9.

_____________________________________________________________________

lear all
load DataW
% Reshape traje tory matrix
[m,n = size(trM);
trM3 = reshape(trM,3*m,n/6);
%QR
[q,r,e = qr(trM3,0);
% Plot fa ial regions
load map
olormap( map);
b = max(abs(r(:,1)));
RR = r/b;
[a,b = sort(e);
RR2 = RR(:,b);
LGRID = 100;
% Grid dimension
for i = 1:n/6;
x(i) = mPos(1,1+(i-1)*3);
y(i) = mPos(1,2+(i-1)*3);
z(i) = mPos(1,3+(i-1)*3);
end
xlin = linspa e(min(x),max(x),LGRID);
ylin = linspa e(min(y),max(y),LGRID);
[X,Y = meshgrid(xlin,ylin);
Z = griddata(x,y,z,X,Y,' ubi ');
ZPos(1,:) = reshape(X,1,LGRID*LGRID);
ZPos(2,:) = reshape(Y,1,LGRID*LGRID);
97

Apndi e A

ZPos(3,:) = reshape(Z,1,LGRID*LGRID);
ZPos = reshape(ZPos,1,3*LGRID*LGRID);
for i = 1:n/6
w = RR2(i,:);
W = griddata(x,y,w,X,Y,' ubi ');
C = W + ones(size(W));
surf(X,Y,W,C,'Fa eColor','interp','EdgeColor','none')
axis([0 2);
daspe t([5 5 1);
view(0,90)
axis tight
xlabel('x (mm)','FontSize',12);
ylabel('y (mm)','FontSize',12);
title(['Regio n^{o}:',int2str(i),' - Linha ',int2str(i))
hold on
plot3(x,y,z,'ko','MarkerSize',4,'MarkerFa eColor','bla k');
pause
hold off
%print('-deps',int2str(i));
end

98

Apndi e A

Algoritmo L
Cdigo fonte para gerar animaes fa iais utilizadas na seo 4.7.

_____________________________________________________________________

lear all
NMARKERS = 57;
IC = 10;
load Resultados
load DataW
iFile = 39;
snt _iFile = eval(['snt _',int2str(iFile));
sentti = CID_31to40{iFile-30};
LGRID = 30;
m = [0.9 0.9 0.7;
for i = 1:NMARKERS;
x(i) = mPos(1,1+(i-1)*3);
y(i) = mPos(1,2+(i-1)*3);
z(i) = mPos(1,3+(i-1)*3);
end
xlin = linspa e(min(x),max(x),LGRID);
ylin = linspa e(min(y),max(y),LGRID);
[X,Y = meshgrid(xlin,ylin);
Z = griddata(x,y,z,X,Y,' ubi ');
ZPos(1,:) = reshape(X,1,LGRID*LGRID);
ZPos(2,:) = reshape(Y,1,LGRID*LGRID);
ZPos(3,:) = reshape(Z,1,LGRID*LGRID);
ZPos=reshape(ZPos,1,3*LGRID*LGRID);
for iC = 1:IC
w = AA2(iC,:);
W = griddata(x,y,w,X,Y,' ubi ');
ZW(iC,:) = reshape(W,1,LGRID*LGRID);
99

Apndi e A

end
nS = length(snt _iFile);
trM = snt _iFile-ones(nS,1)*mPos;
trM = round(10*trM)/10;
% Reshape traje tory matrix
[m,n = size(trM);
trM3 = reshape(trM,3*m,NMARKERS);
bb1 = trM3(:,e(1:IC))*ZW;
bb1 = reshape(bb1,m,3*LGRID*LGRID);
pos2 = reshape(snt _iFile,3*m,NMARKERS);
position2 = pos2(:,e(1:IC));
position2 = reshape(position2,m,3*IC);
lear pos2 trM trM3 Data AA2 X Y Z x y z w W
lf
olordef bla k;
h1 = figure(1);
pf = get(h1,'Position');
pf = [10 200 480 332;
set(h1,'Position',pf);
a1=axes;
aviobj = avifile(['QR_',int2str(iFile),'_',int2str(IC),'_huge.avi',
'FPS',120,'COMPRESSION','none');
[m,n = size(bb1);
position = bb1+ones(m,1)*ZPos;
lear bb1
initF=1;
for iT = initF:m
disp(['Now pro essing frame ',int2str(iT),'/',int2str(m));
for iM = 1:n/3
x0(iM) = position(iT,1+(iM-1)*3);
y0(iM) = position(iT,2+(iM-1)*3);
z0(iM) = position(iT,3+(iM-1)*3);
end
zz0=reshape(z0,30,30);
100

Apndi e A

for iM = 1:IC
x2(iM) = position2(iT,1+(iM-1)*3);
y2(iM) = position2(iT,2+(iM-1)*3);
z2(iM) = position2(iT,3+(iM-1)*3);
end
if iT == initF
p1 = subplot(1,2,1);
set(p1,'FontSize',10,'LineWidth',1);
p11 = plot(x0,y0,'o','MarkerSize',1,...
'Color', m,'MarkerFa eColor', m);
hold on;p11b=plot(x2,y2,'o','MarkerSize',4,...
'Color','red','MarkerFa eColor','red');hold off;
axis equal
xlabel('X (mm)','FontSize',10);
ylabel('Y (mm)','FontSize',10);
axis([-80 90 -190 -20);
set(p1,'Position', [0.124 -0.007 0.427 0.975);
set(p1,'NextPlot','add','DrawMode','fast')
p2 = subplot(1,2,2);
set(p2,'FontSize',10,'LineWidth',1);
p12 = plot(z0,y0,'o','MarkerSize',1,...
'Color', m,'MarkerFa eColor', m);
hold on; p12b=plot(z2,y2,'o','MarkerSize',4,...
'Color','red','MarkerFa eColor','red');hold off;
axis equal
xlabel('Z (mm)','FontSize',10);
axis([-80 60 -190 -20);
set(p2,'YTi kLabel',[);
set(p2,'Position',[0.604 0.068 0.352 0.826);
set(p2,'NextPlot','add','DrawMode','fast');
t1=title(sentti);
set(t1,'Position',[-124.194 -2.097 1101.181,'FontSize',10);
else
set(p11,'XData',x0,'yData',y0);
101

Apndi e A

set(p12,'XData',z0,'yData',y0);
set(p11b,'XData',x2,'yData',y2);
set(p12b,'XData',z2,'yData',y2);
end
drawnow
aviobj = addframe(aviobj,h1);
end
lear x0 y0 z0
aviobj = lose(aviobj);
lose(h1);

102

Apndi e B
Tabela ontendo o onjunto de

01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29

40

frases no ingls usadas para onstruir o modelo.

It's time to go.


If you don't want these old magazines, throw them out.
Do you want to wash up?
It's a real dark night so wat h your driving.
I'll arry the pa kage for you.
Did you forget to shut o the water?
Fishing in a mountain stream is my idea of a good time.
Fathers spend more time with their hildren than they used to.
Be areful not to break your glasses!
I'm sorry.
You an at h the bus a ross the street.
Call her on the phone and tell her the news.
I'll at h up with you later.
I'll think it over.
I don't want to go to the movies tonight.
If your tooth hurts that mu h you ought to see a dentist.
Put that ookie ba k in the box!
Stop fooling around! 
Time's up.
 How do you spell your name?
Musi always heers me up.
My brother's in town for a short while on business.
We live a few miles from the main road.
This suit needs to go to the leaners.
They ate enough green apples to make them si k for a week.
Where have you been all this time?
Have you been working hard lately? 
 There's not enough room in the kit hen for a new table.
Where is he?

103

Apndi e B

30
31
32
33
34
35
36
37
38
39
40

Look out!
I'll see you right after lun h.
See you later.
White shoes are awful to keep lean.
Stand there and don't move until I tell you!
There's a big pie e of ake left over from dinner.
Wait for me at the orner in front of the drugstore.
It's no trouble at all.
Hurry up!
The morning paper didn't say anything about rain this afternoon or tonight.
The phone all's for you.

Tabela 4.6: Conjunto de 40 sentenas em ingls: As 30 primeiras frases foram usadas


para onstruir o modelo e as 10 ltimas para realizar testes e validar o modelo.

104

Anexos
En ontram-se abaixo as demonstraes dos Teoremas
apare em no Captulo

2.6, 2.7, 2.9, 2.10

2.13

que

2.

Teorema 2.6
_____________________________________________________________________

Teorema 2.6

onde

Seja

P Rmn

1.

simtri a;

2.

ortogonal;

3.

||P x||2 = ||x||2 ;

4.

||P A||2 = ||A||2;

5.

P 2 = I.

uma reexo de Householder. Ento

A Rmn .

Demonstrao de 1.:
vv T T
)
vT v
vv T
= I T (2 T )T
v v
vv T
= I 2 T
v v
= P

P T = (I 2

105

Anexos

Portanto,

simtri a.

Demonstrao de 2.:
Pelo tem

1.

temos que

simtri a, ento

P = PT,

assim

PPT = PTP
vv T 2
)
vT v
vv T
v(v T v)v T
= I 4 T +4 T
v v
(v v)(v T v)
= (I 2

Como

||v||2 = v T v ,

ento

vv T
v(v T v)v T
vv T
v(||v||22)v T
I 4 T +4 T
= I 4 T +4
v v
(v v)(v T v)
v v
||v||42
vv T
vv T
= I 4 T +4
v v
||v||22
vv T
vv T
= I 4 T +4 T
v v
v v
= I.
Portanto,

ortogonal.

Demonstrao de 3.:
Usando

1.

2.

temos,

||P x||22 = ||P T x||22

= (P T x)T (P T x)

= (xT P )(P T x)
= xT x
= ||x||22
portanto,

||P x||2 = ||x||2 .



106

Anexos

Demonstrao de 4.:
Segue imediatamente do Teorema 1.10.

Demonstrao de 5.:
Como

P = PT

e multipli ando por

em ambos os membros, teremos:

P2 = PTP
= I


107

Anexos

Teorema 2.7
_____________________________________________________________________

Teorema 2.7
um vetor

Dado um vetor no-nulo

v = (v1 , v2 , , vn )

de householder

x = (x1 , x2 , , xn )T ,

de maneira que

denida pelo vetor

Px

podemos en ontrar

mltiplo de

v = x ||x||2 e1

e1

onde a matriz

P x = ||x||2 e1 .

Demonstrao:
Notemos que:

vv T
Px =
I 2 T
v v
vv T x
= x2 T
v v
onde
omo

P x he1 i.

Este ltimo impli a que

v = x + e1 .

Assim,

v hx, e1 i,

om isso,

pode ser es rito

v T x = (x + e1 )T x
= xT x +
e

v T v = (x + e1 )T (x + e1 )
= xT x + 2 + 2 .
Portanto

xT x +
(x + e1 )
xT x + 2 + 2
xT x +
xT x +
= x2 T
x

2
e1
x x + 2 + 2
xT x + 2 + 2




xT x +
xT x +
=
12 T
x 2 T
e1 .
x x + 2 + 2
x x + 2 + 2

Px = x 2

Como

P x he1 i,

seque que o omponente em

deve ser nulo, logo



T x+
= 0,
1 2 xT xx+2+
2
108

(4.8)

Anexos

mas isso s se veri a se, e somente se,

xT x + 2 + 2 2xT x 2 = 0
e da,

= ||x||2

e portanto,

v = x ||x||2e1 .
Sem perda de generalidade, podemos tomar
obtemos:

Px =
=
=
=
=
Analogamente, se

= ||x||2

(4.9)

e substituindo em (4.8)


xT x + ||x||2
2 T
||x||2 e1
x x + 2||x||2 + ||x||22


(||x||2 )2 + ||x||2
||x||2e1
2
||x||22 + 2||x||2 + ||x||22


||x||22 + ||x||2
2
||x||2e1
2||x||22 + 2||x||2


||x||22 + ||x||2
||x||2 e1
2
2(||x||22 + ||x||2 )
||x||2 e1 .

= ||x||2

ento,

(4.10)

P x = ||x||2e1 .


109

Anexos

Teorema 2.9
_____________________________________________________________________

Teorema 2.9
n

Seja

A Rmn

e sua respe tiva fatorao QR. Suponha

e onsidere as seguintes parties

ada

ai

qj

A = [a1 , a2 , , an ]

so as respe tivas olunas de

posto(A) =

Q = [q1 , q2 , , qm ],

Q, 1 i n

1 j m.

onde

Ento

ha1 , a2 , , an i = hq1 , q2 , , qn i , k = 1, , n.

(4.11)

Demonstrao:
Comparando a

k -sima

oluna de

ak =

A = QR,

k
X
i=1

Assim,

ha1 , , an i hq1 , , qk i.

rik qi hq1 , , qn i .
Como

singular, portanto possui inversa, logo

qk =

k
X
i=1

logo,

ha1 , , an i hq1 , , qk i.

1, , n.

on lumos que

posto(A) = n

AR1 = Q

(4.12)

segue que a matriz

no

e da,

r ik ak , k = 1, , n,
Da,

ha1 , a2 , , an i = hq1 , q2 , , qn i

(4.13)

onde

k =

110

Anexos

Teorema 2.10
_____________________________________________________________________

Teorema 2.10

Seja

A Rmn ,

existe uma ni a matriz

QR

om

mn

mn

RR

e suponha que

nn

tal que

posto(A) = n.

Ento

tm olunas ortogonais e

triangular superior om todas as entradas da diagonal positiva e

A = QR.

(4.14)

Demonstrao:
Vimos na Seo 2.2 que existem matrizez
ortogonais e

b
R

posto(A) = n

ento a matriz

D = D T = D 1

b 1
Q = QD

bR
b.
A=Q

b
R

no singular, ou seja,

e portanto,

DD T = I

possui todas as olunas ortogonais e

rii = diirbii > 0

b Rnn , Q
b
R

dii denida por



1, se rbii > 0
dii =
1, se rbii < 0.

uma matriz diagonal om elementos

Ento

om olunas

triangular superior (no ne essariamente om todas as entradas da

diagonal positiva) tal que

Como

b Rmn
Q

A = QR.

b 6= 0.
det (R)

Seja

(4.15)

D ortogonal. Segue que


b triangular superior om
R = DR
logo,

Isso prova a existn ia.

Para provar a uni idade usaremos De omposio de Cholesky (ver [8).

de omposio onsiste no seguinte: Dada uma matriz


ento existe uma ni a matriz triangular inferior
todas positivas tal que

A = GGT .

Suponha que existissem matrizes


onde

Qi

mente e

Ri

Esta

A Rnn

positiva e denida,

tais que

A = Q1 R1 = Q2 R2

G Rnn om entradas da diagonal

Q1 , Q2 , R1

R2

so matizes om olunas ortogonais e triangular superior respe tiva-

i = 1, 2.
AAT = (Q1 R1 )T (Q1 R1 ) = R1T QT1 Q1 R1 = R1T R1
111

Anexos

AAT = (Q2 R2 )T (Q2 R2 ) = R2T QT2 Q2 R2 = R2T R2


da,

R1T R1 = R2T R2 .

R1T = R2T

e portanto,

Pela uni idade da de omposio de Cholesky, devemos ter

R1 = R2 ,

logo

Q1 = Q2 .

Isso prova a uni idade.

112

Anexos

Teorema 2.13
_____________________________________________________________________

Teorema 2.13
b, Q
A

R,

tal que

ortogonal,

A Rmn

Seja

R=

b = A
A

om

posto(A) = r n.

obtida de

R11

R12

Ento existem matrizes

por permutao de olunas,

Rmn , R11 Rrr

Q Rmm

no-singular e triangular

superior.

Demonstrao:
Suponha que

r = n,

ento a matriz

tradas da diagonal da matriz


de omposio

suas olunas.

b = QR,
A

R=

onde

b
R
0

Suponha agora que

tem posto ompleto e portanto todas as en-

R so todas no-nulas. Portanto, o resultado uma


b a matriz obtida atravs de A por permutao de
A

onde

r < n,

b
R

uma matriz triangular superior e no-singular.

portanto a matriz

A possui

posto in ompleto. Ento,

pelo o que vimos anteriormente, em algum passo durante a de omposio QR om


pivoteamento de olunas, temos que

rii = 0, r < i n.

Observe que isso s o orre

se, e somente se, todas as entradas da submatriz restante nula.


Suponha que isso o orra depois de

tando a reexo obtida no passo

R,

onde

R11 Rrr

r11 , r22 , , rrr


Seja
que

R Rmn .

ento temos

Sejam

b=
Pr Pr1 P1 A

Pi Rmm denoR11

R12

triangular superior no singular om as entradas da diagonal

todas no-nulas e

Assim,

R12 Rr(nr) .

b = R donde temos
QT = Pr Pr1 P1 e portanto QT A
b = posto(R) = r onde Q Rmm e
posto(A) = posto(A)

Q = P1 P2 Pr ,

b = QR.
A

i,

r passos omputados.

da

113