qiskit 1.4.2__cp39-abi3-macosx_11_0_arm64.whl → 2.0.0__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 (459) hide show
  1. qiskit/VERSION.txt +1 -1
  2. qiskit/__init__.py +3 -9
  3. qiskit/_accelerate.abi3.so +0 -0
  4. qiskit/circuit/__init__.py +35 -10
  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 +236 -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 +469 -154
  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/graph_state.py +1 -0
  60. qiskit/circuit/library/hamiltonian_gate.py +1 -1
  61. qiskit/circuit/library/n_local/evolved_operator_ansatz.py +1 -1
  62. qiskit/circuit/library/n_local/n_local.py +1 -1
  63. qiskit/circuit/library/n_local/qaoa_ansatz.py +1 -1
  64. qiskit/circuit/library/overlap.py +2 -2
  65. qiskit/circuit/library/pauli_evolution.py +39 -24
  66. qiskit/circuit/library/phase_oracle.py +130 -51
  67. qiskit/circuit/library/standard_gates/__init__.py +0 -1
  68. qiskit/circuit/library/standard_gates/dcx.py +3 -4
  69. qiskit/circuit/library/standard_gates/ecr.py +3 -4
  70. qiskit/circuit/library/standard_gates/global_phase.py +5 -6
  71. qiskit/circuit/library/standard_gates/h.py +4 -9
  72. qiskit/circuit/library/standard_gates/i.py +2 -2
  73. qiskit/circuit/library/standard_gates/iswap.py +3 -4
  74. qiskit/circuit/library/standard_gates/p.py +15 -34
  75. qiskit/circuit/library/standard_gates/r.py +7 -10
  76. qiskit/circuit/library/standard_gates/rx.py +5 -15
  77. qiskit/circuit/library/standard_gates/rxx.py +3 -6
  78. qiskit/circuit/library/standard_gates/ry.py +5 -17
  79. qiskit/circuit/library/standard_gates/ryy.py +3 -6
  80. qiskit/circuit/library/standard_gates/rz.py +5 -17
  81. qiskit/circuit/library/standard_gates/rzx.py +3 -6
  82. qiskit/circuit/library/standard_gates/rzz.py +3 -6
  83. qiskit/circuit/library/standard_gates/s.py +6 -15
  84. qiskit/circuit/library/standard_gates/swap.py +4 -11
  85. qiskit/circuit/library/standard_gates/sx.py +7 -12
  86. qiskit/circuit/library/standard_gates/t.py +6 -7
  87. qiskit/circuit/library/standard_gates/u.py +2 -10
  88. qiskit/circuit/library/standard_gates/u1.py +5 -16
  89. qiskit/circuit/library/standard_gates/u2.py +2 -6
  90. qiskit/circuit/library/standard_gates/u3.py +3 -11
  91. qiskit/circuit/library/standard_gates/x.py +14 -62
  92. qiskit/circuit/library/standard_gates/xx_minus_yy.py +2 -5
  93. qiskit/circuit/library/standard_gates/xx_plus_yy.py +2 -5
  94. qiskit/circuit/library/standard_gates/y.py +4 -9
  95. qiskit/circuit/library/standard_gates/z.py +5 -15
  96. qiskit/circuit/measure.py +11 -2
  97. qiskit/circuit/parameterexpression.py +7 -1
  98. qiskit/circuit/quantumcircuit.py +890 -564
  99. qiskit/circuit/random/utils.py +12 -6
  100. qiskit/circuit/reset.py +5 -2
  101. qiskit/circuit/singleton.py +5 -11
  102. qiskit/circuit/store.py +0 -8
  103. qiskit/compiler/__init__.py +1 -7
  104. qiskit/compiler/transpiler.py +38 -196
  105. qiskit/converters/circuit_to_dag.py +6 -4
  106. qiskit/converters/circuit_to_dagdependency.py +0 -2
  107. qiskit/converters/circuit_to_dagdependency_v2.py +0 -1
  108. qiskit/converters/circuit_to_gate.py +1 -1
  109. qiskit/converters/circuit_to_instruction.py +16 -29
  110. qiskit/converters/dag_to_circuit.py +7 -8
  111. qiskit/converters/dag_to_dagdependency.py +0 -1
  112. qiskit/converters/dag_to_dagdependency_v2.py +0 -1
  113. qiskit/converters/dagdependency_to_circuit.py +0 -6
  114. qiskit/converters/dagdependency_to_dag.py +0 -6
  115. qiskit/dagcircuit/collect_blocks.py +32 -20
  116. qiskit/dagcircuit/dagdependency.py +3 -37
  117. qiskit/dagcircuit/dagdependency_v2.py +5 -82
  118. qiskit/dagcircuit/dagnode.py +14 -2
  119. qiskit/passmanager/__init__.py +24 -6
  120. qiskit/passmanager/passmanager.py +26 -24
  121. qiskit/primitives/__init__.py +44 -35
  122. qiskit/primitives/backend_estimator_v2.py +102 -23
  123. qiskit/primitives/backend_sampler_v2.py +5 -20
  124. qiskit/primitives/base/__init__.py +4 -4
  125. qiskit/primitives/base/base_estimator.py +77 -82
  126. qiskit/primitives/base/base_primitive_job.py +2 -2
  127. qiskit/primitives/base/{base_primitive.py → base_primitive_v1.py} +1 -1
  128. qiskit/primitives/base/{base_result.py → base_result_v1.py} +1 -1
  129. qiskit/primitives/base/base_sampler.py +52 -60
  130. qiskit/primitives/base/{estimator_result.py → estimator_result_v1.py} +2 -2
  131. qiskit/primitives/base/{sampler_result.py → sampler_result_v1.py} +2 -2
  132. qiskit/primitives/base/{validation.py → validation_v1.py} +34 -15
  133. qiskit/primitives/containers/bindings_array.py +3 -1
  134. qiskit/primitives/containers/bit_array.py +23 -0
  135. qiskit/primitives/containers/data_bin.py +3 -1
  136. qiskit/primitives/containers/observables_array.py +19 -2
  137. qiskit/primitives/statevector_sampler.py +6 -8
  138. qiskit/primitives/utils.py +14 -189
  139. qiskit/providers/__init__.py +4 -130
  140. qiskit/providers/backend.py +11 -314
  141. qiskit/providers/basic_provider/__init__.py +3 -1
  142. qiskit/providers/basic_provider/basic_provider.py +29 -9
  143. qiskit/providers/basic_provider/basic_simulator.py +158 -298
  144. qiskit/providers/exceptions.py +0 -33
  145. qiskit/providers/fake_provider/__init__.py +0 -37
  146. qiskit/providers/fake_provider/generic_backend_v2.py +32 -693
  147. qiskit/qasm2/__init__.py +21 -6
  148. qiskit/qasm2/export.py +2 -10
  149. qiskit/qasm2/parse.py +11 -25
  150. qiskit/qasm3/__init__.py +5 -1
  151. qiskit/qasm3/ast.py +44 -0
  152. qiskit/qasm3/exporter.py +65 -27
  153. qiskit/qasm3/printer.py +35 -4
  154. qiskit/qpy/__init__.py +162 -19
  155. qiskit/qpy/binary_io/__init__.py +0 -1
  156. qiskit/qpy/binary_io/circuits.py +98 -130
  157. qiskit/qpy/binary_io/schedules.py +69 -439
  158. qiskit/qpy/binary_io/value.py +154 -31
  159. qiskit/qpy/common.py +10 -7
  160. qiskit/qpy/formats.py +41 -0
  161. qiskit/qpy/interface.py +34 -81
  162. qiskit/qpy/type_keys.py +58 -221
  163. qiskit/quantum_info/analysis/distance.py +3 -1
  164. qiskit/quantum_info/operators/dihedral/dihedral.py +3 -1
  165. qiskit/quantum_info/operators/operator.py +6 -2
  166. qiskit/quantum_info/operators/symplectic/clifford.py +3 -1
  167. qiskit/quantum_info/operators/symplectic/pauli.py +4 -2
  168. qiskit/quantum_info/operators/symplectic/pauli_list.py +17 -5
  169. qiskit/quantum_info/operators/symplectic/sparse_pauli_op.py +40 -6
  170. qiskit/quantum_info/states/densitymatrix.py +16 -6
  171. qiskit/quantum_info/states/stabilizerstate.py +35 -4
  172. qiskit/quantum_info/states/statevector.py +16 -6
  173. qiskit/result/__init__.py +5 -17
  174. qiskit/result/models.py +18 -11
  175. qiskit/result/result.py +38 -134
  176. qiskit/result/sampled_expval.py +1 -2
  177. qiskit/result/utils.py +3 -4
  178. qiskit/synthesis/__init__.py +21 -1
  179. qiskit/synthesis/arithmetic/__init__.py +3 -1
  180. qiskit/synthesis/arithmetic/adders/cdkm_ripple_carry_adder.py +1 -1
  181. qiskit/synthesis/arithmetic/adders/draper_qft_adder.py +1 -1
  182. qiskit/synthesis/arithmetic/adders/vbe_ripple_carry_adder.py +2 -2
  183. qiskit/{providers/fake_provider/backends_v1/fake_20q → synthesis/arithmetic/comparators}/__init__.py +4 -6
  184. qiskit/synthesis/arithmetic/comparators/compare_2s.py +112 -0
  185. qiskit/synthesis/arithmetic/comparators/compare_greedy.py +66 -0
  186. qiskit/synthesis/arithmetic/multipliers/hrs_cumulative_multiplier.py +1 -1
  187. qiskit/synthesis/arithmetic/multipliers/rg_qft_multiplier.py +1 -1
  188. qiskit/synthesis/arithmetic/weighted_sum.py +155 -0
  189. qiskit/{result/mitigation → synthesis/boolean}/__init__.py +2 -2
  190. qiskit/synthesis/boolean/boolean_expression.py +231 -0
  191. qiskit/synthesis/boolean/boolean_expression_synth.py +124 -0
  192. qiskit/synthesis/boolean/boolean_expression_visitor.py +96 -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 +4 -40
  209. qiskit/transpiler/passes/basis/basis_translator.py +5 -4
  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 +4 -0
  214. qiskit/transpiler/passes/layout/dense_layout.py +2 -39
  215. qiskit/transpiler/passes/layout/full_ancilla_allocation.py +3 -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 +2 -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 +32 -4
  245. qiskit/transpiler/passes/scheduling/padding/dynamical_decoupling.py +25 -63
  246. qiskit/transpiler/passes/scheduling/padding/pad_delay.py +12 -4
  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 +134 -62
  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 +107 -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 +78 -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/counts_visualization.py +4 -0
  287. qiskit/visualization/dag_visualization.py +2 -1
  288. qiskit/visualization/gate_map.py +39 -154
  289. qiskit/visualization/library.py +4 -1
  290. qiskit/visualization/pass_manager_visualization.py +6 -2
  291. qiskit/visualization/state_visualization.py +19 -2
  292. qiskit/visualization/timeline/core.py +19 -13
  293. qiskit/visualization/timeline/interface.py +19 -18
  294. qiskit/visualization/timeline/plotters/matplotlib.py +4 -1
  295. {qiskit-1.4.2.dist-info → qiskit-2.0.0.dist-info}/METADATA +4 -3
  296. {qiskit-1.4.2.dist-info → qiskit-2.0.0.dist-info}/RECORD +300 -447
  297. {qiskit-1.4.2.dist-info → qiskit-2.0.0.dist-info}/WHEEL +2 -1
  298. {qiskit-1.4.2.dist-info → qiskit-2.0.0.dist-info}/entry_points.txt +8 -2
  299. qiskit/assembler/__init__.py +0 -42
  300. qiskit/assembler/assemble_circuits.py +0 -451
  301. qiskit/assembler/assemble_schedules.py +0 -367
  302. qiskit/assembler/disassemble.py +0 -310
  303. qiskit/assembler/run_config.py +0 -77
  304. qiskit/circuit/bit.py +0 -106
  305. qiskit/circuit/classicalfunction/__init__.py +0 -152
  306. qiskit/circuit/classicalfunction/boolean_expression.py +0 -138
  307. qiskit/circuit/classicalfunction/classical_element.py +0 -54
  308. qiskit/circuit/classicalfunction/classical_function_visitor.py +0 -155
  309. qiskit/circuit/classicalfunction/classicalfunction.py +0 -182
  310. qiskit/circuit/classicalfunction/exceptions.py +0 -41
  311. qiskit/circuit/classicalfunction/types.py +0 -18
  312. qiskit/circuit/classicalfunction/utils.py +0 -91
  313. qiskit/circuit/classicalregister.py +0 -57
  314. qiskit/circuit/library/standard_gates/multi_control_rotation_gates.py +0 -405
  315. qiskit/circuit/quantumregister.py +0 -75
  316. qiskit/circuit/register.py +0 -246
  317. qiskit/compiler/assembler.py +0 -689
  318. qiskit/compiler/scheduler.py +0 -109
  319. qiskit/compiler/sequencer.py +0 -71
  320. qiskit/primitives/backend_estimator.py +0 -486
  321. qiskit/primitives/backend_sampler.py +0 -222
  322. qiskit/primitives/estimator.py +0 -172
  323. qiskit/primitives/sampler.py +0 -162
  324. qiskit/providers/backend_compat.py +0 -507
  325. qiskit/providers/fake_provider/backends_v1/__init__.py +0 -22
  326. qiskit/providers/fake_provider/backends_v1/fake_127q_pulse/__init__.py +0 -18
  327. qiskit/providers/fake_provider/backends_v1/fake_127q_pulse/conf_washington.json +0 -1
  328. qiskit/providers/fake_provider/backends_v1/fake_127q_pulse/defs_washington.json +0 -1
  329. qiskit/providers/fake_provider/backends_v1/fake_127q_pulse/fake_127q_pulse_v1.py +0 -37
  330. qiskit/providers/fake_provider/backends_v1/fake_127q_pulse/props_washington.json +0 -1
  331. qiskit/providers/fake_provider/backends_v1/fake_20q/conf_singapore.json +0 -1
  332. qiskit/providers/fake_provider/backends_v1/fake_20q/fake_20q.py +0 -43
  333. qiskit/providers/fake_provider/backends_v1/fake_20q/props_singapore.json +0 -1
  334. qiskit/providers/fake_provider/backends_v1/fake_27q_pulse/__init__.py +0 -18
  335. qiskit/providers/fake_provider/backends_v1/fake_27q_pulse/conf_hanoi.json +0 -1
  336. qiskit/providers/fake_provider/backends_v1/fake_27q_pulse/defs_hanoi.json +0 -1
  337. qiskit/providers/fake_provider/backends_v1/fake_27q_pulse/fake_27q_pulse_v1.py +0 -50
  338. qiskit/providers/fake_provider/backends_v1/fake_27q_pulse/props_hanoi.json +0 -1
  339. qiskit/providers/fake_provider/backends_v1/fake_5q/__init__.py +0 -18
  340. qiskit/providers/fake_provider/backends_v1/fake_5q/conf_yorktown.json +0 -1
  341. qiskit/providers/fake_provider/backends_v1/fake_5q/fake_5q_v1.py +0 -41
  342. qiskit/providers/fake_provider/backends_v1/fake_5q/props_yorktown.json +0 -1
  343. qiskit/providers/fake_provider/backends_v1/fake_7q_pulse/__init__.py +0 -18
  344. qiskit/providers/fake_provider/backends_v1/fake_7q_pulse/conf_nairobi.json +0 -1
  345. qiskit/providers/fake_provider/backends_v1/fake_7q_pulse/defs_nairobi.json +0 -1
  346. qiskit/providers/fake_provider/backends_v1/fake_7q_pulse/fake_7q_pulse_v1.py +0 -44
  347. qiskit/providers/fake_provider/backends_v1/fake_7q_pulse/props_nairobi.json +0 -1
  348. qiskit/providers/fake_provider/fake_1q.py +0 -91
  349. qiskit/providers/fake_provider/fake_backend.py +0 -165
  350. qiskit/providers/fake_provider/fake_openpulse_2q.py +0 -391
  351. qiskit/providers/fake_provider/fake_openpulse_3q.py +0 -340
  352. qiskit/providers/fake_provider/fake_pulse_backend.py +0 -49
  353. qiskit/providers/fake_provider/fake_qasm_backend.py +0 -77
  354. qiskit/providers/fake_provider/utils/backend_converter.py +0 -150
  355. qiskit/providers/fake_provider/utils/json_decoder.py +0 -109
  356. qiskit/providers/models/__init__.py +0 -89
  357. qiskit/providers/models/backendconfiguration.py +0 -1040
  358. qiskit/providers/models/backendproperties.py +0 -535
  359. qiskit/providers/models/backendstatus.py +0 -104
  360. qiskit/providers/models/jobstatus.py +0 -77
  361. qiskit/providers/models/pulsedefaults.py +0 -305
  362. qiskit/providers/provider.py +0 -95
  363. qiskit/pulse/__init__.py +0 -158
  364. qiskit/pulse/builder.py +0 -2262
  365. qiskit/pulse/calibration_entries.py +0 -381
  366. qiskit/pulse/channels.py +0 -227
  367. qiskit/pulse/configuration.py +0 -245
  368. qiskit/pulse/exceptions.py +0 -45
  369. qiskit/pulse/filters.py +0 -309
  370. qiskit/pulse/instruction_schedule_map.py +0 -424
  371. qiskit/pulse/instructions/__init__.py +0 -67
  372. qiskit/pulse/instructions/acquire.py +0 -150
  373. qiskit/pulse/instructions/delay.py +0 -71
  374. qiskit/pulse/instructions/directives.py +0 -154
  375. qiskit/pulse/instructions/frequency.py +0 -135
  376. qiskit/pulse/instructions/instruction.py +0 -270
  377. qiskit/pulse/instructions/phase.py +0 -152
  378. qiskit/pulse/instructions/play.py +0 -99
  379. qiskit/pulse/instructions/reference.py +0 -100
  380. qiskit/pulse/instructions/snapshot.py +0 -82
  381. qiskit/pulse/library/__init__.py +0 -97
  382. qiskit/pulse/library/continuous.py +0 -430
  383. qiskit/pulse/library/pulse.py +0 -148
  384. qiskit/pulse/library/samplers/__init__.py +0 -15
  385. qiskit/pulse/library/samplers/decorators.py +0 -295
  386. qiskit/pulse/library/samplers/strategies.py +0 -71
  387. qiskit/pulse/library/symbolic_pulses.py +0 -1989
  388. qiskit/pulse/library/waveform.py +0 -136
  389. qiskit/pulse/macros.py +0 -262
  390. qiskit/pulse/parameter_manager.py +0 -445
  391. qiskit/pulse/parser.py +0 -314
  392. qiskit/pulse/reference_manager.py +0 -58
  393. qiskit/pulse/schedule.py +0 -1854
  394. qiskit/pulse/transforms/__init__.py +0 -106
  395. qiskit/pulse/transforms/alignments.py +0 -406
  396. qiskit/pulse/transforms/base_transforms.py +0 -71
  397. qiskit/pulse/transforms/canonicalization.py +0 -498
  398. qiskit/pulse/transforms/dag.py +0 -122
  399. qiskit/pulse/utils.py +0 -149
  400. qiskit/qobj/__init__.py +0 -75
  401. qiskit/qobj/common.py +0 -81
  402. qiskit/qobj/converters/__init__.py +0 -18
  403. qiskit/qobj/converters/lo_config.py +0 -177
  404. qiskit/qobj/converters/pulse_instruction.py +0 -897
  405. qiskit/qobj/pulse_qobj.py +0 -709
  406. qiskit/qobj/qasm_qobj.py +0 -708
  407. qiskit/qobj/utils.py +0 -46
  408. qiskit/result/mitigation/base_readout_mitigator.py +0 -79
  409. qiskit/result/mitigation/correlated_readout_mitigator.py +0 -277
  410. qiskit/result/mitigation/local_readout_mitigator.py +0 -328
  411. qiskit/result/mitigation/utils.py +0 -217
  412. qiskit/scheduler/__init__.py +0 -40
  413. qiskit/scheduler/config.py +0 -37
  414. qiskit/scheduler/lowering.py +0 -187
  415. qiskit/scheduler/methods/__init__.py +0 -15
  416. qiskit/scheduler/methods/basic.py +0 -140
  417. qiskit/scheduler/schedule_circuit.py +0 -69
  418. qiskit/scheduler/sequence.py +0 -104
  419. qiskit/transpiler/passes/calibration/__init__.py +0 -17
  420. qiskit/transpiler/passes/calibration/base_builder.py +0 -79
  421. qiskit/transpiler/passes/calibration/builders.py +0 -20
  422. qiskit/transpiler/passes/calibration/exceptions.py +0 -22
  423. qiskit/transpiler/passes/calibration/pulse_gate.py +0 -100
  424. qiskit/transpiler/passes/calibration/rx_builder.py +0 -164
  425. qiskit/transpiler/passes/calibration/rzx_builder.py +0 -411
  426. qiskit/transpiler/passes/calibration/rzx_templates.py +0 -58
  427. qiskit/transpiler/passes/optimization/cx_cancellation.py +0 -65
  428. qiskit/transpiler/passes/optimization/echo_rzx_weyl_decomposition.py +0 -162
  429. qiskit/transpiler/passes/optimization/normalize_rx_angle.py +0 -157
  430. qiskit/transpiler/passes/routing/stochastic_swap.py +0 -532
  431. qiskit/transpiler/passes/scheduling/alap.py +0 -153
  432. qiskit/transpiler/passes/scheduling/alignments/align_measures.py +0 -255
  433. qiskit/transpiler/passes/scheduling/alignments/pulse_gate_validation.py +0 -107
  434. qiskit/transpiler/passes/scheduling/asap.py +0 -175
  435. qiskit/transpiler/passes/scheduling/base_scheduler.py +0 -310
  436. qiskit/transpiler/passes/scheduling/dynamical_decoupling.py +0 -313
  437. qiskit/transpiler/passes/utils/convert_conditions_to_if_ops.py +0 -93
  438. qiskit/utils/deprecate_pulse.py +0 -119
  439. qiskit/utils/multiprocessing.py +0 -56
  440. qiskit/visualization/pulse_v2/__init__.py +0 -21
  441. qiskit/visualization/pulse_v2/core.py +0 -901
  442. qiskit/visualization/pulse_v2/device_info.py +0 -173
  443. qiskit/visualization/pulse_v2/drawings.py +0 -253
  444. qiskit/visualization/pulse_v2/events.py +0 -254
  445. qiskit/visualization/pulse_v2/generators/__init__.py +0 -40
  446. qiskit/visualization/pulse_v2/generators/barrier.py +0 -76
  447. qiskit/visualization/pulse_v2/generators/chart.py +0 -208
  448. qiskit/visualization/pulse_v2/generators/frame.py +0 -436
  449. qiskit/visualization/pulse_v2/generators/snapshot.py +0 -133
  450. qiskit/visualization/pulse_v2/generators/waveform.py +0 -645
  451. qiskit/visualization/pulse_v2/interface.py +0 -459
  452. qiskit/visualization/pulse_v2/layouts.py +0 -387
  453. qiskit/visualization/pulse_v2/plotters/__init__.py +0 -17
  454. qiskit/visualization/pulse_v2/plotters/base_plotter.py +0 -53
  455. qiskit/visualization/pulse_v2/plotters/matplotlib.py +0 -201
  456. qiskit/visualization/pulse_v2/stylesheet.py +0 -312
  457. qiskit/visualization/pulse_v2/types.py +0 -242
  458. {qiskit-1.4.2.dist-info → qiskit-2.0.0.dist-info/licenses}/LICENSE.txt +0 -0
  459. {qiskit-1.4.2.dist-info → qiskit-2.0.0.dist-info}/top_level.txt +0 -0
@@ -21,7 +21,6 @@ import numpy
21
21
  from qiskit.circuit.controlledgate import ControlledGate
22
22
  from qiskit.circuit.gate import Gate
23
23
  from qiskit.circuit.parameterexpression import ParameterValueType, ParameterExpression
24
- from qiskit.circuit.quantumregister import QuantumRegister
25
24
  from qiskit._accelerate.circuit import StandardGate
26
25
 
27
26
 
@@ -92,12 +91,9 @@ class U3Gate(Gate):
92
91
  phi: ParameterValueType,
93
92
  lam: ParameterValueType,
94
93
  label: Optional[str] = None,
95
- *,
96
- duration=None,
97
- unit="dt",
98
94
  ):
99
95
  """Create new U3 gate."""
100
- super().__init__("u3", 1, [theta, phi, lam], label=label, duration=duration, unit=unit)
96
+ super().__init__("u3", 1, [theta, phi, lam], label=label)
101
97
 
102
98
  def inverse(self, annotated: bool = False):
103
99
  r"""Return inverted U3 gate.
@@ -155,7 +151,7 @@ class U3Gate(Gate):
155
151
  return gate
156
152
 
157
153
  def _define(self):
158
- from qiskit.circuit.quantumcircuit import QuantumCircuit
154
+ from qiskit.circuit import QuantumCircuit, QuantumRegister
159
155
 
160
156
  q = QuantumRegister(1, "q")
161
157
  qc = QuantumCircuit(q, name=self.name)
@@ -271,8 +267,6 @@ class CU3Gate(ControlledGate):
271
267
  label: Optional[str] = None,
272
268
  ctrl_state: Optional[Union[str, int]] = None,
273
269
  *,
274
- duration=None,
275
- unit="dt",
276
270
  _base_label=None,
277
271
  ):
278
272
  """Create new CU3 gate."""
@@ -284,8 +278,6 @@ class CU3Gate(ControlledGate):
284
278
  label=label,
285
279
  ctrl_state=ctrl_state,
286
280
  base_gate=U3Gate(theta, phi, lam, label=_base_label),
287
- duration=duration,
288
- unit=unit,
289
281
  )
290
282
 
291
283
  def _define(self):
@@ -300,7 +292,7 @@ class CU3Gate(ControlledGate):
300
292
  }
301
293
  """
302
294
  # pylint: disable=cyclic-import
303
- from qiskit.circuit.quantumcircuit import QuantumCircuit
295
+ from qiskit.circuit import QuantumCircuit, QuantumRegister
304
296
  from .u1 import U1Gate
305
297
  from .x import CXGate # pylint: disable=cyclic-import
306
298
 
@@ -17,7 +17,6 @@ from math import pi
17
17
  import numpy
18
18
  from qiskit.circuit.controlledgate import ControlledGate
19
19
  from qiskit.circuit.singleton import SingletonGate, SingletonControlledGate, stdlib_singleton_key
20
- from qiskit.circuit.quantumregister import QuantumRegister
21
20
  from qiskit.circuit._utils import _ctrl_state_to_int, with_gate_array, with_controlled_gate_array
22
21
  from qiskit._accelerate.circuit import StandardGate
23
22
  from qiskit.utils.deprecation import deprecate_func
@@ -75,9 +74,9 @@ class XGate(SingletonGate):
75
74
 
76
75
  _standard_gate = StandardGate.XGate
77
76
 
78
- def __init__(self, label: Optional[str] = None, *, duration=None, unit="dt"):
77
+ def __init__(self, label: Optional[str] = None):
79
78
  """Create new X gate."""
80
- super().__init__("x", 1, [], label=label, duration=duration, unit=unit)
79
+ super().__init__("x", 1, [], label=label)
81
80
 
82
81
  _singleton_lookup_key = stdlib_singleton_key()
83
82
 
@@ -86,7 +85,7 @@ class XGate(SingletonGate):
86
85
  gate x a { u3(pi,0,pi) a; }
87
86
  """
88
87
  # pylint: disable=cyclic-import
89
- from qiskit.circuit.quantumcircuit import QuantumCircuit
88
+ from qiskit.circuit import QuantumCircuit, QuantumRegister
90
89
  from .u3 import U3Gate
91
90
 
92
91
  q = QuantumRegister(1, "q")
@@ -225,8 +224,6 @@ class CXGate(SingletonControlledGate):
225
224
  label: Optional[str] = None,
226
225
  ctrl_state: Optional[Union[str, int]] = None,
227
226
  *,
228
- duration=None,
229
- unit="dt",
230
227
  _base_label=None,
231
228
  ):
232
229
  """Create new CX gate."""
@@ -239,8 +236,6 @@ class CXGate(SingletonControlledGate):
239
236
  ctrl_state=ctrl_state,
240
237
  base_gate=XGate(label=_base_label),
241
238
  _base_label=_base_label,
242
- duration=duration,
243
- unit=unit,
244
239
  )
245
240
 
246
241
  _singleton_lookup_key = stdlib_singleton_key(num_ctrl_qubits=1)
@@ -306,8 +301,7 @@ class CCXGate(SingletonControlledGate):
306
301
  r"""CCX gate, also known as Toffoli gate.
307
302
 
308
303
  Can be applied to a :class:`~qiskit.circuit.QuantumCircuit`
309
- with the :meth:`~qiskit.circuit.QuantumCircuit.ccx` and
310
- :meth:`~qiskit.circuit.QuantumCircuit.toffoli` methods.
304
+ with the :meth:`~qiskit.circuit.QuantumCircuit.ccx` method.
311
305
 
312
306
  **Circuit symbol:**
313
307
 
@@ -378,8 +372,6 @@ class CCXGate(SingletonControlledGate):
378
372
  label: Optional[str] = None,
379
373
  ctrl_state: Optional[Union[str, int]] = None,
380
374
  *,
381
- duration=None,
382
- unit="dt",
383
375
  _base_label=None,
384
376
  ):
385
377
  """Create new CCX gate."""
@@ -391,8 +383,6 @@ class CCXGate(SingletonControlledGate):
391
383
  label=label,
392
384
  ctrl_state=ctrl_state,
393
385
  base_gate=XGate(label=_base_label),
394
- duration=duration,
395
- unit=unit,
396
386
  )
397
387
 
398
388
  _singleton_lookup_key = stdlib_singleton_key(num_ctrl_qubits=2)
@@ -407,7 +397,7 @@ class CCXGate(SingletonControlledGate):
407
397
  t a; tdg b; cx a,b;}
408
398
  """
409
399
  # pylint: disable=cyclic-import
410
- from qiskit.circuit.quantumcircuit import QuantumCircuit
400
+ from qiskit.circuit import QuantumCircuit, QuantumRegister
411
401
  from .h import HGate
412
402
  from .t import TGate, TdgGate
413
403
 
@@ -528,9 +518,9 @@ class RCCXGate(SingletonGate):
528
518
 
529
519
  _standard_gate = StandardGate.RCCXGate
530
520
 
531
- def __init__(self, label: Optional[str] = None, *, duration=None, unit="dt"):
521
+ def __init__(self, label: Optional[str] = None):
532
522
  """Create a new simplified CCX gate."""
533
- super().__init__("rccx", 3, [], label=label, duration=duration, unit=unit)
523
+ super().__init__("rccx", 3, [], label=label)
534
524
 
535
525
  _singleton_lookup_key = stdlib_singleton_key()
536
526
 
@@ -549,7 +539,7 @@ class RCCXGate(SingletonGate):
549
539
  }
550
540
  """
551
541
  # pylint: disable=cyclic-import
552
- from qiskit.circuit.quantumcircuit import QuantumCircuit
542
+ from qiskit.circuit import QuantumCircuit, QuantumRegister
553
543
  from .u1 import U1Gate
554
544
  from .u2 import U2Gate
555
545
 
@@ -592,8 +582,6 @@ class C3SXGate(SingletonControlledGate):
592
582
  label: Optional[str] = None,
593
583
  ctrl_state: Optional[Union[str, int]] = None,
594
584
  *,
595
- duration=None,
596
- unit="dt",
597
585
  _base_label=None,
598
586
  ):
599
587
  """Create a new 3-qubit controlled sqrt-X gate.
@@ -613,8 +601,6 @@ class C3SXGate(SingletonControlledGate):
613
601
  label=label,
614
602
  ctrl_state=ctrl_state,
615
603
  base_gate=SXGate(label=_base_label),
616
- duration=duration,
617
- unit=unit,
618
604
  )
619
605
 
620
606
  _singleton_lookup_key = stdlib_singleton_key(num_ctrl_qubits=3)
@@ -639,7 +625,7 @@ class C3SXGate(SingletonControlledGate):
639
625
  }
640
626
  """
641
627
  # pylint: disable=cyclic-import
642
- from qiskit.circuit.quantumcircuit import QuantumCircuit
628
+ from qiskit.circuit import QuantumCircuit, QuantumRegister
643
629
  from .u1 import CU1Gate
644
630
  from .h import HGate
645
631
 
@@ -699,8 +685,6 @@ class C3XGate(SingletonControlledGate):
699
685
  ctrl_state: Optional[Union[str, int]] = None,
700
686
  *,
701
687
  _base_label=None,
702
- duration=None,
703
- unit="dt",
704
688
  ):
705
689
  """Create a new 3-qubit controlled X gate."""
706
690
  super().__init__(
@@ -711,8 +695,6 @@ class C3XGate(SingletonControlledGate):
711
695
  label=label,
712
696
  ctrl_state=ctrl_state,
713
697
  base_gate=XGate(label=_base_label),
714
- duration=duration,
715
- unit=unit,
716
698
  )
717
699
 
718
700
  _singleton_lookup_key = stdlib_singleton_key(num_ctrl_qubits=3)
@@ -755,7 +737,7 @@ class C3XGate(SingletonControlledGate):
755
737
  h d;
756
738
  }
757
739
  """
758
- from qiskit.circuit.quantumcircuit import QuantumCircuit
740
+ from qiskit.circuit import QuantumCircuit, QuantumRegister
759
741
 
760
742
  q = QuantumRegister(4, name="q")
761
743
  qc = QuantumCircuit(q, name=self.name)
@@ -882,9 +864,9 @@ class RC3XGate(SingletonGate):
882
864
 
883
865
  _standard_gate = StandardGate.RC3XGate
884
866
 
885
- def __init__(self, label: Optional[str] = None, *, duration=None, unit="dt"):
867
+ def __init__(self, label: Optional[str] = None):
886
868
  """Create a new RC3X gate."""
887
- super().__init__("rcccx", 4, [], label=label, duration=duration, unit=unit)
869
+ super().__init__("rcccx", 4, [], label=label)
888
870
 
889
871
  _singleton_lookup_key = stdlib_singleton_key()
890
872
 
@@ -912,7 +894,7 @@ class RC3XGate(SingletonGate):
912
894
  }
913
895
  """
914
896
  # pylint: disable=cyclic-import
915
- from qiskit.circuit.quantumcircuit import QuantumCircuit
897
+ from qiskit.circuit import QuantumCircuit, QuantumRegister
916
898
  from .u1 import U1Gate
917
899
  from .u2 import U2Gate
918
900
 
@@ -964,13 +946,9 @@ class C4XGate(SingletonControlledGate):
964
946
  label: Optional[str] = None,
965
947
  ctrl_state: Optional[Union[str, int]] = None,
966
948
  *,
967
- duration=None,
968
- unit="dt",
969
949
  _base_label=None,
970
950
  ):
971
951
  """Create a new 4-qubit controlled X gate."""
972
- if unit is None:
973
- unit = "dt"
974
952
  super().__init__(
975
953
  "mcx",
976
954
  5,
@@ -979,8 +957,6 @@ class C4XGate(SingletonControlledGate):
979
957
  label=label,
980
958
  ctrl_state=ctrl_state,
981
959
  base_gate=XGate(label=_base_label),
982
- duration=duration,
983
- unit=unit,
984
960
  )
985
961
 
986
962
  _singleton_lookup_key = stdlib_singleton_key(num_ctrl_qubits=4)
@@ -1014,7 +990,7 @@ class C4XGate(SingletonControlledGate):
1014
990
  }
1015
991
  """
1016
992
  # pylint: disable=cyclic-import
1017
- from qiskit.circuit.quantumcircuit import QuantumCircuit
993
+ from qiskit.circuit import QuantumCircuit, QuantumRegister
1018
994
  from .u1 import CU1Gate
1019
995
  from .h import HGate
1020
996
 
@@ -1105,8 +1081,6 @@ class MCXGate(ControlledGate):
1105
1081
  label: Optional[str] = None,
1106
1082
  ctrl_state: Optional[Union[str, int]] = None,
1107
1083
  *,
1108
- duration=None,
1109
- unit="dt",
1110
1084
  _base_label=None,
1111
1085
  ):
1112
1086
  """Create a new MCX instance.
@@ -1127,8 +1101,6 @@ class MCXGate(ControlledGate):
1127
1101
  label=label,
1128
1102
  ctrl_state=ctrl_state,
1129
1103
  _base_label=_base_label,
1130
- duration=duration,
1131
- unit=unit,
1132
1104
  )
1133
1105
  return gate
1134
1106
  return super().__new__(cls)
@@ -1139,8 +1111,6 @@ class MCXGate(ControlledGate):
1139
1111
  label: Optional[str] = None,
1140
1112
  ctrl_state: Optional[Union[str, int]] = None,
1141
1113
  *,
1142
- duration=None,
1143
- unit="dt",
1144
1114
  _name="mcx",
1145
1115
  _base_label=None,
1146
1116
  ):
@@ -1256,8 +1226,6 @@ class MCXGrayCode(MCXGate):
1256
1226
  label: Optional[str] = None,
1257
1227
  ctrl_state: Optional[Union[str, int]] = None,
1258
1228
  *,
1259
- duration=None,
1260
- unit="dt",
1261
1229
  _base_label=None,
1262
1230
  ):
1263
1231
  """Create a new MCXGrayCode instance"""
@@ -1270,15 +1238,11 @@ class MCXGrayCode(MCXGate):
1270
1238
  label=label,
1271
1239
  ctrl_state=ctrl_state,
1272
1240
  _base_label=_base_label,
1273
- duration=duration,
1274
- unit=unit,
1275
1241
  )
1276
1242
  # if __new__ does not return the same type as cls, init is not called
1277
1243
  gate.__init__(
1278
1244
  label=label,
1279
1245
  ctrl_state=ctrl_state,
1280
- duration=duration,
1281
- unit=unit,
1282
1246
  )
1283
1247
  return gate
1284
1248
  return super().__new__(cls)
@@ -1355,8 +1319,6 @@ class MCXRecursive(MCXGate):
1355
1319
  label: Optional[str] = None,
1356
1320
  ctrl_state: Optional[Union[str, int]] = None,
1357
1321
  *,
1358
- duration=None,
1359
- unit="dt",
1360
1322
  _base_label=None,
1361
1323
  ):
1362
1324
  super().__init__(
@@ -1364,8 +1326,6 @@ class MCXRecursive(MCXGate):
1364
1326
  label=label,
1365
1327
  ctrl_state=ctrl_state,
1366
1328
  _name="mcx_recursive",
1367
- duration=duration,
1368
- unit=unit,
1369
1329
  _base_label=None,
1370
1330
  )
1371
1331
 
@@ -1408,8 +1368,6 @@ class MCXVChain(MCXGate):
1408
1368
  label: Optional[str] = None,
1409
1369
  ctrl_state: Optional[Union[str, int]] = None,
1410
1370
  *,
1411
- duration=None,
1412
- unit="dt",
1413
1371
  _base_label=None,
1414
1372
  relative_phase: bool = False, # pylint: disable=unused-argument
1415
1373
  action_only: bool = False, # pylint: disable=unused-argument
@@ -1424,8 +1382,6 @@ class MCXVChain(MCXGate):
1424
1382
  label=label,
1425
1383
  ctrl_state=ctrl_state,
1426
1384
  _base_label=_base_label,
1427
- duration=duration,
1428
- unit=unit,
1429
1385
  )
1430
1386
 
1431
1387
  @deprecate_func(
@@ -1447,8 +1403,6 @@ class MCXVChain(MCXGate):
1447
1403
  label: Optional[str] = None,
1448
1404
  ctrl_state: Optional[Union[str, int]] = None,
1449
1405
  *,
1450
- duration=None,
1451
- unit="dt",
1452
1406
  _base_label=None,
1453
1407
  relative_phase: bool = False,
1454
1408
  action_only: bool = False,
@@ -1474,8 +1428,6 @@ class MCXVChain(MCXGate):
1474
1428
  ctrl_state=ctrl_state,
1475
1429
  _name="mcx_vchain",
1476
1430
  _base_label=_base_label,
1477
- duration=duration,
1478
- unit=unit,
1479
1431
  )
1480
1432
  self._dirty_ancillas = dirty_ancillas
1481
1433
  self._relative_phase = relative_phase
@@ -29,7 +29,7 @@ from qiskit.circuit.library.standard_gates.sx import SXdgGate, SXGate
29
29
  from qiskit.circuit.library.standard_gates.x import CXGate
30
30
  from qiskit.circuit.parameterexpression import ParameterValueType, ParameterExpression
31
31
  from qiskit.circuit.quantumcircuit import QuantumCircuit
32
- from qiskit.circuit.quantumregister import QuantumRegister
32
+ from qiskit.circuit import QuantumRegister
33
33
  from qiskit._accelerate.circuit import StandardGate
34
34
 
35
35
 
@@ -72,9 +72,6 @@ class XXMinusYYGate(Gate):
72
72
  theta: ParameterValueType,
73
73
  beta: ParameterValueType = 0,
74
74
  label: Optional[str] = "(XX-YY)",
75
- *,
76
- duration=None,
77
- unit="dt",
78
75
  ):
79
76
  """Create new XX-YY gate.
80
77
 
@@ -83,7 +80,7 @@ class XXMinusYYGate(Gate):
83
80
  beta: The phase angle.
84
81
  label: The label of the gate.
85
82
  """
86
- super().__init__("xx_minus_yy", 2, [theta, beta], label=label, duration=duration, unit=unit)
83
+ super().__init__("xx_minus_yy", 2, [theta, beta], label=label)
87
84
 
88
85
  def _define(self):
89
86
  """
@@ -22,7 +22,7 @@ from typing import Optional
22
22
  import numpy
23
23
 
24
24
  from qiskit.circuit.gate import Gate
25
- from qiskit.circuit.quantumregister import QuantumRegister
25
+ from qiskit.circuit import QuantumRegister
26
26
  from qiskit.circuit.parameterexpression import ParameterValueType, ParameterExpression
27
27
  from qiskit._accelerate.circuit import StandardGate
28
28
 
@@ -98,9 +98,6 @@ class XXPlusYYGate(Gate):
98
98
  theta: ParameterValueType,
99
99
  beta: ParameterValueType = 0,
100
100
  label: Optional[str] = "(XX+YY)",
101
- *,
102
- duration=None,
103
- unit="dt",
104
101
  ):
105
102
  """Create new XX+YY gate.
106
103
 
@@ -109,7 +106,7 @@ class XXPlusYYGate(Gate):
109
106
  beta: The phase angle.
110
107
  label: The label of the gate.
111
108
  """
112
- super().__init__("xx_plus_yy", 2, [theta, beta], label=label, duration=duration, unit=unit)
109
+ super().__init__("xx_plus_yy", 2, [theta, beta], label=label)
113
110
 
114
111
  def _define(self):
115
112
  """
@@ -17,7 +17,6 @@ from typing import Optional, Union
17
17
 
18
18
  # pylint: disable=cyclic-import
19
19
  from qiskit.circuit.singleton import SingletonGate, SingletonControlledGate, stdlib_singleton_key
20
- from qiskit.circuit.quantumregister import QuantumRegister
21
20
  from qiskit.circuit._utils import with_gate_array, with_controlled_gate_array
22
21
  from qiskit._accelerate.circuit import StandardGate
23
22
 
@@ -73,15 +72,15 @@ class YGate(SingletonGate):
73
72
 
74
73
  _standard_gate = StandardGate.YGate
75
74
 
76
- def __init__(self, label: Optional[str] = None, *, duration=None, unit="dt"):
75
+ def __init__(self, label: Optional[str] = None):
77
76
  """Create new Y gate."""
78
- super().__init__("y", 1, [], label=label, duration=duration, unit=unit)
77
+ super().__init__("y", 1, [], label=label)
79
78
 
80
79
  _singleton_lookup_key = stdlib_singleton_key()
81
80
 
82
81
  def _define(self):
83
82
  # pylint: disable=cyclic-import
84
- from qiskit.circuit.quantumcircuit import QuantumCircuit
83
+ from qiskit.circuit import QuantumCircuit, QuantumRegister
85
84
  from .u3 import U3Gate
86
85
 
87
86
  q = QuantumRegister(1, "q")
@@ -208,8 +207,6 @@ class CYGate(SingletonControlledGate):
208
207
  label: Optional[str] = None,
209
208
  ctrl_state: Optional[Union[str, int]] = None,
210
209
  *,
211
- duration=None,
212
- unit="dt",
213
210
  _base_label=None,
214
211
  ):
215
212
  """Create new CY gate."""
@@ -221,8 +218,6 @@ class CYGate(SingletonControlledGate):
221
218
  label=label,
222
219
  ctrl_state=ctrl_state,
223
220
  base_gate=YGate(label=_base_label),
224
- duration=duration,
225
- unit=unit,
226
221
  )
227
222
 
228
223
  _singleton_lookup_key = stdlib_singleton_key(num_ctrl_qubits=1)
@@ -232,7 +227,7 @@ class CYGate(SingletonControlledGate):
232
227
  gate cy a,b { sdg b; cx a,b; s b; }
233
228
  """
234
229
  # pylint: disable=cyclic-import
235
- from qiskit.circuit.quantumcircuit import QuantumCircuit
230
+ from qiskit.circuit import QuantumCircuit, QuantumRegister
236
231
  from .s import SGate, SdgGate
237
232
  from .x import CXGate
238
233
 
@@ -19,7 +19,6 @@ import numpy
19
19
 
20
20
  from qiskit.circuit._utils import with_gate_array, with_controlled_gate_array
21
21
  from qiskit.circuit.singleton import SingletonGate, SingletonControlledGate, stdlib_singleton_key
22
- from qiskit.circuit.quantumregister import QuantumRegister
23
22
  from qiskit._accelerate.circuit import StandardGate
24
23
 
25
24
  from .p import PhaseGate
@@ -76,16 +75,15 @@ class ZGate(SingletonGate):
76
75
 
77
76
  _standard_gate = StandardGate.ZGate
78
77
 
79
- def __init__(self, label: Optional[str] = None, *, duration=None, unit="dt"):
78
+ def __init__(self, label: Optional[str] = None):
80
79
  """Create new Z gate."""
81
- super().__init__("z", 1, [], label=label, duration=duration, unit=unit)
80
+ super().__init__("z", 1, [], label=label)
82
81
 
83
82
  _singleton_lookup_key = stdlib_singleton_key()
84
83
 
85
84
  def _define(self):
86
85
  # pylint: disable=cyclic-import
87
- from qiskit.circuit.quantumcircuit import QuantumCircuit
88
-
86
+ from qiskit.circuit import QuantumCircuit, QuantumRegister
89
87
  from .u1 import U1Gate
90
88
 
91
89
  q = QuantumRegister(1, "q")
@@ -191,8 +189,6 @@ class CZGate(SingletonControlledGate):
191
189
  label: Optional[str] = None,
192
190
  ctrl_state: Optional[Union[str, int]] = None,
193
191
  *,
194
- duration=None,
195
- unit="dt",
196
192
  _base_label=None,
197
193
  ):
198
194
  """Create new CZ gate."""
@@ -204,8 +200,6 @@ class CZGate(SingletonControlledGate):
204
200
  num_ctrl_qubits=1,
205
201
  ctrl_state=ctrl_state,
206
202
  base_gate=ZGate(label=_base_label),
207
- duration=duration,
208
- unit=unit,
209
203
  )
210
204
 
211
205
  _singleton_lookup_key = stdlib_singleton_key(num_ctrl_qubits=1)
@@ -215,7 +209,7 @@ class CZGate(SingletonControlledGate):
215
209
  gate cz a,b { h b; cx a,b; h b; }
216
210
  """
217
211
  # pylint: disable=cyclic-import
218
- from qiskit.circuit.quantumcircuit import QuantumCircuit
212
+ from qiskit.circuit import QuantumCircuit, QuantumRegister
219
213
 
220
214
  from .h import HGate
221
215
  from .x import CXGate
@@ -293,8 +287,6 @@ class CCZGate(SingletonControlledGate):
293
287
  label: Optional[str] = None,
294
288
  ctrl_state: Optional[Union[str, int]] = None,
295
289
  *,
296
- duration=None,
297
- unit="dt",
298
290
  _base_label=None,
299
291
  ):
300
292
  """Create new CCZ gate."""
@@ -306,8 +298,6 @@ class CCZGate(SingletonControlledGate):
306
298
  num_ctrl_qubits=2,
307
299
  ctrl_state=ctrl_state,
308
300
  base_gate=ZGate(label=_base_label),
309
- duration=duration,
310
- unit=unit,
311
301
  )
312
302
 
313
303
  _singleton_lookup_key = stdlib_singleton_key(num_ctrl_qubits=2)
@@ -317,7 +307,7 @@ class CCZGate(SingletonControlledGate):
317
307
  gate ccz a,b,c { h c; ccx a,b,c; h c; }
318
308
  """
319
309
  # pylint: disable=cyclic-import
320
- from qiskit.circuit.quantumcircuit import QuantumCircuit
310
+ from qiskit.circuit import QuantumCircuit, QuantumRegister
321
311
 
322
312
  from .h import HGate
323
313
  from .x import CCXGate
qiskit/circuit/measure.py CHANGED
@@ -16,17 +16,26 @@ Quantum measurement in the computational basis.
16
16
 
17
17
  from qiskit.circuit.singleton import SingletonInstruction, stdlib_singleton_key
18
18
  from qiskit.circuit.exceptions import CircuitError
19
+ from qiskit._accelerate.circuit import StandardInstructionType
19
20
 
20
21
 
21
22
  class Measure(SingletonInstruction):
22
23
  """Quantum measurement in the computational basis."""
23
24
 
24
- def __init__(self, label=None, *, duration=None, unit="dt"):
25
+ _standard_instruction_type = StandardInstructionType.Measure
26
+
27
+ def __init__(self, label=None):
25
28
  """
26
29
  Args:
27
30
  label: optional string label for this instruction.
28
31
  """
29
- super().__init__("measure", 1, 1, [], label=label, duration=duration, unit=unit)
32
+ super().__init__("measure", 1, 1, [], label=label)
33
+
34
+ def __init_subclass__(cls, **kwargs):
35
+ super().__init_subclass__(**kwargs)
36
+ # Subclasses of Measure are not "standard", so we set this to None to
37
+ # prevent the Rust code from treating them as such.
38
+ cls._standard_instruction_type = None
30
39
 
31
40
  _singleton_lookup_key = stdlib_singleton_key()
32
41
 
@@ -25,7 +25,9 @@ import operator
25
25
  import numpy
26
26
  import symengine
27
27
 
28
- from qiskit.circuit.exceptions import CircuitError, QiskitError
28
+ from qiskit.circuit.exceptions import CircuitError
29
+ from qiskit.exceptions import QiskitError
30
+ from qiskit.utils.optionals import HAS_SYMPY
29
31
 
30
32
  # This type is redefined at the bottom to insert the full reference to "ParameterExpression", so it
31
33
  # can safely be used by runtime type-checkers like Sphinx. Mypy does not need this because it
@@ -117,6 +119,8 @@ class ParameterExpression:
117
119
 
118
120
  Not intended to be called directly, but to be instantiated via operations
119
121
  on other :class:`Parameter` or :class:`ParameterExpression` objects.
122
+ The constructor of this object is **not** a public interface and should not
123
+ ever be used directly.
120
124
 
121
125
  Args:
122
126
  symbol_map (Dict[Parameter, [ParameterExpression, float, or int]]):
@@ -613,6 +617,7 @@ class ParameterExpression:
613
617
 
614
618
  if not isinstance(self._symbol_expr, symengine.Basic):
615
619
  raise QiskitError("Invalid ParameterExpression")
620
+
616
621
  return sympify(self._symbol_expr).equals(sympify(other._symbol_expr))
617
622
  elif isinstance(other, numbers.Number):
618
623
  return len(self.parameters) == 0 and complex(self._symbol_expr) == other
@@ -677,6 +682,7 @@ class ParameterExpression:
677
682
  return out.real if out.imag == 0.0 else out
678
683
  return float(real_expr)
679
684
 
685
+ @HAS_SYMPY.require_in_call
680
686
  def sympify(self):
681
687
  """Return symbolic expression as a raw Sympy or Symengine object.
682
688