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:

C:\Python27\python.exe C:\Python27\setup.py install

You can run the console version using:

C:\Python27\Scripts\mathics

and the web browser version using:

C:\Python27\Scripts\mathicsserver

When the server has started you can use Mathics by pointing your browser at:

http://localhost:8000/

From this point you can explore Mathics which is capable of doing a lot of impressive things. For example:

mathics2

 

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. 

mathics1

 

 

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.

Update: 

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).

More Information

https://github.com/mathics/Mathics

http://mathics.github.io

Related Articles

Buy A Pi For $25 And Get Mathematica Free       

Free Sage Math Cloud - Python And Symbolic Math

Jupyter 4.0 Completed By Release of IPython 4.0 

 

To be informed about new articles on I Programmer, sign up for our weekly newsletter, subscribe to the RSS feed and follow us on, Twitter, FacebookGoogle+ or Linkedin.

 

Banner


JetBrains AI Assistant - A Welcome Time Saver
28/02/2024

JetBrains AI Assistant saves developers up to eight hours per week and they appreciate its help.  77% of users feel more productive, 75% express that they are happier with their IDE experien [ ... ]



TypeScript 5.4 Adds NoInfer Type
12/03/2024

TypeScript 5.4 has been released, with the addition of a NoInfer utility type alongside preserved narrowing in closures following last assignments. 


More News

 

raspberry pi books

 

Comments




or email your comment to: comments@i-programmer.info

 

Last Updated ( Sunday, 13 March 2016 )