qiskit 1.4.1__cp39-abi3-macosx_11_0_arm64.whl → 2.0.0rc1__cp39-abi3-macosx_11_0_arm64.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (456) hide show
  1. qiskit/VERSION.txt +1 -1
  2. qiskit/__init__.py +2 -5
  3. qiskit/_accelerate.abi3.so +0 -0
  4. qiskit/circuit/__init__.py +24 -5
  5. qiskit/circuit/{add_control.py → _add_control.py} +32 -12
  6. qiskit/circuit/_classical_resource_map.py +5 -3
  7. qiskit/circuit/barrier.py +3 -7
  8. qiskit/circuit/classical/expr/__init__.py +31 -3
  9. qiskit/circuit/classical/expr/constructors.py +248 -28
  10. qiskit/circuit/classical/expr/expr.py +104 -3
  11. qiskit/circuit/classical/expr/visitors.py +75 -0
  12. qiskit/circuit/classical/types/__init__.py +12 -8
  13. qiskit/circuit/classical/types/ordering.py +14 -7
  14. qiskit/circuit/classical/types/types.py +36 -0
  15. qiskit/circuit/commutation_checker.py +34 -7
  16. qiskit/circuit/controlflow/__init__.py +32 -1
  17. qiskit/circuit/controlflow/_builder_utils.py +9 -5
  18. qiskit/circuit/controlflow/box.py +163 -0
  19. qiskit/circuit/controlflow/break_loop.py +1 -1
  20. qiskit/circuit/controlflow/builder.py +139 -39
  21. qiskit/circuit/controlflow/continue_loop.py +1 -3
  22. qiskit/circuit/controlflow/control_flow.py +10 -0
  23. qiskit/circuit/controlflow/for_loop.py +2 -1
  24. qiskit/circuit/controlflow/if_else.py +3 -16
  25. qiskit/circuit/controlflow/switch_case.py +2 -8
  26. qiskit/circuit/controlflow/while_loop.py +2 -7
  27. qiskit/circuit/controlledgate.py +2 -4
  28. qiskit/circuit/delay.py +40 -11
  29. qiskit/circuit/duration.py +0 -15
  30. qiskit/circuit/gate.py +2 -4
  31. qiskit/circuit/instruction.py +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 +2 -6
  75. qiskit/circuit/library/standard_gates/rx.py +5 -15
  76. qiskit/circuit/library/standard_gates/rxx.py +3 -6
  77. qiskit/circuit/library/standard_gates/ry.py +5 -17
  78. qiskit/circuit/library/standard_gates/ryy.py +3 -6
  79. qiskit/circuit/library/standard_gates/rz.py +5 -17
  80. qiskit/circuit/library/standard_gates/rzx.py +3 -6
  81. qiskit/circuit/library/standard_gates/rzz.py +3 -6
  82. qiskit/circuit/library/standard_gates/s.py +6 -15
  83. qiskit/circuit/library/standard_gates/swap.py +4 -11
  84. qiskit/circuit/library/standard_gates/sx.py +7 -12
  85. qiskit/circuit/library/standard_gates/t.py +6 -7
  86. qiskit/circuit/library/standard_gates/u.py +2 -10
  87. qiskit/circuit/library/standard_gates/u1.py +5 -16
  88. qiskit/circuit/library/standard_gates/u2.py +2 -6
  89. qiskit/circuit/library/standard_gates/u3.py +3 -11
  90. qiskit/circuit/library/standard_gates/x.py +13 -60
  91. qiskit/circuit/library/standard_gates/xx_minus_yy.py +2 -5
  92. qiskit/circuit/library/standard_gates/xx_plus_yy.py +2 -5
  93. qiskit/circuit/library/standard_gates/y.py +4 -9
  94. qiskit/circuit/library/standard_gates/z.py +5 -15
  95. qiskit/circuit/measure.py +11 -2
  96. qiskit/circuit/parameterexpression.py +4 -0
  97. qiskit/circuit/quantumcircuit.py +881 -555
  98. qiskit/circuit/random/utils.py +12 -6
  99. qiskit/circuit/reset.py +5 -2
  100. qiskit/circuit/singleton.py +5 -11
  101. qiskit/circuit/store.py +0 -8
  102. qiskit/compiler/__init__.py +1 -7
  103. qiskit/compiler/transpiler.py +38 -196
  104. qiskit/converters/circuit_to_dag.py +4 -2
  105. qiskit/converters/circuit_to_dagdependency.py +0 -2
  106. qiskit/converters/circuit_to_dagdependency_v2.py +0 -1
  107. qiskit/converters/circuit_to_gate.py +1 -1
  108. qiskit/converters/circuit_to_instruction.py +16 -29
  109. qiskit/converters/dag_to_circuit.py +5 -5
  110. qiskit/converters/dag_to_dagdependency.py +0 -1
  111. qiskit/converters/dag_to_dagdependency_v2.py +0 -1
  112. qiskit/converters/dagdependency_to_circuit.py +0 -6
  113. qiskit/converters/dagdependency_to_dag.py +0 -6
  114. qiskit/dagcircuit/collect_blocks.py +32 -20
  115. qiskit/dagcircuit/dagdependency.py +3 -37
  116. qiskit/dagcircuit/dagdependency_v2.py +2 -80
  117. qiskit/dagcircuit/dagnode.py +14 -2
  118. qiskit/passmanager/__init__.py +24 -6
  119. qiskit/passmanager/passmanager.py +26 -24
  120. qiskit/primitives/__init__.py +44 -35
  121. qiskit/primitives/backend_estimator_v2.py +102 -23
  122. qiskit/primitives/backend_sampler_v2.py +5 -20
  123. qiskit/primitives/base/__init__.py +4 -4
  124. qiskit/primitives/base/base_estimator.py +77 -82
  125. qiskit/primitives/base/base_primitive_job.py +2 -2
  126. qiskit/primitives/base/{base_primitive.py → base_primitive_v1.py} +1 -1
  127. qiskit/primitives/base/{base_result.py → base_result_v1.py} +1 -1
  128. qiskit/primitives/base/base_sampler.py +52 -60
  129. qiskit/primitives/base/{estimator_result.py → estimator_result_v1.py} +2 -2
  130. qiskit/primitives/base/{sampler_result.py → sampler_result_v1.py} +2 -2
  131. qiskit/primitives/base/{validation.py → validation_v1.py} +34 -15
  132. qiskit/primitives/containers/bindings_array.py +3 -1
  133. qiskit/primitives/containers/bit_array.py +23 -0
  134. qiskit/primitives/containers/data_bin.py +3 -1
  135. qiskit/primitives/containers/observables_array.py +19 -2
  136. qiskit/primitives/statevector_sampler.py +6 -8
  137. qiskit/primitives/utils.py +14 -189
  138. qiskit/providers/__init__.py +4 -130
  139. qiskit/providers/backend.py +11 -314
  140. qiskit/providers/basic_provider/__init__.py +3 -1
  141. qiskit/providers/basic_provider/basic_provider.py +29 -9
  142. qiskit/providers/basic_provider/basic_simulator.py +158 -298
  143. qiskit/providers/exceptions.py +0 -33
  144. qiskit/providers/fake_provider/__init__.py +0 -37
  145. qiskit/providers/fake_provider/generic_backend_v2.py +32 -693
  146. qiskit/qasm2/__init__.py +21 -6
  147. qiskit/qasm2/export.py +2 -10
  148. qiskit/qasm2/parse.py +11 -25
  149. qiskit/qasm3/__init__.py +5 -1
  150. qiskit/qasm3/ast.py +44 -0
  151. qiskit/qasm3/exporter.py +65 -27
  152. qiskit/qasm3/printer.py +35 -4
  153. qiskit/qpy/__init__.py +141 -19
  154. qiskit/qpy/binary_io/__init__.py +0 -1
  155. qiskit/qpy/binary_io/circuits.py +91 -116
  156. qiskit/qpy/binary_io/schedules.py +61 -388
  157. qiskit/qpy/binary_io/value.py +154 -28
  158. qiskit/qpy/common.py +10 -7
  159. qiskit/qpy/formats.py +41 -0
  160. qiskit/qpy/interface.py +29 -62
  161. qiskit/qpy/type_keys.py +58 -221
  162. qiskit/quantum_info/analysis/distance.py +3 -1
  163. qiskit/quantum_info/operators/dihedral/dihedral.py +3 -1
  164. qiskit/quantum_info/operators/operator.py +6 -2
  165. qiskit/quantum_info/operators/symplectic/clifford.py +3 -1
  166. qiskit/quantum_info/operators/symplectic/pauli.py +4 -2
  167. qiskit/quantum_info/operators/symplectic/pauli_list.py +17 -5
  168. qiskit/quantum_info/operators/symplectic/sparse_pauli_op.py +40 -6
  169. qiskit/quantum_info/states/densitymatrix.py +16 -6
  170. qiskit/quantum_info/states/stabilizerstate.py +35 -4
  171. qiskit/quantum_info/states/statevector.py +16 -6
  172. qiskit/result/__init__.py +5 -17
  173. qiskit/result/models.py +18 -10
  174. qiskit/result/result.py +28 -126
  175. qiskit/result/sampled_expval.py +1 -2
  176. qiskit/result/utils.py +3 -4
  177. qiskit/synthesis/__init__.py +21 -1
  178. qiskit/synthesis/arithmetic/__init__.py +3 -1
  179. qiskit/synthesis/arithmetic/adders/cdkm_ripple_carry_adder.py +1 -1
  180. qiskit/synthesis/arithmetic/adders/draper_qft_adder.py +1 -1
  181. qiskit/synthesis/arithmetic/adders/vbe_ripple_carry_adder.py +2 -2
  182. qiskit/{providers/fake_provider/backends_v1/fake_20q → synthesis/arithmetic/comparators}/__init__.py +4 -6
  183. qiskit/synthesis/arithmetic/comparators/compare_2s.py +112 -0
  184. qiskit/synthesis/arithmetic/comparators/compare_greedy.py +66 -0
  185. qiskit/synthesis/arithmetic/multipliers/hrs_cumulative_multiplier.py +1 -1
  186. qiskit/synthesis/arithmetic/multipliers/rg_qft_multiplier.py +1 -1
  187. qiskit/synthesis/arithmetic/weighted_sum.py +155 -0
  188. qiskit/{result/mitigation → synthesis/boolean}/__init__.py +2 -2
  189. qiskit/synthesis/boolean/boolean_expression.py +231 -0
  190. qiskit/synthesis/boolean/boolean_expression_synth.py +124 -0
  191. qiskit/synthesis/boolean/boolean_expression_visitor.py +96 -0
  192. qiskit/synthesis/discrete_basis/generate_basis_approximations.py +2 -0
  193. qiskit/synthesis/evolution/lie_trotter.py +10 -7
  194. qiskit/synthesis/evolution/product_formula.py +44 -35
  195. qiskit/synthesis/evolution/qdrift.py +17 -24
  196. qiskit/synthesis/evolution/suzuki_trotter.py +20 -27
  197. qiskit/synthesis/linear/linear_depth_lnn.py +6 -221
  198. qiskit/synthesis/linear_phase/cx_cz_depth_lnn.py +4 -205
  199. qiskit/synthesis/multi_controlled/__init__.py +1 -0
  200. qiskit/synthesis/multi_controlled/mcx_synthesis.py +5 -2
  201. qiskit/synthesis/multi_controlled/multi_control_rotation_gates.py +206 -0
  202. qiskit/synthesis/one_qubit/one_qubit_decompose.py +1 -1
  203. qiskit/synthesis/two_qubit/__init__.py +1 -0
  204. qiskit/synthesis/two_qubit/two_qubit_decompose.py +28 -145
  205. qiskit/transpiler/__init__.py +32 -232
  206. qiskit/transpiler/basepasses.py +20 -51
  207. qiskit/transpiler/layout.py +1 -1
  208. qiskit/transpiler/passes/__init__.py +2 -40
  209. qiskit/transpiler/passes/basis/basis_translator.py +4 -3
  210. qiskit/transpiler/passes/basis/decompose.py +1 -15
  211. qiskit/transpiler/passes/basis/unroll_3q_or_more.py +1 -5
  212. qiskit/transpiler/passes/basis/unroll_custom_definitions.py +3 -2
  213. qiskit/transpiler/passes/layout/apply_layout.py +4 -0
  214. qiskit/transpiler/passes/layout/dense_layout.py +2 -39
  215. qiskit/transpiler/passes/layout/full_ancilla_allocation.py +4 -4
  216. qiskit/transpiler/passes/layout/sabre_layout.py +7 -3
  217. qiskit/transpiler/passes/layout/vf2_layout.py +2 -20
  218. qiskit/transpiler/passes/layout/vf2_post_layout.py +60 -125
  219. qiskit/transpiler/passes/layout/vf2_utils.py +2 -26
  220. qiskit/transpiler/passes/optimization/__init__.py +1 -3
  221. qiskit/transpiler/passes/optimization/collect_and_collapse.py +2 -0
  222. qiskit/transpiler/passes/optimization/collect_cliffords.py +5 -0
  223. qiskit/transpiler/passes/optimization/collect_linear_functions.py +5 -0
  224. qiskit/transpiler/passes/optimization/collect_multiqubit_blocks.py +16 -1
  225. qiskit/transpiler/passes/optimization/commutation_analysis.py +3 -3
  226. qiskit/transpiler/passes/optimization/consolidate_blocks.py +41 -19
  227. qiskit/transpiler/passes/optimization/contract_idle_wires_in_control_flow.py +104 -0
  228. qiskit/transpiler/passes/optimization/light_cone.py +135 -0
  229. qiskit/transpiler/passes/optimization/optimize_1q_commutation.py +0 -1
  230. qiskit/transpiler/passes/optimization/optimize_1q_decomposition.py +18 -22
  231. qiskit/transpiler/passes/optimization/optimize_annotated.py +3 -2
  232. qiskit/transpiler/passes/optimization/remove_identity_equiv.py +6 -4
  233. qiskit/transpiler/passes/optimization/reset_after_measure_simplification.py +5 -2
  234. qiskit/transpiler/passes/optimization/split_2q_unitaries.py +26 -3
  235. qiskit/transpiler/passes/optimization/template_matching/template_substitution.py +1 -0
  236. qiskit/transpiler/passes/routing/__init__.py +0 -1
  237. qiskit/transpiler/passes/routing/commuting_2q_gate_routing/commuting_2q_gate_router.py +3 -1
  238. qiskit/transpiler/passes/routing/sabre_swap.py +14 -6
  239. qiskit/transpiler/passes/routing/star_prerouting.py +1 -1
  240. qiskit/transpiler/passes/scheduling/__init__.py +1 -7
  241. qiskit/transpiler/passes/scheduling/alignments/__init__.py +2 -4
  242. qiskit/transpiler/passes/scheduling/alignments/check_durations.py +1 -9
  243. qiskit/transpiler/passes/scheduling/alignments/reschedule.py +17 -16
  244. qiskit/transpiler/passes/scheduling/padding/base_padding.py +30 -2
  245. qiskit/transpiler/passes/scheduling/padding/dynamical_decoupling.py +20 -58
  246. qiskit/transpiler/passes/scheduling/padding/pad_delay.py +11 -3
  247. qiskit/transpiler/passes/scheduling/scheduling/alap.py +5 -39
  248. qiskit/transpiler/passes/scheduling/scheduling/asap.py +4 -35
  249. qiskit/transpiler/passes/scheduling/scheduling/base_scheduler.py +10 -16
  250. qiskit/transpiler/passes/scheduling/time_unit_conversion.py +127 -59
  251. qiskit/transpiler/passes/synthesis/default_unitary_synth_plugin.py +653 -0
  252. qiskit/transpiler/passes/synthesis/high_level_synthesis.py +176 -601
  253. qiskit/transpiler/passes/synthesis/hls_plugins.py +294 -1
  254. qiskit/transpiler/passes/synthesis/plugin.py +4 -0
  255. qiskit/transpiler/passes/synthesis/solovay_kitaev_synthesis.py +16 -10
  256. qiskit/transpiler/passes/synthesis/unitary_synthesis.py +34 -697
  257. qiskit/transpiler/passes/utils/__init__.py +0 -1
  258. qiskit/transpiler/passes/utils/check_gate_direction.py +13 -5
  259. qiskit/transpiler/passes/utils/control_flow.py +2 -6
  260. qiskit/transpiler/passes/utils/gate_direction.py +7 -0
  261. qiskit/transpiler/passes/utils/remove_final_measurements.py +40 -33
  262. qiskit/transpiler/passmanager.py +13 -0
  263. qiskit/transpiler/passmanager_config.py +5 -81
  264. qiskit/transpiler/preset_passmanagers/builtin_plugins.py +225 -344
  265. qiskit/transpiler/preset_passmanagers/common.py +140 -167
  266. qiskit/transpiler/preset_passmanagers/generate_preset_pass_manager.py +101 -322
  267. qiskit/transpiler/preset_passmanagers/level0.py +2 -11
  268. qiskit/transpiler/preset_passmanagers/level1.py +2 -14
  269. qiskit/transpiler/preset_passmanagers/level2.py +2 -12
  270. qiskit/transpiler/preset_passmanagers/level3.py +2 -11
  271. qiskit/transpiler/preset_passmanagers/plugin.py +5 -3
  272. qiskit/transpiler/target.py +67 -524
  273. qiskit/user_config.py +8 -4
  274. qiskit/utils/__init__.py +13 -12
  275. qiskit/utils/deprecation.py +4 -112
  276. qiskit/utils/optionals.py +11 -4
  277. qiskit/utils/parallel.py +214 -87
  278. qiskit/utils/units.py +4 -1
  279. qiskit/visualization/__init__.py +3 -7
  280. qiskit/visualization/array.py +4 -1
  281. qiskit/visualization/bloch.py +1 -1
  282. qiskit/visualization/circuit/_utils.py +19 -19
  283. qiskit/visualization/circuit/circuit_visualization.py +11 -4
  284. qiskit/visualization/circuit/matplotlib.py +13 -23
  285. qiskit/visualization/circuit/text.py +7 -3
  286. qiskit/visualization/dag_visualization.py +2 -1
  287. qiskit/visualization/gate_map.py +39 -154
  288. qiskit/visualization/pass_manager_visualization.py +6 -2
  289. qiskit/visualization/state_visualization.py +6 -0
  290. qiskit/visualization/timeline/core.py +18 -12
  291. qiskit/visualization/timeline/interface.py +19 -18
  292. {qiskit-1.4.1.dist-info → qiskit-2.0.0rc1.dist-info}/METADATA +2 -2
  293. {qiskit-1.4.1.dist-info → qiskit-2.0.0rc1.dist-info}/RECORD +297 -444
  294. {qiskit-1.4.1.dist-info → qiskit-2.0.0rc1.dist-info}/WHEEL +2 -1
  295. {qiskit-1.4.1.dist-info → qiskit-2.0.0rc1.dist-info}/entry_points.txt +8 -2
  296. qiskit/assembler/__init__.py +0 -42
  297. qiskit/assembler/assemble_circuits.py +0 -451
  298. qiskit/assembler/assemble_schedules.py +0 -367
  299. qiskit/assembler/disassemble.py +0 -310
  300. qiskit/assembler/run_config.py +0 -77
  301. qiskit/circuit/bit.py +0 -106
  302. qiskit/circuit/classicalfunction/__init__.py +0 -152
  303. qiskit/circuit/classicalfunction/boolean_expression.py +0 -138
  304. qiskit/circuit/classicalfunction/classical_element.py +0 -54
  305. qiskit/circuit/classicalfunction/classical_function_visitor.py +0 -155
  306. qiskit/circuit/classicalfunction/classicalfunction.py +0 -182
  307. qiskit/circuit/classicalfunction/exceptions.py +0 -41
  308. qiskit/circuit/classicalfunction/types.py +0 -18
  309. qiskit/circuit/classicalfunction/utils.py +0 -91
  310. qiskit/circuit/classicalregister.py +0 -57
  311. qiskit/circuit/library/standard_gates/multi_control_rotation_gates.py +0 -405
  312. qiskit/circuit/quantumregister.py +0 -75
  313. qiskit/circuit/register.py +0 -246
  314. qiskit/compiler/assembler.py +0 -689
  315. qiskit/compiler/scheduler.py +0 -109
  316. qiskit/compiler/sequencer.py +0 -71
  317. qiskit/primitives/backend_estimator.py +0 -486
  318. qiskit/primitives/backend_sampler.py +0 -222
  319. qiskit/primitives/estimator.py +0 -172
  320. qiskit/primitives/sampler.py +0 -162
  321. qiskit/providers/backend_compat.py +0 -507
  322. qiskit/providers/fake_provider/backends_v1/__init__.py +0 -22
  323. qiskit/providers/fake_provider/backends_v1/fake_127q_pulse/__init__.py +0 -18
  324. qiskit/providers/fake_provider/backends_v1/fake_127q_pulse/conf_washington.json +0 -1
  325. qiskit/providers/fake_provider/backends_v1/fake_127q_pulse/defs_washington.json +0 -1
  326. qiskit/providers/fake_provider/backends_v1/fake_127q_pulse/fake_127q_pulse_v1.py +0 -37
  327. qiskit/providers/fake_provider/backends_v1/fake_127q_pulse/props_washington.json +0 -1
  328. qiskit/providers/fake_provider/backends_v1/fake_20q/conf_singapore.json +0 -1
  329. qiskit/providers/fake_provider/backends_v1/fake_20q/fake_20q.py +0 -43
  330. qiskit/providers/fake_provider/backends_v1/fake_20q/props_singapore.json +0 -1
  331. qiskit/providers/fake_provider/backends_v1/fake_27q_pulse/__init__.py +0 -18
  332. qiskit/providers/fake_provider/backends_v1/fake_27q_pulse/conf_hanoi.json +0 -1
  333. qiskit/providers/fake_provider/backends_v1/fake_27q_pulse/defs_hanoi.json +0 -1
  334. qiskit/providers/fake_provider/backends_v1/fake_27q_pulse/fake_27q_pulse_v1.py +0 -50
  335. qiskit/providers/fake_provider/backends_v1/fake_27q_pulse/props_hanoi.json +0 -1
  336. qiskit/providers/fake_provider/backends_v1/fake_5q/__init__.py +0 -18
  337. qiskit/providers/fake_provider/backends_v1/fake_5q/conf_yorktown.json +0 -1
  338. qiskit/providers/fake_provider/backends_v1/fake_5q/fake_5q_v1.py +0 -41
  339. qiskit/providers/fake_provider/backends_v1/fake_5q/props_yorktown.json +0 -1
  340. qiskit/providers/fake_provider/backends_v1/fake_7q_pulse/__init__.py +0 -18
  341. qiskit/providers/fake_provider/backends_v1/fake_7q_pulse/conf_nairobi.json +0 -1
  342. qiskit/providers/fake_provider/backends_v1/fake_7q_pulse/defs_nairobi.json +0 -1
  343. qiskit/providers/fake_provider/backends_v1/fake_7q_pulse/fake_7q_pulse_v1.py +0 -44
  344. qiskit/providers/fake_provider/backends_v1/fake_7q_pulse/props_nairobi.json +0 -1
  345. qiskit/providers/fake_provider/fake_1q.py +0 -91
  346. qiskit/providers/fake_provider/fake_backend.py +0 -165
  347. qiskit/providers/fake_provider/fake_openpulse_2q.py +0 -391
  348. qiskit/providers/fake_provider/fake_openpulse_3q.py +0 -340
  349. qiskit/providers/fake_provider/fake_pulse_backend.py +0 -49
  350. qiskit/providers/fake_provider/fake_qasm_backend.py +0 -77
  351. qiskit/providers/fake_provider/utils/backend_converter.py +0 -150
  352. qiskit/providers/fake_provider/utils/json_decoder.py +0 -109
  353. qiskit/providers/models/__init__.py +0 -89
  354. qiskit/providers/models/backendconfiguration.py +0 -1040
  355. qiskit/providers/models/backendproperties.py +0 -535
  356. qiskit/providers/models/backendstatus.py +0 -104
  357. qiskit/providers/models/jobstatus.py +0 -77
  358. qiskit/providers/models/pulsedefaults.py +0 -305
  359. qiskit/providers/provider.py +0 -95
  360. qiskit/pulse/__init__.py +0 -158
  361. qiskit/pulse/builder.py +0 -2262
  362. qiskit/pulse/calibration_entries.py +0 -381
  363. qiskit/pulse/channels.py +0 -227
  364. qiskit/pulse/configuration.py +0 -245
  365. qiskit/pulse/exceptions.py +0 -45
  366. qiskit/pulse/filters.py +0 -309
  367. qiskit/pulse/instruction_schedule_map.py +0 -424
  368. qiskit/pulse/instructions/__init__.py +0 -67
  369. qiskit/pulse/instructions/acquire.py +0 -150
  370. qiskit/pulse/instructions/delay.py +0 -71
  371. qiskit/pulse/instructions/directives.py +0 -154
  372. qiskit/pulse/instructions/frequency.py +0 -135
  373. qiskit/pulse/instructions/instruction.py +0 -270
  374. qiskit/pulse/instructions/phase.py +0 -152
  375. qiskit/pulse/instructions/play.py +0 -99
  376. qiskit/pulse/instructions/reference.py +0 -100
  377. qiskit/pulse/instructions/snapshot.py +0 -82
  378. qiskit/pulse/library/__init__.py +0 -97
  379. qiskit/pulse/library/continuous.py +0 -430
  380. qiskit/pulse/library/pulse.py +0 -148
  381. qiskit/pulse/library/samplers/__init__.py +0 -15
  382. qiskit/pulse/library/samplers/decorators.py +0 -295
  383. qiskit/pulse/library/samplers/strategies.py +0 -71
  384. qiskit/pulse/library/symbolic_pulses.py +0 -1989
  385. qiskit/pulse/library/waveform.py +0 -136
  386. qiskit/pulse/macros.py +0 -262
  387. qiskit/pulse/parameter_manager.py +0 -445
  388. qiskit/pulse/parser.py +0 -314
  389. qiskit/pulse/reference_manager.py +0 -58
  390. qiskit/pulse/schedule.py +0 -1854
  391. qiskit/pulse/transforms/__init__.py +0 -106
  392. qiskit/pulse/transforms/alignments.py +0 -406
  393. qiskit/pulse/transforms/base_transforms.py +0 -71
  394. qiskit/pulse/transforms/canonicalization.py +0 -498
  395. qiskit/pulse/transforms/dag.py +0 -122
  396. qiskit/pulse/utils.py +0 -149
  397. qiskit/qobj/__init__.py +0 -75
  398. qiskit/qobj/common.py +0 -81
  399. qiskit/qobj/converters/__init__.py +0 -18
  400. qiskit/qobj/converters/lo_config.py +0 -177
  401. qiskit/qobj/converters/pulse_instruction.py +0 -897
  402. qiskit/qobj/pulse_qobj.py +0 -709
  403. qiskit/qobj/qasm_qobj.py +0 -708
  404. qiskit/qobj/utils.py +0 -46
  405. qiskit/result/mitigation/base_readout_mitigator.py +0 -79
  406. qiskit/result/mitigation/correlated_readout_mitigator.py +0 -277
  407. qiskit/result/mitigation/local_readout_mitigator.py +0 -328
  408. qiskit/result/mitigation/utils.py +0 -217
  409. qiskit/scheduler/__init__.py +0 -40
  410. qiskit/scheduler/config.py +0 -37
  411. qiskit/scheduler/lowering.py +0 -187
  412. qiskit/scheduler/methods/__init__.py +0 -15
  413. qiskit/scheduler/methods/basic.py +0 -140
  414. qiskit/scheduler/schedule_circuit.py +0 -69
  415. qiskit/scheduler/sequence.py +0 -104
  416. qiskit/transpiler/passes/calibration/__init__.py +0 -17
  417. qiskit/transpiler/passes/calibration/base_builder.py +0 -79
  418. qiskit/transpiler/passes/calibration/builders.py +0 -20
  419. qiskit/transpiler/passes/calibration/exceptions.py +0 -22
  420. qiskit/transpiler/passes/calibration/pulse_gate.py +0 -100
  421. qiskit/transpiler/passes/calibration/rx_builder.py +0 -164
  422. qiskit/transpiler/passes/calibration/rzx_builder.py +0 -411
  423. qiskit/transpiler/passes/calibration/rzx_templates.py +0 -58
  424. qiskit/transpiler/passes/optimization/cx_cancellation.py +0 -65
  425. qiskit/transpiler/passes/optimization/echo_rzx_weyl_decomposition.py +0 -162
  426. qiskit/transpiler/passes/optimization/normalize_rx_angle.py +0 -157
  427. qiskit/transpiler/passes/routing/stochastic_swap.py +0 -532
  428. qiskit/transpiler/passes/scheduling/alap.py +0 -153
  429. qiskit/transpiler/passes/scheduling/alignments/align_measures.py +0 -255
  430. qiskit/transpiler/passes/scheduling/alignments/pulse_gate_validation.py +0 -107
  431. qiskit/transpiler/passes/scheduling/asap.py +0 -175
  432. qiskit/transpiler/passes/scheduling/base_scheduler.py +0 -310
  433. qiskit/transpiler/passes/scheduling/dynamical_decoupling.py +0 -313
  434. qiskit/transpiler/passes/utils/convert_conditions_to_if_ops.py +0 -93
  435. qiskit/utils/deprecate_pulse.py +0 -119
  436. qiskit/utils/multiprocessing.py +0 -56
  437. qiskit/visualization/pulse_v2/__init__.py +0 -21
  438. qiskit/visualization/pulse_v2/core.py +0 -901
  439. qiskit/visualization/pulse_v2/device_info.py +0 -173
  440. qiskit/visualization/pulse_v2/drawings.py +0 -253
  441. qiskit/visualization/pulse_v2/events.py +0 -254
  442. qiskit/visualization/pulse_v2/generators/__init__.py +0 -40
  443. qiskit/visualization/pulse_v2/generators/barrier.py +0 -76
  444. qiskit/visualization/pulse_v2/generators/chart.py +0 -208
  445. qiskit/visualization/pulse_v2/generators/frame.py +0 -436
  446. qiskit/visualization/pulse_v2/generators/snapshot.py +0 -133
  447. qiskit/visualization/pulse_v2/generators/waveform.py +0 -645
  448. qiskit/visualization/pulse_v2/interface.py +0 -459
  449. qiskit/visualization/pulse_v2/layouts.py +0 -387
  450. qiskit/visualization/pulse_v2/plotters/__init__.py +0 -17
  451. qiskit/visualization/pulse_v2/plotters/base_plotter.py +0 -53
  452. qiskit/visualization/pulse_v2/plotters/matplotlib.py +0 -201
  453. qiskit/visualization/pulse_v2/stylesheet.py +0 -312
  454. qiskit/visualization/pulse_v2/types.py +0 -242
  455. {qiskit-1.4.1.dist-info → qiskit-2.0.0rc1.dist-info}/LICENSE.txt +0 -0
  456. {qiskit-1.4.1.dist-info → qiskit-2.0.0rc1.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
 
@@ -26,6 +26,7 @@ import numpy
26
26
  import symengine
27
27
 
28
28
  from qiskit.circuit.exceptions import CircuitError
29
+ from qiskit.utils.optionals import HAS_SYMPY
29
30
 
30
31
  # This type is redefined at the bottom to insert the full reference to "ParameterExpression", so it
31
32
  # can safely be used by runtime type-checkers like Sphinx. Mypy does not need this because it
@@ -117,6 +118,8 @@ class ParameterExpression:
117
118
 
118
119
  Not intended to be called directly, but to be instantiated via operations
119
120
  on other :class:`Parameter` or :class:`ParameterExpression` objects.
121
+ The constructor of this object is **not** a public interface and should not
122
+ ever be used directly.
120
123
 
121
124
  Args:
122
125
  symbol_map (Dict[Parameter, [ParameterExpression, float, or int]]):
@@ -672,6 +675,7 @@ class ParameterExpression:
672
675
  return out.real if out.imag == 0.0 else out
673
676
  return float(real_expr)
674
677
 
678
+ @HAS_SYMPY.require_in_call
675
679
  def sympify(self):
676
680
  """Return symbolic expression as a raw Sympy or Symengine object.
677
681