I have not used matlab a lot, and not for some time, but I have
colleagues in
numerical optimization who use it heavily. I think there is
essentially no chance
that such people would move from matlab to sage. The only complaints I
have heard are
occasional mutterings about licensing. Matlab has very close
connections with academics
working in various forms of numerical analysis, and this is one of its
strengths.
The user interface is functional and pleasant to use. (Sage's syntax
is very wordy and
tab completion is at best poor compensation. I recognize this will not
be easily fixed.)

One big advantage of sage is that one can do numerical calculations
along with
computations in algebra or number theory or graph theory...
For my own work I find myself wanting to do numerical computations on
adjacency matrices
of graphs. For this matlab is not very useful because it is awkward to
generate the graphs
or read them in from a unix pipe. And if I wanted to compute an
automorphism group, I am
entirely lost. So I have been using sage for numerical computations.
The good news is that it works.

The bad news is that it is a very frustrating experience. To
illustrate with an example,
I wanted to compute spectral decompositions of symmetric real
matrices. This means I need
the eigenvalues and an orthogonal basis for each eigenspace. I must
use scipy/numpy,
because sage does not recognise that eigenvalues of symmetric matrices
are real.
Now the fun starts. The sort
of incantations needed to load stuff from numpy and scipy are
difficult to sort out. Basically
you make some semi-random trials until the output seems plausible, and
then hope everything
is working. The fact that the syntax for scipy and numpy differs from
that of sage is just
one more nuisance. For documentation, sage punts to the documentation
for scipy and numpy,
which is poor (and does not seem to be written by people who
understand numerical computation).

A more general issue is that, once I decide I want to work in floating
point, I want to stay
in floating point. I do not really want to deal with stuff like:

>       sage: sin(2.0*pi)
>       sin(2.00000000000000*pi)

And I'd love to see an engineer's face when s/he enters A.kernel() and
gets
back a message about free modules.

I agree strongly with comments of Pedro and Simon that editor+shell is
superior to the notebook
for this sort of work.

To finish, a few key points:
        1. When I am doing numerical linear algebra, I'd like code to return
scalars, vectors, matrices.
        So A.kernel() should just return either a basis or a matrix, for
example. The default routines
        should call LAPACK or an equivalent, and we should have access to as
many of these as possible.
        (All actual code should have been written by a professional numerical
analyst.)

        2. Any computation which contains a floating point number or variable
should return
        a floating point variable.

        3. The syntax and behaviour should be consistent, whether I am doing
numerical linear algebra,
        linear programming, semidefinite optimization, numerical
integration,...


On Aug 15, 3:58 pm, William Stein <wst...@gmail.com> wrote:
> Hi,
>
> If somebody walked up to *you* and asked: "Is Sage now a viable
> alternative to MATLAB?" 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, because MATLAB is 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