Alan G Isaac wrote: > On Mon, 26 Mar 2007, "Colin J. Williams" apparently wrote: >> One would expect the iteration over A to return row >> vectors, represented by (1, n) matrices. > > This is again simple assertion. > **Why** would "one" expect this? > Some people clearly do not. > > One person commented that this unexpected behavior was > a source of error in their code. > > Another person commented that they did not even guess that > such a thing would be possible. > > Experience with Python should lead to the ability to > anticipate the outcome. Apparently this is not the case. > That suggests a design problem. > > What about **Python** would lead us to expect this behavior?? > > In *contrast*, everyone agrees that for a matrix M, > we should get a matrix from M[0,:]. > This is expected and desirable.
Perhaps our differences lies in two things: 1. the fact that the text books typically take the column vector as the default. For a Python version, based on C it makes more sense to treat the rows as vectors, as data is stored contiguously by row. 2. the convention has been proposed that the vector is more conveniently implemented as a matrix, where one dimension is one. The vector could be treated as a subclass of the matrix but this adds complexity with little clear benefit. PyMatrix has matrix methods isVector, isCVector and isRVector. I can see some merit in conforming to text book usage and would be glad to consider changes when I complete the port to numpy, in a few months. Colin W. > > Cheers, > Alan Isaac _______________________________________________ Numpy-discussion mailing list Numpy-discussion@scipy.org http://projects.scipy.org/mailman/listinfo/numpy-discussion