Minha visão de Cálculo Numérico.

Minha visão de Cálculo Numérico.

A apresentação do curso: uma visão geral do conteúdo que considero importante, das possíveis ferramentas computacionais para um curso atual de Cálculo Numérico e de como obter e instalar as que utilizaremos.

4acc58a03aa964e2f04b538836f2d468?s=128

Paulo Bordoni

August 17, 2014
Tweet

Transcript

  1. Cálculo Numérico, com meus óculos Prof. Paulo R. G. Bordoni

    LNCC UFRJ
  2. Começaremos explorando a definição a seguir, da autoria de L.

    N. Trefethen.
  3. Ela está no Apêndice deste livro:

  4. “Análise Numérica é o estudo de algoritmos para os problemas

    da matemática do contínuo”. Uma tradução dela:
  5. Algoritmos Problemas Matemática do contínuo As palavras-chave envolvidas:

  6. Nosso curso de Cálculo Numérico girará entorno das três, com

    todos os seus desdobramentos. Antes, uma visão geral - a 10.000 metros de altura – expressão comum em textos americanos.
  7. A primeira palavra-chave: Algoritmos.

  8. Grosseiramente: algo como uma receita de bolo. Um algoritmo é

    um procedimento passo-a-passo para efetuar cálculos. Uma sequência finita de instruções para resolver um problema Mestra, o que é um algoritmo?
  9. A Mestra simplificou demais! Algoritmo é um dos conceitos mais

    fundamentais em Computação.
  10. O que encontramos na Wikipedia:

  11. Desde meus tempos na Grécia antiga!

  12. Allan M Turing 1912-1954 Nesse artigo Turing apresenta sua forma

    de entender um algoritmo. Ela passou a ser referida como “Máquina de Turing”.
  13. http://www.angustech.com.br/2011/05/alan-turing-o-pai-da-ciencia-da.html Surfista, neste vídeo você descobrirá mais sobre A. Turing

    e a Máquina de Turing
  14. Leia o livro abaixo para descobrir mais sobre o conceito

    de algoritmo e outros atores que participaram ativamente do seu estabelecimento
  15. A segunda palavra-chave: Problemas.

  16. Professor, como eu faço para resolver problemas? Ah, se houvesse

    uma regra geral... Mestres chineses dizem que você tem que acertar o alvo!
  17. G. Polya contribuiu fantasticamente para a compreensão do conceito.

  18. A arte de resolver problemas

  19. Polya dedicou-se a entender, explicar e ensinar a arte de

    resolver problemas.
  20. • Compreender o problema; • Conceber um plano para resolver

    o problema; • Executar o plano concebido; • Examinar a solução encontrada. No seu livro, Polya ensina que, para acertar o alvo, para resolver um problema, você só tem que:
  21. Donald E. Knuth foi orientado por Polya. Knuth criou o

    TEX e escreveu “The Art of Computer Programming” - a bíblia de Ciência da Computação.
  22. A terceira palavra-chave: Matemática do contínuo.

  23. Matemática do contínuo, um conceito que inclui o Cálculo Diferencial

    e Integral. Em particular o estudo de funções, suas derivadas e integrais, das sequências e séries.
  24. Funções: o objeto de estudo dos Cálculos. Em nosso Curso

    elas serão tratadas como deusas do Olimpo – porque realmente são.
  25. Trataremos também das equações diferenciais, da resolução de sistemas lineares

    e do cálculo de autovalores e autovetores. Uma repetição dos Cálculos I, II, III, IV e da Álgebra Linear?
  26. Você está coberto de razão, Surfista. Iremos muito além do

    conteúdo exposto nessas disciplinas! Não tem sentido, Loirinha. Seria perda de tempo!
  27. Discretização: um conceito fundamental em Cálculo Numérico.

  28. Discretizar. É o verbo que que define o ato de

    passar do infinito contínuo ao finito em matemática.
  29. Aprenderemos técnicas de discretização de funções por interpolação. De imediato,

    usaremos isso para traçar gráficos de funções com a Matplotlib.
  30. Veremos que o formato single do padrão IEEE 754 estabelece

    uma discretização do conjunto dos números reais. E que o formato double estabelece outra discretização mais fina.
  31. Single, double, padrão IEEE? Calma, minha filha! Tudo no seu

    tempo.
  32. Aproximação: outro conceito fundamental em Cálculo Numérico.

  33. Aproximar: Um verbo que pressupõe a noção de medir distâncias.

  34. Estudaremos métodos numéricos para achar raízes aproximadas de equações. Estudaremos

    o famoso método de Newton- Raphson.
  35. Aprenderemos como aproximar derivadas por diferenças finitas. Usaremos isso para

    resolver problemas de valor inicial para equações diferenciais ordinárias.
  36. Aprenderemos como aproximar uma integral definida pela regra trapezoidal. Ou

    pela regra de Simpson, que dá mais precisão.
  37. O computador será nossa ferramenta de trabalho.

  38. Vamos usar Python para programar. Porquê Python e não C,

    C++, Fortran ou Java?
  39. Porque Python é mais fácil de usar, porque é ensinado

    em Computação I na UFRJ e porque é poderosa. Mas principalmente porque possui muitas bibliotecas especializadas em Cálculo Numérico.
  40. Mestre, além da linguagens citadas pela Loirinha, poderíamos trabalhar com

    o Maple, o Mathematica ou até o MatLab. São muito mais amigáveis! Diga lá porque não, Sherlock!
  41. Por quê Sherlock? Eles são tão mais fáceis de usar!

    Um dos motivos é que Python é um “software livre” e grátis. Um outro, talvez o essencial, é que não se faz ciência com “software” comercial.
  42. Você entende o que está por trás da expressão “uma

    caixa preta” Loirinha? Bem, eu sei Mestra, já ouvi falar. Significa que não conseguimos acessar nem modificar o código do “software”. Isso nos impede acrescentar aspectos que necessitamos ao pacote, posto que ele é fechado.
  43. Bem, vou indicar onde encontrar o Maple, o Mathematica e

    o Matlab. Ok Professor, estamos numa democracia!
  44. Este é o site do Maple.

  45. Este é o site do Mathematica.

  46. Este é o site do Matlab.

  47. Mas verá. Usaremos os pacotes NumPy, SciPy e MatPlotLib que

    lhe dão superpoderes. É a Comunidade de Software Livre em ação. Mestre, não vi nada parecido com MatLab, Maple ou Mathematica no Python.
  48. Mas não existem outros “softwares” livres que fazem o mesmo?

    Sim, nas próximas transparências, vou mostrar onde buscá-los.
  49. É para Linux.

  50. Temos o Gnuplot no Python(x,y)

  51. Um bom livro.

  52. Tutoriais.

  53. Um Francês.

  54. Livros sobre SciLab.

  55. Pela Internet.

  56. Agora vamos buscar a nossa caixa ferramentas.

  57. Inicialmente, usaremos os módulos NumPy, SciPy e MatPlotLib para trabalhar.

  58. Muito bom Mestres. Teremos um curso prático Loirinha e não

    uma montanha de teoria!! Muita calma nessa hora, Surfista. Vamos esperar para ver...
  59. Indo direto ao ponto: uma busca por Python(x,y) no Google

    fornece
  60. Usaremos os módulos NumPy, SciPy e MatPlotLib para trabalhar. De

    fato, usaremos o Python(x,y), que é um aplicativo que já trás todos eles. É “mamão com açúcar“ jovens!
  61. E um simples clique de mouse nos leva ao site

    de Python(x,y):
  62. Lá vemos uma boa indicação para estudar Cálculo Numérico com

    Python.
  63. Escolha estas para download – mais fácil baixar em partes!

  64. A 1ª é só 22,7 MB, as outras duas são

    maiores: 199 MB cada!
  65. Agora é só descompactar e executar o instalador.

  66. Após clique duplo no instalador é só concordar com as

    condições para dar a partida na instalação.
  67. Aceite todas as sugestões.

  68. Pronto – tudo instalado.

  69. Um clique duplo abre a janela: Aí está o Python(x,y)

    na minha área de trabalho.
  70. Python(x,y) possibilita trabalhar com diversas aplicativos. Nossa escolha inicial será

    a de trabalhar com a IDLE.
  71. Agora basta clicar ali para abrir a IDLE.

  72. Loirinha, se Cálculo já é difícil, imagine com Computação. É

    cara. Vamos ter que estudar muito. Muito mesmo!
  73. A capa da 8ª edição de um bom livro para

    acompanhar nosso curso. Um enfoque mais matemático.
  74. Outro livro, excelente, para acompanhar nosso curso, a capa é

    da 5ª edição. Um enfoque mais voltado para cursos de graduação em engenharia.
  75. Tchau, até a próxima aula!