title: How to do memory efficient 2D convolution on large arrays
body: <p>I have a problem where I need to convolve one very large 2D array (a file on disk) with a smaller array that fits in memory.  <code>scipy.signal.fftconvolve</code> is great when the arrays fit in memory but doesn't help when they don't.  Is there any other reasonable approach besides looping over all the points in each array to calculate the convolution manually?  I'm not good with the math, but I'm wondering if the <code>fftconvolve</code> could be split into parts and recombined with a little bit of overlap?  Something else?</p>