scipy.sparse.
spdiags#
- scipy.sparse.spdiags(data, diags, m=None, n=None, format=None)[原始碼]#
從對角線返回稀疏矩陣。
- 參數:
- dataarray_like
以 row-wise 儲存的矩陣對角線
- diagsint 或 int 序列
要設定的對角線
k = 0 主對角線
k > 0 第 k 個上對角線
k < 0 第 k 個下對角線
- m, nint, tuple, optional
結果的形狀。如果 n 為 None 且 m 為給定的 tuple,則形狀為此 tuple。如果省略,則矩陣為方形,且其形狀為 len(data[0])。
- formatstr, optional
結果的格式。預設情況下 (format=None) 會返回適當的稀疏矩陣格式。此選擇可能會變更。
- .. warning:
此函數返回稀疏矩陣 – 而非稀疏陣列。我們鼓勵您使用
dia_array
以利用稀疏陣列功能。
另請參閱
diags_array
此函數的更方便形式
diags
diags_array 的矩陣版本
dia_matrix
稀疏 DIAgonal 格式。
筆記
此函數可以被等效的
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]])