block_diag — SciPy v1.15.3 Manual (original) (raw)
scipy.sparse.
scipy.sparse.block_diag(mats, format=None, dtype=None)[source]#
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.
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]])