[Numpy-discussion] Numeric3

Colin J. Williams cjw at sympatico.ca
Tue Feb 8 10:56:23 EST 2005


Chris Barker wrote:

> Travis Oliphant wrote:
>
>> Very loosely a matlab or IDL-like environment.  Nobody has really 
>> defined what it means to be a MATLAB-like environment. 
>
>
> Well, I HOPE it means:
>
> An environment in which you can do most of what you can do with 
> MATLAB, just as easily, but with a more pythonic approach. I wanted a 
> MATLAB like language, I'd use MATLAB (or maybe Octave or Psilab).
>
>> from scipy import *
>
>
> And I'd like to see this deprecated.
>
>> makes a lot of command-like interaction possible.
>
>
> I think command-line interaction is quite possible without import *. 
> I'm actually kind of disappointed in Numeric, from this perspective. I 
> always used to use "from Numeric import *", because Numeric was 
> designed to be used this way, which I think is a shame. Far more 
> should be methods, rather than functions. For example, there are a 
> bunch of functions that take an array as the first argument:
>
> Numeric.take(a, i)
>
> Why in the world is this not:
>
> a.take(i)
>
> If it (and many other functions) were methods, there would be far less 
> need for "import *" (I do use import "Numeric as N" to save typing)

Yes, much better.  I use import numarray as _n.  The thinking being that 
there are likely other modules to be imported eg.
import numarray.random as _r.

These other modules no longer need to be concerned with the identifiers 
used in numarray.

>
> In the docs, for many years, there has been the explanation that the 
> above approach allows people to use any python sequence, rather than 
> just arrays, with these functions. I find that that buys me very 
> little. The example given in the docs (a few years ago, is it still 
> there?) is transpose:
>
> at = Numeric.transpose(a)

Instead, why not a.T, as used in PyMatrix, with some help from the class 
structure of NumArray.

Colin W.

>
> can be passed a Python sequence that has an appropriate structure. 
> However, internally, what's going on is something like:
>
> b = Numeric.asarray(a)
> at = Numeric.transpose(b)
>
> Is it really so hard to write that extra line? Remember that 
> transpose() always returns a NumPy array, regardless of the type of 
> the input. How often are you using arbitrary python sequences anyway? 
> In my case, I am never using arbitrary python sequences unless I'm 
> writing a function or method for an external API, in which case, I 
> almost always put an Numeric.asarray() call in at the top.
>
> Well, this turned out to be too much of a rant, but the basic gist 
> was: let's make SciPy Pythonic, rather than Matlaby. And the same goes 
> for Numeric3.
>
> -Chris
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>   Is this seen as
>
>> MATLAB-like?
>>
>> I guess right now, scipy is trying to bring lots of modules under a 
>> common naming convention.
>>
>> I think the goals of scipy are very much what people are talking 
>> about here.   SciPy ultimately becomes what its users and developers 
>> want it to become.   That is why I'm so unclear as to why we have not 
>> received more support in its development --- even in the way of ideas 
>> as to how to make it better --- until the great ideas that have been 
>> suggested on this list recently.
>>
>> -Travis
>>
>>
>>
>> -------------------------------------------------------
>> SF email is sponsored by - The IT Product Guide
>> Read honest & candid reviews on hundreds of IT Products from real users.
>> Discover which products truly live up to the hype. Start reading now.
>> http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click
>> _______________________________________________
>> Numpy-discussion mailing list
>> Numpy-discussion at lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/numpy-discussion
>
>
>





More information about the NumPy-Discussion mailing list