qiskit 1.4.0__cp39-abi3-macosx_11_0_arm64.whl → 2.0.0rc1__cp39-abi3-macosx_11_0_arm64.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 (456) hide show
  1. qiskit/VERSION.txt +1 -1
  2. qiskit/__init__.py +2 -5
  3. qiskit/_accelerate.abi3.so +0 -0
  4. qiskit/circuit/__init__.py +24 -5
  5. qiskit/circuit/{add_control.py → _add_control.py} +32 -12
  6. qiskit/circuit/_classical_resource_map.py +5 -3
  7. qiskit/circuit/barrier.py +3 -7
  8. qiskit/circuit/classical/expr/__init__.py +31 -3
  9. qiskit/circuit/classical/expr/constructors.py +248 -28
  10. qiskit/circuit/classical/expr/expr.py +104 -3
  11. qiskit/circuit/classical/expr/visitors.py +75 -0
  12. qiskit/circuit/classical/types/__init__.py +12 -8
  13. qiskit/circuit/classical/types/ordering.py +14 -7
  14. qiskit/circuit/classical/types/types.py +36 -0
  15. qiskit/circuit/commutation_checker.py +34 -7
  16. qiskit/circuit/controlflow/__init__.py +32 -1
  17. qiskit/circuit/controlflow/_builder_utils.py +9 -5
  18. qiskit/circuit/controlflow/box.py +163 -0
  19. qiskit/circuit/controlflow/break_loop.py +1 -1
  20. qiskit/circuit/controlflow/builder.py +139 -39
  21. qiskit/circuit/controlflow/continue_loop.py +1 -3
  22. qiskit/circuit/controlflow/control_flow.py +10 -0
  23. qiskit/circuit/controlflow/for_loop.py +2 -1
  24. qiskit/circuit/controlflow/if_else.py +3 -16
  25. qiskit/circuit/controlflow/switch_case.py +2 -8
  26. qiskit/circuit/controlflow/while_loop.py +2 -7
  27. qiskit/circuit/controlledgate.py +2 -4
  28. qiskit/circuit/delay.py +40 -11
  29. qiskit/circuit/duration.py +0 -15
  30. qiskit/circuit/gate.py +2 -4
  31. qiskit/circuit/instruction.py +7 -140
  32. qiskit/circuit/instructionset.py +7 -54
  33. qiskit/circuit/library/__init__.py +34 -5
  34. qiskit/circuit/library/arithmetic/__init__.py +16 -10
  35. qiskit/circuit/library/arithmetic/adders/cdkm_ripple_carry_adder.py +1 -1
  36. qiskit/circuit/library/arithmetic/adders/draper_qft_adder.py +2 -2
  37. qiskit/circuit/library/arithmetic/adders/vbe_ripple_carry_adder.py +1 -1
  38. qiskit/circuit/library/arithmetic/exact_reciprocal.py +64 -21
  39. qiskit/circuit/library/arithmetic/integer_comparator.py +37 -80
  40. qiskit/circuit/library/arithmetic/linear_amplitude_function.py +169 -2
  41. qiskit/circuit/library/arithmetic/linear_pauli_rotations.py +59 -5
  42. qiskit/circuit/library/arithmetic/piecewise_chebyshev.py +154 -6
  43. qiskit/circuit/library/arithmetic/piecewise_linear_pauli_rotations.py +114 -4
  44. qiskit/circuit/library/arithmetic/piecewise_polynomial_pauli_rotations.py +191 -15
  45. qiskit/circuit/library/arithmetic/polynomial_pauli_rotations.py +93 -39
  46. qiskit/circuit/library/arithmetic/quadratic_form.py +168 -2
  47. qiskit/circuit/library/arithmetic/weighted_adder.py +73 -1
  48. qiskit/circuit/library/bit_flip_oracle.py +130 -0
  49. qiskit/circuit/library/blueprintcircuit.py +52 -16
  50. qiskit/circuit/library/data_preparation/initializer.py +1 -1
  51. qiskit/circuit/library/data_preparation/pauli_feature_map.py +4 -4
  52. qiskit/circuit/library/data_preparation/state_preparation.py +1 -1
  53. qiskit/circuit/library/generalized_gates/gms.py +1 -1
  54. qiskit/circuit/library/generalized_gates/isometry.py +1 -1
  55. qiskit/circuit/library/generalized_gates/pauli.py +1 -2
  56. qiskit/circuit/library/generalized_gates/uc.py +97 -7
  57. qiskit/circuit/library/generalized_gates/uc_pauli_rot.py +1 -1
  58. qiskit/circuit/library/generalized_gates/unitary.py +4 -2
  59. qiskit/circuit/library/hamiltonian_gate.py +1 -1
  60. qiskit/circuit/library/n_local/evolved_operator_ansatz.py +1 -1
  61. qiskit/circuit/library/n_local/n_local.py +1 -1
  62. qiskit/circuit/library/n_local/qaoa_ansatz.py +1 -1
  63. qiskit/circuit/library/overlap.py +2 -2
  64. qiskit/circuit/library/pauli_evolution.py +39 -24
  65. qiskit/circuit/library/phase_oracle.py +130 -51
  66. qiskit/circuit/library/standard_gates/__init__.py +0 -1
  67. qiskit/circuit/library/standard_gates/dcx.py +3 -4
  68. qiskit/circuit/library/standard_gates/ecr.py +3 -4
  69. qiskit/circuit/library/standard_gates/global_phase.py +5 -6
  70. qiskit/circuit/library/standard_gates/h.py +4 -9
  71. qiskit/circuit/library/standard_gates/i.py +2 -2
  72. qiskit/circuit/library/standard_gates/iswap.py +3 -4
  73. qiskit/circuit/library/standard_gates/p.py +15 -34
  74. qiskit/circuit/library/standard_gates/r.py +2 -6
  75. qiskit/circuit/library/standard_gates/rx.py +5 -15
  76. qiskit/circuit/library/standard_gates/rxx.py +3 -6
  77. qiskit/circuit/library/standard_gates/ry.py +5 -17
  78. qiskit/circuit/library/standard_gates/ryy.py +3 -6
  79. qiskit/circuit/library/standard_gates/rz.py +5 -17
  80. qiskit/circuit/library/standard_gates/rzx.py +3 -6
  81. qiskit/circuit/library/standard_gates/rzz.py +3 -6
  82. qiskit/circuit/library/standard_gates/s.py +6 -15
  83. qiskit/circuit/library/standard_gates/swap.py +4 -11
  84. qiskit/circuit/library/standard_gates/sx.py +7 -12
  85. qiskit/circuit/library/standard_gates/t.py +6 -7
  86. qiskit/circuit/library/standard_gates/u.py +2 -10
  87. qiskit/circuit/library/standard_gates/u1.py +5 -16
  88. qiskit/circuit/library/standard_gates/u2.py +2 -6
  89. qiskit/circuit/library/standard_gates/u3.py +3 -11
  90. qiskit/circuit/library/standard_gates/x.py +13 -60
  91. qiskit/circuit/library/standard_gates/xx_minus_yy.py +2 -5
  92. qiskit/circuit/library/standard_gates/xx_plus_yy.py +2 -5
  93. qiskit/circuit/library/standard_gates/y.py +4 -9
  94. qiskit/circuit/library/standard_gates/z.py +5 -15
  95. qiskit/circuit/measure.py +11 -2
  96. qiskit/circuit/parameterexpression.py +4 -0
  97. qiskit/circuit/quantumcircuit.py +881 -555
  98. qiskit/circuit/random/utils.py +12 -6
  99. qiskit/circuit/reset.py +5 -2
  100. qiskit/circuit/singleton.py +5 -11
  101. qiskit/circuit/store.py +0 -8
  102. qiskit/compiler/__init__.py +1 -7
  103. qiskit/compiler/transpiler.py +38 -196
  104. qiskit/converters/circuit_to_dag.py +4 -2
  105. qiskit/converters/circuit_to_dagdependency.py +0 -2
  106. qiskit/converters/circuit_to_dagdependency_v2.py +0 -1
  107. qiskit/converters/circuit_to_gate.py +1 -1
  108. qiskit/converters/circuit_to_instruction.py +16 -29
  109. qiskit/converters/dag_to_circuit.py +5 -5
  110. qiskit/converters/dag_to_dagdependency.py +0 -1
  111. qiskit/converters/dag_to_dagdependency_v2.py +0 -1
  112. qiskit/converters/dagdependency_to_circuit.py +0 -6
  113. qiskit/converters/dagdependency_to_dag.py +0 -6
  114. qiskit/dagcircuit/collect_blocks.py +32 -20
  115. qiskit/dagcircuit/dagdependency.py +3 -37
  116. qiskit/dagcircuit/dagdependency_v2.py +2 -80
  117. qiskit/dagcircuit/dagnode.py +14 -2
  118. qiskit/passmanager/__init__.py +24 -6
  119. qiskit/passmanager/passmanager.py +26 -24
  120. qiskit/primitives/__init__.py +44 -35
  121. qiskit/primitives/backend_estimator_v2.py +102 -23
  122. qiskit/primitives/backend_sampler_v2.py +5 -20
  123. qiskit/primitives/base/__init__.py +4 -4
  124. qiskit/primitives/base/base_estimator.py +77 -82
  125. qiskit/primitives/base/base_primitive_job.py +2 -2
  126. qiskit/primitives/base/{base_primitive.py → base_primitive_v1.py} +1 -1
  127. qiskit/primitives/base/{base_result.py → base_result_v1.py} +1 -1
  128. qiskit/primitives/base/base_sampler.py +52 -60
  129. qiskit/primitives/base/{estimator_result.py → estimator_result_v1.py} +2 -2
  130. qiskit/primitives/base/{sampler_result.py → sampler_result_v1.py} +2 -2
  131. qiskit/primitives/base/{validation.py → validation_v1.py} +34 -15
  132. qiskit/primitives/containers/bindings_array.py +3 -1
  133. qiskit/primitives/containers/bit_array.py +23 -0
  134. qiskit/primitives/containers/data_bin.py +3 -1
  135. qiskit/primitives/containers/observables_array.py +19 -2
  136. qiskit/primitives/statevector_sampler.py +6 -8
  137. qiskit/primitives/utils.py +14 -189
  138. qiskit/providers/__init__.py +4 -130
  139. qiskit/providers/backend.py +11 -314
  140. qiskit/providers/basic_provider/__init__.py +3 -1
  141. qiskit/providers/basic_provider/basic_provider.py +29 -9
  142. qiskit/providers/basic_provider/basic_simulator.py +158 -298
  143. qiskit/providers/exceptions.py +0 -33
  144. qiskit/providers/fake_provider/__init__.py +0 -37
  145. qiskit/providers/fake_provider/generic_backend_v2.py +32 -693
  146. qiskit/qasm2/__init__.py +21 -6
  147. qiskit/qasm2/export.py +2 -10
  148. qiskit/qasm2/parse.py +11 -25
  149. qiskit/qasm3/__init__.py +5 -1
  150. qiskit/qasm3/ast.py +44 -0
  151. qiskit/qasm3/exporter.py +65 -27
  152. qiskit/qasm3/printer.py +35 -4
  153. qiskit/qpy/__init__.py +141 -19
  154. qiskit/qpy/binary_io/__init__.py +0 -1
  155. qiskit/qpy/binary_io/circuits.py +91 -116
  156. qiskit/qpy/binary_io/schedules.py +61 -388
  157. qiskit/qpy/binary_io/value.py +168 -28
  158. qiskit/qpy/common.py +10 -7
  159. qiskit/qpy/formats.py +41 -0
  160. qiskit/qpy/interface.py +29 -62
  161. qiskit/qpy/type_keys.py +58 -221
  162. qiskit/quantum_info/analysis/distance.py +3 -1
  163. qiskit/quantum_info/operators/dihedral/dihedral.py +3 -1
  164. qiskit/quantum_info/operators/operator.py +6 -2
  165. qiskit/quantum_info/operators/symplectic/clifford.py +3 -1
  166. qiskit/quantum_info/operators/symplectic/pauli.py +4 -2
  167. qiskit/quantum_info/operators/symplectic/pauli_list.py +17 -5
  168. qiskit/quantum_info/operators/symplectic/sparse_pauli_op.py +40 -6
  169. qiskit/quantum_info/states/densitymatrix.py +16 -6
  170. qiskit/quantum_info/states/stabilizerstate.py +35 -4
  171. qiskit/quantum_info/states/statevector.py +16 -6
  172. qiskit/result/__init__.py +5 -17
  173. qiskit/result/models.py +18 -10
  174. qiskit/result/result.py +28 -126
  175. qiskit/result/sampled_expval.py +1 -2
  176. qiskit/result/utils.py +3 -4
  177. qiskit/synthesis/__init__.py +21 -1
  178. qiskit/synthesis/arithmetic/__init__.py +3 -1
  179. qiskit/synthesis/arithmetic/adders/cdkm_ripple_carry_adder.py +1 -1
  180. qiskit/synthesis/arithmetic/adders/draper_qft_adder.py +1 -1
  181. qiskit/synthesis/arithmetic/adders/vbe_ripple_carry_adder.py +2 -2
  182. qiskit/{providers/fake_provider/backends_v1/fake_20q → synthesis/arithmetic/comparators}/__init__.py +4 -6
  183. qiskit/synthesis/arithmetic/comparators/compare_2s.py +112 -0
  184. qiskit/synthesis/arithmetic/comparators/compare_greedy.py +66 -0
  185. qiskit/synthesis/arithmetic/multipliers/hrs_cumulative_multiplier.py +1 -1
  186. qiskit/synthesis/arithmetic/multipliers/rg_qft_multiplier.py +1 -1
  187. qiskit/synthesis/arithmetic/weighted_sum.py +155 -0
  188. qiskit/{result/mitigation → synthesis/boolean}/__init__.py +2 -2
  189. qiskit/synthesis/boolean/boolean_expression.py +231 -0
  190. qiskit/synthesis/boolean/boolean_expression_synth.py +124 -0
  191. qiskit/synthesis/boolean/boolean_expression_visitor.py +96 -0
  192. qiskit/synthesis/discrete_basis/generate_basis_approximations.py +2 -0
  193. qiskit/synthesis/evolution/lie_trotter.py +10 -7
  194. qiskit/synthesis/evolution/product_formula.py +44 -35
  195. qiskit/synthesis/evolution/qdrift.py +17 -24
  196. qiskit/synthesis/evolution/suzuki_trotter.py +20 -27
  197. qiskit/synthesis/linear/linear_depth_lnn.py +6 -221
  198. qiskit/synthesis/linear_phase/cx_cz_depth_lnn.py +4 -205
  199. qiskit/synthesis/multi_controlled/__init__.py +1 -0
  200. qiskit/synthesis/multi_controlled/mcx_synthesis.py +5 -2
  201. qiskit/synthesis/multi_controlled/multi_control_rotation_gates.py +206 -0
  202. qiskit/synthesis/one_qubit/one_qubit_decompose.py +1 -1
  203. qiskit/synthesis/two_qubit/__init__.py +1 -0
  204. qiskit/synthesis/two_qubit/two_qubit_decompose.py +28 -145
  205. qiskit/transpiler/__init__.py +32 -232
  206. qiskit/transpiler/basepasses.py +20 -51
  207. qiskit/transpiler/layout.py +1 -1
  208. qiskit/transpiler/passes/__init__.py +2 -40
  209. qiskit/transpiler/passes/basis/basis_translator.py +4 -3
  210. qiskit/transpiler/passes/basis/decompose.py +1 -15
  211. qiskit/transpiler/passes/basis/unroll_3q_or_more.py +1 -5
  212. qiskit/transpiler/passes/basis/unroll_custom_definitions.py +3 -2
  213. qiskit/transpiler/passes/layout/apply_layout.py +5 -0
  214. qiskit/transpiler/passes/layout/dense_layout.py +2 -39
  215. qiskit/transpiler/passes/layout/full_ancilla_allocation.py +4 -4
  216. qiskit/transpiler/passes/layout/sabre_layout.py +7 -3
  217. qiskit/transpiler/passes/layout/vf2_layout.py +2 -20
  218. qiskit/transpiler/passes/layout/vf2_post_layout.py +60 -125
  219. qiskit/transpiler/passes/layout/vf2_utils.py +2 -26
  220. qiskit/transpiler/passes/optimization/__init__.py +1 -3
  221. qiskit/transpiler/passes/optimization/collect_and_collapse.py +2 -0
  222. qiskit/transpiler/passes/optimization/collect_cliffords.py +5 -0
  223. qiskit/transpiler/passes/optimization/collect_linear_functions.py +5 -0
  224. qiskit/transpiler/passes/optimization/collect_multiqubit_blocks.py +16 -1
  225. qiskit/transpiler/passes/optimization/commutation_analysis.py +3 -3
  226. qiskit/transpiler/passes/optimization/consolidate_blocks.py +41 -19
  227. qiskit/transpiler/passes/optimization/contract_idle_wires_in_control_flow.py +104 -0
  228. qiskit/transpiler/passes/optimization/light_cone.py +135 -0
  229. qiskit/transpiler/passes/optimization/optimize_1q_commutation.py +0 -1
  230. qiskit/transpiler/passes/optimization/optimize_1q_decomposition.py +18 -22
  231. qiskit/transpiler/passes/optimization/optimize_annotated.py +3 -2
  232. qiskit/transpiler/passes/optimization/remove_identity_equiv.py +6 -4
  233. qiskit/transpiler/passes/optimization/reset_after_measure_simplification.py +5 -2
  234. qiskit/transpiler/passes/optimization/split_2q_unitaries.py +26 -3
  235. qiskit/transpiler/passes/optimization/template_matching/template_substitution.py +1 -0
  236. qiskit/transpiler/passes/routing/__init__.py +0 -1
  237. qiskit/transpiler/passes/routing/commuting_2q_gate_routing/commuting_2q_gate_router.py +3 -1
  238. qiskit/transpiler/passes/routing/sabre_swap.py +14 -6
  239. qiskit/transpiler/passes/routing/star_prerouting.py +1 -1
  240. qiskit/transpiler/passes/scheduling/__init__.py +1 -7
  241. qiskit/transpiler/passes/scheduling/alignments/__init__.py +2 -4
  242. qiskit/transpiler/passes/scheduling/alignments/check_durations.py +1 -9
  243. qiskit/transpiler/passes/scheduling/alignments/reschedule.py +17 -16
  244. qiskit/transpiler/passes/scheduling/padding/base_padding.py +30 -2
  245. qiskit/transpiler/passes/scheduling/padding/dynamical_decoupling.py +20 -58
  246. qiskit/transpiler/passes/scheduling/padding/pad_delay.py +11 -3
  247. qiskit/transpiler/passes/scheduling/scheduling/alap.py +5 -39
  248. qiskit/transpiler/passes/scheduling/scheduling/asap.py +4 -35
  249. qiskit/transpiler/passes/scheduling/scheduling/base_scheduler.py +10 -16
  250. qiskit/transpiler/passes/scheduling/time_unit_conversion.py +127 -59
  251. qiskit/transpiler/passes/synthesis/default_unitary_synth_plugin.py +653 -0
  252. qiskit/transpiler/passes/synthesis/high_level_synthesis.py +176 -601
  253. qiskit/transpiler/passes/synthesis/hls_plugins.py +294 -1
  254. qiskit/transpiler/passes/synthesis/plugin.py +4 -0
  255. qiskit/transpiler/passes/synthesis/solovay_kitaev_synthesis.py +16 -10
  256. qiskit/transpiler/passes/synthesis/unitary_synthesis.py +34 -697
  257. qiskit/transpiler/passes/utils/__init__.py +0 -1
  258. qiskit/transpiler/passes/utils/check_gate_direction.py +13 -5
  259. qiskit/transpiler/passes/utils/control_flow.py +2 -6
  260. qiskit/transpiler/passes/utils/gate_direction.py +7 -0
  261. qiskit/transpiler/passes/utils/remove_final_measurements.py +40 -33
  262. qiskit/transpiler/passmanager.py +13 -0
  263. qiskit/transpiler/passmanager_config.py +5 -81
  264. qiskit/transpiler/preset_passmanagers/builtin_plugins.py +225 -344
  265. qiskit/transpiler/preset_passmanagers/common.py +140 -167
  266. qiskit/transpiler/preset_passmanagers/generate_preset_pass_manager.py +101 -322
  267. qiskit/transpiler/preset_passmanagers/level0.py +2 -11
  268. qiskit/transpiler/preset_passmanagers/level1.py +2 -14
  269. qiskit/transpiler/preset_passmanagers/level2.py +2 -12
  270. qiskit/transpiler/preset_passmanagers/level3.py +2 -11
  271. qiskit/transpiler/preset_passmanagers/plugin.py +5 -3
  272. qiskit/transpiler/target.py +67 -524
  273. qiskit/user_config.py +8 -4
  274. qiskit/utils/__init__.py +13 -12
  275. qiskit/utils/deprecation.py +4 -112
  276. qiskit/utils/optionals.py +11 -4
  277. qiskit/utils/parallel.py +214 -87
  278. qiskit/utils/units.py +4 -1
  279. qiskit/visualization/__init__.py +3 -7
  280. qiskit/visualization/array.py +4 -1
  281. qiskit/visualization/bloch.py +1 -1
  282. qiskit/visualization/circuit/_utils.py +19 -19
  283. qiskit/visualization/circuit/circuit_visualization.py +11 -4
  284. qiskit/visualization/circuit/matplotlib.py +13 -23
  285. qiskit/visualization/circuit/text.py +7 -3
  286. qiskit/visualization/dag_visualization.py +2 -1
  287. qiskit/visualization/gate_map.py +39 -154
  288. qiskit/visualization/pass_manager_visualization.py +6 -2
  289. qiskit/visualization/state_visualization.py +6 -0
  290. qiskit/visualization/timeline/core.py +27 -12
  291. qiskit/visualization/timeline/interface.py +23 -18
  292. {qiskit-1.4.0.dist-info → qiskit-2.0.0rc1.dist-info}/METADATA +2 -2
  293. {qiskit-1.4.0.dist-info → qiskit-2.0.0rc1.dist-info}/RECORD +297 -444
  294. {qiskit-1.4.0.dist-info → qiskit-2.0.0rc1.dist-info}/WHEEL +2 -1
  295. {qiskit-1.4.0.dist-info → qiskit-2.0.0rc1.dist-info}/entry_points.txt +8 -2
  296. qiskit/assembler/__init__.py +0 -42
  297. qiskit/assembler/assemble_circuits.py +0 -451
  298. qiskit/assembler/assemble_schedules.py +0 -367
  299. qiskit/assembler/disassemble.py +0 -310
  300. qiskit/assembler/run_config.py +0 -77
  301. qiskit/circuit/bit.py +0 -106
  302. qiskit/circuit/classicalfunction/__init__.py +0 -152
  303. qiskit/circuit/classicalfunction/boolean_expression.py +0 -138
  304. qiskit/circuit/classicalfunction/classical_element.py +0 -54
  305. qiskit/circuit/classicalfunction/classical_function_visitor.py +0 -155
  306. qiskit/circuit/classicalfunction/classicalfunction.py +0 -182
  307. qiskit/circuit/classicalfunction/exceptions.py +0 -41
  308. qiskit/circuit/classicalfunction/types.py +0 -18
  309. qiskit/circuit/classicalfunction/utils.py +0 -91
  310. qiskit/circuit/classicalregister.py +0 -57
  311. qiskit/circuit/library/standard_gates/multi_control_rotation_gates.py +0 -405
  312. qiskit/circuit/quantumregister.py +0 -75
  313. qiskit/circuit/register.py +0 -246
  314. qiskit/compiler/assembler.py +0 -689
  315. qiskit/compiler/scheduler.py +0 -109
  316. qiskit/compiler/sequencer.py +0 -71
  317. qiskit/primitives/backend_estimator.py +0 -486
  318. qiskit/primitives/backend_sampler.py +0 -222
  319. qiskit/primitives/estimator.py +0 -172
  320. qiskit/primitives/sampler.py +0 -162
  321. qiskit/providers/backend_compat.py +0 -507
  322. qiskit/providers/fake_provider/backends_v1/__init__.py +0 -22
  323. qiskit/providers/fake_provider/backends_v1/fake_127q_pulse/__init__.py +0 -18
  324. qiskit/providers/fake_provider/backends_v1/fake_127q_pulse/conf_washington.json +0 -1
  325. qiskit/providers/fake_provider/backends_v1/fake_127q_pulse/defs_washington.json +0 -1
  326. qiskit/providers/fake_provider/backends_v1/fake_127q_pulse/fake_127q_pulse_v1.py +0 -37
  327. qiskit/providers/fake_provider/backends_v1/fake_127q_pulse/props_washington.json +0 -1
  328. qiskit/providers/fake_provider/backends_v1/fake_20q/conf_singapore.json +0 -1
  329. qiskit/providers/fake_provider/backends_v1/fake_20q/fake_20q.py +0 -43
  330. qiskit/providers/fake_provider/backends_v1/fake_20q/props_singapore.json +0 -1
  331. qiskit/providers/fake_provider/backends_v1/fake_27q_pulse/__init__.py +0 -18
  332. qiskit/providers/fake_provider/backends_v1/fake_27q_pulse/conf_hanoi.json +0 -1
  333. qiskit/providers/fake_provider/backends_v1/fake_27q_pulse/defs_hanoi.json +0 -1
  334. qiskit/providers/fake_provider/backends_v1/fake_27q_pulse/fake_27q_pulse_v1.py +0 -50
  335. qiskit/providers/fake_provider/backends_v1/fake_27q_pulse/props_hanoi.json +0 -1
  336. qiskit/providers/fake_provider/backends_v1/fake_5q/__init__.py +0 -18
  337. qiskit/providers/fake_provider/backends_v1/fake_5q/conf_yorktown.json +0 -1
  338. qiskit/providers/fake_provider/backends_v1/fake_5q/fake_5q_v1.py +0 -41
  339. qiskit/providers/fake_provider/backends_v1/fake_5q/props_yorktown.json +0 -1
  340. qiskit/providers/fake_provider/backends_v1/fake_7q_pulse/__init__.py +0 -18
  341. qiskit/providers/fake_provider/backends_v1/fake_7q_pulse/conf_nairobi.json +0 -1
  342. qiskit/providers/fake_provider/backends_v1/fake_7q_pulse/defs_nairobi.json +0 -1
  343. qiskit/providers/fake_provider/backends_v1/fake_7q_pulse/fake_7q_pulse_v1.py +0 -44
  344. qiskit/providers/fake_provider/backends_v1/fake_7q_pulse/props_nairobi.json +0 -1
  345. qiskit/providers/fake_provider/fake_1q.py +0 -91
  346. qiskit/providers/fake_provider/fake_backend.py +0 -165
  347. qiskit/providers/fake_provider/fake_openpulse_2q.py +0 -391
  348. qiskit/providers/fake_provider/fake_openpulse_3q.py +0 -340
  349. qiskit/providers/fake_provider/fake_pulse_backend.py +0 -49
  350. qiskit/providers/fake_provider/fake_qasm_backend.py +0 -77
  351. qiskit/providers/fake_provider/utils/backend_converter.py +0 -150
  352. qiskit/providers/fake_provider/utils/json_decoder.py +0 -109
  353. qiskit/providers/models/__init__.py +0 -89
  354. qiskit/providers/models/backendconfiguration.py +0 -1040
  355. qiskit/providers/models/backendproperties.py +0 -535
  356. qiskit/providers/models/backendstatus.py +0 -104
  357. qiskit/providers/models/jobstatus.py +0 -77
  358. qiskit/providers/models/pulsedefaults.py +0 -305
  359. qiskit/providers/provider.py +0 -95
  360. qiskit/pulse/__init__.py +0 -158
  361. qiskit/pulse/builder.py +0 -2262
  362. qiskit/pulse/calibration_entries.py +0 -381
  363. qiskit/pulse/channels.py +0 -227
  364. qiskit/pulse/configuration.py +0 -245
  365. qiskit/pulse/exceptions.py +0 -45
  366. qiskit/pulse/filters.py +0 -309
  367. qiskit/pulse/instruction_schedule_map.py +0 -424
  368. qiskit/pulse/instructions/__init__.py +0 -67
  369. qiskit/pulse/instructions/acquire.py +0 -150
  370. qiskit/pulse/instructions/delay.py +0 -71
  371. qiskit/pulse/instructions/directives.py +0 -154
  372. qiskit/pulse/instructions/frequency.py +0 -135
  373. qiskit/pulse/instructions/instruction.py +0 -270
  374. qiskit/pulse/instructions/phase.py +0 -152
  375. qiskit/pulse/instructions/play.py +0 -99
  376. qiskit/pulse/instructions/reference.py +0 -100
  377. qiskit/pulse/instructions/snapshot.py +0 -82
  378. qiskit/pulse/library/__init__.py +0 -97
  379. qiskit/pulse/library/continuous.py +0 -430
  380. qiskit/pulse/library/pulse.py +0 -148
  381. qiskit/pulse/library/samplers/__init__.py +0 -15
  382. qiskit/pulse/library/samplers/decorators.py +0 -295
  383. qiskit/pulse/library/samplers/strategies.py +0 -71
  384. qiskit/pulse/library/symbolic_pulses.py +0 -1989
  385. qiskit/pulse/library/waveform.py +0 -136
  386. qiskit/pulse/macros.py +0 -262
  387. qiskit/pulse/parameter_manager.py +0 -445
  388. qiskit/pulse/parser.py +0 -314
  389. qiskit/pulse/reference_manager.py +0 -58
  390. qiskit/pulse/schedule.py +0 -1854
  391. qiskit/pulse/transforms/__init__.py +0 -106
  392. qiskit/pulse/transforms/alignments.py +0 -406
  393. qiskit/pulse/transforms/base_transforms.py +0 -71
  394. qiskit/pulse/transforms/canonicalization.py +0 -498
  395. qiskit/pulse/transforms/dag.py +0 -122
  396. qiskit/pulse/utils.py +0 -149
  397. qiskit/qobj/__init__.py +0 -75
  398. qiskit/qobj/common.py +0 -81
  399. qiskit/qobj/converters/__init__.py +0 -18
  400. qiskit/qobj/converters/lo_config.py +0 -177
  401. qiskit/qobj/converters/pulse_instruction.py +0 -897
  402. qiskit/qobj/pulse_qobj.py +0 -709
  403. qiskit/qobj/qasm_qobj.py +0 -708
  404. qiskit/qobj/utils.py +0 -46
  405. qiskit/result/mitigation/base_readout_mitigator.py +0 -79
  406. qiskit/result/mitigation/correlated_readout_mitigator.py +0 -277
  407. qiskit/result/mitigation/local_readout_mitigator.py +0 -328
  408. qiskit/result/mitigation/utils.py +0 -217
  409. qiskit/scheduler/__init__.py +0 -40
  410. qiskit/scheduler/config.py +0 -37
  411. qiskit/scheduler/lowering.py +0 -187
  412. qiskit/scheduler/methods/__init__.py +0 -15
  413. qiskit/scheduler/methods/basic.py +0 -140
  414. qiskit/scheduler/schedule_circuit.py +0 -69
  415. qiskit/scheduler/sequence.py +0 -104
  416. qiskit/transpiler/passes/calibration/__init__.py +0 -17
  417. qiskit/transpiler/passes/calibration/base_builder.py +0 -79
  418. qiskit/transpiler/passes/calibration/builders.py +0 -20
  419. qiskit/transpiler/passes/calibration/exceptions.py +0 -22
  420. qiskit/transpiler/passes/calibration/pulse_gate.py +0 -100
  421. qiskit/transpiler/passes/calibration/rx_builder.py +0 -164
  422. qiskit/transpiler/passes/calibration/rzx_builder.py +0 -411
  423. qiskit/transpiler/passes/calibration/rzx_templates.py +0 -58
  424. qiskit/transpiler/passes/optimization/cx_cancellation.py +0 -65
  425. qiskit/transpiler/passes/optimization/echo_rzx_weyl_decomposition.py +0 -162
  426. qiskit/transpiler/passes/optimization/normalize_rx_angle.py +0 -157
  427. qiskit/transpiler/passes/routing/stochastic_swap.py +0 -532
  428. qiskit/transpiler/passes/scheduling/alap.py +0 -153
  429. qiskit/transpiler/passes/scheduling/alignments/align_measures.py +0 -255
  430. qiskit/transpiler/passes/scheduling/alignments/pulse_gate_validation.py +0 -107
  431. qiskit/transpiler/passes/scheduling/asap.py +0 -175
  432. qiskit/transpiler/passes/scheduling/base_scheduler.py +0 -310
  433. qiskit/transpiler/passes/scheduling/dynamical_decoupling.py +0 -313
  434. qiskit/transpiler/passes/utils/convert_conditions_to_if_ops.py +0 -93
  435. qiskit/utils/deprecate_pulse.py +0 -119
  436. qiskit/utils/multiprocessing.py +0 -56
  437. qiskit/visualization/pulse_v2/__init__.py +0 -21
  438. qiskit/visualization/pulse_v2/core.py +0 -901
  439. qiskit/visualization/pulse_v2/device_info.py +0 -173
  440. qiskit/visualization/pulse_v2/drawings.py +0 -253
  441. qiskit/visualization/pulse_v2/events.py +0 -254
  442. qiskit/visualization/pulse_v2/generators/__init__.py +0 -40
  443. qiskit/visualization/pulse_v2/generators/barrier.py +0 -76
  444. qiskit/visualization/pulse_v2/generators/chart.py +0 -208
  445. qiskit/visualization/pulse_v2/generators/frame.py +0 -436
  446. qiskit/visualization/pulse_v2/generators/snapshot.py +0 -133
  447. qiskit/visualization/pulse_v2/generators/waveform.py +0 -645
  448. qiskit/visualization/pulse_v2/interface.py +0 -459
  449. qiskit/visualization/pulse_v2/layouts.py +0 -387
  450. qiskit/visualization/pulse_v2/plotters/__init__.py +0 -17
  451. qiskit/visualization/pulse_v2/plotters/base_plotter.py +0 -53
  452. qiskit/visualization/pulse_v2/plotters/matplotlib.py +0 -201
  453. qiskit/visualization/pulse_v2/stylesheet.py +0 -312
  454. qiskit/visualization/pulse_v2/types.py +0 -242
  455. {qiskit-1.4.0.dist-info → qiskit-2.0.0rc1.dist-info}/LICENSE.txt +0 -0
  456. {qiskit-1.4.0.dist-info → qiskit-2.0.0rc1.dist-info}/top_level.txt +0 -0
@@ -15,7 +15,6 @@ from math import sqrt
15
15
  import numpy as np
16
16
 
17
17
  from qiskit.circuit._utils import with_gate_array
18
- from qiskit.circuit.quantumregister import QuantumRegister
19
18
  from qiskit.circuit.singleton import SingletonGate, stdlib_singleton_key
20
19
  from qiskit._accelerate.circuit import StandardGate
21
20
  from .rzx import RZXGate
@@ -87,9 +86,9 @@ class ECRGate(SingletonGate):
87
86
 
88
87
  _standard_gate = StandardGate.ECRGate
89
88
 
90
- def __init__(self, label=None, *, duration=None, unit="dt"):
89
+ def __init__(self, label=None):
91
90
  """Create new ECR gate."""
92
- super().__init__("ecr", 2, [], label=label, duration=duration, unit=unit)
91
+ super().__init__("ecr", 2, [], label=label)
93
92
 
94
93
  _singleton_lookup_key = stdlib_singleton_key()
95
94
 
@@ -98,7 +97,7 @@ class ECRGate(SingletonGate):
98
97
  gate ecr a, b { rzx(pi/4) a, b; x a; rzx(-pi/4) a, b;}
99
98
  """
100
99
  # pylint: disable=cyclic-import
101
- from qiskit.circuit.quantumcircuit import QuantumCircuit
100
+ from qiskit.circuit import QuantumCircuit, QuantumRegister
102
101
 
103
102
  q = QuantumRegister(2, "q")
104
103
  qc = QuantumCircuit(q, name=self.name)
@@ -17,8 +17,6 @@ from typing import Optional
17
17
  import numpy
18
18
 
19
19
  from qiskit.circuit.gate import Gate
20
- from qiskit.circuit.quantumregister import QuantumRegister
21
- from qiskit.circuit.quantumcircuit import QuantumCircuit
22
20
  from qiskit.circuit.parameterexpression import ParameterValueType
23
21
  from qiskit._accelerate.circuit import StandardGate
24
22
 
@@ -39,17 +37,18 @@ class GlobalPhaseGate(Gate):
39
37
 
40
38
  _standard_gate = StandardGate.GlobalPhaseGate
41
39
 
42
- def __init__(
43
- self, phase: ParameterValueType, label: Optional[str] = None, *, duration=None, unit="dt"
44
- ):
40
+ def __init__(self, phase: ParameterValueType, label: Optional[str] = None):
45
41
  """
46
42
  Args:
47
43
  phase: The value of phase it takes.
48
44
  label: An optional label for the gate.
49
45
  """
50
- super().__init__("global_phase", 0, [phase], label=label, duration=duration, unit=unit)
46
+ super().__init__("global_phase", 0, [phase], label=label)
51
47
 
52
48
  def _define(self):
49
+ # pylint: disable=cyclic-import
50
+ from qiskit.circuit import QuantumCircuit, QuantumRegister
51
+
53
52
  q = QuantumRegister(0, "q")
54
53
  qc = QuantumCircuit(q, name=self.name, global_phase=self.params[0])
55
54
 
@@ -18,7 +18,6 @@ from math import sqrt, pi
18
18
  from typing import Optional, Union
19
19
  import numpy
20
20
  from qiskit.circuit.singleton import SingletonGate, SingletonControlledGate, stdlib_singleton_key
21
- from qiskit.circuit.quantumregister import QuantumRegister
22
21
  from qiskit.circuit._utils import with_gate_array, with_controlled_gate_array
23
22
  from qiskit._accelerate.circuit import StandardGate
24
23
 
@@ -57,9 +56,9 @@ class HGate(SingletonGate):
57
56
 
58
57
  _standard_gate = StandardGate.HGate
59
58
 
60
- def __init__(self, label: Optional[str] = None, *, duration=None, unit="dt"):
59
+ def __init__(self, label: Optional[str] = None):
61
60
  """Create new H gate."""
62
- super().__init__("h", 1, [], label=label, duration=duration, unit=unit)
61
+ super().__init__("h", 1, [], label=label)
63
62
 
64
63
  _singleton_lookup_key = stdlib_singleton_key()
65
64
 
@@ -68,7 +67,7 @@ class HGate(SingletonGate):
68
67
  gate h a { u2(0,pi) a; }
69
68
  """
70
69
  # pylint: disable=cyclic-import
71
- from qiskit.circuit.quantumcircuit import QuantumCircuit
70
+ from qiskit.circuit import QuantumCircuit, QuantumRegister
72
71
  from .u2 import U2Gate
73
72
 
74
73
  q = QuantumRegister(1, "q")
@@ -196,8 +195,6 @@ class CHGate(SingletonControlledGate):
196
195
  label: Optional[str] = None,
197
196
  ctrl_state: Optional[Union[int, str]] = None,
198
197
  *,
199
- duration=None,
200
- unit="dt",
201
198
  _base_label=None,
202
199
  ):
203
200
  """Create new CH gate."""
@@ -209,8 +206,6 @@ class CHGate(SingletonControlledGate):
209
206
  label=label,
210
207
  ctrl_state=ctrl_state,
211
208
  base_gate=HGate(label=_base_label),
212
- duration=duration,
213
- unit=unit,
214
209
  _base_label=_base_label,
215
210
  )
216
211
 
@@ -229,7 +224,7 @@ class CHGate(SingletonControlledGate):
229
224
  }
230
225
  """
231
226
  # pylint: disable=cyclic-import
232
- from qiskit.circuit.quantumcircuit import QuantumCircuit
227
+ from qiskit.circuit import QuantumCircuit, QuantumRegister
233
228
  from .x import CXGate # pylint: disable=cyclic-import
234
229
  from .t import TGate, TdgGate
235
230
  from .s import SGate, SdgGate
@@ -49,9 +49,9 @@ class IGate(SingletonGate):
49
49
 
50
50
  _standard_gate = StandardGate.IGate
51
51
 
52
- def __init__(self, label: Optional[str] = None, *, duration=None, unit="dt"):
52
+ def __init__(self, label: Optional[str] = None):
53
53
  """Create new Identity gate."""
54
- super().__init__("id", 1, [], label=label, duration=duration, unit=unit)
54
+ super().__init__("id", 1, [], label=label)
55
55
 
56
56
  _singleton_lookup_key = stdlib_singleton_key()
57
57
 
@@ -17,7 +17,6 @@ from typing import Optional
17
17
  import numpy as np
18
18
 
19
19
  from qiskit.circuit.singleton import SingletonGate, stdlib_singleton_key
20
- from qiskit.circuit.quantumregister import QuantumRegister
21
20
  from qiskit.circuit._utils import with_gate_array
22
21
  from qiskit._accelerate.circuit import StandardGate
23
22
 
@@ -88,9 +87,9 @@ class iSwapGate(SingletonGate):
88
87
 
89
88
  _standard_gate = StandardGate.ISwapGate
90
89
 
91
- def __init__(self, label: Optional[str] = None, *, duration=None, unit="dt"):
90
+ def __init__(self, label: Optional[str] = None):
92
91
  """Create new iSwap gate."""
93
- super().__init__("iswap", 2, [], label=label, duration=duration, unit=unit)
92
+ super().__init__("iswap", 2, [], label=label)
94
93
 
95
94
  _singleton_lookup_key = stdlib_singleton_key()
96
95
 
@@ -106,7 +105,7 @@ class iSwapGate(SingletonGate):
106
105
  }
107
106
  """
108
107
  # pylint: disable=cyclic-import
109
- from qiskit.circuit.quantumcircuit import QuantumCircuit
108
+ from qiskit.circuit import QuantumCircuit, QuantumRegister
110
109
 
111
110
  from .h import HGate
112
111
  from .s import SGate
@@ -17,7 +17,6 @@ from cmath import exp
17
17
  import numpy
18
18
  from qiskit.circuit.controlledgate import ControlledGate
19
19
  from qiskit.circuit.gate import Gate
20
- from qiskit.circuit.quantumregister import QuantumRegister
21
20
  from qiskit.circuit.parameterexpression import ParameterValueType
22
21
  from qiskit._accelerate.circuit import StandardGate
23
22
 
@@ -78,15 +77,13 @@ class PhaseGate(Gate):
78
77
 
79
78
  _standard_gate = StandardGate.PhaseGate
80
79
 
81
- def __init__(
82
- self, theta: ParameterValueType, label: str | None = None, *, duration=None, unit="dt"
83
- ):
80
+ def __init__(self, theta: ParameterValueType, label: str | None = None):
84
81
  """Create new Phase gate."""
85
- super().__init__("p", 1, [theta], label=label, duration=duration, unit=unit)
82
+ super().__init__("p", 1, [theta], label=label)
86
83
 
87
84
  def _define(self):
88
85
  # pylint: disable=cyclic-import
89
- from qiskit.circuit.quantumcircuit import QuantumCircuit
86
+ from qiskit.circuit import QuantumCircuit, QuantumRegister
90
87
  from .u import UGate
91
88
 
92
89
  q = QuantumRegister(1, "q")
@@ -208,8 +205,6 @@ class CPhaseGate(ControlledGate):
208
205
  label: str | None = None,
209
206
  ctrl_state: str | int | None = None,
210
207
  *,
211
- duration=None,
212
- unit="dt",
213
208
  _base_label=None,
214
209
  ):
215
210
  """Create new CPhase gate."""
@@ -221,8 +216,6 @@ class CPhaseGate(ControlledGate):
221
216
  label=label,
222
217
  ctrl_state=ctrl_state,
223
218
  base_gate=PhaseGate(theta, label=_base_label),
224
- duration=duration,
225
- unit=unit,
226
219
  )
227
220
 
228
221
  def _define(self):
@@ -234,7 +227,7 @@ class CPhaseGate(ControlledGate):
234
227
  }
235
228
  """
236
229
  # pylint: disable=cyclic-import
237
- from qiskit.circuit.quantumcircuit import QuantumCircuit
230
+ from qiskit.circuit import QuantumCircuit, QuantumRegister
238
231
 
239
232
  # ┌────────┐
240
233
  # q_0: ┤ P(λ/2) ├──■───────────────■────────────
@@ -342,8 +335,6 @@ class MCPhaseGate(ControlledGate):
342
335
  label: str | None = None,
343
336
  ctrl_state: str | int | None = None,
344
337
  *,
345
- duration=None,
346
- unit="dt",
347
338
  _base_label=None,
348
339
  ):
349
340
  """Create new MCPhase gate."""
@@ -355,13 +346,11 @@ class MCPhaseGate(ControlledGate):
355
346
  label=label,
356
347
  ctrl_state=ctrl_state,
357
348
  base_gate=PhaseGate(lam, label=_base_label),
358
- duration=duration,
359
- unit=unit,
360
349
  )
361
350
 
362
351
  def _define(self):
363
352
  # pylint: disable=cyclic-import
364
- from qiskit.circuit.quantumcircuit import QuantumCircuit
353
+ from qiskit.circuit import QuantumCircuit, QuantumRegister
365
354
 
366
355
  qr = QuantumRegister(self.num_qubits, "q")
367
356
  qc = QuantumCircuit(qr, name=self.name)
@@ -372,24 +361,16 @@ class MCPhaseGate(ControlledGate):
372
361
  qc.cp(self.params[0], 0, 1)
373
362
  else:
374
363
  lam = self.params[0]
375
- if type(lam) in [float, int]:
376
- q_controls = list(range(self.num_ctrl_qubits))
377
- q_target = self.num_ctrl_qubits
378
- new_target = q_target
379
- for k in range(self.num_ctrl_qubits):
380
- # Note: it's better *not* to run transpile recursively
381
- qc.mcrz(lam / (2**k), q_controls, new_target, use_basis_gates=False)
382
- new_target = q_controls.pop()
383
- qc.p(lam / (2**self.num_ctrl_qubits), new_target)
384
- else: # in this case type(lam) is ParameterValueType
385
- from .u3 import _gray_code_chain
386
-
387
- scaled_lam = self.params[0] / (2 ** (self.num_ctrl_qubits - 1))
388
- bottom_gate = CPhaseGate(scaled_lam)
389
- for operation, qubits, clbits in _gray_code_chain(
390
- qr, self.num_ctrl_qubits, bottom_gate
391
- ):
392
- qc._append(operation, qubits, clbits)
364
+
365
+ q_controls = list(range(self.num_ctrl_qubits))
366
+ q_target = self.num_ctrl_qubits
367
+ new_target = q_target
368
+ for k in range(self.num_ctrl_qubits):
369
+ # Note: it's better *not* to run transpile recursively
370
+ qc.mcrz(lam / (2**k), q_controls, new_target, use_basis_gates=False)
371
+ new_target = q_controls.pop()
372
+ qc.p(lam / (2**self.num_ctrl_qubits), new_target)
373
+
393
374
  self.definition = qc
394
375
 
395
376
  def control(
@@ -18,7 +18,6 @@ from math import pi
18
18
  from typing import Optional
19
19
  import numpy
20
20
  from qiskit.circuit.gate import Gate
21
- from qiskit.circuit.quantumregister import QuantumRegister
22
21
  from qiskit.circuit.parameterexpression import ParameterValueType
23
22
  from qiskit._accelerate.circuit import StandardGate
24
23
 
@@ -57,19 +56,16 @@ class RGate(Gate):
57
56
  theta: ParameterValueType,
58
57
  phi: ParameterValueType,
59
58
  label: Optional[str] = None,
60
- *,
61
- duration=None,
62
- unit="dt",
63
59
  ):
64
60
  """Create new r single-qubit gate."""
65
- super().__init__("r", 1, [theta, phi], label=label, duration=duration, unit=unit)
61
+ super().__init__("r", 1, [theta, phi], label=label)
66
62
 
67
63
  def _define(self):
68
64
  """
69
65
  gate r(θ, φ) a {u3(θ, φ - π/2, -φ + π/2) a;}
70
66
  """
71
67
  # pylint: disable=cyclic-import
72
- from qiskit.circuit.quantumcircuit import QuantumCircuit
68
+ from qiskit.circuit import QuantumCircuit, QuantumRegister
73
69
  from .u3 import U3Gate
74
70
 
75
71
  q = QuantumRegister(1, "q")
@@ -21,8 +21,7 @@ import numpy
21
21
 
22
22
  from qiskit.circuit.controlledgate import ControlledGate
23
23
  from qiskit.circuit.gate import Gate
24
- from qiskit.circuit.quantumregister import QuantumRegister
25
- from qiskit.circuit.parameterexpression import ParameterValueType, ParameterExpression
24
+ from qiskit.circuit.parameterexpression import ParameterValueType
26
25
  from qiskit._accelerate.circuit import StandardGate
27
26
 
28
27
 
@@ -55,18 +54,16 @@ class RXGate(Gate):
55
54
 
56
55
  _standard_gate = StandardGate.RXGate
57
56
 
58
- def __init__(
59
- self, theta: ParameterValueType, label: Optional[str] = None, *, duration=None, unit="dt"
60
- ):
57
+ def __init__(self, theta: ParameterValueType, label: Optional[str] = None):
61
58
  """Create new RX gate."""
62
- super().__init__("rx", 1, [theta], label=label, duration=duration, unit=unit)
59
+ super().__init__("rx", 1, [theta], label=label)
63
60
 
64
61
  def _define(self):
65
62
  """
66
63
  gate rx(theta) a {r(theta, 0) a;}
67
64
  """
68
65
  # pylint: disable=cyclic-import
69
- from qiskit.circuit.quantumcircuit import QuantumCircuit
66
+ from qiskit.circuit import QuantumCircuit, QuantumRegister
70
67
  from .r import RGate
71
68
 
72
69
  q = QuantumRegister(1, "q")
@@ -104,11 +101,6 @@ class RXGate(Gate):
104
101
  gate = CRXGate(self.params[0], label=label, ctrl_state=ctrl_state)
105
102
  gate.base_gate.label = self.label
106
103
  else:
107
- # If the gate parameters contain free parameters, we cannot eagerly synthesize
108
- # the controlled gate decomposition. In this case, we annotate the gate per default.
109
- if annotated is None:
110
- annotated = any(isinstance(p, ParameterExpression) for p in self.params)
111
-
112
104
  gate = super().control(
113
105
  num_ctrl_qubits=num_ctrl_qubits,
114
106
  label=label,
@@ -218,8 +210,6 @@ class CRXGate(ControlledGate):
218
210
  label: Optional[str] = None,
219
211
  ctrl_state: Optional[Union[str, int]] = None,
220
212
  *,
221
- duration=None,
222
- unit="dt",
223
213
  _base_label=None,
224
214
  ):
225
215
  """Create new CRX gate."""
@@ -244,7 +234,7 @@ class CRXGate(ControlledGate):
244
234
  }
245
235
  """
246
236
  # pylint: disable=cyclic-import
247
- from qiskit.circuit.quantumcircuit import QuantumCircuit
237
+ from qiskit.circuit import QuantumCircuit, QuantumRegister
248
238
  from .u1 import U1Gate
249
239
  from .u3 import U3Gate
250
240
  from .x import CXGate
@@ -18,7 +18,6 @@ import math
18
18
  from typing import Optional
19
19
  import numpy
20
20
  from qiskit.circuit.gate import Gate
21
- from qiskit.circuit.quantumregister import QuantumRegister
22
21
  from qiskit.circuit.parameterexpression import ParameterValueType, ParameterExpression
23
22
  from qiskit._accelerate.circuit import StandardGate
24
23
 
@@ -78,16 +77,14 @@ class RXXGate(Gate):
78
77
 
79
78
  _standard_gate = StandardGate.RXXGate
80
79
 
81
- def __init__(
82
- self, theta: ParameterValueType, label: Optional[str] = None, *, duration=None, unit="dt"
83
- ):
80
+ def __init__(self, theta: ParameterValueType, label: Optional[str] = None):
84
81
  """Create new RXX gate."""
85
- super().__init__("rxx", 2, [theta], label=label, duration=duration, unit=unit)
82
+ super().__init__("rxx", 2, [theta], label=label)
86
83
 
87
84
  def _define(self):
88
85
  """Calculate a subcircuit that implements this unitary."""
89
86
  # pylint: disable=cyclic-import
90
- from qiskit.circuit.quantumcircuit import QuantumCircuit
87
+ from qiskit.circuit import QuantumCircuit, QuantumRegister
91
88
  from .x import CXGate
92
89
  from .h import HGate
93
90
  from .rz import RZGate
@@ -20,8 +20,7 @@ from typing import Optional, Union
20
20
  import numpy
21
21
  from qiskit.circuit.controlledgate import ControlledGate
22
22
  from qiskit.circuit.gate import Gate
23
- from qiskit.circuit.quantumregister import QuantumRegister
24
- from qiskit.circuit.parameterexpression import ParameterValueType, ParameterExpression
23
+ from qiskit.circuit.parameterexpression import ParameterValueType
25
24
  from qiskit._accelerate.circuit import StandardGate
26
25
 
27
26
 
@@ -54,18 +53,16 @@ class RYGate(Gate):
54
53
 
55
54
  _standard_gate = StandardGate.RYGate
56
55
 
57
- def __init__(
58
- self, theta: ParameterValueType, label: Optional[str] = None, *, duration=None, unit="dt"
59
- ):
56
+ def __init__(self, theta: ParameterValueType, label: Optional[str] = None):
60
57
  """Create new RY gate."""
61
- super().__init__("ry", 1, [theta], label=label, duration=duration, unit=unit)
58
+ super().__init__("ry", 1, [theta], label=label)
62
59
 
63
60
  def _define(self):
64
61
  """
65
62
  gate ry(theta) a { r(theta, pi/2) a; }
66
63
  """
67
64
  # pylint: disable=cyclic-import
68
- from qiskit.circuit.quantumcircuit import QuantumCircuit
65
+ from qiskit.circuit import QuantumCircuit, QuantumRegister
69
66
  from .r import RGate
70
67
 
71
68
  q = QuantumRegister(1, "q")
@@ -103,11 +100,6 @@ class RYGate(Gate):
103
100
  gate = CRYGate(self.params[0], label=label, ctrl_state=ctrl_state)
104
101
  gate.base_gate.label = self.label
105
102
  else:
106
- # If the gate parameters contain free parameters, we cannot eagerly synthesize
107
- # the controlled gate decomposition. In this case, we annotate the gate per default.
108
- if annotated is None:
109
- annotated = any(isinstance(p, ParameterExpression) for p in self.params)
110
-
111
103
  gate = super().control(
112
104
  num_ctrl_qubits=num_ctrl_qubits,
113
105
  label=label,
@@ -217,8 +209,6 @@ class CRYGate(ControlledGate):
217
209
  label: Optional[str] = None,
218
210
  ctrl_state: Optional[Union[str, int]] = None,
219
211
  *,
220
- duration=None,
221
- unit="dt",
222
212
  _base_label=None,
223
213
  ):
224
214
  """Create new CRY gate."""
@@ -230,8 +220,6 @@ class CRYGate(ControlledGate):
230
220
  label=label,
231
221
  ctrl_state=ctrl_state,
232
222
  base_gate=RYGate(theta, label=_base_label),
233
- duration=duration,
234
- unit=unit,
235
223
  )
236
224
 
237
225
  def _define(self):
@@ -242,7 +230,7 @@ class CRYGate(ControlledGate):
242
230
  }
243
231
  """
244
232
  # pylint: disable=cyclic-import
245
- from qiskit.circuit.quantumcircuit import QuantumCircuit
233
+ from qiskit.circuit import QuantumCircuit, QuantumRegister
246
234
  from .x import CXGate
247
235
 
248
236
  # q_0: ─────────────■───────────────■──
@@ -18,7 +18,6 @@ import math
18
18
  from typing import Optional
19
19
  import numpy as np
20
20
  from qiskit.circuit.gate import Gate
21
- from qiskit.circuit.quantumregister import QuantumRegister
22
21
  from qiskit.circuit.parameterexpression import ParameterValueType, ParameterExpression
23
22
  from qiskit._accelerate.circuit import StandardGate
24
23
 
@@ -78,16 +77,14 @@ class RYYGate(Gate):
78
77
 
79
78
  _standard_gate = StandardGate.RYYGate
80
79
 
81
- def __init__(
82
- self, theta: ParameterValueType, label: Optional[str] = None, *, duration=None, unit="dt"
83
- ):
80
+ def __init__(self, theta: ParameterValueType, label: Optional[str] = None):
84
81
  """Create new RYY gate."""
85
- super().__init__("ryy", 2, [theta], label=label, duration=duration, unit=unit)
82
+ super().__init__("ryy", 2, [theta], label=label)
86
83
 
87
84
  def _define(self):
88
85
  """Calculate a subcircuit that implements this unitary."""
89
86
  # pylint: disable=cyclic-import
90
- from qiskit.circuit.quantumcircuit import QuantumCircuit
87
+ from qiskit.circuit import QuantumCircuit, QuantumRegister
91
88
  from .x import CXGate
92
89
  from .rx import RXGate
93
90
  from .rz import RZGate
@@ -18,8 +18,7 @@ from cmath import exp
18
18
  from typing import Optional, Union
19
19
  from qiskit.circuit.gate import Gate
20
20
  from qiskit.circuit.controlledgate import ControlledGate
21
- from qiskit.circuit.quantumregister import QuantumRegister
22
- from qiskit.circuit.parameterexpression import ParameterValueType, ParameterExpression
21
+ from qiskit.circuit.parameterexpression import ParameterValueType
23
22
  from qiskit._accelerate.circuit import StandardGate
24
23
 
25
24
 
@@ -65,18 +64,16 @@ class RZGate(Gate):
65
64
 
66
65
  _standard_gate = StandardGate.RZGate
67
66
 
68
- def __init__(
69
- self, phi: ParameterValueType, label: Optional[str] = None, *, duration=None, unit="dt"
70
- ):
67
+ def __init__(self, phi: ParameterValueType, label: Optional[str] = None):
71
68
  """Create new RZ gate."""
72
- super().__init__("rz", 1, [phi], label=label, duration=duration, unit=unit)
69
+ super().__init__("rz", 1, [phi], label=label)
73
70
 
74
71
  def _define(self):
75
72
  """
76
73
  gate rz(phi) a { u1(phi) a; }
77
74
  """
78
75
  # pylint: disable=cyclic-import
79
- from qiskit.circuit.quantumcircuit import QuantumCircuit
76
+ from qiskit.circuit import QuantumCircuit, QuantumRegister
80
77
  from .u1 import U1Gate
81
78
 
82
79
  q = QuantumRegister(1, "q")
@@ -115,11 +112,6 @@ class RZGate(Gate):
115
112
  gate = CRZGate(self.params[0], label=label, ctrl_state=ctrl_state)
116
113
  gate.base_gate.label = self.label
117
114
  else:
118
- # If the gate parameters contain free parameters, we cannot eagerly synthesize
119
- # the controlled gate decomposition. In this case, we annotate the gate per default.
120
- if annotated is None:
121
- annotated = any(isinstance(p, ParameterExpression) for p in self.params)
122
-
123
115
  gate = super().control(
124
116
  num_ctrl_qubits=num_ctrl_qubits,
125
117
  label=label,
@@ -236,8 +228,6 @@ class CRZGate(ControlledGate):
236
228
  label: Optional[str] = None,
237
229
  ctrl_state: Optional[Union[str, int]] = None,
238
230
  *,
239
- duration=None,
240
- unit="dt",
241
231
  _base_label=None,
242
232
  ):
243
233
  """Create new CRZ gate."""
@@ -249,8 +239,6 @@ class CRZGate(ControlledGate):
249
239
  label=label,
250
240
  ctrl_state=ctrl_state,
251
241
  base_gate=RZGate(theta, label=_base_label),
252
- duration=duration,
253
- unit=unit,
254
242
  )
255
243
 
256
244
  def _define(self):
@@ -261,7 +249,7 @@ class CRZGate(ControlledGate):
261
249
  }
262
250
  """
263
251
  # pylint: disable=cyclic-import
264
- from qiskit.circuit.quantumcircuit import QuantumCircuit
252
+ from qiskit.circuit import QuantumCircuit, QuantumRegister
265
253
  from .x import CXGate
266
254
 
267
255
  # q_0: ─────────────■────────────────■──
@@ -17,7 +17,6 @@ from __future__ import annotations
17
17
  import math
18
18
  from typing import Optional
19
19
  from qiskit.circuit.gate import Gate
20
- from qiskit.circuit.quantumregister import QuantumRegister
21
20
  from qiskit.circuit.parameterexpression import ParameterValueType, ParameterExpression
22
21
  from qiskit._accelerate.circuit import StandardGate
23
22
 
@@ -123,18 +122,16 @@ class RZXGate(Gate):
123
122
 
124
123
  _standard_gate = StandardGate.RZXGate
125
124
 
126
- def __init__(
127
- self, theta: ParameterValueType, label: Optional[str] = None, *, duration=None, unit="dt"
128
- ):
125
+ def __init__(self, theta: ParameterValueType, label: Optional[str] = None):
129
126
  """Create new RZX gate."""
130
- super().__init__("rzx", 2, [theta], label=label, duration=duration, unit=unit)
127
+ super().__init__("rzx", 2, [theta], label=label)
131
128
 
132
129
  def _define(self):
133
130
  """
134
131
  gate rzx(theta) a, b { h b; cx a, b; u1(theta) b; cx a, b; h b;}
135
132
  """
136
133
  # pylint: disable=cyclic-import
137
- from qiskit.circuit.quantumcircuit import QuantumCircuit
134
+ from qiskit.circuit import QuantumCircuit, QuantumRegister
138
135
  from .h import HGate
139
136
  from .x import CXGate
140
137
  from .rz import RZGate
@@ -17,7 +17,6 @@ from __future__ import annotations
17
17
  from cmath import exp
18
18
  from typing import Optional
19
19
  from qiskit.circuit.gate import Gate
20
- from qiskit.circuit.quantumregister import QuantumRegister
21
20
  from qiskit.circuit.parameterexpression import ParameterValueType, ParameterExpression
22
21
  from qiskit._accelerate.circuit import StandardGate
23
22
 
@@ -90,18 +89,16 @@ class RZZGate(Gate):
90
89
 
91
90
  _standard_gate = StandardGate.RZZGate
92
91
 
93
- def __init__(
94
- self, theta: ParameterValueType, label: Optional[str] = None, *, duration=None, unit="dt"
95
- ):
92
+ def __init__(self, theta: ParameterValueType, label: Optional[str] = None):
96
93
  """Create new RZZ gate."""
97
- super().__init__("rzz", 2, [theta], label=label, duration=duration, unit=unit)
94
+ super().__init__("rzz", 2, [theta], label=label)
98
95
 
99
96
  def _define(self):
100
97
  """
101
98
  gate rzz(theta) a, b { cx a, b; u1(theta) b; cx a, b; }
102
99
  """
103
100
  # pylint: disable=cyclic-import
104
- from qiskit.circuit.quantumcircuit import QuantumCircuit
101
+ from qiskit.circuit import QuantumCircuit, QuantumRegister
105
102
  from .x import CXGate
106
103
  from .rz import RZGate
107
104