Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Matrizes, transformações lineares e a SVD

Matrizes, transformações lineares e a SVD

Paulo Bordoni

October 11, 2018
Tweet

More Decks by Paulo Bordoni

Other Decks in Education

Transcript

  1. Agora, Loirinhas, Surfistas e Cabelos de Fogo, vamos examinar as

    transformações lineares definidas por matrizes.
  2. 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 = .”
  3. 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 .
  4. A multiplicação matriz × vetor satisfaz várias propriedades, entre elas

    duas triviais: • + = + , para , ∈ ℝ • = , para ∈ ℝ, ∈ ℝ Claro Mestra, nem precisa perder tempo com exemplos !
  5. 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.
  6. 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 !
  7. 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 , ∈
  8. 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 .
  9. 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).
  10. Como assim ? Ora colega, já vimos em Cálculo I

    que se ∈ ℝ e , são funções, ׬( + ) = ׬ + ׬ e ׬ = ׬ . Vimos também que + = + e = .
  11. 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 ().
  12. 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
  13. E quando uma matriz de ordem possui inversa −1, temos

    = −1 = −1, correspondendo a aplicação identidade : ℝ → ℝ, = . A ℝ ℝ ℝ −1 = −1 A ℝ ℝ ℝ −1 = −1
  14. 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 .
  15. 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.
  16. 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).
  17. 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 .
  18. 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.
  19. O programa a seguir mostra a ação de uma matriz

    de ordem 2 sobre um triângulo abc.
  20. 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.
  21. 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.
  22. Observem que a matriz A é “quase” a mesma. E

    o efeito é “quase” o mesmo.
  23. 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!
  24. 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.
  25. Fiz um programa que recebe um quadrado arbitrariamente escolhido e

    gira-o no sentido anti-horário de uma quantidade escolhida de graus.
  26. Uma rotação de 45º. Notem que na rotação a norma

    dos vetores (e portanto dos objetos construídos com eles) permanece inalterada.
  27. 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!
  28. Este livro é o clássico dos clássicos sobre álgebra linear

    computacional. Vamos até reproduzir seu Sumário.
  29. O conteúdo desses dois livros é a definição mais apropriada

    de Álgebra linear computacional. Invista em você. Adquira os dois livros!
  30. 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.
  31. 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.
  32. Isso é fácil de fazer nas bolas das normas ∙

    1 e ∙ ∞ . Claro Mestra, como vocês já mostraram para triângulos e quadrados.
  33. 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.
  34. 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.
  35. Já a ação desta outra matriz sobre os vetores unitários

    do feixe é mais complexa: Uma rotação e uma dilatação.
  36. 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.
  37. Sim Mestra, é só olhar para as pontas dos vetores.

    Percebemos claramente que a matriz A leva a circunferência unitária numa elípse.
  38. Então se eu usar apenas a bola unitária obterei o

    mesmo resultado - uma elipse. Exatamente Surfista, compare com o exemplo anterior.
  39. Resumindo: A transformação linear : ℝ2 → ℝ2 leva a

    circunferência unitária numa elipse.
  40. Sim Surfista. E as medidas 1 , 2 dos semi-

    eixos da elipse são chamados de valores singulares da matriz . 2 1
  41. Loirinha, esta é uma das questões mais importantes da Álgebra

    linear computacional. A resposta é a decomposição em valores singulares da matriz .
  42. Voltando ao livro do Trefethen, logo no início está a

    decomposição em valores singulares
  43. 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.
  44. 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 ≠ .
  45. 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:
  46. 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!
  47. 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: • ∙ = , • ∙ = .
  48. 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.
  49. 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
  50. 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.
  51. 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.
  52. Veja no gráfico, Loirinha: ℝ ℝ ℝ ℝ Transformação rígida

    Transformação rígida Dilatação ou contração
  53. 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 .
  54. ℝ ℝ ℝ ℝ ℝ ℝ ℝ ℝ −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:
  55. 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:
  56. 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 .
  57. 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
  58. 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. + = .
  59. Podemos resolver um sistema linear = utilizando a fatoração SVD

    de . Sim o argumento é desenvolvido nas duas próximas transparências.
  60. O algoritmo é o seguinte: 1. Calcular a fatoração SVD

    de : = 2. Resolver = . 3. Resolver = , quando possível. 4. Resolver = . ฑ = = =
  61. 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 = ⟹ = .
  62. Portanto, dispondo da decomposição em valores singulares da matriz ,

    o algoritmo é (2). Prove a afirmação do Cabelos de Fogo Surfista!
  63. Fiz um programa que calcula a solução de um sistema

    linear = , usando a SVD através do algoritmo descrito pelos Mestres.
  64. 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.
  65. 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.
  66. Fiz um programa para calcular a decomposição em valores singulares,

    SVD, de uma matriz A. Depois apliquei-o à matriz do gráfico anterior.
  67. Esta outra matriz, além de deformar a esfera num elipsoide,

    ela também gira-o entorno da origem!
  68. 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.