[Numpy-discussion] matrix indexing question
Alan G Isaac
aisaac at american.edu
Mon Mar 26 09:31:06 EDT 2007
> Alan G Isaac schrieb:
>> >>> X[1]
>> array([3,4])
>> >>> X[1,:]
>> matrix([[3, 4]])
>> But again the point is:
>> indexing for submatrices should produce matrices.
>> Normal Python indexing should access the constituent arrays.
On Mon, 26 Mar 2007, Sven Schreiber apparently wrote:
> I think this is a tricky business.
> There's also the rule "indexing reduces the rank, slicing preserves it".
> Numpy-matrices form an exception to this rule, always being 2d, but the
> exception is consistently enforced.
> Now it seems you want to have an exception from the exception, correct?
What I want: the best design.
I did not claim that the current design is flawed, only to suspect it.
Why I wrote: current behavior feels wrong -> suspect design flaw.
What feels wrong: iterating over a container does not give
access to the contained objects. This is not Pythonic.
*Symptom* of the underlying problem:
for matrix M, M[0] returns a matrix.
Would the change I suggest mean that the behavior of the
matrix class deviates less from the array class: yes.
Does this mean the matrix class behavior would be less "consistent"?
I have tried to explain why the answer is "no".
hth,
Alan Isaac
More information about the NumPy-Discussion
mailing list