At any other software company, an upgrade from 5.0 to 5.1 wouldn’t signify any major developments. But Wolfram Research is its own world with its own standards. Mathematica 5.1, its advanced math software, is faster than version 5.0 on big problems, even more sophisticated at automatic selection of algorithms and database functions, and capable of linking automatically to Web sites. At this point, you’d need very special circumstances (or volumes of legacy code) to justify using a different technical computing system.
More, More, More
In the math software marketplace, Mathematica already had established dominance over MapleSoft’s Maple, its only symbolic-math competitor. So the only improvement it has left is to refine its numerics to compete with The MathWorks’ Matlab, the original big-problem numeric program. Mathematica’s developers have decisively closed the gap between these programs in this version. Mathematica 5.1 features significant improvements in the following areas: input and output of binary matrices, packing methods for other numeric arrays, numerical methods for arrays, and special array graphics (see “Fill in the Blanks”).
Somewhat more surprising are Mathematica 5.1’s forays into relatively new programming areas. For example, enhanced string processing, combined with the editing capabilities of Mathematica notebooks, make it the language of choice for writing DNA sequence analysis software. Mathematica now has the database import-and-export tools and functions to implement an SQL database, which dramatically increases its power as a business tool. As another business convenience, version 5.1 now reads and writes Microsoft Excel’s .xls files, a common format for flat-file databases. This database power, added to new cluster-analysis functions, will be useful in social science applications.
Version 5.1 also introduces Web services as part of the Mathematica language. The InstallService command lets you access Web sites, extract information from them, and manipulate that information with the program’s new string-manipulation functions. This means that you can program Mathematica to automate research and write automated stock-market analysis software.
I would have expected that when Wolfram folded the GUIKit (which lets users develop friendly graphical user interface front ends to Mathematica-based programs) into the main product, as they have done in version 5.1, they’d provide better documentation, a friendly tutorial, and many more examples. They didn’t, probably assuming that GUI design is a job for programming pros. But GUI work is often done for simple business programs, and the programmers could use some templates. And the Power Mac G5-optimized version of the software, promised for version 5, is still not here.
Macworld’s Buying Advice
Mathematica 5.1 is faster at most large-scale numeric problems, and now is better at choosing algorithms for solving differential equations. New functions make it an excellent choice for developing new software, from molecular biology to business databases. At the modest price of increased complexity, Mathematica has become a powerful language for solving nearly any problem on a computer.
Mathematica can now graph arrays and matrices directly, with a huge assortment of display options. This relatively simple plot displays some cellular- automaton output (a Wolfram specialty).