Article View: fj.sci.math
Article #14197Comparisons between Maple, Mathematica, Macsyma: QUOTE
From: mhiroshi
Date: Fri, 19 Feb 1993 03:11
Date: Fri, 19 Feb 1993 03:11
200 lines
11336 bytes
11336 bytes
sci.math.symbolic $B$+$i$N0zMQ$G$9(J.
($BB?J,J8>O$NK\Ev$NI.<T$O(J Toshiro K. Ohsumi $B$H$$$&$R$H$G(J,
B.D.Alleyne $B;a$,0zMQ$7$F$$$k$b$N$H$*$b$&(J.)
$B86J8$O9T$ND9$5$,B7$C$F$$$?$N$G$9$,(J,$B;d$,FI$`$H$-Jx$7$F$7$^$C$?(J.
==================== QUOTE ========================
From: alleyne@hera.ics.uci.edu (Brian D. Alleyne)
Newsgroups: sci.math.symbolic
Subject: Comparisons between Maple, Mathematica and Macsyma
Message-ID: <2B8096D6.20925@ics.uci.edu>
Date: 16 Feb 93 07:25:10 GMT
Organization: Univ. of Calif., Irvine, Info. & Computer Sci. Dept.
Nntp-Posting-Host: hera.ics.uci.edu
Status: R
Greetings.
It has been suggested to me that I post my experiences
with the three aforementioned programs.
Another reason for this is that I noticed a fair number of messages
concerning the comparisons of these packages in sci.math.symbolic.
Lastly, I hope that in reading this, the companies producing these packages
find some useful information in strengthening their respective packages.
First, I have used
Maple V (version 1.1 - a version 2 has been released,
but I do not have any personal experience with it)
which runs under DOS, Windows, and OS/2 version 2.x,
Mathematica 2.1 for Windows which runs under Windows 3.x
(I don't remember if it required 3.1) or OS/2 version 2.1
(currently in beta) Win-OS/2 mode,
and PC Macsyma 417.125 which runs under Windows 3.1 with native DOS.
PC Macsyma does not run under OS/2 (not even the new version 2.1).
My interest while I was using these packages were in nonlinear ODEs,
so I was primarily interested in graphing capabilities and numerics
as well as matrix manipulations (especially inversions and eigenvectors).
However, I did do an occaisional dallying into the symbolic capabilities
of these programs.
In this article, I shall describe each program's weakness and strengths
and state what biases would suggest preferring that program.
This organisation emphasises my hypothesis that none of the symbolic programs
are "the best", but what is important is what is the most appropriate
for the purpose at hand. The order is in chronological order of programs
I have used.
Maple V is very fast. It runs under all the OSs on the PC and uses
comparitively less memory than its competitors since it has a small
kernel and loads the required libraries on demand. It is the fastest
in terms of both symbolic and numeric calculations generally and is
best for large straightforward calculations where speed is the most
important factor. Its symbolic integrator has more breadth than
Macsyma, I believe, but the version I used (perhaps much of it was
fixed in version 2) was flawed in many ways.
There is an interesting article by Prof. Simon in the AMS Notices
a while back with an integral that both Mathematica and Maple gave an
incorrect result. While the integral had a dependancy on some constant,
somehow in integrating, Maple lost the dependancy giving a constant
as a result. It should be pointed out that this integrand had a nasty
square root factor in the denominator which is a constant source of problems
in symbolic manipulators.
Its ODE solving capabilities as well as symbolic sum evaluation, I think,
are the weakest of the three packages. Its three volumes of manuals are
the beginner's manual (adequate, but somewhat dry - subjective opinion,
of course, and with apologies to Waterloo and the authors), a programmer's
manual, and a reference book.
The reference has each command listed with examples on usage. The reference,
as far as I can tell, is duplicated in the online help. However,
unlike Mathematica (closest to my idea of optimal documentation), there is
very little said about how commands relate to each other (ex. which ones do
fraction manipulation, and which ones do expansion of expressions, etc.?).
The typesetting is acceptible, but not great (see Mathematica).
Its graphing capabilities is on par with Macsyma,
but is below that of Mathematica.
It is fast, but there is no control of shading or lighting effects.
I understand that the new version of Maple is supposed to be competative
with Mathematica. The numerics on Maple is probably the fastest I've seen
and a lot of work seems to have gone into that.
The version I used, unfortunately, did not have matrix inversion capabilties.
The new version is supposed to. (It would of been good to be able to compare
the speed of matrix inversion of the new version with, say, Mathematica.)
Lastly, there are quite a number of user-written packages for Maple,
but not as many as Mathematica.
Mathematica has great graphics. It's neither the fast nor slowest
(that unfortunate distinction is left to Macsyma),
but at least it runs under OS/2 (the new beta version 2.1).
It also has some of the best printed documentation I have seen.
Its manual is well organised (first part is an introduction, the second
part shows commands as related by topic, and the last part is a command
reference section) and there are a multitude of books written about it
to make it easier to learn (ex. "Programming in Mathematica" by Maeder).
The printed documentation makes the online documentation almost superfluous.
(The online documentation just consists of a short description
of each command with *no examples*.)
Its symbolic integration and summation probably has the most breadth
(ex. sums which gives hypergeometric functions).
However, the integrator also failed Prof. Simon's test integral (see above),
by giving an answer that is correct only for the constant parameter
greater than 1 (without telling the user so).
Its ODE capabilities are not bad either (but see Macsyma).
What this packages really shines in is graphics.
One can control practically everything about the graphics output
in Mathematica and it has the most number of graphing routines
(ex. one can control lighting).
(However, one should not discount Maple V's new release -
it may be as good as Mathematica.)
Mathematica's matrix manipulation (including symbolic matrix inversion)
is faster than Macsyma's.
One thing is that the graphics are done in Postscript,
so there is a problem of speed when the graphics start to get complex
as the program must translate the output into Postscript -
a CPU intensive process indeed!
Lastly, Mathematica has the most number of user-written packages for it.
Some of them are very well known, such as the FeynArts/FeynCalc packages,
which calculates and draws Feynman diagrams (used in high energy physics).
There is also a little package written that allows one to specify
whether a variable is positive or not (and some other properties),
though this does not bring it up to Macsyma's level.
Macsyma is safe. Unfortunately, Macsyma does not run on OS/2
(which I'm using now - anyone interested in my copy of PC Macsyma?),
which is a shame.
It also requires 8 megabytes of memory - something many users do not have!
It doesn't have the breadth of symbolic integration or summation as Mathematica,
but it is the safest in that it querys the user about parameters
in the integrand which may affect the result.
(For instance, integral of x^n = log x if n=-1, otherwise = (x^(n+1))/(n+1),
so Macsyma will ask if n+1 equals zero or not.)
I tried Prof. Simon's integral in Macsyma and it does work,
though I had to try it all three times (paramenter <,=,> 1?)
to get all the specific cases, but the point is that
it got the correct answer and states for what conditions.
When it comes to ODEs, however, Macsyma combines both safety and breadth.
(The safety comes again from asking the state of parameters.)
It can also invert matrices symbolically.
Its symbolic capabilities are probably the most bug free
due to its long history.
Its graphing capabilities are on par with Maple (version 1.1),
but below that of Mathematica.
I believe numerically Macsyma is a bit behind both Maple and Mathematica.
What is nice is that the output of Macsyma is formatted neatly
(almost TeX-like) with greek symbols and so forth,
unlike the previous two programs.
(Maple V version 2 is supposed to have this neat graphics out as well,
but I haven't seen it, so I can't confirm this.)
While Macsyma's printed documentation is not well organised
and too dry for me
(again, subjective with apologies to Symbolics and the authors),
its online documentation is a wonder.
While other might have a description and even usage examples,
Macsyma also often provides detailed example files
which very clearly illustrates how to use the function in context.
With the example files, the printed documentation becomes
almost an afterthought.
(I hardly looked at the printed manual while using Macsyma.)
A side benifit is that one can modify the example files
for personal use (ex. the periodically forced ODE example file).
However, one cannot escape the fact that this program is getting behind
in the times
(written and LISP and thus is very slow - easily the slowest of the group)
and that there are no easily available user-written packages for Macsyma.
Unfortunately, I heard a rumor that Symbolics filed for Chapter 11 (I hope not).
In any case, Macsyma should not be discounted if safety is a prime factor.
In summary, Maple=speed, Mathematica=graphics, and Macsyma=safe symbolics.
However, I should point out that all of these programs have bugs.
That is unavoidable.
Any answer produced should be taken with a grain of salt.
Also, there has been some discussion of symbolic packages
having this-that-or-another programming language.
Perhaps this shouldn't be so much of an issue,
since I have found that one can adopt to any programming language
(they aren't all that different) once one buys a package.
The main issue, at least as I see it, is the suitability of the package to task.
That is all for now - my appreciation to Waterloo, Wolfram, and Symbolics and
my apologies for any omissions. I hope, this article helps, at least in some
small way. If replying by email please send email to chopin@lynx.ps.uci.edu.
- Toshiro K. Ohsumi
Department of Mathematics
University of California
Irvine, CA 92717, U.S.A.
-------------------------------------------------------------
alleyne@ics.uci.edu
I never met a chocolate that I did not like.
-------------------------------------------------------------
--
Brian D. Alleyne
============= END QUOTE ============================
$B?t<0=hM}$N(JML$B$O;`$s$G$$$k(J ?
Technical Details
Message-ID:
<4131@tansei1.tansei.cc.u-tokyo.ac.jp>Path:
arc1-ca.pugleaf.net!sparky!uunet!ccut!news.u-tokyo.ac.jp!yayoi!tansei1!mhiroshiShow Full Headers
Complete Article Headers
X-Google-Language: Japanese,JIS X-Google-Thread: f4956,f73a7b267d6c803f,start X-Google-Attributes: gidf4956,public X-Google-ArrivalTime: 1993-02-18 19:11:32 PST Path: arc1-ca.pugleaf.net!sparky!uunet!ccut!news.u-tokyo.ac.jp!yayoi!tansei1!mhiroshi From: mhiroshi@tansei.cc.u-tokyo.ac.jp Newsgroups: fj.sci.math Subject: Comparisons between Maple, Mathematica, Macsyma: QUOTE Message-ID: <4131@tansei1.tansei.cc.u-tokyo.ac.jp> Date: 19 Feb 93 03:11:32 GMT Sender: news@tansei.cc.u-tokyo.ac.jp Distribution: fj Organization: Hokkaido Univ. However I am subject to tansei for JUNET. Lines: 200