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
edit
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
edit- 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
editSageMath 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
editThe 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 |
See also
editReferences
edit- ↑ "Release 10.9". 5 May 2026. Retrieved 5 May 2026.
- 1 2 "COPYING.txt – sage.git". The Sage Repository. Archived from the original on 14 March 2017. Retrieved 4 April 2017.
- ↑ Stein, William. "SAGE: A Computer System for Algebra and Geometry Experimentation". Retrieved 30 March 2012.
- ↑ Stein, William (12 June 2007). "Sage Days 4" (PDF). Archived from the original (PDF) on 27 June 2007. Retrieved 2 August 2007.
- ↑ Anastassiou, George A.; Mezei, Razvan A. (2015). Numerical Analysis Using Sage. New York: Springer. pp. x1 and 1. ISBN 9783319167381.
- ↑ "Sage Days 7: Combinatorics". SageWiki. 14 November 2008. Retrieved 9 December 2013.
- ↑ "Sage – Acknowledgement to Supporters". Retrieved 6 January 2017.
- 1 2 3 William Stein: The origins of SageMath – creating a viable open source alternative to Magma, Maple, Mathematica, and Matlab (presentation, 11 June 2016)
- ↑ "Free Software Brings Affordability, Transparency To Mathematics". Science Daily. 7 December 2007. Retrieved 6 January 2017.
- ↑ "Sage Mathematical Software System". Google Summer of Code / Code-in Archive. Retrieved 6 January 2017.
- ↑ "Richard Dimick Jenks Memorial Prize 2013 Award". Association for Computing Machinery – SIGSAM. Retrieved 6 January 2017.
- ↑ "Welcome to Sage Installation Guide". 1 May 2023. Retrieved 28 July 2023.
- ↑ Lelievre, Samuel (18 August 2017). "SageMath 8.0 installer for Windows". Retrieved 28 August 2017.
- ↑ Stein, William (16 March 2012). "Re: Question about Sage". Retrieved 6 January 2017.
- ↑ "Guix-HPC – Package sage". hpc.guix.info. Retrieved 20 August 2025.
- ↑ "sage-on-gentoo Wiki". GitHub. Retrieved 6 January 2017.
- ↑ "Standard Packages". doc.sagemath.org. Archived from the original on 10 December 2016. Retrieved 6 January 2017.
- ↑ "External Packages – External Packages".