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)