Mathics3
Mathics3 is a free, open-source general-purpose computer algebra system featuring Mathematica®-compatible syntax and functions. It relies on a number of other Python libraries in the Python ecosystem.
Components
Mathics has a modular design, allowing to reuse parts of it and run them with tailored dependencies and minimal footprint.
To run the full Mathics, a complete Docker image is available at DockerHub.
To install everything locally without Docker, use the Mathics-omnibus Python package available from the Python package index.
The pieces that make up Mathics3 are described below, along with their dependencies, be they system package or Python package dependencies.
Mathics3 Kernel
The Mathics3 Kernel is required for any work with Mathics3.
If you are developing a non-interactive application written in Mathics, you may need no more than this.
Code repository: mathics-core on GitHub
mathicsscript
mathicsscript is a fancier command-line client for Mathics3.
mathicsscript features:
- terminal interaction using either
prompt_toolkit
or GNU Readline. This includes
- saving command history between sessions
-
variable completion, even for symbol names like
\[Sigma] - limited ESC keyboard input; for example ESC+p+ESC is π
- syntax highlighting using pygments
- automatic detection of light or dark terminal background color.
- entering and displaying Unicode symbols such as used for Pi or Rule arrows
- Code repository: mathicsscript on GitHub
- Python package: mathicsscript on PyPI
Mathics-Django
This is webserver with MathML-formatted output and Three.js graphics.
It features:
- extensive online documentation and interactive documentation via Ajax
- integrated graphics and MathML mathematics output via MathJax and Three.js
- notebook-like sessions
To use this, you will need Django installed and a browser with JavaScript enabled.
- Code repository: Mathics-Django on GitHub
- Python package: Mathics-Django on PyPI
For more information on how to install Mathics3 see mathics-development-guide.readthedocs.io/en/latest/installing .
Documentation
Support
Contributing
Python
As a collection of Python packages, Mathics is intended to be used as a whole or from other Python packages and code.