Mathics 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 Mathics are described below, along with their dependencies, be they system package or Python package dependencies.

Mathics Core

The Mathics core is required for any work with Mathics.

If you are developing a non-interactive application written in Mathics, you may need no more than this.

mathicsscript

mathicsscript is a fancier command-line client for Mathics.

mathicsscript screenshot

mathicsscript features:

Mathics-Django

This is a browser-based webserver with MathML-formatted output and Three.js graphics.

Mathics-Django screenshot

It features:

To use this, you will need Django installed and a browser with JavaScript enabled.

For more information on how to install Mathics see mathics-development-guide.readthedocs.io/en/latest/installing .

Documentation

Documentation for the Mathics system is provided in the PDF format (download the PDF). You can find internal documentation at mathics-development-guide.readthedocs.io/en/latest/.

Support

Use the mathics-users mailing list for discussions regarding using Mathics.

Contributing

Please check out our contributing guide at mathics-development-guide.readthedocs.io/en/latest/developing-code/contributing-developing. Developers wanted! Please get in touch if you want to be part of this awesome project.

GPLv3 logo

Free software

Mathics is licensed under the GNU General Public License GPLv3 and is developed by an active community of volunteers. Its source code is freely available in repositories under the Github organizations Mathics and Mathics3.

Python logo

Python

As a collection of Python packages, Mathics is intended to be used as a whole or from other Python packages and code.

On the Shoulders of Giants

This project is only possible due the work of countless volunteers, which includes people who worked on software used internally by Mathics such as: