Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix incorrect graph construction in VF2PostLayout #9058

Merged
merged 1 commit into from
Nov 2, 2022

Conversation

jakelishman
Copy link
Member

@jakelishman jakelishman commented Nov 2, 2022

Summary

The add_nodes call should be outside the loop; inside, it adds nodes quadratically. This commit also squashes a minor inefficiency in set allocation.

Details and comments

I couldn't immediately think of a sensible test for this, since the internal graph isn't really accessible.

The `add_nodes` call should be outside the loop; inside, it adds nodes
quadratically.  This commit also squashes a minor inefficiency in set
allocation.
@jakelishman jakelishman added stable backport potential The bug might be minimal and/or import enough to be port to stable Changelog: Bugfix Include in the "Fixed" section of the changelog labels Nov 2, 2022
@jakelishman jakelishman added this to the 0.22.2 milestone Nov 2, 2022
@jakelishman jakelishman requested a review from a team as a code owner November 2, 2022 15:16
@qiskit-bot
Copy link
Collaborator

Thank you for opening a new pull request.

Before your PR can be merged it will first need to pass continuous integration tests and be reviewed. Sometimes the review process can be slow, so please be patient.

While you're waiting, please feel free to review other open PRs. While only a subset of people are authorized to approve pull requests for merging, everyone is encouraged to review open pull requests. Doing reviews helps reduce the burden on the core team and helps make the project's code better for everyone.

One or more of the the following people are requested to review this:

  • @Qiskit/terra-core

Copy link
Member

@mtreinish mtreinish left a comment

Choose a reason for hiding this comment

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

LGTM, thanks for fixing this. My first reaction was a test would be good, but there was never actually a correctness issue here with this bug except potentially in the case of an all 1q operation circuit that was running vf2postlayout without vf2 layout (and then only based on random seeding). Which seems unlikely enough that guarding against it happening again doesn't provide much value in practice.

@coveralls
Copy link

Pull Request Test Coverage Report for Build 3378784841

  • 2 of 2 (100.0%) changed or added relevant lines in 1 file are covered.
  • 2 unchanged lines in 1 file lost coverage.
  • Overall coverage decreased (-0.003%) to 84.531%

Files with Coverage Reduction New Missed Lines %
qiskit/extensions/quantum_initializer/squ.py 2 79.78%
Totals Coverage Status
Change from base Build 3378414341: -0.003%
Covered Lines: 62441
Relevant Lines: 73868

💛 - Coveralls

@mergify mergify bot merged commit 61ca9ca into Qiskit:main Nov 2, 2022
mergify bot pushed a commit that referenced this pull request Nov 2, 2022
The `add_nodes` call should be outside the loop; inside, it adds nodes
quadratically.  This commit also squashes a minor inefficiency in set
allocation.

(cherry picked from commit 61ca9ca)
mergify bot added a commit that referenced this pull request Nov 2, 2022
The `add_nodes` call should be outside the loop; inside, it adds nodes
quadratically.  This commit also squashes a minor inefficiency in set
allocation.

(cherry picked from commit 61ca9ca)

Co-authored-by: Jake Lishman <jake.lishman@ibm.com>
@jakelishman jakelishman deleted the fix-vf2post-regression branch November 14, 2022 21:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Changelog: Bugfix Include in the "Fixed" section of the changelog stable backport potential The bug might be minimal and/or import enough to be port to stable
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants