Allow combining circuits with different unique registers #389
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.
Description
This patch modifies the
QuantumCircuit.combine
andQuantumCircuit.extend
functions (and hence+
, and+=
operators) to allow combing circuits with common and/or distinct quantum and classical registers.Example 1 (distinct registers)
In this case the resulting qasm equivalents will be
Example 2 (common register)
In this case the resulting qasm equivalents will be
Example 3 (raise an error)
Motivation and Context
When working with
QuantumCircuit
objects directly you should be able to combine circuits which are defined on different quantum and/or classical registers. In the case where two circuits have registers with common names these should be the same register or an error is raised.How Has This Been Tested?
Screenshots (if appropriate):
Types of changes
Checklist: