本文簡要介紹 python 語言中 scipy.sparse.diags
的用法。
用法:
scipy.sparse.diags(diagonals, offsets=0, shape=None, format=None, dtype=None)#
從對角線構造一個稀疏矩陣。
- diagonals: 數組 序列
包含矩陣對角線的數組序列,對應於偏移量。
- offsets: int 或 int 序列,可選
- 要設置的對角線:
k = 0 主對角線(默認)
k > 0 第 k 個上對角線
k < 0 第 k 個下對角線
- shape: int 元組,可選
結果的形狀。如果省略,則返回一個大到足以包含對角線的方陣。
- format: {“dia”, “csr”, “csc”, “lil”, ...},可選
結果的矩陣格式。默認情況下 (format=None) 會返回適當的稀疏矩陣格式。此選擇可能會發生變化。
- dtype: dtype,可選
矩陣的數據類型。
參數 ::
注意:
此函數在處理 off-diagonals 的方式上與
spdiags
不同。diags
的結果是稀疏等價的:np.diag(diagonals[0], offsets[0]) + ... + np.diag(diagonals[k], offsets[k])
不允許重複的對角線偏移。
例子:
>>> 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.]])
如果隻需要一個對角線(如
numpy.diag
),則以下方法也可以:>>> diags([1, 2, 3], 1).toarray() array([[ 0., 1., 0., 0.], [ 0., 0., 2., 0.], [ 0., 0., 0., 3.], [ 0., 0., 0., 0.]])
相關用法
- Python SciPy sparse.diags_array用法及代碼示例
- Python SciPy sparse.dia_array用法及代碼示例
- Python SciPy sparse.dia_matrix用法及代碼示例
- Python SciPy sparse.dok_matrix用法及代碼示例
- Python SciPy sparse.dok_array用法及代碼示例
- Python SciPy sparse.isspmatrix用法及代碼示例
- Python SciPy sparse.save_npz用法及代碼示例
- Python SciPy sparse.issparse用法及代碼示例
- Python SciPy sparse.coo_matrix用法及代碼示例
- Python SciPy sparse.isspmatrix_csc用法及代碼示例
- Python SciPy sparse.isspmatrix_csr用法及代碼示例
- Python SciPy sparse.tril用法及代碼示例
- Python SciPy sparse.coo_array用法及代碼示例
- Python SciPy sparse.bmat用法及代碼示例
- Python SciPy sparse.hstack用法及代碼示例
- Python SciPy sparse.rand用法及代碼示例
- Python SciPy sparse.find用法及代碼示例
- Python SciPy sparse.isspmatrix_dia用法及代碼示例
- Python SciPy sparse.isspmatrix_lil用法及代碼示例
- Python SciPy sparse.csc_matrix用法及代碼示例
- Python SciPy sparse.block_diag用法及代碼示例
- Python SciPy sparse.vstack用法及代碼示例
- Python SciPy sparse.kron用法及代碼示例
- Python SciPy sparse.random用法及代碼示例
- Python SciPy sparse.identity用法及代碼示例
注:本文由純淨天空篩選整理自scipy.org大神的英文原創作品 scipy.sparse.diags。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。