que se inicia no domingo 15/03. Assim, em cumprimento ao calendário oficial da UFRJ, nosso 1º dia de aula é 17/04 e o último dia deverá ser 07/07, conforme a previsão a seguir.
conceitual (dissertativo), a descrição de processos e, eventualmente, algumas continhas “de cabeça” ou conferência de código/resultados. Já as provas “online” serão em duplas, realizadas pela Internet num computador pessoal e envolverão aplicações práticas (programação) de Cálculo Numérico.
a NumPy, a SciPy, a MatPlotLib e eventualmente algumas outras. As provas “online” serão realizadas em horários a combinar. Elas envolverão a implementação em Python de programas que fornecem a solução de problemas de Cálculo Numérico típicos da engenharia atual, impossíveis de serem resolvidos de outras formas.
e sua motivação. Nos “Óculos”, o Mestre apresentou a importantíssima definição de Cálculo Numérico e detalhou os conceitos de Algoritmo, Problemas e Matemática do Contínuo. Ele descreveu, ainda, as ferramentas computacionais utilizadas no curso e porquê.
• Segmento orientado/Força/Vetor livre/Vetor • Composição de forças/Adição de vetores • Escalamento de vetor/Contração & alongamento • Matriz coluna (linha)/Vetores em ℝ/ℂ • O conjunto ℳ× das matrizes retangulares • Adição e multiplicação matricial - o espaço ℳ× • Tamanho/Norma de vetor e suas propriedades • Versores/As bases canônicas de ℝ/ℂ e ℳ× • Bases e dimensão e subespaços vetoriais • Produto interno em ℝ/ℂ, ângulo entre vetores • O conceito de projeção e projeção ortogonal
das 3 aulas sobre números e números no computador. Nela o Mestre falará brevemente sobre aspectos históricos importantes dos números, da representação decimal e sobre a cardinalidade dos Naturais, Inteiros, Racionais, Reais e Complexos. Ele fecha indicando dois livros excelentes de Cálculo Numérico.
fulgurante dos conceitos de relações/funções, problemas, continuidade de funções, diferenciabilidade de funções. Ele lembra também de aspectos históricos importantes envolvidos nessas ideias. Em seguida é introduzido o conceito de condicionamento de um problema/função e sua medida através dos número de condicionamento , e , de um problema. É uma das aulas conceituais mais importantes do curso!
caracteres ASCII e UNICODE. Depois apresentamos o Instituto de Engenharia Elétrica e Eletrônica, IEEE e as representações IEEE 754 – 2008 de ponto flutuante Single, Double e Quad. Para melhor explicar o padrão o Mestre apresenta o sistema IEEE Toy de 6 bits. (continua)
Eps (o épsilom da máquina) e ULP (Unit in the Last Position). Para finalizar o Mestre relembra que os sistemas IEEE 754 foram contruídos para aproximar números reais no computador. Então utilizando o Sistema IEEE Toy mostra o gráfico da função escada de aproximação de números reais por números IEEE e o teorema fundamental da representação de ponto flutuante IEEE 754.
de programação e aprenderá a usar a biblioteca “Numerical Python”, a NumPy. Virá a conhecer, junto com a Loirinha, o que são “ndarrays”, suas características básicas e como criá-los. Descobrirá o poder da vetorização e difusão. Aprenderá também a utilizar rotinas de criação de arrays especiais, p/ex. as linspace( ), zeros_like( ), etc.
binário (IEEE 754 Single) realizada nas operações de inserção (“input”) de números reais, no computador, conduz a um erro relativo de Eps na 7ª casa decimal em 99,9936% dos casos. Por isto, a Mestra ensina como buscar as informações disponíveis na NumPy sobre as características da IEEE 754 Single, Double, Quad e Half. Então eu mostro como usar essas informações da NumPy para calcular os números de condicionamento , e , de algumas funções elementares. (continua)
754 foram construídas de forma a preservar o Teorema fundamental da representação de ponto flutuante nas operações elementares (+, −,∗,/, ). Finalmente são analisadas em detalhe as 5 operações elementares (+, −,∗,/, ) para estabelecer para quais valores dos operandos elas podem ser mal condicionadas e, tomar os devidos cuidados – caso p/ex. do cancelamento catastrófico.
crucial do conceito de algoritmo como a composição de funções elementares e à possibilidade de resolver um problema/calcular uma função de diversas formas diferentes (algoritmos distintos). Descobrimos então que basta uma das funções componentes ser mal condicionada para jogar nosso resultado computacional no lixo. (continua)
um problema é sensível ao algoritmo utilizado: existem algoritmos estáveis e algoritmos instáveis para resolvê-lo! Chegamos então ao pior crime que um especialista em Cálculo Numérico pode cometer: usar um algoritmo instável para resolver um problema bem condicionado! Exibimos alguns crimes caríssimos como a “Explosão do foguete Ariane” (em milhões de US$) e a “Falha do míssil Patriot” (em vidas perdidas).
Curso de Cálculo Numérico mostrando como estimar a sensibilidade de um problema através das análises “forward” e “backward”. ATENÇÃO: Nenhum aluno será aprovado em Cálculo Numérico se não dominar o conteúdo exposto até aqui!!!!
não terá problemas. Loirinha, perguntas sempre são bem vindas. Surfista, lembre-se do dito popular: “marmelada na hora da morte mata!”. Cabelo de fogo, um exercício bem feito, apenas um, vale mais que uma maratona. 14/abril – A revisão, continuação
dou a sentença. Quem vai interrogá-los é o Promotor Público - ele é o responsável pela defesa da ordem jurídica, do Regime Democrático e dos interesses sociais e individuais. A avaliação é responsabilidade técnica irrevogável imposta pela Legislação aos Mestres. O que estará em julgamento é a sua possibilidade de vir a ser um Engenheiro. Apresentem-se ao Forum apenas com lápis, borracha e caneta.
: [, ] → ℝ. Após uma bela apresentação histórica sobre as origens do sistema de coordenadas cartesianas e da geometria analítica os Mestres ensinam usar a biblioteca MatPlotLib para construir gráficos de funções. Uma aplicação ingênua da interpolação linear por partes. Depois eles mostram que a regra trapezoidal composta para aproximação do cálculo de integrais definidas também é uma aplicação imediata da mesma ideia. (continua) 28/abril
breve histórico sobre a Álgebra, desde seu nascimento na Babilônia (cerca 1.800-1,600 a.C.) até a matemática simbólica dos computadores, nos dias de hoje. Em seguida ele apresenta a SymPy - Symbolic Python, uma biblioteca de matemática simbólica simples para Python e ensina a utilizar seus aspectos mais básicos. 28/abril – continuação
em sua plenitude, desfazendo a ideia de que vetor e “flechinha” são sinônimos. Depois abordamos as Álgebras Lineares. Apresentamos então o espaço ℱ(, ℝ), das funções de um conjunto X nos reais. Provavelmente o espaço vetorial mais importante que você conhecerá em toda a sua vida! (continua)
norma de vetor e os espaços vetoriais normados. A norma é a generalização de tamanho das flechas para vetores abstratos. Mostramos uma norma, anotada ∞ , para o espaço ℱ(, ℝ). (continua)
produto interno entre dois vetores de um espaço vetorial abstrato V, que conduz aos espaços de Hilbert. A partir dele definimos ângulo entre vetores e o conceito de ortogonalidade entre vetores. Num apêndice ao final deste conjunto de transparências falamos de abstração em Matemática, de estruturas algébricas e sobre o grupo Bourbaki.
método da bisseção para calcular 2. Após responder à pergunta “O que é uma equação = 0 ?” feita pela Loirinha, passamos a examinar métodos iterativos para aproximar raízes de equações. (continua) 5/maio
de Newton-Raphson e suas variantes e os métodos de ponto-fixo. Observamos que todos eles envolvem a geração de uma sequência de números reais (ou complexos) que converge para uma raiz r da equação = 0, i.é, lim →∞ = . Então definimos uma aproximação ∗ para r, com erro menor que , como algum elemento da sequência que satisfaça − < . (continua) 5/maio – continuação 1
localizar a raiz r, i.é, obter um intervalo (, ) tal que ∈ (, ). Depois apresentamos o método de Newton-Rapshon. Finalizamos apresentamos a geração de uma fractal resultante da aplicação do método de Newton-Raphson ao problema da determinação das raízes complexas da unidade. Um belíssimo exemplo da instabilidade do método à escolha do “chute inicial”. 5/maio – continuação 2