MATHEMATICS, SIMULATION AND MODELLING
4 April 2007
Reviewed by Felix Grant
Core function features are vital, but not exclusively so. With an eye on the future Maple has, for some time, been radically developing its interface and this continues in release 11: what used to be one of the less friendly computer algebra environments is becoming, in many ways, one of the most imaginative.
A slide show mode, enabling presentations without leaving the original document, joins the incrementally improved document blocks (another release 10 introduction). Documentation of process includes automatic labelling of context menu operations. I’m not sure whether mathematical handwriting recognition (a brave though much misunderstood release 10 decision, now clearly labelled a ‘technology preview’) has improved or whether I have become more proficient. Either way, in combination with the enriched environment it now offers a definite view of where computer algebra interfaces will have to go – especially if used with a graphics tablet and pen or a tablet PC. There are numerous other small but collectively important aspects (interdocument referencing, various assistants, pop up annotation, marginal markers, enhanced formatting) of this combined ‘smart document’ approach, which could make a review or article of their own if space allowed. I involved a group of students in this review and, without exception, they demonstrated improved coherence, responsiveness and productivity both in individual work and in sharing or dissemination cycles.
Moving on from form to function, there are wide ranging enhancements across the board and half a dozen new packages.
Multithreaded code is a headline addition, taking advantage of multiple or multi-core CPUs through its own package (Threads) and separate mathematical engine. The facilities are still nascent, a basis (like handwriting) for exploring future possibilities, but playing with the tool set, which is already there, confirms the advantages and real development work can be started in particular areas that can benefit. Less dramatic refinements (but integrated into the existing environment) deliver improved performance through new algorithms, options and implementations. The Groebner package benefits most noticeably, especially the [Basis] command, and is supported by other efficiency gains across polynomial handling. Linear algebra and numerics see useful gains too (as an aside in that last respect Maplesoft has recently released a toolbox, the Maple-NAG connector, as a front end to Numerical Algorithm Group’s numerical C routines). Storage allocation, floating point handling (through hardware) and garbage collection have been tweaked to good effect.
The efficiency gains extend to graphics generation, which also sees low key, but usefully significant functional and aesthetic development.
Aside from the already mentioned Threads, there are three new packages (DifferentialGeometry, GraphTheory, Physics) plus a subpackage within each of LinearAlgebra and PDEtools. The new packages are well designed for Maple’s presence in the education market (and my student guinea pigs gave a thumbs up to the presentation, particularly in DifferentialGeometry), but are clearly intended for applied use. A wide selection of other packages receive overhauls at various levels from dramatic (Groebner, as noted above, is in this category) to useful. PDEtools is a dramatic case, from separability extension to a hefty complement of new commands and types, reflecting a general push right across the spread of differential equation solving.
Overall, this may be the most substantial landmark release of Maple for some time. More important, perhaps, is the evidence which it presents of strategic evolutionary directions and concrete platforms for user preparation to follow them.