[SciPy-dev] draft: NumPy User Guide introduction
Dag Sverre Seljebotn
dagss at student.matnat.uio.no
Tue Aug 25 04:56:30 EDT 2009
Lisandro Dalcin wrote:
> On Sun, Aug 23, 2009 at 2:02 AM, Charles R
> Harris<charlesr.harris at gmail.com> wrote:
>> but for
>> maintainence and development I think that functions make it easier to add
>> functionality without bloating the ndarray object.
>
> Why do you say that adding methods bloat the ndarray object? Adding
> functions bloats the numpy namespace,
> adding methods bloat the numpy.ndarray namespace... In both cases you
> are just populating a dict... What's the difference for you?
I guess it is not directly related to "bloat", but:
- Functions are closer to common mathematical notation
- (As others have said,) functions will in the future work on any PEP
3118 buffer, while methods need an ndarray object.
>> And figuring out what
>> all the desireable methods are up front is a difficult exercise in
>> prospective design.
>>
>
> I think you are going to be faced to such difficulties when deciding
> desirable functions for the numpy namespace.
I disagree. It is quite straightforward that np.sin, np.mean and np.dot
all are rightly included in the namespace -- however, why exactly is it that
arr.mean()
is OK, while arr.sin(), arr.cos() or arr.dot(otherarr) is not?
(It seems the rule is "array -> scalar" mappings are OK as method,
others are not, but that seems arbitrary to me.)
--
Dag Sverre
More information about the SciPy-Dev
mailing list