Skip to main content
`Ctrl`+`K`
scipy.sparse.

# identity

scipy.sparse.identity(n, dtype='d', format=None)

  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.

  Returns:
    new_matrixsparse matrix

      A square sparse matrix with ones on the main diagonal and zeros elsewhere.

  See also

  `eye_array`

    Sparse array of chosen shape with ones on a specified diagonal.

  `eye`

    Sparse matrix of chosen shape with ones on a specified diagonal.

  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')
      <DIAgonal sparse matrix of dtype 'int8'
          with 3 stored elements (1 diagonals) and shape (3, 3)>
      >>> sp.sparse.eye_array(3, dtype='int8', format='dia')
      <DIAgonal sparse array of dtype 'int8'
          with 3 stored elements (1 diagonals) and shape (3, 3)>