numpy.eye#

numpy.eye(N, M=None, k=0, dtype=<class 'float'>, order='C', *, device=None, like=None)#

Return a 2-D array with ones on the diagonal and zeros elsewhere.

Parameters:
  • N (int) – Number of rows in the output.

  • M (int, optional) – Number of columns in the output. If None, defaults to N.

  • k (int, optional) – Index of the diagonal: 0 (the default) refers to the main diagonal, a positive value refers to an upper diagonal, and a negative value to a lower diagonal.

  • dtype (data-type, optional) – Data-type of the returned array.

  • order ({'C', 'F'}, optional) – Whether the output should be stored in row-major (C-style) or column-major (Fortran-style) order in memory.

  • device (str, optional) –

    The device on which to place the created array. Default: None. For Array-API interoperability only, so must be "cpu" if passed.

    Added in version 2.0.0.

  • like (array_like, optional) –

    Reference object to allow the creation of arrays which are not

    NumPy arrays. If an array-like passed in as like supports the __array_function__ protocol, the result will be defined by it. In this case, it ensures the creation of an array object compatible with that passed in via this argument.

    Added in version 1.20.0.

Returns:

I – An array where all elements are equal to zero, except for the k-th diagonal, whose values are equal to one.

Return type:

ndarray of shape (N,M)

See also

identity

(almost) equivalent function

diag

diagonal 2-D array from a 1-D array specified by the user.

Examples

>>> import numpy as np
>>> np.eye(2, dtype=int)
array([[1, 0],
       [0, 1]])
>>> np.eye(3, k=1)
array([[0.,  1.,  0.],
       [0.,  0.,  1.],
       [0.,  0.,  0.]])