Skip to content

Feature/chimera quotient search - #54

Open
jackraymond wants to merge 17 commits into
dwavesystems:mainfrom
jackraymond:feature/chimera_quotient_search
Open

Feature/chimera quotient search#54
jackraymond wants to merge 17 commits into
dwavesystems:mainfrom
jackraymond:feature/chimera_quotient_search

Conversation

@jackraymond

Copy link
Copy Markdown
Contributor

Expanded functionality to support Chimera and Pegasus quotient search alongside Zephyr (already implement).

Some refactorization of functions.

Expansion of the example to plot results, and use quotient search over a defect (rather than fully yielded) lattice.

@jackraymond

jackraymond commented Jun 8, 2026

Copy link
Copy Markdown
Contributor Author

TO DO:

  • Example is failing for some seeds. Seems to be related to casting numpy integers to/from regular integers within tuples (can fix).
  • Instead of using (m,t) and casting to (m,m,t) and (m,) respectively for Pegasus and Chimera, it might be tidier to use either a shape tuple for the graph [e.g. the output of qpu.properties['topology']['shape']] == first ordered parameters for graph generators and other graph-family specific functions]
  • The zephyr example doesn't show the rails nicely due to too many overlapping edges, edges can be reordered so blue is plotted on top.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A lot of this file is functionally identical to zephyr_quotient search. Look out for these differences:

  • Pegasus and Chimera now supported for quotient search.
  • A brand new much find_labeled_subgraph function that is often a better search, and generalizes for many other important lattice classes.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you for this PR. I had a quick look and I think it adds very useful functionality for Chimera and Pegasus graphs.

Before diving into details, I have a high level question on use case of find_labeled_subgraph.
Is the use case to

  1. simply speed up Glasgow subgraph finder? Or
  2. get a deterministic output given the constraints (eg. preserving color classes)? Or
  3. get an accurate answer to the question of whether source is a subgraph of target?

I think this function has room for improvement for (1), (2) (eg. allowing for other color schema on Zephyr), and requires more careful analysis to achieve (3).
If the use case is any of (1) or (2), I think a note in docstring should be added that it doesn't achieve (3).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants