SymPy is an open-source Computer Algebra System written in Python that enables the manipulation of mathematical expressions in an analytical form. It can be used in a variety of disciplines in engineering and science to perform common analytical computations such as differentiation and integration, simplifying and manipulating expressions for greater insight, solving algebraic and differential equations, plotting, mathematical modeling and more.
Advantages |
Lightweight. |
Cross-platform. |
Customizable. |
Flexible: great for interactive use or for building custom applications. |
Disadvantages |
Steep learning curve. |
Missing features and limitations on current features. |
Huge documentation. |
Unexpected results and/or difficult-to-debug situations. |
2 major approaches to learn SymPy
1
Tinkering with our specific mathematical problems and exploring the documentation as we need it.
Time and resource consuming:
Might seems faster at first, but it is not!
Trust me, I’ve been there!!!
Encounter several
“I wish I knew that from the beginning!”
moments, which happens after spending a lot of time and energy into a problem!
Even worse for occasional users
as important concepts could be forgotten in between sessions.
Previous
Next
2
Following the book Symbolic Computation with Python and SymPy
Initial Investment of time
It will be hugely paid back once our problems get harder.
Smooth and logical learning curve
to efficiently learn SymPy.
Understand SymPy’s building blocks
Quickly visualize the available objects and their relations with simplified UML class diagrams.
Easily remember the most important functions and classes, thus avoiding spending time over the documentation.
Guided exercises
Illustrating techniques to get the best with expression manipulation.
Improve existing functionalities
Learn how to improve existing functionalities.
Implement new functionalities
Take advantage of the open source nature of SymPy to implement custom functionalities.
Generate code for other programming languages
Convert symbolic results to other programming languages, such as Matlab/Octave, Javascript, Julia, …
Maximize numerical evaluation performance
Use SymPy’s module to easily generate Cython code for maximum numerical performance.
Previous
Next
Get your own copy of
Symbolic Computation with Python and SymPy
Ebooks
NB: for publishing reasons, the printed book had to be splitted in two volumes. Vol 1 + Vol 2 = Printed Book.