MATHEMATICS, SIMULATION AND MODELLING
30 May 2007
Reviewed by Felix Grant
New software releases, especially major version numbers, are always accompanied by expansive talk of their significance; and the founder of Wolfram Research is well known for couching discourse in epic terms. Release 6 of Mathematica, however, marks a shift which really does seem to justify the hype.
Much has, of course, happened below the surface, extending Mathematica’s power and reach, as one would expect from a market leader with an existing user base. The big story, though, is above the surface where dramatic developments clearly flag a widening of attention by Wolfram to embrace new target audiences, which have not traditionally been users of mathematical software.
There are significant core developments ranging from significant speed and efficiency gains up through completely new algorithms for existing methods to extended reach and new function classes. Working with these has become much more friendly, too, with a colour-coded visual debugging scheme which runs in real time as you type, and with the arrival of drag-and-drop line assembly. These are details within a greatly enriched general notebook environment.
The graphics language has grown, and plotting sees a series of improvements amounting to complete overhaul. Quality of both on-screen rendition and output has been polished, discontinuities are recognised and represented, many aspects and defaults have been intelligently automated, good use made of visual transparency, options and predefined colour schemes added. For complex plots, sampling density is increased in regions of rapid change and reduced in those where little is happening; the result is better resolution and improved visualisation without concomitant loss of efficiency.
Oh yes, and 3D plots finally acquire real time manipulation – grab the graphic with the mouse to resize, spin and tumble it at will for examination from all angles. Not just with a mouse, in fact, because Mathematica now takes plug-and-play input from other input devices from game controllers to blowball and voice pulse selectors.
If that last seems like a gimmick, it’s not; it fits in perfectly with the obvious strategic push to capture new users. A quick test indicated, for example, that undergraduates without computer algebra experience become comfortable with plot manipulation more rapidly through a joystick than through a mouse, and a quadriplegic user was doing exploratory work fairly quickly once the connection to his blowball (normally used for word processing and speech synthesis) was sorted out.
This quest for inclusive widening of participation is visible throughout the release. It is now a simple matter, sometimes trivially so, to provide objects and interfaces for users with no Mathematica (or even mathematical) expertise and perhaps no wish to acquire any. Wrapping a plot in the new Manipulate construct, for instance, provides a set of on-screen sliders which adjust equation variables with the results echoed in the plot. Each slider can be expanded to become a miniature control panel for a player, with adjustable speed and direction players, allowing free running demonstrations of the interaction between variables. At the other end of the scale, complete packaged applications with tailored interfaces are now relatively easy to assemble from symbolic building blocks.
Another major new direction is data analysis with not only improved methods but a new ‘curated data’ service – effectively a portal for simple and standard access to external data sources, in forms ready for symbolic handling in Mathematica.
The whole area of mathematical software is gathering itself for radical change, and release 6 shows that Mathematica is firmly part of that. In conversations official and unofficial with people inside Wolfram, the genuine excitement is obvious and justified. Words like ‘redefine’ and ‘leap forward’ are over used, and I’ve hesitated to employ them, but this release does represent a leap forward for Mathematica and a redefinition of its place in the scientific computing marketplace.