Symbolic Computation with Python using SymPy
AMiT Kumar (~aktech) |
This workshop aims to introduce attendees to SymPy, a computer aided algebra system (CAS) written in Python. We will show basics of constructing and manipulating mathematical expressions in SymPy, the most common issues and differences from other computer algebra systems, and how to deal with them.
Attendees will take home an introductory level understanding of 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).
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. The tutorial will cover the following topics and more.
- What is Symbolic Computation?
- A More Interesting Example
- The Power of Symbolic Computation
- Why SymPy?
- Equals signs
- Two Final Notes: ^ and /
- Basic Operations
- Converting Strings to SymPy Expressions
- Exponentials and logarithms
- Series Expansion
- A Note about Equations
- Solving Equations Algebraically
- Solving Differential Equations
- Basic Operations
- Basic Methods
The tutorial will only assume a basic knowledge of Python. No prior knowledge of SymPy or other Python libraries is required, although it is suggested that attendees be familiar with the IPython notebook.
It's recommend that the attendees install the Anaconda Python distribution which includes SymPy, NumPy, and IPython. Once Anaconda is installed simply type the following in a terminal to install the necessary packages:
$ conda install numpy ipython-notebook sympy
Other alternative installation instructions can be found here: http://docs.sympy.org/dev/install.html
SymPy team has developed and delivered many talks and tutorials at PyCon, SciPy and other conferences. We are constantly building on new content and improving the present at the same time.
- You can find the introduction slides here
- The sphinx tutorial here and,
- The exercises in form of IPython notebooks here.
Note: that the notebooks are hosted statically, you can download from here and run locally to have an interactive session.
Amit Kumar is a developer at SymPy a FOSS enthusiast, GSoC-cer at SymPy and a student of Delhi Technological University.
Sartaj Singh is a developer at SymPy, GSoC-cer at SymPy & a student of Indian Institute of Technology, BHU.
Shivam Vats is a developer at SymPy as well as SymEngine, GSoC-cer at SymPy & a student of Indian Institute of Technology, Kharagpur.
Gaurav Dhingra is a developer at SymPy and a student of Indian Institute of Technology, Roorkee.