Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

About the faces of a planar graph, you can try using the trace_faces method for Graphs. For example:

sage: g=graphs.IcosahedralGraph()
sage: g.is_planar(set_embedding=True)
True
sage: g.trace_faces(g.get_embedding())
[[(10, 11), (11, 7), (7, 10)],
 [(6, 4), (4, 3), (3, 6)],
 [(5, 6), (6, 1), (1, 5)],
 [(2, 8), (8, 1), (1, 2)],
 [(9, 8), (8, 2), (2, 9)],
 [(8, 0), (0, 1), (1, 8)],
 [(3, 2), (2, 6), (6, 3)],
 [(0, 7), (7, 11), (11, 0)],
 [(2, 1), (1, 6), (6, 2)],
 [(8, 9), (9, 7), (7, 8)],
 [(4, 10), (10, 3), (3, 4)],
 [(5, 4), (4, 6), (6, 5)],
 [(11, 4), (4, 5), (5, 11)],
 [(10, 4), (4, 11), (11, 10)],
 [(9, 3), (3, 10), (10, 9)],
 [(7, 0), (0, 8), (8, 7)],
 [(11, 5), (5, 0), (0, 11)],
 [(10, 7), (7, 9), (9, 10)],
 [(2, 3), (3, 9), (9, 2)],
 [(5, 1), (1, 0), (0, 5)]]

As @Nathann mentions, there seems to be no code to get the dual. However there seems to be some code for this in trac, perhaps you can start from there.