scipy.sparse.bmat#
- scipy.sparse.bmat(blocks, format=None, dtype=None)[source]#
 Build a sparse array or matrix from sparse sub-blocks
Note:
block_arrayis preferred overbmat. They are the same function except thatbmatcan return a deprecated sparse matrix.bmatreturns a coo_matrix if none of the inputs are a sparse array.Warning
This function returns a sparse matrix – not a sparse array. You are encouraged to use
block_arrayto take advantage of the sparse array functionality.- Parameters:
 - blocksarray_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.
- dtypedtype, optional
 The data-type of the output matrix. If not given, the dtype is determined from that of blocks.
- Returns:
 - bmatsparse 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().
See also
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]])