The rank of a matrix is the maximum number of linearly independent rows or columns. In other words, we can say rank is the total number of non-zero rows in its row echelon form. Generally, it is denoted as `rank(A)`

or `rk(A)`

or sometimes `rank A`

where A is the matrix name.

The rank of a null matrix will always be zero. Some examples of the finding rank of a matrix are given below.

**Example 1:**

Let A be the given matrix –

After performing a number of elementary row operations, the reduced row echelon form of the given matrix is –

As you can see in its reduced row echelon form there are two non-zero rows so the rank of matrix A will be 2.

**Example 2:**

Lets A is our matrix as it is given below –After performing a number of elementary row operations the reduced row echelon form of the given matrix is –

Here the number of non-zero rows is 1 thus the rank of the given matrix is 1.

## Python program to find the rank of a matrix

To find the rank of a matrix in Python we will use

method of the NumPy library. This method returns the rank of the given matrix.**linalg.matrix_rank()**

Before you import NumPy to your program make sure this package is installed on your system. Use the following command to install it –

`sudo pip3 install numpy`

Let’s see the program to find the rank of a matrix.

```
# Python program to find the rank of a matrix
import numpy as np
# Enter a mxn matrix
myMatrix = np.array([[1, 2, 1], [-2, -3, 1], [3, 5, 0]])
print("Given matrix is:")
for row in myMatrix:
print(row)
# Finding the rank of the matrix
rank = np.linalg.matrix_rank(myMatrix)
print("Rank of the given Matrix is : ",rank)
```

When you execute this program it will display the rank of the given matrix as you can see in the image below.

Another way to find the rank of a matrix is to find the reduced row echelon form of a matrix and then find its rank by observing the total number of non-zero rows in the matrix.