Tux Machines

Towards a new SymPy

Posted by Roy Schestowitz on Sep 09, 2023

today's leftovers
Top 7 Lesser-Known Linux Distribution, New Distro Releases, and More

Towards a new SymPy: part 1 - Outline

↺ Towards a new SymPy: part 1 - Outline
The other posts in this series can be found at Towards a new SymPy.
Over the last year in particular I have been working as a part of a CZI funded project that has three strands. One of those three strands is for me to work on speeding up SymPy. Now that we come to the end of that year, I want to describe what has been done and spell out a vision for the future.
I will be writing this in a series of blog posts. This first post will outline the structure of the foundations of a computer algebra system (CAS) like SymPy, describe some problems SymPy currently has and what can be done to address them. Then subsequent posts will focus in more detail on particular components and the work that has been done and what should be done in the future.
I am writing this with the intention that it should be accessible to someone who is not a SymPy developer although other SymPy developers are the intended audience for many of the points that I will make. Many of the things that I will describe here are not well understood even by many SymPy developers though and a major goal of this series of posts is to help to try to change that.

Towards a new SymPy: part 2 - Polynomials

↺ Towards a new SymPy: part 2 - Polynomials
This post will describe SymPy’s computational algebra system for polynomials and how each of these steps could be applied to speed up SymPy. I will talk a bit about FLINT and python-flint but I will also write a separate post about those because I know that some people will be more interested in using python-flint than SymPy itself and I hope to encourage them to contribute to python-flint.
As before I am writing this with the intention that it should be to some extent understandable to non SymPy developers. The primary intended audience though is other SymPy developers because I want them to understand the significance of the work done so far and the changes that I think are needed for the future.

Benjamin: Towards a new SymPy

↺ Benjamin: Towards a new SymPy
In a series of posts on his blog, Oscar Benjamin looks at SymPy, which is a Python-based symbolic-mathematics library. In the first article, he outlines the ""big changes for SymPy with particular focus on speed"". The second covers polynomial handling; subsequent articles will examine other pieces of the puzzle.
gemini.tuxmachines.org