scipy.sparse.csgraph.
reverse_cuthill_mckee#
- scipy.sparse.csgraph.reverse_cuthill_mckee(граф, symmetric_mode=False)#
Возвращает массив перестановок, упорядочивающий разреженную матрицу CSR или CSC в порядке Reverse-Cuthill McKee.
По умолчанию предполагается,
symmetric_mode=False, что входная матрица не симметрична и работает с матрицейA+A.T. Если вы уверены, что матрица симметрична по структуре (значения элементов матрицы не имеют значения), то установитеsymmetric_mode=True.- Параметры:
- графразреженный массив или матрица
Входные разреженные данные в формате разреженного массива или матрицы CSC или CSR.
- symmetric_modebool, необязательно
Гарантируется ли симметричность входной матрицы.
- Возвращает:
- permndarray
Массив переставленных индексов строк и столбцов.
Примечания
Добавлено в версии 0.15.0.
Ссылки
E. Cuthill и J. McKee, "Reducing the Bandwidth of Sparse Symmetric Matrices", 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)
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)