scipy.sparse.

block_diag#

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

从提供的矩阵构建一个块对角稀疏矩阵或数组。

参数:
垫子矩阵或数组的序列

输入矩阵或数组。

格式str, 可选

结果的稀疏格式(例如,“csr”)。如果没有指定,结果将以“coo”格式返回。

dtypedtype 说明符,可选

输出数据的类型。如果未指定,则 dtype 将从 blocks 的类型中确定。

返回:
res稀疏矩阵或数组

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

注释

Added in version 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]])