At a Glance
Wolfram Research's Mathematica program really has no competitors at this point, even though MathWorks' MATLAB is returning to the Mac this year, and Waterloo Maple's Maple is still available.
With Mathematica 4.1 (see our review at www.macworld.com/2001/02/05/reviews/math ematica.html ), Wolfram added OS X compatibility and some significant mathematical functionality, but recognition of the Web and preliminary integration with Java were the most innovative aspects of that version. Now, along with the wealth of math-feature additions you'd expect in a Mathematica update, version 4.2 offers full XML support and Java capabilities, with its own Java run-time engine.
Even More Math
New mathematical capabilities in version 4.2 include analysis of variance (ANOVA), making statistics in Mathematica nearly as feature-rich as a dedicated statistics software package such as SAS Institute's StatView. Combinatorica, a package bundled with Mathematica 4.2, provides the most complete library of symbolic elements and functions for finite mathematics that there is -- and it has 230 functions more than the older, discrete Combinatorica package. These functions are indispensable for graph theory, commonly used to generate solutions to network structural problems.
The other important math-function improvements are upgrades for linear programming, and global optimization of multidimensional functions, making Mathematica 4.2 a more useful program for those engaged in business and the social sciences.
Nminimize, the new optimization command in version 4.2's Numerical Math package, for example, provides you with four different methods for global optimization -- genetic programming, nonlinear simplex algorithm, simulated annealing, and random search -- so you can now compare your results to ensure exact minimization. As a testament to Mathematica 4.2's value, the same methods for global optimization are also available individually in other programs on the market, but they will cost you thousands of dollars each.
Stronger Ties to the Web
Wolfram incorporated its experiments with MathML -- the math-representation standard based on XML -- into version 4.1, and these experiments have evolved into complete integration of MathML with XML in version 4.2. You can convert individual Mathematica expressions to XML with the simple command ExpressionML. Similarly, the program allows you to convert whole Mathematica notebooks to XML documents by using the NotebookML action.
You're also able to change Mathematica XML expressions back and forth to Java DOMs (Document Object Model). Java DOMs let you use standard Java classes to modify your document, making it easy to automatically sort data, graph it, and use Java to generate reports.
Importing information from XML source files to Mathematica XML format is as simpleas exporting information from Mathematica to the Web. This means that analysts will soon be processing the financial data piling up on the Web as .xml data files with Mathematica's computational packages for time-series processing and options trading. Wolfram Research's offerings are among the most popular with math-oriented traders.
But although the XML and Java language functions provide more flexibility, they're not as efficient as MathML itself -- if you're porting a Mathematica notebook with graphics to an XML document, for example, you'll have ample time to go get yourself a cup of coffee before the process is complete.
In version 4.1, Wolfram introduced J/Link, which allows you to evaluate Mathematica statements in another program (in this case, a Java program). Version 2.01 of the J/Link tool kit in Mathematica 4.2 also lets you call Java programs directly from within a Mathematica notebook (see "Come Fly with Me").
In effect, you can use Mathematica as a scripting shell to build and test Java classes. Financial-service companies have already started using version 4.2 to build Web sites that use Mathemat-ica for back-end computation and have a colorful Java-built graphic front end.
Print for Professionals
Despite its online integration, Wolfram has not neglected good old-fashioned print, which is still the format of record for most academic activities. Mathematica notebooks have long supported a fairly rich set of word- processing features. But a new package in 4.2 offers palettes for automatic indexing, producing a table of contents, controlling pagination and print details (header and footer size and placement, among others), creating side-by-side text and graphics, and integrating material with the Mathematica Help browser. The authoring tools alone are worth the price of the upgrade for users intending to produce books, long articles, or course materials.
Macworld's Buying Advice
Compared with MATLAB and Maple, Mathematica 4.2 is in a league of its own. It has the largest scope of math functionality, the most complete set of features for print and Web publishing, and exemplary compatibility with OS X. If you're looking for the highest level of functionality, industrial and academic acceptance, and Mac support, Mathematica 4.2 is what you want.