qiskit 1.3.0__cp39-abi3-win32.whl → 1.3.0b1__cp39-abi3-win32.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (361) hide show
  1. qiskit/VERSION.txt +1 -1
  2. qiskit/__init__.py +1 -20
  3. qiskit/_accelerate.pyd +0 -0
  4. qiskit/assembler/assemble_schedules.py +0 -2
  5. qiskit/circuit/__init__.py +1 -44
  6. qiskit/circuit/_standard_gates_commutations.py +0 -585
  7. qiskit/circuit/barrier.py +0 -2
  8. qiskit/circuit/controlflow/builder.py +3 -3
  9. qiskit/circuit/controlflow/if_else.py +5 -13
  10. qiskit/circuit/controlflow/while_loop.py +2 -10
  11. qiskit/circuit/delay.py +3 -20
  12. qiskit/circuit/equivalence.py +214 -13
  13. qiskit/circuit/gate.py +1 -3
  14. qiskit/circuit/instruction.py +11 -32
  15. qiskit/circuit/instructionset.py +0 -2
  16. qiskit/circuit/library/__init__.py +14 -110
  17. qiskit/circuit/library/arithmetic/__init__.py +2 -9
  18. qiskit/circuit/library/arithmetic/adders/__init__.py +0 -1
  19. qiskit/circuit/library/arithmetic/adders/adder.py +2 -154
  20. qiskit/circuit/library/arithmetic/adders/cdkm_ripple_carry_adder.py +56 -20
  21. qiskit/circuit/library/arithmetic/adders/draper_qft_adder.py +1 -14
  22. qiskit/circuit/library/arithmetic/adders/vbe_ripple_carry_adder.py +91 -21
  23. qiskit/circuit/library/arithmetic/linear_pauli_rotations.py +1 -1
  24. qiskit/circuit/library/arithmetic/multipliers/__init__.py +0 -1
  25. qiskit/circuit/library/arithmetic/multipliers/hrs_cumulative_multiplier.py +1 -8
  26. qiskit/circuit/library/arithmetic/multipliers/multiplier.py +3 -94
  27. qiskit/circuit/library/arithmetic/multipliers/rg_qft_multiplier.py +1 -8
  28. qiskit/circuit/library/arithmetic/weighted_adder.py +1 -1
  29. qiskit/circuit/library/basis_change/qft.py +38 -20
  30. qiskit/circuit/library/blueprintcircuit.py +0 -64
  31. qiskit/circuit/library/boolean_logic/__init__.py +4 -4
  32. qiskit/circuit/library/boolean_logic/inner_product.py +4 -81
  33. qiskit/circuit/library/boolean_logic/quantum_and.py +4 -107
  34. qiskit/circuit/library/boolean_logic/quantum_or.py +3 -107
  35. qiskit/circuit/library/boolean_logic/quantum_xor.py +3 -97
  36. qiskit/circuit/library/data_preparation/__init__.py +3 -6
  37. qiskit/circuit/library/data_preparation/pauli_feature_map.py +29 -342
  38. qiskit/circuit/library/data_preparation/{_z_feature_map.py → z_feature_map.py} +34 -45
  39. qiskit/circuit/library/data_preparation/zz_feature_map.py +118 -0
  40. qiskit/circuit/library/fourier_checking.py +11 -72
  41. qiskit/circuit/library/generalized_gates/__init__.py +1 -1
  42. qiskit/circuit/library/generalized_gates/diagonal.py +51 -45
  43. qiskit/circuit/library/generalized_gates/gms.py +14 -67
  44. qiskit/circuit/library/generalized_gates/gr.py +4 -4
  45. qiskit/circuit/library/generalized_gates/isometry.py +2 -2
  46. qiskit/circuit/library/generalized_gates/linear_function.py +6 -12
  47. qiskit/circuit/library/generalized_gates/mcmt.py +107 -167
  48. qiskit/circuit/library/generalized_gates/permutation.py +6 -8
  49. qiskit/circuit/library/generalized_gates/rv.py +9 -8
  50. qiskit/circuit/library/graph_state.py +10 -93
  51. qiskit/circuit/library/grover_operator.py +2 -270
  52. qiskit/circuit/library/hidden_linear_function.py +20 -83
  53. qiskit/circuit/library/iqp.py +20 -99
  54. qiskit/circuit/library/n_local/__init__.py +7 -19
  55. qiskit/circuit/library/n_local/efficient_su2.py +5 -118
  56. qiskit/circuit/library/n_local/evolved_operator_ansatz.py +0 -259
  57. qiskit/circuit/library/n_local/excitation_preserving.py +6 -130
  58. qiskit/circuit/library/n_local/n_local.py +5 -406
  59. qiskit/circuit/library/n_local/pauli_two_design.py +4 -106
  60. qiskit/circuit/library/n_local/qaoa_ansatz.py +1 -80
  61. qiskit/circuit/library/n_local/real_amplitudes.py +7 -127
  62. qiskit/circuit/library/n_local/two_local.py +7 -14
  63. qiskit/circuit/library/overlap.py +26 -91
  64. qiskit/circuit/library/pauli_evolution.py +15 -17
  65. qiskit/circuit/library/phase_estimation.py +4 -80
  66. qiskit/circuit/library/quantum_volume.py +20 -72
  67. qiskit/circuit/library/standard_gates/__init__.py +1 -20
  68. qiskit/circuit/library/standard_gates/dcx.py +1 -2
  69. qiskit/circuit/library/standard_gates/ecr.py +2 -2
  70. qiskit/circuit/library/standard_gates/h.py +3 -4
  71. qiskit/circuit/library/standard_gates/i.py +1 -2
  72. qiskit/circuit/library/standard_gates/iswap.py +2 -2
  73. qiskit/circuit/library/standard_gates/p.py +12 -20
  74. qiskit/circuit/library/standard_gates/r.py +1 -1
  75. qiskit/circuit/library/standard_gates/rx.py +3 -4
  76. qiskit/circuit/library/standard_gates/rxx.py +2 -2
  77. qiskit/circuit/library/standard_gates/ry.py +3 -4
  78. qiskit/circuit/library/standard_gates/ryy.py +2 -2
  79. qiskit/circuit/library/standard_gates/rz.py +12 -13
  80. qiskit/circuit/library/standard_gates/rzx.py +6 -6
  81. qiskit/circuit/library/standard_gates/rzz.py +1 -1
  82. qiskit/circuit/library/standard_gates/s.py +4 -4
  83. qiskit/circuit/library/standard_gates/swap.py +3 -3
  84. qiskit/circuit/library/standard_gates/sx.py +3 -4
  85. qiskit/circuit/library/standard_gates/t.py +2 -2
  86. qiskit/circuit/library/standard_gates/u.py +3 -11
  87. qiskit/circuit/library/standard_gates/u1.py +15 -65
  88. qiskit/circuit/library/standard_gates/u2.py +1 -4
  89. qiskit/circuit/library/standard_gates/u3.py +3 -31
  90. qiskit/circuit/library/standard_gates/x.py +5 -7
  91. qiskit/circuit/library/standard_gates/xx_minus_yy.py +2 -2
  92. qiskit/circuit/library/standard_gates/xx_plus_yy.py +2 -2
  93. qiskit/circuit/library/standard_gates/y.py +3 -4
  94. qiskit/circuit/library/standard_gates/z.py +3 -3
  95. qiskit/circuit/library/templates/clifford/clifford_2_1.py +8 -9
  96. qiskit/circuit/library/templates/clifford/clifford_2_2.py +9 -10
  97. qiskit/circuit/library/templates/clifford/clifford_2_3.py +7 -9
  98. qiskit/circuit/library/templates/clifford/clifford_2_4.py +8 -9
  99. qiskit/circuit/library/templates/clifford/clifford_3_1.py +8 -9
  100. qiskit/circuit/library/templates/clifford/clifford_4_1.py +9 -10
  101. qiskit/circuit/library/templates/clifford/clifford_4_2.py +9 -10
  102. qiskit/circuit/library/templates/clifford/clifford_4_3.py +9 -10
  103. qiskit/circuit/library/templates/clifford/clifford_4_4.py +9 -10
  104. qiskit/circuit/library/templates/clifford/clifford_5_1.py +9 -10
  105. qiskit/circuit/library/templates/clifford/clifford_6_1.py +9 -10
  106. qiskit/circuit/library/templates/clifford/clifford_6_2.py +9 -10
  107. qiskit/circuit/library/templates/clifford/clifford_6_3.py +9 -10
  108. qiskit/circuit/library/templates/clifford/clifford_6_4.py +8 -9
  109. qiskit/circuit/library/templates/clifford/clifford_6_5.py +9 -10
  110. qiskit/circuit/library/templates/clifford/clifford_8_1.py +9 -10
  111. qiskit/circuit/library/templates/clifford/clifford_8_2.py +9 -10
  112. qiskit/circuit/library/templates/clifford/clifford_8_3.py +9 -10
  113. qiskit/circuit/library/templates/nct/template_nct_2a_1.py +7 -9
  114. qiskit/circuit/library/templates/nct/template_nct_2a_2.py +8 -10
  115. qiskit/circuit/library/templates/nct/template_nct_2a_3.py +10 -12
  116. qiskit/circuit/library/templates/nct/template_nct_4a_1.py +14 -16
  117. qiskit/circuit/library/templates/nct/template_nct_4a_2.py +12 -14
  118. qiskit/circuit/library/templates/nct/template_nct_4a_3.py +10 -12
  119. qiskit/circuit/library/templates/nct/template_nct_4b_1.py +12 -14
  120. qiskit/circuit/library/templates/nct/template_nct_4b_2.py +10 -12
  121. qiskit/circuit/library/templates/nct/template_nct_5a_1.py +10 -12
  122. qiskit/circuit/library/templates/nct/template_nct_5a_2.py +10 -12
  123. qiskit/circuit/library/templates/nct/template_nct_5a_3.py +10 -12
  124. qiskit/circuit/library/templates/nct/template_nct_5a_4.py +9 -11
  125. qiskit/circuit/library/templates/nct/template_nct_6a_1.py +9 -11
  126. qiskit/circuit/library/templates/nct/template_nct_6a_2.py +10 -12
  127. qiskit/circuit/library/templates/nct/template_nct_6a_3.py +10 -12
  128. qiskit/circuit/library/templates/nct/template_nct_6a_4.py +10 -12
  129. qiskit/circuit/library/templates/nct/template_nct_6b_1.py +10 -12
  130. qiskit/circuit/library/templates/nct/template_nct_6b_2.py +10 -12
  131. qiskit/circuit/library/templates/nct/template_nct_6c_1.py +10 -12
  132. qiskit/circuit/library/templates/nct/template_nct_7a_1.py +11 -13
  133. qiskit/circuit/library/templates/nct/template_nct_7b_1.py +11 -13
  134. qiskit/circuit/library/templates/nct/template_nct_7c_1.py +11 -13
  135. qiskit/circuit/library/templates/nct/template_nct_7d_1.py +11 -13
  136. qiskit/circuit/library/templates/nct/template_nct_7e_1.py +11 -13
  137. qiskit/circuit/library/templates/nct/template_nct_9a_1.py +11 -13
  138. qiskit/circuit/library/templates/nct/template_nct_9c_1.py +9 -11
  139. qiskit/circuit/library/templates/nct/template_nct_9c_10.py +10 -12
  140. qiskit/circuit/library/templates/nct/template_nct_9c_11.py +10 -12
  141. qiskit/circuit/library/templates/nct/template_nct_9c_12.py +10 -12
  142. qiskit/circuit/library/templates/nct/template_nct_9c_2.py +10 -12
  143. qiskit/circuit/library/templates/nct/template_nct_9c_3.py +10 -12
  144. qiskit/circuit/library/templates/nct/template_nct_9c_4.py +10 -12
  145. qiskit/circuit/library/templates/nct/template_nct_9c_5.py +10 -12
  146. qiskit/circuit/library/templates/nct/template_nct_9c_6.py +10 -12
  147. qiskit/circuit/library/templates/nct/template_nct_9c_7.py +10 -12
  148. qiskit/circuit/library/templates/nct/template_nct_9c_8.py +10 -12
  149. qiskit/circuit/library/templates/nct/template_nct_9c_9.py +10 -12
  150. qiskit/circuit/library/templates/nct/template_nct_9d_1.py +9 -11
  151. qiskit/circuit/library/templates/nct/template_nct_9d_10.py +10 -12
  152. qiskit/circuit/library/templates/nct/template_nct_9d_2.py +10 -12
  153. qiskit/circuit/library/templates/nct/template_nct_9d_3.py +10 -12
  154. qiskit/circuit/library/templates/nct/template_nct_9d_4.py +10 -12
  155. qiskit/circuit/library/templates/nct/template_nct_9d_5.py +10 -12
  156. qiskit/circuit/library/templates/nct/template_nct_9d_6.py +10 -12
  157. qiskit/circuit/library/templates/nct/template_nct_9d_7.py +10 -12
  158. qiskit/circuit/library/templates/nct/template_nct_9d_8.py +10 -12
  159. qiskit/circuit/library/templates/nct/template_nct_9d_9.py +10 -12
  160. qiskit/circuit/library/templates/rzx/rzx_cy.py +10 -11
  161. qiskit/circuit/library/templates/rzx/rzx_xz.py +15 -16
  162. qiskit/circuit/library/templates/rzx/rzx_yz.py +10 -12
  163. qiskit/circuit/library/templates/rzx/rzx_zz1.py +20 -22
  164. qiskit/circuit/library/templates/rzx/rzx_zz2.py +15 -16
  165. qiskit/circuit/library/templates/rzx/rzx_zz3.py +15 -17
  166. qiskit/circuit/parameter.py +0 -4
  167. qiskit/circuit/parameterexpression.py +34 -167
  168. qiskit/circuit/quantumcircuit.py +126 -162
  169. qiskit/circuit/singleton.py +0 -2
  170. qiskit/circuit/store.py +0 -2
  171. qiskit/compiler/assembler.py +4 -17
  172. qiskit/compiler/scheduler.py +0 -2
  173. qiskit/compiler/sequencer.py +0 -2
  174. qiskit/compiler/transpiler.py +26 -81
  175. qiskit/converters/circuit_to_dag.py +2 -2
  176. qiskit/converters/circuit_to_dagdependency.py +1 -1
  177. qiskit/converters/circuit_to_dagdependency_v2.py +1 -1
  178. qiskit/converters/circuit_to_instruction.py +1 -1
  179. qiskit/converters/dag_to_circuit.py +5 -7
  180. qiskit/converters/dag_to_dagdependency.py +1 -1
  181. qiskit/converters/dag_to_dagdependency_v2.py +1 -1
  182. qiskit/converters/dagdependency_to_circuit.py +1 -5
  183. qiskit/converters/dagdependency_to_dag.py +1 -6
  184. qiskit/dagcircuit/collect_blocks.py +3 -3
  185. qiskit/dagcircuit/dagdependency.py +5 -18
  186. qiskit/dagcircuit/dagdependency_v2.py +1 -1
  187. qiskit/dagcircuit/dagnode.py +2 -2
  188. qiskit/passmanager/__init__.py +2 -2
  189. qiskit/primitives/backend_estimator.py +2 -5
  190. qiskit/primitives/backend_sampler_v2.py +18 -61
  191. qiskit/primitives/base/base_estimator.py +2 -2
  192. qiskit/primitives/containers/data_bin.py +1 -9
  193. qiskit/primitives/statevector_sampler.py +1 -1
  194. qiskit/primitives/utils.py +1 -1
  195. qiskit/providers/__init__.py +3 -3
  196. qiskit/providers/backend.py +1 -12
  197. qiskit/providers/backend_compat.py +3 -23
  198. qiskit/providers/basic_provider/basic_simulator.py +2 -12
  199. qiskit/providers/fake_provider/fake_pulse_backend.py +1 -6
  200. qiskit/providers/fake_provider/generic_backend_v2.py +30 -46
  201. qiskit/providers/models/pulsedefaults.py +0 -2
  202. qiskit/pulse/builder.py +18 -59
  203. qiskit/pulse/calibration_entries.py +1 -4
  204. qiskit/pulse/channels.py +0 -2
  205. qiskit/pulse/exceptions.py +0 -2
  206. qiskit/pulse/instruction_schedule_map.py +6 -21
  207. qiskit/pulse/instructions/acquire.py +0 -2
  208. qiskit/pulse/instructions/delay.py +0 -2
  209. qiskit/pulse/instructions/directives.py +0 -8
  210. qiskit/pulse/instructions/frequency.py +0 -3
  211. qiskit/pulse/instructions/instruction.py +0 -2
  212. qiskit/pulse/instructions/phase.py +0 -3
  213. qiskit/pulse/instructions/play.py +0 -2
  214. qiskit/pulse/instructions/reference.py +0 -2
  215. qiskit/pulse/instructions/snapshot.py +0 -2
  216. qiskit/pulse/library/pulse.py +0 -2
  217. qiskit/pulse/library/symbolic_pulses.py +0 -28
  218. qiskit/pulse/library/waveform.py +0 -2
  219. qiskit/pulse/macros.py +1 -1
  220. qiskit/pulse/schedule.py +13 -12
  221. qiskit/pulse/transforms/alignments.py +3 -5
  222. qiskit/pulse/transforms/dag.py +0 -7
  223. qiskit/qasm2/export.py +3 -5
  224. qiskit/qasm2/parse.py +2 -46
  225. qiskit/qasm3/__init__.py +0 -1
  226. qiskit/qasm3/ast.py +15 -123
  227. qiskit/qasm3/exporter.py +77 -103
  228. qiskit/qobj/converters/pulse_instruction.py +4 -6
  229. qiskit/qpy/__init__.py +0 -181
  230. qiskit/qpy/binary_io/circuits.py +5 -20
  231. qiskit/qpy/binary_io/schedules.py +4 -3
  232. qiskit/qpy/binary_io/value.py +13 -310
  233. qiskit/qpy/common.py +2 -46
  234. qiskit/qpy/formats.py +0 -7
  235. qiskit/qpy/interface.py +4 -40
  236. qiskit/quantum_info/__init__.py +0 -4
  237. qiskit/quantum_info/operators/channel/transformations.py +21 -28
  238. qiskit/quantum_info/operators/dihedral/dihedral.py +1 -1
  239. qiskit/quantum_info/operators/operator.py +8 -54
  240. qiskit/quantum_info/operators/symplectic/base_pauli.py +19 -11
  241. qiskit/quantum_info/operators/symplectic/clifford.py +1 -1
  242. qiskit/quantum_info/operators/symplectic/clifford_circuits.py +1 -1
  243. qiskit/quantum_info/operators/symplectic/pauli.py +0 -2
  244. qiskit/quantum_info/operators/symplectic/pauli_list.py +4 -4
  245. qiskit/quantum_info/operators/symplectic/sparse_pauli_op.py +2 -23
  246. qiskit/quantum_info/states/densitymatrix.py +5 -5
  247. qiskit/quantum_info/states/stabilizerstate.py +1 -1
  248. qiskit/quantum_info/states/statevector.py +6 -6
  249. qiskit/result/mitigation/base_readout_mitigator.py +1 -1
  250. qiskit/result/mitigation/correlated_readout_mitigator.py +1 -9
  251. qiskit/result/mitigation/local_readout_mitigator.py +1 -9
  252. qiskit/result/mitigation/utils.py +0 -57
  253. qiskit/scheduler/config.py +0 -2
  254. qiskit/scheduler/methods/basic.py +0 -3
  255. qiskit/scheduler/schedule_circuit.py +0 -2
  256. qiskit/scheduler/sequence.py +0 -2
  257. qiskit/synthesis/__init__.py +0 -25
  258. qiskit/synthesis/clifford/clifford_decompose_bm.py +2 -1
  259. qiskit/synthesis/clifford/clifford_decompose_greedy.py +2 -3
  260. qiskit/synthesis/clifford/clifford_decompose_layers.py +1 -2
  261. qiskit/synthesis/evolution/__init__.py +0 -1
  262. qiskit/synthesis/evolution/lie_trotter.py +42 -16
  263. qiskit/synthesis/evolution/product_formula.py +238 -165
  264. qiskit/synthesis/evolution/qdrift.py +29 -36
  265. qiskit/synthesis/evolution/suzuki_trotter.py +27 -87
  266. qiskit/synthesis/multi_controlled/__init__.py +0 -1
  267. qiskit/synthesis/qft/qft_decompose_full.py +1 -19
  268. qiskit/synthesis/qft/qft_decompose_lnn.py +1 -2
  269. qiskit/synthesis/stabilizer/stabilizer_decompose.py +1 -2
  270. qiskit/synthesis/two_qubit/two_qubit_decompose.py +63 -4
  271. qiskit/synthesis/two_qubit/weyl.py +97 -0
  272. qiskit/synthesis/unitary/qsd.py +5 -5
  273. qiskit/transpiler/__init__.py +14 -21
  274. qiskit/transpiler/basepasses.py +1 -1
  275. qiskit/transpiler/passes/__init__.py +0 -2
  276. qiskit/transpiler/passes/basis/basis_translator.py +565 -9
  277. qiskit/transpiler/passes/basis/decompose.py +12 -45
  278. qiskit/transpiler/passes/basis/unroll_3q_or_more.py +1 -1
  279. qiskit/transpiler/passes/basis/unroll_custom_definitions.py +1 -1
  280. qiskit/transpiler/passes/calibration/pulse_gate.py +2 -4
  281. qiskit/transpiler/passes/calibration/rx_builder.py +7 -11
  282. qiskit/transpiler/passes/calibration/rzx_builder.py +30 -46
  283. qiskit/transpiler/passes/layout/disjoint_utils.py +13 -15
  284. qiskit/transpiler/passes/layout/sabre_layout.py +2 -7
  285. qiskit/transpiler/passes/layout/sabre_pre_layout.py +0 -5
  286. qiskit/transpiler/passes/optimization/__init__.py +0 -1
  287. qiskit/transpiler/passes/optimization/collect_cliffords.py +3 -19
  288. qiskit/transpiler/passes/optimization/collect_linear_functions.py +1 -1
  289. qiskit/transpiler/passes/optimization/collect_multiqubit_blocks.py +2 -2
  290. qiskit/transpiler/passes/optimization/commutative_inverse_cancellation.py +1 -1
  291. qiskit/transpiler/passes/optimization/consolidate_blocks.py +131 -48
  292. qiskit/transpiler/passes/optimization/echo_rzx_weyl_decomposition.py +2 -4
  293. qiskit/transpiler/passes/optimization/elide_permutations.py +32 -9
  294. qiskit/transpiler/passes/optimization/inverse_cancellation.py +0 -2
  295. qiskit/transpiler/passes/optimization/optimize_1q_decomposition.py +11 -5
  296. qiskit/transpiler/passes/optimization/optimize_1q_gates.py +1 -1
  297. qiskit/transpiler/passes/optimization/optimize_swap_before_measure.py +1 -1
  298. qiskit/transpiler/passes/optimization/template_matching/backward_match.py +5 -5
  299. qiskit/transpiler/passes/optimization/template_matching/forward_match.py +4 -4
  300. qiskit/transpiler/passes/optimization/template_matching/template_substitution.py +2 -2
  301. qiskit/transpiler/passes/routing/commuting_2q_gate_routing/commuting_2q_gate_router.py +1 -1
  302. qiskit/transpiler/passes/routing/commuting_2q_gate_routing/swap_strategy.py +1 -1
  303. qiskit/transpiler/passes/routing/sabre_swap.py +3 -7
  304. qiskit/transpiler/passes/routing/star_prerouting.py +2 -2
  305. qiskit/transpiler/passes/scheduling/alap.py +1 -1
  306. qiskit/transpiler/passes/scheduling/alignments/align_measures.py +2 -2
  307. qiskit/transpiler/passes/scheduling/alignments/check_durations.py +1 -1
  308. qiskit/transpiler/passes/scheduling/alignments/pulse_gate_validation.py +0 -2
  309. qiskit/transpiler/passes/scheduling/alignments/reschedule.py +2 -2
  310. qiskit/transpiler/passes/scheduling/asap.py +1 -1
  311. qiskit/transpiler/passes/scheduling/base_scheduler.py +12 -14
  312. qiskit/transpiler/passes/scheduling/dynamical_decoupling.py +4 -9
  313. qiskit/transpiler/passes/scheduling/padding/base_padding.py +1 -1
  314. qiskit/transpiler/passes/scheduling/padding/dynamical_decoupling.py +5 -16
  315. qiskit/transpiler/passes/scheduling/padding/pad_delay.py +1 -4
  316. qiskit/transpiler/passes/scheduling/scheduling/base_scheduler.py +2 -6
  317. qiskit/transpiler/passes/scheduling/time_unit_conversion.py +4 -9
  318. qiskit/transpiler/passes/synthesis/high_level_synthesis.py +99 -262
  319. qiskit/transpiler/passes/synthesis/hls_plugins.py +7 -638
  320. qiskit/transpiler/passes/synthesis/qubit_tracker.py +132 -0
  321. qiskit/transpiler/passes/synthesis/solovay_kitaev_synthesis.py +3 -3
  322. qiskit/transpiler/passes/synthesis/unitary_synthesis.py +34 -55
  323. qiskit/transpiler/passes/utils/barrier_before_final_measurements.py +56 -2
  324. qiskit/transpiler/passes/utils/convert_conditions_to_if_ops.py +0 -5
  325. qiskit/transpiler/passes/utils/gate_direction.py +275 -12
  326. qiskit/transpiler/passes/utils/gates_basis.py +30 -7
  327. qiskit/transpiler/passes/utils/merge_adjacent_barriers.py +1 -2
  328. qiskit/transpiler/passmanager_config.py +4 -22
  329. qiskit/transpiler/preset_passmanagers/builtin_plugins.py +14 -40
  330. qiskit/transpiler/preset_passmanagers/common.py +3 -5
  331. qiskit/transpiler/preset_passmanagers/generate_preset_pass_manager.py +42 -125
  332. qiskit/transpiler/preset_passmanagers/plugin.py +1 -1
  333. qiskit/transpiler/target.py +16 -74
  334. qiskit/visualization/circuit/_utils.py +2 -2
  335. qiskit/visualization/circuit/circuit_visualization.py +2 -3
  336. qiskit/visualization/circuit/matplotlib.py +1 -1
  337. qiskit/visualization/dag_visualization.py +1 -1
  338. qiskit/visualization/pass_manager_visualization.py +14 -3
  339. qiskit/visualization/pulse_v2/interface.py +1 -3
  340. qiskit/visualization/timeline/core.py +2 -25
  341. qiskit/visualization/timeline/interface.py +0 -12
  342. {qiskit-1.3.0.dist-info → qiskit-1.3.0b1.dist-info}/METADATA +19 -20
  343. {qiskit-1.3.0.dist-info → qiskit-1.3.0b1.dist-info}/RECORD +347 -358
  344. {qiskit-1.3.0.dist-info → qiskit-1.3.0b1.dist-info}/WHEEL +1 -1
  345. {qiskit-1.3.0.dist-info → qiskit-1.3.0b1.dist-info}/entry_points.txt +0 -19
  346. qiskit/circuit/library/data_preparation/_zz_feature_map.py +0 -150
  347. qiskit/circuit/twirling.py +0 -145
  348. qiskit/synthesis/arithmetic/__init__.py +0 -16
  349. qiskit/synthesis/arithmetic/adders/__init__.py +0 -17
  350. qiskit/synthesis/arithmetic/adders/cdkm_ripple_carry_adder.py +0 -154
  351. qiskit/synthesis/arithmetic/adders/draper_qft_adder.py +0 -103
  352. qiskit/synthesis/arithmetic/adders/vbe_ripple_carry_adder.py +0 -161
  353. qiskit/synthesis/arithmetic/multipliers/__init__.py +0 -16
  354. qiskit/synthesis/arithmetic/multipliers/hrs_cumulative_multiplier.py +0 -102
  355. qiskit/synthesis/arithmetic/multipliers/rg_qft_multiplier.py +0 -99
  356. qiskit/synthesis/evolution/pauli_network.py +0 -80
  357. qiskit/synthesis/multi_controlled/mcmt_vchain.py +0 -52
  358. qiskit/transpiler/passes/optimization/remove_identity_equiv.py +0 -69
  359. qiskit/utils/deprecate_pulse.py +0 -119
  360. {qiskit-1.3.0.dist-info → qiskit-1.3.0b1.dist-info}/LICENSE.txt +0 -0
  361. {qiskit-1.3.0.dist-info → qiskit-1.3.0b1.dist-info}/top_level.txt +0 -0
@@ -47,7 +47,6 @@ on the zeroth qubit of the first cx but the zeroth qubit of the second gate over
47
47
  first cx.
48
48
  """
49
49
 
50
-
51
50
  standard_gates_commutations = {
52
51
  ("id", "id"): True,
53
52
  ("id", "sx"): True,
@@ -71,10 +70,6 @@ standard_gates_commutations = {
71
70
  ("id", "iswap"): True,
72
71
  ("id", "sxdg"): True,
73
72
  ("id", "tdg"): True,
74
- ("id", "rxx"): True,
75
- ("id", "ryy"): True,
76
- ("id", "rzz"): True,
77
- ("id", "rzx"): True,
78
73
  ("sx", "sx"): True,
79
74
  ("sx", "cx"): {
80
75
  (0,): False,
@@ -114,13 +109,6 @@ standard_gates_commutations = {
114
109
  ("sx", "iswap"): False,
115
110
  ("sx", "sxdg"): True,
116
111
  ("sx", "tdg"): False,
117
- ("sx", "rxx"): True,
118
- ("sx", "ryy"): False,
119
- ("sx", "rzz"): False,
120
- ("sx", "rzx"): {
121
- (0,): False,
122
- (1,): True,
123
- },
124
112
  ("x", "id"): True,
125
113
  ("x", "sx"): True,
126
114
  ("x", "x"): True,
@@ -164,13 +152,6 @@ standard_gates_commutations = {
164
152
  ("x", "tdg"): False,
165
153
  ("x", "y"): False,
166
154
  ("x", "z"): False,
167
- ("x", "rxx"): True,
168
- ("x", "ryy"): False,
169
- ("x", "rzz"): False,
170
- ("x", "rzx"): {
171
- (0,): False,
172
- (1,): True,
173
- },
174
155
  ("cx", "cx"): {
175
156
  (0, 1): True,
176
157
  (0, None): True,
@@ -322,31 +303,6 @@ standard_gates_commutations = {
322
303
  },
323
304
  ("cx", "swap"): False,
324
305
  ("cx", "iswap"): False,
325
- ("cx", "rxx"): {
326
- (0, 1): False,
327
- (0, None): False,
328
- (1, 0): False,
329
- (1, None): False,
330
- (None, 0): True,
331
- (None, 1): True,
332
- },
333
- ("cx", "ryy"): False,
334
- ("cx", "rzz"): {
335
- (0, 1): False,
336
- (0, None): True,
337
- (1, 0): False,
338
- (1, None): True,
339
- (None, 0): False,
340
- (None, 1): False,
341
- },
342
- ("cx", "rzx"): {
343
- (0, 1): True,
344
- (0, None): True,
345
- (1, 0): False,
346
- (1, None): False,
347
- (None, 0): False,
348
- (None, 1): True,
349
- },
350
306
  ("c3sx", "c3sx"): {
351
307
  (0, 1, 2, 3): True,
352
308
  (0, 1, 2, None): True,
@@ -1073,10 +1029,6 @@ standard_gates_commutations = {
1073
1029
  ("dcx", "csdg"): False,
1074
1030
  ("dcx", "swap"): False,
1075
1031
  ("dcx", "iswap"): False,
1076
- ("dcx", "rxx"): False,
1077
- ("dcx", "ryy"): False,
1078
- ("dcx", "rzz"): False,
1079
- ("dcx", "rzx"): False,
1080
1032
  ("ch", "cx"): {
1081
1033
  (0, 1): False,
1082
1034
  (0, None): True,
@@ -1237,24 +1189,6 @@ standard_gates_commutations = {
1237
1189
  },
1238
1190
  ("ch", "swap"): False,
1239
1191
  ("ch", "iswap"): False,
1240
- ("ch", "rxx"): False,
1241
- ("ch", "ryy"): False,
1242
- ("ch", "rzz"): {
1243
- (0, 1): False,
1244
- (0, None): True,
1245
- (1, 0): False,
1246
- (1, None): True,
1247
- (None, 0): False,
1248
- (None, 1): False,
1249
- },
1250
- ("ch", "rzx"): {
1251
- (0, 1): False,
1252
- (0, None): True,
1253
- (1, 0): False,
1254
- (1, None): False,
1255
- (None, 0): False,
1256
- (None, 1): False,
1257
- },
1258
1192
  ("cswap", "c3sx"): {
1259
1193
  (0, 1, 2): True,
1260
1194
  (0, 1, 3): False,
@@ -1565,31 +1499,6 @@ standard_gates_commutations = {
1565
1499
  },
1566
1500
  ("csx", "swap"): False,
1567
1501
  ("csx", "iswap"): False,
1568
- ("csx", "rxx"): {
1569
- (0, 1): False,
1570
- (0, None): False,
1571
- (1, 0): False,
1572
- (1, None): False,
1573
- (None, 0): True,
1574
- (None, 1): True,
1575
- },
1576
- ("csx", "ryy"): False,
1577
- ("csx", "rzz"): {
1578
- (0, 1): False,
1579
- (0, None): True,
1580
- (1, 0): False,
1581
- (1, None): True,
1582
- (None, 0): False,
1583
- (None, 1): False,
1584
- },
1585
- ("csx", "rzx"): {
1586
- (0, 1): True,
1587
- (0, None): True,
1588
- (1, 0): False,
1589
- (1, None): False,
1590
- (None, 0): False,
1591
- (None, 1): True,
1592
- },
1593
1502
  ("cy", "c3sx"): {
1594
1503
  (0, 1): False,
1595
1504
  (0, 2): False,
@@ -1726,31 +1635,6 @@ standard_gates_commutations = {
1726
1635
  },
1727
1636
  ("cy", "swap"): False,
1728
1637
  ("cy", "iswap"): False,
1729
- ("cy", "rxx"): False,
1730
- ("cy", "ryy"): {
1731
- (0, 1): False,
1732
- (0, None): False,
1733
- (1, 0): False,
1734
- (1, None): False,
1735
- (None, 0): True,
1736
- (None, 1): True,
1737
- },
1738
- ("cy", "rzz"): {
1739
- (0, 1): False,
1740
- (0, None): True,
1741
- (1, 0): False,
1742
- (1, None): True,
1743
- (None, 0): False,
1744
- (None, 1): False,
1745
- },
1746
- ("cy", "rzx"): {
1747
- (0, 1): False,
1748
- (0, None): True,
1749
- (1, 0): False,
1750
- (1, None): False,
1751
- (None, 0): False,
1752
- (None, 1): False,
1753
- },
1754
1638
  ("cz", "c3sx"): {
1755
1639
  (0, 1): True,
1756
1640
  (0, 2): True,
@@ -1866,17 +1750,6 @@ standard_gates_commutations = {
1866
1750
  (None, 0): False,
1867
1751
  (None, 1): False,
1868
1752
  },
1869
- ("cz", "rxx"): False,
1870
- ("cz", "ryy"): False,
1871
- ("cz", "rzz"): True,
1872
- ("cz", "rzx"): {
1873
- (0, 1): False,
1874
- (0, None): True,
1875
- (1, 0): False,
1876
- (1, None): False,
1877
- (None, 0): True,
1878
- (None, 1): False,
1879
- },
1880
1753
  ("ccz", "c3sx"): {
1881
1754
  (0, 1, 2): True,
1882
1755
  (0, 1, 3): False,
@@ -2127,10 +2000,6 @@ standard_gates_commutations = {
2127
2000
  ("h", "tdg"): False,
2128
2001
  ("h", "y"): False,
2129
2002
  ("h", "z"): False,
2130
- ("h", "rxx"): False,
2131
- ("h", "ryy"): False,
2132
- ("h", "rzz"): False,
2133
- ("h", "rzx"): False,
2134
2003
  ("rccx", "c3sx"): {
2135
2004
  (0, 1, 2): False,
2136
2005
  (0, 1, 3): False,
@@ -2610,24 +2479,6 @@ standard_gates_commutations = {
2610
2479
  ("ecr", "csdg"): False,
2611
2480
  ("ecr", "swap"): False,
2612
2481
  ("ecr", "iswap"): False,
2613
- ("ecr", "rxx"): {
2614
- (0, 1): False,
2615
- (0, None): False,
2616
- (1, 0): False,
2617
- (1, None): False,
2618
- (None, 0): True,
2619
- (None, 1): True,
2620
- },
2621
- ("ecr", "ryy"): False,
2622
- ("ecr", "rzz"): False,
2623
- ("ecr", "rzx"): {
2624
- (0, 1): False,
2625
- (0, None): False,
2626
- (1, 0): True,
2627
- (1, None): False,
2628
- (None, 0): False,
2629
- (None, 1): True,
2630
- },
2631
2482
  ("s", "id"): True,
2632
2483
  ("s", "sx"): False,
2633
2484
  ("s", "x"): False,
@@ -2689,13 +2540,6 @@ standard_gates_commutations = {
2689
2540
  ("s", "tdg"): True,
2690
2541
  ("s", "y"): False,
2691
2542
  ("s", "z"): True,
2692
- ("s", "rxx"): False,
2693
- ("s", "ryy"): False,
2694
- ("s", "rzz"): True,
2695
- ("s", "rzx"): {
2696
- (0,): True,
2697
- (1,): False,
2698
- },
2699
2543
  ("sdg", "cx"): {
2700
2544
  (0,): True,
2701
2545
  (1,): False,
@@ -2750,13 +2594,6 @@ standard_gates_commutations = {
2750
2594
  ("sdg", "iswap"): False,
2751
2595
  ("sdg", "sxdg"): False,
2752
2596
  ("sdg", "tdg"): True,
2753
- ("sdg", "rxx"): False,
2754
- ("sdg", "ryy"): False,
2755
- ("sdg", "rzz"): True,
2756
- ("sdg", "rzx"): {
2757
- (0,): True,
2758
- (1,): False,
2759
- },
2760
2597
  ("cs", "cx"): {
2761
2598
  (0, 1): False,
2762
2599
  (0, None): True,
@@ -2889,17 +2726,6 @@ standard_gates_commutations = {
2889
2726
  (None, 0): False,
2890
2727
  (None, 1): False,
2891
2728
  },
2892
- ("cs", "rxx"): False,
2893
- ("cs", "ryy"): False,
2894
- ("cs", "rzz"): True,
2895
- ("cs", "rzx"): {
2896
- (0, 1): False,
2897
- (0, None): True,
2898
- (1, 0): False,
2899
- (1, None): False,
2900
- (None, 0): True,
2901
- (None, 1): False,
2902
- },
2903
2729
  ("csdg", "c3sx"): {
2904
2730
  (0, 1): True,
2905
2731
  (0, 2): True,
@@ -3238,13 +3064,6 @@ standard_gates_commutations = {
3238
3064
  ("sxdg", "swap"): False,
3239
3065
  ("sxdg", "iswap"): False,
3240
3066
  ("sxdg", "sxdg"): True,
3241
- ("sxdg", "rxx"): True,
3242
- ("sxdg", "ryy"): False,
3243
- ("sxdg", "rzz"): False,
3244
- ("sxdg", "rzx"): {
3245
- (0,): False,
3246
- (1,): True,
3247
- },
3248
3067
  ("t", "id"): True,
3249
3068
  ("t", "sx"): False,
3250
3069
  ("t", "x"): False,
@@ -3305,13 +3124,6 @@ standard_gates_commutations = {
3305
3124
  ("t", "tdg"): True,
3306
3125
  ("t", "y"): False,
3307
3126
  ("t", "z"): True,
3308
- ("t", "rxx"): False,
3309
- ("t", "ryy"): False,
3310
- ("t", "rzz"): True,
3311
- ("t", "rzx"): {
3312
- (0,): True,
3313
- (1,): False,
3314
- },
3315
3127
  ("tdg", "cx"): {
3316
3128
  (0,): True,
3317
3129
  (1,): False,
@@ -3365,13 +3177,6 @@ standard_gates_commutations = {
3365
3177
  ("tdg", "iswap"): False,
3366
3178
  ("tdg", "sxdg"): False,
3367
3179
  ("tdg", "tdg"): True,
3368
- ("tdg", "rxx"): False,
3369
- ("tdg", "ryy"): False,
3370
- ("tdg", "rzz"): True,
3371
- ("tdg", "rzx"): {
3372
- (0,): True,
3373
- (1,): False,
3374
- },
3375
3180
  ("y", "id"): True,
3376
3181
  ("y", "sx"): False,
3377
3182
  ("y", "cx"): False,
@@ -3399,10 +3204,6 @@ standard_gates_commutations = {
3399
3204
  ("y", "tdg"): False,
3400
3205
  ("y", "y"): True,
3401
3206
  ("y", "z"): False,
3402
- ("y", "rxx"): False,
3403
- ("y", "ryy"): True,
3404
- ("y", "rzz"): False,
3405
- ("y", "rzx"): False,
3406
3207
  ("z", "id"): True,
3407
3208
  ("z", "sx"): False,
3408
3209
  ("z", "cx"): {
@@ -3460,390 +3261,4 @@ standard_gates_commutations = {
3460
3261
  ("z", "sxdg"): False,
3461
3262
  ("z", "tdg"): True,
3462
3263
  ("z", "z"): True,
3463
- ("z", "rxx"): False,
3464
- ("z", "ryy"): False,
3465
- ("z", "rzz"): True,
3466
- ("z", "rzx"): {
3467
- (0,): True,
3468
- (1,): False,
3469
- },
3470
- ("rxx", "c3sx"): {
3471
- (0, 1): False,
3472
- (0, 2): False,
3473
- (0, 3): False,
3474
- (0, None): False,
3475
- (1, 0): False,
3476
- (1, 2): False,
3477
- (1, 3): False,
3478
- (1, None): False,
3479
- (2, 0): False,
3480
- (2, 1): False,
3481
- (2, 3): False,
3482
- (2, None): False,
3483
- (3, 0): False,
3484
- (3, 1): False,
3485
- (3, 2): False,
3486
- (3, None): True,
3487
- (None, 0): False,
3488
- (None, 1): False,
3489
- (None, 2): False,
3490
- (None, 3): True,
3491
- },
3492
- ("rxx", "ccx"): {
3493
- (0, 1): False,
3494
- (0, 2): False,
3495
- (0, None): False,
3496
- (1, 0): False,
3497
- (1, 2): False,
3498
- (1, None): False,
3499
- (2, 0): False,
3500
- (2, 1): False,
3501
- (2, None): True,
3502
- (None, 0): False,
3503
- (None, 1): False,
3504
- (None, 2): True,
3505
- },
3506
- ("rxx", "cswap"): {
3507
- (0, 1): False,
3508
- (0, 2): False,
3509
- (0, None): False,
3510
- (1, 0): False,
3511
- (1, 2): True,
3512
- (1, None): False,
3513
- (2, 0): False,
3514
- (2, 1): True,
3515
- (2, None): False,
3516
- (None, 0): False,
3517
- (None, 1): False,
3518
- (None, 2): False,
3519
- },
3520
- ("rxx", "ccz"): False,
3521
- ("rxx", "rccx"): False,
3522
- ("rxx", "rcccx"): False,
3523
- ("rxx", "csdg"): False,
3524
- ("rxx", "swap"): {
3525
- (0, 1): True,
3526
- (0, None): False,
3527
- (1, 0): True,
3528
- (1, None): False,
3529
- (None, 0): False,
3530
- (None, 1): False,
3531
- },
3532
- ("rxx", "iswap"): {
3533
- (0, 1): True,
3534
- (0, None): False,
3535
- (1, 0): True,
3536
- (1, None): False,
3537
- (None, 0): False,
3538
- (None, 1): False,
3539
- },
3540
- ("rxx", "rxx"): True,
3541
- ("rxx", "ryy"): {
3542
- (0, 1): True,
3543
- (0, None): False,
3544
- (1, 0): True,
3545
- (1, None): False,
3546
- (None, 0): False,
3547
- (None, 1): False,
3548
- },
3549
- ("rxx", "rzz"): {
3550
- (0, 1): True,
3551
- (0, None): False,
3552
- (1, 0): True,
3553
- (1, None): False,
3554
- (None, 0): False,
3555
- (None, 1): False,
3556
- },
3557
- ("rxx", "rzx"): {
3558
- (0, 1): False,
3559
- (0, None): False,
3560
- (1, 0): False,
3561
- (1, None): True,
3562
- (None, 0): False,
3563
- (None, 1): True,
3564
- },
3565
- ("ryy", "c3sx"): False,
3566
- ("ryy", "ccx"): False,
3567
- ("ryy", "cswap"): {
3568
- (0, 1): False,
3569
- (0, 2): False,
3570
- (0, None): False,
3571
- (1, 0): False,
3572
- (1, 2): True,
3573
- (1, None): False,
3574
- (2, 0): False,
3575
- (2, 1): True,
3576
- (2, None): False,
3577
- (None, 0): False,
3578
- (None, 1): False,
3579
- (None, 2): False,
3580
- },
3581
- ("ryy", "ccz"): False,
3582
- ("ryy", "rccx"): False,
3583
- ("ryy", "rcccx"): False,
3584
- ("ryy", "csdg"): False,
3585
- ("ryy", "swap"): {
3586
- (0, 1): True,
3587
- (0, None): False,
3588
- (1, 0): True,
3589
- (1, None): False,
3590
- (None, 0): False,
3591
- (None, 1): False,
3592
- },
3593
- ("ryy", "iswap"): {
3594
- (0, 1): True,
3595
- (0, None): False,
3596
- (1, 0): True,
3597
- (1, None): False,
3598
- (None, 0): False,
3599
- (None, 1): False,
3600
- },
3601
- ("ryy", "ryy"): True,
3602
- ("ryy", "rzz"): {
3603
- (0, 1): True,
3604
- (0, None): False,
3605
- (1, 0): True,
3606
- (1, None): False,
3607
- (None, 0): False,
3608
- (None, 1): False,
3609
- },
3610
- ("ryy", "rzx"): {
3611
- (0, 1): True,
3612
- (0, None): False,
3613
- (1, 0): True,
3614
- (1, None): False,
3615
- (None, 0): False,
3616
- (None, 1): False,
3617
- },
3618
- ("rzz", "c3sx"): {
3619
- (0, 1): True,
3620
- (0, 2): True,
3621
- (0, 3): False,
3622
- (0, None): True,
3623
- (1, 0): True,
3624
- (1, 2): True,
3625
- (1, 3): False,
3626
- (1, None): True,
3627
- (2, 0): True,
3628
- (2, 1): True,
3629
- (2, 3): False,
3630
- (2, None): True,
3631
- (3, 0): False,
3632
- (3, 1): False,
3633
- (3, 2): False,
3634
- (3, None): False,
3635
- (None, 0): True,
3636
- (None, 1): True,
3637
- (None, 2): True,
3638
- (None, 3): False,
3639
- },
3640
- ("rzz", "ccx"): {
3641
- (0, 1): True,
3642
- (0, 2): False,
3643
- (0, None): True,
3644
- (1, 0): True,
3645
- (1, 2): False,
3646
- (1, None): True,
3647
- (2, 0): False,
3648
- (2, 1): False,
3649
- (2, None): False,
3650
- (None, 0): True,
3651
- (None, 1): True,
3652
- (None, 2): False,
3653
- },
3654
- ("rzz", "cswap"): {
3655
- (0, 1): False,
3656
- (0, 2): False,
3657
- (0, None): True,
3658
- (1, 0): False,
3659
- (1, 2): True,
3660
- (1, None): False,
3661
- (2, 0): False,
3662
- (2, 1): True,
3663
- (2, None): False,
3664
- (None, 0): True,
3665
- (None, 1): False,
3666
- (None, 2): False,
3667
- },
3668
- ("rzz", "ccz"): True,
3669
- ("rzz", "rccx"): {
3670
- (0, 1): True,
3671
- (0, 2): False,
3672
- (0, None): True,
3673
- (1, 0): True,
3674
- (1, 2): False,
3675
- (1, None): True,
3676
- (2, 0): False,
3677
- (2, 1): False,
3678
- (2, None): False,
3679
- (None, 0): True,
3680
- (None, 1): True,
3681
- (None, 2): False,
3682
- },
3683
- ("rzz", "rcccx"): {
3684
- (0, 1): True,
3685
- (0, 2): True,
3686
- (0, 3): False,
3687
- (0, None): True,
3688
- (1, 0): True,
3689
- (1, 2): True,
3690
- (1, 3): False,
3691
- (1, None): True,
3692
- (2, 0): True,
3693
- (2, 1): True,
3694
- (2, 3): False,
3695
- (2, None): True,
3696
- (3, 0): False,
3697
- (3, 1): False,
3698
- (3, 2): False,
3699
- (3, None): False,
3700
- (None, 0): True,
3701
- (None, 1): True,
3702
- (None, 2): True,
3703
- (None, 3): False,
3704
- },
3705
- ("rzz", "csdg"): True,
3706
- ("rzz", "swap"): {
3707
- (0, 1): True,
3708
- (0, None): False,
3709
- (1, 0): True,
3710
- (1, None): False,
3711
- (None, 0): False,
3712
- (None, 1): False,
3713
- },
3714
- ("rzz", "iswap"): {
3715
- (0, 1): True,
3716
- (0, None): False,
3717
- (1, 0): True,
3718
- (1, None): False,
3719
- (None, 0): False,
3720
- (None, 1): False,
3721
- },
3722
- ("rzz", "rzz"): True,
3723
- ("rzx", "c3sx"): {
3724
- (0, 1): False,
3725
- (0, 2): False,
3726
- (0, 3): True,
3727
- (0, None): True,
3728
- (1, 0): False,
3729
- (1, 2): False,
3730
- (1, 3): True,
3731
- (1, None): True,
3732
- (2, 0): False,
3733
- (2, 1): False,
3734
- (2, 3): True,
3735
- (2, None): True,
3736
- (3, 0): False,
3737
- (3, 1): False,
3738
- (3, 2): False,
3739
- (3, None): False,
3740
- (None, 0): False,
3741
- (None, 1): False,
3742
- (None, 2): False,
3743
- (None, 3): True,
3744
- },
3745
- ("rzx", "ccx"): {
3746
- (0, 1): False,
3747
- (0, 2): True,
3748
- (0, None): True,
3749
- (1, 0): False,
3750
- (1, 2): True,
3751
- (1, None): True,
3752
- (2, 0): False,
3753
- (2, 1): False,
3754
- (2, None): False,
3755
- (None, 0): False,
3756
- (None, 1): False,
3757
- (None, 2): True,
3758
- },
3759
- ("rzx", "cswap"): {
3760
- (0, 1): False,
3761
- (0, 2): False,
3762
- (0, None): True,
3763
- (1, 0): False,
3764
- (1, 2): False,
3765
- (1, None): False,
3766
- (2, 0): False,
3767
- (2, 1): False,
3768
- (2, None): False,
3769
- (None, 0): False,
3770
- (None, 1): False,
3771
- (None, 2): False,
3772
- },
3773
- ("rzx", "ccz"): {
3774
- (0, 1): False,
3775
- (0, 2): False,
3776
- (0, None): True,
3777
- (1, 0): False,
3778
- (1, 2): False,
3779
- (1, None): True,
3780
- (2, 0): False,
3781
- (2, 1): False,
3782
- (2, None): True,
3783
- (None, 0): False,
3784
- (None, 1): False,
3785
- (None, 2): False,
3786
- },
3787
- ("rzx", "rccx"): {
3788
- (0, 1): False,
3789
- (0, 2): False,
3790
- (0, None): True,
3791
- (1, 0): False,
3792
- (1, 2): False,
3793
- (1, None): True,
3794
- (2, 0): False,
3795
- (2, 1): False,
3796
- (2, None): False,
3797
- (None, 0): False,
3798
- (None, 1): False,
3799
- (None, 2): False,
3800
- },
3801
- ("rzx", "rcccx"): {
3802
- (0, 1): False,
3803
- (0, 2): False,
3804
- (0, 3): False,
3805
- (0, None): True,
3806
- (1, 0): False,
3807
- (1, 2): False,
3808
- (1, 3): False,
3809
- (1, None): True,
3810
- (2, 0): False,
3811
- (2, 1): False,
3812
- (2, 3): False,
3813
- (2, None): True,
3814
- (3, 0): False,
3815
- (3, 1): False,
3816
- (3, 2): False,
3817
- (3, None): False,
3818
- (None, 0): False,
3819
- (None, 1): False,
3820
- (None, 2): False,
3821
- (None, 3): False,
3822
- },
3823
- ("rzx", "csdg"): {
3824
- (0, 1): False,
3825
- (0, None): True,
3826
- (1, 0): False,
3827
- (1, None): True,
3828
- (None, 0): False,
3829
- (None, 1): False,
3830
- },
3831
- ("rzx", "swap"): False,
3832
- ("rzx", "iswap"): False,
3833
- ("rzx", "rzz"): {
3834
- (0, 1): False,
3835
- (0, None): True,
3836
- (1, 0): False,
3837
- (1, None): True,
3838
- (None, 0): False,
3839
- (None, 1): False,
3840
- },
3841
- ("rzx", "rzx"): {
3842
- (0, 1): True,
3843
- (0, None): True,
3844
- (1, 0): True,
3845
- (1, None): False,
3846
- (None, 0): False,
3847
- (None, 1): True,
3848
- },
3849
3264
  }