Для целей этого поста, с помощью плоского графа или плоской карте A, I будет означать абстрактный граф, который можно сделать в плоскости (или, что эквивалентно на сфере) вместе с круговым порядком ребер в каждой вершине в соответствии с конкретным рисунком. Эта дополнительная информация определяет вложение на сферу (вплоть до перемещения вершин и ребер таким образом, чтобы они никогда не пересекались ни с какими другими вершинами/ребрами). I do хотите разрешить петли и несколько краев.Реализации плоских графов/карт (с вложениями)
Например, предположим, что мы построили график следующим образом. Нарисуйте две вершины (A и B) в плоскости вместе с двумя ребрами, соединяющими эти два. Два ребра вместе образуют простую замкнутую кривую \ gamma. Теперь добавьте еще две вершины: A 'и B' и соедините A и A 'с ребром, а также B и B'.
Этот абстрактный граф будет иметь два неэквивалентных вложения, согласно которым вершины A 'и B' разделены кривой \ gamma или нет.
Мой вопрос: Есть ли пакет Python, который реализует такие плоские графы?
Меня интересует пакет, который может создать чертеж плоского графа (с учетом вложения, конечно), а также выполнить некоторые стандартные операции (например, указать количество граней, сформировать двойной граф и т. Д.)
Если такой пакет не существует в Python, меня также интересовали бы реализации на других языках.
Конечно, существуют различные пакеты, которые реализуют рисунок графиков и алгоритмы графа-теоретики. Тем не менее, я ни в одном из них не заметил возможности работать с графиками, которые уже появились с вложением. Ссылка была бы высоко оценена.