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

A decomposição SVD

A decomposição SVD

...

Avatar for Paulo Bordoni

Paulo Bordoni

May 08, 2017
Tweet

More Decks by Paulo Bordoni

Other Decks in Education

Transcript

  1. Mestres, como devemos resolver sistemas lineares tipo = ? A

    tradição ensina a utilizar o método de eliminação de Gauss, Loirinha!
  2. Se é tradição, se todos os cursos e livros de

    Cálculo Numérico começam por aí, porque faremos diferente? Nem todos! Mas a resposta real é: “O método de eliminação de Gauss não acrescenta conceitos novos à Álgebra Linear Computacional”.
  3. É verdade Mestra, apenas as enfadonhas operações elementares com as

    linhas da matriz. Vi num livro tradicional! Sim, e um colega do semestre anterior disse: “O método de eliminação de Gauss é uma chateação, só contas! ”
  4. Este livro é o clássico dos clássicos sobre álgebra linear

    computacional. Vamos até reproduzir seu Sumário.
  5. São livros de cabeceira para quem for fazer pós-graduação em

    computação científica, matemática aplicada ou análise numérica.
  6. O conteúdo desses dois livros é a definição mais apropriada

    de Álgebra linear computacional. Invista em você. Adquira os dois livros!
  7. 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.
  8. O conceito de função é, com certeza, o mais importante

    da matemática. Elas são o objeto de todo o Cálculo Diferencial e Integral. Em particular, vamos considerar funções de um espaço vetorial U em um outro espaço vetorial V : : → , ∈ ⟼ = () ∈ .
  9. Em outras palavras, funções : → tais que: • +

    ⟼ ( + ) = + , • ⟼ = (). Tais funções recebem o nome especial de transformações lineares. Particularizando ainda mais: funções : → de um espaço vetorial U para outro V que preservam as operações nativas de U e V.
  10. = A ℝ ℝ Matrizes × definem transformações lineares de

    ℝ em ℝ através da multiplicação matriz x vetor. Uma matriz 3 x 4 define uma transformação linear ∶ ℝ4 → ℝ3, através da multiplicação: 1 2 3 = 11 12 13 14 21 22 23 24 31 32 33 34 1 2 3 4
  11. Lembrem-se que: Se A é uma matriz m x n

    então: • + = + , ∀, ∈ ℝ • = , ∀ ∈ ℝ , ∀ ∈ ℝ Que são as condições de linearidade.
  12. Um exemplo simples de ℝ2 em ℝ2 é 1 2

    ⟼ 1 2 = −1 2 2 −3 1 2 que corresponde ao par de igualdades ቊ 1 = −1 + 22 2 = 21 − 32
  13. As equações correspondentes são ቊ 1 = 1 2 =

    −2 . Vemos que ela mantém a 1ª coordenada e troca o sinal da 2ª coordenada. Em outras palavras, realiza uma reflexão no eixo-x. A matriz = 1 0 0 −1 aplicada num vetor X fornece : 1 2 ⟼ 1 2 = 1 0 0 −1 1 2
  14. O programa a seguir mostra a ação de uma matriz

    A sobre um vetor . Ele permite escolher tanto a matriz A como o vetor .
  15. 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.
  16. Estamos exibindo a ação de uma matriz num segmento ,

    mostrando os vetores-posição dos vértices (pontilhados).
  17. A reflexão no eixo-x, aplicada ao segmento . Nos próximos

    exemplos, não exibiremos mais os vetores-posição.
  18. O programa das próximas transparências permitirá a visualização da ação

    de uma matriz qualquer sobre um triângulo abc escolhido livremente. Mostraremos alguns exemplos com diferentes matrizes . Surfista, faça outros exemplos exploratórios.
  19. Comecemos conferindo que a matriz = 1 0 0 −1

    do exemplo anterior efetua uma reflexão entorno do eixo-x.
  20. O programa a seguir mostra a ação de uma matriz

    de ordem 2 sobre um triângulo abc.
  21. x x I A matriz identidade I é uma matriz

    quadrada de ordem n com 1’s na diagonal e 0’s fora dela. A identidade, como transformação linear não faz nada! ℝ ℝ I x = x
  22. Uma matriz M muito próxima da identidade = 1 0

    0 1 . Se fosse a identidade I veríamos apenas o triângulo rosa, cobrindo o azul.
  23. A matriz definida por = cos() −() () cos() ,

    quando aplicada num vetor v efetua uma rotação de ângulo no sentido horário em v. Isto é, se = então o ângulo entre v e u, medido de v para u é de radianos.
  24. Fiz um programa que recebe um quadrado arbitrariamente escolhido e

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

    dos vetores (e portanto dos objetos construídos com eles) permanece inalterada.
  26. Entretanto a vizualização da ação da matriz = 0.5 0

    0 1.5 sobre o triângulo azul não conduz a conclusões evidentes.
  27. 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.
  28. Observem que a matriz A é “quase” a mesma mas

    triângulo azul não mudou. E o efeito é “quase” o mesmo.
  29. 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!
  30. x y A z B ℝ ℝ ℝ BA O

    produto BA de uma matriz B por uma matriz A corresponde à aplicação linear composta de A seguida por B:
  31. Lembrem-se que a multiplicação de matrizes não é comutativa. Na

    aula passada exibimos um programa que mostra que, usualmente, ≠ . Por exemplo, para = 1 2 1 2 e = −1 1 1 −1 temos = 1 −1 1 −1 e = 0 0 0 0 .
  32. A inversa de uma matriz quadrada A de ordem n

    é uma matriz quadrada B de ordem n tal que ∙ = ∙ = Existem matrizes que não possuem inversa – são não-inversíveis. Uma matriz não possui mais que uma inversa. Além disso, a inversa da inversa é a própria!
  33. Prova-se que A é inversível quando, e apenas quando, é

    não-singular, i.é, det() ≠ 0 Entretanto, verificar se det() ≠ 0 para saber se A é inversível é uma técnica nunca utilizada em Álgebra linear computacional.
  34. x y A A-1 ℝ ℝ x y A x

    A-1 ℝ ℝ ℝ I Pela própria definição, a inversa A-1 de uma matriz A , quando considerada como aplicação linear, desfaz a ação de A.
  35. Voltando às rotinas básicas do foquemos nossa atenção no tópico

    “Achando a inversa”. Rotinas básicas Achando a inversa Resolvendo sistemas lineares Achando o determinante Calculando normas Resolvendo problemas lineares de mínimos quadrados e pseudo-inversas Inversa generalizada
  36. 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!
  37. Pedi ao Mestre para fazer um programa parecido àquele que

    mostra o efeito visual da ação de uma matriz num triângulo. Mas para a matriz inversa! Ele fará Loirinha, você é a queridinha dele!
  38. Verificando as ações de uma matriz e sua inversa, como

    transformações lineares. O deslocamento é um artifício para enxergarmos o efeito da inversa (em verde).
  39. 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.
  40. Isso é fácil de fazer nas bolas das normas ∙

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

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

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

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

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

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

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

    decomposição em valores singulares
  51. 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.
  52. 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 ≠ .
  53. 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:
  54. 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!
  55. 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: • ∙ = , • ∙ = .
  56. 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.
  57. 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
  58. 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.
  59. 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.
  60. Veja no gráfico, Loirinha: ℝ ℝ ℝ ℝ Transformação rígida

    Transformação rígida Dilatação ou contração
  61. 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 .
  62. ℝ ℝ ℝ ℝ ℝ ℝ ℝ ℝ −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:
  63. 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.
  64. Fiz um programa para calcular a decomposição em valores singulares,

    SVD, de uma matriz A. Depois apliquei-o à matriz do gráfico anterior.
  65. 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:
  66. 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 .
  67. 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
  68. Para essa 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.
  69. 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. + = .
  70. Podemos resolver um sistema linear = utilizando a fatoração SVD

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

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

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

    linear = , usando a SVD através do algoritmo descrito pelos Mestres.