You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The qiskit transpiler has a lot of issues wrt to Clifford basis circuits which makes testing larger circuits on the clifford or
stabilizer simulator difficult.
Probably the most straightforward way to "fix" this is to allow "rz" basis gates in Aer for the "stabilizer" when the parameter is a half-integer multiple of pi, (k * pi /2), possible with some modification of terras transpiler passes to make sure 1Q synthesis and basis decomposition keeps RZ gates as Cliffords whenever possible.
This validation could happen when the circuit is loaded in to the simulator (if we want to be able to choose the stabilizer method for the "automatic" case). Another option to just make this work with the stablizer/clifford methods would be runtime validation whenever the simulator goes to apply an RZGate, to check the angle is mod 2pi is half integer multiple of Pi, and then apply the appropriate I, Z, S, or Sdg gate based on the value (or raise an exception of it is an invalid value).
The text was updated successfully, but these errors were encountered:
What is the expected behavior?
The qiskit transpiler has a lot of issues wrt to Clifford basis circuits which makes testing larger circuits on the clifford or
stabilizer simulator difficult.
Probably the most straightforward way to "fix" this is to allow "rz" basis gates in Aer for the "stabilizer" when the parameter is a half-integer multiple of pi, (k * pi /2), possible with some modification of terras transpiler passes to make sure 1Q synthesis and basis decomposition keeps RZ gates as Cliffords whenever possible.
This validation could happen when the circuit is loaded in to the simulator (if we want to be able to choose the stabilizer method for the "automatic" case). Another option to just make this work with the stablizer/clifford methods would be runtime validation whenever the simulator goes to apply an RZGate, to check the angle is mod 2pi is half integer multiple of Pi, and then apply the appropriate I, Z, S, or Sdg gate based on the value (or raise an exception of it is an invalid value).
The text was updated successfully, but these errors were encountered: