UFRJ
Álgebra linear
computacional III
Prof. Paulo R. G. Bordoni
Slide 2
Slide 2 text
Este programa, feito em
“Álgebra linear computacional I”
mostra o efeito de matrizes
sobre feixes de vetores.
Slide 3
Slide 3 text
Percebemos claramente que a
matriz A leva a circunferência
unitária numa elípse.
Sim Mestra, é só olhar
para as pontas dos
vetores.
Slide 4
Slide 4 text
Então se eu usar apenas a
circunferência unitária obterei
o mesmo resultado - uma elípse.
Exatamente Surfista,
veja o programa que
confirma sua fala na
próxima transparência.
Slide 5
Slide 5 text
Esse é o programa
prometido.
Slide 6
Slide 6 text
A norma natural da matriz em questão,
também chamada de norma induzida
euclidiana é, exatamente, a medida do
semi-eixo maior dessa elípse.
Sim Mestre.
Mas como eu calculo o
tamanho desse semi-eixo
maior?
Slide 7
Slide 7 text
A definição é exatamente o que
deve ser:
2
= max
2=1
2
Dentre todos os vetores
, com sobre a
circunferência unitária pego
o tamanho do maior deles.
Slide 8
Slide 8 text
Resumindo:
A norma euclidiana induzida de uma
matriz qualquer A é, nada mais, nada
menos, que a medida da deformação
máxima que ela faz sobre a
circunferência unitária.
Absolutamente
correto, Surfista!
Slide 9
Slide 9 text
Uma definição equivalente é
2
=
2
2
, ≠ 0
Essa equivalência decorre da
linearidade de A e de uma das
propriedades da 2
de vetores:
() 2
= 2
= 2
.
Basta escolher = 1 2
.
Slide 10
Slide 10 text
Aliás, para provar que um número
∈ ℝ é a norma induzida de uma
matriz A precisamos provar que:
1. 2
≤ 2
, ∀ ∈ ℝ;
2. Que vale a igualdade para
algum ∈ ℝ.
Segue daí uma propriedade importante da
norma:
2
≤ 2
2
, ∀ ∈ ℝ , ∀ ∈ ℳ ×
Slide 11
Slide 11 text
Minha filha, lá na scipy.linalg, vimos a
função norma, tanto para matrizes
como para vetores.
Esqueceu?
Torno a repetir minha
pergunta, Mestra.
Como eu calculo 2
?
Slide 12
Slide 12 text
Conforme já mostrei, na
referência do SciPy encontramos
os detalhes dos parâmetros para
usar a função norm( ):
Slide 13
Slide 13 text
As normas matriciais
da scipy.linalg.
Não deixem de
comprar o livro do
Golub
Slide 14
Slide 14 text
Essa foi mole!
Modifiquei um pouquinho só o
programa da Mestra, nas linhas
marcadas.
Slide 15
Slide 15 text
Hoje ela está
atacada!
Ah, mas eu queria é marcar
os semi-eixos dessa elípse.
Slide 16
Slide 16 text
Loirinha, esta é uma das questões mais
importantes da Álgebra linear
computacional.
A resposta é a decomposição em valores
singulares de uma matriz.
Slide 17
Slide 17 text
Voltando ao livro do Trefethen,
logo no início está a
decomposição em valores
singulares
Slide 18
Slide 18 text
O teorema da
Decomposição em Valores
Singulares (SVD):
Seja ∈ ℳ×
. Então existem matrizes ortogonais ∈
ℳ×
e ∈ ℳ×
tais que
= Σ ,
onde Σ = (1
, 2
, ⋯ ,
) ∈ ℳ×
, com = { , }
e 1
≥ 2
≥ ⋯ ≥
≥ 0.
Os ′ são chamados de valores
singulares.
As colunas de U e V são os vetores
singulares da esquerda e direita,
respectivamente.
Slide 19
Slide 19 text
Para = 3 e = 2:
11
12
21
22
31
32
=
11
12
13
21
22
23
31
32
33
1
0
0 2
0 0
11
12
21
22
Para = 2 e = 3:
11
12
13
21
22
23
=
11
12
21
22
1
0 0
0 2
0
11
12
13
21
22
23
31
32
33
Quando = , todas as
matrizes serão quadradas.
Abaixo mostrei dois exemplos
em que ≠ .
Slide 20
Slide 20 text
Vejam, lá na
scipy.linalg.
Slide 21
Slide 21 text
A continuação
A transposta
de V.
Slide 22
Slide 22 text
Este programa calcula a
decomposição SVD de uma
matriz 2x2 e mostra o
resultado graficamente.
Slide 23
Slide 23 text
Aí estão as diagonais que
você tanto pediu,
Loirinha.
Slide 24
Slide 24 text
Agora em 3D.
A esfera unitária
será levada num
elipsoide.
Slide 25
Slide 25 text
O Mestre cortou um gomo da laranja
para melhorar a visualização.
Na realidade uma casca esférica,
cortada para olharmos seu interior.
A matriz A é diagonal. Note as escalas
nos 3 eixos da imagem.
Slide 26
Slide 26 text
Fiz um programa para calcular a
decomposição em valores singulares, SVD,
de uma matriz A. Depois apliquei-o à matriz
do gráfico anterior.
Slide 27
Slide 27 text
Esta outra matriz A é simétrica.
Além de deformar a esfera num
elipsoide, ela também gira-o
entorno da origem!
Slide 28
Slide 28 text
Calculei a SVD dessa matriz.
Marquei o tamanho dos semi-eixos
do elipsoide para você, Loirinha.
Slide 29
Slide 29 text
Para esta matriz A, a esfera vira um disco!
Perdemos uma dimensão na imagem.
Fiz duas fotos para vocês conferirem. Uma
de perfil e, a outra, quase de frente.
Slide 30
Slide 30 text
Também calculei a SVD da minha
matriz. Marquei o valor do
determinante e o tamanho dos semi-
eixos do elipsoide.
Vejam que tanto o determinante como
o valor de um semi-eixo é zero.
Slide 31
Slide 31 text
Com esta outra matriz
perdemos duas dimensões!
A imagem da esfera vira um
segmento de reta.
Slide 32
Slide 32 text
Loirinha, repeti seus cálculos para esta
última matriz A.
Neste caso o det() e dois dos valores
da SVD de A são nulos.
Slide 33
Slide 33 text
Surfista, para revisar
autovalores e autovetores,
consulte o livro:
Slide 34
Slide 34 text
O livro do Trefethen dedica
todo um capítulo à
autovalores e autovetores.
Marquei no índice.
Slide 35
Slide 35 text
Vou recordar as
definições de autovalores
e autovetores:
Seja ∈ ℳ×
uma matriz quadrada.
Um vetor não-nulo ∈ ℝ é um autovetor de A
e ∈ ℂ o autovalor correspondente quando
= .
Slide 36
Slide 36 text
A ideia subjacente a esses conceitos é que:
a ação de A em determinados subespaços S de
ℝ imita a multiplicação por fator de escala,
= .
Na figura abaixo isto é óbvio, porque
a matriz A é diagonal!
Slide 37
Slide 37 text
Concordo Mestra, no eixo-x (um dos
subespaços) temos uma dilatação de
= 1.5 e no outro (o eixo-y) uma
contração de = 0.5.
Slide 38
Slide 38 text
É, aplicando essa matriz a
vetores sobre o eixo-x, o
resultado é claro.
Idem para vetores sobre o
eixo-y. Vejam:
Vetores sobre o eixo-x
continuam no eixo-x
1.5 0
0 0.5
0
= 1.5
0
,
só aumentam em 50%.
E, vetores sobre o eixo-y
continuam sobre o eixo-y
1.5 0
0 0.5
0
= 0.5
0
,
só diminuem à metade.
Slide 39
Slide 39 text
É, mas para esta outra
matriz não sei quais são os
autovalores, nem os
autovetores!
Slide 40
Slide 40 text
Então Loirinha, alguma vezes a matriz
A é diagonalizável, isto é,
existem matrizes , ∈ ℳ ×
, sendo
V inversível e D diagonal, tais que
−1 = (ou = −1).
Equivalentemente, A é diagonalizável se
existir uma matriz ∈ ℳ ×
,
inversível tal que
−1 = . D é a mesma.
Slide 41
Slide 41 text
Pois,
= 1
|2
| ⋯ |
= 1
2
⋯
]
e também
= [ 1
1
| 2
2
⋯
]
Então, da equivalência
−1 = ⟺ =
segue
1
= 1
1
, 2
= 2
2
, ...,
=
.
Sejam, 1
, 2
, … ,
as
colunas de V, isto é,
= 1
|2
| ⋯ |
.
Slide 42
Slide 42 text
Pois, =
1
2
⋮
=
1
2
⋮
e também =
1
1
2
2
⋮
.
Então, da equivalência
−1 = ⟺ =
segue
1 = 1
1, 2 = 2
2, ..., =
.
Sejam, 1, 2, … , as
linhas de U, isto é, =
1
2
⋮
.
Slide 43
Slide 43 text
Face à igualdade = , os vetores
coluna 1
, 2
, ⋯ ,
de V são denominados
autovetores à direita de A.
E da igualdade = , os vetores
linha 1, 2, … , de U são chamados
autovetores à esquerda de A.
Slide 44
Slide 44 text
Cuidado, o fato de D ser diagonal,
não garante = .
Experimente com o programa:
Slide 45
Slide 45 text
Uma dica:
Assuma que 1
≠ 2
são autovalores
correspondentes aos autovetores 1
e
2
. Suponha, por absurdo, que 1
e 2
são
LD, isto é 1
= 2
, ≠ 0.
Conclua!
Autovalores distintos garantem
que os auto-vetores
correspondentes são linearmente
independentes.
Prove isto como exercício,
Surfista!
Slide 46
Slide 46 text
Sim Loirinha, e se os autovetores
correspondentes forem LI (linearmente
independentes) o subespaço gerado por eles
possuirá dimensão maior que 1.
A dimensão desse subespaço é conhecida como
multiplicidade geométrica de .
Mestres, existe a possibilidade de
alguns dos autovalores 1
, 2
, ⋯ ,
em Λ serem iguais?
Slide 47
Slide 47 text
O polinômio característico de uma
matriz A é definido por
= det( − ).
Ele é um polinômio mônico.
Da definição de autovalores e
autovetores, é imediato que
(prove Loirinha):
é um autovalor de A se, e somente
se, é uma raiz do polinômio
característico de A:
= det − = 0
Slide 48
Slide 48 text
Uma consequência importante desse
teorema é que autovalores de uma matriz
A podem ser complexos, mesmo que a
matriz A seja real.
Equações polinomiais podem possuir
raízes com multiplicidade maior que 1.
É a mesma coisa que a multiplicidade
geométrica do autovalor?
Slide 49
Slide 49 text
Não Loirinha, trata-se da
multiplicidade algébrica do
autovalor .
Segue daí que uma matriz ∈ ℳ ×
possui no
máximo n autovalores, contadas as
multiplicidades algébricas.
Se todas as raízes do polinômio característico
forem raízes simples, então A possuirá n
autovalores distintos.
Slide 50
Slide 50 text
Podemos provar que:
a multiplicidade algébrica de um
autovalor é maior ou, quando
muito, igual à sua multiplicidade
geométrica.
No caso da multiplicidade algébrica de um
autovalor ser maior que sua
multiplicidade geométrica, ele é dito
defectivo.
Slide 51
Slide 51 text
Surfista, as matrizes A e B abaixo
possuem o mesmo polinômio característico,
= ( − 2)3.
Portanto ambas possuem apenas um
autovalor = 2, com multiplicidade
algébrica 3.
=
2
2
2 =
2 1
2 1
2
Slide 52
Slide 52 text
Claramente, no caso da matriz A,
1
=
1
0
0
, 2
=
0
1
0
, 3
=
0
0
1
são autovetores associados a = 2.
Assim a dimensão geométrica do autoespaço
associado a = 2 é 3.
=
2
2
2
Slide 53
Slide 53 text
=
2 1
2 1
2
É, mas para a matriz B só conseguimos um
autovetor =
1
0
0
linearmente independente.
Assim, a dimensão do autoespaço associado ao
autovalor = 2 é 1 e ele é um autovalor
defectivo.
Slide 54
Slide 54 text
Para sacramentar esse papo:
Uma matriz A é diagonalizável
se,e somente se, ela é não
defectiva.
Em outras palavras:
existem matrizes V e , com V inversível e
diagonal, tais que −1 = quando, e
apenas quando, A é não defectiva.
Slide 55
Slide 55 text
Eis o que há na scipy.linalg
sobre autovalores e
autovetores
Slide 56
Slide 56 text
A rotina da scipy.linalg para
calcular, apenas, os
autovalores de uma matriz
quadrada A.
Slide 57
Slide 57 text
Estupidamente fácil de usar Mestres,
vejam o programinha que fiz.
Entrei com uma matriz 3x3, e obtive
três autovalores distintos e reais.
Slide 58
Slide 58 text
O mesmo programa.
Tornei a entrar com uma matriz real,
agora 4x4, mas obtive um par de
autovalores complexos e dois
autovalores reais.
Slide 59
Slide 59 text
Com esta rotina
obtemos os autovalores
e também os
autovetores de uma
matriz A.
Slide 60
Slide 60 text
Os valores de
retorno:
Slide 61
Slide 61 text
Eis aqui meu programa,
Surfista!
Slide 62
Slide 62 text
Apliquei-o à matriz 3x3
do seu 1º exemplo,
Surfista.
Slide 63
Slide 63 text
Se A é simétrica, então seus
autovalores são reais e seus autovetores
são ortogonais.
Este é um dos resultados mais
importantes da Álgebra Linear.
Veja a seguir, como ele
aparece na scipy.linalg
Slide 64
Slide 64 text
Para matrizes reais o h em
eigh é a simetria de A.
Slide 65
Slide 65 text
Os valores de
retorno:
Slide 66
Slide 66 text
Muito fácil também, Mestres.
Vejam o programinha que fiz.
Vou entrar com uma matriz
simétrica 3x3.
Slide 67
Slide 67 text
Muito simples.
Só não conferi se os
autovetores são ortogonais.
Faça isso Loirinha!