From: Arthur Norman <acn1@ca...>  20130621 21:34:28

On Fri, 21 Jun 2013, Peng Yu wrote: > Hi, > My question is not a developer question. But the forum on sf is just > inconvenience to use. OK! I am afraid that I can not change how sourceforge arranges its forums etc, but discussion here can be of interest to developers so you are welcome! > > Reducealgebra is very capable and free Thank you! (but the gui is bad, it fa. Sorry you do not like that. There are a range of ways you can help there! The most extreme would be by working on a new GUI that you liked better  the fact that Reduce is open source means you have access to pretty much all you need to do that! Less extreme would be if there were MODEST changes to what there is now that you believe might make a useful move in the right direction. I say "modest" changes because I very definitely know how much time and effort it takes to do anything in that direction. I have a reimplementation of the GUI code for the CSL version of Reduce as one of my projects that is at present stalled but when/if I ever get back to it or if somebody else joins in and moves things forward it would be good to know what users would like. Please note that explaining things in terms that could relate to actually implementing something is liable to be a lot more liable to influence things that high level statements of what is desirable that do not map neatly onto implementation projects, and stepwise ways to move from where we are to a better world may be easier to digest than a "throw it all away and do something different"! > There are recent papers using it. But it is Mathematica is more used. > Has anybody compared the pros and cons of reducealgebra vs > Mathematica? (I don't find a comparison.) Thanks. I think that different people are motivated by very different aspects of the two systems. Here is my start at a few thoughts, but note very well that somebody employed by Mathematica or Maple, or working on Axiom, or who had used Maxima for years and years would put things differently (and could still be right!). You specifically ask about Mathematica but I may raise points that put Reduce in a broader context of other systems too... (1) If you are employed in some companies or work in some universities you may not personally have to pay for your software. You may choose only to collaborate with others who do not have budget constraints. But some algebra systems cost money and others do not. If a student starts using Reduce while studying they do not suddenly have to pay once they graduate. This issue is irrelevant to some users but matters a lot to others! (2) If you pay for your algebra system you hope that the supplier will provide support in all sorts of ways. If you fetch something that is open source then the help from the developers is not something you can count on 100%. But if you find a bug then with a commercial offering you can report it but then may need to wait until a patch or a new version is released. With open source at least in principle you can inspect the source code and track down issues for yourself and fix then. An extreme stance taken by some is that they will not trust a result where they can not see all the steps to it (hence they will view any results from a closed source system as unverifiable and hence scientifically indefensible). Others will not feel happy unless they are using something with paid for support (even if they do not do a careful assessment of the frequency with which things are fixed for them). (3) Mathematica (in particular) emphasises a useinterface with graphing and a load of other stuff fully integrated. If you need that sort of stuff then you need something other than Reduce. Some people do and others just want to compute algebraic results  and for them the notebook stuff and graphing capability of Mathematica (or Maple... etc) is not central to what they need of an ALGEBRA system. (4) Some users need an algebra system for what I will describe as "general algebra". Eg almost any use in highschool or at undergraduate level is liable to be like that. Any of the full systems is liable to do what they need (maybe)???? Others have special needs and so some particular systems might thus suit them best. Let me list some things I think are strengths of and then weaknesses of Reduce so you can see that for SOME people these may be special reasons to go one way or the other: (a) Maybe all of the "redlog" parts of Reduce are respectably cutting edge tools for solving the sorts of problem that they address? If you need that then you should probably take Reduce jolly seriously! (b) If you want to embed an algebra system within your existing or future product then Reduce is a sane candidate to look at rather carefully, and has been evaluated or adopted by a number of people in the past. (c) It may be that the Reduce origin in high energy physics makes it a useful tool for those keen on noncommutating algebra. Each of the various "loadable packages" in Reduce can represent a unique selling point for some users! (d) If you develop a new package for Reduce it can go out to the world free of charge. Do you like that or do you view that as a problem? There are things that some other systems do better that Reduce! (a) Integration involving special functions is done better elsewhere. There are plans for a big upgrade to Reduce on that front but no timetable. (b) Branch cuts and multivalues functions are a menace  and in general Reduce is not at the forefront of getting them right. Some other systems are better at letting the user note that some values should be positive or negative or nonzero or whatever. (c) Mathematica will explain that it can do EVERYTHING. Graph theory, number theory, group theory and probability (etc etc), and if you count the number of builtin or library capabilities it has then it beats Reduce easily. If you ever need any of those things! (d) As we mentioned before, the Reduce interface to the user is such as to try to get the job done. It has not benefitted from hundreds of manyears of refinement to make it beautiful. That really matters to some people. (e) If you are working in some special domain then there may be specialist software that will serve you much better than any of the general purpose packages! You can find comparisons of systems based on just what coverage of capabilities they have. Eg the 1999 paper http://math.unm.edu/~wester/cas_review.html is something to chew on if you have not found it already. Of course ANY such report gets out of date after a few years, and for any particular user there is a BIG issue of what capabilities they need, since my belief is that most people have their own limited range of uses. Mathematica makes a pitch for itself on its website, eg http://www.wolfram.com/products/mathematica/analysis/content/ComputerAlgebraSystems.html which naturally explains how good it is and how it will solve all your problems. I then look at what Wikipedia reports, which is "Mathematica is proprietary software restricted by both copyright law and trade secret. A regular singleuser license for Mathematica used in a commercial environment costs $2495 although new customers can purchase the "Starter Edition" for $995. They include eight additional kernels for parallel computations and one year of service that includes updates, technical support, a home use license, a webMathematica Amateur license, a Wolfram Workbench license and three Mathematica Player Pro licenses. Discounts are available for government, charity, educational, precollege, school, student, home use and retiree use and depend on geographical region. Student licenses cost $140. A general "home use" license ("Mathematica Home Edition") is also available to the public and is priced at $295. Educational site licenses allow use by students at home. A license manager similar to FLEXnet is available to provide sharing of licenses within a group." and if they could NOT make a compelling argument that they had a bunch of features makiing them better that Reduce (which you can download for free and see all the source code for) then something would be seriously amiss. The only two questions for an individual or which of the rungs of the Mathematica pricing ladder might apply to them and whether one of the (many) extra features Mathematica offers is important enough to them to justify the cost (remembering that in some cases the license you buy will expire after a while). Some people will jump one way some the other! I hope that some who favour Reduce will join us in trying to keep its existing capabilities up to date and in adding new refinements! > >  > Regards, > Peng > Arthur 