open-source mathematical software system

SageMath combines numerous open-source software libraries under one umbrella and contains many unique and novice algorithms built on top of these libraries. Additionally to the command-line and programming-library interface, its primary user interface is a dynamic self-hosted website.

Python is the main programming language of the SageMath library and also the language of choice for all interactions with the built-in objects and functions for expressing mathematical concepts and calculations. The mission of SageMath is to create a viable open-source alternative to all major proprietary mathematical software systems. The goal of the SageMath foundation is to support the development of the mathematical software system SageMath.

Almost all areas of mathematics are represented in SageMath, at various levels of sophistication. This includes symbolic calculus, 2D and 3D graphics, polynomials, graph theory, group theory, abstract algebra, combinatorics, cryptography, elliptic curves and modular forms, numerical mathematics, linear algebra and matrix calculations (over various rings), support for parallel computing, and a powerful coercion framework to “mix” elements from different rings for calculations. SageMath’s features also expand into neighboring fields like Statistics and Physics.

lightbulb_outline View ideas list


  • python
  • javascript
  • cython
  • c++


email Mailing list
mail_outline Contact email

Sage Mathematical Software System 2016 Projects

  • gjorgenson
    Expand the generic algebraic curve functionality in Sage
    The aim of this project is to build on the functionality Sage has for algebraic curves. The primary topics for this expansion are intersection...
  • Tara
    Extending Matroid Theory functionality
    The goal is to improve the functionality of the matroid package in terms of usefulness to researchers. In particular, we plan on the following. We...
  • klui
    Modular Abelian Variety
    There are several key features missing in Sage for modular abelian varieties. The goal of this project is to implement as much as possible. I will...
  • Rebecca Lauren Miller
    Moduli Space of Dynamical Systems
    There is functionality for working with dynamical systems over projective space in Sage. However, one of the areas lacking in functionality is the...
  • arpitdm
    Rank Metric Codes in Sage
    In this project, our goal is to extend the Coding Theory library in Sage by implementing base classes for linear rank-metric codes and Gabidulin...