GUI tookit for science and education

Robert Kern rkern at ucsd.edu
Wed Aug 17 22:11:36 EDT 2005


James Sungjin Kim wrote:
> Robert Kern wrote:
> 
>>... Once you move outside of that box and start doing real
>>programming, Python (with Numeric, ipython, matplotlib, scipy, et al.) 
>>beats MATLAB handily.
> 
> As one who is really newbie on Python, In MATLAB we can represent the 
> codes for the matrix manipulation as really like mathematical forms, e.g.,
> 
> MATLAB> H = U*D*V'
> 
> It definitely makes the science programmer easier and faster to write 
> their codes.

Careful there. That's a huge generalization. Most scientific programmers 
don't only do matrix manipulations. MATLAB makes matrix manipulation 
easier, not writing scientific programs in general.

Like I said, if you're only doing exactly what MATLAB was designed for, 
interactive manipulation of matrices, then MATLAB will be easier. MATLAB 
pays a price for that convenience, though. Its facilities for writing 
more general programs (by which I mean anything beyond "H = U*D*V'"; 
that includes most "scientific" programs) are severely lacking.

Once a MATLAB program gets large enough that it doesn't fit into one 
file, it's unreadable, and if I'm given one that I need to 
read/use/modify for my research, I refuse. Life is just too damn short. 
I'd rather rewrite the thing myself in Python; indeed, I *have* on a few 
occasions.

I can do a whole lot more in Python much easier. If that means I have to do

   H = dot(U, dot(D, transpose(V)))

or (if U, D, V are scipy.mat() instances)

   H = U*D*V.T

then I'm more than happy with that tradeoff. The small syntactic 
conveniences MATLAB provides are dwarfed by the intrinsic power of Python.

-- 
Robert Kern
rkern at ucsd.edu

"In the fields of hell where the grass grows high
  Are the graves of dreams allowed to die."
   -- Richard Harter




More information about the Python-list mailing list