On Sat, Jan 7, 2017 at 2:29 PM, Ralf Gommers <ralf.gomm...@gmail.com> wrote:
> > > On Sun, Jan 8, 2017 at 9:31 AM, Todd <toddr...@gmail.com> wrote: > >> >> >> On Jan 6, 2017 20:28, "Ralf Gommers" <ralf.gomm...@gmail.com> wrote: >> >> >> >> On Sat, Jan 7, 2017 at 2:21 PM, CJ Carey <perimosocord...@gmail.com> >> wrote: >> >>> >>> On Fri, Jan 6, 2017 at 6:19 PM, Ralf Gommers <ralf.gomm...@gmail.com> >>> wrote: >>> >>>> This sounds like a reasonable idea. Timeline could be something like: >>>> >>>> 1. Now: create new package, deprecate np.matrix in docs. >>>> 2. In say 1.5 years: start issuing visible deprecation warnings in numpy >>>> 3. After 2020: remove matrix from numpy. >>>> >>>> Ralf >>>> >>> >>> I think this sounds reasonable, and reminds me of the deliberate >>> deprecation process taken for scipy.weave. I guess we'll see how successful >>> it was when 0.19 is released. >>> >>> The major problem I have with removing numpy matrices is the effect on >>> scipy.sparse, which mostly-consistently mimics numpy.matrix semantics and >>> often produces numpy.matrix results when densifying. The two are coupled >>> tightly enough that if numpy matrices go away, all of the existing sparse >>> matrix classes will have to go at the same time. >>> >>> I don't think that would be the end of the world, >>> >> >> Not the end of the world literally, but the impact would be pretty major. >> I think we're stuck with scipy.sparse, and may at some point will add a new >> sparse *array* implementation next to it. For scipy we will have to add a >> dependency on the new npmatrix package or vendor it. >> >> Ralf >> >> >> >>> but it's definitely something that should happen while scipy is still >>> pre-1.0, if it's ever going to happen. >>> >>> _______________________________________________ >>> NumPy-Discussion mailing list >>> NumPy-Discussion@scipy.org >>> https://mail.scipy.org/mailman/listinfo/numpy-discussion >>> >>> >> >> _______________________________________________ >> NumPy-Discussion mailing list >> NumPy-Discussion@scipy.org >> https://mail.scipy.org/mailman/listinfo/numpy-discussion >> >> >> So what about this: >> >> 1. Create a sparse array class >> 2. (optional) Refactor the sparse matrix class to be based on the sparse >> array class (may not be feasible) >> 3. Copy the spare matrix class into the matrix package >> 4. Deprecate the scipy sparse matrix class >> 5. Remove the scipy sparse matrix class when the numpy matrix class >> > > It looks to me like we're getting a bit off track here. The sparse > matrices in scipy are heavily used, and despite rough edges pretty good at > what they do. Deprecating them is not a goal. > > The actual goal for the exercise that started this thread (at least as I > see it) is to remove np.matrix from numpy itself so users (that don't know > the difference) will only use ndarrays. And the few users that prefer > np.matrix for teaching can now switch because of @, so their preference > should have disappeared. > > To reach that goal, no deprecation or backwards incompatible changes to > scipy.sparse are needed. > What is the way forward with sparse? That looks like the biggest blocker on the road to a matrix free NumPy. I don't see moving the matrix package elsewhere as a solution for that. Chuck
_______________________________________________ NumPy-Discussion mailing list NumPy-Discussion@scipy.org https://mail.scipy.org/mailman/listinfo/numpy-discussion