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

josef.pktd at gmail.com josef.pktd at gmail.com
Sun Aug 15 21:53:47 EDT 2010


On Sun, Aug 15, 2010 at 4:27 PM, Sturla Molden <sturla at 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:
http://blogs.mathworks.com/loren/2007/03/22/in-place-operations-on-data/
not as fancy but improving

matlab has JIT compiler

also this for some mostly balanced arguments, I think,
http://stackoverflow.com/questions/179904/what-is-matlab-good-for-why-is-it-so-used-by-universities-when-is-it-better-tha

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
differences.

Josef

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



More information about the NumPy-Discussion mailing list