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

Funções polinomiais

Funções polinomiais

Os espaços Pn das polinomiais de grau menor ou igul a n. O espaço P das polinomiais, O pacote polynomials da NumPy e a base canônica de Pn. Utilização do pacote: gráficos e polinomiais, derivadas, primitivas, raízes. Ordem de convergência. A base de Lagrange de Pn.

Paulo Bordoni

July 05, 2013
Tweet

More Decks by Paulo Bordoni

Other Decks in Education

Transcript

  1. SIM: • Saúde • Educação • Segurança • Transporte NÃO:

    • Corrupção • PEC 37 • Impunidade • Violência
  2. O conceito de base de um espaço vetorial desempenha um

    papel fundamental para operar com as polinomiais. Mas, voltando ao Cálculo numérico.
  3. Vetores 1 , 2 , ⋯ , são linearmente independentes

    (LI) quando: 1 1 + 2 2 + … + = 0 ⟹ 1 = 0 2 = 0 ⋮ = 0 Lembrem, a definição de base utiliza a ideia de combinação linear de vetores e de independência linear:
  4. Um subconjunto B de um espaço vetorial V é uma

    base de V se satisfaz as duas condições abaixo: 1. B gera V no sentido que qualquer vetor de V pode ser escrito como combinação linear de elementos de B. 2. B é um subconjunto linearmente independente de V.
  5. A base canônica dos vetores-coluna de ordem 3, o ℝ3,

    é 1 = 1 0 0 , 2 = 0 1 0 , 3 = 0 0 1 , É ela que permite escrevermos 2.1 −0.7 1.5 = 2.11 + (−0.7)2 + 1.53
  6. A base canônica do espaço ℙ2, das funções polinomiais de

    grau menor ou igual a 2 é constituída pelas polinomiais: 0 () = 0 = 1, 1 () = 1 = , 2 () = 2 . A ideia é a mesma. Para = 2.1 + −0.7 + 1.52 temos = 2.10 + −0.7 1 + 1.52
  7. 1 1 1 1 2 4 1 3 9 0

    1 2 = 0 0 0 0 + 1 + 2 = 0 0 + 1 2 + 2 4 = 0 0 + 1 3 + 2 9 = 0 Mestre, que 0 , 1 , 2 geram o ℙ2 é óbvio. Mas, como faço para provar que elas são LI ? Ora, a igualdade = 0 0 + 1 1 + 2 2 independe do valor de x. Então de 0 0 + 1 1 + 2 2 = 0 e escolhendo = 1,2,3 obteremos o sistema linear 3x3 sob meus pés (de Vandermonde), cuja solução é 0 = 1 = 2 = 0.
  8. Portanto, para definir uma função polinomial de ℙ2 basta especificar

    suas coordenadas 0 , 1 , 2 na base canônica: = 0 0 + 1 1 + 2 2 É exatamente essa a ideia utilizada para definir a classe polynomial da Numpy. Basta dar as coordenadas da polinomial p na base canônica.
  9. Após clicar você verá que as informações sobre o Pacote

    Polynomials começam aqui. Agora clique em Polynomial Package!
  10. Antes, quero lembrar que a estruturação padrão em Python é:

    pacotes (pastas) são constituídos por módulos (arquivos tipo .py) que possuem classes, compostas por atributos e métodos. Atributos • aaa • ⋅⋅⋅ Métodos • f( ) • ⋅⋅⋅ Classe Xyz Atributos • aaa • ⋅⋅⋅ Métodos • f( ) • ⋅⋅⋅ Classe Abc
  11. Fiz um recorte do help para resumir a estruturação do

    pacote polynomial. Percebam que ele é constituído por seis módulos, cada um com uma classe homônima.
  12. numpy . polynomial . polynomial . Polynomial numpy . polynomial

    . chebyshev . Chebyshev ... ... ... ... numpy . polynomial . hermite_e . HermiteE pacote sub-pacote módulos classes Tornando a repetir:
  13. Caro Manual, é aqui que chegamos pós clicar em Polynomial

    Package. Por enquanto veremos apenas o 1ª deles - o módulo Polynomial. Pularemos a introdução.
  14. 1. Importar o módulo polynomial (dentro de numpy.polinomial) 2. Criar

    p chamando o construtor Polynomial( ), da classe polynomial passando os parâmetros coef, domain e window. Os passos envolvidos na criação de uma função polinomial p: 1 2
  15. Pelo gráfico percebemos que a função polinomial possui 3 raízes

    reais, um ponto de máximo local, outro de mínimo local e um ponto de inflexão. Também fica evidente seu comportamento para → ±∞. = −2 − 3 + 2 + 3
  16. Grau da polinomial an > 0 Par lim →+∞ =

    +∞ lim →−∞ = +∞ Ímpar lim →+∞ = +∞ lim →−∞ = −∞ O comportamento das funções polinomiais para → ±∞ depende apenas do termo de maior grau da polinomial (se n é ímpar ou par) e do sinal do seu coeficiente, o a n : Se an < 0 é só trocar o sinal dos limites
  17. 1. Quando = o 2º e 3º gráficos se superpõe.

    2. Para outros valores de k, isto não acontece. Confiram nas duas próximas transparências. Fizemos um programa que mostra 3 gráficos: 1. O de uma polinomial p com Window = Domain, 2. O da mesma polinomial p, mas com Window ≠ Domain, 3. Um 3º da mesma polinomial p, com o mesmo Domain, mas substituindo a variável x por ∗ , onde k um fator de escala para a variável x.
  18. Escolhemos primeiro = 0.5 ≠ || || . NÃO há

    superposição do 2º e 3º gráficos.
  19. Agora, escolhemos = || || = 0.75 . O 2º

    e 3º estão superpostos e para visualizá- los, foi necessário desenhar o 2º tracejado em negro e o 3º pontilhado em vermelho.
  20. 0 x 0 |x| s(x) |k∗x| x Portanto quando usamos

    ≠ estamos, na verdade, trabalhando com uma polinomial composta ∘ , onde s é a função translação mais fator de escala, definida por = 0 + ∗ , com = || ||
  21. As funções polinomiais são contínuas e infinitamente diferenciáveis. Elas também

    integráveis (pq. são contínuas) Infinitamente diferenciáveis só porque derivada de ordem n de uma polinomial de grau n é uma constante e a derivada de ordem n+1 é zero: x = cte , +1 = 0
  22. Para derivar uma função polinomial p fornecemos seus coeficientes (e,

    se desejarmos, o número m de vezes a derivar).
  23. Os gráficos, da polinomial p, de sua derivada Dp e

    de sua integral indefinida Ip (anti-derivada), gerados pelo meu programa.
  24. Ao expandirmos um produto como − 0 − 1 −

    2 − 3 Obteremos, obviamente, uma polinomial de grau 4 em x, cujas raízes são 0 , 1 , 2 , 3 . Essa polinomial terá a forma padrão 4 4 + 3 32 21 x + 0 cujos coeficientes são obtidos, com um bocado de algebrismo, a partir das raízes.
  25. 1. Defina bn = an 2. Para k = n-1,

    n-2, ... , 1, 0 calcule bk = ak + bk+1 x Então b0 = p(x) – o valor de p em x. O algoritmo de Briot-Ruffini-Horner para calcular o valor de uma função polinomial p(x) = a4 x4 + a3 x3 + a2 x2 + a1 x1 + a0 via é o seguinte: Ele também permite fatorar uma polinomial. Mostre como, Mestre.
  26. Pois é Mestra, se p(x) = a4 x4 + a3

    x3 + a2 x2 + a1 x1 + a0 e, se q é a função polinomial definida por q(y) = b4 y3 + b3 y2 + b2 y + b1 então p(y) = (y – x)q(x) + b0
  27. Carl Friedrich Gauss demonstrou o seguinte resultado em sua tese

    de doutorado: Se p(x) é uma função polinomial de grau n ≥ 1, então a equação p(x) = 0 Possui pelo menos uma raiz (real ou complexa). Teorema fundamental da Álgebra
  28. Como as raízes complexas ocorrem aos pares (a raiz e

    sua complexa conjugada), se o grau da polinomial é ímpar com certeza ela possui uma raiz real. Segue do Teorema fundamental da Álgebra que: uma função polinomial p = p(x) de grau n possui n raízes reais ou complexas.
  29. Surfista, faremos um programa que permite determinar as raízes de

    uma equação polinomial p(x) = 0. Loirinha, faça outro programa que permita achar os pontos de inflexão dessa mesma polinomial.
  30. Mais adiante no curso, veremos vários métodos para obter raízes

    aproximadas de equações, não apenas para equações polinomiais.
  31. Observem que para k = 0,1,2, ... • p k

    (1) = 1, • p k (0) = 0, k ≠ 0 E também para ∈ (0, 1) 0 > 1 () > 2 () > ⋯
  32. Naturalmente, para k > 0, lim →0 = 0. e,

    maior o k, mais rápida a convergência.
  33. Seja f uma função tal que lim →0 = 0.

    Se existir alguma constante M > 0 tal que ℎ ≤ ℎ, ℎ ∈ [0, ), para suficientemente pequeno, escreveremos = ℴ(ℎ) e diremos que f converge a zero com ordem k (polinomialmente).
  34. Portanto se = ℴ ℎ2 e = ℴ(ℎ) então f

    converge mais rapidamente a zero do que g. Confiram na figura!
  35. Torna a enfatizar que as funções polinomiais de grau menor

    ou igual a 3 constituem um espaço vetorial anotado ℙ3 . Sim Mestra, se definirmos a soma e a multiplicação de escala por: ( + )() = () + (), ( ∗ )() = ∙ (), para cada valor x do domínio.
  36. A soma + de duas funções polinomiais p e q

    é calculada para cada valor de x. Observe isso em cada linha da tabela, Surfista ( + )() = () + ().
  37. Este é o programa que faz a tabela! Vou mostrar

    a adição e a multiplicação de escala com gráficos.
  38. Os gráficos das funções polinomiais p, q e + .

    A adição é feita para cada valor de x. Indiquei a soma para x = -0.5, 0.2 e 1.0.
  39. Escolhi = −1.0, = 0.5, = 1.2. Também marquei dois

    pontos = −1.4, = −0.5 para insistir no fato que a multiplicação de escala é feita ponto a ponto.
  40. Quando um matemático escreve ( + )() = () +

    () ou ( ∗ )() = ∗ (), a ideia que ele pretende passar é que o lado esquerdo é definido pela soma do lado direito, para cada valor de x. Mas é uma taquigrafia altamente hermética. Precisa ser explicado para quem não é iniciado - que rima com viciado (em matemática) !
  41. Antes de continuar, eis o programa que mostra os gráficos

    de duas funções polinomiais p e q e da soma delas, + .
  42. E este é o que mostra o gráfico de uma

    polinomial p e outras três, obtidas multiplicando p por fatores de escala.
  43. Passaremos a analisar uma forma de construir polinomiais conhecida como

    “fórmula de Lagrange”. É uma forma alternativa à da scipy.polinomial.
  44. O aspecto importante reside no fato da polinomial ser construída

    como uma combinação linear de uma base de ℙ[, ], o espaço vetorial das polinomiais de grau menor ou igual a n. Em ℙ1[, ], que tem dimensão 2, as funções básicas serão nomeadas 0 () 1 () e são polinomiais de grau 1.
  45. A 0 () é a polinomial de grau 1 que

    satisfaz: 0 ( 0 ) = 1 0 ( 1 ) = 0. A 1 () por sua vez satisfaz: 1 ( 0 ) = 0 1 ( 1 ) = 1. É trivial confirmar que: 0 () = ( − 1 )/( 0 − 1 ), 1 () = ( − 0 )/( 1 – 0 ).
  46. Este programa mostra: L 0 (x), L 1 (x), y

    0 L 0 (x), y 1 L 1 (x) p(x) =y 0 L 0 (x) + y 1 L 1 (x)
  47. Em ℙ2[a,b], que tem dimensão 3, as funções básicas (também)

    serão nomeadas L 0 (x), L 1 (x) e L 2 (x). Elas são polinomiais de grau 2. Elas são definidas pelas 9 condições: • L 0 (x 0 ) = 1, L 0 (x 1 ) = 0, L 0 (x 2 ) = 0 • L 1 (x 0 ) = 0, L 1 (x 1 ) = 1, L 1 (x 2 ) = 0 • L 2 (x 2 ) = 0, L 2 (x 1 ) = 0, L 2 (x 2 ) = 1
  48. As expressões para as outras duas funções básicas são: 1

    = ( − 0 )( − 2 ) (1 − 0 )(1 − 2 ) 2 = ( − 0 )( − 1 ) (2 − 0 )(2 − 1 ) Confira que, se definirmos L 0 (x) pela expressão 0 = ( − 1 )( − 2 ) (0 − 1 )(0 − 2 ) teremos 0 0 = 1, 0 1 = 0, 0 2 = 0
  49. Este programa gera as polinomiais da base de Lagrange do

    espaço das funções polinomiais de grau menor ou igual a 2.
  50. Para fazer “L 0 (x) passar pelo ponto” de coordenadas

    (0.3, 1.4) é só multiplicá-la por 1.4. Vejam na próxima transparência.
  51. A mesma ideia se aplica às outras duas funções básicas:

    • Multiplicando L 1 (x) por um número y 1 , a função escalada y 1 L 1 (x) passará pelo ponto (x 1 , y 1 ); • Multiplicando L 2 (x) por um número y 2 , a função escalada y 2 L 2 (x) passará pelo ponto (x 2 , y 2 ).
  52. Este programa gera a polinomial de grau 2 que passa

    pelos pontos (x 0 , y 0 ), (x 1 , y 1 ), (x 2 , y 2 ) utilizando a base de Lagrange do espaço das funções polinomiais de grau menor ou igual a 2.
  53. Marquei em vermelho a parte que gera os gráficos das

    3 funções básicas escaladas e da polinomial.
  54. A Mestra tem um pequeno desafio para você, Surfista. ℙ[,

    ] possui entre seus elementos as polinomiais lineares e as constantes. Quero ver você construir uma polinomial linear e outra constante, usando a base de Lagrange!