By Barry Simon
Technical professionals looking for a comprehensive set of general-purpose mathematicalsoftware tools need to think of them in three distinct classes. The first is thecore product used for symbolic or numeric calculations. Second is a tool to bothproduce and analyze high-quality plots. And the third is a program for creatingtext with accurate formulae notation.
When looking at the three types, keep in mind that math software is a maturearea with some products having been under development for 15 or even 20 years.This has had several effects. First, there has been some product shakeout. Wherewe once had more than a dozen scientific graphing packages to review, there arenow only four contenders.Secondly, over time, products have addressed their weak points and become directlycompetitive with others, incorporating basic toolsets that are remarkably similar.This means the choice tends to come down to advanced features, interface preferences,or easy communication with programs used by your collaborators. Third, upgradesto this software tend to be incremental.
There is one major caveat to that last effect. Just after we explained in lastyear’s Resource Guide (DE July 2003) that upgrades would not be revolutionary,Wolfram Research proved us wrong with Mathematica 5. This new versionreleasedas last year’s guide went to presshad raw numeric speed that can only be describedas revolutionary.
This rendering of Klein’s bottle was created using the plot:Tube command in MuPAD’splot library.
Maple, Mathematica, and MuPAD have and continue to distinguish themselves fromother computational programs because they have a symbolic engine at their core.Such engines provide three elements to calculations: computer algebra and calculus,exact rational arithmetic, and arbitrary precision real number calculational ability.
For some problems, you need to manipulate reals with high precision to avoiddifficulties. While working on an intricate problem recently, I was coming upwith what I suspected were spurious zeros produced by insufficient precision.Since I was doing the calculation in Mathematica, I was able to change a singleline of code to go from 30-digit to 100-digit precision, and when I did the unexpectedzero disappeared as I’d hoped it would.
Both Mathcad and MatLab have licensed technology from Maple (in MatLab it’s withinthe Symbolic Mathematics Toolbox), but it’s a subset of the power with limitationson the ability to do arbitrary precision reals. This means that if you need thespecial features of this genre often, you’ll want one of the three programs thatbuild them into the base product.
Mathematica and Maple have both had significant upgrades withinthe past year(Mathematica to 5.0; Maple to 9.0 and then 9.5) that address numerical abilities.Mathematica can now do some numerical calculations 20 times faster than it didin the past, while Maple has licensed and built in the NAG (Numerical AlgorithmsGroup; website) algorithms.
The two products have comparable feature sets beyond their ability and use ofsymbolics. They each have spectacular 3D graphics and thousands of built-in functions.Mathematica has the edge for large numeric calculations because of its speed;otherwise, it’s a tossup.
MuPAD’s recent upgrade to version 3.0 addresses some of its weaker areasespeciallyin graphics. It still doesn’t have the array of capabilities of its competitors,but it is getting closer. And at a quarter of the price, it’s well worth a closerlook by those with limited software budgets. (MuPAD Pro is developed at the Universityof Paderborn and SciFace in Germany. Version 3.0 is also available from MacKichanSoftware, website.)
MathType lets you insert equations in Word document files and allows you to savetemplates of frequently used expressions.
Straight Numeric Computations
If you don’t need the special features of the symbolic powerhouses, the two mostpopular products are MatLab and Mathcad. For many technical professionals, MatLabremains the tool of choice for large-scale numeric calculations. For most tasks,you’ll want one of the many toolboxes. From the relatively simple Image ProcessingToolbox to the extensive Simulink add-on, these extras make MatLab the most expensiveof the products we examine.
Mathcad remains the champ in the ease-of-use camp. It’s the one program ableto do the most without programming or learning arcane syntax. With the additionof blackboard-style input to products like Mathematica and Maple, and the complicationsassociated with added power in Mathcad, Mathcad’s user interface advantages aren’tas great as they once were; nonetheless, it remains the product of choice forthose who need to do simple calculations once in a while.
O-Matrix, a matrix-based language like MatLab, is somewhat limited when comparedto MatLab. Its Calculation Center has a subset of Mathematica’s capabilities inan easier to use format, and it clearly aims at that market. It also has specializedprograms in areas such as partial differential equations.
Scientific Graphing Programs
This genre of software sprang from the need to produce publication-quality graphscoupled with the special requirements of technical professionals who need to producegraphics and plots that involve Greek symbols and bubble or Smith charts. Thebest products are those that have enough data analysis tools to work as completesolutions for professionals highly dependent on data.
The most extensive products in this genre are Origin and SigmaPlot (SPSS, Inc.;website) Origin has pulled ahead with recent upgrades to make it easier to use and thatadd powerful customization capabilities. This should please those with extensivedata analysis needs or who work in organizations with staff who can use macrolanguages to heavily customize a product. Two other products with some lessercapabilitiesGolden Software’s (golden.com) Grapher and KaleidaGraph from SynergySoftware (website)are attractive for their relatively low costs.
Mathematical Word Processing Options
The final class of general-purpose mathematical software is that which aids inthe production of technical documents for publication. Whether you need to createa journal or internal report, submissions must often be sent or created in TeX.With the tools available to convert TeX to PDF and to MathML, it also becomesa useful way to produce Web-based technical documents.
Two full-featured editors and TeX creation environments are PCTeX (Personal TeX;website) and MacKichan Software’s Scientific Word. The latter has a big brother, ScientificWorkplace, which includes computation ability licensed from Maple. Another TeXsolution that is becoming increasingly popular is to use WinEdt (website) and MikTeX. MikTeX (website) is an open-source project that has all the tools needed to go from a TeX sourcetext to a typeset document. I especially like the DVI viewer included in thiscollection. WinEdt is a shareware shell that lets you produce TeX source (with,for example, color coding of different kinds of TeX commands) and then call MikTeX,to which it links.
If you don’t need to produce TeX, but just need a few equations in a MicrosoftWord document, you can use the Equation Editor that is included with Office butnot installed by default in recent versions. If you want more complicated equationsand want to be able to save frequently used fragments, there is an upgrade calledMathType available from the makers of Equation Editor, Design Science (website).
Each of these types of tools has become essential to its users. Even those ofus who were around before desktop computers have trouble remembering doing mediumcomplex calculations by hand, sending out our findings to the draftsman for graphs,and having technical documents created by changing the type ball on the Selectric.These days, it’s hard to imagine working productively without the wide varietyof mathematical software at our disposal.
Contributing Editor Barry Simon is chairman of the mathematics department at the California Institute of Technology.You can contact him and send him your thoughts about this article via e-mail toreader feedback.