Slide 1

Slide 1 text

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!

Slide 68

Slide 68 text

No content

Slide 69

Slide 69 text

No content

Slide 70

Slide 70 text

No content

Slide 71

Slide 71 text

No content

Slide 72

Slide 72 text

No content

Slide 73

Slide 73 text

No content

Slide 74

Slide 74 text

Tchau, até a próxima aula!