Trabalho com matemática computacional, principalmente na área de otimização. Alguns assuntos que me interessam:

  • Métodos para minimização irrestrita;
  • Minimização em caixa;
  • Métodos para larga escala;
  • Otimização sem Matrizes (Matrix-Free);
  • Programação Linear e Inteira;
  • Linguagem Julia;
  • Comparação de métodos de otimização;
  • Ciência Reprodutível;
  • Ferramentas livres de código aberto.

Eu tenho interesse, ou estou trabalhando, nos seguintes projetos. Se você é um estudante procurando por um tópico de pesquisa, este é um bom começo.

Framework para Otimização Não-Linear em Julia

Este é um trabalho conjunto com Dominique Orban, onde nós estamos criando um ambiente de desenvolvimento de métodos para programação não-linear em Julia. Esse trabalho inclui:

  • Criação e uso de modelos com interface unificada;
  • Acesso ao CUTEst no Julia;
  • Operador lineares eficientes;
  • Métodos de Krylov;
  • Ferramentas para comparação de métodos de otimização.

Para conhecer mais, veja esta página em inglês, ou vá ao site do JuliaSmoothOptimizers.

  • Palavras-chave: Otimização Não-Linear, Julia, CUTEst

Ciência Reprodutível e Software Livre de Código Aberto

Quando o próximo “melhor algoritmo de otimização já feito” aparecer, eu quero poder verificar a afirmação. Isso só é possível através de ciência reprodutível. Os dados e os passos que descrevem a pesquisa devem estar disponíveis aos colegas. Alguns passos fáceis podem ser tomados para aumentar a reprodutibilidade e disponibilidade de um projeto de pesquisa, e eu acredito que isso deveria ser uma preocupação maior do que é. Além disso, quando lidamos com ciência reprodutível, eu acredito que software livre deveria ser considerado quando possível. A reprodutibilidade de um projeto é limitada quando se usa software proprietário.

  • Palavras-chave: Ciência Reprodutível, Ciência Aberta, Código Aberto, Software Livre

Ferramentas Computacionais para Pesquisadores e Software Carpentry

No espírito de ciência boa e reprodutível, algumas ferramentas são bem importante, além de úteis, para um pesquisador. Despeito a área, algumas tarefas são realizadas melhor por um computador, como renomear milhares de arquivos.

Uma organização que ajuda nessa empreitada é o Software Carpentry. Software Carpentry fornece classes introdutórias a várias dessas ferramentas. Quando possível, instrutores são escolhidos da mesma área que esses pesquisadores. Eu sou um dos instrutores no Brasil.

Algumas ferramentas notáveis são Git, LaTeX, Bash, Python, Julia e Markdown.

  • Palavras-chave: Ferramentas Computacionais, Software Carpentry