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.

  • Introduction
    • What is Symbolic Computation?
    • A More Interesting Example
    • The Power of Symbolic Computation
    • Why SymPy?
  • Gotchas
    • Symbols
    • Equals signs
    • Two Final Notes: ^ and /
  • Basic Operations
    • Substitution
    • Converting Strings to SymPy Expressions
    • Printing
    • Simplification
    • Powers
    • Exponentials and logarithms
  • Calculus
    • Derivatives
    • Integrals
    • Limits
    • Series Expansion
  • Solvers
    • A Note about Equations
    • Solving Equations Algebraically
    • Solving Differential Equations
  • Matrices
    • 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:

Content URLs:

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.

Speaker Info:

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.

Speaker Links:

Section: Scientific Computing
Type: Workshops
Target Audience: Beginner
Last Updated:

Great for the JNU, Math department.

Amit Singh Sethi (~dusual)

Indeed :)

AMiT Kumar (~aktech)

Can we have some links to your slides or a general structure, some thing that can be used to be put on the projector so audience can follow along.

Please upload the slides/structure so they can be reviewed before 12th feb.

Have you given any talks(including this one) before? Any experience of public speaking? It's not a requirement for doing the talk but would definitely help us gauge the experience level. We suggest going through the presentation least once in front of a small audience to get some experience if you have not already.

Akshay Arora (~akshayaurora)

Hi Akshay, I have already added the slides, tutorial & notebooks in the Content URL . Yes, we have experience of public speaking. We conducted this workshop in PyCon India 2016 & in PyDelhi Meetup. (Only PyCon India needs to be changed to PyDelhiConf).

AMiT Kumar (~aktech)


Akshay Arora (~akshayaurora)

Login to add a new comment.