Matlab vs Python (was RE: Discussion: Introducing new operators for matrix computation)

Charles Boncelet boncelet at eecis.udel.edu
Mon Jul 17 13:24:45 EDT 2000


(Huaiyu Zhu wrote a proposal for adding special linear algebra operator to
Python)

This proposal has been dismissed by many on this list (my paraphrasing)
"because we don't want to pollute Python with new symbols/syntax
for just one problem domain."  Some have dismissed linear algebra
as a small domain at that.

Let's get some facts (yes, I know we are not supposed to let facts
interfere with our arguments on usenet):

1. Amazon.com lists 117 book matches for "python", but most of these
are for the snake or Monte.  A quick perusal indicates there are 13 books
currently available and another 7 on order for language.  Amazon lists
179 matches for "matlab", of which 81 are currently available and 61 on order.

Verdict:  there are approximately 7 times as many Matlab books as
Python books.

2. Alta Vista finds 4492 pages for "python language",  and 489540 for
"matlab".  Even the one word "python" search only finds 412030 pages
(which of course includes many references to the comedy troupe
and the snake).

Alltheweb finds 53378 for "python language" and 53368 for "python
program"; it finds 156525 for "matlab".

Verdict: There are 3-100 times as many web pages mentioning "matlab"
as "python language"  or "python program".

3. At my university (which I assume is pretty typical), all the engineering
students use Matlab at some point in their studies.  Most (perhaps all)
of the math, physics, and chemistry students use Matlab at some point.
Many of our ECE graduate students use Matlab extensively in doing
their dissertation research.

AFAIK, I am the only person using python for anything.  (I am sure
there are others, but I don't know of anyone and there are no courses using
python.)

Vendict: at my university, Matlab is tens to hundreds of times more
popular than python.

Conclusion: please don't dismiss linear algebra as "just another
problem domain".  If python incorporated numpy into its core
and added some support for linear algebra syntax, it could easily
double, triple, or more in popularity.

Remember, these people spend real money on Matlab.  Even the
student edition is about $100.

Now to the specifics of the proposal: I'd like to see "@" for matrix
mulitplication and "*" for element-wise multiplication.  This preserves
compatibility with numpy, although breaks it with the MatPy package.
It is more important, IMHO, to preserve compatibility with the existing
python numerical facilities than with Matlab.  Any user switching over
will have to learn a lot of new things anyway.  Distinguishing @ and *
should be easy enough.

    Charlie Boncelet

--
Charles Boncelet                              302-831-8008
Dept of Electrical and Computer Engineering   302-831-4316 (fax)
University of Delaware                        boncelet at eecis.udel.edu
http://www.eecis.udel.edu/~boncelet/


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/python-list/attachments/20000717/c522aa04/attachment.html>


More information about the Python-list mailing list