qiskit 1.4.2__cp39-abi3-win_amd64.whl → 2.0.0rc2__cp39-abi3-win_amd64.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 (455) hide show
  1. qiskit/VERSION.txt +1 -1
  2. qiskit/__init__.py +2 -5
  3. qiskit/_accelerate.pyd +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 +2 -141
  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 +3 -7
  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 +7 -1
  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 +93 -130
  156. qiskit/qpy/binary_io/schedules.py +69 -439
  157. qiskit/qpy/binary_io/value.py +154 -31
  158. qiskit/qpy/common.py +10 -7
  159. qiskit/qpy/formats.py +41 -0
  160. qiskit/qpy/interface.py +34 -81
  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/evolution/lie_trotter.py +10 -7
  193. qiskit/synthesis/evolution/product_formula.py +44 -35
  194. qiskit/synthesis/evolution/qdrift.py +17 -24
  195. qiskit/synthesis/evolution/suzuki_trotter.py +20 -27
  196. qiskit/synthesis/linear/linear_depth_lnn.py +6 -221
  197. qiskit/synthesis/linear_phase/cx_cz_depth_lnn.py +4 -205
  198. qiskit/synthesis/multi_controlled/__init__.py +1 -0
  199. qiskit/synthesis/multi_controlled/mcx_synthesis.py +5 -2
  200. qiskit/synthesis/multi_controlled/multi_control_rotation_gates.py +206 -0
  201. qiskit/synthesis/one_qubit/one_qubit_decompose.py +1 -1
  202. qiskit/synthesis/two_qubit/__init__.py +1 -0
  203. qiskit/synthesis/two_qubit/two_qubit_decompose.py +28 -145
  204. qiskit/transpiler/__init__.py +32 -232
  205. qiskit/transpiler/basepasses.py +20 -51
  206. qiskit/transpiler/layout.py +1 -1
  207. qiskit/transpiler/passes/__init__.py +2 -40
  208. qiskit/transpiler/passes/basis/basis_translator.py +4 -3
  209. qiskit/transpiler/passes/basis/decompose.py +1 -15
  210. qiskit/transpiler/passes/basis/unroll_3q_or_more.py +1 -5
  211. qiskit/transpiler/passes/basis/unroll_custom_definitions.py +3 -2
  212. qiskit/transpiler/passes/layout/apply_layout.py +4 -0
  213. qiskit/transpiler/passes/layout/dense_layout.py +2 -39
  214. qiskit/transpiler/passes/layout/full_ancilla_allocation.py +4 -4
  215. qiskit/transpiler/passes/layout/sabre_layout.py +7 -3
  216. qiskit/transpiler/passes/layout/vf2_layout.py +2 -20
  217. qiskit/transpiler/passes/layout/vf2_post_layout.py +60 -125
  218. qiskit/transpiler/passes/layout/vf2_utils.py +2 -26
  219. qiskit/transpiler/passes/optimization/__init__.py +1 -3
  220. qiskit/transpiler/passes/optimization/collect_and_collapse.py +2 -0
  221. qiskit/transpiler/passes/optimization/collect_cliffords.py +5 -0
  222. qiskit/transpiler/passes/optimization/collect_linear_functions.py +5 -0
  223. qiskit/transpiler/passes/optimization/collect_multiqubit_blocks.py +16 -1
  224. qiskit/transpiler/passes/optimization/commutation_analysis.py +3 -3
  225. qiskit/transpiler/passes/optimization/consolidate_blocks.py +41 -19
  226. qiskit/transpiler/passes/optimization/contract_idle_wires_in_control_flow.py +104 -0
  227. qiskit/transpiler/passes/optimization/light_cone.py +135 -0
  228. qiskit/transpiler/passes/optimization/optimize_1q_commutation.py +0 -1
  229. qiskit/transpiler/passes/optimization/optimize_1q_decomposition.py +18 -22
  230. qiskit/transpiler/passes/optimization/optimize_annotated.py +3 -2
  231. qiskit/transpiler/passes/optimization/remove_identity_equiv.py +6 -4
  232. qiskit/transpiler/passes/optimization/reset_after_measure_simplification.py +5 -2
  233. qiskit/transpiler/passes/optimization/split_2q_unitaries.py +26 -3
  234. qiskit/transpiler/passes/optimization/template_matching/template_substitution.py +1 -0
  235. qiskit/transpiler/passes/routing/__init__.py +0 -1
  236. qiskit/transpiler/passes/routing/commuting_2q_gate_routing/commuting_2q_gate_router.py +3 -1
  237. qiskit/transpiler/passes/routing/sabre_swap.py +14 -6
  238. qiskit/transpiler/passes/routing/star_prerouting.py +1 -1
  239. qiskit/transpiler/passes/scheduling/__init__.py +1 -7
  240. qiskit/transpiler/passes/scheduling/alignments/__init__.py +2 -4
  241. qiskit/transpiler/passes/scheduling/alignments/check_durations.py +1 -9
  242. qiskit/transpiler/passes/scheduling/alignments/reschedule.py +17 -16
  243. qiskit/transpiler/passes/scheduling/padding/base_padding.py +30 -2
  244. qiskit/transpiler/passes/scheduling/padding/dynamical_decoupling.py +20 -58
  245. qiskit/transpiler/passes/scheduling/padding/pad_delay.py +11 -3
  246. qiskit/transpiler/passes/scheduling/scheduling/alap.py +5 -39
  247. qiskit/transpiler/passes/scheduling/scheduling/asap.py +4 -35
  248. qiskit/transpiler/passes/scheduling/scheduling/base_scheduler.py +10 -16
  249. qiskit/transpiler/passes/scheduling/time_unit_conversion.py +127 -59
  250. qiskit/transpiler/passes/synthesis/default_unitary_synth_plugin.py +653 -0
  251. qiskit/transpiler/passes/synthesis/high_level_synthesis.py +176 -601
  252. qiskit/transpiler/passes/synthesis/hls_plugins.py +294 -1
  253. qiskit/transpiler/passes/synthesis/plugin.py +4 -0
  254. qiskit/transpiler/passes/synthesis/solovay_kitaev_synthesis.py +16 -10
  255. qiskit/transpiler/passes/synthesis/unitary_synthesis.py +34 -697
  256. qiskit/transpiler/passes/utils/__init__.py +0 -1
  257. qiskit/transpiler/passes/utils/check_gate_direction.py +13 -5
  258. qiskit/transpiler/passes/utils/control_flow.py +2 -6
  259. qiskit/transpiler/passes/utils/gate_direction.py +7 -0
  260. qiskit/transpiler/passes/utils/remove_final_measurements.py +40 -33
  261. qiskit/transpiler/passmanager.py +13 -0
  262. qiskit/transpiler/passmanager_config.py +5 -81
  263. qiskit/transpiler/preset_passmanagers/builtin_plugins.py +225 -344
  264. qiskit/transpiler/preset_passmanagers/common.py +140 -167
  265. qiskit/transpiler/preset_passmanagers/generate_preset_pass_manager.py +101 -322
  266. qiskit/transpiler/preset_passmanagers/level0.py +2 -11
  267. qiskit/transpiler/preset_passmanagers/level1.py +2 -14
  268. qiskit/transpiler/preset_passmanagers/level2.py +2 -12
  269. qiskit/transpiler/preset_passmanagers/level3.py +2 -11
  270. qiskit/transpiler/preset_passmanagers/plugin.py +5 -3
  271. qiskit/transpiler/target.py +67 -524
  272. qiskit/user_config.py +8 -4
  273. qiskit/utils/__init__.py +13 -12
  274. qiskit/utils/deprecation.py +4 -112
  275. qiskit/utils/optionals.py +11 -4
  276. qiskit/utils/parallel.py +214 -87
  277. qiskit/utils/units.py +4 -1
  278. qiskit/visualization/__init__.py +3 -7
  279. qiskit/visualization/array.py +4 -1
  280. qiskit/visualization/bloch.py +1 -1
  281. qiskit/visualization/circuit/_utils.py +19 -19
  282. qiskit/visualization/circuit/circuit_visualization.py +11 -4
  283. qiskit/visualization/circuit/matplotlib.py +13 -23
  284. qiskit/visualization/circuit/text.py +7 -3
  285. qiskit/visualization/dag_visualization.py +2 -1
  286. qiskit/visualization/gate_map.py +39 -154
  287. qiskit/visualization/pass_manager_visualization.py +6 -2
  288. qiskit/visualization/state_visualization.py +6 -0
  289. qiskit/visualization/timeline/core.py +18 -12
  290. qiskit/visualization/timeline/interface.py +19 -18
  291. {qiskit-1.4.2.dist-info → qiskit-2.0.0rc2.dist-info}/METADATA +2 -2
  292. {qiskit-1.4.2.dist-info → qiskit-2.0.0rc2.dist-info}/RECORD +296 -443
  293. {qiskit-1.4.2.dist-info → qiskit-2.0.0rc2.dist-info}/entry_points.txt +8 -2
  294. qiskit/assembler/__init__.py +0 -42
  295. qiskit/assembler/assemble_circuits.py +0 -451
  296. qiskit/assembler/assemble_schedules.py +0 -367
  297. qiskit/assembler/disassemble.py +0 -310
  298. qiskit/assembler/run_config.py +0 -77
  299. qiskit/circuit/bit.py +0 -106
  300. qiskit/circuit/classicalfunction/__init__.py +0 -152
  301. qiskit/circuit/classicalfunction/boolean_expression.py +0 -138
  302. qiskit/circuit/classicalfunction/classical_element.py +0 -54
  303. qiskit/circuit/classicalfunction/classical_function_visitor.py +0 -155
  304. qiskit/circuit/classicalfunction/classicalfunction.py +0 -182
  305. qiskit/circuit/classicalfunction/exceptions.py +0 -41
  306. qiskit/circuit/classicalfunction/types.py +0 -18
  307. qiskit/circuit/classicalfunction/utils.py +0 -91
  308. qiskit/circuit/classicalregister.py +0 -57
  309. qiskit/circuit/library/standard_gates/multi_control_rotation_gates.py +0 -405
  310. qiskit/circuit/quantumregister.py +0 -75
  311. qiskit/circuit/register.py +0 -246
  312. qiskit/compiler/assembler.py +0 -689
  313. qiskit/compiler/scheduler.py +0 -109
  314. qiskit/compiler/sequencer.py +0 -71
  315. qiskit/primitives/backend_estimator.py +0 -486
  316. qiskit/primitives/backend_sampler.py +0 -222
  317. qiskit/primitives/estimator.py +0 -172
  318. qiskit/primitives/sampler.py +0 -162
  319. qiskit/providers/backend_compat.py +0 -507
  320. qiskit/providers/fake_provider/backends_v1/__init__.py +0 -22
  321. qiskit/providers/fake_provider/backends_v1/fake_127q_pulse/__init__.py +0 -18
  322. qiskit/providers/fake_provider/backends_v1/fake_127q_pulse/conf_washington.json +0 -1
  323. qiskit/providers/fake_provider/backends_v1/fake_127q_pulse/defs_washington.json +0 -1
  324. qiskit/providers/fake_provider/backends_v1/fake_127q_pulse/fake_127q_pulse_v1.py +0 -37
  325. qiskit/providers/fake_provider/backends_v1/fake_127q_pulse/props_washington.json +0 -1
  326. qiskit/providers/fake_provider/backends_v1/fake_20q/conf_singapore.json +0 -1
  327. qiskit/providers/fake_provider/backends_v1/fake_20q/fake_20q.py +0 -43
  328. qiskit/providers/fake_provider/backends_v1/fake_20q/props_singapore.json +0 -1
  329. qiskit/providers/fake_provider/backends_v1/fake_27q_pulse/__init__.py +0 -18
  330. qiskit/providers/fake_provider/backends_v1/fake_27q_pulse/conf_hanoi.json +0 -1
  331. qiskit/providers/fake_provider/backends_v1/fake_27q_pulse/defs_hanoi.json +0 -1
  332. qiskit/providers/fake_provider/backends_v1/fake_27q_pulse/fake_27q_pulse_v1.py +0 -50
  333. qiskit/providers/fake_provider/backends_v1/fake_27q_pulse/props_hanoi.json +0 -1
  334. qiskit/providers/fake_provider/backends_v1/fake_5q/__init__.py +0 -18
  335. qiskit/providers/fake_provider/backends_v1/fake_5q/conf_yorktown.json +0 -1
  336. qiskit/providers/fake_provider/backends_v1/fake_5q/fake_5q_v1.py +0 -41
  337. qiskit/providers/fake_provider/backends_v1/fake_5q/props_yorktown.json +0 -1
  338. qiskit/providers/fake_provider/backends_v1/fake_7q_pulse/__init__.py +0 -18
  339. qiskit/providers/fake_provider/backends_v1/fake_7q_pulse/conf_nairobi.json +0 -1
  340. qiskit/providers/fake_provider/backends_v1/fake_7q_pulse/defs_nairobi.json +0 -1
  341. qiskit/providers/fake_provider/backends_v1/fake_7q_pulse/fake_7q_pulse_v1.py +0 -44
  342. qiskit/providers/fake_provider/backends_v1/fake_7q_pulse/props_nairobi.json +0 -1
  343. qiskit/providers/fake_provider/fake_1q.py +0 -91
  344. qiskit/providers/fake_provider/fake_backend.py +0 -165
  345. qiskit/providers/fake_provider/fake_openpulse_2q.py +0 -391
  346. qiskit/providers/fake_provider/fake_openpulse_3q.py +0 -340
  347. qiskit/providers/fake_provider/fake_pulse_backend.py +0 -49
  348. qiskit/providers/fake_provider/fake_qasm_backend.py +0 -77
  349. qiskit/providers/fake_provider/utils/backend_converter.py +0 -150
  350. qiskit/providers/fake_provider/utils/json_decoder.py +0 -109
  351. qiskit/providers/models/__init__.py +0 -89
  352. qiskit/providers/models/backendconfiguration.py +0 -1040
  353. qiskit/providers/models/backendproperties.py +0 -535
  354. qiskit/providers/models/backendstatus.py +0 -104
  355. qiskit/providers/models/jobstatus.py +0 -77
  356. qiskit/providers/models/pulsedefaults.py +0 -305
  357. qiskit/providers/provider.py +0 -95
  358. qiskit/pulse/__init__.py +0 -158
  359. qiskit/pulse/builder.py +0 -2262
  360. qiskit/pulse/calibration_entries.py +0 -381
  361. qiskit/pulse/channels.py +0 -227
  362. qiskit/pulse/configuration.py +0 -245
  363. qiskit/pulse/exceptions.py +0 -45
  364. qiskit/pulse/filters.py +0 -309
  365. qiskit/pulse/instruction_schedule_map.py +0 -424
  366. qiskit/pulse/instructions/__init__.py +0 -67
  367. qiskit/pulse/instructions/acquire.py +0 -150
  368. qiskit/pulse/instructions/delay.py +0 -71
  369. qiskit/pulse/instructions/directives.py +0 -154
  370. qiskit/pulse/instructions/frequency.py +0 -135
  371. qiskit/pulse/instructions/instruction.py +0 -270
  372. qiskit/pulse/instructions/phase.py +0 -152
  373. qiskit/pulse/instructions/play.py +0 -99
  374. qiskit/pulse/instructions/reference.py +0 -100
  375. qiskit/pulse/instructions/snapshot.py +0 -82
  376. qiskit/pulse/library/__init__.py +0 -97
  377. qiskit/pulse/library/continuous.py +0 -430
  378. qiskit/pulse/library/pulse.py +0 -148
  379. qiskit/pulse/library/samplers/__init__.py +0 -15
  380. qiskit/pulse/library/samplers/decorators.py +0 -295
  381. qiskit/pulse/library/samplers/strategies.py +0 -71
  382. qiskit/pulse/library/symbolic_pulses.py +0 -1989
  383. qiskit/pulse/library/waveform.py +0 -136
  384. qiskit/pulse/macros.py +0 -262
  385. qiskit/pulse/parameter_manager.py +0 -445
  386. qiskit/pulse/parser.py +0 -314
  387. qiskit/pulse/reference_manager.py +0 -58
  388. qiskit/pulse/schedule.py +0 -1854
  389. qiskit/pulse/transforms/__init__.py +0 -106
  390. qiskit/pulse/transforms/alignments.py +0 -406
  391. qiskit/pulse/transforms/base_transforms.py +0 -71
  392. qiskit/pulse/transforms/canonicalization.py +0 -498
  393. qiskit/pulse/transforms/dag.py +0 -122
  394. qiskit/pulse/utils.py +0 -149
  395. qiskit/qobj/__init__.py +0 -75
  396. qiskit/qobj/common.py +0 -81
  397. qiskit/qobj/converters/__init__.py +0 -18
  398. qiskit/qobj/converters/lo_config.py +0 -177
  399. qiskit/qobj/converters/pulse_instruction.py +0 -897
  400. qiskit/qobj/pulse_qobj.py +0 -709
  401. qiskit/qobj/qasm_qobj.py +0 -708
  402. qiskit/qobj/utils.py +0 -46
  403. qiskit/result/mitigation/base_readout_mitigator.py +0 -79
  404. qiskit/result/mitigation/correlated_readout_mitigator.py +0 -277
  405. qiskit/result/mitigation/local_readout_mitigator.py +0 -328
  406. qiskit/result/mitigation/utils.py +0 -217
  407. qiskit/scheduler/__init__.py +0 -40
  408. qiskit/scheduler/config.py +0 -37
  409. qiskit/scheduler/lowering.py +0 -187
  410. qiskit/scheduler/methods/__init__.py +0 -15
  411. qiskit/scheduler/methods/basic.py +0 -140
  412. qiskit/scheduler/schedule_circuit.py +0 -69
  413. qiskit/scheduler/sequence.py +0 -104
  414. qiskit/transpiler/passes/calibration/__init__.py +0 -17
  415. qiskit/transpiler/passes/calibration/base_builder.py +0 -79
  416. qiskit/transpiler/passes/calibration/builders.py +0 -20
  417. qiskit/transpiler/passes/calibration/exceptions.py +0 -22
  418. qiskit/transpiler/passes/calibration/pulse_gate.py +0 -100
  419. qiskit/transpiler/passes/calibration/rx_builder.py +0 -164
  420. qiskit/transpiler/passes/calibration/rzx_builder.py +0 -411
  421. qiskit/transpiler/passes/calibration/rzx_templates.py +0 -58
  422. qiskit/transpiler/passes/optimization/cx_cancellation.py +0 -65
  423. qiskit/transpiler/passes/optimization/echo_rzx_weyl_decomposition.py +0 -162
  424. qiskit/transpiler/passes/optimization/normalize_rx_angle.py +0 -157
  425. qiskit/transpiler/passes/routing/stochastic_swap.py +0 -532
  426. qiskit/transpiler/passes/scheduling/alap.py +0 -153
  427. qiskit/transpiler/passes/scheduling/alignments/align_measures.py +0 -255
  428. qiskit/transpiler/passes/scheduling/alignments/pulse_gate_validation.py +0 -107
  429. qiskit/transpiler/passes/scheduling/asap.py +0 -175
  430. qiskit/transpiler/passes/scheduling/base_scheduler.py +0 -310
  431. qiskit/transpiler/passes/scheduling/dynamical_decoupling.py +0 -313
  432. qiskit/transpiler/passes/utils/convert_conditions_to_if_ops.py +0 -93
  433. qiskit/utils/deprecate_pulse.py +0 -119
  434. qiskit/utils/multiprocessing.py +0 -56
  435. qiskit/visualization/pulse_v2/__init__.py +0 -21
  436. qiskit/visualization/pulse_v2/core.py +0 -901
  437. qiskit/visualization/pulse_v2/device_info.py +0 -173
  438. qiskit/visualization/pulse_v2/drawings.py +0 -253
  439. qiskit/visualization/pulse_v2/events.py +0 -254
  440. qiskit/visualization/pulse_v2/generators/__init__.py +0 -40
  441. qiskit/visualization/pulse_v2/generators/barrier.py +0 -76
  442. qiskit/visualization/pulse_v2/generators/chart.py +0 -208
  443. qiskit/visualization/pulse_v2/generators/frame.py +0 -436
  444. qiskit/visualization/pulse_v2/generators/snapshot.py +0 -133
  445. qiskit/visualization/pulse_v2/generators/waveform.py +0 -645
  446. qiskit/visualization/pulse_v2/interface.py +0 -459
  447. qiskit/visualization/pulse_v2/layouts.py +0 -387
  448. qiskit/visualization/pulse_v2/plotters/__init__.py +0 -17
  449. qiskit/visualization/pulse_v2/plotters/base_plotter.py +0 -53
  450. qiskit/visualization/pulse_v2/plotters/matplotlib.py +0 -201
  451. qiskit/visualization/pulse_v2/stylesheet.py +0 -312
  452. qiskit/visualization/pulse_v2/types.py +0 -242
  453. {qiskit-1.4.2.dist-info → qiskit-2.0.0rc2.dist-info}/LICENSE.txt +0 -0
  454. {qiskit-1.4.2.dist-info → qiskit-2.0.0rc2.dist-info}/WHEEL +0 -0
  455. {qiskit-1.4.2.dist-info → qiskit-2.0.0rc2.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")
@@ -83,7 +79,7 @@ class RGate(Gate):
83
79
  self.definition = qc
84
80
 
85
81
  def inverse(self, annotated: bool = False):
86
- """Invert this gate as: :math:`r(θ, φ)^dagger = r(-θ, φ)`
82
+ r"""Invert this gate as: :math:`R(θ, φ)^{\dagger} = R(-θ, φ)`
87
83
 
88
84
  Args:
89
85
  annotated: when set to ``True``, this is typically used to return an
@@ -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