cupyx.scipy.sparse.bmat#

cupyx.scipy.sparse.bmat(blocks, format=None, dtype=None)[source]#

Builds a sparse matrix from sparse sub-blocks

Parameters:
  • blocks (array_like) – Grid of sparse matrices with compatible shapes. An entry of None implies an all-zero matrix.

  • format ({'bsr', 'coo', 'csc', 'csr', 'dia', 'dok', 'lil'}, optional) – The sparse format of the result (e.g. “csr”). By default an appropriate sparse matrix format is returned. This choice is subject to change.

  • dtype (dtype, optional) – The data-type of the output matrix. If not given, the dtype is determined from that of blocks.

Returns:

bmat (sparse matrix)

Examples

>>> from cupy import array
>>> from cupyx.scipy.sparse import csr_matrix, bmat
>>> A = csr_matrix(array([[1., 2.], [3., 4.]]))
>>> B = csr_matrix(array([[5.], [6.]]))
>>> C = csr_matrix(array([[7.]]))
>>> bmat([[A, B], [None, C]]).toarray()
array([[1., 2., 5.],
       [3., 4., 6.],
       [0., 0., 7.]])
>>> bmat([[A, None], [None, C]]).toarray()
array([[1., 2., 0.],
       [3., 4., 0.],
       [0., 0., 7.]])