A special form of reshaping is transposing. It just switches the two shape elements of the matrix. The transpose of a matrix is a matrix such that
which is resolved in the following way:
A = ... shape(A) # (3,4) B = A.T # A transpose shape(B) # (4,3)
transpose does not copy: transposition is very similar to reshaping. In particular, it does not copy the data either and just returns a view on the same array:
A= array([[ 1., 2.],[ 3., 4.]])
B=A.T A[1,1]=5.
B[1,1] # 5.0
Transposing a vector makes no sense since vectors are tensors of one dimension, that is, functions of one variable – the index. NumPy will, however, comply and return exactly the same object:
v = array([1., 2., 3.]) v.T # exactly the same vector!
What you have in mind when you want to transpose a vector is probably to create a row or column matrix. This is done using reshape:
v.reshape(-1, 1) # column matrix containing v v.reshape(1, -1) # row matrix...