# COO.transpose

COO.transpose(axes=None)[source]

Returns a new array which has the order of the axes switched.

Parameters:

axes (Iterable[int], optional) – The new order of the axes compared to the previous one. Reverses the axes by default.

Returns:

The new array with the axes in the desired order.

Return type:

COO

`COO.T`

A quick property to reverse the order of the axes.

`numpy.ndarray.transpose`

Numpy equivalent function.

Examples

We can change the order of the dimensions of any `COO` array with this function.

```>>> x = np.add.outer(np.arange(5), np.arange(5)[::-1])
>>> x
array([[4, 3, 2, 1, 0],
[5, 4, 3, 2, 1],
[6, 5, 4, 3, 2],
[7, 6, 5, 4, 3],
[8, 7, 6, 5, 4]])
>>> s = COO.from_numpy(x)
>>> s.transpose((1, 0)).todense()
array([[4, 5, 6, 7, 8],
[3, 4, 5, 6, 7],
[2, 3, 4, 5, 6],
[1, 2, 3, 4, 5],
[0, 1, 2, 3, 4]])
```

Note that by default, this reverses the order of the axes rather than switching the last and second-to-last axes as required by some linear algebra operations.

```>>> x = np.random.rand(2, 3, 4)
>>> s = COO.from_numpy(x)
>>> s.transpose().shape
(4, 3, 2)
```