numpy.eye() in Python
Last Updated :
27 Jan, 2025
Improve
numpy.eye() is a function in the NumPy library that creates a 2D array with ones on the diagonal and zeros elsewhere. This function is often used to generate identity matrices with ones along the diagonal and zeros in all other positions.
Let's understand with the help of an example:
import numpy as np
# Creating a 3x3 identity matrix
identity_matrix = np.eye(3)
print(identity_matrix)
Output
[[1. 0. 0.] [0. 1. 0.] [0. 0. 1.]]
Explanation:
- np.eye(3) creates a 2D array with 3 rows and 3 columns, where all elements on the main diagonal are set to 1, and all other elements are set to 0.
- This results in a square identity matrix of size 3x3.
Syntax of numpy.eye():
numpy.eye(N, M=None, k=0, dtype=<class 'float'>, order='C')
Parameters :
- R : Number of rows
- C : [optional] Number of columns; By default M = N
- k : [int, optional, 0 by default]
Diagonal we require; k>0 means diagonal above main diagonal or vice versa. - dtype : [optional, float(by Default)] Data type of returned array.
Create a Rectangular Matrix
We can create a rectangular matrix with diagnols one with the help of numpy.eye() function .
import numpy as np
# Creating a 3x5 rectangular matrix
rectangular_matrix = np.eye(3, 5)
print(rectangular_matrix)
Output
[[1. 0. 0. 0. 0.] [0. 1. 0. 0. 0.] [0. 0. 1. 0. 0.]]
Explanation:
- np.eye(3, 5) generates a 2D array with 3 rows and 5 columns.
- The main diagonal is filled with 1s, and all other elements are 0.
Specify a Diagonal Offset
Specifying a diagonal offset refers to shifting the location of the diagonal filled with 1s within the matrix.
import numpy as np
# Creating a 4x4 matrix with diagonal offset
matrix = np.eye(4, k=1)
print(matrix)
Output
[[0. 1. 0. 0.] [0. 0. 1. 0.] [0. 0. 0. 1.] [0. 0. 0. 0.]]
Explanation:
- In this example, k=1 shifts the diagonal one position above the main diagonal, so 1s appear on the first superdiagonal.