[Numpy-discussion] Uncomfortable with matrix change

Anne Archibald peridot.faceted@gmail....
Sat May 10 17:28:17 CDT 2008


2008/5/10 Timothy Hochberg <tim.hochberg@ieee.org>:
> On Sat, May 10, 2008 at 1:37 PM, Anne Archibald <peridot.faceted@gmail.com>
> wrote:
>>
>> 2008/5/10 Nathan Bell <wnbell@gmail.com>:
>> > On Sat, May 10, 2008 at 3:05 PM, Anne Archibald
>> > <peridot.faceted@gmail.com> wrote:
>> >>
>> >> I don't expect my opinion to prevail, but the point is that we do not
>> >> even have enough consensus to agree on a recommendation to go in the
>> >> DeprecationWarning. Alas.
>> >
>> > Would you object to raising a general Warning with a message like the
>> > following?
>> >
>> > "matrix indexing of the form x[0] is ambiguous, consider the explicit
>> > format x[0,:]"
>>
>> Well, since I at least have proposed changing the latter as well, the
>> warning doesn't actually help with deprecation. It does reduce the
>> amount of beginner foot-shooting (as in x[0][0]), I guess, so I'm not
>> opposed to it.
>
> Please, let's just leave the current matrix class alone. Any change
> sufficient to make matrix not terrible, will break everyone's code. Instead,
> the goal should be build a new matrix class (say newmatrix) where we can
> start from scratch. We can build it and keep it alpha for a while so we can
> break the interface as needed while we get experience with it and then,
> maybe, transition matrix to oldmatrx and newmatrix to matrix over a couple
> of releases. Or just choose a reasonable name for matrix to begin with
> (ndmatrix?) and then deprecate the current matrix class when the new one is
> fully baked.
>
> Trying to slowly morph matrix into something usable is just going to break
> code again and again and just be a giant headache in general.

+1

I think something along the lines of the Numerical Ruby code you
pointed to some time ago is a good idea, that is, an "array of
matrices" object and an "array of vectors" object. There will be
considerable challenges - distinguishing the two kinds of index
manipulations on arrays of matrices (those that transpose every matrix
in the array, for eample, and those that rearrange the array of
matrices). Since teaching is one of the main current applications of
matrices, these should be presented in as non-painful a way as
possible.

Anyway, I think I am in favour of returning the 1.1 matrix behaviour
to its 1.0 form and releasing the thing.

Anne


More information about the Numpy-discussion mailing list