scipy.sparse.
spdiags#
- scipy.sparse.spdiags(data, diags, m=None, n=None, format=None)[源代码]#
从对角线返回一个稀疏矩阵。
- 参数:
- dataarray_like
按行存储的矩阵对角线
- diags整数序列或整数
要设置的对角线
k = 0 主对角线
k > 0 第 k 个上对角线
k < 0 第 k 个下对角线
- m, nint, tuple, 可选
结果的形状。如果 n 为 None 且 m 是给定的元组,则形状为此元组。如果省略,则矩阵为正方形,其形状为 len(data[0])。
- formatstr, 可选
结果的格式。默认情况下 (format=None) 返回适当的稀疏矩阵格式。此选择可能会更改。
- .. warning::
此函数返回稀疏矩阵 - 而不是稀疏数组。建议您使用
dia_array
以利用稀疏数组的功能。
另请参阅
diags_array
此函数的更方便形式
diags
diags_array 的矩阵版本
dia_matrix
稀疏 DIA 对角线格式。
注释
此函数可以通过等效调用
dia_matrix
来替换,例如dia_matrix((data, diags), shape=(m, n)).asformat(format)
示例
>>> import numpy as np >>> from scipy.sparse import spdiags >>> data = np.array([[1, 2, 3, 4], [1, 2, 3, 4], [1, 2, 3, 4]]) >>> diags = np.array([0, -1, 2]) >>> spdiags(data, diags, 4, 4).toarray() array([[1, 0, 3, 0], [1, 2, 0, 4], [0, 2, 3, 0], [0, 0, 3, 4]])