-
Notifications
You must be signed in to change notification settings - Fork 2.4k
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
Default set to turn off approximation_degree #8595
Default set to turn off approximation_degree #8595
Conversation
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.
I'm in favor of doing this because I agree this is a bad default. However, before we can merge this it needs a release note. Since this is an API change and users are potentially relying on the previous default (pretty much anyone running QV on hardware for real cares about this) the key thing for this PR is to have a release note that documents the change and provides a thorough explanation of why we're breaking things and how users can update if they desire the old default behavior. The process for adding release notes is here: https://github.com/Qiskit/qiskit-terra/blob/main/CONTRIBUTING.md#release-notes
Yes. However I did not want to write a note until the second point about definition of what degree means is resolved. I am happy to make that change here as well. |
I think saying something like " There's a bug in handling that causes the transpiler to erroneously treat |
Is there one kind of release note preferred over others here? I am thinking "other" but open to whatever type people want. |
We use "upgrade" (the section heading is called "API changes" in the built notes) to describe things users should be aware of in the new version - that could be a choice? |
Ok, will change to "upgrade" |
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.
This LGTM thanks for adding the release note. I just have some inline suggestions to make some small tweaks to the release note, then I think this should be good to go.
releasenotes/notes/turn-off-approx-degree-df3d39eb69f7f09f.yaml
Outdated
Show resolved
Hide resolved
releasenotes/notes/turn-off-approx-degree-df3d39eb69f7f09f.yaml
Outdated
Show resolved
Hide resolved
releasenotes/notes/turn-off-approx-degree-df3d39eb69f7f09f.yaml
Outdated
Show resolved
Hide resolved
releasenotes/notes/turn-off-approx-degree-df3d39eb69f7f09f.yaml
Outdated
Show resolved
Hide resolved
Co-authored-by: Matthew Treinish <mtreinish@kortar.org>
Co-authored-by: Matthew Treinish <mtreinish@kortar.org>
Co-authored-by: Matthew Treinish <mtreinish@kortar.org>
Co-authored-by: Matthew Treinish <mtreinish@kortar.org>
releasenotes/notes/turn-off-approx-degree-df3d39eb69f7f09f.yaml
Outdated
Show resolved
Hide resolved
This brings it inline with `transpile`, as was done in Qiskitgh-8595.
Summary
approximation_degree
breaks unitary equivalence of the transpiler. This sets the default to off unless explicitly set.Details and comments
A related issue (which I have not modified here) is that both
approximation_degree=1.0
andapproximation_degree=0
turn off the feature due to a bug (per the documentation 1.0 turns it off). However when thinking about "degree(s)" in other contexts, lower usually means less. And therefore 1.0 should actually be maximum approximation rather than none. This also aligns with boolean values. I think the code should be changed to reflect this.