SageMath
Computer algebra system
From Wikipedia, the free encyclopedia
SageMath (previously Sage or SAGE, "System for Algebra and Geometry Experimentation"[3]) is a computer algebra system (CAS) with features covering many aspects of mathematics, including algebra, combinatorics, graph theory, group theory, differentiable manifolds, numerical analysis, number theory, calculus, and statistics.
| SageMath | |
|---|---|
Sagemath document (Jupyter Notebook) inside a web browser | |
| Initial release | 24 February 2005 |
| Stable release | |
| Preview release | 10.8.beta9
/ 11 November 2025 |
| Written in | Python, Cython |
| Operating system | Linux, macOS, Microsoft Windows, Solaris, Android, iOS |
| Platform |
|
| Size | Approx. 112–3319 MB |
| Type | Computer algebra system |
| License | GPLv3[2] |
| Website | www |
| Repository | |
The first version of SageMath was released on 24 February 2005 as free and open-source software under the terms of the GNU General Public License version 2, with the initial goals of creating an "open source alternative to Magma, Maple, Mathematica, and MATLAB".[4] The originator and leader of the SageMath project, William Stein, was a mathematician at the University of Washington.
SageMath uses a syntax resembling Python's,[5] supporting procedural, functional, and object-oriented constructs.
Development

Stein realized when designing Sage that there were many open-source mathematics software packages already written in different languages, namely C, C++, Common Lisp, Fortran and Python.
Rather than reinventing the wheel, Sage (which is written mostly in Python and Cython) integrates many specialized CAS software packages into a common interface, for which a user needs to know only Python. However, Sage contains hundreds of thousands of unique lines of code adding new functions and creating the interfaces among its components.[6]
SageMath uses both students and professionals for development. The development of SageMath is supported by both volunteer work and grants.[7] However, it was not until 2016 that the first full-time Sage developer was hired (funded by an EU grant).[8] The same year, Stein described his disappointment with a lack of academic funding and credentials for software development, citing it as the reason for his decision to leave his tenured academic position to work full-time on the project in a newly founded company, SageMath Inc.[8]
Achievements
- 2007: first prize in the scientific software division of Les Trophées du Libre, an international competition for free software.[9]
- 2012: one of the projects selected for the Google Summer of Code.[10]
- 2013: ACM/SIGSAM Jenks Prize.[11]
Licensing and availability
SageMath is free software, distributed under the terms of the GNU General Public License version 3.[2]
- Windows
SageMath 10.0 (May 2023) requires Windows Subsystem for Linux in version 2,[12] which in turn requires Windows to run as a Hyper-V client. SageMath 8.0 (July 2017), with development funded by the OpenDreamKit project,[8] successfully built on Cygwin, and a binary installer for 64-bit versions of Windows was available.[13] Although Microsoft was sponsoring a Windows version of SageMath, prior to 2016 users of Windows had to use virtualization technology such as VirtualBox to run SageMath.[14]
- Linux
SageMath is available as a package in some Linux distributions, including Arch Linux, Debian, Guix,[15] Ubuntu and NixOS. In Gentoo, it is available via layman in the "sage-on-gentoo"[16] overlay. The packages used by NixOS and Gnu Guix are available for use on other distributions, due to the distribution-agnostic nature of their package managers.
- Other operating systems
Gentoo prefix also provides Sage on other operating systems.
Software packages contained in SageMath
The philosophy of SageMath is to use existing open-source libraries wherever they exist. Therefore, it uses many libraries from other projects.
| Mathematics packages contained in SageMath[17] |
Algebra | GAP, Singular, FLINT |
|---|---|---|
| Algebraic geometry | Singular | |
| Arbitrary-precision arithmetic | GMP, MPFR, MPFI, NTL, mpmath, Arb | |
| Arithmetic geometry | PARI/GP, NTL, mwrank, ECM | |
| Calculus | Maxima, SymPy, GiNaC, Giac, FriCAS | |
| Combinatorics | Symmetrica, Sage-Combinat | |
| Linear algebra | ATLAS, BLAS, LAPACK, NumPy, LinBox, IML, GSL | |
| Graph theory | NetworkX | |
| Group theory | GAP | |
| Numerical computation | GSL, SciPy, NumPy, ATLAS | |
| Number theory | PARI/GP, FLINT, NTL | |
| Statistical computing | R, SciPy | |
| Other packages contained in SageMath |
Command-line shell | IPython |
| Database | ZODB, SQLite | |
| Graphical interface | SageMath Notebook, MathJax[18] (formerly jsMath) | |
| Graphics | matplotlib, Tachyon, GD, Jmol | |
| Interactive programming language | Python | |
| Networking | Twisted | |
| Other Mathematics package available for SageMath |
Differential geometry and tensor calculus | Sage Manifolds |