scipy.sparse.eye(m, n=None, k=0, dtype=<class 'float'>, format=None)[source]#

Sparse matrix with ones on diagonal

Returns a sparse matrix (m x n) where the kth diagonal is all ones and everything else is zeros.


Number of rows in the matrix.

nint, optional

Number of columns. Default: m.

kint, optional

Diagonal to place ones on. Default: 0 (main diagonal).

dtypedtype, optional

Data type of the matrix.

formatstr, optional

Sparse format of the result, e.g., format=”csr”, etc.

.. warning::

This function returns a sparse matrix – not a sparse array. You are encouraged to use eye_array to take advantage of the sparse array functionality.


>>> import numpy as np
>>> import scipy as sp
>>> sp.sparse.eye(3).toarray()
array([[ 1.,  0.,  0.],
       [ 0.,  1.,  0.],
       [ 0.,  0.,  1.]])
>>> sp.sparse.eye(3, dtype=np.int8)
<3x3 sparse matrix of type '<class 'numpy.int8'>'
    with 3 stored elements (1 diagonals) in DIAgonal format>