Timothy Hochberg wrote: > > > On 1/6/07, *Travis Oliphant* <[EMAIL PROTECTED] > <mailto:[EMAIL PROTECTED]>> wrote: > > Timothy Hochberg wrote: > > > > > > > > On 1/6/07, *Robert Kern* < [EMAIL PROTECTED] > <mailto:[EMAIL PROTECTED]> > > <mailto:[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>>> > wrote: > > > > Sean R. Lynch wrote: > > > > >>>> x = zeros((3,)) > > >>>> x[array([0, 1, 1])] += array([1, 1, 1]) > > >>>> x > > > array([ 1., 1., 0.]) > > > > > > If this worked the way I was hoping, the output would be > [1 2 0] > > because > > > it would add to element 1 twice due to its duplication in the > > advanced > > > selection array. > > > > > > Is the current behavior intentional or is it an accident of > > > implementation? > > > > It is an unavoidable consequence of the way Python > interprets that > > code and the > > way numpy arrays are fundamentally implemented. See Travis > > Oliphant's, Tim > > Hochberg's and my posts in the thread "Histograms via indirect > > index arrays" for > > more details. > > > > > > http://projects.scipy.org/pipermail/numpy-discussion/2006-March/thread.html#6877 > > > > > > > Do we have to revisit that thread? I seem to recall it getting > kind of > > cranky. To avoid reliving that, I will attempt dredge up the > relevant > > issue: > > > > "a[indx]+=b" should be the same as "a[indx]=a[indx]+b". All else > > follow from that. If staring at that for a while doesn't enlighten > > you, then you will have to read that thread. > > > > [ I suspect that in theory we could make the += form behave as you > > expect, but that would break the identity above, which would > confuse a > > bunch of people] > > > > I don't think we could make it work as he expects (and not radically > change NumPy itself so that other operations are very different) > because > of the limitations of Python. > > The point was that it is too complicated to do any differently (and is > probably impossible). > > > Oh, you really shouldn't use words like "impossible" unless you want > someone to figure out
> how to do it. Some people view that as a challenge ;-) I know, that's why I put it in parenthesis and said "probably" ;-) -Travis _______________________________________________ Numpy-discussion mailing list Numpy-discussion@scipy.org http://projects.scipy.org/mailman/listinfo/numpy-discussion