|Mathics 0.9 - Open Source Mathematica Compatible|
|Written by Mike James|
|Tuesday, 08 March 2016|
Mathematica is a big powerful math package, but what do you do when you can't justify its cost? Mathics is an open source math package that has just reached version 0.9 and it is a possible alternative.
The Mathics project is small compared to the resources that Wolfram can throw at Mathematica so don't expect a full clone of the commercial program. However, it is close enough for many purposes.
It implements the Mathematica script language, now often referred to as Wolfram Language, with Sympy, the Python symbolic library, as the back end. If you can't do it in Sympy the chances are you can't do it in Mathics either. You can use it either via the command line or a Django web based interface. The command line is fine for working with symbolics and the web interface provides the notebook style interface used in Mathematica.
Installation is easy once you know how, but the instructions given are misleading as they haven't been updated from the earlier version. So for follow this procedure:
Install Python 2.7, download and extract Mathics and use the install script.
Installing under Windows isn't well documented but it is also easy. Install Python 2.7 from https://www.python.org/downloads/
This by default installs Python into C:\Python27\
Download the Mathics zip file extract it into the Python directory and install using:
You can run the console version using:
and the web browser version using:C:\Python27\Scripts\mathicsserver
When the server has started you can use Mathics by pointing your browser at:
From this point you can explore Mathics which is capable of doing a lot of impressive things. For example:
It can also do less visually impressive things like calculus, linear algebra and general algebra. It's not as strong on difficult cases as Mathematica is - you will find integrals and differential equations that Mathematica can do that Mathics can't but it is surprisingly good. It feels like using Mathematica except for the User Interface which is very limited by comparison - no palettes for example.
Also new is IMathics 0.1, a Jupyter kernel for Mathics. Jupyter, which used to be called IPython should provide a richer workbook environment for Mathics in the future. At the moment it is very early days and graphics aren't supported.
Mathics isn't a threat to Mathematica sales because Python is too slow to make it usable for industrial level projects, but it is good enough for educational and experimental use. As a Mathmatica user who can no longer justify buying a copy for occasional and very non- mission critical use, Mathics is a welcome addition to my desktop.
It is an open source project that could use your help if you are a Python programmer with an interest in math.
My one reservation about Mathics is that it uses Python 2.7, which is the last in the Python 2.x line. It is going to be available until at least 2020 - but that's not that far distant now and more and more Python programmers are adopting the Python 3.x, a trend I think should be encouraged. One reason that used to inhibit projects from making the switch to Python 3.x was that the libraries they relied on didn't support it. In the case of SymPy it does support Python 3.x and so it has to be hoped that Mathics will follow this lead in a future ypdate.
It seems I got it wrong. Mathics does work under Python 3 as an email from Angus Griffith (Mathic's lead developer) clarifies:
The recent release of Mathics, version 0.9 does support Python 3! It's the first release of Mathics to do so. We now support Python 2.7 alongside Python >= 3.3. There was one small library, interruptingcow, that was blocking our upgrade to Python3. We were using this library to control evaluation timeouts on the online mathics mirrors but that section of the Mathics codebase has been rewritten (also fixing some other issues).
or email your comment to: firstname.lastname@example.org
|Last Updated ( Sunday, 13 March 2016 )|