Along those lines, yes, but you have to be careful of even/odd dimension lengths. Would be nice if it was some sort of stride trick so that I don't have to allocate a new array twice as we do in the concatenation steps.
Cheers! Ben Root On Tue, Mar 29, 2016 at 1:58 PM, Joseph Fox-Rabinovitz < jfoxrabinov...@gmail.com> wrote: > On Tue, Mar 29, 2016 at 1:46 PM, Benjamin Root <ben.v.r...@gmail.com> > wrote: > > Is there a quick-n-easy way to reflect a NxM array that represents a > > quadrant into a 2Nx2M array? Essentially, I am trying to reduce the size > of > > an expensive calculation by taking advantage of the fact that the first > part > > of the calculation is just computing gaussian weights, which is radially > > symmetric. > > > > It doesn't seem like np.tile() could support this (yet?). Maybe we could > > allow negative repetitions to mean "reflected"? But I was hoping there > was > > some existing function or stride trick that could accomplish what I am > > trying. > > > > x = np.linspace(-5, 5, 20) > > y = np.linspace(-5, 5, 24) > > z = np.hypot(x[None, :], y[:, None]) > > zz = np.hypot(x[None, :int(len(x)//2)], y[:int(len(y)//2), None]) > > zz = some_mirroring_trick(zz) > > Are you looking for something like this: > > zz = np.hypot.outer(y[:len(y)//2], x[:len(x)//2]) > zz = np.concatenate((zz[:, ::-1], zz), axis=1) > zz = np.concatenate((zz, zz[::-1, :])) > > > assert np.all(z == zz) > > > > What can be my "some_mirroring_trick()"? I am hoping for something a > little > > better than using hstack()/vstack(). > > > > Thanks, > > Ben Root > > > > _______________________________________________ > > NumPy-Discussion mailing list > > NumPy-Discussion@scipy.org > > https://mail.scipy.org/mailman/listinfo/numpy-discussion > > > _______________________________________________ > NumPy-Discussion mailing list > NumPy-Discussion@scipy.org > https://mail.scipy.org/mailman/listinfo/numpy-discussion >
_______________________________________________ NumPy-Discussion mailing list NumPy-Discussion@scipy.org https://mail.scipy.org/mailman/listinfo/numpy-discussion