*Greatly enhanced feature set flattens learning curve*

click to enlarge FIGURE 1: Standard interface in document mode. |

As the title implies, this is software for doing mathematics. It’s been a while since I have reviewed this package and, since the developers once again enhanced the ease-of-use features, it’s time for another look. There are a number of enhancements (as usual) in this go-around that are worthy of note, and the Maplesoft folks again added several features to flatten the learning curve and relieve any angst on the part of the novice.

The trend in most scientific software these days is toward simplicity, and this has been especially true in the mathematics sphere. As we get to the point where there is little in the way of new mathematical routines to add, and there is not the huge use of diagnostics as in statistics, the natural tendency is to enhance the efficiency of the algorithms, customization, internet connectivity, file sharing and the aforementioned ease-of-use. Maple has long been known for its strength in the mathematical routines and facile learning curve among students and engineers, so let’s take a closer look at the new features, operations and special areas.

**New features in version 12**

What’s new in this version of Maple? Plenty! Table 1 lists overview ‘bites’ of the more important features. For a complete list, see the downloadable brochure at www.maplesoft.com/products/Maple/new_features/pro/index.aspx. Among the more important features to many users will be the enhanced ordinary and partial differential equation (ODE and PDE, respectively) solvers and numeric solutions for initial value problems with ODEs, many new plotting and array tools, additions to the differential geometry, linear algebra and number theory areas, as well as significant enhancements to the user interface and connectivity packages. For the programming aficionados, there is improved syntax for a number of areas, simpler notation, new commands and a new security package.

**System requirements**

Maple 12 will work on Windows (2000, 2003, XP, Vista), Macintosh, UNIX, Linux and Solaris. This review was done on the Vista operating system. The following are the developers’ system recommendations:

• CPU — AMD X86_64/1 GHz/Intel Xeon/Intel 64

• RAM — at least 512 MB

• Hard disk — 1 GB

**Documentation**

click to enlarge FIGURE 2: Solving and plotting |

Printed documentation is not extensive but is adequate to get both the novice and more experienced user started. The following manuals come with the professional package: *Getting Started Guide*, *Resource Guide*, *User’s Manual*, *Introductory Programming Guide* and *Advanced Programming Guide*. There are also several Quick Reference Cards that the new user will find helpful. The authors of the manuals, mindful of an aging population, were kind enough to use a larger typeface.

Even a cursory reading of the examples in the *Getting Started Guide* will demonstrate the lengths that the developers have gone through to assist the novice with every imaginable task. For example, the assistants available for plotting have so many options and sub-dialog boxes that to drill through all of them reveals a range of choices that approach awesome. If anything, the novice may be in danger of being overwhelmed. Suffice it to say that a half-hour with this manual and an hour or two with the *User Manual* will provide a fine starting point. After that, there are extensive helps on-line, both within the program itself and on the Internet. I was able to solve many frustrating problems within minutes by using the full range of supports.

**Mathematics and graphics**

There are several choices of user interface, a longtime Maple feature. They now include a graphing calculator that some will find useful for quick calculations and often needed plots. The default is the standard interface shown in Figure 1. This will be most often used and is full-featured with a workspace, palettes and a Quick Help box, as well as the menu and toolbars.

click to enlarge FIGURE 3: Customizing the graph. |

To begin actually doing some math, the user can work through tutorials, follow some examples in the manuals, or just start typing (my personal favorite!). There are numerous shortcuts to enter mathematical expressions, as the analyst can resort to the many palettes, use stored expressions previously built (great for very long functions and series of equations), or use popup menus.

As a fast lesson in solving and plotting with ease, the results in Figure 2 were generated by merely typing a short expression, highlighting it and clicking on it to get a context menu, selecting integration and generating the answer. Then, by clicking on the answer for another context menu and selecting Plots and 2-D Plot, a curve is generated. If the equation is changed and the calculation re-executed with a single menu button, the new expression can be plotted by merely clicking on it, holding down the <Ctrl> key and dragging the expression onto the plot. Likewise, configuring a graphic with special features (e.g., special grids, line color and thickness) is a simple operation with the Plot Builder, a specialized series of Wizards and dialog boxes (Figure 3).

The above capabilities are almost ho-hum when considering the advanced features such as dials, gauges and components. By selecting Dial and Plot symbols (a mere click and drag), customizing the component properties (a simple right click and dialog selection), and adding a few lines of programming (sometimes so straightforward that even your editor can do it) to the ‘Action When Values Change’ box, a working dial is created that will dynamically change the graph as certain values/properties of the equations change (Figure 4).

Did I neglect to mention that Maple does much more than fancy graphics? The lie algebras section under Differential Geometry was breathtaking (I know I was choked up!). From the new user roadmap to the minutiae of theoretical mathematics, it’s all here.

click to enlarge FIGURE 4: Dials/components for graphics |

**Programming**

The Maple Programming Language is somewhat “C-like” and, as such, will be familiar to many programmers. Although the manuals claim that expert programming skills are not required, more experienced programmers will have a far easier time. The novice can try the examples in the two manuals and, after awhile, things will get a bit more intuitive. This language is no more difficult than most specialized languages common to mathematical software, and a little easier than many.

**Toolboxes**

These useful add-ons now include:

• connectivity and use with MATLAB, Simulink and NAG

• global optimization

• grid computing

• financial modeling

• Internet deployment of Maple documents

**Summary**

The scope of modern mathematical software becomes broader with each version. The capabilities are greatly enhanced but, surprisingly, they become easier to use in many respects. Packages such as these are best acquired at the student level so expertise is gradually gained and strengthened. By the time these students go out into the work world, they hit the ground running and are capable of formulating and deploying very sophisticated models. Maple 12, with its many assistants, is an excellent teaching tool above and beyond the problem solving capabilities. To differentiate itself from the herd however, Maple takes pains to simplify the operations.

**Availability**

• $1,895 commercial

• $995 academic

• $99 student

**Maplesoft**

615 Kumpf Drive, Waterloo, Ontario, Canada, N2V 1K8

1-800-267-6583 (U.S. and Canada) 1-519-747-2373

www.maplesoft.com info@maplesoft.com

*John Wass is a statistician based in Chicago, IL. He may be reached at editor@ScientificComputing.com.*

**TABLE 1:** **Maple 12 Enhancements**

**SMART DOCUMENT ENVIRONMENT**

• Dials, gauges and buttons

• Exploration assistant

• Plotting enhancements

• Code edit regions

• Start-up code region

• Command completion templates

• Document layout templates

• Headers and footers

• Documentation and manuals

• Other interface enhancements

**COMPUTATIONAL ENVIRONMENT**

• Control systems design tools

• Differential equations

• Wavelet transforms

• Data Interpolation

• Performance

• Programming

• Multi-threading

• mathematics

**EXISTING WORKFLOW INTEGRATION**

• CAD connectivity

• MATLAB to Maple code translation

• Code generation

• connectivity