Hi, On Mon, Feb 10, 2014 at 12:58 PM, <josef.p...@gmail.com> wrote: > > > On Mon, Feb 10, 2014 at 3:45 PM, alex <argri...@ncsu.edu> wrote: >> >> On Mon, Feb 10, 2014 at 2:36 PM, Matthew Brett <matthew.br...@gmail.com> >> wrote: >> > Hi, >> > >> > On Mon, Feb 10, 2014 at 6:26 AM, Nathaniel Smith <n...@pobox.com> wrote: >> >> On Sun, Feb 9, 2014 at 4:59 PM, alex <argri...@ncsu.edu> wrote: >> >>> Hello list, >> >>> >> >>> I wrote this mini-nep for numpy but I've been advised it is more >> >>> appropriate for discussion on the list. >> >>> >> >>> """ >> >>> The ``numpy.matrix`` API provides a low barrier to using Python >> >>> for linear algebra, just as the pre-3 Python ``input`` function >> >>> and ``print`` statement provided low barriers to using Python for >> >>> automatically evaluating input and for printing output. >> >>> >> >>> On the other hand, it really needs to be deprecated. >> >>> Let's deprecate ``numpy.matrix``. >> >>> """ >> >>> >> >>> I understand that numpy.matrix will not be deprecated any time soon, >> >>> but I hope this will register as a vote to help nudge its deprecation >> >>> closer to the realm of acceptable discussion. >> >> >> >> To make this more productive, maybe it would be useful to elaborate on >> >> what exactly we should do here. >> >> >> >> I can't imagine we'll actually remove 'matrix' from the numpy >> >> namespace at any point in the near future. >> > {out of order paste}: >> >> Maybe there should be a big warning to this effect in the np.matrix >> >> docstring? >> > >> > That seems reasonable to me. Maybe, to avoid heat and fast changes >> > the NEP could lay out different options with advantages and >> > disadvantages. >> > >> >> I do have the sense that when people choose to use it, they eventually >> >> come to regret this choice. It's a bit buggy and has confusing >> >> behaviours, and due to limitations of numpy's subclassing model, will >> >> probably always be buggy and have confusing behaviours. And it's >> >> marketed as being for new users, who are exactly the kind of users who >> >> aren't sophisticated enough to recognize these dangers. >> > >> > This paragraph is a good summary of why the current situation of >> > np.matrix could cause harm. >> > >> > It would really useful to have some hard evidence of who's using it >> > though. Are there projects that use np.matrix extensively? If so, >> > maybe some code from these could be use-cases to see if (pseudo-) >> > deprecation is practical? >> > >> > Alex - do you have time to lay this stuff out? I bet the NEP would be >> > a good way of helping the discussion stays on track. At very least it >> > could be a reference point the next time this comes up. >> >> I don't think I have enough perspective to write a real NEP, but maybe >> as a starting point we could begin a list somewhere, like on a wiki or >> possibly in the numpy github repo, surveying an early 2014 snapshot of >> the linear algebra APIs used by various Python projects. For example >> according to the responses in this thread, statsmodels seems to avoid >> using numpy.matrix except possibly for interfacing with pandas, and at >> least one professor relies on the numpy.matrix interface for classroom >> teaching. The list could include short quotes from people involved in >> the projects, if they want to share an opinion. >> >> It wouldn't be my intention to treat such a list as a vote, but rather >> as data and as an excuse to make a list of cool projects; I suspect >> that members of most projects would say "we don't use numpy.matrix but >> we don't mind if other people use it" and that most teachers or >> students who benefit from the gentler syntax of numpy.matrix would not >> even be reached by such a survey. > > > My impression: > > As long as there is no big maintenance cost (which there isn't), I don't see > any reason to remove matrix and to debate it every few years.
No, all agree I think - let's not remove it. > All the users that are participating or reading the mailing list have been > indoctrinated for years not to use matrix. Here is the rub. This discussion does come up - 'np.array or np.matrix'. It came up in a Software Carpentry boot camp I was teaching on - and the instructors disagreed. I think the active questions here are: * Should we collect the discussion in coherent form somewhere? * Should we add something to the np.matrix docstring and if so what? * (Pauli's point): to what extent should we try to emulate the np.matrix API. Best, Matthew _______________________________________________ NumPy-Discussion mailing list NumPy-Discussion@scipy.org http://mail.scipy.org/mailman/listinfo/numpy-discussion