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)