.. _cas: Computer Algebra Interfaces --------------------------- DDA implements a few parts of computer algebra system (CAS), especially with it's :ref:`abstract-syntax-tree`. Since we don't want to reinvent the wheel, we interface with common computer algebra systems. There are at least two popular for the Python ecosystem available: - `SymPy `_, bundled within the `SciPy `_ package, can be easily used as a pure python library. - `Sagemath `_, which is more of a monolithic software. The symbolic foundation of sage is provided by `Ginac `_ and `Pynac `_, respectively. Many open source computer algebra systems are bundled with sage, such as `Maxima `_ and `Octave `_. Furthermore, interfaces to many others such as `Maple `_, `Mupad `_ or `Mathematica `_ are part of sage. So far, we had quick success with adopting SymPy (see next section). SymPy module API reference ^^^^^^^^^^^^^^^^^^^^^^^^^^ .. automodule:: dda.sympy :members: