[SciPy-dev] feedback on scipy.sparse

Stefan van der Walt stefan at sun.ac.za
Fri Dec 14 06:59:23 EST 2007


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.

Also, not all of these function need to be re-implemented from
spmatrix (can we rename this to SparseMatrix for consistency?).  For
example, LilMatrix inherits .eye, which can simply defined in terms
of .diag.

Regards
Stéfan



More information about the SciPy-Dev mailing list