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

A decomposição SVD

A decomposição SVD

...

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.