-
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
Add ECR/iSwap to list of gates handled by Clifford.from_circuit
#9582
Comments
There are two approaches here: The first is to add
The second is to add an equivalent definition of the
|
Note that in the circuit library there are some Clifford gates that do not appear in the clifford_circuits.py file,
Do we want to add them to |
These both seem viable to me. Having a Clifford-only definition in the equivalence library would be useful in general, since the only path from ECR to CX now requires to RZXs, which in turn will generate two CX gates. I don't think
Having them in |
Copying over context from @ShellyGarion 's comment on #9475 (comment) that we should discuss here:
|
There seems several possible approaches for performance improvement of
|
In #9623 I added all the Clifford gates that are currently in the circuit library to As for parametrized gates, that are Clifford only for certain parameters (usually for integer multiplications of pi or pi/2), adding more |
What should we add?
Clifford.from_circuit
has a list of 1- and 2-qubit Cliffords that it knows how to handle via updating the tableau directly. https://github.com/Qiskit/qiskit-terra/blob/1fb00e628a73f960980648cf9c4db0dfecc936ca/qiskit/quantum_info/operators/symplectic/clifford_circuits.py#L331This list currently doesn't include some Clifford gates from the standard library like
ECR
andiSwap
. ForiSwap
, this is not a problem because it's.definition
is all Clifford, butECR
is defined in terms ofRZX
and so can't be converted directly. This partially covered by #9475 but requires falling back to the matrix form to reconstruct the tableau.The text was updated successfully, but these errors were encountered: