[Numpy-discussion] Matlab vs. Python (Was: Re: [SciPy-Dev] Good-bye, sort of (John Hunter))

josef.pktd@gmai... josef.pktd@gmai...
Sun Aug 15 20:53:47 CDT 2010

On Sun, Aug 15, 2010 at 4:27 PM, Sturla Molden <sturla@molden.no> wrote:
>> Matlab also takes a copy if we create an array slice. It means for example
>> that a wavelet transform written in Python will be O(n) with respect to
>> memory, whereas it will be O(n log n) in Matlab.
> Other examples:
> A reshape will create a new array in Matlab. It will create a view in NumPy.
> A transpose will create a new array in Matlab and be O(m*n). A transpose
> will just create a view in NumPy (i.e. reverse stride and shape
> attributes) and be O(1).
> Matlab does not broadcast. We must explicitely match array shapes using
> repmat, which by the way creates a new array.

I agree broadcasting is one of my favorite features of numpy compared
to any other array language I know

> NumPy allows arrays to be updated inplace. Matlab always creates a new
> copy (Matlab arrays are immutable).

inplace operation in matlab:
not as fancy but improving

matlab has JIT compiler

also this for some mostly balanced arguments, I think,

I don't have very large memory requirements, and I didn't do enough
similar things in matlab and python to have experience with these


> _______________________________________________
> NumPy-Discussion mailing list
> NumPy-Discussion@scipy.org
> http://mail.scipy.org/mailman/listinfo/numpy-discussion

More information about the NumPy-Discussion mailing list