Mathematica Powers Range of Apps

By Peter Coffee  |  Posted 2003-07-14

Mathematica Powers Range of Apps

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.

    Page Two

    Version 5.0 does not improve the performance of every function in every situation. eWEEK Labs tests found some benchmark speeds actually lower than before, albeit on hardware thats probably less memory-endowed than what would be purchased by someone who plans to push Mathematica to its limits. It would have been a mistake for Wolfram to optimize Version 5.0 for systems in the middleweight class of those on which we did our review, but users with comparable hardware should keep their performance expectations under control.

    For users who prefer to compare performance or verify compatibility between Mathematica versions on a case-by-case basis, we were pleased to note that installation of Version 5.0 left our Version 4.2 setup intact. We had no difficulty in bringing up either one as desired, although font libraries and some utility files were replaced with more current versions during the process. Mathematica also warned us of potential compatibility problems with notebook files.

    Our customized files, such as preference settings, were automatically incorporated from the 4.2 installation, although users of Mathematica 4.1 and earlier will need to copy those files manually into corresponding directories to use them with 5.0.

    Medical professionals and educators will take note of Version 5.0s support for the DICOM (Digital Imaging and Communications in Medicine) image format, while many Web-oriented tasks will benefit from a new PNG image format capability. Many enterprise problems will find more rapid solutions thanks to Version 5.0s more generalized tools for finding minimum and maximum values of complex expressions.

    For profit-sector professionals, however, Mathematica is no impulse purchase. Its $1,880 price is at least unchanged from the previous version, 4.2, which eWEEK Labs reviewed last year (see The academic price is only $895, and enrolled students can purchase the full-function product for individual use for less than $140.

    Neither is it an impulse decision to master the product beyond its most obvious capabilities. The products distinctive document-centered interface, with its hierarchy of nested cells containing commands, formatted text, elaborate data plots, and both static and animated visualizations, provides unsurpassed power for building systems that build upon themselves. Every element of a Mathematica "notebook" is an expression that can serve as input to other commands or can be formatted as presentation output.

    The top-to-bottom consistency that enables such flexibility comes at the cost, however, of a modest learning hump. For example, new users must get comfortable with Mathematicas use of distinctive grouping symbols, such as brackets and braces, in roles where other mathematical software tools are often content with multiple levels of parentheses. Like other powerful programming languages, Mathematica is somewhat more difficult to write—the worthwhile price of being less ambiguous to read.

    With the greatly expanded power of Version 5.0, Mathematica users may find themselves spending more time in the environment—giving them more opportunity to develop their facility with its conventions and to use it even more effectively than before.

    Technology Editor Peter Coffee can be reached at

    Rocket Fuel