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
@@ -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)
@@ -378,8 +373,6 @@ class CCXGate(SingletonControlledGate):
378
373
  label: Optional[str] = None,
379
374
  ctrl_state: Optional[Union[str, int]] = None,
380
375
  *,
381
- duration=None,
382
- unit="dt",
383
376
  _base_label=None,
384
377
  ):
385
378
  """Create new CCX gate."""
@@ -391,8 +384,6 @@ class CCXGate(SingletonControlledGate):
391
384
  label=label,
392
385
  ctrl_state=ctrl_state,
393
386
  base_gate=XGate(label=_base_label),
394
- duration=duration,
395
- unit=unit,
396
387
  )
397
388
 
398
389
  _singleton_lookup_key = stdlib_singleton_key(num_ctrl_qubits=2)
@@ -407,7 +398,7 @@ class CCXGate(SingletonControlledGate):
407
398
  t a; tdg b; cx a,b;}
408
399
  """
409
400
  # pylint: disable=cyclic-import
410
- from qiskit.circuit.quantumcircuit import QuantumCircuit
401
+ from qiskit.circuit import QuantumCircuit, QuantumRegister
411
402
  from .h import HGate
412
403
  from .t import TGate, TdgGate
413
404
 
@@ -528,9 +519,9 @@ class RCCXGate(SingletonGate):
528
519
 
529
520
  _standard_gate = StandardGate.RCCXGate
530
521
 
531
- def __init__(self, label: Optional[str] = None, *, duration=None, unit="dt"):
522
+ def __init__(self, label: Optional[str] = None):
532
523
  """Create a new simplified CCX gate."""
533
- super().__init__("rccx", 3, [], label=label, duration=duration, unit=unit)
524
+ super().__init__("rccx", 3, [], label=label)
534
525
 
535
526
  _singleton_lookup_key = stdlib_singleton_key()
536
527
 
@@ -549,7 +540,7 @@ class RCCXGate(SingletonGate):
549
540
  }
550
541
  """
551
542
  # pylint: disable=cyclic-import
552
- from qiskit.circuit.quantumcircuit import QuantumCircuit
543
+ from qiskit.circuit import QuantumCircuit, QuantumRegister
553
544
  from .u1 import U1Gate
554
545
  from .u2 import U2Gate
555
546
 
@@ -592,8 +583,6 @@ class C3SXGate(SingletonControlledGate):
592
583
  label: Optional[str] = None,
593
584
  ctrl_state: Optional[Union[str, int]] = None,
594
585
  *,
595
- duration=None,
596
- unit="dt",
597
586
  _base_label=None,
598
587
  ):
599
588
  """Create a new 3-qubit controlled sqrt-X gate.
@@ -613,8 +602,6 @@ class C3SXGate(SingletonControlledGate):
613
602
  label=label,
614
603
  ctrl_state=ctrl_state,
615
604
  base_gate=SXGate(label=_base_label),
616
- duration=duration,
617
- unit=unit,
618
605
  )
619
606
 
620
607
  _singleton_lookup_key = stdlib_singleton_key(num_ctrl_qubits=3)
@@ -639,7 +626,7 @@ class C3SXGate(SingletonControlledGate):
639
626
  }
640
627
  """
641
628
  # pylint: disable=cyclic-import
642
- from qiskit.circuit.quantumcircuit import QuantumCircuit
629
+ from qiskit.circuit import QuantumCircuit, QuantumRegister
643
630
  from .u1 import CU1Gate
644
631
  from .h import HGate
645
632
 
@@ -699,8 +686,6 @@ class C3XGate(SingletonControlledGate):
699
686
  ctrl_state: Optional[Union[str, int]] = None,
700
687
  *,
701
688
  _base_label=None,
702
- duration=None,
703
- unit="dt",
704
689
  ):
705
690
  """Create a new 3-qubit controlled X gate."""
706
691
  super().__init__(
@@ -711,8 +696,6 @@ class C3XGate(SingletonControlledGate):
711
696
  label=label,
712
697
  ctrl_state=ctrl_state,
713
698
  base_gate=XGate(label=_base_label),
714
- duration=duration,
715
- unit=unit,
716
699
  )
717
700
 
718
701
  _singleton_lookup_key = stdlib_singleton_key(num_ctrl_qubits=3)
@@ -755,7 +738,7 @@ class C3XGate(SingletonControlledGate):
755
738
  h d;
756
739
  }
757
740
  """
758
- from qiskit.circuit.quantumcircuit import QuantumCircuit
741
+ from qiskit.circuit import QuantumCircuit, QuantumRegister
759
742
 
760
743
  q = QuantumRegister(4, name="q")
761
744
  qc = QuantumCircuit(q, name=self.name)
@@ -882,9 +865,9 @@ class RC3XGate(SingletonGate):
882
865
 
883
866
  _standard_gate = StandardGate.RC3XGate
884
867
 
885
- def __init__(self, label: Optional[str] = None, *, duration=None, unit="dt"):
868
+ def __init__(self, label: Optional[str] = None):
886
869
  """Create a new RC3X gate."""
887
- super().__init__("rcccx", 4, [], label=label, duration=duration, unit=unit)
870
+ super().__init__("rcccx", 4, [], label=label)
888
871
 
889
872
  _singleton_lookup_key = stdlib_singleton_key()
890
873
 
@@ -912,7 +895,7 @@ class RC3XGate(SingletonGate):
912
895
  }
913
896
  """
914
897
  # pylint: disable=cyclic-import
915
- from qiskit.circuit.quantumcircuit import QuantumCircuit
898
+ from qiskit.circuit import QuantumCircuit, QuantumRegister
916
899
  from .u1 import U1Gate
917
900
  from .u2 import U2Gate
918
901
 
@@ -964,13 +947,9 @@ class C4XGate(SingletonControlledGate):
964
947
  label: Optional[str] = None,
965
948
  ctrl_state: Optional[Union[str, int]] = None,
966
949
  *,
967
- duration=None,
968
- unit="dt",
969
950
  _base_label=None,
970
951
  ):
971
952
  """Create a new 4-qubit controlled X gate."""
972
- if unit is None:
973
- unit = "dt"
974
953
  super().__init__(
975
954
  "mcx",
976
955
  5,
@@ -979,8 +958,6 @@ class C4XGate(SingletonControlledGate):
979
958
  label=label,
980
959
  ctrl_state=ctrl_state,
981
960
  base_gate=XGate(label=_base_label),
982
- duration=duration,
983
- unit=unit,
984
961
  )
985
962
 
986
963
  _singleton_lookup_key = stdlib_singleton_key(num_ctrl_qubits=4)
@@ -1014,7 +991,7 @@ class C4XGate(SingletonControlledGate):
1014
991
  }
1015
992
  """
1016
993
  # pylint: disable=cyclic-import
1017
- from qiskit.circuit.quantumcircuit import QuantumCircuit
994
+ from qiskit.circuit import QuantumCircuit, QuantumRegister
1018
995
  from .u1 import CU1Gate
1019
996
  from .h import HGate
1020
997
 
@@ -1105,8 +1082,6 @@ class MCXGate(ControlledGate):
1105
1082
  label: Optional[str] = None,
1106
1083
  ctrl_state: Optional[Union[str, int]] = None,
1107
1084
  *,
1108
- duration=None,
1109
- unit="dt",
1110
1085
  _base_label=None,
1111
1086
  ):
1112
1087
  """Create a new MCX instance.
@@ -1127,8 +1102,6 @@ class MCXGate(ControlledGate):
1127
1102
  label=label,
1128
1103
  ctrl_state=ctrl_state,
1129
1104
  _base_label=_base_label,
1130
- duration=duration,
1131
- unit=unit,
1132
1105
  )
1133
1106
  return gate
1134
1107
  return super().__new__(cls)
@@ -1139,8 +1112,6 @@ class MCXGate(ControlledGate):
1139
1112
  label: Optional[str] = None,
1140
1113
  ctrl_state: Optional[Union[str, int]] = None,
1141
1114
  *,
1142
- duration=None,
1143
- unit="dt",
1144
1115
  _name="mcx",
1145
1116
  _base_label=None,
1146
1117
  ):
@@ -1256,8 +1227,6 @@ class MCXGrayCode(MCXGate):
1256
1227
  label: Optional[str] = None,
1257
1228
  ctrl_state: Optional[Union[str, int]] = None,
1258
1229
  *,
1259
- duration=None,
1260
- unit="dt",
1261
1230
  _base_label=None,
1262
1231
  ):
1263
1232
  """Create a new MCXGrayCode instance"""
@@ -1270,15 +1239,11 @@ class MCXGrayCode(MCXGate):
1270
1239
  label=label,
1271
1240
  ctrl_state=ctrl_state,
1272
1241
  _base_label=_base_label,
1273
- duration=duration,
1274
- unit=unit,
1275
1242
  )
1276
1243
  # if __new__ does not return the same type as cls, init is not called
1277
1244
  gate.__init__(
1278
1245
  label=label,
1279
1246
  ctrl_state=ctrl_state,
1280
- duration=duration,
1281
- unit=unit,
1282
1247
  )
1283
1248
  return gate
1284
1249
  return super().__new__(cls)
@@ -1355,8 +1320,6 @@ class MCXRecursive(MCXGate):
1355
1320
  label: Optional[str] = None,
1356
1321
  ctrl_state: Optional[Union[str, int]] = None,
1357
1322
  *,
1358
- duration=None,
1359
- unit="dt",
1360
1323
  _base_label=None,
1361
1324
  ):
1362
1325
  super().__init__(
@@ -1364,8 +1327,6 @@ class MCXRecursive(MCXGate):
1364
1327
  label=label,
1365
1328
  ctrl_state=ctrl_state,
1366
1329
  _name="mcx_recursive",
1367
- duration=duration,
1368
- unit=unit,
1369
1330
  _base_label=None,
1370
1331
  )
1371
1332
 
@@ -1408,8 +1369,6 @@ class MCXVChain(MCXGate):
1408
1369
  label: Optional[str] = None,
1409
1370
  ctrl_state: Optional[Union[str, int]] = None,
1410
1371
  *,
1411
- duration=None,
1412
- unit="dt",
1413
1372
  _base_label=None,
1414
1373
  relative_phase: bool = False, # pylint: disable=unused-argument
1415
1374
  action_only: bool = False, # pylint: disable=unused-argument
@@ -1424,8 +1383,6 @@ class MCXVChain(MCXGate):
1424
1383
  label=label,
1425
1384
  ctrl_state=ctrl_state,
1426
1385
  _base_label=_base_label,
1427
- duration=duration,
1428
- unit=unit,
1429
1386
  )
1430
1387
 
1431
1388
  @deprecate_func(
@@ -1447,8 +1404,6 @@ class MCXVChain(MCXGate):
1447
1404
  label: Optional[str] = None,
1448
1405
  ctrl_state: Optional[Union[str, int]] = None,
1449
1406
  *,
1450
- duration=None,
1451
- unit="dt",
1452
1407
  _base_label=None,
1453
1408
  relative_phase: bool = False,
1454
1409
  action_only: bool = False,
@@ -1474,8 +1429,6 @@ class MCXVChain(MCXGate):
1474
1429
  ctrl_state=ctrl_state,
1475
1430
  _name="mcx_vchain",
1476
1431
  _base_label=_base_label,
1477
- duration=duration,
1478
- unit=unit,
1479
1432
  )
1480
1433
  self._dirty_ancillas = dirty_ancillas
1481
1434
  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