scipy.sparse.csgraph.
reverse_cuthill_mckee#
- scipy.sparse.csgraph.reverse_cuthill_mckee(graph, symmetric_mode=False)#
返回对稀疏 CSR 或 CSC 矩阵进行反向 Cuthill McKee 排序的排列数组。
默认情况下,假设
symmetric_mode=False
,输入矩阵是非对称的,并且在矩阵A+A.T
上工作。如果您保证矩阵在结构上是对称的(矩阵元素的值无关紧要),则将symmetric_mode=True
设置为 True。- 参数:
- graph稀疏矩阵
输入稀疏矩阵,采用 CSC 或 CSR 稀疏矩阵格式。
- symmetric_mode布尔值,可选
是否保证输入矩阵是对称的。
- 返回:
- permndarray
排列后的行和列索引数组。
注释
在版本 0.15.0 中添加。
参考文献
E. Cuthill 和 J. McKee,“Reducing the Bandwidth of Sparse Symmetric Matrices”,ACM ‘69 1969 年第 24 届全国会议论文集,(1969)。
示例
>>> 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)