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

Reply via email to