[Numpy-discussion] Reshaing continued
rob at hooft.net
Sun Sep 12 11:49:00 EDT 2004
Karthikesh Raju wrote:
> A partial support for 3D has been by extending the number of columns in a
> 2D matrix, so each new dimension is a block matrix in the columns. This
> works fine, but again another day when i need 4D it would break. This is
> why i thought i could play with reshape to get things correct once and for
I am answering from rusty Numeric knowledge, not knowing whether the
numarray implementation is different.
I think you are mixing up how reshape and how transpose work.
"reshape" doesn't actually touch the data; it only changes the size of
the different dimensions. Therefore, the order of the data in the array
can not be changed by reshape, nor can the number of data points.
The transpose method also doesn't touch the actual data, but it changes
the strides in which the data are used. transpose can change the order
of N-dimensions, not only 2!
Both operations are basically O(1), which practically means that they
are instantaneous, no matter how large the arrays.
After a transpose, the array is normally non-contiguous, which might
mean that repeated walk-throughs are significantly slower, and it may
pay to make a contiguous copy first.
Rob W.W. Hooft || rob at hooft.net || http://www.hooft.net/people/rob/
More information about the NumPy-Discussion