SageMath

SageMath é um moderno sistema de computação algébrica, livre, que tem a missão de ser “uma alternativa viável e de código aberto para o Maple, Magma, Mathematica e Matlab”. É formado por quase 100 pacotes de código aberto, em uma interface unificada. Dentre as suas funcionalidades encontra-se uma grande variedade de ferramentas matemáticas, como: cálculo, equações diferenciais, diversas estruturas algébricas, geometria diferencial, topologia, cálculo tensorial e mais. É adequado tanto para o uso com fins educacionais quanto na pesquisa acadêmica.

Material de um minicurso de SageMath para físicos que ministrei na Unesp/FEG

Exemplos de superfícies

Por que usar o SageMath?

Abaixo estão alguns pontos elencados no livro Elementos de Computação Matemática com SageMath, publicado pela editora da Sociedade Brasileira de Matemática, em favor do SageMath:

  • SageMath engloba os mais sofisticados pacotes e softwares open source destinados à computação simbólica e numérica. Entres eles, estão as bibliotecas científicas NumPy, SciPy e matplotlib, o software baseado em Python para matemática simbólica SymPy, o já estabelecido Maxima, além dos sistemas algébricos computacionais direcionados para Teoria do Grupos e Teoria do Números, GAP e Pari GP, respectivamente. O Sage é também construído sobre o poderoso software de estatística computacional R e centenas de milhares de linhas exclusivas de códigos que acrescentam novas funcionalidades ao sistema. Isso o torna uma excelente alternativa aos já consagrados sistemas comerciais.
  • SageMath tem a sintaxe de programação baseada em Python. Nos últimos anos, a linguagem Python tomou-se cada vez mais popular por ser de fácil assimilação e leitura. Tais características têm estimulado universidades a adotá-la como primeira linguagem de programação a estudantes de Engenharia, Ciência da Computação, Física e até Matemática.
  • SageMath é gratuito, e isso permite seu uso para qualquer propósito (ensino, pesquisa e indústria). Portanto, qualquer estudante, pesquisador ou profissional que receba o script de um programa desenvolvido em Sage será capaz de visualizar, manipular e contribuir para melhoria dos resultados.
  • SageMath é um software open source, ou seja, é possível acessar e alterar o código-fonte de acordo com sua necessidade. Na prática, se um comando ou função do SageMath não está adequado às suas necessidades, você pode estudá-lo, modificá-lo e usá-lo a sua conveniência.
  • SageMath mostra-se adequado para uso em ensino e pesquisa de matemática e matemática computacional. Existem vários livros e centenas de publicações.

  • Se um bug é notado pela equipe de desenvolvimento do Sage, ele sera anunciado na lista de discussão de desenvolvedores para o conhecimento de todos, enquanto que em um software proprietário só deve ser corrigido em uma versão futura. Há também o risco de a existência do erro não ser tornada pública.

Além disso há o projeto SageManifolds, integrado ao Sage. O SageManifolds inclui funcionalidades de geometria diferencial e cálculo tensorial. Além de lidar com variedades diferenciáveis e riemannianas, variedades pseudo-riemannianas também são tratadas aqui, com farta aplicação em Relatividade Geral.

Onde aprender a usar?

Tutoriais

Livros

Onde conseguir?

Existem 3 formas básicas de usar o SageMath:

Exemplos

Geodésicas nulas na geometria de Schwarzscild (SageManifolds)

Algumas superfícies de revolução