Automatically exported from
Python C
Switch branches/tags
Nothing to show
Latest commit 9591ca7 Aug 5, 2015 @pearu pearu Moved from wik…
…i branch to in master branch.


  • 23 May, 2011 - Published a paper on SteadyStateFluxAnalysis.
  • 26 Mar, 2009 - Pearu slides in SIAM Conference on Computational Science and Engineering
  • 27 Aug, 2008 - Pearu slides in EuroScipy 2008
  • 7 Apr, 2008 - Review conversation methods: ReviewConversionMethods3
  • 5 Apr, 2008 - Introduced new algebras: Set, FunctionRing, Differential
  • 3 Apr, 2008 - Review function support: FunctionSupportIdeas
  • 1 Apr, 2008 - Implemented And, Or, Not. Improved boolean expression support.
  • 15 Mar, 2008 - Reviewing matrix support: MatrixSupportIdeas
  • 10 Mar, 2008 - Introduced SymbolicEquality context where __eq__ and __ne__ methods would return Logic instance.
  • 6 Mar, 2008 - Added pickling support to Expr.
  • 5 Mar, 2008 - All algebra classes are derived from Expr class holding a pair.
  • 2 Mar, 2008 - Implemented extension type Pair giving 1.5-2x speed up.
  • 29 Feb, 2008 - SympyCore version 0.1 released

Older news


The aim of the SympyCore project is to seek out new high Performance solutions to represent and manipulate symbolic expressions in the Python programming language, and to try out new symbolic models to achive fundamentally consistent and sufficiently general symbolic model that would be easy to extend to a Computer Algebra System (CAS).

See SympyCore Demo and SympyCore User's Guide for examples. Various performance improvements are reported in Performance History and SympyCore Benchmark sites.

Sympycore is inspired by many attempts to implement CAS for Python and it is created to fix SymPy performance and robustness issues. Sympycore does not yet have nearly as many features as SymPy. Our goal is to work on in direction of merging the efforts with the SymPy project in the future. 21 Oct 2011 update: Recent comments in SymPy issues list indicate that this goal is unrealistic because the projects have diverged so much.

Question: What is the main difference between SympyCore and SymPy projects?

Answer: SympyCore is a research project while SymPy is a software project.


Sympycore package is avaliable for download as a gzipped tar archive and as a Windows binary installer. To install sympycore from an archive, unpack the tar file and run the following command inside sympycore-<VERSION> directory:

  python install

The development code is available in the SVN repository. Non-members can check out sympycore using the command (see Source for more information):

svn checkout sympycore-svn

Use python install to install sympycore or add the location of checked out sympycore to PYTHONPATH to make it available for python import. Note that starting from version 0.2, sympycore implements some features in C for speed. However, parallel to that, pure python versions of these features are provided in case one cannot build the provided extension modules. To build the extension modules inside sympycore source tree, use one of the following commands:

  python build_ext --inplace
  python build_ext --inplace --compiler=mingw32  # when using MinGW compiler on windows

Import sympycore with

>>> from sympycore import *
>>> a,b=map(Symbol,'ab')
>>> (a+b)**3
Calculus('(a + b)**3')
>>> ((a+b)**3).diff(a)
Calculus('3*(a + b)**2')
>>> ((a+b)**3).diff(a).expand()
Calculus('3*a**2 + 3*b**2 + 6*a*b')

See Documentation page for SympyCore User's Guide as well as other documentation bits.

To run sympycore tests without installing it, execute:

python [ build_ext --inplace [--compiler=mingw32] ] test [--coverage | --nose-args='...']

in sympycore source directoryl.

To test installed sympycore, run

>>> from sympycore import *
>>> test(nose_args='...')

Feedback and bug reports

You can report bugs at the Sympycore Issue Tracker. Any feedback can also be sent to SympyCore mailing list.