On 05/02/2008, Chris Finley <[EMAIL PROTECTED]> wrote:

> After searching the archives, I was unable to find a good method for
> changing the stride of the correlate or convolve routines. I am doing a
> Daubechies analysis of some sample data, say data = arange(0:80). The
> coefficient array or four floats (say daub_g2[0:4]) is correlated over
> the data. However, the product only needs to be calculated for every
> other data index.

I don't think that correlate or convolve can be made to behave this
way. You can of course just throw away half the values, but I imagine
you'd like it to be reasonably fast (do compare, though, speed
tradeoffs can be surprising, particularly in python). This sort of
thing comes up from time to time, so I took some old code I posted to
scipy-user and put it in the cookbook at
http://www.scipy.org/Cookbook/SegmentAxis . It works by converting
your input array into a (in this case) 4 by n matrix with overlapping
rows (without copying). You can then do what you like with the
resulting array; convolutions just become matrix products. It's
conceivable (though frankly unlikely) that the BLAS acceleration of
matrix multiplication might make this run faster than correlate().

Good luck,
Anne
_______________________________________________
Numpy-discussion mailing list
Numpy-discussion@scipy.org
http://projects.scipy.org/mailman/listinfo/numpy-discussion

Reply via email to