25 January 2012
Reviewed by Felix Grant
Last reviewed in its version 2, mathStatica sees impressive developments with this upgrade – both in its own right and in its utilisation of new features in Wolfram Mathematica 8 (which it requires). According to the documentation, these are built on a 60 per cent expansion in the code base; I have to take that on trust, but the resulting benefits are empirically verifiable without any special effort.
Starting the program, the visible changes are a new and well-designed scrolling palette design to accommodate expanded content (with distributions now organised by domain) and a permanent entry in Mathematica’s palettes menu. Both, in themselves, make the product more productive.
In use, the most immediately noticeable thing is speed. Leaving aside the inherent advantage of mathStatica’s conceptually distinct symbolic approach to statistical calculations, which in itself makes everything considerably faster than Mathematica alone, this is down to improved efficiency and transparent parallel processing. Multiple cores are picked up and used without any user action or even awareness. I didn’t attempt to conduct scientific benchmarking, but my quick and dirty experiments with combinations of functions I use regularly suggest that a dual core machine cuts delivery time for results by anything up to 40 per cent compared to a single core, with subsequent doubling of cores cutting the time by roughly the same proportion.
Comparing mathStatica to raw Mathematica over the same functions saw improvement by factors of up to 30, though somewhere between five and 10 was the average figure across all trials. On a dual core machine, a large shopping basket of varied work selected to be representative of my own real day to day activity was dealt with in roughly a third of the time required by the previous release. A welcome cosmetic touch is the presence of progress indicator bars which, while they make no actual difference to anything, do subjectively make waiting times seem shorter!
Moving on to the work itself, my favourite bits were in the handling of multivariate problems, particularly the beautiful handling of multivariate discrete distributions. MDD usage is integrated into the new and improved territories of the Prob function, along with the improved piecewise handling which in many circumstances further enhances mathStatica’s separation from Mathematica in terms of quality and elegance.
Non-rectangular domains are a potential headache to which mathStatica extends a new air of calm and simplicity, using Wolfram’s own piecewise provision in combination with standard domain expressions.
There are, of course, as in most upgrades, numerous other improvements, additions, tweaks and so on, plus those in the underlying Mathematica system from which mathStatica can cherry pick at will. Over all, taking both the major extensions and the incremental details together as a whole, the result is a thoroughly comprehensive upgrade to what was already a very impressive product that is effectively unique in its market niche.