There’s a new book on SymPy, a Python library for symbolic math.
The book is Instant SymPy Starter by Ronan Lamy. As far as I know, this is the only book just on SymPy. It’s only about 50 pages, which is nice. It’s not a replacement for the online documentation but just a quick start guide.
The online SymPy documentation is good, but I think it would be easier to start with this book. And although I’ve been using SymPy off and on for a while, I learned a few things from the book.
How does SymPy compares with, say, Maxima?
I have been relying on Maxima but if there is a Python alternative that is viable…
Can’t answer your question directly as I’m new to sympy, but have you looked to sage? It gives access to python, maxima, sympy, and more.
Daniel: I’d say SymPy is not nearly as polished at Mathematica, but it’s worthwhile to me to be able to do more in one language/environment.
I haven’t used Maxima, but I believe it’s one of the components absorbed into Sage. Sage is enormous. They’ve done a fantastic job of merging many open source packages and putting a Python face on it all.
Maxima is generally old and slow, and is hard to develop on because it’s in lisp. SymPy is developing rapidly. Already, SymPy is much better than Maxima for many tasks.
I haven’t used Maxima for a while, but SymPy should be quite comparable by now.
Mathematica on the other hand is still a lot better and more polished. We have improved a lot with SymPy, but Mathematica has set the bar really high in terms of user experience. But lately,
the IPython notebook + SymPy combo (and other Python libraries like NumPy) is not bad at all, I use it for my own research quite often.
For those who want a comparison between SymPy and similar (free) packages, check the SymPy Github Wiki: https://github.com/sympy/sympy/wiki#documentation (last bulletpoint).
Robert Johansson’s “Numerical Python” (2015) has a 25-page chapter on sympy. Later chapters show how to use sympy alongside numpy and matplotlib.
Overall, I like the book, and that chapter has been helpful at getting me up to speed on sympy.