[SciPy-dev] Ideas for scipy.sparse?
Robert Kern
robert.kern at gmail.com
Fri Apr 11 17:50:22 EDT 2008
On Fri, Apr 11, 2008 at 4:41 PM, Brian Granger <ellisonbg.net at gmail.com> wrote:
> > > 2) I need these things to be in numpy. I hate to start another
> > > "should this go into numpy or scipy" thread, but I actually do think
> > > there is a decent case for moving the core sparse arrays into numpy
> > > (not the solvers though). Please hear me out:
> > >
> > > a) Numpy at its core is about arrays. Conceptually, sparse arrays fit
> > > into this narrow vision of Numpy.
> >
> > Previously, Travis has stated a desire to get some form of standard
> > sparse array (or possibly just matrix) support into numpy 1.1 for
> > precisely this reason. I happen to agree. However, I have to address
> > the following points.
>
> I did not know that. It would definitely have to wait until 1.1.
>
> > > b) Sparse arrays are just as foundational as dense arrays in many
> > > areas of computing/science (I would argue, that they are more
> > > foundational than ffts and random numbers).
> >
> > The parenthetical is not a relevant argument.
> > numpy.{linalg,fft,random} exist because of history, not design. In
> > order to convince people to move from Numeric to numpy, we *had* to
> > support a transition from the LinearAlgebra, FFT, and RandomArray
> > modules that were distributed with Numeric.
>
> I understand this, but that doesn't mean we can't make future
> decisions about what goes into NumnPy based on more principled ideas.
My point *was* that the decision to include them wasn't based on a
principled stance. Their presence is not evidence for any particular
principle about what should be in numpy. You cannot use them as a
reference point.
> > > d) It would not make numpy more difficult to build.
> >
> > A fair amount of the current sparse code uses C++ templates, so I will
> > have to say that this statement needs qualification. The impact may be
> > low, but it is not negligible. If we rewrite it not to use C++, then
> > we don't know how much more difficult it will be. We will need to
> > evaluate that when the code is written. The only thing that we can be
> > sure won't make numpy more difficult to build is pure Python code.
>
> At some level this is true. C++ template are nice in principle, but
> not always so in practice because of build issues. We would just have
> to see, but I am hopeful. On the other hand, if the build problems
> were really that much of a problem, they would be equally problematic
> in scipy.
C++ alone makes it more difficult. For a long time we have held firm
on only including C in numpy. Yes, the C++ does make scipy more
difficult to build, but the standards for acceptable difficulty are
different for scipy than numpy.
--
Robert Kern
"I have come to believe that the whole world is an enigma, a harmless
enigma that is made terrible by our own mad attempt to interpret it as
though it had an underlying truth."
-- Umberto Eco
More information about the SciPy-Dev
mailing list