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

Normas matriciais, condicionamento e fatorações

Normas matriciais, condicionamento e fatorações

...

Paulo Bordoni

May 17, 2017
Tweet

More Decks by Paulo Bordoni

Other Decks in Education

Transcript

  1. Uma norma num espaço vetorial é uma função ∙ ∶

    → ℝ satisfazendo: Para , ∈ e ∈ ℝ: I. ≥ 0, II. = 0 se e somente se = 0, III. = , IV. + ≤ + .
  2. Portanto é possível definir uma norma para matrizes em ℳ×

    . Basta garantir as quatro propriedades relacionadas pelo Galileu. Já conferimos que o conjunto ℳ× das matrizes × com a adição de matrizes e a multiplicação por fator de escala é um espaço vetorial.
  3. A norma de Frobenius é definida por: = ෍ ,=1

    2 = () Surfista, prove que é uma norma. Operacionalmente é como se fosse a norma euclidiana para um vetor de 2 componentes.
  4. Na realidade nosso foco estará na aplicação linear associada à

    uma matriz ∈ ℳ× . Pensar na aplicação linear : ℝ → ℝ associada à matriz envolverá três normas: uma em ℝ outra em ℝ e uma terceira em ℳ× .
  5. Vamos provar que: se é uma norma vetorial, então a

    função ∶ ℳ× → ℝ definida por ⟼ = sup ≠0 é uma norma. É uma norma matricial denominada norma matricial induzida (pelas normas em ℝ e ℝ).
  6. Sim, basta considerar o supremo sobre a bola unitária, isto

    é: = sup =1 . Antes, vamos mostrar que não precisamos tomar o supremo sobre todos os vetores ≠ 0 de ℝ.
  7. Observe, Surfista, que para todo ∈ ℝ, temos ∙ =

    = () Considerando o caso particular em que = Τ 1 , para ∈ ℝ e ≠ 0, temos ∙= 1 = Τ e, obviamente, = 1 para = Τ .
  8. Portanto = sup ≠0 = sup =1 E isso vale

    para qualquer uma das três bolas unitárias, nas ∙ 1 , ∙ ∞ e ∙ 2 .
  9. Fantástico, Surfista. Pela interpretação geométrica fornecida pela decomposição SVD segue

    daí que 2 = sup 2=1 2 = 1 , o maior valor singular de . 1 = 2
  10. É o que nossos alunos farão! Senhores, essa afirmação que

    = sup ≠0 = sup =1 é uma norma é tão importante que merece ser provada!
  11. A condição I da definição de norma é imediata: =

    sup =1 ≥ ≥ 0. A condição III também: = sup =1 = sup =1 = .
  12. A parte ⇐ da exigência II da definição de norma

    é trivial. Se = 0, claramente = 0. Mostre a parte ⇒, Cabelos de Fogo! Se = 0 então sup ≠0 = 0 e portanto = 0, ∀ ∈ ℝ. Logo = 0, ∀ ∈ ℝ e assim = 0.
  13. Só falta a condição IV, a desigualdade triangular. Antes de

    prová-la, vamos provar que ≤ , ∀ ∈ ℝ, uma desigualdade importante em si mesma.
  14. Ora, Cabelos de Fogo, sua afirmação decorre da definição de

    supremo: = sup ≠0 ≥ , ∀ ∈ ℝ, ≠ 0 Claro, pois daí temos ≤ , ∀ ∈ ℝ.
  15. Para vetores , ∈ ℝ temos + ≤ + ,

    portanto ∀ ∈ ℝ, segue daí que + = + ≤ + . Então, para na bola unitária, da desigualdade que acabamos de provar, temos + ≤ + ≤ +
  16. Notem que + ≤ + , ∀ ∈ ℝ com

    = 1. Consequentemente + = sup =1 + ≤ + . Brilhante Cabelos de Fogo! Assim é válida a exigência IV, a desigualdade triangular: + ≤ + , ∀, ∈ ℳ× .
  17. Sim Surfista, basta aplicarmos aos vetores dos vértices , ,

    , tanto da 1 (1) como da ∞ (1). Mestra, essas duas bolas unitárias são quadrados. Obter o efeito de uma matriz sobre elas é imediato, não?
  18. Por inspeção visual, o vetor de tamanho máximo da imagem

    por A da ∞ (1) é ∗ . Temos ∗ ∞ = max{1.7, 2.2} = 2.2. Portanto ∞ = 2.2.
  19. Já, examinando a imagem por da 1 (1), vemos que

    o vetor de tamanho máximo é ∗ . Temos ∗ 1 = 0.6 + 1.8 = 2.4. Portanto 1 = 2.4.
  20. Entretanto, não precisamos gerar as imagens por das bolas ∞

    (1) e 1 (1) para calcular as ∞ e 1 . Basta calcularmos a matriz nos vértices , , , das bolas. Como, Mestre?
  21. Ora Loirinha, porque ∞ = max ∞ , ∈ ∞

    1 = = max ∞ , = , , , . E, com a taquigrafia óbvia: = , , , = 1 1 , −1 1 , −1 −1 , 1 −1 ⟹ = 11 12 21 22 1 2 = 1 2 = = 11 + 12 21 + 22 , −11 + 12 −21 + 22 , −11 − 12 −21 − 22 , 11 − 12 21 − 22 .
  22. Portanto ∞ = max ∞ , x = a, b,

    c, d = = max{ 11 + 12 , 21 + 22 } Claro, pois ൠ ()1 = 11 + 12 , −11 +12 , −11 −12 , 11 −12 ()2 = 21 + 22 , −21 +22 , −21 −22 , 21 −22 ⟹ ∞ = max ()1 , ()2 = = max{ 11 + 12 , 21 + 22 }
  23. Da mesma forma, porque 1 = max 1 , ∈

    1 1 = = max 1 , = , , , . E com a taquigrafia, também óbvia: = , , , = +1 0 , 0 +1 , −1 0 , 0 −1 , ⟹ = 11 12 21 22 1 2 = ()1 ()2 = 11 21 , 12 22 , −11 −21 , −12 −22 .
  24. Portanto 1 = max 1 , = , , ,

    = = max{ 11 + 21 , 12 + 22 } Claro, pois neste caso: ቊ = , ⟹ 1 = 1 + 2 = 11 + 21 = , ⟹ 1 = 1 + 2 = 12 + 22
  25. Repetindo, para = 11 12 21 22 : • 1

    = max{ 11 + 21 , 12 + 22 } • ∞ = max{ 11 + 12 , 21 + 22 } Por esses dois resultados: • 1 é referida como norma (...) das colunas de e • ∞ como norma (...) das linhas de . (...) = (do máximo da soma dos valores absolutos)
  26. Conferindo, para = 1.1 0.6 0.4 1.8 tenho: • 1

    = 2.4 (colunas de ), • ∞ = 2.2 (linhas de ).
  27. Especificamente, vamos calcular as normas ∙ , ∙ 2 ,

    ∙ 1 , ∙ ∞ de uma matriz e conferir a igualdade 2 = 1 .
  28. Passaremos a analisar a sensibilidade da multiplicação matricial. Isto porque

    ela está diretamente associada à resolução de sistemas lineares.
  29. No início do curso estudamos o número de condicionamento de

    um problema/função. Sim Mestre. Tanto o condicionamento absoluto , = () como o condicionamento relativo , = , ∙ Τ () .
  30. Nosso interesse imediato é calcular os números de condicionamento de

    funções ∶ ℝ → ℝ dadas por ↦ ∈ ℝ, ∈ ℝ. O 1º passo da generalização é imediato: substituímos os módulos por normas. Assim eles serão os números dados por: , = () e , = , ∙ Τ ()
  31. Para funções ∶ ℝ → ℝ a () é a

    matriz jacobiana, = Τ () O 2º passo envolve o entendimento do que é ().
  32. Claro e a é a multiplicação de matriz por vetor,

    de forma que cada é definido por = (1 , 2 , ⋯ , ) = 1 1 +2 2 + ⋯ + Lembrem-se colegas, sistemas lineares são descritos por funções lineares : ℝ → ℝ: = 1 2 ⋮ ∈ ℝ ⟼ = 1 2 ⋮ ∈ ℝ, onde = .
  33. Sendo prático, vamos imaginar um sistema 3 × 3 típico:

    ቐ 21 − 2 + 43 = 1 −1 + 52 + 33 = 3 61 − 22 + 3 = 0 Para esse sistema, temos: ൞ 1 (1 , 2 , 3 ) = 21 − 52 + 43 2 (1 , 2 , 3 ) = −1 + 52 + 3 3 (1 , 2 , 3 ) = 61 − 22 + 3
  34. Portanto para a : ℝ3 → ℝ3 do sistema linear

    do Surfista teremos Τ () = 2 −1 4 −1 5 3 6 −2 1 . Claro, Loirinha! A matriz jacobiana dela é constante, e igual à própria matriz do sistema!
  35. Portanto o número de condicionamento absoluto para sistemas lineares é

    = , = . Resumindo, se ∶ ℝ → ℝ é a multiplicação matricial, = , seu número de condicionamento absoluto é , = .
  36. Claro que não colega! A solução de um sistema linear

    = é dada por = −1. Assim, a função é : ↦ = −1. Brilhante Cabelos de Fogo. O número de condicionamento para o problema da resolução de sistemas lineares é, portanto , = −1 .
  37. Assim, o número de condicionamento absoluto ( = , )

    de um sistema linear só está definido quando é inversível. E independe tanto do termo independente quanto da incógnita . Só depende da matriz .
  38. O número de condicionamento relativo é dado por , =

    , Τ ∙ () . Bem, só falta entender o termo Τ () . Mestre, se = () = −1 é claro que = .
  39. Sim Cabelos de Fogo e portanto Τ () = Τ

    ≤ . Assim o condicionamento relativo da resolução de sistemas lineares satisfaz , ≤ −1 ∙
  40. Quando é ortogonal a igualdade em , ≤ −1 ∙

    é atingida. Claro Mestra, pois nesse caso a : ↦ = −1 não altera o tamanho de , não importa a forma de medir tamanho.
  41. Conclusão: o número de condicionamento relativo de um sistema linear

    = é = , = −1 ∙ Portanto os números de condicionamento absoluto e relativo para sistemas lineares = dependem apenas da matriz (e da −1): • = , = , • = , = ∙ −1 .
  42. Quando não é inversível, é usual escrever = +∞ e

    = +∞ Quando é inversível de ∙ −1 = decorre que 1 = = ∙ −1 ≤ −1 . Portanto ≥ 1, para toda matriz inversível .
  43. Como antes, quando os números de condicionamento forem pequenos o

    problema de resolução de sistemas lineares é bem condicionado; caso contrário é mal condicionado.
  44. Fiz este programinha, que recebe uma matriz A e devolve

    os números de condicionamento oferecidos pela numpy.linalg.con():
  45. Surfista, observe que: • 2 = - o maior valor

    singular de A , • −1 2 = Τ 1 - o menor valor singular de A . Assim = Τ Em outras palavras = Τ , é a excentricidade do hiper-elipse que é a imagem por A da circunferência unitária.
  46. Os teoremas 12.1 e 12.2 do livro de Trefethen &

    Bau, exibidos a seguir, mostram a importância dos números de condicionamento de uma matriz A.
  47. Álgebra linear Apresentação Rotinas básicas Decomposições Funções matriciais Matrizes especiais

    Agora vamos explorar as fatorações (Decompositions) existentes na scipy.linalg.
  48. Sim, de = , segue que det() = det det

    det(). Veremos que L só possui 1’s na diagonal e que P é ortogonal. Assim, det = ± det = ±11 22 ⋯ A fatoração = permite calcular det().
  49. Mestre, que outras vantagens Maria Loirinha leva com essa tal

    de fatoração LU? Antes do Mestre te responder, jovem, proponho que discuta com seus colegas sobre essa cultura de levar vantagem em tudo. Grande Filósofo!
  50. Respondendo tua pergunta, Loirinha: Tendo a fatoração = , resolver

    o sistema linear = é equivalente a resolver = . Então resolvemos primeiro o sistema = e depois o = . Note que esses dois são sistemas triangulares, facílimos de resolver! Conforme já vimos, o maior trabalho reside em fatorar (i.é, efetuar o processo de eliminação).
  51. A rotina pode efetuar o pivotamento por linha (ou não).

    Ela retorna: • as três matrizes P, L e U • ou apenas duas, a PL que é a triangular inferior permutada e a U.
  52. Já neste exemplo é evidente a necessidade de permutar a

    L0 com a L2 e depois a L2 com a L3. Atente para as matrizes A e P.
  53. Uma outra forma de chamar a fatoração LU da SciPy.

    Como no 1º exemplo, não houve a necessidade de pivotamento.
  54. Esta é lu_factor( ) que efetua a fatoração . Ela

    recebe a matriz A e retorna uma matriz contendo a fatoração LU e um vetor P contendo os índices de pivoteamento.
  55. Esta rotina recebe a fatorada LU e o vetor piv

    fornecidos pela lu_factor( ). Recebe também o termo independente b e retorna a solução x.
  56. É essa a ideia Surfista. Além disso, vale a volta;

    veja na próxima transparência! Confirmando, se A é simétrica e positiva definida está garantida a existência de uma matriz triangular superior tal que = . É como se U fosse a raiz quadrada de A, Mestre, pois = .
  57. Suponha que uma matriz não-singular A possa ser fatorada na

    forma = , com U triangular superior. Então A será simétrica e definida positiva. É difícil provar isto Mestra?
  58. E também que A é definida positiva, isto é ≠

    0 ⟹ > 0. De fato assumindo ≠ 0 e = teremos ≠ 0, devido à não-singularidade de U. Então = () = = = 2 > 0. Bem, minha querida, de = segue que: • A é simétrica, pois = ()= ()= = • U é não-singular, pois det()2 = det() = det() ≠ 0.
  59. Vou resolver o sistema linear abaixo. A matriz do sistema

    é a do exemplo anterior. 5 2 1 0 2 7 3 1 1 0 3 1 6 −1 −1 2 = 1 2 3 4
  60. O Mestre chamou a Cho_fator() e depois a Cho_solve(). Percebam

    que ele não precisou zerar a parte inferior da matriz Cho. Além disso, b entrou como vetor-linha e foi transformado em vetor-coluna.
  61. Façam um programa para resolver um sistema linear = no

    qual , além de ser simétrica e positiva-definida, também é de banda. Vai cair na prova Mestra?