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 questionsbut 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.
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 www.wolfram.com.
KEY PERFORMANCE INDICATORS
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.
EVALUATION SHORT LIST
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 taskwhich looks even better on a clock-for-clock basismore 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 machineson which its already been shownand 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.
Peter Coffee is Director of Platform Research at salesforce.com, where he serves as a liaison with the developer community to define the opportunity and clarify developers' technical requirements on the company's evolving Apex Platform. Peter previously spent 18 years with eWEEK (formerly PC Week), the national news magazine of enterprise technology practice, where he reviewed software development tools and methods and wrote regular columns on emerging technologies and professional community issues.Before he began writing full-time in 1989, Peter spent eleven years in technical and management positions at Exxon and The Aerospace Corporation, including management of the latter company's first desktop computing planning team and applied research in applications of artificial intelligence techniques. He holds an engineering degree from MIT and an MBA from Pepperdine University, he has held teaching appointments in computer science, business analytics and information systems management at Pepperdine, UCLA, and Chapman College.