Open Source Symbolic Math Packages?
3Suns asks: "There are many proprietary symbolic mathematics suites available, including Mathcad, Mathematica, and Maple. Strangely, I can't find a single free software project with similar functionality. These programs are as ubiquitous in universities and engineering companies as they are expensive. Given the deep roots of open-source in higher education, what can explain the lack of free/open-source mathematics software?" We last addressed this question three
years ago, but a lot can change in that time. Has it?
Maxima and Axiom are the heavy hitters. Good luck getting Axiom to build.
There are some others: I think there's one in Scheme and I think YACAS comes with a lot of Linux distributions but I've never tried it.
The fact that most universities and engineering copmanies have these packages readily available is probably why a big reason why open source alternatives have not shown up. The people who usually write this type of software are academics- who already have access, and don't have the itch to scratch.
There is a big difference here. Operating systems are something everyone who uses computers would deal with. A great deal more people that want to program open source are going to program something for an operating system (be it the kernel, device drivers, etc.), then something for a much narrower audience.
I'm not saying an open source Mathematica type software package wouldn't be nice, but there isn't the same drive for it as for an OS. There are already software packages that run on UNIX/Linux. They aren't freely available, but if you are in Academia, or in industry you probably have access to a package like this already.
Maxima is symbolic.
I believe you can get Octave to do symbolic too, though not by default. I recall reading something about either a free sym package, or someone copying the sym package from a Matlab installation and using it in Matlab.
Working toward a usable PDA environment in the spirit of Newton OS: Dynapad
Yes, maxima...
s h.html
http://maxima.sourceforge.net/
or giac...
http://www-fourier.ujf-grenoble.fr/~parisse/engli
(giac, interestingly enough, runs on PDA's for a mobile solution...)
If you haven't found open source CAS, you haven't really looked...
Wow, what year is it? People still don't understand open source software?
Well, here's how it would work. People don't write open source software for OTHER PEOPLE, they write it for themselves.
Somebody needs symbolic math package, but doesn't want to pay for the expensive versions. Unlike yourself, he reasons that like any complex system, a symbolic math package can be broken down into simpler subsets that maybe he can write himself.
Or maybe, he just wants to try writing it.
Or maybe he reads your post and considers it a challenge.
After a while, he gets it working and it solves his particular problem. Then he puts it on his web site and waits for open source magic to take over. Maybe it will, maybe it won't. But it doesn't cost him anything to try, after all, he's already solved his particular problem.
And that boys and girls, is how open source software is born.
Read OSNews of KernelTrap sometime. There are also dozens of small OSes written by individuals in their spare time.
How many books on writing programs to deal with symbolic math have you read lately?
Do you even lift?
These aren't the 'roids you're looking for.
For commutative algebra, for example, there's Macaulay2.
Maxima would probably be your best bet
It is an implementation of Macsyma written in LISP and will compile and run fairly well on almost any machine
The syntax is easy to learn and the program is fairly powerful yet approachable
Even if it's not exactly what you're looking for, it is an extremely valuable tool
Singular is really good for commutative algebra.
In Soviet America the banks rob you!
Given the deep roots of open-source in higher education, what can explain the lack of free/open-source mathematics software?
There is not, nor will there ever be, a lack of free mathematics software. Is there a lack of free/open source "Linux software"? Yes, but only if you ask a news reporter or MS apologist. C'mon man, Google Directory lists a good deal of free stuff here. You just forgot to look. Anyway, I'm sure this was covered on Slashdot as recently as last year.
Handling math isn't too far off from compiler design, you are just interpreting syntax and semantics and manipulating symbols in an intelligent manner.
Numerical math, yes. Symbolic math is far more complicated. Integration, for example, requires the Risch integration algorithm, which is quite non-trivial; computing polynomial GCDs has been the subject of dozens and dozens of papers.
Tarsnap: Online backups for the truly paranoid
Actually, I run Maxima on my PDA. Not used giac, but Maxima works very well. I use it on a WinCE.NET 4.1 handheld PC/palmtop. I have also used it on WinCE 3.0 devices- PocketPC 2000 and 2002 as well as a Jornada 720 running Handheld PC 2000. It is awesome to have a totally powerful mathematics system at my finger tips. A lot nicer to have a keyboard as with my WinCE.NET 4.1 device (mmmm Sigmarion 3- a laptop that fits in my pocket!), a Jornada 720 or any other WinCE device with a builtin keyboard- compared to a PocketPC device.
Hell, even XMaxima on Windows CE, just like running it on a Linux or Windows desktop, though it fits a little better on the PDA. Complete with GNUplot support! Very powerful tool.
Working toward a usable PDA environment in the spirit of Newton OS: Dynapad
One of the most thorough that I've seen is: Algorithms for Computer Algebra by K.O. Geddes, et. al. If you're not very good at modern algebra, don't bother shelling out the ~$270 for this book. (I got my copy for $80 used.) Geddess, et. al. are the ones who designed and wrote Maple.
I might come as a surprise to some, but symbolic mathematical systems require a lot of advanced math! Finishing the college calculus sequence is about 3 years insufficient to start scratching the surface. So, there aren't many people who know the math and know how to write software. I think that's why Mathematica and Maple are so darn expensive. I think you'd need a bunch of graduate-level people to make up your QA team!