Open Source Symbolic Math Program?
RickMuller asks: "I'm a quantum chemist, and every so often I'm forced to sit down and derive equations. On occasion I've used Mathematica or Maple to simplify the process, but only rarely because (i) they're not much better than plain paper and pen, and (ii) they're proprietary software, and if I'm going to learn someone's arcane command syntax, I want to make sure it's open source so I can compile and run it everywhere I need it.
I want to know if there is a reliable symbolic math package that is open source. I'm familiar with the CALC package in Emacs, which is quite good except that one needs to be running Emacs to use it. I would like to know if there is a viable alternative. Anyone? "
You might want to check out SciLab. It's more oriented towards numerics, but it appears there are some symbolic capabilities. http://www-rocq.inria.fr/scilab/
You might try:
MuPAD
I've had good luck with it.
Jim
Nick
-- "It's a sad day for American capitalism when a man can't fly a midget on a kite over Central Park" - Jim Moran
There is a gpl'd version of macsyma available here. They call it "Maxima" but it really is a fork of macsyma. I've used both this version (on linux) and the commercial version (on windows). It is an *outstanding* tool. Go get it.
MuPAD: nice general purpose CAS with packages for practically anything. You can view the source for the library functions, so if there's bug, you can fix it. Support is excellent and it's essentially free (as in beer) for *nix systems; MuPAD Light is free for Windows systems. www.sciface.com
PariGP: Has a decent user interface but not especially user-friendly compared to MuPAD's programming language. Has excellent support for formal power series, rings, etc.
Macaulay: User interface is bare bones; just flushes input to the interpreter. Strong in manipulation of polynomials via Grobner basis. It seems specialized for computational algebraic geometry.
I can't stand the Mathematica licensing. As a poor college student who runs Linux, I don't buy much software. But this year I decided it would be worthwhile to have Mathematica (they released a linux version).
So, I bought the student version of Mathematica. I've come to regret that, because their licensing is a pain in the ass. I reinstall OSes on a regular basis, and every time I do, Mathematica requires a new password, so I need to email the company and get a new password from them. This takes days.
Also, I dual boot windows. The CD also had a windows version, so I decided to install it. What's wrong with me using a program I paid $130 for on both operating systems right? It's still on my computer, and they can't run at the same time anyway. Well, I sent another request from them, along with a number generated from my system, and here's the response I got:
It looks as if you have changed from the Linux to the Windows platform. In
order for us to generate a new password for you, I will need for you to
complete a system transfer application. I have attached a copy of this form
in JPG format to this e-mail. Please print the form, complete it, and
return it to Wolfram Research either by fax or mail. Once received a
customer service representative will process your request. Please be sure
to write you new MathID number on the form so the person who receives it can
process your password, I do not believe the form it asks for it.
Our fax number is listed at the top of the form, and our mailing address is:
Wolfram Research Inc
Customer Service
100 Trade Center Dr
Champaign IL 61820
If you are unable to open or read the file please contact me and I will
request a copy of the form either faxed or mailed to you.
Gee, thanks. I haven't gotten around to doing this yet, but perhaps I'll find the time.
Meanwhile, AN OPEN SOURCE MATH PACKAGE WOULD BE A GODSEND!!!!!!!
--
grappler
Vidi, Vici, Veni
Unfortunately, like Matlab, it depends on Maple for its symbolic capability. So, what's needed is either a standalone symbolic kit for SciLab, or an open implementation of Maple...
CJW
Octave is an excellent MATLAB-like program. I've been using it for just over a semester now for DSP classes. It does all the matrix and math functions very well but needs some work on the user interface. The only significant difference I have noticed is that Octave plots aren't as versatile as Matlab. Octave ignores commands like "title", "xlabel", etc. If you want to make something cool, a GUI front to Octave would be nice, especially if you could figure out how to make better plots. I may get flamed for this, but Matlab has a linux port at my campus bookstore for about $100.
-- no sig
Though Octave is a very useful math package (I use it all the time), it doesn't have any symbolic math support. I don't know what made you think otherwise. It's almost Matlab compatible though.
As for symbolic stuff... you should look at SAL.KachinaTech.com which is a site for scientific applications under Linux
Opus: the Swiss army knife of audio codec
-- Will quantum computers run imaginary-time operating systems?
Call me a heretic of the Open Source movement, but:
I use Mathematica regularly. Its syntax is arcane only to the extent that it is itself a programming language with a complex instruction set; and the source is closed. But it has two features which I believe counter this. First, there are simply no programs of comparable power for complex symbolic manipulation; and yes, I am familiar with the open source packages. But algorithms for solving symbolic differential equations and large integrals are simply too much for small groups of people to do; their design requires substantial teams of very skilled people. And while the open source community has mustered many (most?) of the best programmers in the world, the skills of applied mathematicians simply aren't as prevalent in this world.
And second, Wolfram Research (the company which makes Mathematica) has systematically made itself as open as possible; they routinely solicit user suggestions and input, and sometimes incorporate user-submitted packages and code into their own releases. While the core code itself is compiled, a large fraction of the program comes in the form of modular packages which come in the form of Mathematica source code.
In short, I'll say that Not All Closed Source is Bad. The modularity of Mathematica, the publication of the API's and the source to all of the interpreter-level packages, and the responsiveness of the company to its users have given it most of the same advantages that true Open Source posesses.
(All of this applies as well to Maple; that system is oriented more towards large data set manipulation rather than pure symbolics, however, so the situation is slightly - but not very - different.)
So call me a heretic; but I believe that, when the cost of a large number of specialists needed to develop a package is high, the creation of a closed-source, sold-for-money package is reasonable so long as the company does not behave in a manner detrimental to its users. Therefore I would suggest that the continued use and active support of systems such as Mathematica and Maple is beneficial to the community as a whole and should be continued, even in the presence of open-source alternatives.
--
"Convictions are more dangerous enemies of truth than lies."
Moderators, what were you thinking? It may be informative, but it's wrong. If you don't know, don't touch.
See what I've been reading.
I can confirm that Octave is a very useful piece of free software. It provides an essentially complete Matlab 4 environment, and some current development effort is going into Matlab 5 compatibility.
Octave's author, John W. Eaton, has put an amazing amount of effort into the project, and is willing to do more as funding for the project allows. Coders and documenters are also welcome, I believe. A curious point about Octave has been that, despite being a godsend for those who need it worst (starving students), it hasn't "caught on" in the Free Software community as thoroughly as you might suppose.
Meanwhile, if you couldn't use Octave due to an unreported library incompatibility, it would probably be nice to mention this to somebody who could fix it...
Babar
I know this isn't the response you're looking for, but if you want a really powerful symbolic math package that's released under the GPL, take a look at Erable (by Bernard Parisse), for the HP48G line of calculators. It can do lots of things (especially certain types of symbolic integration) that even Maple can't touch, and at a fraction of the speed!
And the fact that it only runs on saturn processors is easily outweighed by the small footprint: only 100k! You couldn't find anything sexier than this if you had Tux in a g-string.
"If one is really a superior person, the fact is likely to leak out without too much assistance" -- John Andrew Holmes