Hello all, I'm writing up a general function to allocate aligned numpy arrays (I'll post it shortly, as Anne suggested that such a function would be useful). However, I've run into trouble with using ndarray.view() in odd corner- cases: In : numpy.__version__ Out: '1.1.0.dev5077' In : a = numpy.ones((3,8),dtype=numpy.uint8) In : a.view(numpy.uint16) Out: array([[257, 257, 257, 257], [257, 257, 257, 257], [257, 257, 257, 257]], dtype=uint16) In : a = numpy.ones((3,9),dtype=numpy.uint8) In : a[:,1:].view(numpy.uint16) ValueError: new type not compatible with array. In : a[:,:-1].view(numpy.uint16) ValueError: new type not compatible with array. In : numpy.array(a[:,:-1]).view(numpy.uint16) Out: array([[257, 257, 257, 257], [257, 257, 257, 257], [257, 257, 257, 257]], dtype=uint16) It seems like 'view' won't create a view where the stride length is not a whole multiple of the dtype's itemsize. However, since strides are measured in bytes (right?), this shouldn't be a problem. Is this a minor bug? Or am I woefully misunderstanding the issue involved here? Thanks, Zach