-
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
Wrap library circuits #6634
Merged
Merged
Wrap library circuits #6634
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
* GroverOp includes the global phase in inner circuit, don't add it to outer circuit * Make sure ``unitary`` input to PhaseEstimation is a gate and not instruction
…ra into wrap-library-circuits
ajavadia
approved these changes
Jul 7, 2021
This was referenced Jul 7, 2021
jwoehr
added a commit
to jwoehr/qiskit-tutorials
that referenced
this pull request
Jan 9, 2022
This is necessary because of change Terra See Qiskit/qiskit#6634
mtreinish
added a commit
to mtreinish/qiskit-core
that referenced
this pull request
Mar 25, 2022
For the purpose of documentation many of the circuit library classes were using the circuit_library_widget to provide a visualization of the circuit, a QASM definition, and some basic high level statistics about the circuit. However, since Qiskit#6634 and Qiskit#6659 all the circuit library elements are wrapped in an outer Instruction object. This makes the top level object appear as a logical block in the circuit. This has the unindended side effect of causing the widget output to not be super useful, primarily it would should a single logical block for each element and the circuit statistics would be for the single element as opposed to its implementation. This commit address this by adding a single decompose() call around all the statistics and drawing calls inside the widget code. Since we're consistently wrapping every circuit library element the widget will always need to do this now, so instead of calling it directly in the library docstring it's better to just do this in the widget itself.
mergify bot
pushed a commit
that referenced
this pull request
Mar 25, 2022
For the purpose of documentation many of the circuit library classes were using the circuit_library_widget to provide a visualization of the circuit, a QASM definition, and some basic high level statistics about the circuit. However, since #6634 and #6659 all the circuit library elements are wrapped in an outer Instruction object. This makes the top level object appear as a logical block in the circuit. This has the unindended side effect of causing the widget output to not be super useful, primarily it would should a single logical block for each element and the circuit statistics would be for the single element as opposed to its implementation. This commit address this by adding a single decompose() call around all the statistics and drawing calls inside the widget code. Since we're consistently wrapping every circuit library element the widget will always need to do this now, so instead of calling it directly in the library docstring it's better to just do this in the widget itself.
ElePT
pushed a commit
to ElePT/qiskit
that referenced
this pull request
Jun 27, 2023
* start wrapping all plain QC library circuits * fix more tests * fix phase estimation test on QFT reverse bits * black * name QFT uppercase * final test fixes * GroverOp includes the global phase in inner circuit, don't add it to outer circuit * Make sure ``unitary`` input to PhaseEstimation is a gate and not instruction * wrap nlocal circuits * blueprint circuits * fix gradient tests * wrap circuit library newcomers * missing inner name in grover op * wrap evolved op ansatz + QAOA * fix qaoa tests * rename inner->circuit * add reno * black
ElePT
pushed a commit
to ElePT/qiskit-algorithms-test
that referenced
this pull request
Jul 17, 2023
* start wrapping all plain QC library circuits * fix more tests * fix phase estimation test on QFT reverse bits * black * name QFT uppercase * final test fixes * GroverOp includes the global phase in inner circuit, don't add it to outer circuit * Make sure ``unitary`` input to PhaseEstimation is a gate and not instruction * wrap nlocal circuits * blueprint circuits * fix gradient tests * wrap circuit library newcomers * missing inner name in grover op * wrap evolved op ansatz + QAOA * fix qaoa tests * rename inner->circuit * add reno * black
robotastray
pushed a commit
to robotastray/qiskit-algorithms
that referenced
this pull request
Aug 7, 2023
This is necessary because of change Terra See Qiskit/qiskit#6634
ElePT
pushed a commit
to ElePT/qiskit-algorithms
that referenced
this pull request
Aug 17, 2023
This is necessary because of change Terra See Qiskit/qiskit#6634
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary
Consistently wrap all library circuits into a gate, so that they appear as blocks when composing to another circuit.
Details and comments
Currently some library circuits are wrapped in a circuit block, some are not. This PR ensures that all are wrapped, so that
Examples
Grover:
Amplitude estimation:
and decomposed once:
Todo