Mention one of the Ms of mathematical software in the wrong company, and things are liable to erupt into a near-religious war. The Big 3—MATLAB ( ), Mathematica ( ), and Maple—have provided scientists, engineers, and students with a broad selection of technical computation tools for more than 20 years. This has resulted in a veritable land o plenty for those of us who need these sorts of programs.
Imagine if there were a half-dozen high-quality, Photoshop-caliber image-editing applications out there, constantly pushing each other to improve. As a result of this kind of competition, technical-computation systems have innovated at a dizzying pace.
The latest development comes from Maple, now at version 12. For this update, Maple has chosen to build on its strengths as a pedagogical tool and to strengthen its ties to the engineering and technical-computing arenas.
Like its closest competitor, Mathematica, Maple’s original strength was in symbolic algebra. Over the years, both programs greatly enhanced their numerical-computation capabilities to bring them roughly up to par with MATLAB.
For most people, the choices between such packages are aesthetic and pragmatic but much of the choice also has to do with the system you were trained in. The learning curve for all these systems is quite steep, and even though there is much conceptual similarity between the packages, the devil is, as always, in the details.
On the engineering front, Maple 12 has been updated to work with a wide variety of CAD environments, including SolidWorks and Autodesk Inventor. Alas, neither of these runs on the Macintosh natively, so this feature is not an option for Mac users. Maple 12 does support the exporting of figures in DXF format, and sophisticated users can always leverage the Maple application programming interface to write their own connections.
Of particular interest in version 12 is the optional MATLAB add-on toolbox that not only provides for communication between MATLAB (a numerical computing environment and programming language) and Maple, but which allows users to leverage their existing MATLAB code by converting it into native Maple. This will no doubt be of great benefit to those interested in making a transition from the clunky X11-based MATLAB environment or to folks with a large investment in legacy MATLAB code. This, in combination with new dynamical systems tools, is sure to appeal to engineers and scientists who regularly find themselves with control-system and state-space types of problems.
Like the statistical workhorse SPSS ( ), Maplesoft has decided to implement its user interface in Java to enjoy the benefits of (almost) write once/run anywhere. The main benefit to users is that, as long as Apple keeps its Java Virtual Machine well supported and tuned up, were likely to continue to see cross-platform parity with Maple.
In this revision Maple is snappy and more Mac-like than many other Java-based programs. The palettes are well designed and make the input of mathematical expressions a lot easier. Some of the dialog boxes can feel a bit bloated with options, but overall there is a good balance between usability and complexity. The underlying engine responsible for Maples calculations is compiled from its C/Fortran roots and runs in 64-bit modea great benefit for folks who need lots of memory for handling large problems.
Maple has improved on the traditional lab notebook style interface with its so-called Smart Document Environment. Since the inception of its graphical interface, Maple has focused more closely on the interactive quality of mathematical computation, as opposed to the more traditional command-line or programming-style interface. Like its competitors, Maple has added interactive components such as dials, buttons, and gauges that let users control and monitor the flow results of computations.
Maple allows you to directly manipulate and calculate problems using Mac OS Xs contextual-menu features. When you click on an equation (or part of an equation), a set of context-sensitive commands appear in the menu, letting you perform the most common operations without needing to type in programming syntax. This makes for a slightly less traumatic experience for students and other novice users intimidated by the blinking input cursor.
Two interactive tools are worth noting: the Plotting Guide and Exploration Assistant. Like the contextual menu, these tools allow users to create plots and interactive features, respectively, without coding. The Exploration tool automatically detects the variables in an expression and creates sliders that allow users to interactively see how the results change with the variables.
Similarly, the Plotting tool takes some of the pain out of creating graphical presentations from data and expressions. This tool detects variables and offers reasonable graph types. For example, you wouldn’t need to make a 3-D graph from a one-function variable, so only the appropriate 2-D graph types are available from the program in that case.
With both of these assistants, you can perform simple manipulations, as well as some complex tasks, without too much effort. But to fully utilize the power of the interactivity offered by the program, you might need to edit a little code. To this end, Maple 12 has refined the code editor to be more syntax-aware.
Users with large data sets can use Maple 12’s new built-in database connectivity to access JDBC-compliant databases, such as MySQL, Oracle, Microsoft Access and SQL, IBM DB2, and Sybase. You can create databases, perform queries, and make updates directly from Maple, with the conversion between data formats handled automatically.
Macworld’s buying advice
Maple 12 provides several good reasons to upgrade, with its new interactive features being key. Plus, the programs new MATLAB and dynamical-systems functionality are likely to earn a few converts from other systems. Happily, the landscape for interactive mathematical analysis on the Mac is healthy and thriving, and companies like Maplesoft seem intent to keep it so for years to come.
[Flip Phillips is a Professor of Psychology and Neuroscience at Skidmore College.]