Cálculo numérico - Minha visão

4acc58a03aa964e2f04b538836f2d468?s=47 Paulo Bordoni
September 03, 2013

Cálculo numérico - Minha visão

Uma breve descrição do conteúdo e das ferramentas computacionais que considero fundamentais para meu curso de Cálculo numérico.

4acc58a03aa964e2f04b538836f2d468?s=128

Paulo Bordoni

September 03, 2013
Tweet

Transcript

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

    Bordoni UFRJ
  2. Exponho a seguir minha visão pessoal de Cálculo Numérico. Na

    dose que entendo apropriada de teoria, exemplos e aplicações para alunos de graduação. Considero o computador uma ferramenta essencial ao Cálculo numérico.
  3. Outros nomes usuais, além de Cálculo numérico, são: • Análise

    numérica • Computação científica • Álgebra linear computacional Na biblioteca folhei livros onde tais onde apareciam tais nomes. São outros cursos?
  4. De forma curta e grossa, as associações implícitas a tais

    nomes são: Computação científica Ciência, engenharia e computadores Análise numérica Utilizar épsilons e deltas nas coisas do cálculo Álgebra Linear Computacional Matrizes, vetores e computadores Cálculo numérico Resoluções numéricas para coisas do cálculo
  5. Uma definição para Cálculo Numérico: O estudo de algoritmos para

    a resolução numérica/computacional de problemas da matemática do contínuo.
  6. As palavras-chave envolvidas: Resolução de problemas Estudo de algoritmos numérica/

    computacional Matemática do contínuo
  7. 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? Um conceito fundamental em Computação.
  8. O que encontramos na Wikipedia:

  9. Desde meus tempos na Grécia antiga!

  10. 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”.
  11. 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
  12. Leia o livro abaixo para descobrir mais sobre o conceito

    de algoritmo e outros atores que participaram ativamente do seu estabelecimento
  13. Bons problemas alavancam o conhecimento humano. A solução de um

    problema pode resultar em $$$! Resolver problemas é um esporte que me desafia! Resolver problemas!
  14. Professor, como eu faço para resolver problemas? Ah, se houvesse

    uma regra geral... Mestres chineses dizem que você tem que acertar o alvo!
  15. A arte de resolver problemas

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

    resolver problemas.
  17. • 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: Donald Knuth foi aluno dele!
  18. Vamos trabalhar com números. E com aproximações numéricas! Cálculo numérico

    Muita atenção ao adjetivo que qualifica o nome do curso:
  19. O difícil é que nossos aprendizes acham que conhecem números.

    É, no 1º e no 2º grau eles só aprendem a manipular números.
  20. Por tais motivos, dedicaremos algumas aulas para estudar em detalhe

    o conceito de número real. Números naturais, inteiros, racionais, reais e complexos. Em toda sua beleza!
  21. Introdução à Computação. A disciplina que envolve o conhecimento dos

    números naturais, de recursividade e dos algoritmos. Cálculo numérico. A disciplina em que é imperioso entender muito bem números racionais, reais e complexos. É o reinado das aproximações e dos processos de discretização.
  22. Esse padrão é o IEEE 754 de 2008. Os números

    são representados nos computadores num padrão internacional. O computador é uma ferramenta imprescindível para realizar os cálculos numéricos.
  23. O IEEE 754 foi estabelecido de forma a ser independente

    tanto dos computadores como das linguagens de programação. Nele estão especificados tanto o formatos das representações numéricas como a forma de realizar as operações entre os números. Quer em “software” quer em “hardware”.
  24. Hoje em dia, um curso de Cálculo numérico sem o

    conhecimento do IEEE 754 é algo impensável. Mestres, dediquem o tempo necessário para explicitar tudo aos aprendizes. “Não há como fazer omelete sem quebrar ovos!”
  25. Você descobrirá, como eu, que todas as representações IEEE são

    finitas. Pior que isso, verá não existem conjuntos infinitos nos computadores. Thanatos impõe finitude ao homem. O computador aos números.
  26. Discretizar. É o verbo que que define o ato de

    passar do infinito ao finito em matemática. Aproximar. Caso não saiba, pergunte à sua namorada! Discretização e aproximação São palavras-chave em Cálculo numérico.
  27. Aprenderemos como aproximar derivadas por diferenças finitas. Estudaremos métodos numéricos

    para achar raízes aproximadas de equações.
  28. Aprenderemos como aproximar uma integral definida pela regra trapezoidal. Ou

    pela regra de Simpson, que dá mais precisão.
  29. Usaremos isso para traçar gráficos de funções. Aprenderemos técnicas de

    discretização de funções por interpolação.
  30. E que o formato double estabelece outra discretização. Veremos que

    o formato single do padrão IEEE 754 estabelece uma discretização do conjunto dos números reais.
  31. Porquê usaremos Python e não C, C++ ou Fortran? Vamos

    usar Python para programar. Porque Python é mais fácil de usar, porque é ensinado em Computação I na UFRJ e porque é poderoso.
  32. Mestre, fora essas linguagens, poderíamos trabalhar com o Maple, o

    Mathematica ou até o MatLab. São aplicativos muito mais amigáveis! Diga lá porque não, Filósofo!
  33. 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. Por quê Filósofo? Eles são tão mais fáceis de usar!
  34. 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.
  35. Bem, vou indicar onde encontrar o Maple, o Mathematica e

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

  37. Este é o site do Mathematica.

  38. Este é o site do Matlab.

  39. 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.
  40. Mas não existem outros “softwares” livres que fazem o mesmo?

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

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

  43. Um bom livro.

  44. Tutoriais.

  45. Um Francês.

  46. Livros sobre SciLab.

  47. Pela Internet.

  48. Agora vamos buscar a nossa caixa ferramentas.

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

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

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

    fornece
  52. 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!
  53. E um simples clique de mouse nos leva ao site

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

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

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

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

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

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

  60. Pronto – tudo instalado.

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

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

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

  64. Bem esta é uma pincelada rápida do que será o

    curso. Outras ideias estão por vir! Professora, alguma coisa a acrescentar? E você Surfista?
  65. Loirinha, se Cálculo já é difícil, imagine com Computação. É

    cara. Vamos ter que estudar muito. Muito mesmo!
  66. Acessem meu site para baixar o conteúdo das aulas. O

    endereço é: www.bordoni.info O cadastramento é obrigatório. O endereço eletrônico dele é professor@bordoni.info. Ele não responderá caso você use algum outro!
  67. Os erros são meus; suas correções serão benvindas. As figuras,

    eu desenhei; as ideias nem sempre! Mande suas sugestões para professor@bordoni.info Agradeço muito!
  68. Tchau, até a próxima aula!