Skip to content
/ sympy Public
forked from sympy/sympy

A computer algebra system written in pure Python.

License

Notifications You must be signed in to change notification settings

asmeurer/sympy

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 Cannot retrieve latest commit at this time.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SymPy
=====

A Python library for symbolic mathematics.

http://code.google.com/p/sympy/

All people who contributed to SymPy by sending at least a patch or more (in
the order of the date of their first contribution):
    Ondrej Certik <ondrej@certik.cz>
    Fabian Seoane <fabian@fseoane.net>
    Jurjen N.E. Bos <jnebos@gmail.com>
    Mateusz Paprocki <mattpap@gmail.com>
    Marc-Etienne M.Leveille <protonyc@gmail.com>
    Brian Jorgensen <brian.jorgensen@gmail.com>
    Jason Gedge <inferno1386@gmail.com>
    Robert Schwarz <lethargo@googlemail.com>
    Pearu Peterson <pearu.peterson@gmail.com>
    Fredrik Johansson <fredrik.johansson@gmail.com>
    Chris Wu <chris.wu@gmail.com>
    Kirill Smelkov <kirr@landau.phys.spbu.ru>
    Ulrich Hecht <ulrich.hecht@gmail.com>
    Goutham Lakshminarayan <dl.goutham@gmail.com>
    David Lawrence <dmlawrence@gmail.com>
    Jaroslaw Tworek <dev.jrx@gmail.com>
    David Marek <h4wk.cz@gmail.com>
    Bernhard R. Link <brlink@debian.org>
    Andrej Tokarčík <androsis@gmail.com>
    Or Dvory <gidesa@gmail.com>
    Saroj Adhikari <adh.saroj@gmail.com>
    Pauli Virtanen <pav@iki.fi>
    Robert Kern <robert.kern@gmail.com>
    James Aspnes <aspnes@cs.yale.edu>
    Nimish Telang <ntelang@gmail.com>
    Abderrahim Kitouni <a.kitouni@gmail.com>
    Pan Peng <pengpanster@gmail.com>
    Friedrich Hagedorn <friedrich_h@gmx.de>
    Elrond der Elbenfuerst <elrond+sympy.org@samba-tng.org>
    Rizgar Mella <rizgar.mella@gmail.com>
    Felix Kaiser <whatfxkr@gmail.com>
    Roberto Nobrega <rwnobrega@gmail.com>
    David Roberts <dvdr18@gmail.com>
    Sebastian Krämer <basti.kr@gmail.com>
    Vinzent Steinberg <vinzent.steinberg@gmail.com>
    Riccardo Gori <goriccardo@gmail.com>
    Case Van Horsen <casevh@gmail.com>
    Stepan Roucka <stepan@roucka.eu>
    Ali Raza Syed <arsyed@gmail.com>
    Stefano Maggiolo <s.maggiolo@gmail.com>
    Robert Cimrman <cimrman3@ntc.zcu.cz>
    Bastian Weber <bastian.weber@gmx-topmail.de>
    Sebastian Krause <sebastian.krause@gmx.de>
    Sebastian Kreft <skreft@gmail.com>
    Dan <coolg49964@gmail.com>
    Alan Bromborsky <abrombo@verizon.net>
    Boris Timokhin <qoqenator@gmail.com>
    Robert <average.programmer@gmail.com>
    Andy R. Terrel <aterrel@uchicago.edu>
    Hubert Tsang <intsangity@gmail.com>
    Konrad Meyer <konrad.meyer@gmail.com>
    Henrik Johansson <henjo2006@gmail.com>
    Priit Laes <plaes@plaes.org>

And many more people helped on the SymPy mailinglist, reported bugs, helped
organize SymPy's participation in the Google Summer of Code, the Google Highly
Open Participation Contest, wrote and blogged about SymPy...

License: New BSD License (see the LICENSE file for details)
covers all files in the sympy repository unless stated otherwise.

0. Download
-----------

$ hg clone http://hg.sympy.org/sympy/

For other options (tarballs, debs, etc.), see the web page of SymPy.


1. Documentation and usage
--------------------------

Everything is at:

http://docs.sympy.org/

You can generate everything at the above site in your local copy of SymPy by:

$ cd doc
$ make html
$ epiphany _build/html/index.html

If you don't want to read that, here is a short usage:

From this directory, start python and:
>>> from sympy import Symbol, cos
>>> x = Symbol('x')
>>> e = 1/cos(x)
>>> print e.series(x, 0, 10)
1 + (1/2)*x**2 + (5/24)*x**4 + (61/720)*x**6 + (277/8064)*x**8 + O(x**10)

SymPy also comes with a console that is a simple wrapper around the
classic python console (or ipython when available) that loads the
sympy namespace and executes some common commands for you.

To start it, issue:

$ bin/isympy

from this directory if SymPy is not installed or simply

$ isympy

if SymPy is installed somewhere in your PATH.


3. Tests
--------

to execute tests, run

./setup.py test

in the current directory.  You need to have py.test installed.


4. How to install py.test
-------------------------

If you use Debian, just install the python-codespeak-lib. Otherwise:

Execute in your home directory:

svn co http://codespeak.net/svn/py/dist py-dist

This will create a "py-dist" directory in you home dir. Add this line to
your .bashrc:

eval `python ~/py-dist/py/env.py`

Now you can call "py.test" from anywhere.

5. Clean
--------

To clean everything (thus getting the same tree as in the svn):

./setup.py clean


6. Brief History
----------------

SymPy was started by Ondrej Certik in 2005, he wrote some code during the
summer, then he wrote some more code during the summer 2006. In February 2007,
Fabian Seoane joined the project and helped fixed many things, contributed
documentation and made it alive again. 5 students (Mateusz Paprocki, Brian
Jorgensen, Jason Gedge, Robert Schwarz and Chris Wu) improved SymPy incredibly
during the summer 2007 as part of the Google Summer of Code. Pearu Peterson
joined the development during the summer 2007 and he has made SymPy much more
competitive by rewriting the core from scratch, that has made it from 10x to
100x faster. Jurjen N.E. Bos has contributed pretty printing and other patches.
Fredrik Johansson has wrote mpmath and contributed a lot of patches. Kirill
Smelkov has joined the development in autumn 2007 and has improved the overall
quality of SymPy a lot and is currently one of the most active developers.
Since then, a lot more people have joined the development and some people have
also left. You can see the full list in doc/src/aboutus.txt, or online at:

http://docs.sympy.org/aboutus.html#sympy-development-team

People who preferred not to be associated with the project anymore have "not
active anymore" written near their names.


7. Citation
-----------

To cite SymPy in publications use::

  SymPy Development Team (2008). SymPy: Python library for symbolic mathematics
  URL http://www.sympy.org.

A BibTeX entry for LaTeX users is::

  @Manual{,
    title = {SymPy: Python library for symbolic mathematics},
    author = {{SymPy Development Team}},
    year = {2008},
    url = {http://www.sympy.org},
  }

SymPy is BSD licensed, so you are free to use it whatever you like, be it
academic, commercial, creating forks or derivatives, as long as you copy the BSD
statement if you redistribute it (see the LICENSE file for details).
That said, although not required by the SymPy license, if it is convenient for
you, please cite SymPy when using it in your work and also consider
contributing all your changes back, so that we can incorporate it and all of us
will benefit in the end.

About

A computer algebra system written in pure Python.

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 98.6%
  • XSLT 1.4%
  • ANTLR 0.0%
  • Perl 0.0%
  • Shell 0.0%
  • Dockerfile 0.0%