Open-source mathematics software system

Technologies
python, cython
Topics
mathematics, education, research
Open-source mathematics software system
Mathematicians, scientists, researchers, and students need a powerful tool for their work or study. SageMath is a freely available open-source mathematical software system bundling the functionality of many software libraries, exposing their features in a common interface and extending on top of this with its own powerful algorithms. By leveraging the flexibility and universality of the underlying Python interpreter, SageMath is able to accommodate for a vast range of their requirements. The mission of SageMath is to create a viable open-source alternative to all major proprietary mathematical software systems. Python is the main programming language inside the SageMath library and also the language of choice for all interactions with the built-in objects and functions for expressing mathematical concepts and calculations. Besides a command-line and programming-library interface, its primary user interface is a dynamic self-hosted website. From the perspective of a user, the interface language is Python, but with a thin extension built directly on top of it. Almost all areas of mathematics are represented in SageMath, at various levels of sophistication. This includes symbolic calculus, 2D and 3D graphics, polynomials, graph theory, group theory, abstract algebra, combinatorics, cryptography, elliptic curves and modular forms, numerical mathematics, linear algebra and matrix calculations (over various rings), support for parallel computing, and a powerful coercion framework to “mix” elements from different sets for calculations. SageMath’s features also expand into neighboring fields like Statistics and Physics.

Projects

Contributor
Bruno Edwards
Mentor
Dima Pasechnik
Organization
SageMath
Parameterizing invariant spaces
I've been working on extending SageMath's capabilities to calculate parameterizations for invariant rings of matrix groups over finite fields. While...
Contributor
Dang
Mentor
BenH, Alexander Galarraga
Organization
SageMath
Dynamical Systems with Multiple Functions
Sage does not have support for dynamical semigroups, which are dynamical systems involving multiple functions. This project aims to create a class...
Contributor
Jing Guo
Mentor
BenH, Alexander Galarraga
Organization
SageMath
Algorithms for Dynamical Systems
The goals of this project is to implement two algorithmic improvements for Sage: 1) Improve current implementation of Krumm's algorithms for points...
Contributor
Marie B
Mentor
Vincent Neiger
Organization
SageMath
Enhancements in linear algebra
Sage incorporates state-of-the-art libraries for exact linear algebra computations, such as matrix multiplication, reduced echelon form, linear...
Contributor
Ognjen Petrov
Mentor
Travis Scrimshaw
Organization
SageMath
Implementing functions from toric topology
The aim of this project is to further expand Sage's library for topology, by implementing various functions from toric topology. Though this field...
Contributor
Zhongling Xu
Mentor
Matthias Koeppe
Organization
SageMath
Enhanced optimization solver interfaces for Sage
This project aims at improving the optimization capabilities of SageMath by connecting SageMath to interfaces to optimization solvers that are...