Hi, I have a function that would like to be able to take an array, look at its 'strides' and 'shape' tuples, and fabricate another array that is similar to the first but has the adjusted values.
For a simple example: def fiddle(a): strides = list(a.strides) strides[0]*=2 shape = list(a.shape) shape[0]//=2 return N.ndarray.__new__(N.ndarray, strides=strides, shape=shape, buffer=a, dtype=a.dtype) Unfortunately, this has a few problems. * It always makes ndarrays, even if the original was some subtype. (not a big deal for me, but still a bit annoying) * It fails unnecessarily if the array is not "contiguous": for example, fiddle(N.zeros((2,2,2,2)).swapaxes(0,2)) fails, saying "expected a single-segment buffer object". This second problem is my real problem. Is there a way I can tell numpy "no really, I know what I'm doing with these strides, use the same underlying memory as this array"? (Of course I can flatten the array, but that will copy it unnecessarily.) Thanks, A. M. Archibald _______________________________________________ Numpy-discussion mailing list Numpy-discussion@scipy.org http://projects.scipy.org/mailman/listinfo/numpy-discussion