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? "
Perhaps pulling the CALC code out of EMACS and adding necesary code and recompling it as a stand alon program? That may work. Most of the issues would probably be in user interface, and hunting around the EMACS code to make sure you have everything CALC needs.
I was sitting in my scientific computing class at Maryland learning obscure MATLAB commands. Before long I got to thinking about starting an open source clone of MATLAB. Let me know if you are interested here.
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/
There is a program produced under the GNU GPL called octave that supposedly interprets mathlab commands. Never tried it because it barfed on my libc version.
Slashdot social engineering at it's finest
You might try:
MuPAD
I've had good luck with it.
Jim
Amusingly, a (greatly simplified) version is our current project in our Lisp&AI class.
Anyone try a freshmeat.net search? Some of the results for a search on "symbolic math" looked promising (some nice libraries too), but I haven't tried any of them.
-- perl -e'print pack"H*","6e656d6f406d38792e6f7267"'
There's a symbolic math package called Octave that's opensource & such... I remember running it under Solaris, Linux, and AIX... http://www.che.wisc.edu/octave/
GiNaC 0.5.3
An open framework for symbolic computation within the C++ programming language.
License: GPL
While i haven't checked it out, from the webpage it is what you need.
daniel
Check SAL.Kachinatech.com for all sorts of scientific apps on Linux, including numeric and symbolic math programs...
Maple runs on several platforms (including linux x86, and a few other unices)
Mathematica runs on a few more platforms than Maple, (those listed above, plus NeXTstep and vms)
Maple will give you source to >90% of its programs according to something i saw on its webpage once (that i can't remember where was....)
Of course its all copyrighted and subjected to their liscense agreement still....
Need a Catering Connection
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
Try YACAS (Yet Another Computer Algebra System). In my opinion it lacks the polish of Mathematica, but it's got a fairly powerful core (which you can always extend).
Octave is a GPL numerical computation tool that is like MATLAB, but better. :-) Most scripts that don't rely on commercial matlab toolkits run fine right out of the box.
Of course, the symbolic toolkit that comes with matlab is probably what you're looking for. Perhaps we should work on creating a symbolic toolkit for Octave? Perhaps someone already has? Stay tuned!
Tetris rules.
The GNOME math tools here show promise, but I still tend to derive interpolation functions by hand, just because it's often easier, even if you've got Maple handy.
"There's so much left to know/ and I'm on the road to find out." -Cat Stevens
See FAQ
Octave is a high-level interactive language, primarily intended for numerical computations that is mostly compatible with MATLAB.
-p
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.
Where does Octave fit in with this?
uups forgot the URL http://www.ginac.de/ daniel
http://www.freshmeat.net/appindex/x11/scientific%2 0applications.html
Scilab is very close to Matlab in basic functionality, I have yet to try out any other package yet, however Matlab and Scilab are rather interoperable for my studies at the moment: Neural Network Design and Fuzzy Logic.
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
if Matlab-like functionality is appropriate, then try Octave (look for it on the GNU site)
you said you don't like Emacs. well, if your dislike is strong then I guess Jacal and Mockmma are not your cup of tea. they are written in Scheme and Common Lisp respectively, so presumably they are most convenient to run with the prompt in Emacs.
hth
-- LIVE FATS DIE YO GNU
Also check out Magnus.
I've used it in a previous life, not bad. http://www-rocq.inria.fr/scilab/
Check out the JACAL web page-- http://www-swiss.ai.mit.edu/~jaffer/JACAL.html for more details. You'll need a Scheme interpreter and the slib (Scheme library). It's GPL, if you're worried about licenses.
I don't know a whole bloody lot about Scheme-- would it be terribly difficult to create a C/C++ implementation of JACAL, or would it be best to start from scratch?
Remember, I've never used JACAL, so I don't know about how appropriate it will be to your needs. But it can supposedly "manipulate and simplify equations, scalars, vectors, and matrices of single and multiple valued algebraic expressions containing numbers, variables, radicals, and algebraic differential, and holonomic functions", according to the web page-- it might be a good starting point.
----
I have come to a conclusion about life... I am more
mentally stable than any of these activists or
OK, first off: I have not tested this myself, so I can't say if it really is good or not. I'm just presenting a possibility.
YACAS (http://www.xs4all.nl/~apinkus/yacas.html) came up a while back when I did a search. That page also lists a few other computer algebra systems you might want to look at, like JACAL. Check the related-links section.
Just a thought, but if you do try several of these you might want to write a brief article about your findings. I'm certain that other people would be interested...
Mathcad looks very impressive to your average user, but Maple is the better package once you get used to thinking about it.
The thing is, if you've ever looked at maple it's clear that many of teh modules haven't actually been planned - through the versions it's evolved in the same way that an OSS project would.
So with a good enough core and foundation then a Maple killer shouldn't be too hard. Till then Maple on Linux will have to do.
You should have a look at GNU Octave, which is mostly compatible with Matlab.
I tried it under Solaris and Linux and it works quite well. If you have the opportunity to compare Matlab and Octave running on the same platform, you will find that Octave is a bit slower and consumes more resources, but not up to the point that it becomes a problem. Several of the Matlab examples can be ported to Octave and they run fine.
You can find Octave in the latest Debian and SuSE Linux distributions. If you want to compile it yourself, you will need a recent version of gcc (with support for C++ and FORTRAN), the C++ library and optionally gnuplot for the graphics. You will also need some disk space and some patience while the stuff compiles, but the package is reasonably easy to configure, compile and install. Good luck!
-Raphaël
Some graphing calculators will differentiate and integrate - such as a TI-89, TI-92, and HP-49. Why bother using a computer for such a task?
I found it at: http://www.ci.tuwien.ac.at/R
I am a quantum physicist and did
some quantum chemistry for a couple
of years. Mathematica is excellent
for symbolic computations.
>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
I completely disagree about that. Give me a pen
example and I'll do it for you with Mathematica.
I have solved symbolic systems of diff. eqns
which otherwise freak you out just by thinking about.
Best,
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
I didn't realize that Emacs was it's own operating system.
Ah well, I should have been a bit more careful before posting: Octave is not really a symbolic math program. So I wouldn't mind if my previous comment as well as all others that suggest using Octave were moderated down as "Offtopic"...
For symbolic math, maybe SciLab (Open Source, not much symbolic stuff but a bit of it anyway) or MuPAD (free but not Open Source) could help, although I haven't personally tested them.
-Raphaël
Moderate this impersonating galoot to hell. For one thing, he doesn't have the period at the end of his name. For another, the real Signal11 would not be so all-out dumb as to suggest that a qunatum chemist derive his equations with pen and paper. You'd be there 'till Christmas!
I remeber when PC Magazine reviewed Math packages.
They choose Mathematica and Maple V as the best; However they gave "Derive" ( a semi-obscure dos-fits-on-a-single-floppy-text-mode an honarable mention as it was the only one to get test gravitational potential problem correct and simplify nested radicals automatically but felt that that it interface and graphics were inferior to Mathematica and Maple V.
I guess they considered getting the correct answer to be a fairly unimportant requirement. I've got the review on my "Hall of Shame" .
I've never taken PC magazine seriously ever since
Take a look at gnatlab, available through freshmeat. I played around with it some on my Slack 7.0 box, it ran fine and provided most of the functionality I was looking for. Also, I believe there is a version of Matlab for Linux available free of charge to students. When I was a CS major at Georgia Tech, we had access to copies of Matlab, at least.
Here is an online manual for maxima. Browsing through this should give you some idea of what maxima has to offer. In particular, take a look at its pattern matcher and differential equations. Symbolic math is maxima's strong point - I'm not sure it really has a competitor in symbolic math - but it respectable at numerical calculations as well.
Mathematica is not better than a pen and paper? Surely you are kidding. I hate matlab, but mathemtica is pretty amazing in what it can do if you know how to use it. I would challenge you to solve some problems with a pen and paper that mathematica can do in a second. It's capabilities are quite spectacular. In addition, the math kernel being abstracted from the front end and the freely available c library interface to the kernel makes it possible to use mathematica in a number of ways in other applications (or even write a new front end to it). Since it's also a high level programming language, you can do lots of things with it (I've seen card games and GUI apps writen entirely in mathematica).
Try Octave or Jacal. The syntax is plent hairy though. No escaping that, because mathematics is hairy by its very nature.
An extensive GPL-licensed modeling system (source, binaries, docs). ASCEND IV is both a large-scale object-oriented mathematical modeling environment and a strongly typed mathematical modeling language. Although ASCEND has primarily been developed by Chemical Engineers, great care has been exercised to assure that it is domain independent. ASCEND can support modeling activities in fields from Architecture to (computational) Zoology. http://www.cs.cmu.edu/~ascend/Home.html
-- Will quantum computers run imaginary-time operating systems?
A few years ago someone posted a description and some basic code of how to use Python to do symbolic math. It's called Pythonica. There hasn't been much support for it, so you would probably have to develop much of the code yourself. Worth a look if you want something that's free and runs everywhere as Python does.
There's a good one already under development. The source code is here.
Although it's not open source and only for Windows... GraphCalc is powerful and extremely easy to use. http://www.graphcalc.com
If QChem is your bag, you might want to look at GAP (Groups, Algorithms, and Programming) here. The license isn't quite GPL, but it's not too hostile either.
-----
--------------------------------
c. m. prince
They call it Maxima but really it is a forked up name for...
macsyma, a symbolic math package BTW developed under "project mac". See? That's clever: project mac, math, symbols... clever. Can "Maxima" be improved? Well, here at least is a recursive acronym: MAXima Is MAcsyma. Nah, no good.
How about, "Maxima: where this derivative's name has a value equal to zero"
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.
Richard Fateman has a program called "mockmma" that is a simple knock-off of Mathematica. I don't know how complete it is, but I doubt it is anywhere close to being a complete clone of Mathematica. It's written in Common Lisp and there's a pointer to it on the ALU's Lisp Tools page.
There are other resources:
I'm sure if you spend a little time with a search engine (Deja, Google), you will turn up more information. I found the above in less than five minutes, so I'm sure there's much more information out there if you look a little bit.
Rev. Dr. Xenophon Fenderson, the Carbon(d)ated, KSC, DEATH, SubGenius, mhm21x16
I'm proud of my Northern Tibetian Heritage
--
"Convictions are more dangerous enemies of truth than lies."
To me the core feature in Mathematica is its pattern matching engine. I have used many other algebra packages with superb mathematical functionalty but without the Mathematica pattern engine it's harder to extend it. It recognises all sorts of very general patterns. A year or two back I tried writing a pattern matching engine that had all of the functionality of Mathematica. It was great because I could simply transcribe big tables of standard integrals and write a minimal algorithm to end up with something that could was really useful at integrating. Other algebra packages I have used don't seem to share this pattern matching. One day I'll rewrite this code properly (it had this really cool feature whereby it would copy pieces of the C stack to allow prolog-like backtracking in C code - but I'd never release a hacky piece of code like that!) and make it open source.
-- SIGFPE
the questioner had mentioned in his query that one of the programs he was using wasn't "much faster than pen and paper." Anonymous_Coward.
" 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."
It's the "run it everywhere I need it" part that is confusing me. Don't the major packages have ports for all major platforms? I have seen/used UNIX, Mac, and PC versions of Mathematica, matlab, and maple. I have not had any trouble with transfering session data (mathematica notebooks, matlab log/diary files, etc...) between platforms either.
I remember taking a mathematica course 6 years ago at CMU and using the UI on a PowerPC mac, and running the bigtime number crunching on a Sparc20 server.
I am in no way trying to negate or discourage the need for, or advantages of, an open source solution to the problem, but shouldn't a quantum chemist have enough university or corporate support to provide him with whatever packages he needs to do his job?
"You want to kiss the sky? Better learn how to kneel." - U2
Sig:
Barbeque is a noun. Not a verb.
Quantum chemist? Don't make me laugh. Chemists don't know crap about Quantum Mech...you guys just know how to bake cookies, and yer even crappy at that. It's us physicists who rock the quantum world, don't kid yerself.
a|0> = 0
I want to spend my money on pizza, not on Commercial Software!
One of the grad students here at the UW Madison Chem. Engineering Dept. Is heading up this project. I've been told it's exactly like Matlab. You can find it at The Official Site
Octave is perfect for you. It's an excellent all around tool. Great for prototyping mathematical problems that you might later impliment in another language, or even just for solving problems and working things out.
I reccomend it.
John
I think Amazon holds that patent If I'm not mistaken.
(Oh come on somebody had to say it).
"as plurdled gabbleblotchits on a lurgid bee" - Prostetnic Vogon Jeltz. (One man's humorous is another mans flamebait)
Like anyone cares what a Brit thinks about food. They don't have much credibility in that department.
Octave has a great UI, as far as I'm concerned. It runs on a tty, and uses GNU readline for input. This gives it line editting just like bash has, and tab-completion on everything, which is much nicer than the Unix matlab on the SPARCs at school.
:) This year they got around to teaching us that lu factorization essentially does the same thing, so I don't need rref anymore :)
BTW, octave uses gnuplot for all its plotting, so it doesn't include any X code at all, AFAIK. This keeps things small. (well, smaller, I guess. I don't know why there is an Octave function for all kinds of system calls and libc functions.)
One really great thing about Octave is that it is almost completely compatible with matlab, so I can hand in my linalg homework done with octave, and apply stuff our prof tells us about matlab. one function it doesn't have is rref, but I got around that by snagging rref.m from the school's commercial matlab copy
#define X(x,y) x##y
#define X(x,y) x##y
Peter Cordes ; e-mail: X(peter@cordes ,
I own just about every cool software tool that I know of, except a current version of one of the major symbolic capable math packages (Mathematica or Maple).
:-( A really fun program to use too. Unfortunately it's Windows only at the moment.
Many years ago I bought a "Standard" (no FP support) version of Mathematica 2 for the Mac (around $700 then I think). Every year or so it occurs to me that it would be nice occasionally to have a current version of Mathematica. But each time I am repulsed by Wolfram's incredible ego, draconian licensing, and exorbitant pricing.
They won't give me any discount on a new version for having owned an old version, and if I want to install the software on more than one of my own personal systems, then I basically have to buy multiple copies of it, plus deal with their annoying password based hardware copy protection.
What Mathematica needs is for someone like Bill Gates to buy out Wolfram and turn the thing into a $200 program with an ordinary license and no idiotic copy protection!
I recently tried to investigate Maple as an alternative, but they won't even return my email messages asking how much the !@#$% product costs!
Grumble, grumble.
Actually, for puttering around with Math at all but the most advanced levels, nothing beats MathCad (preferably MathCad Pro 2K, but that's like $800 now
G.
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 know it's not open source but for a calculator the TI-89 has the best such program I have ever seen. It is awesome Everything is automated in convenient pull down menus It is THE BEST +It's portable
don't follow his link, he's probably making money from the refresh to a CGI script, the bastard.
#define X(x,y) x##y
#define X(x,y) x##y
Peter Cordes ; e-mail: X(peter@cordes ,
There is really only one major symbolic algebra package that is available under a free, as in libre, license: Maxima. Maxima is a GPL'd version of Macsyma, the oldest living symbolic algebra package. Maxima isn't very well publicized, but it has a web page: http://www.ma.utexas.edu/users/wfs/maxima.html
The maxima package contains extensive documentation, but it is short on introductory material. The user interface is pretty grim, but all the guts (i.e., the hard parts) are there.
The only thing open is your head.
if this guy wanted to be even more off-topic, he'd have to talk about how i sodomized his mother while pouring sugar in his gas tank. shesh.
Your point about not wanting to get locked into a closed program is interesting. (Dal has a site license for maple, so I've got the full version for x86 linux. To save typing, I'll just talk about maple, and assume what I say applies to mathematica too.)
:) new support in the maple kernel. (but then again, you never know somebody will think of, otherwise you'd think of it yourself!)
If maple dies, and stops being developed, there won't be any more bug fixes or ports to new architectures or OSes. Fortunately, it runs on at least one Free OS, x86 linux, so it is possible to get it to run on anything. Granted, this would not be efficient. However, by the time the x86 is uncommon (the sooner the better, as far as I'm concerned!), computers will be fast enough to emulate x86 linux. Since the OS is Free, we can make an efficient emulator and catch all the syscalls instead of catching hardware IO. If x86 is still around, but Linux dies (not likely, but _possible_), then we could wrap maple in a compatibility library to translate the linux syscalls.
Anyway, my point is that even if we use a closed package like maple, we will always be able to use it in the form it's at right now. For something like maple, that's good enough for most people. Math is math is math. 1+1=2, and that doesn't change. If new theories are developed, stuff to work with them can be released by independent authors, like what's in the maple share library. I don't imagine it would need (or even need for good performance, since I'm almost sure maple is turing complete.
#define X(x,y) x##y
#define X(x,y) x##y
Peter Cordes ; e-mail: X(peter@cordes ,
I'm looking for Computer Algebra System that could compute numbers larger than a 1000+ digits.Do you know any program/library that can do that ? What is the limit ? Thanks in advance
Isn't there an open source C library somewhere with a well-defined and documented API? Shouldn't there be?
This post expresses my opinion, not that of my employer. And yes, IAAL.
I remember using a program called Reduce for symbolic algebra in a mainframe context some 8-10 years ago. Does anybody know if it has been ported to PC OSes?
Call me a heretic of the Open Source movement, but:
IMO, it's hardly heretical to wish to use the best tool for the job. Like you, in many facets of my professional life (I'm a physicist) I've found no tool, Open Source or closed, that has the flexibility and functionality of Mathematica, particularly in the area of symbolic algebra. I'm skeptical of whether any Open Source product will be able to legitimately compete in this arena for some time.
In my experience, Wolfram Research has excellent customer service, and they do indeed listen to their users re: adding features to their software. If you'll permit an anecdote, when I was writing my dissertation I wanted, for some technical reasons, to be able to generate graphics in Mathematica but use LaTeX drawing commands to place the numbers and labels on my figures. I wrote a filter in C to process the Mathematica-generated encapsulated postscript to strip out the text drawing commands, and then build a corresponding LaTeX file with the drawing instructions. I had some difficulty getting the text positioning to work right, and I asked in an email to Wolfram Res. some specific questions about how MMa generates its EPS, and to my surprise I received a detailed reply within 24 hours. The reply also noted that the next version of MMa would possess the functionality I was trying to work around. (True to their word, it did). I have had other similar experiences with them in the past, but this one sticks in my mind.
My advice to the original poster who is afraid to learn a language that may not be supported on his machine would be to go ahead and learn a symbolic algebra system such as Mathematica or Maple now, since at the moment the commercial systems seem to be the "state of the art." Though the software is not free as in "free beer," the price isn't terribly high on most machines and OSs (Alphas being a notable exception. Furthermore, while you can't tinker with the internals of the interpreter itself, many of the packages are implemented in the language itself, and so you can indeed modify the software to suit your purposes; this gives it some of the same flexibility as Open Source code.
Incidentally, Mathematica and Maple were both available on the Linux platform quite early on in the Linux movement. I remember purchasing the student version of MMa for Linux for $75 back when my P5/133 was considered a "high-end" platform.
No I don't make money from trolling. I'm just evil. have a nice day, loser. 'Come into my parlor', said the spider to the fly...
Trolling for Scooby doo!
OS Math Master is the best package I've come across. I've run it on Solaris and Linux 2.0.36.
Slashdot math (Score:-1)
I see your point.
Long live Trolling on Slashdot!
Or how you knocked over the casket at her fucking funeral. Damn cock smoking clerks.
I remember using it about 5 years, and liked it since:
a) it was relatively fast
b) it fit on a floppy
Whatever happened to Derive?
Who made it?
Cheers
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
unless sgi's multiprocessing works a lot different than linux's, you'ld have to run a multithreaded thing to really slow down everybody on the 8 way (one cpu per thread is usually the only allowed value)
although i depending on the normal load, losing a processor to infinite loop would be bad or horrible
Need a Catering Connection
The interface is alot like matlab. Also the help commands are alot alike. IMO If you doalot of matrix manipulation, you should check it out.
john
-- john
There're packages that once installed, makes Python almost the perfect tool, at www.python.org/topics/scicomp/. I remember one of the most complete packages only have 2 not-very-long source files. Impressive.
If you don't use Python often, and need Matlab interoperativity tho, Octave is very good.
>Matlab has a linux port at my campus bookstore for about $100.
The student VERSION of Matlab does have Linux and windows binaries, but the integrated editor and debugger IS NOT available for Linux. Sure, you can write your programs in emacs or whatever text editor you want, but you don't get the context hilighting, and if you write anything of even moderate complexity you will want a debugger. A search of Mathworks' web site reveals that they are "considering" porting the editor and debugger to other OS'es, including Linux. I use Matlab in my classes, and I'm TA'ing an introductory course in Matlab. I was just a little dissapointed when I found out about the debugger (after about an hour of trying to get it to run - NOWEHRE in any manual or help file does it mention the fact that there is no debugger in the Linux version)
Notice also I said the student VERSION - if anyone is contemplating buying (or uhh.. otherwise obtaining) Matlab, make sure you get the student VERSION. The student EDITION is handicapped. The student VERSION is fully featured and includes Simulink for modeling control systems.
It came out of nowhere.
There was no warning, no message beforehand. It was like a bolt of lightning from a clear summer sky: unexpected, unprepared for. As the T3s suddenly started to vibrate and glow with an ominous blood-red hue, the admins, unaware of what was happening, stood in awe.
Out of the corner of their eye, they saw the Slashdot Effect zing into their server farm. A fast-moving matte black ball of evil ooze disappeared into the first server. And there was nothing they could have done.
The admins fleed in panic, as the quantum limbo induced by the Slashdot Effect started forming black ectoplasm over the servers. Meanwhile, a dark abysmal vortex began to form in the sky which was now the colour of dark blue death, raped with gothic insanity.
The admins, standing outside in the everso strengthening wind, unable to comprehend what was going on, began to hear a distant low hum. The hum grew stronger and stronger and suddenly exploded - a sound, "griiiittttssss!!!" - as the sky ripped in two and tens of billions of packets started pouring into the server room, melting the once gallant servers into charred chunks of plastic.
A mock of faith, an irony in the grand script of life perhaps, for the dead servers to be recycled and reborn as Pokemons. A horrible faith indeed.
Live in pH3ar, for one day it might be YOUR site.
What? Umm, yes, I'm whining because the download-section in MuPAD is so darn clogged. And it's all YOUR fault, boo-hoo!!
After all the money I spent on that damn software, it would be nice if I didn't have to grovel to Wolfram for a new password every time I need to reinstall it...
We have a small grant to develop a web-based virtual math book this summer. The details of this that might interest to this thread are: a) We have to develop (or find) a framework for doing numerical and symbolic math in a web browser (specifically things related to linear algebra), b) we need to create (or find) components for editing/displaying equations, c) this will be GPL'ed wherever possible, unless higher powers intrude. The design is still up in the air, however, and everybody is free to give input.
MAXIMA is a Common Lisp implementation of the famous Macsyma system.
JACAL is a Scheme/SLIB based symbolic mathematics system.
calc source code looks like line noise. it needs to be thrown out and rewritten.
I've tried to stay away from slashdot discussions, but this is too tempting.
What I really want isn't a GPL'ed calculation engine, but a GPL/Open Source front end/GUI.
All of these calculation engines do the same sorts of things, but, when you switch between programs, the command syntax changes.
But that's not the worst part. It's just like the poster said, these programs are almost always slower than paper and pen for most calculations, because, the simple manipulation of the parts of an equation are incredibly cumbersome, not to mention the incredible amounts of memorization of the quirks of each language.
What is needed is a scriptable GUI which has a universal command set and which translates these commands into some set of commands for the actual calculation engine (Macsymma, Jacal, etc.).
Macsyma & others exist on a linux platform and run in shell windows. What would be nice is to write a GUI written in perl/Tk, TCL/Tk, etc. which would:
1. Run on all platforms
2. Allow you to grab parts of equation in an intelligent GUIized fashion, instead of some proprietary command language
3. Allow you to load up common macros that you know about. Try simplifying equations using these packages and arriving at all hyperbolic trig functions instead of exponentials. The languages throw fits. You need to write your own simplification rules. BULL! (I say) Even inverting an equation requires a user program.
4. BUT MOST IMPORTANTLY, a GUI program should use a paper and pencil mentality, not a computer display mentality. When I write a set of equations on my paper;
- my variable definitions should come first
- have optional units
- be dynamically changeble (globally or w/ scope)
- have superscripts and subscripts just like in TeX.
- Common sets of variables for common tasks should be available in a standard distribution.
- If I perform 20 manipulations on my set of equations, I shouldn't be forced to set up a computer display on what to hide and what to display. I should be able to massage the way it's displayed in place on a virtual piece of paper.
- You should be able to tag things with numbers & names & refer back to them in plain language.
- You should be able to easily keep what you want.
- You should be able to perform multiple reductions on the same paper and place the results side by side.
- You should be able to intelligently solve your equation in terms of a group of variable or dimensionless quantity without having to write a program to do it.
5. Intelligent variable tracking (what's been evaluated vs. what has delayed evaluation & what's defined recursively). It's a mess keeping track of it right now.
What I was thinking of doing is lifing the text output from the shell versions and just running a shell in the background & GPL/GUI in foreground. You could even run the engine on a completely different platform in another country. What the heck.
I have macsymma if anyone would like to try it out. I need to get a debian box set up to run it, however, since it doesn't run under Red Hat. Send e-mail to jdn7960NO-SPAM@aol.com after despamming if there is anyone who is interested in a GPL'd front end. We could start with both macsymma & jacal. There may already be some code for gnome or KDE (I seem to remember something like this). But that would be unix only.
lol, I am gonna burn a few karma to announce I have a homepage *gasps* Ive been on the net like 6 years so this is an accomplishment lol
:p
Visit please
I blew a karma point for this
Back to whatever.
</NOISE>
The reason that I say this is that there are bugs in mathematica that SHOULD NOT BE THERE. This goes beyond the usability glitches--every complex software application has its share of locusts. But there are some (a few that I have been aware of) conceptual bugs in some of the computation algorithms that have been there for a few releases. A guy I know actually contacted them about this, and they bug was STILL there in the next release.
If Wolfram were to open source the algorithm code, people could fix bugs and improve efficiency. This would not bother their own development process. With the libraries under the LGPL and their integration software under a closed-source licence, it would improve the quality of the software as a whole, they could still sell it at the same price, and the quality would improve. Dig?
Thanks for the link!!!
There has been some interest on the LyX mailing list regarding extending that software with a symbolic math-package. I am happy to coordinate this project and can personally work on QC simulation code (mostly linear algebra). (The reason we need yet another QC simulator is a topic for another day!) If you are interested in this idea please Email me! Be sure to try out LyX if you are not already familiar with it. Math-package(s) will be selected based on their ease of interface with LyX and selfishly if they have the operations I need. Obviously people who can code or test are very important but at this stage Email from any potential user will be helfpful in convincing the LyX team this is a project they should support.
A flood of thoughtful email would be great-- I think it's pathetic that universities around the world are pouring millions into proprietary closed-source "Scientific Workplace" type solutions when they could be using that money to support an open-source effort instead!
--Alexander (Sasha) Wait
Well, I am using mathematica, too, and I have managed to get at least a GPL-ed frontend. The one I got is for the text console, it has got command and filename completion, and if only we could add some decent support for Unicode Character Encoding .... Youll find the original code if you just look for it long enough at www.wolfram.com, I myself added a little code (colors, ..). Tell me if youd like me to mail you my version ....
I think I saw something about a Cassiopeia running Maple V on Casio's page. The price didn't look really BAD, but I don't know what you need. It's portable for sure and looks like a killer. The price includes Maple as far as I remember, so it was like getting Maple for almost free.
Sorry, no memories of the wherabouts of Casio's main page. Chek under calculators or PDAs. Maybe this would be better for you, though it costs.
The danger from computers is not that they will eventually get as smart as men, but we will meanwhile agree to meet them
I have looked for one of these, having messed about with Maple V years ago at university. I also looked at some of the Mathematica GUI (I xhosted my workstation once to allow someone in Sweden to output some stuff on my display in the UK) These are great apps, but their commercial cost is high - deservedly or not.
I tried looking at MuPad, but the damn thing wanted me to write off to the authors to ask to use the software, also I'm not sure that it was truely Open Source.
I don't want to pay for Mathematica/Maple especially at the prices they are licensed at.
If someone starts a project on this type of software which has the power that Mathematica/Maple has - then I would be very interested. I might even be prepared to pay $40 for such software, but it would be a dream if it were made Open Source (ie Licensed under the GPL)
Mathematica's interface should be re-written to use mozilla - it would be a lot better than the clunky interface they now have.
Of course, Mozilla is not yet ready for prime time (and I don't think the nightly builds have MathML enabled) but you have to look to the future.
You don't give many details about what you want to do, but perhaps the standard GNU utility bc -l has what you want. Here's an admittedly slow way of using bc to calculate PI to 1000 digits:
% bc -l
scale=1000
4*a(1)
I used reduce back in the early 80's. It's a university created package that can solve patial differential equations. I used it for QED and QCD; physical chemistry can't be that different. We used it to solve matrices of multiple Feynman-Dyson diagrams and partial differentials for later use in Monte-Carlo algorithms for figuring out the color of compounds in visible light and for bond angles. The license is "sign a paper that you won't redistribute" (I think that like the Berkeley SPICE stuff, it's considered a munition).
I've been a fond user of Mathematica for several years, but a couple of years ago I got to where I could do integrals that Mathematica couldn't. For integrals that require choosing a contour in the complex plane and integrating along brach cuts, it leaves a lot to be desired. Maple is slightly better, but not much and has a bad UI.
This has been a really interresting topic so far; regardles of the mixture of numeric and algebraic software.
/. evaluating different sorts of software. This, I belive, is a good thing! So why not do an evaluation on algebraic and numeric software?
I've found _a lot_ of new software to test, whenever I get around to it.
And that is precisly my point!
Recently there have been posts on
Interresting points to examine might be:
* Performance
* Platforms
* Completeness (how generall it is)
* Graphics
* License or cost/license
* Learning threshold
* Specific features like how good a
certain software is at solving PDEs.
Just one example.
And also, for the OpenSoftware movement, this will be a great help for voulenters looking for a project to help with. It will also plugg for the mathematicsoriented OpenSoftware in a verry good way.
Anyway, just my 50 öre
If you like calc, it's probably written in elisp, which is just regular common lisp with a little bit of sugar here and there to tie it into emacs.
:)
Porting calc from elisp to common lisp should be relatively easy, and once it's in lisp, you can run it with CLISP or any number of good high-quality free lisp implementations that come with source.
Porting calc has extra benefits too (if it's written in elisp and is portable) - first you would have done the community a favor by contributing work, and second, you wouldn't have to learn a new program.
-- Truth goes out the door when rumor comes innuendo. -- Groucho Marx
I've thought about this myself. This would have come in handy throughout my calculus classes (which i'm now done w/, at least at this school, calc 3 being the last). If you did, however, start a project of this type, w/ an easy-to-use UI, I would be happy to help (which i transfer to rpi.edu, I'll probably have to take diff eq and some more math classes). I envisioned a lyx-like interface, possible of calculating integrals, etc. Let me know if you begin such a project, I do a lot of c/c++/perl coding, and I'm fairly good w/ math overall.
-aas@vh.net
If Mathematica loses its dominant position and stops being developed, then your next computer may be a platform on which mathematica doesn't run. Anyone who's ever owned a microcomputer which isn't PC/Mac compatible probably has a shelf full of software that once was popular but now won't run on their current computer. If it were open-source, this would be less likely since anyone could do the porting.
Since many are scientific academics I imagine lots of them know. However, it would be possible to have a basic OS-dependent engine, and most functions talking to this engine rather than the OS; that way, you could port freematica without understanding Hermite polynomials.
perl -e 'fork||print for split//,"hahahaha"'
There must be a huge number of students to whom a copy of Mathematica would be worth something less than the student price. Since the marginal costs for software are zero, it works out as a huge net waste to the economy that they can't get hold of it. Also, its existence makes it less profitable to develop a lower-powered, lower cost alternative which they might buy, because no "power users" would bother with it.
Of course, if they hadn't charged a license fee, Wolfram might never have created mathematica, and their might only be the "lower power, lower cost" alternative. This would also be a huge net waste to the economy.
My point is that neither system, as it stands, is economically efficient in this case. Just because Mathematica benefits some people, it doesn't mean they create net benefit for the community as a whole. On the other hand, they don't neccessarily create net loss for the community as a whole, in the way that a proprietory application does if its existence is all that stops an equivalent-powered free version from being developed.
This is from a purely economic point of view, disregarding the moral question of whether non-free software is evil, or whether not giving people control over their IP is evil.
perl -e 'fork||print for split//,"hahahaha"'
omatrix on the search engine
that's it all
Check out NetMath which I believe does exactly what you want.
--
Maple is awesome. It is ever getting better, and its fast and can do some speectacular stuff.. go to waterloomaple.com and check it out sometime.
Why not leave it alone? This is what i dislike about the code-communist view of some open source people. Play with the OS, Leave the apps alone. It kinda sickens me for everyone to destroy people's livelyhood by ganging up and creating a free alternative to paid software. Maple and the maple community at large are an excellent group of academic scholars. Leave it alone.
Why not create a VMWare clone? why not create a million or so wordperfect clones? why not create an everything clone? Leave good enough alone and focus on the os.
Open source is about making good software, not distroying businesses making a decent living. Lets keep it in focus people. --jay
Maple is available everywhere. Granted it takes a bit of time to learn but it'll do a lot of stuff. I'm all for open source stuff, but with Matlab and maple around why bother on this one.
Try MathMorphs, designed to work in the Squeak environment. Squeak is a SmallTalk implementation that uses the Morphic GUI (normally found in the Self language)
They are all fun to play around with. You just can't get discouraged if you don't understand a lot of the commands (they have some WEIRD functions that probably only a handful of people in the world fully understand).
Nathan Whitehead
Actually, I have run into problems with calc before, although I don't remember the details; there are, however, equations it can differentiate that it can not integrate again. I can't remember the exact details, as I said. I think it was something like 1/(x-a)^4 or something like that.
(currently testing something about signatures here)
-- Abigail
It seems to me that I remember seeing references to papers on computer algebra in some of Maple's help files. They'd say stuff like "This function uses the method for ____ described by ___ in ______."
If people are working on such a beast, that would be a good reference. Not to mention that a lot of schools offer a grad course in Computer Algebra.
Greg
On using packages like Macsyma, many commercial ones seem to promise that they can solve your problems automatically. But for most non-trivial problems, what those packages shine at is bookkeeping during complex manipulations; the guidance and inspiration still needs to come from the user (and this is true of all of the packages I have used).
It's great that Macsyma is now officially free as Maxima (I had been using older versions that you could download but whose copyright status was complex). I hope Maxima will become a standard part of Linux distributions and that more people will start developing packages for it again.
want open source? http://www.research.ibm.com/dx/ http://www.research.ibm.com/home.html http://www.research.ibm.com/disciplines/chemistry. html
I'm developing NumExp and I would like to have people using it, and asking for new features.
This program was initially mostly made for number theorists, and I haven't really extensively used it myself, but many people told me good things about it. I'm pretty sure it's free, but it might not be OSS. You can check it out.
Reduce is not freely distributable (a la GPL) but the source code is available to allow debugging, porting, etc. The license cost is fairly modest, approx US 99 + tax/shipping for a personal license. More information can be found at http://www.zib.de/Symbolik/reduce
flossie
Write now. Defend liberty
Until recently, Maxima was property of the US DOE, and they required a licence to use it, which prohibited using it officially. The maintainer, William F Shelter recently got permission from the DOE to distribute it under the GPL.
This is very good news and should have been a slashdot item by itself.
Maxima is written in LISP
---
Dev elpizw tipota, dev phoboumai tipota eimai lephteros http://euclidian.org
Looks like there is a handful of projects in the open source world that deal with these issues. It would be good to have a review and/or directory of these, to know which project has which feature and maybe run a few benchmarks, as well as prevent people to re-invent the wheel when they need a functionality.
I am sure there are problems for which the $$ Maple or Mathematica ask for are worth it, but it is hard to know exactly which problems, and why they are not tackled by open source projects.
SAL.kachinatech.org works well as a directory but hardly does any review of the listed projects.
---
Dev elpizw tipota, dev phoboumai tipota eimai lephteros http://euclidian.org
Sadly, the folks answering these questions don't understand what the original poster wanted. (Witness people bringing up Octave all the time- it's not in the same class as Mathematica.)
He and I don't care about numerical solutions. (Well, we do, but not all the time.) Numerical solvers are a dime a dozen. We want symbolic math. Macsyma appears to be about the only free option here.
For example, in the physical chemistry class I'm teaching now you can occasionally get some ugly integrals or differential equations. I want to get back the functional form of those integrals, not some number. That's what's hard, and lacking from virtually every freeware/open source code out there.
"Seven Deadly Sins? I thought it was a to-do list!"
You might like to take a look at KASH (Computational Algebreic Number Theory Shell) which is freely available, but I'm not sure that it's open source. Check out their web site for more information.
I own Mathematica v3 for Linux and I use it for many things. But for most of these, (except possibly computing integrals) there are free and better licensed alternatives.
For example, Singular and Macaulay are super alternatives if you need Groebner bases type computations done. They are better, faster too.
But perhaps with a bit of support from other interested
(python guy)
--
--
Just lurking, thanks!
dear quantum chemist,
buy a TI-92
Mathematician