Built-in parallelism and image processing features
New graphing capabilities seem biased toward less scientific uses
For more than 20 years, there has been a wealth of software available in the technical computing market; packages such as Matlab (), Maple (), and Mathematica () are used by countless scientists every day. Driven by a healthy amount of competition, these companies, along with a few open source efforts, have brought some truly powerful computing environments to the Mac desktop.
The latest volley in the contest comes from Wolfram Research’s Mathematica 7.0. This release, following only eighteen months after version 6.0, provides a wealth of new and enhanced features.
The two most significant upgrades to 7.0 are built-in image processing and parallel computing extensions. Both were previously available as add-on packages, but in version 7.0 they have been tightly integrated into the program and enhanced.
The image processing additions are quite exciting, because they allow images to be used directly as data. Longtime Mathematica users will remember that image input and output have been available since very early versions, via the Import function, but in this version images have been promoted to first-class citizens. Mathematica 7.0 allows manipulations and computations on images as simply as with numerical input. There’s no need to import or convert image data—you can simply cut and paste or drag and drop images into commands and equations and operate on them directly.
If you’re interested in more detail on this feature, there’s a wonderful description of Mathematica’s image processing powers available on the Wolfram Web site.
A second highlight of this upgrade is the addition of built-in parallelism. Version 7.0 features the integration of the basic multiprocessor tools from the old Parallel Computing Toolkit. This means that, when you’re running Mathematica on a multiprocessor machine, you can easily take advantage of the available processors to perform multiple parts of a computation simultaneously. The default license comes with two control kernel processes and four sub-processes. For example, with an eight-core Mac Pro, using six processes works efficiently while leaving two processors free to keep the machine running smoothly. If you need more processes, a four-kernel add-on is available at an additional price. Finally, for users who wish to extend their parallel computations to take advantage of multiple-machine clusters, Wolfram still offers its gridMathematica package. This allows concurrent computations to take place across multiple machines as well as multiple processor cores.
For those who have never used the old Parallel Computing Toolkit, the learning curve is reasonably straightforward. Self-contained job-style calculations can be submitted to a parallel batch system; at the programming level, there are Parallel versions of basic iterative commands like Map, Table, and friends. Finally, as introduced in version 6.0, many of the low-level internal libraries that support the Mathematica language are also optimized to take advantage of multicore machines.
There have been significant additions in the visualization category as well. New charting and graphics tools abound—many are mainly eye candy, though the significant additions of vector and field plots, new discrete data plotting, and more geometric primitives provide a collection of new tools for new forms of data visualization. Like other parts of Mathematica 7.0, the visualization and graphics system has been re-architected to support the inevitable extensions and enhancements that will be available in future versions.
Also, synthesized speech support has been added to the program’s sonorization capabilities—there’s something sort of HAL-esque about having your machine tell you your results via voice synthesis, but there are certainly applications out there beyond that. Version 7.0 comes with literally hundreds of new and enhanced features, many of them building on the radical changes that appeared in version 6.0. The new curated datasets include greatly enhanced financial, astronomical, meteorological, genomic, and chemical databases along with the integration of the Geodesy and GIS packages. With Mathematica 7.0, it is possible to do computations on almost anything—the examples provided with the new datasets hint at the potential this sort of resource provides.
For the mathematically inclined, the addition of new discrete calculus features provides tools to work with these systems at a whole new level. Also expanding on Mathematica’s already broad collection of special functions is the ability to perform computations on a whole class of holonomic transcendental functions.
As Mathematica becomes more complex, its learning curve grows steeper. Version 7.0 includes a detailed help system full of examples, cross references, and Web connections that make finding information simple and seeing examples and applications even simpler. Also included are a collection of new palettes that are designed for basic calculations, classroom use and word processing, and document authoring tasks. The word processing features in Mathematica continue to set a standard for technical computing systems—it is possible to create very complex documents entirely within Mathematica, without the need for external word processing.
Macworld’s buying advice
Mathematica 7.0 continues the tradition of the past 20 years—each version sets a new standard for scientific and technical computing innovation. The integration of image processing and parallel computing tools justify the full-version-number increment, and the improved numeric, symbolic, and visualization capabilities, along with the increased data and documentation resources, enhance an already best-of-class product.
[Flip Phillips is a professor of psychology and neuroscience at Skidmore College.]