8 ms·
many people have tried to build open source alternatives to mathematica for decades (sage, sympy) and it's just too developer intensive a task. there is so much
by mlevental 8y ago
many people have tried to build open source alternatives to mathematica for decades (sage, sympy) and it's just too developer intensive a task. there is so much work and not to mention IP in just Simplify[] that I don't know why people bother. no one that seriously uses something like mathematica (e.g research) would use any other CAS. I'm not saying I wouldn't love a free alternative but it's not practical without dozens of people across the mathematical and engineering spectrum. the challenge that comes to mind is that undertaken by the teams that contributed to numpy, scipy, and pandas in order to be a viable alternative to Matlab.
- mrob 8y agoFor hobbyist grade symbolic manipulation, I've always found Maxima good enough. It's especially convenient because it has a command line interface, so you can just type the equation and get the answer immediately. https://en.wikipedia.org/wiki/Maxima_(software) https://en.wikipedia.org/wiki/Maxima_(software)
- tobias2014 8y agoJust saying because you focused on that: Mathematica has a command line interface too
- MrEldritch 8y agoMathematica also costs $320 if you want to use it individually for purely hobby products, $2700 if you want to use it professionally and your employer doesn't already have a license.
- reikonomusha 8y agoMaxima is more than hobbyist grade.
- seanmcdirmid 8y agoX is good enough for Y doesn’t imply that X cannot go beyond Y.
- amelius 8y agoIf X goes beyond Y, then someone claiming that isn't wrong, and provides more information than someone claiming merely that X can do Y.
- seanmcdirmid 8y agoNo, it simply means they found X good enough for their modest needs, they didn’t have deeper needs to make a stronger statement about X based on personal experience.
- mikeash 8y agoI’m pretty sure people said the same thing about Linux back in the day. Not that this effort will necessarily have anything like that level of success, but requiring a lot of work doesn’t make it impossible for open source to succeed.
- tobias2014 8y agoI fully agree. I work half of the time with Mathematica, the other half writing Fortran. Now you can guess what my job is ;). There is just no general purpose replacement for Mathematica. The language (everything is an expression) is beautiful and powerful. Whenever I tried something different I spent too much time looking for missing things or circumnavigating quirks and limitations. Other CAS are certainly useful when you can live with their limitations. Second place for me goes to Matlab, which occasionally performs certain tasks better (faster), but I don't like the language very much. I can't say anything about Matlab, which seems to be fully focused on engineering applications.
- jsweojtj 8y agoDid you mean something besides "Matlab" in one of these instances? "Second place for me goes to Matlab... I can't say anything about Matlab..."
- andrepd 8y ago>Mathematica, Fortran Fellow theoretical physicist?
- tobias2014 8y agoWhat else, am I right?
- hpcjoe 8y agoHeh ... back when I was still in pursuit of the elusive academic career, I used MuMath, Maple, and Macsyma along with Fortran, C, and this odd language called Perl (to automate many of my jobs). Mathematica was still new-ish, and mostly confined to Macs. These days, post physics, I do most of my work in Perl, Python, Julia, and various DBs, with lots of spreadsheets and slide decks. I have Maxima (GPLed Macsyma) on my laptop now. I love that the fortran(); bit still works ... (%i1) integrate(sin(x) * exp(-x) ,x,0,a); Is a positive, negative or zero? positive; - a 1 %e (cos(a) + sin(a)) (%o1) - - ------------------------------ 2 2 (%i2) fortran(%o1); 1.0E+0/2.0E+0-(exp(-a)*(cos(a)+sin(a)))/2.0E+0 [updated to fix formatting issues]
- zitterbewegung 8y agoFor fun I do knot theory and using Sage and snappy I feel there are more functions that are relevant to what I want to accomplish versus what is available for me in Mathematica. Also, Mathematica has a very terse and somewhat confusing syntax (I have used lisp before). On the other hand Python is a much simpler way for me to write code in. Lastly, it eliminates the price which if you aren't a University or a corporation you won't have access to those tools. This makes it easier for people to reproduce their work. EDIT: corrected typo
- reikonomusha 8y agoEven compared to Lisp, Mathematica code tends to end up being write-only code. Variable scoping semantics is weird, and cajoling Mathematica to do things in the order you want can be cumbersome. Mathematica is also just slow and buggy, especially when you have to use a license server. (Mathematica on macOS frequently beachballs.)
- zitterbewegung 8y agoYea I had that feeling too. I wish they replaced the syntax with a python/ lua / javascript ripoff.
- whitten 8y agoIs there a BNF online for Mathematica? I know there is a project to do Mathematica-like things (computer algebra system) on github written in pure Python ( http://sympy.org/ http://sympy.org/ ). I've been told that Sage ( http://sagemath.org/ http://sagemath.org/ ) is Mathematica-like but uses Python as its programming language. There is also Maxima ( http://maxima.sourceforge.net/ http://maxima.sourceforge.net/ ) which also has a close to Mathematica experience.
- reikonomusha 8y agoAxiom, specially FriCAS (open source) is pretty underrated. It unfortunately hasn’t kept up with the times in terms of interface, which is a sure way to kill 95% of the potential users. But it’s mathematical capabilities in some cases, and certainly it’s mathematical potential, outscales Mathematica. Mathematica’s barebones symbolic representation doesn’t get you very far when you want to do more than some common algebra over the reals and complexes. Mathematica’s abilities, for instance, in abstract algebra are seriously lacking. (In this instance, GAP (open source) exceeds Mathematica pretty seriously.)
- planteen 8y agoI just ran into this trying to get Wolfram Alpha to expand a polynomial from product to sum form over a Galois field. I got frustrated and wrote my own C++ code myself to get the answer.
- throwawaymath 8y ago> But it’s mathematical capabilities in some cases, and certainly it’s mathematical potential, outscales Mathematica. ... > Mathematica’s abilities, for instance, in abstract algebra are seriously lacking. (In this instance, GAP (open source) exceeds Mathematica pretty seriously.) For someone who is not familiar with FriCAS, can you give an example or two (assuming a math background)? I'm interested in specific cases where open source tooling outperforms Mathematica.
- thechao 8y agoI only have experience with OpenAxiom & Axiom; however, the core definition language (Spad) is a dependently typed module-centric modern language... from 1981. It’s like an alternative “what if” language designed by mathematicians to write CASes. It has the oldest implementation of list- and set- comprehensions I know of. (Disclosure: I wrote a paper about adding JET-based forward AD using single-definition generics to the language.) The packages contain a complete implementation of the Risch algorithm; I’m not sure Mathematica has managed that.
- 8y ago
- snowAbstraction 8y agoFor some areas within algebraic geometry I think other CAS's work better than Mathematica and have functionality that it lacks. For example, in the past I used https://www.singular.uni-kl.de/ https://www.singular.uni-kl.de/. It has been too long since I studied such things so I cannot give any specific examples.
- 3rdAccount 8y agoAgreed. I'm not sure how many people that are the developer only type on here (non engineers or scientists)realize how nice the tooling can be in Mathematica. A corporation with basically 1 product, ~800 employees, and 3 decades of software development can do an awful lot. It ain't perfect though and the cost is crazy. It's good to have and know free alternatives (even if inferior) so you have fallback software to use if you want to leave your job and be a contractor. My buddy is a GIS analyst/technician (master's degree in it) and a lot of experience in ESRI Arc-GIS, which is insanely expensive. Both he and several colleagues have QGIS installed and are learning it in case they go solo and don't have a client with an ESRI system.
- lscharen 8y agoJust so people know, Esri sells a Personal Advanced Desktop license for non-commercial use for (I think) $100/yr. https://www.esri.com/en-us/arcgis/products/arcgis-for-personal-use https://www.esri.com/en-us/arcgis/products/arcgis-for-person... Normally an Advanced Desktop license with multiple extensions would run well north of $10,000/yr with an initial purchase price about 4x that amount.
- 3rdAccount 8y agoYea, $40k is insane for an individual. $100 a year would be fine if commercial. To me even that is dumb. Someone has to pay to use your software for hobby and non-paying work? That just sounds wrong lol.
- madengr 8y agoMathematica isn’t expensive, in the scheme of things. Some engineering software such as Cadence can run $100k/year/seat for maintenance. I don’t even use Mathematica much, but keep paying the $500/year maintenance, because when I do need it, I really need it.
- 3rdAccount 8y agoAgreed it is much cheaper than something like Cadence, but it is still a no go for most people doing solo work.
- pps43 8y agoI used wxMaxima. Worked fine for what I needed it for (integration, solving systems of equations, etc.) In some cases it even solved problems that Mathematica couldn't.
- gmueckl 8y agoThere was a very serious call for an open source CAS a couple of years ago foe the very simple reason that the CAS code used in research needs to be auditable. There are a ton of papers out there which base their validity on the premise that Mathematica performed correctly. Without source code, the validity of these calculations cannot be realistically proven.
- mnl 8y agoSuch CASs do exist indeed, check Reduce: https://en.wikipedia.org/wiki/Reduce_(computer_algebra_system) https://en.wikipedia.org/wiki/Reduce_(computer_algebra_syste... Which is awesome, BTW. There's also Giac/Xcas: https://www-fourier.ujf-grenoble.fr/~parisse/giac.html https://www-fourier.ujf-grenoble.fr/~parisse/giac.html, and a few more specialised ones.
- MrEldritch 8y ago>I don't know why people bother It's not particularly difficult to understand why. An individual home license for Mathematica is $320. An unrestricted license for an open-source "alternative" is $0. To be an alternative to Mathematica, it doesn't have to be as good as Mathematica. It just has to be useful enough that learning it is an acceptable tradeoff for "not spending $320 and becoming locked into Mathematica-specific tooling"
- pjmlp 8y agoHow times change, $320 would be considered a very cheap student price for a software package a couple of decades ago.
- TeMPOraL 8y agoWere the students rich back then? Did they pocket student loans instead of spending them on tuition? Because I can't imagine how $320 could not be crazily expensive for an average undergrad. (A decade ago, we'd just pirate the software we needed, because a tunnel to university's licensing server was both unreliable and a PITA to set up...)
- pjmlp 8y agoDepends on the country. I did buy software with student discount during high school, which means even more resource constrained than university level students. Yes there were lots of piracy with street bazaars even, but I really wanted to own proper Borland software and managed to save money for it. Those that produce software also have their own priorities, based on how they can managed to pay their bills, which given the comments here is why most software tooling shops nowadays mostly sell to enterprise customers.
- antt 8y agoMathematica is to Sage as OS X is to Linux. Most people who don't know better mistake polish for capability.
- syrrim 8y agoIt's true that many people have tried making open source CAS, but fxsolver isn't one of them. You will find great difficulty finding a link to its source code, and wikipedia lists it as proprietary.
- cwyers 8y ago> it's just too developer intensive a task. there is so much work and not to mention IP in just Simplify[] that I don't know why people bother > the challenge that comes to mind is that undertaken by the teams that contributed to numpy, scipy, and pandas in order to be a viable alternative to Matlab. I mean, numpy/scipy/pandas are reasonably successful. And to take a larger view, open source software has made great gains in replacing not only Matlab, but SAS, SPSS, Stata and others as well. A large amount of specialized domain knowledge was required to replace those as well. What makes Mathematica out of the reach of the same forces (economic and social) that have pushed open source software into replacing Matlab/SAS/SPSS/Stata/etc.?
- nestorD 8y agoI am actually quite happy with Sympy, it sometimes needs a helping hand but : - it can solve the equations that I need solved - it is open source and free - it is a python library (I alreaddy know the syntax and it can be plugged in a python codebase) - I can export the results in Latex, C++, Haskell, ... (nice bonus)
- deleted 8y ago[deleted]