Software, Tech & Coding simplified.

# NumPy How to Transpose a Matrix To transpose a matrix with NumPy, call the transpose() method.

For instance:

```import numpy as np

A = np.array([[1, 2], [3, 4]])

A_T = A.transpose()

print(A_T)```

Output:

```[[1 3]
[2 4]]```

If you are in a hurry, I’m sure this quick answer is enough.

## What Is the Transpose of a Matrix

The transpose of a matrix is another matrix where the matrix is flipped along its diagonal axis. This means each row of the matrix turns into a column in the result matrix.

Transpose is a really common operation performed on a matrix.

Here is an illustration of a transpose of a 3 x 3 matrix.

Notice that the matrix does not need to be a square matrix (such as a 3 x 3) to be transposed. You can just as well transpose a 2 x 4 matrix or a 5 x 2 matrix.

Next, let’s implement a matrix transpose algorithm with Python.

## Matrix Transpose Algorithm

Transposing a matrix is easy to describe for someone with paper and pen.

Turn each row into a column.

However, when giving instructions to a computer, it is not that easy.

A computer program that transposes a matrix needs to loop through the matrix row by row, pick each element, and put it into a slot in the result array.

The general description of a matrix transpose algorithm as pseudocode is as follows:

1. Specify a 2D array A[M][N], that represents a M x N matrix.
2. Declare another 2D array T to store the result of the transpose with dimensions N x M (reversed compared to the original array.)
3. Loop through the original 2D array and convert its rows to the columns of matrix T.
• Declare 2 variables i and j.
• Set i, j = 0
• Repeat until i < M
• Set j = 0
• Repeat until j < N
• T[i][j] = A[j][i]
• j = j + 1
• i = i + 1
4. Show the result matrix T.

With this information, let’s implement the matrix transpose algorithm in Python.

```# Declare the matrix
A = [
[9, 7],
[4, 5],
[3, 8]
]

# Set up the result matrix
T = [
[0, 0, 0],
[0, 0, 0]
]

# Know the dimensions in A
M = len(A)
N = len(A)

# Loop through A
i = 0
while i < M:
j = 0
while j < N:
# Transpose each element
T[i][j] = A[j][i]
j = j + 1
i = i + 1

# Show the result
for row in T:
print(row)```

Output:

```[9, 4, 3]
[7, 5, 8]```

Now that you understand what is a matrix transpose and how to create a Python program to find one, let’s see how to do it more easily.

## How to Transpose a Matrix with NumPy

In NumPy, matrices are commonly expressed as 2D arrays, where each inner array represents one row of the matrix.

However, transposing a matrix is such a common operation, that a NumPy array has a built-in function for it.

This function is called the numpy.matrix.transpose.

It can be called on a NumPy array.

For instance, let’s transpose a 2 x 3 matrix:

```import numpy as np

A = np.array(
[
[9, 7],
[4, 5],
[3, 8]
]
)

T = A.transpose()

print(T)```

Output:

```[[9 4 3]
[7 5 8]]```

## Conclusion

Today you learned how to transpose a matrix in Python by:

• Implementing your own matrix transpose algorithm
• Using a built-in transpose function in NumPy library.