SageMath
Adapted from Wikipedia · Discoverer experience
SageMath is a special kind of computer tool that helps with many different areas of mathematics. It can do things like algebra, counting patterns, studying shapes, and even working with complicated numbers and data.
The first version of SageMath was released on February 24, 2005. It was made to be free for anyone to use and change, just like other popular math tools such as Magma, Maple, Mathematica, and MATLAB. A mathematician named William Stein started the SageMath project when he worked at the University of Washington.
SageMath works in a way that is similar to the Python computer language. This makes it easier for people to write and understand the commands they use to solve math problems.
Development
SageMath was created by combining many existing free math tools written in different languages like C, C++, Common Lisp, Fortran, and Python. Instead of starting from scratch, SageMath links these tools together so users only need to know Python to use them.
SageMath has grown to include many thousands of lines of new code that add extra features and help connect all the different parts. Both students and professionals help develop SageMath, supported by volunteers and funding. In 2016, the first full-time developer was hired thanks to funding from the European Union.
Achievements
SageMath has received several awards for its work. In 2007, it won first prize in the scientific software division of Les Trophées du Libre, an international competition for free software. In 2012, it was chosen for the Google Summer of Code. And in 2013, it received the ACM/SIGSAM Jenks Prize.
Licensing and availability
SageMath is free software and can be used and shared because it follows the rules of the GNU General Public License version 3.
On Windows, you need a special tool called the Windows Subsystem for Linux to run SageMath. Older versions could work with other tools, but now it needs this special tool to run properly.
Many Linux computers already have SageMath available through their software packages, like Arch Linux, Debian, Guix, Ubuntu, and NixOS. Some other Linux types can also use SageMath with extra steps.
Software packages contained in SageMath
SageMath is designed to use open-source libraries that already exist. This means it includes many tools from other projects to help with different kinds of math.
| Mathematics packages contained in SageMath | 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 (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 |
Related articles
This article is a child-friendly adaptation of the Wikipedia article on SageMath, available under CC BY-SA 4.0.
Images from Wikimedia Commons. Tap any image to view credits and license.
Safekipedia