%> @param N The number of columns of the BSR matrix.
%> @param bnnz The number of nonzero blocks of the BSR matrix.
%> @param bdata The horizontal concatenation of the nonzero blocks contained in the matrix (all the nonzero blocks have the same size).
%> @param bcolinds The block column indices corresponding (in the same order) to the blocks in bdata. A block column index is not a column index, for example if your matrix contains N columns and each nonzero block contains BN columns (note that mod(N, BN) must be zero), the block column indices must lay in {1, ..., N/BN}.
%> @param brow_count The number of blocks in each block-row in the matrix. If each of your blocks contains BM rows (note that mod(BM, M) must be zero) then brow_count{i} is the number of nonzero blocks contained in the rows BM*i to BM*(i+1).
%> @param bdata The horizontal concatenation of the matrix nonzero blocks taken in rowmajor order. Note that all the nonzero blocks have the same size.
%> @param bcolinds The block column indices corresponding (in the same order) to the blocks in bdata. A block column index is not a column index, for example if your matrix contains N columns and each nonzero block contains BN columns, the block column indices must lay in {1, ..., N/BN}.
%> @param brow_count The number of nonzero blocks in each block-row of the matrix (a vector of size M/BM, where brow_count(i) is the number of nonzero blocks in the i-th block-row).