In this tutorial, we will look at how to check if a numpy matrix (a 2d numpy array) is a square matrix or not with the help of some examples.
What is a square matrix?
A matrix is said to be a square matrix if the number of rows is equal to the number of columns in the matrix. The following image shows a square matrix and a non-square matrix.

You can see that the number of rows and columns in a square matrix is the same, hence the name square.
How to check if a matrix is a square matrix in Numpy?
To check if a matrix is a square matrix or not, use the numpy.ndarray.shape
property. For a 2d array, the .shape
property returns a (m, n)
tuple where m
is the number of rows and n
is the number of columns. To check if the matrix is square or not, simply check if m
is equal to n
or not.
The following is the syntax –
import numpy as np # check if the matrix ar is square len(ar.shape) == 2 and ar.shape[0] == ar.shape[1]
In the above syntax, we’re basically checking if the array is a 2d array with the same number of rows and columns.
Let’s now look at some examples of using the above syntax –
Example
Let’s create a square matrix and check if the above method identifies it correctly or not.
import numpy as np # create a square matrix ar = np.array([ [1, 2], [3, 4] ]) # check if the matrix ar is square print(len(ar.shape) == 2 and ar.shape[0] == ar.shape[1])
Output:
True
Here, we created a 2×2 square matrix and used the above method. We get True
as the output indicating the array ar
is a square matrix.
Let’s look at an example where the matrix is not a square matrix.
import numpy as np # create a matrix ar = np.array([ [1, 2, 3], [4, 5, 6] ]) # check if the matrix ar is square print(len(ar.shape) == 2 and ar.shape[0] == ar.shape[1])
Output:
False
Here, we applied the method on a 2×3 matrix. We get False
as the output which indicates that the matrix ar
is not a square matrix.
Note that if you apply this method on a non-2d array, you’ll get False
as the result.
import numpy as np # create a matrix ar = np.array([1, 2, 3, 4]) # check if the matrix ar is square print(len(ar.shape) == 2 and ar.shape[0] == ar.shape[1])
Output:
False
You might also be interested in –
- How to check if a matrix is a diagonal matrix in Numpy?
- Numpy – Check if Matrix is a Lower Triangular Matrix
- Numpy – Check if Matrix is an Upper Triangular Matrix
Subscribe to our newsletter for more informative guides and tutorials.
We do not spam and you can opt out any time.