scipy.sparse.

identity#

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

稀疏格式的单位矩阵。

返回一个形状为 (n, n) 的单位矩阵,使用指定的稀疏格式和数据类型 (dtype)。该函数与 eye_array 的区别在于它只能生成主对角线上全为 1 的方阵。因此,它是乘法单位元。而 eye_array 允许生成矩形矩阵,并且对角线可以偏离主对角线。

警告

此函数返回一个稀疏矩阵(sparse matrix)——而非稀疏数组(sparse array)。建议使用 eye_array 以利用稀疏数组的相关功能。

参数:
nint

单位矩阵的形状。

dtypedtype,可选

矩阵的数据类型

formatstr, optional

结果的稀疏格式,例如 format=”csr” 等。

返回:
new_matrix稀疏矩阵

一个主对角线上为 1,其余位置为 0 的方形稀疏矩阵。

另请参阅

eye_array

指定形状且指定对角线上为 1 的稀疏数组。

eye

指定形状且指定对角线上为 1 的稀疏矩阵。

示例

>>> 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)>