(and the same for Array1, Array2, and Array3). [to_complex] will raise an exception if the last (for c_layout) or first (for fortran_layout) dimension is not even.
The interest of this is for in-place transforms, specifically in my case in-place FFT transforms between float and hermitian arrays.