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...
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.
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.
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
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
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.
Try Octave or Jacal. The syntax is plent hairy though. No escaping that, because mathematics is hairy by its very nature.
-- Will quantum computers run imaginary-time operating systems?
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
" 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.
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)
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 guess you haven't had the opportunity to compare, say Mathematica with Ti-89 CAS? There are lots of even simple problems that Ti-89 can't solve that Mathematica solves in a blink of an eye. Most annoying feature of Ti-89 (AMS 2.03) is that some problems just choke the calc. If you don't break the calculation it'll try solving it until it runs out of batteries. Symbolic graphing calculators are good for 'easy' or 'mechanic' type of problems but real-life hard calculations just need more power.
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.
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.
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
oh no, not this link again :o)
--
BeDevId 15453
Download BeOS R5 Lite free!
"Science will win because it works." - Stephen Hawking
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.
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.
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?
If you will reread the original inquiry, you will notice that this chemist is NOT a frequent user of Mathematica and therefore probably forgets how to use it (between rare occasions).
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)
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.
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
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"'
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
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.
I'm developing NumExp and I would like to have people using it, and asking for new features.
Maybe because he needs a symbolic answer, not the discrete solution that a graphing calculator is going to provider. There are plenty of cases when the discrete integral is useless.
And even if the discrete integral was sufficient, often it's the case that the dataset is simply too large for a calculator to deal with. I'm thinking in particular of some scientists I know who work with 2gigabyte datasets which they integrate. They use 600mhz pentium-3 farms and a typical integral still takes a few hours. The integral is obviously a lot more complicated than Int(sin(x))!
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