VOOZH about

URL: https://www.geeksforgeeks.org/python/numpy-eye-python/

⇱ numpy.eye() in Python - GeeksforGeeks


  • Courses
  • Tutorials
  • Interview Prep

numpy.eye() in Python

Last Updated : 27 Jan, 2025

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:


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 .


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.


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.
Comment