MODELLING AND SIMULATION
Maple 14 and MapleSim 4
16 June 2010
Reviewed by Felix Grant
Upgrades to Maplesoft's flagship computer algebra package Maple and high profile simulation sibling MapleSim have now firmly established an annual pattern of linked release, with versions 14 and 4 respectively having recently appeared. Since MapleSim draws its power from Maple, it therefore makes sense to make a shift from past practice and review them together.
To begin at the beginning, in terms of workflow, Maple starts off with further improved data import. The new Excel 2007 file format (.xlsx) can now be read directly, and wrinkles have been ironed out of CSV handling. The import process, as an interactive activity from the visual worksheet, is also more intuitively transparent although I feel it still has a few more layers of polish to go: manually typing in an Excel range, for example, seems (in the GUI-based environment that Maplesoft has now so successfully built) a little anachronistic.
In use, responsiveness yet again shows noticeable increase across much of the package. This is a combination of actual computational efficiency advances, new approaches or components, extended threading, and interface development, and will obviously vary according to usage. To benefit from some, you will need to have specific hardware – dramatic matrix multiplication accelerations in the LinearAlgebra package, in particular, require that a Compute Unified Device Architecture (CUDA) enabled graphics processing unit be present. Nevertheless, a definite and welcome ramping up of efficiency and convenience is there for everyone.
That CUDA acceleration is one of two completely new packages, the other being DifferentialAlgebra. Replacing the previous diffalg equivalent, this is radically rewritten with a range of improvements to both handling and performance. More convenient, more flexible, more capable, this package on its own is a clear justification for upgrade to anyone to whose work it is relevant.
There are, as you'd expect, enhancements to several existing packages (ten of them: DEtools and PDEtools, DynamicSystems, Groebner, IntegerRelations, LinearAlgebra, RegularChains, RootFinding, StringTools and Threads[Task])There is a lot of generalised development, offering advantages to a wide area of work. Maple now 'knows' more about symbolic differentiation orders, for example, one of several core mathematics increments. Hardware float entries can take base 2. Access to polynomial solvers is streamlined.
Moving back from core function to supporting environment, a new departure in Maple is the 'cloud' pallette. Unlike familiar web-based document exchanges in Maple or similar products, this one moves outside the product publisher's domain to a Google mediated space permitting public, and private groups with shades between.
MapleSim also sees new material and facilities. A new default stiff simulation solver and a range of templates have been added and their structure redesigned. A dozen new components have been added across four libraries.
The drive towards simpler, more flexible and transparent use also continues in MapleSim. Improved handling of probes, subsystems and comparisons with previous runs, plus an intuitive debugging console, make for even quicker and more hassle-free work in an environment that was already impressive. As icing on the cake, everything can now be done in either block or 3D views, shifting back and forth at will, alterations in either reflected in the other, adding an extra layer of instinctive connection which further lubricates the workflow.
Both products were tested, and performed very happily, in the restricted quarters of an Atom-based netbook running Windows XP in 1Gb of RAM, but also showed their ability to make good use of 64-bit Windows 7 on a multicore machine with 4Gb. A minor curiosity was an occasional reluctance of Maple to start an the first click on the latter machine when a number of other programs were already running, but this may well be a local anomaly specific to my context; a quick check around produced nobody else who recognised the effect.