scipy.sparse.

block_diag#

scipy.sparse.block_diag(mats, format=None, dtype=None)[源代码]#

根据提供的矩阵构建块对角稀疏矩阵或数组。

参数:
mats矩阵或数组序列

输入矩阵或数组。

formatstr,可选

结果的稀疏格式(例如,“csr”)。如果未提供,则结果以“coo”格式返回。

dtypedtype 说明符,可选

输出的数据类型。如果未提供,则数据类型由blocks 的数据类型决定。

返回:
res稀疏矩阵或数组

如果至少一个输入是稀疏数组,则输出为稀疏数组。否则,输出为稀疏矩阵。

另请参见

block_array
diags_array

备注

在版本 0.11.0 中添加。

示例

>>> from scipy.sparse import coo_array, block_diag
>>> A = coo_array([[1, 2], [3, 4]])
>>> B = coo_array([[5], [6]])
>>> C = coo_array([[7]])
>>> block_diag((A, B, C)).toarray()
array([[1, 2, 0, 0],
       [3, 4, 0, 0],
       [0, 0, 5, 0],
       [0, 0, 6, 0],
       [0, 0, 0, 7]])