# Symbolic Computation with Python and SymPy

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 symbolic computations such as differentiation and integration, simplifying and manipulating expressions for greater insight, solving algebraic and differential equations, plotting, mathematical modeling and more.

Lightweight.
Cross-platform.
Customizable.
Flexible: great for interactive use or for building custom applications.
Steep learning curve.
Missing features and limitations on current features.
Huge documentation.
Unexpected results and/or difficult-to-debug situations.

### Two major approaches to learn SymPy

First Approach
Tinkering with our specific mathematical problems and exploring the documentation as we need it. Problems:
1
Huge and sparse documentation: Module Reference, Tutorial, Gotchas and Pitfall, Github Wiki.
Risk of missing useful information.
2
Time and resource consuming: it might seems faster at first, but it is not. Trust me, I’ve been there!
3
Encounter several “I wish I knew that from the beginning!” moments, which happens after spending a lot of time and energy into a problem!
4
Even worse for occasional users, as important concepts could be forgotten in between sessions.
Second Approach
Leverage other users experience and follow the book Symbolic Computation with Python and SymPy. Advantages:
1
Initial Investment of time, which will be hugely paid back once our problems get harder.
2
Smooth and logical learning curve. Quickly understand where SymPy shines and what are its limitations.
3
Plenty of Cheat Sheets to easily remember the most important functions and classes.
4
Guided exercises illustrating techniques to get the best with expression manipulation.
5
Visualize SymPy’s building blocks and their relations thanks to simplified UML class diagrams.
6
Improve existing functionalities and implement new ones.
7
Generate Equations of Motion for mechanical and/or physical systems and quickly simulate them.

Get your own copy of

### Symbolic Computation with Python and SymPy

Printed Book

Ebooks
For publishing reasons, the printed book had to be splitted in two volumes. Vol 1 + Vol 2 = Printed Book.