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