Skip to main content
`Ctrl`+`K`
scipy.sparse.

# block_diag

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

  Build a block diagonal sparse matrix or array from provided matrices.

  Parameters:
    matssequence of matrices or arrays

      Input matrices or arrays.

    formatstr, optional

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

    dtypedtype specifier, optional

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

  Returns:
    ressparse matrix or array

      If at least one input is a sparse array, the output is a sparse array. Otherwise the output is a sparse matrix.

  See also

  `block_array`
  `diags_array`

  Notes

  Added in version 0.11.0.

  Examples

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