scipy.sparse.

eye_array#

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

所选形状的稀疏数组,其第 k 个对角线为 1,其他地方为 0。

返回一个对角线上为 1 的稀疏数组。具体来说,是一个 (m x n) 的稀疏数组,其中第 k 个对角线全部为 1,其他地方为 0。

参数:
mint

请求的行数。

nint, 可选

列数。默认值:m

kint, 可选

放置 1 的对角线。默认值:0(主对角线)。

dtypedtype, 可选

数组的数据类型

formatstr, 可选 (默认值: “dia”)

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

返回:
new_array稀疏数组

所选形状的稀疏数组,其第 k 个对角线为 1,其他地方为 0。

示例

>>> import numpy as np
>>> import scipy as sp
>>> sp.sparse.eye_array(3).toarray()
array([[ 1.,  0.,  0.],
       [ 0.,  1.,  0.],
       [ 0.,  0.,  1.]])
>>> sp.sparse.eye_array(3, dtype=np.int8)
<DIAgonal sparse array of dtype 'int8'
    with 3 stored elements (1 diagonals) and shape (3, 3)>