Felix Grant is impressed by a trio of recent add-ons from Maple
Like the London buses for which I'm patiently waiting as I type, three Maple add-ins came along at once recently. All promise to extend the capabilities of release 10 in different ways - one internal, one bringing in the functionality of an outside product, and one providing outward support for another. Two have been pressed into service in a speciation study - several steps outside my usual working habits but, in every case, both educational and effective.
Splinex nVizx is a standalone program, but provides support for external programs though dedicated plugins. My review copy came as a MapleConnect expansion, but a Mathematica version is also available; it also talks to Excel.
Many things can be done faster, more intuitively, more productively and (let's be honest) more enjoyably, by rolling up your virtual sleeves to pull, poke and squeeze an object to see what happens - which is exactly what nVizx offers. The combination of Excel with a computer algebra package like Maple in a tactile 3D graphics space is a good one, giving a three-way view onto a problem. I had available a lot of relatedness data from sundry sources, and some theoretical models that purported to explain them; being able to toss around visualised forms of both in real-time manipulation was exhilarating and informative.
Ignoring earnest information about methods, using nVizx is like being given a lump of infinitely elastic clay and an infinite space in which to play. Set up an idea in Maple; ask nVizx for a visualisation of it; turn the result over, look from different angles, compare to what you had in mind. Illuminate it from different directions, in different colours; texture or pattern the surface to reveal tensions and distortions. Approximation algorithms provide subjectively instantaneous response, and you can save the results as graphics or OBJ files for use elsewhere. Then look back at what has happened in the data grid, to learn a great deal that would have taken forever in more formal ways. You still need the formal stuff to back up what you've learned - but not on the run-up.
Warning: you may be seduced into spending time placing unlikely alien artefacts into Terragen landscapes, ostensibly for the five-year-old Dr Who fan in the family, when you ought to be working. Shame on you.
You may be tempted to investigate in nVizx the landscapes of hills, valleys and saddleback passes resulting from outputs plotted against interaction of nonlinear criteria - stability of a species population against environmental factors and limits, in my case. In practice, though, most real situations are more jagged in form and higher in order than those in neat 3D illustrative examples. Visualisation remains useful for examination of subspaces, but serious searches for optima are better done within numerical solution environments such as MapleSoft's new Global Optimisation Toolbox.
As is usual, Maple seeks to combine the best features from different methods into a compound approach for dealing with literally thousands of variables and constraints. Two random search based strategies (multi-start and global adaptive) are provided: the first searching locally from start points selected by randomisation modified to reflect domain topography, the second iteratively mutating and eliminating solution candidates in 'survival of the fittest' process. Given knowledge about the problem structure, branch- and bound-based searching defines candidate subsets and iteratively 'squeezes' them within progressively tighter bounds. With solution zones suitably corralled within non-degenerate limits, reduced gradient methods further refine them.
Working within a symbolic package like Maple allows use of its native facilities, and any appropriate function, either as a formula or a procedure, can be picked up and used as an optimisation constraint or objective to arbitrary precision. The prospect of then using Maple to build and test blocks for Simulink (the multiple domain simulation platform from The Mathworks, home of Matlab) is appealing; Maple BlockBuilder, while released too late for me to try, offers that. Working in Maple and its Global Optimisation toolbox, playing in nVizx , I've the first early inkling of several insights which could be packaged up and used as packaged modelling components - such as Simulink blocks.
And now three London buses have arrived, all heading for the Natural History Museum. Time to pack up my Maple and go.
Maple block builder
|Adept Scientific||Maple global optimisation toolbox