Skip to content
Back

SymPy: Improving Foundational Open Source Symbolic Mathematics for Science

Legacy EOSS

2021

Proposal Summary

To improve the SymPy Python symbolic mathematics library in the key areas of performance, code generation, and documentation.


SymPy

Symbolic mathematics is an essential pillar in scientific computing. For over a decade, SymPy has been the symbolic mathematics pillar in Python scientific computing and also plays strong roles in the Sage, Octave, Julia, and R communities. Github reports that some 30,000 repositories utilize SymPy and over 120 academic papers cite SymPy per year. The team aims to sustain and grow SymPy’s foundational role, including for many biomedical applications, by reducing performance barriers, expanding the popular numerical code generation features, and overhauling documentation. The team has identified these three areas as the ones most likely to gain more users and developers. They will hire one core SymPy developer part time to implement these improvements. Numerical code generation is SymPy’s most widely used feature in scientific applications. SymPy expressions can be automatically transformed into efficient numerical codes in many programming languages and packages (C, Fortran, Julia, Rust, Tensorflow, PyTorch, etc). The team will hire one postdoc part time who will improve the numerical stability of generated code and expand code generation to more complex expressions.

Project Team

Aaron Meurer Github

Quansight

Oscar Benjamin Github

The University of Bristol

Jason K. Moore Github

Delft University of Technology