Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I know this isn't the most appropriate place to ask, but what are the main feature gaps between commercial computer algebra systems like Mathematica/Maple and systems like Axiom/Sympy?


Several comments.

First, Axiom is a research platform (currently working on proving the algorithms correct). It is no longer a commercial competitor to Mathematica and Maple (as it was in the 90s).

Second, Axiom is based on Group Theory, giving it a reasonably sound mathematical superstructure. Mathematica is based on rewrite semantics. You can rewrite anything to anything. Maple is based on tree semantics. You can re-arrange a tree in any way. Obviously, their computational mathematicians are well-versed and clever enough to avoid most obvious failures. It is just easier in Axiom.

Third, Axiom is open source. Consider what happens to computational mathematics when the companies supporting closed source disappear. (Companies die, on average, after 15 years). Macsyma (Symbolics) is gone. Derive (Soft Warehouse) is gone. I am deeply concerned about the impact on computational mathematics when this happens. Axiom, as open source, won't disappear as there is no company behind it. It will, of course, probably stall once the key developers stop maintaining it.

Mathematica and Maple are amazing systems. If you need what they provide I strongly recommend buying a license. I know some of the developers from these systems and they are extremely clever people.

If you're looking for competitive software, I'd look at Sage and CoCalc. This is an open source alternative to Mathematica, Maple, Magma, etc. It is open source and (mostly) free. I can strongly recommend it.

As for "feature gaps", there are many. If what you want are "features", Axiom isn't for you. But if you want answers that are proven correct, stay tuned. Computational mathematics IS mathematics. You can rightly demand that the results are proven correct. That seems to me to be a required "feature".


Thanks for taking the time to reply.

I am 100% in support of software like this being open-source. Not just because companies go out of business and disappear, but for scientific-computing software, it's important to be able to extend these systems. When I talk about features, I often mean can I rewrite this integral into something more computationally tractable? Or is there some reparameterization of this function into something differentiable?

I know this are very much how someone might pose a problem coming from Mathematica or Maple, but really I hope it's clear the end goal is still the same. Discover an equivalent mathematical representation of my problem that's more amendable for further work.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: