Accessing and changing the shape
The number of dimensions is what distinguishes a vector from a matrix. The shape is what distinguishes vectors of different sizes, or matrices of different sizes. In this section, we examine how to obtain and change the shape of an array.
The shape function
The shape of a matrix is the tuple of its dimensions. The shape of an n × m matrix is the tuple (n, m)
. It can be obtained by the shape
function:
M = identity(3) shape(M) # (3, 3)
For a vector, the shape is a singleton containing the length of that vector:
v = array([1., 2., 1., 4.]) shape(v) # (4,) <- singleton (1-tuple)
An alternative is to use the array attribute shape
, which gives the same result:
M = array([[1.,2.]]) shape(M) # (1,2) M.shape # (1,2)
However, the advantage of using shape
as a function is that this function may be used on scalars and lists as well. This may come in handy when code is supposed to work with both scalars and arrays:
shape(1.) # () shape([1,2]) # (2...