Slide 1

Slide 1 text

UFRJ Matrizes, transformações lineares e a SVD Prof. Paulo R. G. Bordoni

Slide 2

Slide 2 text

Agora, Loirinhas, Surfistas e Cabelos de Fogo, vamos examinar as transformações lineares definidas por matrizes.

Slide 3

Slide 3 text

Nesta aula associamos matrizes e sistemas de equações lineares.

Slide 4

Slide 4 text

Lembrem-se, o problema: “Resolver um sistema linear de equações a incógnitas” é o problema inverso descrito matricialmente por: “Obter um vetor ∈ ℝ tal que = , sendo dado ∈ ℝ.” Já o problema direto associado a uma matriz de tamanho × é: “Dado ∈ ℝ, obter o vetor ∈ ℝ para o qual = .”

Slide 5

Slide 5 text

Conforme já vimos, problemas diretos estão associados a funções. Nesse caso (usando a mesma letra, num abuso usual de notação), à função : ℝ ⟶ ℝ ⟼ = . Sim, e na NumPy, o valor é calculado através produto interno = np. dot (, ) de com o vetor .

Slide 6

Slide 6 text

A multiplicação matriz × vetor satisfaz várias propriedades, entre elas duas triviais: • + = + , para , ∈ ℝ • = , para ∈ ℝ, ∈ ℝ Claro Mestra, nem precisa perder tempo com exemplos !

Slide 7

Slide 7 text

Essas duas propriedades mostram que a função : ℝ → ℝ associada à matriz através da multiplicação define uma transformação linear de ℝ em ℝ. Transformações lineares constituem uma classe muito ampla de funções definidas entre espaços vetoriais.

Slide 8

Slide 8 text

Uma transformação linear de um espaço vetorial num espaço vetorial é uma função ∶ → satisfazendo as duas propriedades: • + = + , ∀, ∈ , • = , ∀ ∈ ℝ , ∀ ∈ . A definição abaixo é tão importante que merece ser colocada numa moldura de ouro !

Slide 9

Slide 9 text

Transformações lineares : → empurram as operações naturais do espaço de saída para as operações naturais do espaço de chegada . Sim, adição em adição, + T + , e escalamento em escalamento, T , para quaisquer ∈ ℝ e , ∈

Slide 10

Slide 10 text

Por que escreve-se e não () para uma transformação linear ? Porque para calcular o valor = temos que efetuar o produto da matriz pelo vetor .

Slide 11

Slide 11 text

Surfistas, Loirinhas e Cabelos de Fogo, os Mestres estão conduzindo vocês a um passo gigantesco em abstração. Adiantando as coisas: Outros dois exemplos de transfor- mações lineares são a integral e a derivada, que operam entre espaços de funções (aula futura).

Slide 12

Slide 12 text

Como assim ? Ora colega, já vimos em Cálculo I que se ∈ ℝ e , são funções, ׬( + ) = ׬ + ׬ e ׬ = ׬ . Vimos também que + = + e = .

Slide 13

Slide 13 text

A B ℝ ℝ ℝ = ∘ O produto B A de uma matriz B por uma matriz A corresponde à aplicação linear composta ∘ de A seguida por B. Sim, para todo ∈ ℝ temos ∘ = = e portanto ∘ = . Mais um bom motivo para dispensar os parênteses em ().

Slide 14

Slide 14 text

Por exemplo, para = 1 2 1 2 e = −1 1 1 −1 temos = 1 −1 1 −1 e = 0 0 0 0 . Lembrem-se que a multiplicação de matrizes não é comutativa. A B ℝ ℝ ℝ B A

Slide 15

Slide 15 text

E quando uma matriz de ordem possui inversa −1, temos = −1 = −1, correspondendo a aplicação identidade : ℝ → ℝ, = . A ℝ ℝ ℝ −1 = −1 A ℝ ℝ ℝ −1 = −1

Slide 16

Slide 16 text

Indo à Referência e clicando em inv( ) obtive:

Slide 17

Slide 17 text

Este programa recebe uma matriz A, calcula sua inversa e testa.

Slide 18

Slide 18 text

Duas execuções do programa:

Slide 19

Slide 19 text

U L ℝ ℝ ℝ A z A fatoração = revela que pode ser decomposta em duas outras aplicações lineares: A decomposição permite resolver o problema inverso = para qualquer termo independente escolhido, sem calcular a matriz inversa −1 de .

Slide 20

Slide 20 text

U ℝ ℝ ℝ Sim, obtida a fatoração, de = tudo que temos a fazer é calcular em = , ou seja obter = −1, algo imediato pois é triangular inferior. −1 ℝ ℝ ℝ −1 −1 Em seguida, calculamos em = , i.é, resolvemos = −1, que também é imediato já que é triangular superior.

Slide 21

Slide 21 text

A fatoração (ou método de eliminação de Gauss) não acrescenta conceitos novos à Álgebra Linear Computacional. Sua importância reside na rapidez. É um algoritmo (23/3).

Slide 22

Slide 22 text

Pensar em transformações lineares conduz a um enfoque geométrico/teórico da Álgebra Linear Computacional.

Slide 23

Slide 23 text

O próximo programa mostra a ação de uma matriz A, como uma transformação linear, sobre um vetor . O programa permite escolher tanto a matriz A como o vetor .

Slide 24

Slide 24 text

Este é o programa.

Slide 25

Slide 25 text

Uma execução do programa. Em azul temos o vetor e em vermelho o vetor Vemos claramente que A realiza uma reflexão no eixo-x.

Slide 26

Slide 26 text

Um 2º exemplo:

Slide 27

Slide 27 text

O programa a seguir mostra a ação de uma matriz de ordem 2 sobre um triângulo abc.

Slide 28

Slide 28 text

Comecemos examinando o efeito de matrizes diagonais em triângulos. Esta matriz faz uma reflexão no eixo-x.

Slide 29

Slide 29 text

Esta outra contrai de 0.5 na direção x e dilata de 1.5 na direção y. Mas isto já não é tão evidente, Mestra.

Slide 30

Slide 30 text

Já usando um triângulo com um lado paralelo ao eixo-x e outro paralelo ao eixo- y percebemos que efetua uma contração no eixo-x e uma dilatação no eixo-y.

Slide 31

Slide 31 text

Observem que a matriz A é “quase” a mesma. E o efeito é “quase” o mesmo.

Slide 32

Slide 32 text

Mudamos o termo 0.1 para 1: Agora o efeito mudou bastante.

Slide 33

Slide 33 text

Agora trocamos o termo nulo por 1.2. O efeito mudou radicalmente!

Slide 34

Slide 34 text

Vejam a ação de uma matriz não-inversível sobre um triângulo: Não há como desfazer a ação da M sobre o trtiângulo!

Slide 35

Slide 35 text

Essa matriz é “quase” não-inversível. Vejam como ela achata um triângulo:

Slide 36

Slide 36 text

A matriz definida por = cos() −() () cos() , quando aplicada num vetor efetua uma rotação de ângulo no sentido horário em . Isto é, se = então o ângulo entre e , medido de para , é de radianos.

Slide 37

Slide 37 text

Fiz um programa que recebe um quadrado arbitrariamente escolhido e gira-o no sentido anti-horário de uma quantidade escolhida de graus.

Slide 38

Slide 38 text

Uma rotação de 45º. Notem que na rotação a norma dos vetores (e portanto dos objetos construídos com eles) permanece inalterada.

Slide 39

Slide 39 text

Rotações de 90º e 270º podem representar reflexões relativamente aos eixos coordenados, mas nem sempre:

Slide 40

Slide 40 text

O código do programa. Ficou longo porque optei pela didática.

Slide 41

Slide 41 text

O final do código do programa..

Slide 42

Slide 42 text

Mestres, exceto para matrizes diagonais e de rotação, não consigo entender o efeito delas nos vetores e nas figuras! Realmente, não é um problema tão simples!

Slide 43

Slide 43 text

Vamos entender, definitivamente, a atuação de matrizes como transformações lineares analisando a ação delas sobre feixes de vetores!

Slide 44

Slide 44 text

Este livro é o clássico dos clássicos sobre álgebra linear computacional. Vamos até reproduzir seu Sumário.

Slide 45

Slide 45 text

No content

Slide 46

Slide 46 text

Este é outro clássico peso-pesado em álgebra linear computacional. Vejam seu Sumário.

Slide 47

Slide 47 text

São livros de cabeceira para quem for fazer pós-graduação.

Slide 48

Slide 48 text

O conteúdo desses dois livros é a definição mais apropriada de Álgebra linear computacional. Invista em você. Adquira os dois livros!

Slide 49

Slide 49 text

Observem que os dois livros iniciam com a decomposição SVD e só depois vão tratar do método de eliminação de Gauss: Gauss só no capítulo 3. Gauss só no capítulo 4.

Slide 50

Slide 50 text

Veremos que entender ação da transformação linear associada a uma matriz nas bolas é fundamental. Pela linearidade, basta entendermos a atuação nas bolas unitárias.

Slide 51

Slide 51 text

Isso é fácil de fazer nas bolas das normas ∙ 1 e ∙ ∞ . Claro Mestra, como vocês já mostraram para triângulos e quadrados.

Slide 52

Slide 52 text

Este programa mostra a ação de uma matriz M num feixe de vetores.

Slide 53

Slide 53 text

A ação da matriz sobre um feixe de vetores de tamanho unitário é clarificada pela imagem abaixo: A ação é dilatar a componente vertical dos vetores do feixe por um fator de escala = 2 e manter a componente horizontal inalterada.

Slide 54

Slide 54 text

A ação desta outra matriz é dilatar de = 2.5 a componente dos vetores do feixe mas manter a componente inalterada. A dilatação dos vetores do feixe, que varia com a inclinação do vetor na bola.

Slide 55

Slide 55 text

Já a ação desta outra matriz sobre os vetores unitários do feixe é mais complexa: Uma rotação e uma dilatação.

Slide 56

Slide 56 text

Esta 4ª matriz , além da rotação e dilatação também realiza uma inversão do sentido dos vetores. Notem, pelas cores, que o sentido dos vetores na imagem foi invertido.

Slide 57

Slide 57 text

Agora uma matriz com todos os elementos não- nulos.

Slide 58

Slide 58 text

Dilatar, contrair, girar. Como descrever matematicamente o efeito de uma matriz sobre vetores?

Slide 59

Slide 59 text

Sim Mestra, é só olhar para as pontas dos vetores. Percebemos claramente que a matriz A leva a circunferência unitária numa elípse.

Slide 60

Slide 60 text

Então se eu usar apenas a bola unitária obterei o mesmo resultado - uma elipse. Exatamente Surfista, compare com o exemplo anterior.

Slide 61

Slide 61 text

Confirmadíssimo, Mestra!

Slide 62

Slide 62 text

Resumindo: A transformação linear : ℝ2 → ℝ2 leva a circunferência unitária numa elipse.

Slide 63

Slide 63 text

Sim Surfista. E as medidas 1 , 2 dos semi- eixos da elipse são chamados de valores singulares da matriz . 2 1

Slide 64

Slide 64 text

Ok Mestres. Mas como eu calculo os esses valores singulares 1 , 2 da matriz ?

Slide 65

Slide 65 text

Loirinha, esta é uma das questões mais importantes da Álgebra linear computacional. A resposta é a decomposição em valores singulares da matriz .

Slide 66

Slide 66 text

Voltando ao livro do Trefethen, logo no início está a decomposição em valores singulares

Slide 67

Slide 67 text

Lá vocês encontram teorema da Decomposição em Valores Singulares (SVD): Seja ∈ ℳ× uma matriz com elementos ∈ ℂ. Então existem matrizes unitárias ∈ ℳ× e ∈ ℳ× tais que = = (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 68

Slide 68 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 69

Slide 69 text

Seja ∈ ℳ× uma matriz com elementos reais. Então existem matrizes ortogonais ∈ ℳ× e ∈ ℳ× tais que = = (1 , 2 , ⋯ , ), com = { , } e 1 ≥ 2 ≥ ⋯ ≥ ≥ 0. Vamos nos restringir à matrizes reais ∈ ℝ. Nesse caso o teorema fica:

Slide 70

Slide 70 text

Vejam, lá na scipy.linalg.

Slide 71

Slide 71 text

A continuação A transposta de V.

Slide 72

Slide 72 text

Um programinha simples que recebe uma matriz e devolve sua decomposição SVD:

Slide 73

Slide 73 text

Uma execução do programa:

Slide 74

Slide 74 text

Nesse caso a hiper-esfera unitária foi deformada num hiper-elipsoide com semi-eixos 1 = 6.678 … , 2 = 4.049 … , 3 = 2.288 … , 4 = 1.322 … . Perfeitamente, Loirinha!

Slide 75

Slide 75 text

Notem que os vetores 1 , 2 , 3 , 4 , que constituem as colunas da matriz e os vetores 1 , 2 , 3 , 4 que constituem as linhas da matriz são ortonormais. Sim Galileu, uma vez que: • ∙ = , • ∙ = .

Slide 76

Slide 76 text

Lembrem-se, matrizes ortogonais representam transformações rígidas, que não alteram o tamanho (norma) dos vetores. São rotações, reflexões ou inversões.

Slide 77

Slide 77 text

Exatamente Surfista! E, se eu entendi, as direções desses semi- eixos são dadas pelos vetores ortonormais 1 , 2 , 3 , 4 , que constituem as colunas da matriz : = 1 2 3 4

Slide 78

Slide 78 text

Só não consegui entender o papel dos vetores ortonormais 1 , 2 , 3 , 4 , que constituem as linhas da matriz : = 1 2 3 4 . É aí que entra a interpretação geométrica da fatoração SVD.

Slide 79

Slide 79 text

O teorema informa que = ∙ ∙ , com ∈ ℳ× , ∈ ℳ× , ∈ ℳ× e ∈ ℳ× . Isto significa que, como transformação linear, : ℝ → ℝ é a composta de três transformações lineares: ∶ ℝ → ℝ, ∶ ℝ → ℝ e ∶ ℝ → ℝ, como mostro na próxima transparência.

Slide 80

Slide 80 text

Veja no gráfico, Loirinha: ℝ ℝ ℝ ℝ Transformação rígida Transformação rígida Dilatação ou contração

Slide 81

Slide 81 text

Este programa calcula a decomposição SVD de uma matriz 2x2 e mostra o resultado graficamente.

Slide 82

Slide 82 text

Aí estão as diagonais que você tanto pediu, Loirinha.

Slide 83

Slide 83 text

Graficamente, para uma rotação de 30º temos:

Slide 84

Slide 84 text

E para uma outra matriz:

Slide 85

Slide 85 text

No content

Slide 86

Slide 86 text

No content

Slide 87

Slide 87 text

Mestres, se uma matriz é inversível, quais serão os valores principais de sua inversa −1 ? Assuma que a SVD de é = . Então −1 = −1 = −1−1()−1 e como e são ortogonais temos −1 = −1 .

Slide 88

Slide 88 text

ℝ ℝ ℝ ℝ ℝ ℝ ℝ ℝ −1 −1 Assim, se 1 , 2 , ⋯ , os valores principais de , os valores principais de −1 são Τ 1 1 , Τ 1 2 , ⋯ , Τ 1 . Compare os diagramas:

Slide 89

Slide 89 text

Na fórmula acima, fórmula, é qualquer sub matriz de ordem obtida de eliminando-se − linhas e − colunas de . O posto de , anotado () é definido por: = 1 ≤ ≤ min , ≠ 0 } . A definição de posto de uma matriz ∈ ℳ× é a seguinte:

Slide 90

Slide 90 text

O () é o número máximo de vetores coluna de linearmente independentes ou seja é a dimensão da imagem de : = ∈ ℝ y = Ax, x ∈ ℝ } O núcleo de uma matriz ∈ ℳ× é o subespaço ú = ∈ ℝ = 0 }. A dimensão de ú é denominada nulidade de , e anotada .

Slide 91

Slide 91 text

Este programa calcula a SVD de uma matriz A, seu posto e nulidade.

Slide 92

Slide 92 text

Uma execução do programa:

Slide 93

Slide 93 text

Calculei a SVD da matriz aí na frente. Vejam que um dos valores principais é zero. O posto da matriz é 2 e seu espaço nulo é unidimensional

Slide 94

Slide 94 text

Nesse caso, as seguintes propriedades são equivalentes: 1. é não-singular, 2. det ≠ 0, 3. ú = 0 , 4. = Para uma matriz quadrada de ordem valem as seguintes igualdades: 1. = posto(), 2. + = .

Slide 95

Slide 95 text

Podemos resolver um sistema linear = utilizando a fatoração SVD de . Sim o argumento é desenvolvido nas duas próximas transparências.

Slide 96

Slide 96 text

O diagrama abaixo ajuda a entender o algoritmo que usaremos. Nele = . = ฑ = = =

Slide 97

Slide 97 text

O algoritmo é o seguinte: 1. Calcular a fatoração SVD de : = 2. Resolver = . 3. Resolver = , quando possível. 4. Resolver = . ฑ = = =

Slide 98

Slide 98 text

No caso em que todos os ≠ 0, teremos uma única solução, calculável pelo algoritmo do Mestre. Vale a pena comentar que: 1. ortogonal e = ⟹ = . 2. = e ≠ 0, = 1, ⋯ , ⟹ = Τ , = 1, ⋯ , . 3. ortogonal e = ⟹ = .

Slide 99

Slide 99 text

Portanto, dispondo da decomposição em valores singulares da matriz , o algoritmo é (2). Prove a afirmação do Cabelos de Fogo Surfista!

Slide 100

Slide 100 text

Fiz um programa que calcula a solução de um sistema linear = , usando a SVD através do algoritmo descrito pelos Mestres.

Slide 101

Slide 101 text

O final de meu programa:

Slide 102

Slide 102 text

Uma execução do programa:

Slide 103

Slide 103 text

Continuação da execução do programa:

Slide 104

Slide 104 text

Agora uma execução para sendo 3 × 4: Mais incógnitas que equações.

Slide 105

Slide 105 text

Eis a solução!

Slide 106

Slide 106 text

Agora em 3D para entender melhor os conceitos de posto (e imagem) e nulidade (e espaço nulo) de uma matriz. A esfera unitária será levada num elipsoide.

Slide 107

Slide 107 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 108

Slide 108 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 109

Slide 109 text

Esta outra matriz, além de deformar a esfera num elipsoide, ela também gira-o entorno da origem!

Slide 110

Slide 110 text

Calculei a SVD dessa matriz. Marquei o tamanho dos semi-eixos do elipsoide para você, Loirinha.

Slide 111

Slide 111 text

Para esta outra 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 112

Slide 112 text

Esta outra matriz possui dois valores singulares nulos.

Slide 113

Slide 113 text

O espaço imagem é unidimensional! A imagem da esfera vira um segmento de reta.

Slide 114

Slide 114 text

Tchau, até a próxima aula!