-
Notifications
You must be signed in to change notification settings - Fork 2.5k
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
Support ECR gates in Pauli.evolve(QuantumCircuit)
#12095
Conversation
- Adds support for Pauli (and related classes) to evolve through ECR gates encountered in a quantum circuit. - Also moved the dicts of special-case gates (`basis_1q`, `basis_2q`, `non-clifford`) outside the subroutine definition. They are now just after the `_evolve_*()` functions they reference.
- Should fix qiskit issue Qiskit#12093 - Bug happened after converting circuit to instruction, which AFAICT was not necessary. Now if input is a QuantumCircuit, that part of the code is bypassed. - Removed creation of a look-up dict of bit locations, since `QuantumCircuit.find_bit` already provides one.
Pull Request Test Coverage Report for Build 8648164561Details
💛 - Coveralls |
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:
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@aeddins-ibm - thanks for finding these bugs and fixing them!
Could you perhaps add a test that shows that #12093 is solved?
Could you also add some release notes?
Test showing issue Qiskit#12093 is solved.
Hi @ShellyGarion, I have added a test and also a release note. I haven't written release notes before so just tried to follow what others look like. In particular is it OK that 1) there's no max-characters-per-line in the note, and 2) I just labeled it "fixes" rather than something more specific like "fixes_quantuminfo" (if that's even a thing people write)? Thanks |
The automated tests above failed with the error message I don't know if this is somehow caused by this PR, or if it's some unrelated failure. Does anyone have a suggestion how to proceed? The commit where the failure started showing up looks innocuous to me. |
qiskit-aer released this morning and didn't build wheels (i.e. precompiled binaries) for 3.8 by mistake. I manually retriggered a build for py3.8; assuming that works it should resolve itself soon. If it doesn't then I'll push up a PR to exclude the 0.14.0 release until it can be resolved. |
The manual build for 3.8 on aer completed and the wheels are on pypi now, so I've retriggered the failed job and it should hopefully pass now. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Generally, this PR looks good to me.
Perhaps you could also add ECRGate
to test_phase_dtype_evolve_clifford
in test_pauli_list
?
The release notes look fine to me, but I prefer to let someone from Qiskit Core review them too.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM, thanks @aeddins-ibm for finding this bug and fixing it!
It seems that now there is a conflict that should be resolved. @aeddins-ibm - could you please handle it? |
Summary
Should fix #12086 and also #12093.
Details and comments