{ } Raw JSON

bundles / scipy 1.18.0 / scipy / sparse / _construct / bmat

function

scipy.sparse._construct:bmat

source: /scipy/sparse/_construct.py:1203

Signature

def bmat(blocks, format = None, dtype = None)

Summary

Build a sparse array or matrix from sparse sub-blocks.

Extended Summary

Note: block_array is preferred over bmat. They are the same function except that bmat returns a deprecated sparse matrix when none of the inputs are sparse arrays.

Parameters

blocks : array_like

Grid of sparse matrices with compatible shapes. An entry of None implies an all-zero matrix.

format : {'bsr', 'coo', 'csc', 'csr', 'dia', 'dok', 'lil'}, optional

The sparse format of the result (e.g. "csr"). By default an appropriate sparse matrix format is returned. This choice is subject to change.

dtype : dtype, optional

The data-type of the output matrix. If not given, the dtype is determined from that of blocks.

Returns

bmat : sparse matrix or array

If any block in blocks is a sparse array, return a sparse array. Otherwise return a sparse matrix.

If you want a sparse array built from blocks that are not sparse arrays, use block_array().

Examples

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]])

See also

block_array

Aliases

  • scipy.sparse.bmat