Matlab vs Python (was RE: Discussion: Introducing new operators forma

boncelet at eecis.udel.edu.bbs boncelet at eecis.udel.edu.bbs
Mon Jul 17 13:20:01 EDT 2000


--------------8E279F1082DE31814A452DAA
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit

(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/



--------------8E279F1082DE31814A452DAA
Content-Type: text/html; charset=us-ascii
Content-Transfer-Encoding: 7bit

<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
(Huaiyu Zhu wrote a proposal for adding special linear algebra operator
to Python)
<p>This proposal has been dismissed by many on this list (my paraphrasing)
<br>"because we don't want to pollute Python with new symbols/syntax
<br>for just one problem domain."  Some have dismissed linear algebra
<br>as a small domain at that.
<p>Let's get some facts (yes, I know we are not supposed to let facts
<br>interfere with our arguments on usenet):
<p>1. Amazon.com lists 117 book matches for "python", but most of these
<br>are for the snake or Monte.  A quick perusal indicates there are
13 books
<br>currently available and another 7 on order for language.  Amazon
lists
<br>179 matches for "matlab", of which 81 are currently available and 61
on order.
<p>Verdict:  there are approximately 7 times as many Matlab books
as
<br>Python books.
<p>2. Alta Vista finds 4492 pages for "python language",  and 489540
for
<br>"matlab".  Even the one word "python" search only finds 412030
pages
<br>(which of course includes many references to the comedy troupe
<br>and the snake).
<p>Alltheweb finds 53378 for "python language" and 53368 for "python
<br>program"; it finds 156525 for "matlab".
<p>Verdict: There are 3-100 times as many web pages mentioning "matlab"
<br>as "python language"  or "python program".
<p>3. At my university (which I assume is pretty typical), all the engineering
<br>students use Matlab at some point in their studies.  Most (perhaps
all)
<br>of the math, physics, and chemistry students use Matlab at some point.
<br>Many of our ECE graduate students use Matlab extensively in doing
<br>their dissertation research.
<p>AFAIK, I am the only person using python for anything.  (I am sure
<br>there are others, but I don't know of anyone and there are no courses
using python.)
<p>Vendict: at my university, Matlab is tens to hundreds of times more
<br>popular than python.
<p>Conclusion: please don't dismiss linear algebra as "just another
<br>problem domain".  If python incorporated numpy into its core
<br>and added some support for linear algebra syntax, it could easily
<br>double, triple, or more in popularity.
<p>Remember, these people spend real money on Matlab.  Even the
<br>student edition is about $100.
<p>Now to the specifics of the proposal: I'd like to see "@" for matrix
<br>mulitplication and "*" for element-wise multiplication.  This
preserves
<br>compatibility with numpy, although breaks it with the MatPy package.
<br>It is more important, IMHO, to preserve compatibility with the existing
<br>python numerical facilities than with Matlab.  Any user switching
over
<br>will have to learn a lot of new things anyway.  Distinguishing
@ and *
<br>should be easy enough.
<p>    Charlie Boncelet
<pre>-- 
Charles Boncelet                              302-831-8008
Dept of Electrical and Computer Engineering   302-831-4316 (fax)
University of Delaware                        boncelet at eecis.udel.edu
<A HREF="http://www.eecis.udel.edu/~boncelet/">http://www.eecis.udel.edu/~boncelet/</A></pre>
 </html>

--------------8E279F1082DE31814A452DAA--



More information about the Python-list mailing list