- name: SageMath [exactly this capitalization]
- long-form: Sage Mathematical Software System
William Stein started the SageMath project in 2004 and still leads the
project. His frustration with proprietary mathematical software was
his main motivation to create a viable open-source alternative. Just
as Firefox is an alternative to Internet Explorer or OpenOffice.org is
an alternative to Microsoft Office, SageMath is a comprehensive open
source alternative to Magma, Maple, Mathematica, and Matlab.
SageMath consists of a collection of mathematical software
and a core library bundling the functionality of these components into one consistent experience.
Additionally to that it provides a framework to express mathematical calculations
and a library of mathematical algorithms.
Mathematics is very old and encompasses many very different topics.
It is hard to come up with one unique approach that suites beginners as well as experts.
SageMath tries to solve this and
"is doing remarkably well at keeping a balance between ease-of-use for beginners and high-end users."
as David Kohel once said
- SageMath aims to provide everything mathematicians, researchers and students need
to do their calculations.
The basic concept is to combine many established software packages under one umbrella.
Even more than that, it provides powerful and unique algorithms in it's own library.
SageMath's mission is to "create a viable free open source alternative to Magma, Maple, Mathematica and Matlab".
- Open Source: SageMath is built upon open-source software and it is fully open-source by itself.
It is free to use worldwide for private, commercial, governmental, etc. use.
Its license is the well known GPL and everyone is allowed to download it, install it on
an unlimited number of computers and redistribute copies.
- Open Development:
SageMath loves curious students and researchers to examine its source code and
it is possible to understand how each calculation is done.
SageMath fosters a community of developers and encourages them to
take part in its development.
A vital community of people not only using but also participating in development
is key to a healthy ecosystem in the field of mathematical software.
Additionally, SageMath utilizes the scientific method of peer-review to double check
each line of new source code in addition to its strict testing policies to ensure
a certain level of quality.
- Leverages Existing Software: SageMath does not reinvent the wheel for every known calculation.
When possible, it uses existing tools to solve the problem and combine all of them in one unique interface.
This concept not only exposes software packages to a wider audience,
but also helps to increase the quality by submitting bugs upstream.
- SageMath uses Python as its "glue language" to interface with all its components.
Python is also SageMaths primary interface language and hence SageMath does not invent a new programming language
as other mathematical software systems do.
Python is well
established among research communities and makes
interfacing even less complicated.
- Interface: There are three basic ways how the user can interact with SageMath:
a web-interface, accessible through a web-browser while SageMath is running on your local machine
or on a server, a rich command-line interface and as a Python library.
Additionally, for example it is possible to embedd SageMath in LaTeX documents.
All graphics, files and texts on this page are dedicated to
promote SageMath. You are authorized to copy, distribute and share them as you
like. If you have questions or additional request, please
contact the press officer.