Back to Proposal List

SymPy: Improving Foundational Open Source Symbolic Mathematics for Science


Project SymPy
Lead

Aaron Meurer (Quansight)

Funding Cycle 4

Proposal Summary

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


Project

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.


Key Personnel

Aaron Meurer
Oscar Benjamin
Jason K. Moore