Mathics is a free, open-source general-purpose computer algebra system featuring Mathematica-compatible syntax and functions. It is backed by highly extensible Python code, relying on SymPy for most mathematical tasks.

GPLv3 logo

Free software

Mathics is licensed under GPLv3 and is developed by an active community of volunteers. Its source code is freely available at our GitHub repository

Python logo

Python integration

Mathics is primarily a Python library, which means it can interact with other Python packages!

mathicsscript screenshot

Flexible clients

Mathics is built to work on multiple clients. The main ones are mathicsscript (a GNU-like CLI client) and mathics-django (a Django-based web interface). We are also working on a Jupyter kernel for Mathics.

Installation

Mathics is broken up into a number of pieces in order to facilitate using the parts of you desire. This can also reduce the vast number of dependencies to those that you need and the footprint to run. The pieces are described next with the components' OS and 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 CLI client for Mathics. It features:

mathicsscript is deposited on PyPI and can be installed via pip.

Mathics-Django

If you prefer, as many do, browser-based interaction with nicely formatted graphics and MathML-formatted output, right now there is a Django-based PyPI package Mathics-Django .

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.

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:

Screenshots

mathicsscript
mathicsscript screenshot
mathicsscript
mathicsscript screenshot
mathicsserver
Mathics-Django screenshot