Slashdot Mirror


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?

18 of 46 comments (clear)

  1. maxima and axiom by foog · · Score: 3, Informative

    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.

    1. Re:maxima and axiom by John+Hasler · · Score: 2, Informative

      > Good luck getting Axiom to build.

      No need. Axiom, Maxima, YACAS, and Scilab are all in the Debian archive.

      --
      Warning: this article may contain humor, sarcasm, parody, and perhaps even irony. Read at your own risk.
  2. It is *because* of the ubiquity... by Joseph+Vigneau · · Score: 4, Insightful

    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.

    1. Re:It is *because* of the ubiquity... by twistedcubic · · Score: 3, Informative


      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.

      This comment was modded "insightful". Unfortunately it is not true. Depending on what you want to do, there are some highly specialized, hardcore symbolic programs which make Maple, Mathematica, and Mathcad seem like toys. Really, those commercial apps just give you a smorgasboard of basic functions and formulas so as to be considered useful to all. Once you start doing something more serious, you might drop them completely (unless you use their programming languages). If all you're looking for is some general purpose thingie which is a clone of the very popular commercial apps, try the options others already suggested. One I don't think has been mentioned so far is Scilab, which seems to look like Matlab, and looks pretty extensive, though I've never used it. And by the way, the reason why all the specialized programs exist is because scientists and mathematicians find commercial apps largely inadequate for their needs. What's so funny is that this largely parallels the Windows vs. Linux situation-- the commercial players make general purpose, easy-to-use programs which are very pretty and have lots of ohhhhh-ahhhhhh eye-popping features that are very useful for powerpoint presentations.

    2. Re:It is *because* of the ubiquity... by jabberjaw · · Score: 2, Insightful

      Depending on what you want to do, there are some highly specialized, hardcore symbolic programs which make Maple, Mathematica, and Mathcad seem like toys.
      Like what? Seriously, where can I find them? I will most likely be too much to a novice to make use of them, but they would be interesting to see and I am sure I am not alone in this. Also, why are not some of the features that are present in these high-performance programs incorporated into commercial apps. such as Mathematica and Maple? Perhaps Wolfram's ego would be bruised by using other code?

    3. Re:It is *because* of the ubiquity... by H*(BZ_2)-Module · · Score: 2, Informative

      See for example, GAP, or Macaulay2.

  3. Re:Please explain by DarkFencer · · Score: 3, Informative

    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.

  4. Re:Google? by RevAaron · · Score: 2, Informative

    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
  5. Re:Google? by mschaef · · Score: 5, Informative

    Yes, maxima...

    http://maxima.sourceforge.net/

    or giac...
    http://www-fourier.ujf-grenoble.fr/~parisse/englis h.html

    (giac, interestingly enough, runs on PDA's for a mobile solution...)

    If you haven't found open source CAS, you haven't really looked...

  6. Re:Please explain by Anonymous Coward · · Score: 5, Insightful

    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.

  7. Re:Please explain by larry+bagina · · Score: 4, Insightful
    Operating systems are also very well understood. Every CS undergraduate takes a course or 2 on operating system design and there are dozens to hundreds of books on unix/OS design and internals.

    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.

  8. Depends exactly what you're doing.. by kongtomorrow · · Score: 5, Informative

    For commutative algebra, for example, there's Macaulay2.

  9. Maxima by cstangle · · Score: 4, Informative

    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

  10. Singular by Zork+the+Almighty · · Score: 4, Informative

    Singular is really good for commutative algebra.

    --

    In Soviet America the banks rob you!
  11. Please by twistedcubic · · Score: 2, Informative


    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.

  12. Re:Please explain by cperciva · · Score: 2, Informative

    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.

  13. Re:Google? by RevAaron · · Score: 2, Informative

    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
  14. A book on computer algebra by Humble+Star · · Score: 2, Insightful

    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!