Computação Científica I

Para a graduação em Matemática Aplicada

Objetivos

O objetivo principal deste curso é dar confiança para que você faça "experimentação matemática" com um computador. Para isso, o curso apresentará conceitos teóricos, o estudo numérico destes e as justificativas (demonstrações!) que expliquem (tanto quanto possível) os resultados obtidos.

E se eu não sei Python?

Mesmo se em teoria este curso foi projetado sem uma dependência em computação, dado que ele é oferecido no segundo semestre, onde alguns alunos já tiveram experiência em programação, é bom se sentir à vontade para programar.

Se você nunca programou (e mesmo se você teve um curso...), eu recomendo antes de mais nada zerar o lightbot. Se você gostar (eu acho que sim!), e tiver tempo (aí é com você!) é possível continuar com o hour of Code (em inglês).

Para (re)ver Python, o curso do MIT da edX é muito bom. É claro que existem (muitos) outros cursos online.

Ementa

É claro que o conteúdo das aulas deste site é um guia poderoso para o que será ensinado. Entretanto, há demonstrações e comentários que são feitos em aula que escapam ao formato dos notebooks, e também é bastante útil ter um guia mais geral sobre os temas abordados.

  • Ementa resumida
    • Representação de números no computador: inteiros, ponto flutuante, BigInt, precisão arbitrária.
    • Algoritmos para encontrar raízes: bisseção, Newton, variantes; velocidade de convergência
    • Uso de gráficos para analisar algoritmos
    • Derivação numérica
    • Erros: relativos, absolutos; de aproximação e de precisão
    • Integração numérica I: métodos de passo fixo e métodos adaptativos
    • Interpolação polinomial: Forma de Lagrange; pontos de Chebyshev; forma baricêntrica
    • Integração numérica II: métodos de ordem alta e relação com interpolação
    • Rudimentos de complexidade computacional
    • Álgebra linear computacional: solução de sistemas lineares, fatorações LU, QR
    • Integração numérica III: relação com álgebra linear e polinômios ortogonais
    • Autovetores e vetores singulares.
  • Ementa estendida
    • Representação de números no computador
    • Sistema binário de numeração, inteiros
    • BigInts e tempo de execução
    • Ponto fixo e ponto flutuante
    • Rudimentos de precisão arbitrária para ponto flutuante
    • Frações com BigInts
    • (EM CONSTRUÇÃO)

Informações Práticas

Livro-texto: Scientific Computing with MATLAB and Octave, Alfio Quarteroni, Fausto Saleri, Paola Gervasio

Linguagem: Python scientific stack: Python 3 + NumPy + SciPy, com o Jupyter notebook e a matplotlib para fazer gráficos.
Se você usa Linux, o melhor é instalar estes pacotes com o seu gestionário de pacotes: assim eles estarão sempre atualizados. Senão, o mais simples será instalar o Anaconda, com Python 3.5 (ou mais recente).

Monitores:Gabriela Lewenfuss, Rodrigo Lima e Vitor Luiz

Como enviar Testes

Título do email: [Científica 1 - 2017] Teste N

Remetente: O mesmo que enviou o Teste0

Conteúdo do email: Pode ser vazio

Anexo: O Notebook (arquivo .ipynb) correspondente

UFRJ Departamento de Matemática Aplicada - Instituto de Matemática - UFRJ
Valid XHTML 1.1 Valid CSS! Desenvolvido por: Bernardo Freitas Paulo da Costa Inspirado do padrão: TIC/UFRJ