| ©
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?
|