scipy.sparse.csgraph.
reverse_cuthill_mckee#
- scipy.sparse.csgraph.reverse_cuthill_mckee(graph, symmetric_mode=False)#
Returns the permutation array that orders a sparse CSR or CSC matrix in Reverse-Cuthill McKee ordering.
It is assumed by default,
symmetric_mode=False
, that the input matrix is not symmetric and works on the matrixA+A.T
. If you are guaranteed that the matrix is symmetric in structure (values of matrix elements do not matter) then setsymmetric_mode=True
.- Parameters:
- graphsparse matrix
Input sparse in CSC or CSR sparse matrix format.
- symmetric_modebool, optional
Is input matrix guaranteed to be symmetric.
- Returns:
- permndarray
Array of permuted row and column indices.
Notes
Added in version 0.15.0.
References
E. Cuthill and J. McKee, “Reducing the Bandwidth of Sparse Symmetric Matrices”, ACM ‘69 Proceedings of the 1969 24th national conference, (1969).
Examples
>>> from scipy.sparse import csr_matrix >>> from scipy.sparse.csgraph import reverse_cuthill_mckee
>>> graph = [ ... [0, 1, 2, 0], ... [0, 0, 0, 1], ... [2, 0, 0, 3], ... [0, 0, 0, 0] ... ] >>> graph = csr_matrix(graph) >>> print(graph) (np.int32(0), np.int32(1)) 1 (np.int32(0), np.int32(2)) 2 (np.int32(1), np.int32(3)) 1 (np.int32(2), np.int32(0)) 2 (np.int32(2), np.int32(3)) 3
>>> reverse_cuthill_mckee(graph) array([3, 2, 1, 0], dtype=int32)