[SciPy-dev] feedback on scipy.sparse

Robert Cimrman cimrman3 at ntc.zcu.cz
Fri Dec 14 07:21:58 EST 2007


Stefan van der Walt wrote:
> On Thu, Dec 13, 2007 at 01:17:22PM -0600, Nathan Bell wrote:
>>> Concerning the Stefan's idea of static methods for spidentity etc., we
>>> could use only one method for all of them, e.g.
>>>
>>> class spmatrix:
>>>
>>>      def special( name, format = ... ):
>>>         if name = 'identity':
>>>              return spidentity(n,format=format)
>>>          ...
>>>
>>> to prevent cluttering od the class you mentioned.
>> Good idea, I hadn't considered that option.
> 
> If we do this, we are still merging functionality belonging in
> different classes together.  Say we'd like to refactor lil_matrix into
> another package, for some reason.  If we use "special", then
> extracting the functionality pertaining only to lil_matrix becomes a
> problem.  I think functionality that requires insight into the
> entrails of an object belongs with that object.
> 
> Furthermore,
> 
> LilMatrix.special('eye',(3,4)) looks very verbose, compared to
> 
> LilMatrix.eye([3,4])
> 
> How many of these functions do we have?  If we have in the order of 5
> to 10, then cluttering isn't really a problem.

Well, I like the second way more, too. 'special' has nothing special to 
offer besides some clever hasattr/getattr magic to tell what functions 
are available for a different kinds of matrices etc. I proposed this 
only to address the potential cluttering problem, which is not present 
if there are only several such functions.

regards,
r.



More information about the SciPy-Dev mailing list