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

Para a 1ª prova

Para a 1ª prova

Comparação entre o conteúdo dado em aula e o de dois livros bons de Cálculo Numérico.

Paulo Bordoni

May 01, 2015
Tweet

More Decks by Paulo Bordoni

Other Decks in Education

Transcript

  1. Para tal: 1. Apresentarei um resumo do que desenvolvemos em

    cada conjunto de transparências. 2. Em seguida compararei com o conteúdo exposto nos livros. Conforme prometi aqui vai uma comparação entre nossas transparências e os livros de Burden e Chapra. Chapra Burden
  2. Nos dois livros o erro na entrada, na transformação de

    números para a representação IEEE 754, → ∗ = (), é denominado “erro de arredondamento”. Uma questão de nomenclatura!
  3. Lembro Mestra, a 1ª operação elementar, explicada em “Operações elementares

    no computador”. Sim Surfista, aquela que ocorre em mais de 99,99 % dos números com 7 casas após a vírgula, no caso Single!
  4. Conceitos fundamentais desenvolvidos em “Cálculo Numérico com meus óculos”: •

    A definição de Cálculo Numérico de L. N. Trefethen. • Visão a 10.000 m de: algoritmos, problemas e matemática do contínuo. • Definições de erro absoluto e erro relativo. • Distinção entre exatidão (acurácia) e precisão. • Apresentação dos “softwares” mais usados para Cálculo Numérico. • Como baixar e instalar o Python(x,y) - ambiente para NumPy, SciPy, SymPy e MatPlotLib. Cálculo Numérico com meus óculos
  5. Os tópicos correspondentes nos dois livros são: • A seção

    1.4 trata de “softwares” numéricos. • A seção 1.2 define erros absoluto e relativo (pg. 18) e também algarismos significativos (pg. 19). • A seção 3.1 é “Algarismos significativos”. • A seção 3.2 é “Acurácia e precisão”. • A seção 3.3 é “Definições de erro”.
  6. Conceitos fundamentais desenvolvidos em “Números”: • Def. de conjunto infinito.

    • Def. de conjunto enumerável. • Provas que ℤ ℚ são enumeráveis. • Representação decimal posicional de inteiros e frações – dízimas periódicas. • A representação decimal de números reais. • O argumento diagonal de Cantor para provar que o conjunto ℝ dos números reais não é enumerável. • A representação em ponto flutuante de números reais na base 10. Números
  7. Nenhum dos dois livros trata do conteúdo que apresentamos em

    “Números”. Números Um livro de Cálculo que trata esses assuntos de forma maravilhosa é o “Calculus” do M. Spivak. Não perca a oportunidade de lê-lo!
  8. Conceitos fundamentais desenvolvidos em “Problemas e condicionamento”: • Definição de

    relação, função e problema. • A associação entre função e a relação de causa e efeito. • Definição de problema direto e problema inverso. • Definição de função contínua. • Descontinuidade de salto – função degraus (escadaria). • Definição de função diferenciável. • Funções não-diferenciáveis em muitos pontos descrevem terremotos, eletro-cardiogramas etc. • Definição dos números de condicionamento absoluto e relativo de um problema. • Problemas bem e mal condicionados. Problemas e condiciona/.
  9. Pouca coisa relativa a “Problemas e condicionamento” é desenvolvida nos

    dois livros. • Na seção 4.2 (pgs. 77-80) é apontada rapidamente a ideia de número de condicionamento. • A figura 4.7 distingue claramente a ideia de erro real e estimativa de erro. Examine-a! • Nada
  10. Conceitos fundamentais desenvolvidos em “Números reais no computador ou IEEE

    754”: • Apresentação do UNICODE. • A representação de ponto flutuante na base 2. • O padrão IEEE 754 para representação de ponto flutuante no computador. • Detalhamento dos padrões Single e Double IEEE 754. • A “reta real” no computador (furadinha como peneira). • O “Toy System IEEE 754”. • Os conceitos fundamentais de Eps e ULP. • A função escada que descreve a aproximação → () com truncamento. • Teorema fundamental da representação de ponto flutuante IEEE 754. Números reais no computador ou IEEE 754
  11. • A seção 3.4.1 (pgs. 49-56) trata da representação de

    números no computador. • Na seção 1.2 (pgs. 16-20) encontramos ideias gerais sobre representação de números no computador. Os dois livros não detalham a representação IEEE 754
  12. Conceitos fundamentais desenvolvidos em “Operações elementares no computador”: • A

    operação de entrada de dados → ∗ = 32 () gera erro em 99.9936 % dos números com 7 casas decimais após a vírgula. • Como obter as informações sobre ponto flutuante Half, Single e Double na Numpy. • Como calcular a (). • Como estimar a propagação de erro num ponto causado por algumas funções f usando os números de condicionamento (, ) e (, ). • Cálculo do número de condicionamento das operações elementares (+, −,∗, , ) na IEEE 754 e a propagação do erro. • Detalhamento do cancelamento catastrófico. Operações elementares no computador
  13. O tratamento realizado em “Operações elementares no computador” é mais

    objetivo e explora mais profundamente os aspectos IEEE 754. • Na seção 3.4.2 (pgs. 56, 57) em “Operações aritméticas comuns” o autor trata, brevemente, das operações aritméticas elementares no computador, com exemplos de aritmética decimal finita decimal. (continua) • A seção 1.2 (pgs. 20-22) fala sobre operações elementares no computador.
  14. (continuação) • Na seção 3.4.2 (pgs. 57-61), em “Cálculos grandes”,

    “Número grande de cálculos independentes”, “Cancela- mento na subtração”, “Borrão” e “Cálculo de e usando uma série infinita” exemplificam situações que amplificam o erro IEEE 754. • Se possível, façam alguns problemas à pg. 62. Todos os exemplos são tratados com aritmética finita decimal.
  15. • O conceito de algoritmo como composição das funções elementares

    do IEEE 754, comparações (=, >) e as operações lógicas (∧,∨, ~, →, ↔). • Algoritmos distintos conduzem a resultados distintos para calcular a mesma função (exemplo gráfico). • A contagem do número de operações elementares e propagação do erro de representação IEEE 754. • Os limites admissíveis na IEEE 754. • A perda das propriedades associativa e elemento neutro (lei do cancelamento) na adição. • Erros famosos nas operações elementares e suas consequências desastrosas. • O conceito de algoritmos estáveis e instáveis. Conceitos fundamentais desenvolvidos em “Algoritmos e estabilidade”: Algoritmos e estabilidade
  16. • Nos exemplos “Cancelamento na subtração” e “Cálculo de e

    usando uma série infinita” da seção 3.4.2 (pgs. 57-61), o autor não explícita o papel desempenhado por algoritmos distintos (estáveis/instáveis) para resolver o mesmo problema e contornar a propagação do erro. • O exemplo 5 da seção 1.2 exibe 2 algoritmos distintos (um instável e outro estável) para resolver o problema da propagação de erro. • O exemplo 6 mostra também exibe 2 algoritmos distintos (instável/estável) para resolver o problema da propagação de erro. Note que o de Briot-Rufini é melhor e usa menos operações. • Façam todos os exercícios da seção 1.2 que conseguirem. (continua) Em nossa exposição a definição de algoritmo é simples e clara, sem recorrer a circunlóquios.
  17. • O parágrafo 1.2, “Algoritmos e convergência” inicia com uma

    definição operacional de algoritmo. • O exemplo 1 ensina a operacionalização um algoritmo para realizar uma adição de vários termos (somar na ordem direta). Somar na ordem inversa é outro algoritmo. • O exemplo 2 mostra o polinômio de Taylor para aproximar a função ln(). • À pg. 31 coloca-se a ideia de algoritmos estáveis e instáveis. • O exemplo 3 (pgs. 31-33) detalha um algoritmo recursivo instável (veja a fig. 1.11) e outro estável. • À pg. 33 temos a definição de taxa de convergência de um algoritmo e o exemplo 1.4 mostra duas taxas distintas de convergência. • À pg. 34 temos a definição de ordem de convergência de um algoritmo e infelizmente o exemplo 1.5 tem um erro que confunde tudo.
  18. • Este conjunto de transparências tem um caráter instrumental: utilização

    da NumPy como ferramenta computacional. • Dois aspectos fundamentais na NumPy são a vetorização e a difusão – entenda-os e aprenda a utilizá-los. Conceitos fundamentais desenvolvidos em “Vetores, matrizes e a NumPy”: Vetores, matrizes e a NumPy
  19. Nenhum dos dois livros trata do conteúdo que apresentamos em

    “Vetores, matrizes e a NumPy”. Vetores, matrizes e a NumPy