scipy.sparse.csgraph.
reverse_cuthill_mckee#
- scipy.sparse.csgraph.reverse_cuthill_mckee(graph, symmetric_mode=False)#
返回一个置换数组,该数组按反向 Cuthill-McKee 顺序排列稀疏 CSR 或 CSC 矩阵。
默认情况下,假设
symmetric_mode=False
,输入矩阵不是对称的,并且对矩阵A+A.T
进行操作。如果您保证矩阵在结构上是对称的(矩阵元素的值无关紧要),则设置symmetric_mode=True
。- 参数:
- graph稀疏数组或矩阵
以 CSC 或 CSR 稀疏数组或矩阵格式输入的稀疏矩阵。
- symmetric_modebool, 可选
是否保证输入矩阵是对称的。
- 返回:
- permndarray
置换的行和列索引的数组。
注释
在 0.15.0 版本中添加。
参考文献
E. Cuthill 和 J. McKee,“减少稀疏对称矩阵的带宽”,ACM ‘69 Proceedings of the 1969 24th national conference, (1969)。
示例
>>> from scipy.sparse import csr_array >>> 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_array(graph) >>> print(graph) <Compressed Sparse Row sparse array of dtype 'int64' with 5 stored elements and shape (4, 4)> Coords Values (0, 1) 1 (0, 2) 2 (1, 3) 1 (2, 0) 2 (2, 3) 3
>>> reverse_cuthill_mckee(graph) array([3, 2, 1, 0], dtype=int32)