[Numpy-discussion] Uncomfortable with matrix change

Jarrod Millman millman@berkeley....
Sat May 10 04:35:12 CDT 2008

On Fri, May 9, 2008 at 8:36 AM, Timothy Hochberg <tim.hochberg@ieee.org> wrote:
> My personal opinion is that current matrix class is pretty useless and the
> change won't help much from my point of view. My preference would be to
> leave the matrix class alone, design a new matrix class, with a different
> name, for 1.2 and then deprecate the old matrix class. Piecemeal fixing of
> the matrix class is going to break someone's code and doesn't really get us
> where we want to go.

Sort of +1.

I am not a user of the numpy matrix, but I am increasingly feeling
that we should leave them alone for the 1.1 release.  This change was
more or less rushed through at the end of the 1.1 development cycle
due to both the feeling that there was an eminent and unique
opportunity for API breakage and a near universal agreement that the
current matrix behavior was less than ideal.

However, we will be releasing 1.2 in a few months and it will be
entirely possible to break the matrices API then if there is an
agreement that it still needs to be done.  It seems that the longer
this discussion has gone on, the more alternative "fixes" that are
proposed and discussed.  Basically almost everyone who joins the
discussion suggests yet a new fix.  Also not all the NumPy/SciPy core
developers have been following this discussion and I want to make sure
everyone has the opportunity to become engaged in this conversation
before we settle on even a minor change this late in the development
cycle.  Moreover, I think that given the numerous bug fixes that have
gone into this release, it would be a shame if this somewhat last
minute API break turns out to introduce even on new bug that we don't
notice before the release.

Finally, I would like to apologize for not proposing a more sensible
process earlier for introducing API breaking code (I am learning as I
go).  As we turn our attention to developing  1.2, I am going to
provide more formal phases to the development process.  Any code that
breaks API will be required to be introduced and committed during the
beginning of the development cycle.  And not in the very last phase of
the development cycle when we should be focused solely on critical
bugs, major regression, documentation, and extensive testing.

So unless there are major objections, I am going to back out the
matrices changes in the 1.1 branch.  I will leave whatever changes
have occurred in the trunk.  Sorry if you feel I am overstepping my
"authority".  If so, please let me know.  My goal is not to cut short
discussion so much as to move the 1.1.0 release forward, so that we
can get the numerous bug fixes and improvements to our users while
also letting the developers start working on the next release (1.2) as
soon as possible.


Jarrod Millman
Computational Infrastructure for Research Labs
10 Giannini Hall, UC Berkeley
phone: 510.643.4014

More information about the Numpy-discussion mailing list