Qualifications to answer this question: -I have used MATLAB for 10 years in my research -About 3 years ago, I mostly switched to Python+numpy/scipy/ matplotlib, and I lead a project that includes about a dozen people developing code in Python -I use SAGE (mainly the notebook) in my teaching.
For most MATLAB users, I think SAGE adds little or nothing to what numpy/scipy/matplotlib already offer. Indeed, it tends to complicate things because of the preprocessing and potential conflict of namespaces (you can get around these, but they are potential pitfalls for a beginner). As for using native SAGE functions and objects, the fact that I must set up a ring or field before I create a matrix already makes them too cumbersome to use. As mentioned already, the feature I use SAGE for is the notebook, and I generally put %python at the top of each worksheet. One other thing I've experimented with is software that will compute exactly or in floating point, depending on the nature of the input. In the end I went with Sympy rather than SAGE for the exact computations I think numpy and matplotlib are good replacements for the corresponding parts of MATLAB. But many parts of Scipy are, in my experience, a disaster. I rarely use it. Instead, I take advantage of the many good numerical libraries with Python interfaces (e.g. IPopt, PETSc). I think the advantage of all of these wrappers (and the ease of creating your own wrappers) is beginning to overtake MATLAB's toolboxes in usefulness, but the catch is that you have to know a bit more to use them since they're not all designed by a single commercial entity. In my case, interfaces to these packages in some cases represent "killer features" of Python that would prevent me from switching back to MATLAB because it doesn't have them. Access to PETSc is a prime example, since I regularly compute on tens of thousands of cores at a time (how much would 20,000 MATLAB licenses set you back?) And I maintain that development of larger object- oriented code bases is much more manageable in Python than in MATLAB. A final consideration: on some platforms it can still be challenging for novices to install numpy, matplotlib, and scipy. SAGE is a convenient way to get them. So is Enthought's Python Distribution (free for academics). -David On Aug 15, 10:58 pm, William Stein <wst...@gmail.com> wrote: > Hi, > > If somebody walked up to *you* and asked: "Is Sage now a viable > alternative toMATLAB?" what would you say? > I'm especially interested in what people who do numerical/applied > computation think. > > My answer: "It's very difficult for *me* to answer this question > myself, becauseMATLABis useless for most of my own > teaching/research/work, but I realize it is very widely used in > applied mathematics. Based on going to Scipy and the resources I've > seen online, it appears that the Numpy/Scipy stack is extremely useful > to actual people doing numerical computation. Maybe I'll try > asking on sage-devel." > > [NOTE: I am interested in people's answers, rather than somebody > hijacking this thread to try to define "viable alternative" or say > this isn't a scientific survey or something. Please try not to hijack > this thread. Thanks!] > > -- William > > -- > William Stein > Professor of Mathematics > University of Washingtonhttp://wstein.org -- To post to this group, send an email to sage-devel@googlegroups.com To unsubscribe from this group, send an email to sage-devel+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/sage-devel URL: http://www.sagemath.org