[Numpy-discussion] untenable matrix behavior in SVN
Keith Goodman
kwgoodman at gmail.com
Tue Apr 29 15:50:12 EDT 2008
On Tue, Apr 29, 2008 at 11:46 AM, Keith Goodman <kwgoodman at gmail.com> wrote:
> On Tue, Apr 29, 2008 at 11:21 AM, Alan G Isaac <aisaac at american.edu> wrote:
> > On Tue, 29 Apr 2008, Keith Goodman apparently wrote:
> > > I often use x[i,:] and x[:,i] where x is a matrix and i is
> > > a scalar. I hope this continues to return a matrix.
> >
> > 1. Could you give an example of the circumstances of this
> > use?
>
> In my use i is most commonly an array (i = M.where(y.A)[0] where y is
> a nx1 matrix), sometimes a list, and in ipython when debugging or
> first writing the code, a scalar. It would seem odd to me if x[i,:]
> returned different types of objects based on the type of i:
>
> array index
> idx = M.where(y.A)[0] where y is a nx1 matrix
> x[dx,:] --> matrix
>
> list index
> idx = [0]
> x[idx,:] --> matrix?
>
> scalar index
> idx = 0
> x[idx,:] --> not matrix
Here's another use case:
for i in xrange(x.shape[1]):
xi = x[:,i]
idx = M.where(M.isfinite(xi).A)[0]
xi = xi[idx,:]
# more code
Also the functions I have written work on matrices. If x[i,:] did not
return a matrix, let's say it returned some other vector type object
that you index with a scalar, then my functions will have to test
whether the input is a full matrix or a vector since the indexing is
different.
More information about the NumPy-Discussion
mailing list