wxMaxima CAS is Amazing
Yesterday I forgot my beloved Casio FX991-ES calculator at my friends’. At the moment I am very busy preparing for my math exams at March 19th, so this unfortunate situation had to be resolved somehow.
The Mac OS X Snow-Leopard on my surf-station (it’s a MacMini if you wonder) has a cheap scientific calculator. It’s neither capable of calculating functions, nor can you enter complete expressions but have to work with intermediate results as only a single expression can be entered at a time. It follows the value->operator->result approach, I am not all too deep into calculator techniques, so I don’t know how that’s called exactly.
In contrast the Casio-FX991-ES features a sophisticated 96*96 dot matrix display which you can use to enter complex expressions using graphical representations. You can do pretty much everything I need for school with this calculator, it has a great matrix mode and the statistics features are also very nice. Additionally it has shortcuts for the 40 most important natural constants, so I don’t have to type e=1.6*10E-19 all the time. Only downside is that it’s a little slow calculating approximations for integrals or iterating the newton algorithm, but that’s okay as I don’t need to do that very often.
I googled a little and found an Open-Source CAS called Maxmima. It’s cross platform but unfortunately it’s only a command line application, so I needed to find a good GUI for it. Since I do extensively work on MacOS, Windows and Linux at the moment and do often switch back and forth, a uniform cross platform GUI is a big bonus for me (as it was with Diffmerge, a merge/diff tool in one of my recent posts). The best GUI I could find meeting these requirements was wxMaxmima, a LaTex based front end built on wxWidgets.
Unfortunately the input formatting is not as nice as it’s on my FX991-ES, however the results returned by Maxima are (graphically) formatted using the jsMath TeX font (which I do strongly recommend to install, it won’t get installed automatically. See the instructions.)
What I do really like about wxMaxmima is the ability to create “interactive” documents, as they demo with their great tutorials. As a wxMaxima document is basically a LaTeX document you can apply all the crazy formatting, can include interactive GNUPlot diagrams and a lot more.
It has a very clean syntax and supports all the important algorithms you need and it’s easily programmable if it doesn’t. Particular cool is the ability to simplify expressions. Another thing I which I think is really great is its great menu structure and an auto-completion for all the available commands, making it feel a little like a good IDE.