MODELLING AND SIMULATION
1 June 2009
Reviewed by Felix Grant
Things are moving fast at MapleSoft, these days. Since review of release 11, two years ago, there have been two major upgrades to Maple accompanied by versions 1 and 2 of the new MapleSim (of which more separately, although Maple power underpins them).
For quite some time, now, evolution of the GUI has been a constant aspect of Maple development and, while no longer so dramatically obvious as in the first stages, this continues. In particular, life gets increasingly easier for new users (or those who work across more than one computer algebra product), with a range of prompts, resources and aids.
This starts with tailored help facilities, assistants and feature tutors, including a new front portal and task templates, takes in a rich contextual provision including right click Dynamic Systems menu, rounding off with bulk document conversion, PDF export and MathML copying to the clipboard. I spend a majority of my mathematical time inside a completely different CAS environment, and have noticed that temporarily shifting into Maple gets easier with every release; with 13 it has become hardly any effort at all.
Moving behind the interface, the core symbolic business continues to grow. Enhanced regular chains to handle constructible sets and parametric polynomial systems were one of several highlights in release 12, as was new handling of vector structure pairs in the Equate command. Yet another swathe of improvements arrives in 13, including solve and integration enhancements which considerably increase both sophistication and reach. Differential equation handling, ordinary and partial, exact or numeric, continues from strength to strength with added intelligence which includes, where appropriate, higher order shifts or combined methods.
Multidimensional array interpolation, procedure systems solution and compiled complex arithmetic were added to the numeric capability in release 12, and more subtle enhancements appear in 13. A new tensor package for differential geometry joins the five for dynamic systems, SQL database connection, bitwise operations, CAD package communication and security from 12, plus the usual gamut of package enhancements too numerous (twenty five in all, from d'Alembertian coefficients to intelligent thinning of large data sets) to detail.
There are a couple of adjustments to the Maple language in 13, including a very satisfying syntax extension enabling distribution of an operator or function over elements of an array simply by appending a tilde. Programming facilities see several extensions in both releases, including (in 13) improvements to multithreading and launch of external processes.
Across the two versions there are a dozen upgrades to graphics and visualisation, particularly in 13. Viewpoint animation (fly through) is probably the most dramatic although detailed improvements in rendering, performance and usage options are at least as important in their quieter way. Numerous performance gains, in terms of both execution speed and resource usage efficiency, are to be found in other areas as well.
Returning to ‘beginner friendliness’, if I may, Maple development embraces the unspoken duty of such software to educate as well as perform. The student learning mathematics, specifically catered for by a web of dedicated provision including (for example) the new Student[NumericalAnalysis] package in 13, is only part of this. Most of us can find unexplored areas within the territory now covered by any computer algebra system. To do is the best way to learn and, if it’s not too unscientific to say so, Maple 13 is the release in which I enjoy doing unfamiliar mathematics just for the pleasure of it.