scipy.sparse.diags
scipy.sparse.diags(diagonals, offsets=0, shape=None, format=None, dtype=None)
从对角线构造一个稀疏矩阵。
参数
diagonals:sequence of array_like | 包含矩阵对角线的数组序列,对应于偏移量。 |
---|---|
offsetssequence of int or an int, 可选 | k = 0主对角线(默认);k> 0第k个对角线 ;k <0第k个较低的对角线 |
shape:tuple of int,可选 | 结果的形状。 如果省略,则返回足够大以包含对角线的方阵。 |
format{“dia”, “csr”, “csc”, “lil”, …},可选 | 结果的矩阵格式。 默认情况下(format=None),返回适当的稀疏矩阵格式。 此选择可能会更改。 |
dtypedtype,可选 | 矩阵的数据类型 |
官网例子
>>> from scipy.sparse import diags
>>> diagonals = [[1, 2, 3, 4], [1, 2, 3], [1, 2]]
>>> diags(diagonals, [0, -1, 2]).toarray()
array([[1, 0, 1, 0],
[1, 2, 0, 2],
[0, 2, 3, 0],
[0, 0, 3, 4]])
>>> diags([1, -2, 1], [-1, 0, 1], shape=(4, 4)).toarray()
array([[-2., 1., 0., 0.],
[ 1., -2., 1., 0.],
[ 0., 1., -2., 1.],
[ 0., 0., 1., -2.]])
>>> diags([1, 2, 3], 1).toarray()
array([[ 0., 1., 0., 0.],
[ 0., 0., 2., 0.],
[ 0., 0., 0., 3.],
[ 0., 0., 0., 0.]])
类似用法
spdiags 从对角线构造矩阵