scipy.sparse.identity#

scipy.sparse.identity(n, dtype='d', format=None)[source]#

Identity matrix in sparse format

Returns an identity matrix with shape (n,n) using a given sparse format and dtype. This differs from eye_array in that it has a square shape with ones only on the main diagonal. It is thus the multiplicative identity. eye_array allows rectangular shapes and the diagonal can be offset from the main one.

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.

Parameters:
nint

Shape of the identity matrix.

dtypedtype, optional

Data type of the matrix

formatstr, optional

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

Examples

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