scipy.sparse.

bmat#

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

从稀疏子块构建稀疏数组或矩阵

注意:与 bmat 相比,block_array 是首选的。它们是相同的函数,只是 bmat 可以返回已弃用的稀疏矩阵。bmat 如果没有输入是稀疏数组,则返回 coo_matrix。

警告

此函数返回稀疏矩阵,而不是稀疏数组。建议您使用 block_array 以利用稀疏数组的功能。

参数:
blocks类似数组

具有兼容形状的稀疏矩阵网格。None 条目表示全零矩阵。

format{‘bsr’, ‘coo’, ‘csc’, ‘csr’, ‘dia’, ‘dok’, ‘lil’}, 可选

结果的稀疏格式(例如“csr”)。默认情况下,返回合适的稀疏矩阵格式。此选择可能会更改。

dtypedtype, 可选

输出矩阵的数据类型。如果未给出,则数据类型由 blocks 的数据类型确定。

返回:
bmat稀疏矩阵或数组

如果 blocks 中的任何块是稀疏数组,则返回稀疏数组。否则返回稀疏矩阵。

如果您想要一个由非稀疏数组的块构建的稀疏数组,请使用 block_array()

参见

block_array

示例

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