Mathematica Powers Range of Apps

Update's new features broaden its appeal to mainstream developers.

Whether for engineers or financiers, creative problem solving begins with finding new ways of asking insightful questions—but once the paradigm shifts, value in practice depends on pursuing those insights quickly and on a massive scale. The latest release of Mathematica, from Wolfram Research Inc., takes the products current users further along their problem-solving paths than ever and opens new paths to enterprise application developers who currently labor with much less capable tools.

Experienced users have told eWEEK Labs that last months 5.0 update addresses essentially every issue that previously kept them from living in Mathematica as their full-time technical computing environment. As an engine for numerical linear algebra, the core of many engineering analyses, Version 5.0 is faster and more complete than earlier versions in the operations it provides for manipulating and analyzing matrix representations.

Mathematica 5.0

Wolfram celebrates this tools 15th birthday with improvements that range from more brute-force numeric power to more intuitive abstract problem-solving capabilities, with bonus features enabling easier integration with mainstream applications and with Microsofts .Net platform. Performance improvements are a mixed bag on machines with modest memory, but Version 5.0s new sparse-matrix representation brings enormous problems within the grasp of almost any workstation. Improved communications protocols allow the product to scale across massive clusters with ease. Only Mathematica 5.0s high price and unconventional user interface discourage widespread enterprise deployment. More information is available at
















  • PRO: Unrivaled integration of numeric and symbolic computation, technical and presentation graphics, and programming power in a unified environment available on a wide range of platforms.
  • CON: Somewhat-cryptic interface, combining hierarchical documents with verbose commands and proliferating palettes, poses a learning hump; many users will prefer the low price and greater approachability of spreadsheets for most analytic tasks.

• The MathWorks Inc.s Matlab 6.5 • Waterloo Maple Inc.s Maple 9

For example, the result of multiplying two fully populated, 1,000-by-1,000 matrices of floating-point values required about 11.2 seconds to compute on a 256MB 1GHz Pentium III running Mathematica Version 4.2 on Windows 2000. The same computation with Version 5.0 required less than 2.7 seconds; a 640MB 867MHz Apple Computer Inc. G4 PowerBook running 5.0 on Mac OS X 10.2.6 cut the time even further to 2.1 seconds.

Mathematicas vocabulary of matrix norm, rank, decomposition and other functions has also been substantially expanded.

We attribute the PowerBooks higher performance on the matrix multiplication task—which looks even better on a clock-for-clock basis—more to greater memory on that machine than to any advantage of processor architecture, since our other tests showed the G4 as being merely competitive with the PIII chip in less-memory-intensive benchmarks.

With memory being a critical resource for many high-end tasks, we look forward to a Mathematica 5.0 match race between Apples 64-bit G5 machines—on which its already been shown—and Advanced Micro Devices Inc.s Athlon 64 processor this fall. Mathematica already runs on UltraSPARC, PA-RISC, Alpha and IBM Power Series 64-bit CPUs.

For tasks in which processor power is the limiting resource, Wolframs GridMathematica is one of the leading tools for cluster computing; Version 5.0s core implementations of TCP/IP and other communications protocols have been streamlined to greatly speed distributed operations and even interactions among Mathematica subsystems on single-CPU machines.

More than just a must-have upgrade for current users, Version 5.0 also enables interaction with software based on Microsoft Corp.s .Net platform, making the package a powerful tool kit for mainstream Windows developers.

Mathematica expressions can manipulate Windows applications, for example by building an Excel spreadsheet as the output from a Mathematica analysis. The Mathematica notation can also serve as a scripting language for creating and using lower-level .Net classes. Conversely, Mathematica becomes a library of advanced numeric and symbolic functions available to .Net programs.

In addition to its new intelligence under the hood, including more than a hundred new algorithms as well as automatic problem analysis and method selection capabilities, Mathematica 5.0 (released on the 15th anniversary of Version 1.0) includes bottom-up re-engineering for efficient representation and analysis of enormous systems.

The new option of declaring an object as "sparse" (in mathematical terms, a table with most cells empty) enables more efficient use of memory. For example, an array with a million rows and a million columns, but with zeros at all locations not on or adjacent to the diagonal, is an 8-terabyte object in conventional representation but consumes only 40MB when declared as sparse. There is essentially zero downside to using sparse representation when its useful: Sparse objects may be mixed at will in calculations along with other data structures.

Intuitive handling of sparse objects is only one of many improvements to Mathematicas common-sense capabilities. Many mathematical expressions cannot be simplified in the general case: For example, every schoolchild knows that the logarithm of "a to the power b" is b times the logarithm of a, but this simplification is not valid for all possible values of a and b. Version 5.0 offers a new Refine command that accepts an input expression plus additional statements of assumptions, such as "a>0 && b>0," to yield more helpful answers.