#### Previous topic

scipy.sparse.triu

#### Next topic

scipy.sparse.hstack

# scipy.sparse.bmat

`scipy.sparse.``bmat`(blocks, format=None, dtype=None)

  Build a sparse matrix from sparse sub-blocks

  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

  See also

  `block_diag`, `diags`

  Examples

      >>> from scipy.sparse import coo_matrix, bmat
      >>> A = coo_matrix([[1, 2], [3, 4]])
      >>> B = coo_matrix([[5], [6]])
      >>> C = coo_matrix([[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]])