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

Álgebra Linear Computacional III

Álgebra Linear Computacional III

Por efetuar.

Paulo Bordoni

July 09, 2015
Tweet

More Decks by Paulo Bordoni

Other Decks in Education

Transcript

  1. Na aula passada analisamos matrizes como transformações lineares. Construímos um

    programa que permitiu ver o efeito de uma matriz sobre feixes de vetores unitários.
  2. Sim Mestre, é só olhar para as pontas dos vetores.

    Veja Loirinha, ele induz a conclusão: A matriz A deforma a circunferência unitária numa elipse.
  3. Muito bom, Surfista. Teu programa confirma que a transformação linear

    : ℝ2 → ℝ2 deforma a circunferência unitária numa elipse.
  4. São duas visualizações, uma discreta e outra contínua, para a

    mesma coisa: a ação da matriz A como transformação linear : ℝ2 → ℝ2 sobre vetores com 2 = 1.
  5. A norma euclidiana de uma matriz A, anotada 2 ,

    é uma medida natural do efeito dela sobre a circunferência unitária: 2 = 2 ; 2 = 1
  6. 2 Mestre, Mestre! Só acho natural quando pensamos na matriz

    A como aplicação linear : ℝ2 → ℝ2. Concordo contigo, Loirinha. Vemos então que 2 é, precisamente, o tamanho do semi-eixo maior da elipse.
  7. Uma definição equivalente é 2 = 2 2 ; ≠

    0 Essa equivalência decorre da linearidade de A e de uma das propriedades da 2 de vetores: () 2 = 2 = 2 . Basta escolher = 1 2 .
  8. Aliás, para provar que um número ∈ ℝ é a

    norma induzida de uma matriz A precisamos provar que: 1. 2 ≤ 2 , ∀ ∈ ℝ; 2. Que vale a igualdade para algum ∈ ℝ. Segue daí uma propriedade importante da norma: 2 ≤ 2 2 , ∀ ∈ ℝ , ∀ ∈ ℳ ×
  9. Meu filho, lá na scipy.linalg, vimos a função norma, tanto

    para vetores como para matrizes. Esqueceu? 2 Mas como eu calculo o tamanho desse semi- eixo maior?
  10. Conforme já mostrei, na referência do SciPy encontramos os detalhes

    dos parâmetros para usar a função norm( ):
  11. Modifiquei meu programa anterior um pouquinho só - nas linhas

    marcadas. Calculei 2 e mostrei também a circunferência de raio 2 , em linha tracejada.
  12. Loirinha, esta é uma das questões mais importantes da Álgebra

    linear computacional. A resposta começa com autovalores e autovetores da matriz.
  13. Surfista, para revisar aspectos elementares de autovalores e autovetores, consulte

    os capítulos 5, 7 e 9 do livro de H. Anton e C. Rorres. Vá buscá-lo na Internet.
  14. O diferencial desse livro são as aplicações. Em particular as

    indicadas nos §5.4, §7.4, §9.3 e §9.6, além de todas as todo o capítulo 10.
  15. Trefethen dedica todo um capítulo à autovalores e autovetores e

    outro à fatoração QR em seu clássico. Recortei-os do índice.
  16. Vou recordar as definições de autovalores e autovetores: Seja ∈

    ℳ× uma matriz quadrada com elementos ∈ ℝ. Um vetor não-nulo ∈ ℂ é um autovetor de A e ∈ ℂ um autovalor correspondente quando, e apenas quando, = .
  17. = < 1 = > 1 = < 0 Reforçando

    a fala do Surfista: Quando é um autovetor do problema = e o autovalor associado, a ação de A imita a multiplicação por fator de escala. = = 0
  18. O problema de autovalores/autovetores é um problema inverso. Resolvê-lo significa

    determinar pares (, ) ∈ ℂ × ℂ que tornam equação = verdadeira. Atenção, Loirinha e Surfista, o espaço das soluções (, ) do problema de autovalores e autovetores é ℂ × ℂ.
  19. Se o par (, ) ∈ ℂ × ℂ é

    uma solução para o problema de autovalores/autovetores = de uma matriz real A, então o par , dos complexos conjugados correspondentes, também é solução para = . Sim pois da identidade = segue = = . Como A é uma matriz real, temos = e portanto = = = .
  20. Resumindo: Se (, ) é uma solução para = então

    (, ) também é, e vice-versa.
  21. Porque se = 0 então = 0, ∀ ∈ ℂ

    e também = 0 por linearidade. Então = torna-se uma identidade trivial, que é sempre verdadeira não importa qual seja ∈ ℂ. Entretanto, não há restrição alguma sobre λ. Poderemos ter = 0 ? Mestra, por que exige-se ≠ 0 na definição do problema de autovalores/autovetores?
  22. Surfista, observe que se = 0 é um autovalor de

    , associado a um autovetor ≠ 0 então = 0. Portanto não é inversível. Reciprocamente, se ≠ 0 não é inversível, então = 0 para algum vetor ≠ 0. Portanto 0 é um autovalor de , associado a , já que = 0.
  23. Mestra, suponha que uma matriz A é inversível. Além da

    conclusão do Filósofo (todos os ′ ≠ 0), que mais podemos afirmar sobre os autovalores de −1 ? Eis aí um desafio, Surfista. Pegue a bola e faça um gol!
  24. Bem, como A é inversível, multiplicando a identidade = por

    −1, obteremos = (−1) = −1() = −1() = −1 e como ≠ 0 posso dividir tudo por , obtendo −1 = . Portanto poderemos concluir que: • é autovetor de −1, • −1 é autovalor de −1, associado a .
  25. Mestres, = ⟺ − = 0. Você é show, Loirinha!

    E, a única chance de termos ≠ 0 é quando det − = 0
  26. é um autovalor de A ⟺ é uma raiz do

    polinômio característico de A, isto é, = 0 O polinômio característico de uma matriz A é definido por = det( − ). Ele é um polinômio mônico. Da definição de autovalores e autovetores, é imediato que (prove Loirinha):
  27. Portanto toda matriz real A possui n autovalores que podem

    ser reais ou complexos. Além disso, como polinômios podem ter raízes múltiplas, autovalores podem ser repetidos.
  28. Um roteiro (algoritmo) para determinar os pares ( , )

    que resolvem um problema = de autovalores/ autovetores de uma matriz A, de ordem n, é o seguinte: 1. Montar a matriz − , 2. Calcular o polinômio característico = ( − ), 3. Resolver a equação polinomial = 0, cujas raízes 1 , 2 , … , são os autovalores de A, 4. Resolver os n sistemas lineares homogêneos − = 0 cujas soluções são os autovetores 1 , 2 , … , de A.
  29. Seguindo esse roteiro, vou calcular os autovalores e autovetores (

    , ) da matriz abaixo. = −1 2 −4 0 4 −5 0 1 0
  30. O polinômio característico da matriz A é dado por =

    −1 − 2 −4 0 4 − −5 0 1 0 − . Fazendo as contas, obtemos = −( + 1)(2 − 4 + 5).
  31. Uma das raízes é 1 = −1. As outras duas

    são as raízes da equação do 2º grau 2 − 4 + 5 = 0. Usando a fórmula de Bhaskara obtive 2 = 2 − , 3 = 2 + .
  32. Obtidos os valores dos ′, os três sistemas lineares homogêneos

    a resolver são: • − 1 1 = 0, 1 = −1, • − 2 2 = 0, 2 = 2 − , • − 3 3 = 0, 3 = 2 + .
  33. Portanto, os três sistemas lineares a resolver são: 0 2

    −4 0 5 −5 0 1 1 = 0 0 0 Para 1 = −1 −3 − 2 −4 0 2 − −5 0 1 −2 − = 0 0 0 Para 2 = 2 + −3 + 2 −4 0 2 + −5 0 1 −2 + = 0 0 0 Para 3 = 2 −
  34. Confira também que se = 1 2 3 = 1

    1 + 1 − 0 5 5 0 2 − 2 + então −1 = −1 0 0 0 2 + 0 0 0 2 − . Resolvendo os sistemas lineares obtemos os 3 autovetores de A: 1 = 1 0 0 , 2 = 1 + 5 2 − , 3 = 1 − 5 2 + .
  35. Entrei com a mesma matriz A do exemplo do roteiro

    e, claro, obtive os mesmos resultados.
  36. Meu jovem, autovetores são determinados a menos de fator de

    escala. A linearidade de A torna a equação = invariante por fator de escala. Não mesmo, Mestra, veja só: Esses 2 autovetores fornecidos pelo programa são os autovetores do exemplo multiplicados por 1/2.
  37. Sejam 1 e 2 autovalores de A e 1 e

    2 os autovetores correspondentes. Se os autovalores são distintos 1 ≠ 2 então os autovetores 1 e 2 são LI e vice-versa. Mestre anuncie o resultado mais importante a respeito dos autovalores e autovetores de uma matriz quadrada A de ordem.
  38. Nas condições enunciadas pelo Mestre, se os autovetores 1 ,

    2 , … de A são todos distintos então eles constituem uma base para ℂ. Nessa base a matriz A é diagonalizável. Seja Q uma matriz formada com os autovetores de A, = 1 2 … . Então das n equações definidoras da relação autovalor/autovetor, = , segue a relação matricial = , na qual D é a matriz diagonal = (1 , 2 , … , ). Em outras palavras, −1 = .
  39. Como −1 = , com = (1 , 2 ,

    … , ) temos = 1 2 … . Claro, pois = −1 = −1 = ()
  40. Se, além de real, A é uma matriz simétrica, então:

    • Seus autovalores 1 , 2 , … , são números reais; • Autovetores associados a autovalores distintos são ortogonais.
  41. Portanto se A é uma matriz simétrica e todos seus

    autovalores 1 , 2 , … , são distintos então os autovetores 1 , 2 , … formam uma base ortogonal para ℝ. Consequentemente a matriz = 1 2 … formada com os autovetores de A é uma matriz ortogonal, isto é, = . Assim, = , com = (1 , 2 , … , ).
  42. Bem, de imediato vamos usar os superpoderes da scipy.linalg. Ok

    Mestres. Mas como eu calculo os autovalores e autovetores de uma matriz A?
  43. Estupidamente fácil de usar Mestres, vejam o programinha que fiz.

    Entrei com uma matriz 3x3, e obtive três autovalores distintos e reais.
  44. O mesmo programa. Tornei a entrar com uma matriz real,

    agora 4x4, mas obtive um par de autovalores complexos e dois autovalores reais.
  45. Loirinha, agora vamos estudar uma das questões mais importantes da

    Álgebra linear computacional. A decomposição em valores singulares de uma matriz.
  46. Voltando ao livro do Trefethen, logo no início está a

    decomposição em valores singulares
  47. O teorema da Decomposição em Valores Singulares (SVD): Seja ∈

    ℳ× . Então existem matrizes ortogonais ∈ ℳ× e ∈ ℳ× tais que = Σ , onde Σ = (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.
  48. 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 ≠ .
  49. 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.
  50. Fiz um programa para calcular a decomposição em valores singulares,

    SVD, de uma matriz A. Depois apliquei-o à matriz do gráfico anterior.
  51. Esta outra matriz A é simétrica. Além de deformar a

    esfera num elipsoide, ela também gira-o entorno da origem!
  52. Para esta 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.
  53. Também calculei a SVD da minha matriz. Marquei o valor

    do determinante e o tamanho dos semi- eixos do elipsoide. Vejam que tanto o determinante como o valor de um semi-eixo é zero.
  54. Loirinha, repeti seus cálculos para esta última matriz A. Neste

    caso o det() e dois dos valores da SVD de A são nulos.
  55. Loirinha, alguma vezes a matriz A é diagonalizável, isto é,

    existem matrizes , ∈ ℳ × , sendo V inversível e D diagonal, tais que −1 = (ou = −1). Equivalentemente, A é diagonalizável se existir uma matriz ∈ ℳ × , inversível tal que −1 = .
  56. Pois, = 1 |2 | ⋯ | = 1 2

    ⋯ ] e também = [ 1 1 | 2 2 ⋯ ] Então, da equivalência −1 = ⟺ = segue 1 = 1 1 , 2 = 2 2 , ..., = . Sejam, 1 , 2 , … , as colunas de V, isto é, = 1 |2 | ⋯ | .
  57. Pois, = 1 2 ⋮ = 1 2 ⋮ e

    também = 1 1 2 2 ⋮ . Então, da equivalência −1 = ⟺ = segue 1 = 1 1, 2 = 2 2, ..., = . Sejam, 1, 2, … , as linhas de U, isto é, = 1 2 ⋮ .
  58. Face à igualdade = , os vetores coluna 1 ,

    2 , ⋯ , de V são denominados autovetores à direita de A. E da igualdade = , os vetores linha 1, 2, … , de U são chamados autovetores à esquerda de A.
  59. Uma dica: Assuma que 1 ≠ 2 são autovalores correspondentes

    aos autovetores 1 e 2 . Suponha, por absurdo, que 1 e 2 são LD, isto é 1 = 2 , ≠ 0. Conclua! Logo no início o Mestre afirmou que autovalores distintos garantem que os autovetores correspondentes são linearmente independentes. Prove isto como exercício, Surfista!
  60. Sim Loirinha, e se os autovetores correspondentes forem LI (linearmente

    independentes) o subespaço gerado por eles possuirá dimensão maior que 1. A dimensão desse subespaço é conhecida como multiplicidade geométrica de . Mestres, existe a possibilidade de alguns dos autovalores 1 , 2 , ⋯ , em serem iguais?
  61. Equações polinomiais podem possuir raízes com multiplicidade maior que 1.

    É a mesma coisa que a multiplicidade geométrica do autovalor?
  62. Não Loirinha, trata-se da multiplicidade algébrica do autovalor . Segue

    daí que uma matriz ∈ ℳ × possui no máximo n autovalores, contadas as multiplicidades algébricas. Se todas as raízes do polinômio característico forem raízes simples, então A possuirá n autovalores distintos.
  63. Podemos provar que: a multiplicidade algébrica de um autovalor é

    maior ou, quando muito, igual à sua multiplicidade geométrica. No caso da multiplicidade algébrica de um autovalor ser maior que sua multiplicidade geométrica, ele é dito defectivo.
  64. Surfista, as matrizes A e B abaixo possuem o mesmo

    polinômio característico, = ( − 2)3. Portanto ambas possuem apenas um autovalor = 2, com multiplicidade algébrica 3. = 2 2 2 = 2 1 2 1 2
  65. Claramente, no caso da matriz A, 1 = 1 0

    0 , 2 = 0 1 0 , 3 = 0 0 1 são autovetores associados a = 2. Assim a dimensão geométrica do autoespaço associado a = 2 é 3. = 2 2 2
  66. = 2 1 2 1 2 É, mas para a

    matriz B só conseguimos um autovetor = 1 0 0 linearmente independente. Assim, a dimensão do autoespaço associado ao autovalor = 2 é 1 e ele é um autovalor defectivo.
  67. Executei o mesmo programa feito pelo Mestre, aquele que usa

    a rotina eig( ) da scipy.linalg, e obtive:
  68. Nesse caso, não é possível conferir que −1 = 2

    2 2 Verdade, colega, pois = 1 2 3 = 1 1 1 0 0 0 0 0 0 , que não é inversível.
  69. Para sacramentar esse papo: Uma matriz A é diagonalizável se,e

    somente se, ela é não defectiva. Em outras palavras: existem matrizes V e , com V inversível e diagonal, tais que −1 = quando, e apenas quando, A é não defectiva.
  70. Outro tópico fundamental em Álgebra Linear Computacional é a fatoração

    QR. Tanto assim que é dedicado um capítulo no livro do Trefethen.