6 ms·
There is a benchmark of Sympy vs Mathematica at https://www.12000.org/my_notes/CAS_integration_tests/reports/summer_2023_Rubi_4_17_3/index.htm https://www.1200
by tableofzero 3y ago
There is a benchmark of Sympy vs Mathematica at
https://www.12000.org/my_notes/CAS_integration_tests/reports/summer_2023_Rubi_4_17_3/index.htm https://www.12000.org/my_notes/CAS_integration_tests/reports...
The results were Mathematica failed to solve 1,523 problems, Sympy failed to solve 48,529.
So it has some catching up to do.
- wiz21c 3y agoAlthough super interesting, the website you mention is only about integrals...
- Affric 3y agoI mean, integrating is one of the operations you might want particular help with. Especially for integrands without elementary function integrals.
- wiz21c 3y agoDo you know why there's such a big difference ? For example, is the way sympy does its job fundamentally flawed ?
- epistasis 3y agoI doubt there's any sort of fundamental flaw in sympy. Getting more and more solutions is mostly about putting in lots of work to tweak the bag of tricks. There is no universal algorithm for solving integrals. As an open source project depending on volunteers (or is it just the one major author?) I am impressed that sympy does as much as it does.
- jcla1 3y ago> There is no universal algorithm for solving integral. Not that I want to dispute this, but depending on what you meant, there is in fact such an algorithm: https://en.wikipedia.org/wiki/Risch_algorithm https://en.wikipedia.org/wiki/Risch_algorithm Though often it is not implemented because it is quite complex (its details covering two thick books) and many of the special cases it covers rarely crop up in the real world, so the effort isn't worth it. The caveat of Risch's algorithm is that it only "works" if the function you are trying to integrate has an elementary antiderivative. Many of the problems that Mathematica can solve (but SymPy fails at) involved special (i.e. non-elementary) functions.
- epistasis 3y agoThat is an excellent caveat, and well cited, thanks.
- deleted 3y ago[deleted]
- WoahNoun 3y agoIt's a running joke that Wolfram is a jobs program for math PhD's. The difference isn't necessarily technical, but the sheer amount of labor that has gone into adding more edge cases and niche use cases. Sympy is great but like most open source, it's created by volunteer maintainers supported by donations. I imagine the difference is even bigger in things like solving ODE's/PDE's.
- Qem 3y ago> It's a running joke that Wolfram is a jobs program for math PhD's. Nice. The PhDs just need take care their contributions aren't misappropriated. See https://en.m.wikipedia.org/wiki/Rule_110 https://en.m.wikipedia.org/wiki/Rule_110
- wakawaka28 3y agoIt's funny you should say that. Wolfram himself tried to take credit for the concept of cellular automata.
- pquki4 3y agoI mean, literally people with Math PhDs are being paid to work on the product, full-time. And they have a financial incentive to address feedback from customers and try to solve as many problems as possible. By comparison, open source projects are developed by people with a wide range of knowledge level and commitment, and you simply can't expect the quality to be the same. I find that discussions on HN often fail to acknowledge that proprietary software is usually extremely good at their domain, and what companies put into UX, support and the development/feedback loop are actually very valuable.
- Affric 3y agoYep. Know a few in the math department that have worked on Mathematic. Don’t know any who have worked on SymPy.
- wakawaka28 3y agoYou mean they were Mathematica customers. Academics are incentivized to use proprietary solutions as those solutions tend to be best-in-class and also offered at a discount.
- Affric 3y agoNo, I mean I am yet to meet a person who has done development on SymPy (that I can recall) but I know a few academics that came from working for Wolfram on Mathematica itself. Thank you for allowing me to disambiguate.
- wakawaka28 3y agoThat's interesting. You should consider yourself lucky to have met Wolfram employees, as they are obviously vastly outnumbered by users of Mathematica. I have not met any developers for either of these products but I know that SymPy has a huge list of contributors for a project of its size. See: https://github.com/sympy/sympy/blob/master/AUTHORS https://github.com/sympy/sympy/blob/master/AUTHORS You may not be hearing about SymPy users because SymPy is not a monolithic product. It is a library. If you know mathematicians big into using Python, they are probably aware of SymPy as it is the main attraction when it comes to symbolic computation in Python. They wouldn't necessarily spit out a bunch of libraries in the same breath as "I use Python."
- StevenXC 3y agoSymPy is open source, mathematica is not. Additionally, SageMath (which depends on SymPy) is the more comparable product (and is open source).
- bmitc 3y ago> SymPy is open source, mathematica is not. Why does that matter?
- in9 3y ago1) free 2) able to be around if a single CEO isn't around (Wolfram) 3) able to continue if the supporting company is not profitable anymore 4) possibility of greater oversight if popularity rises 5) extensible if one puts the effort into it
- taeric 3y agoAnd that matters if you are mostly worried about value, to a large extent. If you are evaluating "better" as in "supports more symbolic operations," none of those really enter into it? Right? This is like opining that the best "car" out there is a gokart you can get complete schematics on, for all of these reasons. I think most of us would accept the argument that the better cars are the ones that pass metrics aimed at cars. In this analogy, the better algebra system is the one that does the most algebra.
- wakawaka28 3y agoIf SymPy meets your needs, it is objectively better. Mathematica is expensive and you probably have to pay for licenses on a continuous basis for every instance you use. Many benchmarks are stress tests and not representative of common work.
- bmitc 3y agoObjectively better in what sense? There is an objective cost in the initial installation, yes. Additionally, Mathematica is not really that expensive.