Guide to Symbolic Computing with SymPy
Ondrej Certik -
Mateusz Paprocki -
Aaron Meurer - New Mexico State University
Ondrej Certik started SymPy in 2006. He finished his Ph.D. in Chemical Physics in December 2012 and currently is a postdoc at Los Alamos National Laboratory.
Mateusz Paprocki has been SymPy's core developer since 2007. He was a Google Summer of Code student and two-time mentor for SymPy. He also has given talks about SymPy at various conferences and scientific meetings (most notably EuroSciPy, Py4Science and PyCon.PL).
Aaron Meurer is SymPy's core developer since 2009 and the current leader of the project. He was a Google Summer of Code student for SymPy twice, and is currently pursuing a Masters in mathematics from New Mexico State University.
SymPy is a pure Python library for symbolic mathematics. It aims to become a full-featured computer algebra system (CAS) while keeping the code as simple as possible in order to be comprehensible and easily extensible. SymPy is written entirely in Python and does not require any external libraries.
In this tutorial we will introduce attendees to SymPy. We will start by showing how to install and configure this Python module. Then we will proceed to the basics of constructing and manipulating mathematical expressions in SymPy. We will also discuss the most common issues and differences from other computer algebra systems, and how to deal with them. In the last part of this tutorial we will show how to solve simple, yet illustrative, mathematical problems with SymPy.
This knowledge should be enough for attendees to start using SymPy for solving mathematical problems and hacking SymPy's internals (though hacking core modules may require additional expertise).
We expect attendees of this tutorial to have basic knowledge of Python and mathematics. However, any more advanced topics will be explained during presentation.
- installing, configuring and running SymPy
- basics of expressions in SymPy
- traversal and manipulation of expressions
- common issues and differences from other CAS
- setting up and using printers
- querying expression properties
- not only symbolics: numerical computing (mpmath)
- Mathematical problem solving with SymPy
Python 2.x or 3.x, SymPy (most recent version) Optional packages: IPython, matplotlib, NetworkX, GMPY, numpy, scipy