#### Previous topic

scipy.sparse.spdiags

#### Next topic

scipy.sparse.tril

# scipy.sparse.block_diag

`scipy.sparse.``block_diag`(mats, format=None, dtype=None)

  Build a block diagonal sparse matrix from provided matrices.

  Parameters:

  mats : sequence of matrices

  > Input matrices.

  format : str, optional

  > The sparse format of the result (e.g. “csr”). If not given, the matrix is returned in “coo” format.

  dtype : dtype specifier, optional

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

  Returns: | res : sparse matrix

  See also

  `bmat`, `diags`

  Notes

  New in version 0.11.0.

  Examples

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