Please create an account to participate in the Slashdot moderation system

 



Forgot your password?
typodupeerror
×
GNU is Not Unix

Open Source Symbolic Math Program? 237

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? "
This discussion has been archived. No new comments can be posted.

Open Source Symbolic Math Program?

Comments Filter:
  • 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 [umd.edu] 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.
  • by David Bengtson ( 87963 ) on Wednesday March 01, 2000 @09:49AM (#1234115)
    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.
  • by JimH ( 17600 ) on Wednesday March 01, 2000 @09:50AM (#1234117)
    You might try:
    MuPAD [mupad.de]
    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.
  • Ooo, I just thought, there is a really nifty matrix math program called "umatrix" in the FreeBSD ports tree. It is nice and small, it has very limited functionality, but I have solved more than one homework problem with it. It might make for an excellent starting point. The immediate draw back (for me anyway, since I do not know Italian) is that the comments and variables are in Italian.
  • 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/ [wisc.edu]
  • 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
  • by Anonymous Coward
    Check SAL.Kachinatech.com for all sorts of scientific apps on Linux, including numeric and symbolic math programs...
  • by nstrug ( 1741 ) on Wednesday March 01, 2000 @09:53AM (#1234124) Homepage
    The relevent SAL page is here [sai.msu.su].

    Nick

  • Try YACAS [xs4all.nl] (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).
  • I second this recommendation. MuPAD has great symbolic capabilities and can generate graphs, which I don't think Emacs Calc mode can. Perhaps if Emacs had an X11 drawing interface?? Bloat, bloat bloat :)
  • Octave [wisc.edu] 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!

  • The GNOME math tools here [gnome.org] 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.
  • by Anonymous Coward
    Doesn't Octave address this?

    See FAQ [wisc.edu]

    Octave is a high-level interactive language, primarily intended for numerical computations that is mostly compatible with MATLAB.

    -p

  • by nonya ( 65503 ) on Wednesday March 01, 2000 @09:54AM (#1234130)
    There is a gpl'd version of macsyma available here [utexas.edu]. 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.
  • by Signail11 ( 123143 ) on Wednesday March 01, 2000 @09:55AM (#1234131)
    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.
  • by grappler ( 14976 ) on Wednesday March 01, 2000 @09:56AM (#1234137) Homepage
    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
  • [ I'm not very good at math, but I'll try to be helpful anyway ]

    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 [mit.edu] and Mockmma [berkeley.edu] 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

  • by davebo ( 11873 ) on Wednesday March 01, 2000 @09:57AM (#1234139) Journal
    You can get more information about Octave, as well as download source & binaries from here [wisc.edu].

  • See the links at the bottom of Dave Bayer's page. [columbia.edu]

    Also check out Magnus. [cuny.edu]

  • 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) [xs4all.nl] 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...

  • Octave is a GPL math package that uses a Matlab'ish command language. Interfaces quite nicely with GNUPlot too. There's a section in the FAQ that describes what to do with matlab scripts.

    Octave is *big* and can take a while to compile from source. for most *nices, it should build out of the box though.
  • Octave is a greate tool for numerical calculations, but AFAIK it can't do symbolic math
  • Macsyma is THE symbolic math package, predating all others and the standard to which all others were often held. While I haven't worked with the derivative Maxima version, I still remember working with Macsyma and being very impressed. In fact, many (older) AI texts used to talk about it as a standard for early AI work. Been around more more than 20 years now.
  • 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.
  • by Anonymous Coward on Wednesday March 01, 2000 @10:02AM (#1234148)
    There already is an open (I think---definitely free) Matlab clone. It's called SciLab, and its homepage is http://www-rocq.inria.fr/scilab/ [inria.fr].

    Unfortunately, like Matlab, it depends on Maple for its symbolic capability. So, what's needed is either a standalone symbolic kit for SciLab, or an open implementation of Maple...

    CJW

  • You should have a look at GNU Octave [wisc.edu], 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!

  • by theophilus ( 106556 ) on Wednesday March 01, 2000 @10:06AM (#1234150)
    Octave is an excellent MATLAB-like program. I've been using it for just over a semester now for DSP classes. It does all the matrix and math functions very well but needs some work on the user interface. The only significant difference I have noticed is that Octave plots aren't as versatile as Matlab. Octave ignores commands like "title", "xlabel", etc. If you want to make something cool, a GUI front to Octave would be nice, especially if you could figure out how to make better plots. I may get flamed for this, but Matlab has a linux port at my campus bookstore for about $100.
  • by Marvin_OScribbley ( 50553 ) on Wednesday March 01, 2000 @10:08AM (#1234151) Homepage Journal
    I purchased Mathematica 3.0 when I was a student and I agree, the password problem was REALLY annoying. I recently upgraded to version 4.0 with the student upgrade discount (around $350 versus $79 for the student version or over $1000 for the non-discounted version) and I must say it was certainly worth it. I was expecting the password mess so I installed it on a laptop, so I could easily take it wherever I went without having to get new passwords. Guess what! It didn't even ask for a password! I suspect the student version uses a password because Wolfram is afraid of students pirating the software.

    All in all I consider Mathematica to be one of those rare pieces of software that actually have enough merit to be worth every penny paid for them. All of the few bugs I found in version 3.0 have been fixed in 4.0 (for example, I can now find the 1 trillionth prime number without a problem). And the fact that Mathematica does run under Linux is nice too.

    In the past I have thought it might be useful to someday start a project to develop a free version of Mathematica. IMHO Mathematica is the best technical computing package available, bar none, and a version with source available would be even sweeter. However, consider this -- a good deal of the functionality in Mathematica is actually written in the Mathematica language. There is a lot of Mathematica source available that comes with the package. Most of the low-level underlying stuff you don't really need the source code for anyway.

    As for the comment about arcane language, Mathematica's language is about the cleanest that i've seen. It uses a simple underlying list form (Head, Element,... where Head is a function, data type, etc.) and builds on that to support virtually every known mathematical function, notation, programming style, etc. Lest I seem to exuberant keep in mind it's really optimized towards symbolic and numerical computations, so it really doesn't work as well with things that traditional command line tools such as perl can do much better.

  • Try Scilab

    chris

    Surfing the net and other cliches...
  • This may or may not be as useful for quantum chem, but for all you statisticians out there who don't want to fork out bookoo bucks for SAS or S+ licensing, there's a S+ cousin called R... GNU's statistical analysis/graphics package/language. It's similar in command and behavior to S+, but I'm not sure of the extent of its functionality. (still playing with it.)

    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,
  • by jmv ( 93421 ) on Wednesday March 01, 2000 @10:10AM (#1234156) Homepage
    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

  • I didn't realize that Emacs was it's own operating system.
  • MathCad has Maple built in, so if you do things correctly, you should have equal power. The difference comes in speed and presentation. If I'm trying to solve one problem, or a few of them, I pop open mathcad and work it out. Its easier that typing various commands I half remember, looks nicer, etc. If I'm doing a lot of work, such as labs, then I have to use Maple. MathCad just doesn't cut it. That's what you get when going from a command string to a presntation layout.

    I've been using MathCad since v2 for dos, including the Win3.1 versions, and maybe once used a UNIX (HPUX) version. MathCad is better or worse depending on the person and the job.

    What I really love about Maple is that it keeps UNIX support so I can use display it from the server to my machine. Thus, when I run an infinite loop, I can screw everyone on an 8-way SGI rather then slow down my desktop. What fun. :-)
  • Heh, I was going to say the same thing...

    "Can't you just write in Scheme or Prolog?" :)

    But yes, the response looks good. I was going to mention muPad, but someone already did.

    I'd want more of a MathCad clone though, because its interface is far superior to maple's crappy interface...
    ---
    pb Reply or e-mail; don't vaguely moderate [152.7.41.11].
  • 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 [inria.fr] (Open Source, not much symbolic stuff but a bit of it anyway) or MuPAD [mupad.de] (free but not Open Source) could help, although I haven't personally tested them.

  • Octave is a good MATLAB clone, but MATLAB is not maple or Mathmatica.

    Octave/Matlab are mostly for numerical analysis and matrix operations, not for symbolic math.

    For example (AFAIK) both Mathmatica and maple can solve simple derivatives and integrals symbolicly, and MATLAB/Octave cannot. (Major AFAKI disclaimer here).

    But what's the big deal, Maple isn't that expensive.
  • silly little semi-unrelated trivia....

    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 [itp.ac.cn] 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 [itp.ac.cn] and differential equations [itp.ac.cn]. 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.
  • EMACS is an OS the same way Windows is...while it doesn't take care of things directly, it's an OS environment that runs on top of a CLI. :-)

    (This post is only half joking.)

    Mycroft-X
  • Thank you for setting this straight.. I saw that paper and pen comment and just about spewed my grape jolt cola.

    Omar El-Domeiri
  • Matlab can do symbolic math if you purchase the symbolic toolbox.
  • Try Octave or Jacal. The syntax is plent hairy though. No escaping that, because mathematics is hairy by its very nature.
  • by hawkestein ( 41151 ) on Wednesday March 01, 2000 @10:28AM (#1234173)
    There's a GPL'd program similar in functionality to Matlab called RLab, with a page at rlab.sourceforge.net [sourceforge.net]. However, I haven't tried it myself.

  • If QChem is your bag, you might want to look at GAP (Groups, Algorithms, and Programming) here. [st-andrews.ac.uk] The license isn't quite GPL, but it's not too hostile either.

    -----
  • They call it "Maxima" but it really is a fork of macsyma

    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"

  • by zunger ( 17731 ) on Wednesday March 01, 2000 @10:34AM (#1234179)
    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 [berkeley.edu] on the ALU [alu.org]'s Lisp Tools [alu.org] page.

    There are other resources:

    I'm sure if you spend a little time with a search engine (Deja [deja.com], Google [google.com]), 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
  • the Emacs symbolic math code is several MB of elisp. Good luck. :-b
  • by osu-neko ( 2604 ) on Wednesday March 01, 2000 @10:37AM (#1234184)
    Why not just run it under Emacs? I know most of you guys are Linux fans, but really, Emacs is the best operating system available. You should try it! It even runs under Linux without requiring VMware or anything like that. What other operating system has that feature? Both Linux and Windows have a way to go before they're a serious challenge to the Emacs operating system!

    --

  • 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.
  • " 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
  • For the record, I would give half my salary, my first born child, my left testicle, and all the beer in germany for an open source symbolic math package that has similar functionality to Maple or Mathematica.

    Mathematica's absurd licensing means (among other things) that on my Linux/Alpha system, I must buy the Tru64 version for $3000.00, and cannot get this under a student license.

    Boycott Wolfram Research. Their Draconian licensing policies and you-can-only-afford-this-with-a-government-researc h-grant pricing schemes have put them on my boycott list along with Microsoft, Intel, Ameritech, Blockbuster, and a few others.

    Also for the record, I would contribute heavily to any open source project that shows promise of approaching Maple/Mathematica. Here's some thoughts:

    <IDEA>

    • I want the ability to take an expression and manipulate it by selectively applying identities, exactly the way you do on paper. For example, the ability to select a term in an expression, and apply a trig identity to it, select two terms and combine them with a common denominator, etc.
    • It should have input/output compatible with LaTeX so that results can be easily incorporated into a paper.

    </IDEA>

    --Bob

  • 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 [wisc.edu]
  • Your tongue is so far in your cheek I can almost see it poking through.
    Hopefully, so will everybody else.
  • 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).
  • Oh come on... I am a rich student. I bought Mathematica for Students 4.0.1 about 4 months ago with a couple of add-on packages (mostly from MEI).

    I can't believe how good the after sale service that Wolfram gives is ! There is even one of the developper of Mathematica on comp.soft-sys.math.mathematica that answers questions regarding Mathematica and Linux.

    I had to request a new password about 3 or 4 times and everytime I got it in less than 12 hours.

    I originally bought the software for Windows and then decided it would be better to transfer it to Linux. I completed the System Transfer Form and had the needed password in less than 24h.

    When you will be over with school you will have the possibility to buy the Professionnal version for something like 300$ instead of 1250$ because you bought the student version.

    If there is one thing I have to complain about is the fact that Wolfram doesn't advertise very strongly the fact that Mathematica, and mostly the add-ons, are compatible with Linux. I originally bought the Windows version because I thought they could only work under Windows. But everything works under Linux.

    Mathematica is great !
    ---
    p.s.: please forgive my bad spelling. English isn't my primary language.
  • by peter ( 3389 )
    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.

    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 :) This year they got around to teaching us that lu factorization essentially does the same thing, so I don't need rref anymore :)
    #define X(x,y) x##y
  • 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).

    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 :-( A really fun program to use too. Unfortunately it's Windows only at the moment.

    G.
  • For those who don't reinstall OSes on a regular basis (thats why I use Linux) and those who are not better with plain paper and pen (I think the most of us), Mathematica is THE CHOICE in symbolic mathematics.

    BTW: At our university (Vienna University of Technology) Mathematica 4.0.1 is sold for less than $10 (ATS 80,- to be exact) and includes a Version for Win, Mac and Linux - the use is limited to one year, then you have to verify your studentstatus again.
    (The same applies to Maple, but only cost ATS 75,-)

    My advice if you are a student: Ask for this student-licence!

  • by nels_tomlinson ( 106413 ) on Wednesday March 01, 2000 @11:07AM (#1234204) Homepage
    Octave is a matlab clone, and works fairly well. It DOES NOT do symbolic math!

    Moderators, what were you thinking? It may be informative, but it's wrong. If you don't know, don't touch.

  • by Anonymous Coward
    Can you really boycott something you can't afford to buy anyway? I'd have to say the effect on the company would be pretty minimal.
  • Octave is *big* and can take a while to compile from source. for most *nices, it should build out of the box though.

    I have used octave too, and actually prefer it to matlab in certain areas. We have an expiring licence for matlab on some old AIX boxes at my school, so I tried compiling octave on that legacy hardware. I learned there are some caveats about building -- you need gmake and g++ 2.7.2 and not-too-badly-screwed-up headers. There are precompiled binaries on ftp.gnu.org if you don't have c++ or gmake installed and you don't want to rebuild the whole toolchain.

    All in all, I love making executable octave scripts with a shebang start, like this:

    #!/usr/local/bin/octave -q

  • I can heartly recomend R I use it all the time. They have just (yesterday) released version 1.0.0 so nows the time to play. I've yet to find something that S+ can do that R can't. The only problem I've found is it make things to easy and there almost no need to actually write any programs. Its much more flexiable than the likes of SPSS, SAS etc.

    For 3D mathematical graphics have a look at Geomview geom.umn.edu which is freeware. I've got a suite of programs, the LSMP, which work with geomview. It can creating algebraic surfaces and such like. I use to sell the package to the singularity theory community but I'm well up for open-sourcing/public domaining the package. The web-sites is currently out of action. But email me and I'll get things going again.

  • by Anonymous Coward
    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.
  • Try Genius [5z.com] (which is now part of the Dr Genius [seul.org] package) I was using this as a tool for matrices before I ever tried MatLab. Once I sat down at university lab PC, I found it to amazing how close to MatLab Genius is.
  • 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.)

    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. :) new support in the maple kernel. (but then again, you never know somebody will think of, otherwise you'd think of it yourself!)
    #define X(x,y) x##y
  • by King Babar ( 19862 ) on Wednesday March 01, 2000 @11:47AM (#1234221) Homepage
    There is a program produced under the GNU GPL called octave that supposedly interprets matlab commands. Never tried it because it barfed on my libc version.

    I can confirm that Octave [wisc.edu] is a very useful piece of free software. It provides an essentially complete Matlab 4 environment, and some current development effort is going into Matlab 5 compatibility.

    Octave's author, John W. Eaton, has put an amazing amount of effort into the project, and is willing to do more as funding for the project [wisc.edu] allows. Coders and documenters are also welcome, I believe. A curious point about Octave has been that, despite being a godsend for those who need it worst (starving students), it hasn't "caught on" in the Free Software community as thoroughly as you might suppose.

    Meanwhile, if you couldn't use Octave due to an unreported library incompatibility, it would probably be nice to mention this to somebody who could fix it...

  • by bfields ( 66644 ) on Wednesday March 01, 2000 @11:48AM (#1234222) Homepage
    MuPAD looks OK, but the original post asked for non-proprietary software; as far as I can tell from the website, MuPAD is free-as-in-beer for educational and research use, but is no less proprietary than mathematica or maple.
  • 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?
  • by WSSA ( 27914 )
    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?

  • by Anonymous Coward
    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 never compile if there's an RPM. I like keeping track of what's on the system through the package manager, you see. I used a binary on Mandrake 6.0 and 6.1 without any problems. Another, similar program is Scilab, from someplace in France. They have some of the features that Octave is lacking, and lack a few that Octave has. Scilab is NOT gpl, unfortunately, so we should concentrate any improvement efforts on Octave, I suppose.

    What we are really hurting for is a symbolic math package, as that first fellow said. There seem to be several small efforts out there, none of which amount ot anything yet. Mupad seems to be very much NOT GPL. They have now a corporate sponsor,and may get less open in the future.

  • by / ( 33804 ) on Wednesday March 01, 2000 @12:24PM (#1234239)
    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 [hpcalc.org] (by Bernard Parisse [wanadoo.fr]), 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.
  • I've been using MATLAB for years, and have the Linux version. I find MATLAB frustrating once you get to a high enough level in their programming language. Their scoping is awful and their iteration is butt slow, among other things. They also can't handle strings and system stuff very well. I've seriously though about getting involved in perldl, the data language using perl. It is in an early developmental stage, but seems to rock over every other language, atleast in concept. I would strongly suggest that anyone interested in free mathematics packages invest their time in perldl. Why do you want to copy all the mistakes of packages like MATLAB! Perldl promises to be something better.
  • >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.
  • I don't know where they are.

    I was pretty impressed too. I remember my brother showing it to me. I pulled out the CRC book and entered the most complicated looking integral I saw, and I was amazed that it computed the integeral symbolically . (i.e. not some lame numerical integration by trapezoidal or simpsons rule)

    Seemed like magic at the time. This was probably on an 8088. I'll bet it was less than 400K. probably 1/100 the size of some of the others.

  • Calc actually has some good graphing capabilities; it interfaces with Gnuplot if it can find it on the system. I've produced some nice-looking 2D, 3D, and parametric graphs on my Linux system. My Win98 system has some problems, though.

    Info for setting up Gnuplot for use with Calc can be found in the Calc info file or here [cam.ac.uk].


  • 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'm not a symbolic algebra hacker, but I poked through JACAL once and got the impression that it had a relatively clean, pretty architecture where other packages were more ad hoc.

    This might be relevant if you intend to be customizing it.

  • 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?

    They're on to better and smaller things.

    SoftWarehouse Inc was purchased by Texas Intrusments, and put to work. The TI-89, the best calculator ever made, uses "Derive" derived software to do it's symbolic functions (Derivation, Integration, Factorying, etc.)

    The derive software itself is at http://www.derive.com/dfdset.htm [derive.com]

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

  • What platform DOESN'T run mathematica?

    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.
    it's probably not very realistic to expect open source programmers to learn exactly what a Hermite polynomial is

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

    Check out NetMath [utexas.edu] which I believe does exactly what you want.

    --

  • What surprises me is that the poster says Mathematica and Maple are hardly a substitute for pen and paper (something I don't agree with, but then, I'm not a genius), yet he argues for an open source symbolic math package.

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

  • I have used various versions of Macsyma in the past, and I found it to be very good and reliable. I strongly recommend people give it a try and don't get put off by the options and syntactic quirks it may seem to have at first sight.

    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.

  • Chill out. First of all, I have my reasons for reinstalling. I don't exactly wipe my linux partition clean all the time, but I do put in the latest redhat disk and choose "upgrade". Also, I'm thinking of switching to debian and I just recently installed that. Also, I recently moved from a wimpy 800meg hard drive to a much larger one, and just did a clean reinstall. I think I'm done with that for a while though.

    And I'm not whining. I like Mathematica - it rules. I just got really frustrated when I got that request for a "system transfer application" to be sent by snail mail, no less. It reminded me of that UCITA legislation. And the next day I see this on Slashdot, so I just had to rant. Thanks for listening. :-)

    --
    grappler
  • And they want $38 EVERY TIME you transfer OS's. Or did two years ago. I loved mathematica, but it lives on my windows partition because I'm not paying to transfer to Linux. I have the CD. I should be allowed to install it on whatever OS I wish, without having to pay extra for the priviledge. I'd fill out the stupid form, but I'll be damned if I'm sending a check along with it. Do they still charge for a system transfer?

    --

HELP!!!! I'm being held prisoner in /usr/games/lib!

Working...