Mathematica was initially developed in 1988 as a technical mathematics application with a mixed symbolic/numeric environment. It has remained true to this initial concept in its 15 years up to this current release, Mathematica 5.
Casting such a wide net has allowed Mathematica to be overtaken in the symbolic area by the likes of Maple from the Canadian group Waterloo. Numeric challenges arrived from MATLAB and MATRIXx, both of which were capable of outperforming Mathematica at direct number crunching.
Mathematica, however, has remained central to technical and academic mathematics by virtue of its programming language, which has effectively turned it into a mathematician’s laboratory.
Mathematica has a proven record of continual development, each release adapting to and using advances in computer hardware and software innovation. This historic foundation provides assurance for future development, giving scientists confidence in the product as they start long-term projects.
Already the 4GB-address ceiling of 32-bit computer architecture has come under attack through Wolfram’s Research gigaNumerics initiative. Mathematica 5 has been optimized for several 64-bit processors, including Sun Solaris and IBM AIX. With OS X 10.3 and G5 hardware around the corner, this is good news for Mac users. Computations involving millions of digits will be a doddle on the G5.
Mathematica 5 boasts numerous new features that all combine to produce an increase in the application’s speed. The speed enhancements arise mainly from the development and implementation of over 100 new algorithms in both the numeric and symbolic areas. Dense numerical linear algebra underlies Mathematica’s numeric analysis. The increase in computational speed in this area has had a profound affect in many other areas, such as matrix operations, general data analysis, graphics and numerical differential equations. Compared to the previous release, Mathematica 4.2, Wolfram quotes speed increases of between 6 and 13 times.
New functions have been added, while others have been rewritten implementing new algorithms or simply adjusting existing ones and extending the function’s range. Numeric computations see the rewriting of the function NDSolve; this is used to find numeric solutions to functions and differential equations (partial and ordinary).
Advanced users will benefit most from this. The FindRoot function also returns numeric values, and has undergone improvements to its algorithms that enhance its speed; and its range has been extended to support array variables. A new numeric function is FindFit replaces the old functions Fit and NonlinearFit, also extending their functionality. FindMaximum is also a new numeric function.
Examples of development in the area of symbolic computation include the new functions Refine and FindInstance. Refine returns the form of expression that would be obtained if symbols in the expression were replaced by numerical values. The functions Maximize and Minimize return max and min values over a defined region. They can be used to solve linear and polynomial programming problems.
Mathematica's import and export tools underwent major development in the last release (4.2). Refinements have now been added increasing the number of supported formats to beyond 40. Support has been added for exporting to Scalable Vector Graphics (SVG). This format also supports raster images. SVG images can be viewed on the Web with a plug-in. The bitmap format, Portable Network Graphics (PNG), and the medical imaging standard DICOM are both supported by Mathematica 5.
The DICOM (Digital Imaging and Communications in Medicine) standard is used extensively in radiology. A major speed increase, often by as much as a factor of 100, can be seen in the importation of tabular data. Wolfram quotes a data sample that took 12 seconds to import into Mathematica 4.2, now taking 1.75 seconds in release 5. This is welcome, particularly for scientists dealing with large volumes of structured data.
Mathematica 5 remains backwards-compatible with version 4, and many application packages that work under release 4 also run under release 5.
Mathematica's flexibility is reflected in the range of users it attracts; from second-level school students to technology movers and shakers, to despairing ivory-tower academics. However, many of the recent developments with the application have tended towards the high-end user. This is understandable, but it might be worth Wolfram’s team looking a bit more closely at the interface to make it more attractive for the newcomer.
While it's possible to increase the default size of text and palette buttons (an essential implementation on a 17-inch iMac, or any Mac using over 1,070 pixels), it is a mighty task to find out how to do it; it’s easier to solve a polynomial or create a quality-control Pareto plot.
The Mathematica 5 manual could also do with a rewrite; the print is too small for someone new to Mathematica’s syntax (some fonts seem to be about 6 point). It’s also short on content. My copy of Mathematica 5 arrived without The Mathematica Book 5th Edition as it was not ready in time for the June 23 release date. However you can request to have a copy sent when it is printed. The Help Browser interface has, however, been improved: its clear hierarchical layout of topics is easy to follow.
Mathematica 5 will be valued most by technical people who have been using previous releases of Mathematica for its combined strengths in both symbolic and numerical analysis, and then turning to applications such as MATLAB and MATRIXx for their raw numeric computational power. They may now find all their solutions in Mathematica 5.