4 ms·
> People who like open source will never use anything else [...] I like open source, but I _have_ to use mathematica to be as productive as my peers in my fiel
by rotorblade 11y ago
> People who like open source will never use anything else [...]
I like open source, but I _have_ to use mathematica to be as productive as my peers in my field. The open source tools that exist are indeed inferior and that's why I cannot use them.
However, this is not a good argument, as my field is physics. I do believe that the use of mathematica for science is a inherently bad thing, and should not be considered an allowed part of doing science -- because it is closed source.
I consider the reductionistic part of science very important, so when I use some function in mathematica I do not know exactly how it is implemented hence I cannot reduce my result beyond the point of "Wolfram says it is ok.". But that is not ok.
I have been lucky with all of my results, in the sense that one can check them by hand or by inferior products. But finding the result to begin with is why mathematica is almost necessary for a lot of calculations.
- mvardin 11y agoYou have to think of Mathematica code as a specification of what your science does. As long as the expected output of the function is clearly defined, then your work is replicatable/verifiable (with enough effort) which makes it good science. I am much more concerned about occaisional places where the documentation of Mathematica is poor, than whether the soruce is viewable. Open Source is just the ultimately precise but horribly inconvenient documetnation.
- rotorblade 11y agoFair enough. Perhaps my issue more correctly lies in the close-to absolute trust some of my colleagues have for mathematica. Since mathematica is so much faster and feature rich people use it and only very occasionally is it verified by some other software. I would prefer, and would make things easier and faster, if we had (verifiable code) + (one result), instead of (no code) + (one result) + (independent check of result), since only rarely one bothers/have the time to make the independent check. In some cases there is no option to make an independent check (e.g. "with enough effort" is usually too much effort).
- Chris2048 11y agoMathematica is not verifiable, it doesn't have the authority to define 'good science'. Code spec =/= proof.
- ehudla 11y ago> The open source tools that exist are indeed inferior and that's why I cannot use them. Can you be more specific? It might be interesting to hear if people found viable solutions to specific concerns.
- rotorblade 11y agoI have only used some of the modules that are available for SymPy. Most of them are not complete enough to use professionally, but I try to spend some time to learn them since I would prefer to use them when they get more complete -- but that's one reason why they are inferior. At one point I was using SymPy and I wanted to invert a symbolic matrix, a rather small one but it had some off-diagonal elements. This took a few seconds in mathematica, after a few hours in SymPy I had to halt the execution of that line. I never got around to look at the code to see what caused it, probably some simple bug, but that's another reason. I have used Sage somewhat as well. It has more features than SymPy, for what I do professionally. Still some features are missing that I would need. But this might also just be a problem of the amount of experience I have with these tools. The last problem is that these are much slower than mathematica. I would certainly not say that I'm a good programmer, so my code is probably very slow and badly written. In mathematica I have done some calculations that take days to complete, but they were quite heavy calculations. For these projects I could in principal have used SymPy, I know it has enough features, but with how much slower it is, it would be useless (unless I was able to improve my code to compensate). With more experience I could give more specific concerns.
- ehudla 11y agoThanks. I must say that except the inversion example, this is still not specific enough for me to decide if SymPy (and other tools) are inferior, as you claim -- in particular, I can't tell if they are going to be inferior in doing the kinds of things I need done.