SageMath: free open-source mathematic software

SageMath is a free open-source mathematic software for mathematicians, data scientists and statisticians.

It is built on top of many mathematic python packages.  

SageMath features include animated graphs, interactive plots,  portable version that works directly from USB stick, interactive Python interface, notebook, rich documentation and more.

SageMath is an ideal solution for education as it aims for high-level student.

SageMath is faster than other open-source software doing the same calculations, like Mathematica 7.

It is proven to be faster by 32% on Linux (Intel 32bit), and 40% faster on macOS. You can read more about this in SageMath benchmarks.

The Interface

SageMath uses NCURSES for the interface, which provides a UI utilities for terminal apps using the current template capabilities and features.

The notebook

Like any decent mathematic and data science oriented software nowadays, the notebook is a must. Here, SageMath uses Jupyter web-based notebook environment for interactive computing.

Try online

You can try SageMath at SageMathCell, which is a simple web interface for SageMath.

SageMathCell can help embed into any webpage or web app. Furthermore, it comes with a helper tool that converts the notebook of SageMath and Jupyter into a dynamic HTML pages.

Packages

SageMath makes a use of the vast Python ecosystem which is the favorite language for mathematicians, data scientists, engineers, and web developers.

It combines dozens of Python languages as:

  1. NumPy: Package for scientific computing with Python
  2. SciPy
  3. matplotlib
  4. Sympy
  5. Maxima: System for manipulating symbolic and numerical expressions
  6. GAP: Groups, Algorithms, Programming - a system for computational discrete algebra
  7. FLINT: Fast Library for Number Theory
  8. R Python
  9. Dateutil
  10. glpk: GNU Linear Programming Kit
  11. openblas: An optimized implementation of BLAS (Basic Linear Algebra Subprograms)
  12. mpfr: Multiple-precision floating-point computations with correct rounding
  13. mpmath: Pure Python library for multi-precision floating-point arithmetic
  14. mpir: Multiple precision integers and rationals (fork of GMP)
  15. palp: A package for Analyzing Lattice Polytopes
  16. and many more

SageMath also offers dozens of optional and experimental packages for users to install when required.

Education

There is no shortage of SageMath educational materials and resources. You can get dozens of video and text tutorial that can help you get started.

SageMath is an ideal solution for university students and an affordable alternative for similar commercial expensive solutions.

Platforms

  1. Windows
  2. Linux
  3. macOS

There is also a live and portable edition if you want to run it directly from a USB stick.

License

SageMath is released under GPL license as a free open-source software.

Resources