Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

Unclear ``draw_chimera`` error message when nodes lack ``chimera_index`` attribute

Open
#218 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
4/5
Estimated time
3-5 days
Newbie friendliness
35/100
Issue type
Bug
Clarity
Mostly clear
Activity status
Stale
Tech stack
python
Domain
backend

Research direction

Start by reproducing the example through draw_chimera and inspect dwave_networkx/generators/chimera.py at the diameter calculation and the later unit-cell handling. Determine and document whether arbitrary Chimera subgraphs are supported, then update the behavior or docstring accordingly and add coverage for nodes with missing chimera_index attributes.

Written by the indexing model from the issue text.

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 https://github.com/dwavesystems/dwave-networkx/blob/a4a1eb6176399f6e2aaac8bf9b1b84815320a52d/dwave_networkx/generators/chimera.py#L272

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 https://github.com/dwavesystems/dwave-networkx/blob/a4a1eb6176399f6e2aaac8bf9b1b84815320a52d/dwave_networkx/generators/chimera.py#L288), the function works fine.

Expected behavior

  1. Clarify if draw_chimera should accept any NX graph that is a subgraph of a Chimera lattice
  2. If yes, either require that nodes have chimera_index or add them without an error for more than two unit cells
  3. If no, specify in the docstring that the NX graph must be produced by chimera_graph

Environment:

  • OS: WIN
  • Python version: 3.7.0
Dominant language
Python
Stars
94
Forks
62
Avg merge
1d 2h
Merged PRs (30d)
1

Getting set up

This project ships no dev container, Dockerfile or contributing guide, so setting up is up to you: start from its README, and see our first-contribution guide for the general steps.

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from dwavesystems/dwave-graphs

All issues in dwavesystems/dwave-graphs

Similar issues

More Python issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.