# maple 8 keeps everybody happy

*Ray Girvan* is impressed with the upgrade to the mathematics package, finding it genuinely useful to scientists and educators

Apart from a deserved reputation as maker of one of the most popular and ubiquitous mathematics packages, Waterloo Maple Inc. ought to have some recognition for its picturesque slogans, such as Maple's start-up message, 'Command the brilliance of 1,000 mathematicians'. For the launch of Maple 8, it expressed its product philosophy with a folksy metaphor: 'Dance with the one who brung ya.' Fortunately the promotional pack explains the meaning: that a major design principle behind Maple is to take care of its existing user base, as well as utilising creative feedback from those users.

Reading between the lines, this carried for me the implication that Maple previously had some usability problems - though these derived, paradoxically, from its power as a mathematics program. One difficulty is that Maple is very demanding of users' knowledge of its command repertoire, since apart from a few palettes of basic symbols, it doesn't offer menu access to the vast multi-option function set. Another, in educational use, is that Maple jumps straight to the answer, giving little help in teaching manual derivation.

These are actually problems common to many mathematics packages, and a feature in the next issue will explore ways that manufacturers simplify their use. For the moment, however, it will do to say that addressing such issues appears to be a central theme for this release, one that appears both in its 'revolutionary' and 'evolutionary' aspects.

The developments Waterloo Maple class as revolutionary include a student calculus package, and 'Maplets'. The first provides a high-level command set for calculus exploration and plotting (removing the need to work with, say, plot primitives). The second is a package for handcoding custom graphical user interfaces (GUIs) using elements such as check boxes, radio buttons, slider bars and pull-down menus. When called, a Maplet launches a runtime Java environment that pops up a window - analogous to a Java applet - to perform a programmed routine, if required passing the result back to the Maple worksheet. I admit I'm slightly puzzled by the flavour of the Maplets promotion, since the concept is identical to the GUI Builder in Matlab or the Custom Control components in Mathcad 2001i. The difference lies only in the style of implementation. However, the idea is a definite plus for Maple, and while Maplets obviously need skill to program, the benefits are that educators, for instance, can create simple interfaces to Maple for less skilled users who don't need (or want) to tackle Maple's full command set.

Maplets find use even in the more routine 'evolutionary' updates to Maple 8. The dialogue box of the new spellchecker is a Maplet, as is the new graph plotting system. The command interactive( ) assesses the plot type appropriate to the argument and offers a check box for display options, bringing Maple's plotter in line with the 'plot wizards' used by other programs.

Of the remaining updates to Maple 8, the most visible are the addition of many new packages, the specialist libraries loaded on demand. One especially relevant to scientific computing, Scientific Constants, provides an extensible database of a quoted 13,000 predefined constants: around 70 basic physical constants, the remainder being physical and isotopic properties of elements.

It's not clear where the figure of 13,000 comes from: even with isotopes, the 14 properties of 114 elements don't account for it, and a browsable database of the full list of constants would be helpful. New packages of mathematical interest include LargeExpressions, which can 'veil' subexpressions of selected form, and those for vector calculus, variational calculus (which finds application in classic minimal-surface and optimisation problems), matrix polynomial algebra, and SNAP (Symbolic-Numeric Algorithms for Polynomials). For programmers, there's Software Metrics, a tool using standard metrics for analysing code complexity; CodeGeneration, which translates Maple code to ANSI C, Fortran 77 and Java; and access to XML representation of Maple worksheets.

Further updates are mostly algorithmic, at the level of expert use. Waterloo Maple has built on the strong advances in differential equation solution introduced in Maple 7 by adding to pdsolve, the exact PDE solver, a numeric solution option for time-based PDE systems over rectangular regions.

The ODE solver, dsolve, has also been upgraded to make inroads into more difficult classes, particularly by using integrating factor and refined symmetry algorithms that in some cases can find exact solutions to non-linear ODEs of order 2 or higher. Other small package additions and algorithmic improvements complete the list in areas such as curve-fitting, numerical multiple integral solution, partial fraction conversion, solvers, simplification, function conversion, and so on.

Apart from a few minor language and function name changes, Maple 8 is fully compatible with Maple 7. From the efficient installation routine onward, Maple 8 gives a good impression as a stable and mature product that has successfully broken out of its pure maths niche. Despite my feeling that Waterloo Maple has overstated the novelty of Maplets, this is a good upgrade with a wealth of routine additions and original features that will be genuinely useful to scientists and educators.

**Maple: Back to basics**

Maple originated more than two decades ago as a project of the Symbolic Computation Group at the University of Waterloo, Ontario, and is now marketed by the privately owned Waterloo Maple Inc. Maple itself has a quoted user base of more than a million worldwide, but Mathcad, Matlab and Scientific Workplace also use licensed Maple symbolics engines.

Maple's traditional specialisation is pure mathematics, and it continues to be strong in this field. Maple 7, for instance, contained powerful developments in differential equation solution, solving nearly all the ODE forms in the standard reference, Kamke's Differentialgleichungen, and making striking advances in analytical solution of many PDE forms. This naturally has applied spin-offs, since ODEs and PDEs underlie many (if not most) dynamic physical systems. Recent releases have further diversified into applied mathematics and numerics with the addition of scientific units and constants, and Numerical Algorithms Group linear algebra code. Initiatives such as the online Application Center and the Maple-driven engineering resource site, Engineering.com, further promote Maple's use outside the academic and educational sectors.

Maple uses a standard worksheet format, with collapsible input-output regions ('execution groups') that may contain mathematics, text, 2D and mouse-rotatable 3D plots, spreadsheets, and so on. The worksheet accesses a small efficient C kernel that calls library routines, from either a permanently available main section or packages that need explicitly loading. Code for re-use can be written in Maple's simple procedural programming language.

As with other maths packages, connectivity has grown in importance over recent years, and Maple now communicates both with other packages such as Microsoft Word, Excel 2000 and Matlab, and over the Internet via a TCP/IP socket for web access, MathML 2.0 compatibility, and HTML and XML export.

As well as a detailed hypertext help system and three print manuals totalling over 1000 pages, Waterloo Maple provides extensive online help. This includes the Student Center, offering free lesson sets and tutorials; the Application Center, featuring over 1500 free downloads (both user contributions and expert-developed PowerTools add-ons for education and research); and Maple- Primes, a commercial fast-track support site for subscribers to the Maple Extended Maintenance Plan. In addition, Maple can be discussed in the Maple Users Group (MUG), a moderated mailing list for research topics, and in the comp.soft-sys.math.maple Usenet newsgroup.

The current version 8 is available for all post-95 Windows operating systems, including the new XP, as well as Linux and Unix; a Mac OS X version is forthcoming. A full-powered Student Edition is available at reduced price to students with accredited ID.