Skip to content
Timo Stienstra edited this page Feb 2, 2024 · 105 revisions

Wiki

Welcome to the SymPy wiki!

We encourage everyone to participate in this wiki. To edit it, you need to create an account (top right corner). Just fill in your name and password and that's it (no email confirmation, or other annoying things). Feel free to play/test something in the Sandbox.

Note, there are a bunch of pages in this wiki that are not linked to from here. See them all here.

Links

SymPy Home | Mailing list | Download | Documentation | Issues | Release Notes | Planet SymPy (blogs) |

What is SymPy?

SymPy is a computer algebra system (CAS) written in the Python programming language. SymPy is easy to use and install (see the download instructions and tutorial for more information), and works everywhere where Python 3.8 or newer is installed (Linux, Windows, Mac OS X, ...). SymPy's features include:

  • Arbitrary precision integers, rationals and floats, as well as symbolic expressions
  • Simplification (grouping like a*b*b + 2*b*a*b3*a*b**2, expansion like expand((a + b)**2)a**2 + 2*a*b + b**2, and other methods of rewriting expressions (cancel, factor, collect, etc...)
  • Functions (exp, log, sin, ...)
  • Complex numbers (like exp(I*x).expand(complex=True)cos(x)+I*sin(x))
  • Taylor (Laurent) series and limits
  • Differentiation and integration

Documentation

The main SymPy documentation is maintained at http://docs.sympy.org (where you can see both the development and the latest stable versions docs). The full change log can be viewed here.

The issue tracker is located at http://github.com/sympy/sympy/issues.

The best place to begin is the Tutorial. A lot of useful information can also be found in the following:

Development

Projects / Ideas

  • Roadmap -- Our roadmap to SymPy 1.0
  • Ideas -- Random ideas, not necessarily related to SymPy, but that could be useful for SymPy in the future
  • Generic interface -- SymPy/SymPyCore design notes
  • Technical References -- Related mathematical literature and websites
  • Test automation -- Wishlist scratchpad for streamlining the test suite
  • Unit systems -- Some ideas to improve unit systems.

Google Summer of Code

GSoC Ideas

GSoC Ideas

GSoC 2019

For Students:

For Mentors:

GSoC 2018

For Students:

For Mentors:

GSoC 2017

For Students:

GSoC 2016

For Students:

For Mentors:

GSoC 2015

For Students:

For Mentors:

GSoC 2014

GSoC 2013

GSoC 2012

GSoC 2011

Old GSoC Reports

Google Code In

GCI 2012

GCI 2011

GHOP 2007

  • GHOP 2007 -- Landing page for students who participated in Google Highly Open Participation contest 2007 with SymPy

Moving from google wiki

There are many pages copied here from the old Google code wiki. These should be updated and reformatted for github. They can be found by going here. and looking for the pages starting with "old wiki". When these are updated, the header should be changed and the file moved to remove the "old wiki" designation.

License SymPy

Unless stated otherwise, everything on this wiki is licensed under the same terms as SymPy, i.e. modified BSD license. This is so that we can take anything from here and add it to the SymPy tarball as a documentation. See License choice for the motivation and discussion behind that choice.

If you have some interesting material, that you don't want to (or cannot) make BSD licensed, please put there a notice, that it has some other license.