This series of blog posts focuses on big changes for SymPy, specifically related to improving its speed. The author describes the issues with SymPy’s current speed, the work that has been done to make it faster, and the next steps to continue improving its performance. They emphasize that while SymPy is primarily used for symbolic calculations, it is important to understand the different levels of numerical calculations, such as machine precision floating point numbers and exact symbolic calculations. The author also discusses the core components of SymPy, including a numerical evaluation subsystem, a symbolic manipulation subsystem, and a computational algebra subsystem. They acknowledge that there are problems with SymPy’s symbolic expression system and suggest using the computational algebra subsystem more extensively for improved performance. While SymEngine, a C++ library, could potentially be used as a replacement for SymPy’s symbolic subsystem to enhance speed, it is not a complete solution due to differences between the two systems.
https://oscarbenjamin.github.io/blog/czi/post1.html