-
Notifications
You must be signed in to change notification settings - Fork 58
Open
Description
Description
The draw_chimera function takes a NetworkX graph as input. The docstring says "Should be a Chimera graph or a subgraph of a Chimera graph" which can mean either that its edges must be a Chimera lattice subset or that the NetworkX graph must be generated by chimera_graph, it's unclear which is the intention.
Assuming the former, if the NX graph is missing some chimera_index attributes, the function returns the obscure NetworkXError: Found infinite path length because the graph is not connected error because draw_chimera tries to calculate the graph's diameter in
| dia = diameter(G) |
To Reproduce
>>> G = nx.Graph()
>>> G.add_nodes_from([0, 3, 4, 7])
>>> G.add_edges_from([(0, 4), (0, 5), (5, 13)])
>>> dnx.draw_chimera(G, with_labels=True)
If I either add the chimera_index to nodes in the two-tile NX graph or stick to the nodes of a single tile (due to
| raise Exception('not yet implemented for Chimera graphs with more than one tile') |
Expected behavior
- Clarify if
draw_chimerashould accept any NX graph that is a subgraph of a Chimera lattice - If yes, either require that nodes have
chimera_indexor add them without an error for more than two unit cells - If no, specify in the docstring that the NX graph must be produced by
chimera_graph
Environment:
- OS: WIN
- Python version: 3.7.0
Metadata
Metadata
Assignees
Labels
No labels