> Or x.ravel(order='K'), "to view the elements in the order they occur in
> memory, except for reversing the data when strides are negative"
> (docs).

Indeed. Is this in the oldest version of numpy that we support? If not,
should we raise our requirements?

> X.squeeze() has the same guarantee of never copying, but leaves negative
> strides alone which may impact BLAS performance. It's a tad faster, though.

The negative strides will induce a copy before the BLAS call I believe.
But anyhow, it is not the same semantincs than ravel on a 2D array.