4 ms·
I've checked back on this project from time to time but I've never been satisfied with it. The last I used it was perhaps 2 years ago, returning to MATLAB, Math
by katovatzschyn 16y ago
I've checked back on this project from time to time but I've never been satisfied with it. The last I used it was perhaps 2 years ago, returning to MATLAB, Mathematica and Haskell/C.
Would any who uses it now or recently care to make a candid comparison between it and its commercial competitors?
- jey 16y agoNumpy, scipy, and matplotlib are the MATLAB replacements.
- ramanujan 16y agoSage is probably quite useful if you are a pure mathematician. The reason I couldn't use it is that it didn't behave well as a library, but they seem to have improved library support since then (http://www.sagemath.org/doc/tutorial/programming.html#section-standalone http://www.sagemath.org/doc/tutorial/programming.html#sectio...). But the project has definitely produced at least one A++ bit of code: Cython. That is very much worth learning and complementary to numpy (e.g. Cython/numpy integration: http://wiki.cython.org/tutorials/numpy http://wiki.cython.org/tutorials/numpy).
- cgrubb 16y agoThe math software I use is Mathematica (Home Ed), Sage, Octave, R, and TeXShop. All open source except for Mathematica. Mathematica has a few advantages. The input notation can look more like traditional mathematics: adjacency instead of * for multiplication, superscript instead of ^ for exponentiation, fraction notation. I think that cuts down on errors. Variables are symbolic in Mathematica by default. The Mathematica language is something of a defacto standard and WolframAlpha understands it to a certain extent, so you have access for free if you have internet. WolframAlpha mobile gives you CAS on your phone. That said, an open source version of Mathematica is desirable and Sage should be supported. I keep a table of equivalences at http://hyperpolyglot.org/math http://hyperpolyglot.org/math to try to lessen the mental burden of using two equivalent products.
- tomrod 16y agoR is sweet. Octave has its ups and downs--I'm thinking Numpy/SciPy/Matlibplot may be a better route for my own personal computing (still learning though)--especially since Python has bindings practically for everything. I agree that Sage still needs work (the 100+ bugs submitted daily to the RSS support feed says so!) but it works really well.
- cgrubb 16y agoOctave is free and I used MATLAB in school so it made sense to install it. I've never had problems with Octave though I've heard others complain about it. I don't use it that much. For graphics I always use R. Maybe I should have mentioned Coq in my previous list. I installed it a few days ago. Haven't learned to use it yet.
- tomrod 16y agoOctave does not have a pre-packaged optimization routine or a usable toolbox of which I am aware, and I find GnuPlot abysmal (but this is likely due to my lack of experience with it). These are probably easily corrected. But solutions already exist within the FLOSS community with other packages such as Sage (and, of course, Numpy and the rest)--reinventing the wheel is something few have time for! :-) This is a big reason I like Sage: it is designed like the Borg in that it uses bindings to connect into other software (both proprietary and open source). Yes! Star Trek reference and SageMath in the same sentence. It is a good night.
- cyrus_ 16y ago- Python is better than MATLAB for numerics now. - Mathematica is better than the other stuff for symbolics still and it has a really nice interface. For basic stuff the Python libraries work fine. Check out Maple and its clones too. - C is for when you need speed above all else (check out Weave, a Python package for executing C code from within your Python scripts, though) I only know a few Haskell people in the scientific computing world. I'm not sure what the draw is, but if you do a lot of algorithms and don't mind the unpredictable performance, Haskell is a good tool too I'm sure. Ocaml also gets some use in scientific computing if functional programming is your thing.