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

scipy.sparse.spdiags scipy.sparse.tril