<div dir="auto"><div><br><div class="gmail_extra"><br><div class="gmail_quote">On Nov 30, 2017 09:24, "Marten van Kerkwijk" <<a href="mailto:m.h.vankerkwijk@gmail.com">m.h.vankerkwijk@gmail.com</a>> wrote:<br type="attribution"><blockquote class="quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi All,<br>
<br>
I wondered if the move to python3-only starting with numpy 1.17 would<br>
be a good reason to act on what we all seem to agree: that the matrix<br>
class was a bad idea, with its overriding of multiplication and lack<br>
of support for stacks of matrices. For 1.17, minimum python supposedly<br>
is >=3.5, so we will be guaranteed to have the matrix multiply<br>
operator @ available, and hence there is arguably even less of a case<br>
for keeping the matrix class; removing it would allow taking out quite<br>
a bit of accumulated special-casing (the immediate reasons for writing<br>
this were gh-10123 and 10132).<br>
<br>
What do people think? If we do go in this direction, we might want to<br>
add PendingDeprecationWarning for 1.15 (maybe DeprecationWarning for<br>
python3; for python2 matrix would never disappear).<br>
<br>
All the best,<br>
<br>
Marten<br></blockquote></div></div></div><div dir="auto"><br></div><div dir="auto">I still think moving it out into its own package would be better, making it clear that anyone who cares about the class should step up because numpy developers will not do any additional work on it. Similar to how weave was handled with scipy. </div><div dir="auto"><br></div><div dir="auto">So simultaneous with the deprecation you release a package with the matrix class. Then people have until the deprecation period is over to port (which should just be a matter of changing the imports).</div><div dir="auto"><div class="gmail_extra"><div class="gmail_quote"><blockquote class="quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"></blockquote></div></div></div></div>