Welcome to sym’s documentation!¶
Contents:
Indices and tables¶
sym¶
sym provides a unified wrapper to some symbolic manipulation libraries in Python. It makes it easy for library authors to test their packages against several symbolic manipulation libraries.
Currently the following Python pacakges are available as “backends”:
The capabilities exposed here are those needed by
and include:
- Differentiation
- Numerical evaluation (including “lambdify” support)
see tests for examples.
Documentation¶
Autogenerated API documentation is found here: https://pythonhosted.org/sym (and dev docs are here: http://hera.physchem.kth.se/~sym/branches/master/html).
Installation¶
Simplest way to install sym and its (optional) dependencies is to use pip:
$ pip install --user sym pytest
$ python -m pytest --pyargs sym
or the conda package manager:
$ conda install -c bjodah sym pytest
$ python -m pytest --pyargs sym
Source distribution is available here: https://pypi.python.org/pypi/sym
Example¶
Differentiation
>>> from sym import Backend
>>> be = Backend('pysym') # just an example, use SymPy rather than pysym
>>> x, y = map(be.Symbol, 'x y'.split())
>>> expr = x*y**2 - be.tan(2*x)
>>> print(expr.diff(x))
((y**2) - ((1 + (tan((2*x))**2))*2))
for more examples, see examples/, and rendered jupyter notebooks here: http://hera.physchem.kth.se/~sym/master/examples
License¶
The source code is Open Source and is released under the simplified 2-clause BSD license. See LICENSE for further details. Contributors are welcome to suggest improvements at https://github.com/bjodah/sym