scipy.sparse.block_diag

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

Build a block diagonal sparse matrix from provided matrices.

Parameters
matssequence of matrices

Input matrices.

formatstr, optional

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

dtypedtype specifier, optional

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

Returns
ressparse 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]])