title
brancg
adam_ev
oped resources forums contacts subscribe site_map home
 

forums


OpEd

All Mac Considered
Amen Corner
Apple Peel
Digital Canvas
Editorials
Ether Nectar
iMaculate
   Conception

Infinite Loop
Notes from Dis
Scientia et
   Macintosh

Skewed Mac
Treo of Life

Resources

Books
Contacts/Mission
Forums
Links
Reviews
Subscribe


RadTech

Applelust is looking to add writers to its staff. If you are interested or want to be part of the Applelust community, drop us a line with your resume or vita. We are always on the look out for good, very smart, and reliable people to join the staff. If you think you have what it takes, let us know.

- The Publisher

Review: Mathematica 4.2

© 10-25-02 Dean E. Dauger

  • Product: Mathematica 4.2
  • OS X: yes
  • Publisher: Wolfram Research
  • URL: http://www.wolfram.com/products/mathematica/
  • Category: Symbolic math and technical computing
  • Price:
    • Commercial: $1880
    • Academic: $895
    • Student: Call Wolfram as student prices are significantly less and vary
    • Upgrade: Call Wolfram as upgrade prices vary
  • Requirements:
    • Mac OS 8.1 or later, Mac OS X
    • 200 MB Hard Disk space
    • 64 MB RAM
  • Rating: 3 bounces, Lustworthy

Mathematica is an impressive product. It contains advanced technology designed to aid scientists and engineers with their analytical needs. For Mac users, it is a great thing to see it running on Mac OS X and taking advantage of low-level features not available in the classic Mac OS. For some users, this application is their ultimate computation tool. But it does have its limits, so you have to be careful to verify its results elsewhere to be certain of your answer. Overall, however, Mathematica for OS X is a fine application and is welcome to the platform.

What is Mathematica?

Imagine that your task was to solve every conceivable mathematical problem in the universe. That is, any problem involving numbers or logic or equations and so forth. If that was your assignment, you would find that it is one of those tasks where, every time you think you've thought of everything, you'll always find that there is still more. Then imagine a computer program that can solve each one of those mathematical problems. Wouldn't that be great? Mathematica is a program whose ideal is to be that perfect program. Once you appreciate Mathematica's competency, you realize that accomplishing this herculean task is an extremely tall order given the practical limits of computing, computer programming, and human effort and ultimately you'll appreciate that Mathematica has done a fine job of becoming that ideal program.

As a computer program, it cannot be expected to interpret and analyze every single problem and result on its own; that's where you, the human, comes in. You need to understand enough about your problem to break it down into pieces that Mathematica can recognize and solve. But Mathematica can help work out the details. And, for some problems, it can do much of the busywork as well.

Bear in mind that Mathematica's audience is primarily scientists and engineers, so, unfortunately, most of its tools are not focused on set theory, advanced logic, non-abelian group theory, or other advanced topics in mathematical theory. Today's Mathematica is best suited for problems in applied mathematics, especially those most used by those in the physical sciences and engineering. Additionally, because of how the sciences are interrelated, Mathematica is applicable to numerous fields such as the life sciences and economics.

Mathematica's Major Features

Mathematica's feature set, fundamentally, is really quite simple. The program can process and evaluate almost every standard value, symbol, operation, and function of mathematics. Although supporting a specific function would seem rather simple, much of the power of Mathematica lies in its ability to preserve the abstract meaning the mathematical symbols represent. This power gives the user the ability to specify meaningful combinations of these elemental mathematical pieces so that Mathematica reliably convert them to a desired answer. The Mathematica documentation (see next section) provides a complete list of the mathematics its supports. Below, we provide a survey of its features.

Perhaps Mathematica's most famous feature is its ability to perform integral calculus. (You can even try this out on the web) Every holder of a degree in science remembers how frustrated they were the first time they had to solve a difficult integral. Mathematica can help here because it can recognize and manipulate a variety of types of integrals (indefinite, definite, multivariable, complex, and so forth). To solve the integral, it uses a large set of heuristic techniques in combination with a large internal database of precomputed formulas. For the user, Mathematica can make those integrals as easy (although you must still be careful; see the last section) as looking in the back of the book. Some users find that this capability alone justifies Mathematica's purchase.

For many, that is the extent of their experience with Mathematica, but the program has much more. Naturally, it can compute the numerical values of basic and algebraic expressions containing the usual multiplication, exponents, and roots. After that, it can compute all the standard mathematical functions including all the transcendental functions, such as trigonometric functions (sine, cosine, tangent, etc.), gamma functions, elliptic functions, theta functions, and so forth. Its list also includes functions defined by differential equations, such as the various Bessel functions, Hermite polynomials, spherical harmonics, and the like. I believe the coverage of mathematics here is as complete as anyone can expect. Mathematica can also translate combinations of them into mathematical equivalents for whatever processing is required.

The application can compute the numerical value of most expressions to arbitrary precision, which is a very nice feature if you want to compute the 1000th digit of pi, for example. The manual boasts how it even propagates the numerical error based on the precision (number of digits) of the number given. This feature is meant to preserve the integrity of your output. For example, a result with 20-digit precision wouldn't make sense when the input had only seven. Mathematica does a good job at this, although, when it does have some hiccups, it usually errs on the conservative side by producing less precision rather than more.

Mathematica can perform basic calculus such as partial differentiation. In addition to integration, it can solve for sums, series, and limits. It has a rather clever Solve[] function. For example, inputting Solve[ a x^2 + b x + c == 0, x] yields the solutions we learned in grade school:

Naturally, going to higher powers, or involving special functions, will result in more complicated answers, and Mathematica does a good job informing you when there may be solutions it can't find. For example, Solve[ Cos[x] == 0, x] produces such a warning after yielding two correct solutions.

Mathematica also allows you to manipulate functions defined, in terms of built-in Mathematica functions, by you. This feature can give you the ability to refer to a complicated expression very simply and repeatedly in a larger expression you wish to process. Also, Mathematica can manipulate expressions that use symbols outside the ASCII character set such as Greek, Hebrew, and old English letters and a variety of other symbols used for calculus, units, and finance (accompanied by many non-standard symbols too) allowing your output to look fancier and more like standard textbooks. The documentation describes how you can type them using three different formats: in TeX, SGML, and Mathematica's own set of aliases. Many standard mathematical symbols retain their standard meanings so that expressions like N[p] will produce the numerical value of p. In addition, you may use special key combinations or the formula palette to generate formulas in standard mathematical notation, such as , and Mathematica will correctly recognize and process them and produce its results in the same format. You can even define some symbols to act as a user-defined operator.

Mathematica is capable of some fairly advanced manipulations of lists of expressions. In most cases, a transformation performed on a list will produce a list of the results of that transformation on each element of the original list. Some of the simplest operations provide the ability to rescale an input data set by an overall factor or remap that data into a different range. These operations can occur both numerically and symbolically. However, some transformations, such as the Fourier transform, will manipulate the list collectively and produce a list of values with the expected transformation.

Mathematica extrapolates the list structure for a few different applications. For example, Mathematica represents vectors and matrices using forms of nested lists. The corresponding operations such as vector and matrix multiplication and convenience functions for generating the identity matrix or diagonal matrices are provided. Also, Mathematica's lists can be used to represent sets of elements, such as that used it set theory. A battery of related operations are provided.

Visualizing mathematical expressions as graphics is generally performed in Mathematica using a suite of functions, identified with the word "Plot" in their names. You can start with the rudimentary plots of f(x) versus x over a specified one-dimensional domain, then move on to plots in two-dimensional domains in Cartesian, polar, and spherical geometries. The functions can also be parametric, allowing more complicated combinations. Mathematica's visualization toolset are not the most complete in the industry, however, and some of the function names can be misleading. For example, the "Plot3D" function, whose name is taken from the rendering process involved, is a misnomer in that it can only plot two-dimensional functions (f(x,y)), rather than three-dimensional ones (f(x,y,z)). A series of options on these plots can be used to specify different aspect ratios, colors, and other plotting parameters. Mathematica covers the basics here, but, disappointingly, has not significantly improved this feature suite in almost a decade.

A plot produced by Mathematica 4.2.

Exporting and importing text, data, and formulas has improved in Mathematica and largely kept with the times. Most expressions from a notebook can be exported into HTML, TeX, C, Fortran, or XML. Two- and one-dimensional data can be exported into a variety of graphics and sound formats, respectively.

On top of all the functions so far, you may also write code in Mathematica to execute arbitrary programs. It has functions like For[], While[], If[], and even Goto[], which should be familiar to those who have ever programmed a computer. This feature set even includes primitive debugging capabilities. Programming Mathematica can be useful if you need to create an arbitrarily complicated execution sequence that rely on the program's set of mathematical expressions. Personally, I am comfortable programming in a lower-level language, but I know those who used Mathematica's existing programming features to great effect because they were able to take advantage of its other features simultaneously.

Learning how to use Mathematica

The box that contained the commercial version of Mathematica also supplied The Mathematica Book, a 1496-page book penned by Dr. Stephen Wolfram. It acts as the primary printed documentation, and, while it subtly, but occasionally overtly, portrays the program as a work of art, it incorporates both a decent Mathematica tutorial and well-organized reference manual. When I try to learn a new feature of the program, I often have to jump around in the book to find the information I need, but, by the time I'm done, I find the book has provided it in sufficient detail. I recommend the first-time Mathematica user read Part I of this book. If you later need detailed information about any feature in the program, the book usually has the answer you need.

After that, there are two other very important ways you can learn about using Mathematica. The first is to use the Find Selected Function under the Help menu. I've found it very handy to open up that window and type in a function. Even if I misspell it, this feature is often able to find the function I want. Once it does find the function, it also shows how the function is categorized, which is useful to remember if I need to find a related feature or the same function again later. The capabilities of this feature have expanded in later versions of Mathematica to include the ability to search for a feature within Mathematica and in The Mathematica Book. It has practically the entire volume in online form, and it has access to the various demos and other accompanying Mathematica packages. At key moments, I find this window indispensable.

Another avenue is to just try your idea in the program yourself. You can probably guess what function it is you want, and, if you get it wrong, Mathematica will give you an error message that usually gives you a good hint, sometimes even suggesting a symbol similar to your last entry. (If you do this often, you'll find that the "Why the Beep?" is clever at first, but its answer usually isn't deep enough to be too useful.) After a few tries, you can usually get a pretty good idea of what kind of input Mathematica expects in order to get the result you want, and the program is very good about recognizing combinations of features.

New in Mathematica 4.2

When first opening Mathematica 4.2 it opens a tutorial containing an overview of the program's basic features, and cooresponds to the first major sections of the book. It is just enough to get started using Mathematica, but it teaches only the basics, so I still recommend reading Part I of the book.

Many of Version 4.2's new features are responses to the evolution of the web and emerging data formats. The new J/Link toolkit features better integration with Java, allowing Mathematica to call Java and vice-versa, which can be useful if you would like to write much of your user-interface code in Java and have it call Mathematica for the numerics. An interesting application of the opposite is being able to access web pages, such as web-based search engines or online databases, and process the retrieved data from within Mathematica. The new Mathematica can fully export to and import from Extensible Markup Language, or XML, a hierarchically structured data format whose popularity is growing (for example, OS X stores much of its internal data in XML). Similarly, the new version provides support to MathML 2.0 (readable by the latest Mozilla and MathPlayer plug-in), HTML, and XHTML. Mathematica can read FITS, a format commonly used for astronomical images, and SDTS, standardized by the USGS for geographic digital data.

The new version adds new functions to bundled packages and adds a new Combinatorica package. Its NMimimize[] and NMaximize[] functions can find global optimization in numerical data sets, also with inequality constraints, and its Analysis of Variance (ANOVA) functions can perform statistical analyses useful for analyzing crop yields in biomedical experiments. The Combinatorica package provides functions for combinatorics such as permutations, subsets, and group theory and for graph theory for analyzing, processing, and displaying graphs.

Useful for generating oral presentations and written publications from Mathematica, the AuthorTools package contains mechanisms to convert Mathematica expressions and notebooks into forms easier to use for scientific publications while the new built-in slide show environment makes it easier to use Mathematica notebooks as a presentation medium. Also, Mathematica's license manager, MathLM, has new features, some making their OS X debut, so that administrators can more easily deploy and administrate licenses for copies of Mathematica installed on a LAN.

Finally, in concert with A New Kind of Science, a new book by Stephen Wolfram, Mathematica 4.2 introduces the CellularAutomaton[] function. The new book is almost completely devoted to discussing and illustrating the algorithms implemented by CellularAutomaton[]. As reviewers of the book have said [Bailey, D. H., and Cybenko, G., Computing in Science & Engineering, Vol. 4, No. 5, Sept/Oct 2002, pp. 79-83], Wolfram's comparisons of and connections from this computational approach to other parts of science sometimes seem overly qualitative. In any case, implementing those techniques in the latest Mathematica is a welcome opportunity for users who would like test the ideas for themselves.

Mathematica on OS X

Wolfram Research has ported Mathematica to OS X. That in itself is a very good thing. Even better is that the company created their OS X version with little fuss or argument, which is consistent with Wolfram Research's history of cross-platform support whenever possible and is unlike some of Wolfram's competitors. I give Wolfram Research my highest complements for the maturity indicated by their decision and follow-through. More large companies should follow their example.

However, their OS X version has taken little in the way of specific user-interface advantages possible in OS X. Take Microsoft Office v.X. Office on X went to great lengths to take advantage of OS X's user interface and extend on the theme, not the least of which was how the various tools palettes would stretch and deform as you resize, readjust, close or open them. The Mathematica user interface, on the other hand, acts and looks more like a straightforward Carbon port, adding simple touches such as the OS X striped background to the formula palette, but little more. In most cases, the traditional black and white graphics, absent of antialiased text or lines, remains. Wolfram Research may have opted for robustness and stability in its earliest OS X versions of Mathematica. For the time being, the decision is understandable. But later, I think most Mac users will come to expect more from future versions of the OS X front-end of Mathematica as OS X and its application industry as a whole matures. Why not make their major application package the best it can be on OS X?

Installing Mathematica

In any case, the OS X implementation of Mathematica is very competently executed and very clean. The Mathematica software engineers were even thoughtful enough to make installation an act of drag-and-drop right from the CD to your Applications folder. After that, you simply double-click on the new Mathematica icon on your hard drive to get started. As in previous versions of the program, you then have to enter the license key and passcode from the Mathematica License Certificate supplied in the box, and then you are ready to go. In some cases, you may have to call Wolfram Research or access their registration web site to register your copy and receive a password. (If you need to move your copy of Mathematica to a new computer, you may need to reregister your Mathematica because its MathID and password, in my tests, appear to be keyed to the hardware.) Once the application accepts your license information, you can get started.

The icon copied during the installation was simply the Mathematica icon. Double-clicking opens the application as expected. Like a hidden surprise, you can also control-click on the same icon and select "Show Package Contents" to access electronic documentation and bundled add-ons. This elegant solution is possible because Mathematica on OS X is, in fact, an application package or bundle, a new form of application introduced in OS X. It is good to see these new capabilities appropriately integrated with Mathematica.

Using Mathematica

After that, the Mathematica experience is much like you would expect if you have used previous versions of the program or versions for other platforms. As expected, you have the notebook file format where you can enter formulas or expressions, which are then fed to the Mathematica kernel as an input (labeled as an element of the array, In[]). The kernel then operates on the expression and returns its output back to your notebook (as an element of a corresponding Out[] array). It is nice that you may express your formulas in either Mathematica language (Integrate[Exp[-x^4 + v*x^2], {x, -Infinity, Infinity}]) or as a formula . Entering in either format takes some getting used to. Entering the script formula is best performed using the supplied formula palette, but, although the feature is well designed and is much like standard mathematical formula tools, it is a bit cumbersome to hunt and peck with the mouse for the desired element of standard mathematical typography and fill in the blanks. On the other hand, you may use Mathematica's standard language, which is also compatible with the standard ASCII character set, making it easier to send via email. The drawback of Mathematica's native language is that you have to learn its small, yet internally consistent across the language, idiosyncrasies, such as how the inverse tangent function must be typed as ArcTan[], capitalizing both the first A and T and using square brackets. For me, I prefer using Mathematica's language because it is easier to quickly write expressions that Mathematica will understand without ambiguity. In the standard mathematical form, when I first attempted to enter v times x^2, the program assumed vx was a new variable independent of x, whereas writing v * x^2 in Mathematica language was correctly interpreted.

Behind the Scenes: the Mathematica Kernel

The behind-the-scenes implementation of Mathematica is cleverly split between a graphical front-end and a background kernel. This structure has been present in Mathematica on most platforms for a long time, but it is even more nicely hidden from the user in OS X.

Back in OS 7 through 9, when you open what you think is Mathematica, you are really only opening the front-end user interface program. The first time you instruct the program to operate on anything, the front-end launches the Mathematica kernel, sends it the request, and the kernel does the real work. Once the kernel has an answer, it supplies its findings back to the front-end program for user inspection. In the classic Mac OS, you can see the launch occur, and the kernel remains present on the Application Menu for as long as the front-end is running. I've had to explain to colleagues that the kernel does the real work, so it's okay to let it run, and if Mathematica runs out of memory, it might be the Mathematica Kernel that needs more memory, not just the application named Mathematica. That is the way it was in the classic Mac OS.

On OS X, things are a bit more subtle. The Mathematica icon actually is an application package or bundle. Upon inspection via the Terminal, this application instead looks like a nested folder structure. This is where the actual executable, documentation and support data is stored. (By the way, don't upset the application's internal structure; doing so could be bad. It's like playing with ResEdit back in classic Mac OS.) Double-clicking on the Mathematica icon launches the front-end executable code, and you can see its icon appear in the Dock in OS X. As before, the kernel doesn't start until you actually request an operation, even something as simple as 2+2. The kernel sometimes takes a few seconds to launch.

Unlike the Mathematica kernel on classic Mac OS, however, Mathematica's kernel on OS X does not appear in the Dock or anywhere that obvious. Another executable named MathKernel is indeed launched, but on OS X it is launched as a separate Unix process. You can detect MathKernel by using ps or top from Terminal. When Mathematica is processing a rather involved expression, using "top -u" in the Terminal will show the MathKernel process, rather than the front-end, taking up most of the CPU time.

For the user, the result is a better experience on OS X than on classic Mac OS. On the surface, there is only one Mathematica icon in the Dock, the user enters an expression, and the result appears in the same window. The user does not need to know that the actual computations are performed in a separate process, nor does the user have to specify how much memory is allocated to the front-end or the kernel. On OS X, each process has access to its own 4 GB address space, swapped out as needed by OS X's virtual memory manager. The beauty of this setup is that the user can be completely unaware all this clever processor and memory management is going on behind the scenes. It just works, and that's the way it should be.

Graphical Disappointment

Some of the graphical aspects of Mathematica's user interface could use a facelift, and many of these possible improvements could be carried between platforms. These potential improvements go beyond just antialiased text and prettier backgrounds. For example, when Plot3D generates a graph of a two-dimensional function, it uses a default viewpoint in three-dimensional space. To change this viewpoint, you must use a ViewPoint -> {x,y,z} plotting option to specify the x, y, and z coordinates of your point of view of the plot. If you want to preview what the graph would look like using the mouse, you need to use the 3D ViewPoint Selector under the Input menu. That option shows you a black-and-white unit cube, which you can rotate to determine the values of x, y, and z, which you can then paste into the Plot3D call. After that, you must execute Plot3D again to see the plot from the new viewpoint. You must repeat the above process to see a new view.

That is disappointing. That's a four-step process just to change the point of view. The obvious solution to me is to merely click on the graph and drag the mouse around to change the view immediately. Perhaps a preview version of the graph can appear at that moment, but, if the function is relatively easy, it should be possible to rotate the graph in near real-time.

Current visualization software should be able to create real-time three-dimensional rotations of this kind, at least with simple functions. Programs with these kinds of capabilities have been around for years. Graphing Calculator possessed this ability ever since the first Power Mac in 1994. For that matter, a very old program named MacFunction could do the same on a Mac Plus back in 1988. In 14 years, it should be possible to do the same on today's machines, being so much faster than a Mac Plus, using a package with a reputation like that of Mathematica.

Check Your Math, Even When Using Mathematica

What Mathematica is good for: Mathematica is good for prototyping numerical or analytical techniques, experimenting with numerical techniques, manipulating large formula-based results or quantities, certain types of visualization, analytical manipulation of mathematics, and checking math you do elsewhere. As a computational tool, it is good for problems that don't require the fastest implementation, but Mathematica is no slouch here either.

What Mathematica is not good for: All that being said, Mathematica isn't and can't be all things to all people. If you need to perform numerically-intensive computations as quickly as possible, writing your own code in C or Fortran is still the way to go. As much as some might hope this otherwise fine product is the last word in computing and mathematics, such expectations are unreasonable.

To prove the point, consider a relatively simple integral:

where v and x are real numbers. In Mathematica language, the expression is Integrate[Exp[-x^4+v*x^2], {x, -Infinity, Infinity}]. The integrand is quite straightforward, composed of the simpler elements of mathematics. In addition, neither the integrand nor the integral are badly behaved (e.g., they don't approach infinity at any point). The result in Mathematica is:

At first glance, the above expression seems reasonable: that integral was pretty nasty, and the answer looks at least as nasty too. Try substituting v = 1 (performed in Mathematica using % /. v->1). The result is:

This is an imaginary number. Using N[%, 20] gives:

In fact, Mathematica very accurately gives you a wrong answer. Those readers who astutely studied the above integral before seeing Mathematica's answer should observe that there was nothing in the integral above that would make the answer imaginary. v and x are always real, so the integrand is always positive, therefore the answer should be only a positive, real number. Yet Mathematica gives a purely imaginary number.

When we check our references, we find a famous book named Table of Integrals, Series, and Products by I. S. Gradshteyn and I. M. Ryzhik. After careful examination of the 1249-page fifth edition, we find that formula 3.469-1 fits the above integral. Applying the formula from Gradshteyn and Ryzhik gives exactly the same error as Mathematica, an imaginary number times a K Bessel function. Wrong again.

So, what gives? It turns out that Mathematica got this one wrong for the same reason the book by Gradshteyn and Ryzhik has an error: their formula applies only if v is a negative real number. Part of what makes Mathematica so powerful is because Wolfram used many of the same advanced mathematical techniques used to create the book by Gradshteyn and Ryzhik and converted those techniques into a form Mathematica can use when processing expressions. This is certainly an impressive feat and complements Mathematica's other analytical methods. Unfortunately, the expression "garbage in, garbage out" also holds, which results in the above error.

In the current Mathematica, the way to fix the answer is to specify explicitly that v is positive using the Assumptions option. In Mathematica language, the input changes to:

Integrate[Exp[-x^4 + v * x^2], {x, -Infinity, Infinity}, Assumptions -> {v > 0}]

and the new output becomes:

which is correct. The problem remains that you, the user, must be observant enough about Mathematica's output to catch this kind of error and think of supplying the appropriate Assumptions. More often, the error could be merely a part of an otherwise correct calculation, making potential errors more difficult to find. In fact, the program often warns the user about this kind of problem or otherwise does the right thing, but it is too much to expect Mathematica to warn you about every implicit assumption.

This error has been present in Mathematica for at least six years (I've known it since version 2.2.2). In Mathematica version 4.2, if you substitute v = 1 before you have it integrate:

Integrate[Exp[-x^4 + x^2], {x, -Infinity, Infinity}]

the result is the right answer:

You can double-check that this is the correct answer by using NIntegrate[] to numerically integrate the problem or writing a simple program in C or Fortran. However, back in Mathematica versions 2 and 3, substituting v=1 first also gave the same imaginary result, so it appears Wolfram Research attempted to fix this problem in version 4, but they're not quite there yet.

In the course of this review, I discovered that Mathematica 4.2 returns zero when given Integrate[1 / (a^2 + Sin[x]^2), {x, 0, Pi}]. We can see that answer is wrong because the integrand is always positive when a is real. It is as if 2.562-1 of Gradshteyn and Ryzhik was incorrectly applied. Using Assumptions such as a > 0 or a ? Reals gives two answers, one correct and one unevaluated. Interestingly enough, my old files show that Mathematica 2.2.2 gave the right answer six years ago.

The moral of this story is what any good scientist should do anyway: Check Your Math. Don't simply trust Mathematica exclusively. This issue is platform-independent. Perhaps the above examples are just one or two seemingly obscure formulas, but what if Mathematica happened to use one of those while solving the expression you're really interested in? A little off is wrong enough, and, even worse, you probably wouldn't even know if it was wrong. Even if, in a future version of Mathematica, they do fix the code to erase the above errors, that is not enough because another formula or algorithm inside the code could be wrong too. No one can say which formula that will be, and I would never make the claim that a code as big as Mathematica can be absolutely perfect. Mathematica is a great tool, but don't make it your only tool. The best way to be more confident is to use other tools as well, including those that do not involve Mathematica (such as a good C or Fortran compiler and a good numerics book like Numerical Recipes), to be sure you have the right answer.

The Last Word

Mathematica is a very impressive, while expensive, application that clearly shows the time and care that the people of Wolfram Research has put into it. Its OS X version is competent, robust, stable, very usable, and even elegant at times. Although, in the future, it could use more OS X-specific touches and flair seen in other software, the earliest OS X versions of Mathematica take advantage of OS X where it most counts. The high price of the software is a platform-independent issue; while the pricing of Mathematica for Students is within a reasonable range, only users with a clear need for the Professional version can justify its purchase. When using Mathematica, be aware that nothing is perfect, so you never should rely on one tool or authority exclusively, but the company has produced a fine tool nonetheless.

Rating: 3 out of 4.

Pros: Robust, stable, competent port to OS X. Extremely large feature set, good flexibility, and good online help. Relevant updates and extensions to file format export and import and other feature suites. Overall, a solid update.

Cons: Very expensive, high enough to make many prospective buyers hesitate. Little in the way of OS X user-interface niceties and some feature suites have remained largely stagnant. Occasional errors in integration.

- Dr. Dean E. Dauger

Dr. Dean E. Dauger completed his doctoral thesis in Physics in March 2001 while studying under the Plasma Physics Group at UCLA. For his dissertation, he developed a new technique to simulate multiparticle quantum mechanics using massively parallel computers, and he continues the research as an NSF-funded part-time postdoctoral researcher. His interests are both in physics and computer programming, and he applies combinations of techniques from both fields to a variety of projects. He writes computational codes in C and Fortran, portions of which he optimized for the AltiVec processor. Many of these numerically-intensive physics and analysis codes were written for parallel computers.

Dr. Dauger is the writer of award-winning software, including Fresnel Diffraction Explorer, Atom in a Box, and Pooch. No stranger to the software industry, he also co-authored versions 1 and 2 of the award-winning Photoshop filter set, Kai's Power Tools.

In addition to his position at the UCLA Plasma Physics Group, he now runs Dauger Research, Inc., which provides software that extends on AppleSeed, created by Dr. Viktor Decyk and Dr. Dauger to provide the easiest-to-use and easiest-to-build parallel computing cluster solution.

  • MacBook Pro (5-17-06) Dr. Neale Monks. A subjective review of the MacBook Pro
  • Freeway 4 Pro (2-28-06) Dr. Neale Monks. Freeway Pro, the Quark-like web design program from Softpress, has been substantially revised and sports a bright new look. But do the changes go more than skin deep? Neale Monks finds out.
  • Astrostack (1-18-06) Dr. Neale Monks. Long respected as one best astronomical image processing applications about, in its newest incarnation AstroStack now runs on the Macintosh. Has the wait been worthwhile?
  • Virtual PC 7 (11-23-05) Dr. Neale Monks. Virtual PC 7 is the update to the venerable Windows emulator to be entirely all Microsoft’s own work. Can Mac users expect to see any dramatic changes?
  • Eudora Pro 6.2 (8-5-05) Dr. Neale Monks. Eudora has been one of the most popular e-mail clients for the Macintosh for more than a decade. Neale Monks finds out how it compares with the Mail application that comes with OS X
  • MacAstronomica (4-22-05) Dr. Neale Monks. How does this amateur naked eye astronomy software stack up?
  • iKey 2.0 (3-11-05) Jeremy Young. How well does this automation utility work? How much time will you save?
  • Wolfram Research Publicon (3-11-05) Jeff Terry Does this new scientific word processor live up to the potential?
  • Microsoft Office 2004, Part 3, Word (1-28-05) Dr. Neale Monks. Are there enough new features to necessitate a jump from v.X?
  • REALbasic 5.5 (12-03-04) Dr. Neale Monks. Neale takes a look at the latest version of this programming package.
  • Office 2004, Part 2, Excel and Entourage (11-05-04) Dr. Neale Monks. In the second part of his review of Office 2004, Neale Monks looks at Excel and Entourage.
  • Phone Valet 2.0 (11-05-04) Pat St-Arnaud. The best question to ask might be "Is there anything that you can't do with this telephone/Mac integration tool?"
  • TiPaint Touch-up Kit and iKlear iPod Cleaning Kit (10-29-04) Dr. Neale Monks. Is it possible to restore the shiny good looks of iPods and PowerBooks even after years of use? Neale Monks looks at two cleaning products designed especially for Apple hardware.
  • Microsoft Office 2004, Part 1, PowerPoint (10-15-04) Dr. Neale Monks. In the first part of his review of Office 2004, Neale Monks looks at PowerPoint, for many people still the benchmark for presentation software.
  • ScrapX (9-17-04) Dr. Neale Monks. Aqueous Software's ScrapX brings the Scrapbook to OS X
  • CDFinder (8-20-04) Dr. Neale Monks. Finding what you want from among a stack of similar looking CDs can be a hassle, but help is at hand. Neale Monks looks at CDFinder, a budget-priced but powerful cataloguing tool.
  • Endnote 7 (8-13-04) Dr. Markus Geisen. EndNote 7 is a literature database that seamlessly interacts with your word processor. Is the latest version worth the upgrade?

 

 


©2000-2001 Applelust.com. All rights reserved. No part of this publication may be reproduced in any way without prior, expressed permission from the Publisher. It is the sole property of Applelust.com and its writers, who retain copyright to their own works. If you wish to link to us, please see our Privacy Statement for conditions. Apple, Macintosh, and Mac are trademarks of Apple Computer, Inc, with whom we are in no way affiliated or endorsed.

Hosting provided by itsamac.com -- Macintosh Powered Web Hosting

Serve Different

dreamy