[Numpy-discussion] vectorizing histogram-like computation

Todd Miller jmiller at stsci.edu
Mon Jun 20 12:44:16 CDT 2005


On Mon, 2005-06-20 at 15:36, Piotr Luszczek wrote:
> Perry Greenfield wrote:
> > 
> > On Jun 20, 2005, at 3:09 PM, Piotr Luszczek wrote:
> > 
> >> All,
> >>
> >> I apologize if this is a dupe. I haven't seen it where I looked.
> >>
> >> There is numarray.numeric.histogram and numarray.mlab.histogram.
> >> What they do is this (more or less):
> >>
> >> for idx in arr:
> >>    histogram[idx] += 1
> >>
> >> What I want to do is:
> >>
> >> for idx in arr:
> >>    result[idx] ^= value
> >>
> >> Doing:
> >>
> >> result[arr] ^= value
> >>
> >> doesn't work. Which is not surprising because:
> >>
> >> histogram[arr] += 1
> >>
> >> doesn't work either.
> >>
> >> My question is whether there is a way to do it (the XOR example)
> >> without using a for loop.

I may be misreading your intent,  but here's what I get:

>>> a = na.zeros((10,))
>>> a[[1,3,5]] ^= 100
>>> a
array([  0, 100,   0, 100,   0, 100,   0,   0,   0,   0])

It seems to work to me.  What is it that you meant?

Regards,
Todd

> >>
> >> Thanks,
> >>
> >> Piotr
> > 
> > 
> > Not that I'm aware of. It suggests that there may be a need to expand on 
> > the histogram-like functionality to handle this sort of thing, though I 
> > wonder how often it would be used.
> 
> Sparse matrix computations use indirection all the time.
> And being able to the calculations in C and in-place would be a good
> thing. But then again I don't know if many numarray users use
> sparse matrices rather than just make the matrix dense and
> use LAPACK.
> 
> 
> -------------------------------------------------------
> SF.Net email is sponsored by: Discover Easy Linux Migration Strategies
> from IBM. Find simple to follow Roadmaps, straightforward articles,
> informative Webcasts and more! Get everything you need to get up to
> speed, fast. http://ads.osdn.com/?ad_id=7477&alloc_id=16492&op=click
> _______________________________________________
> Numpy-discussion mailing list
> Numpy-discussion at lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/numpy-discussion
-- 





More information about the Numpy-discussion mailing list