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?

46 comments

  1. Google? by Anonymous Coward · · Score: 1, Informative

    Perhaps you should use Google sometime?

    Never heard of Maxima, Mupad, Octave, Scilab?

    1. Re:Google? by noselasd · · Score: 1

      he said *symbolic*

    2. 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
    3. 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...

    4. 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
  2. Please explain by rudy_wayne · · Score: 0, Flamebait


    There's a reason why these programs are expensive. They are very complex programs that take a lot of time and effort to create. Why exactly do you feel that someone should put out an enormous amount of time and effort to create a progrma of this tyoe and then give it to you for free?

    1. Re:Please explain by Permission+Denied · · Score: 1, Offtopic

      There's a reason operating systems are expensive. They are very complex programs that take a lot of time and effort to create. Why exactly do you feel that someone should put out an enormous amount of time and effort to create an operating system and then give it to you for free?

    2. Re:Please explain by Anonymous Coward · · Score: 0

      So do programs like KDE, OpenOffice, the linux kernel, etc. Ah crap, they're all free.. Open sourcers like open source code, and like making open source code. I'm not saying I particularly understand what motivates people to become this way, but I can't help but feel the same way.

    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: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.

    5. 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.

    6. Re:Please explain by Anonymous Coward · · Score: 0

      Well, just about all my math books.

    7. Re:Please explain by Synic · · Score: 1

      Handling math isn't too far off from compiler design, you are just interpreting syntax and semantics and manipulating symbols in an intelligent manner. In the field of Artificial Intelligence they have developed something called Prolog which lets you create a database information engine that can figure out posed questions from rule set manipulation. They have used this for many things, such as verifying a proof, or finding an alternate way to prove the same thing, and even as so far as to find new mathematical identities.

    8. Re:Please explain by Anonymous Coward · · Score: 0

      Well, just about all my math books.
      books on writing programs

    9. 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.

    10. Re:Please explain by jbolden · · Score: 1

      Computational mathematics goes under the name applied math. Its roughly 1/2 or more of your average math department.

    11. Re:Please explain by Anonymous Coward · · Score: 0

      Your patronising attitude makes me want to punch you right in the face.

    12. Re:Please explain by ameoba · · Score: 1

      I hope you're not saying that Prolog is just an AI thing. While the language is quite popular in AI, its original development had nothing to do with AI & it's been used for 'real world' non-AI projects.

      --
      my sig's at the bottom of the page.
    13. Re:Please explain by Anonymous Coward · · Score: 1, Informative

      jbolden -thats numerical computing.
      There are probably a single digit number of universities in North America with a computer algebra/symbolic computing course.

    14. Re:Please explain by Anonymous Coward · · Score: 0

      Arizona State has a degree plan for a BS in Mathematics with a specialization in scientific computing. It's a lot more interesting than any CS or engineering program. (Most CS folks seem to be business types these days, I doubt many of them could get through the math past vector calc.)

      Math and physics majors who know their comp sci shit just laugh at CS folks who don't know much at all.

    15. Re:Please explain by Anonymous Coward · · Score: 0

      Well, here's how it would work. People don't write open source software for OTHER PEOPLE, they write it for themselves.

      Well, no. That's how it can work, but you can't generalize. I'm a consultant. When a client asks me to create an application (as opposed to feature-enhancement or bug-fix), I've had excellent luck in getting them to agree to Open Source the result. Well, 4 of 6 clients in 2003 permitted me to Open Source the code.

      The pitch to the clients was easy: "You get the source code and the benefit of potentially dozens or hundreds or thousands of additional eyes on it to find bugs, and the option of incorporating enhancements in the future that you may not need to pay for". I couldn't give them the same assurance if they demanded the source remain closed.

      And that boys and girls, is how open source software is born.

      Sometimes, sure. But I suggest you shouldn't generalize so smugly about such a diverse profession as software development.

  3. 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 ncr53c8xx · · Score: 1
      Good luck getting Axiom to build.

      Well, it is lot of code (23 MB compressed). Since it is hosted on Savannah, I wonder how long it will take to start development again?

    2. 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.
  4. 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 Zork+the+Almighty · · Score: 1

      If someone cloned the Maple kernel I'd be writing OSS code tomorrow.

      --

      In Soviet America the banks rob you!
    2. 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.

    3. 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?

    4. Re:It is *because* of the ubiquity... by twistedcubic · · Score: 1

      They've already been mentioned in this thread. You'll find them when you need them. If you don't find them useful, then you won't be at all impressed by them-- they don't have the ooo-aah affect that Mathematica gives... think of a powerful CLI interface vs. Windows XP-- there isn't anything exciting about a blinking cursor.

      Anyway, I'm just an amateur, and the one I use the most is Singular. Compare Singular to Maple, for instance. If you want to do computational commutative algebra in Maple, you have a command to compute a Groebner basis over a very limited number of rings, and very little else. You would have to write your own code to do most other useful things (i.e., Maple is pretty useless for this purpose, compared to essentially all other packages). The trick Maple does is that it will try to cover as many fundamental objects in as many areas as possible, giving the impression of a very extensive tool, but actually it is only superficially useful in numerous fields and sub-fields. Anyway, Maplesoft and others could higher people to write code for many specialized fields, but why do this when most univeristies buy site licenses anyway? Once you start writing something that goes beyond a general-purpose tool for undergraduate calculus classes, you start losing LOTS of money, of course. Not that we need them to do this, but some people are under the impression that we do...

    5. Re:It is *because* of the ubiquity... by twistedcubic · · Score: 1

      "higher" should be "hire"

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

      See for example, GAP, or Macaulay2.

  5. DFTFTAGASOH by Anonymous Coward · · Score: 0

    Don't feed the fucking trolls and get a sense of humor.

    STFU

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

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

  7. 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

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

    Singular is really good for commutative algebra.

    --

    In Soviet America the banks rob you!
  9. 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.

  10. 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!

    1. Re:A book on computer algebra by Anonymous Coward · · Score: 1, Funny

      Yeah... you pretty much need to be a genius... not a "Donald Knuth" genius, but a "PhD at age 17" genius. Dr Wolfram (Mathematica) for example.

  11. Maple is open source by Sara+Chan · · Score: 1
    Maple is open source. It's not free, though. I've always been surprised that the openness doesn't win Maple more plaudits on Slashdot.

    Also, contrary to some of the comments , Maple beats out everything else--including specialized programs--in some areas, e.g. symbolic solutions of ODEs. (It's true, though, that for say group theory, specialized programs are better.)

  12. A few small offerings by pfafrich · · Score: 1
    I've been working a few maths packages myself.

    JEP - Java equation parser jep.sourceforge.net just a simple parser for equations, but can be used as the first steps for a CA program.

    SingSurf - Draws singular algrbraic and other surface. SingSurf.

    Javaview - JavaView a platform for 3D mathematical graphic.

    It would be really nice to see a good open source framework, which allows easy extension into domain specific areas. I can't really see it happening. Maybe the best thing is to work on interopability of the packages, say through the OpenMath or MathML systems.

    --
    There are four sorts of people in the world: fools, lunatics, idiots and morons. - Umberto Eco, Foucaut's pendulum.
  13. Roll your own by sleepingsquirrel · · Score: 1

    Here's a slightly different question. Let's say someone is going to write their own symbolic math application. What's slashdot's opinion on which language should be used to implement it. prolog, haskell, lisp, perl?

  14. matlab by noah_fense · · Score: 1


    Go out and _buy_ yourself a copy of MATLAB R13. The student version is under 100$, which is a deal considering the amount of time it takes to put together such a program. In fact, these programs are so complex, anyone with enough time to dedicate making an open source alternative would have to dedicate their lives to it. And until somewhere in industry realizes they can (if possible) save money by developing an open source version in-house (like disney and wine) then no open source suites will exist.

    -n