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 & OpenSource

Mathics is licensed under GPLv3 and it's developed by an active community of volunteers. It's 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're 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 component’s 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 no more than this.

mathisscript

mathicsscript is a CLI client for Mathics. Some of it's features include:

mathicsscript is a CLI client for Mathics. Some of it's features mathicsscript can be installed via PyPI.

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 .

Some of its 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 Google groups mathics-users for discussions regarding using Mathics.

Contributing

Please checkout 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