qiskit 1.1.2__cp38-abi3-macosx_10_9_universal2.whl → 1.2.0__cp38-abi3-macosx_10_9_universal2.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 (343) hide show
  1. qiskit/VERSION.txt +1 -1
  2. qiskit/__init__.py +27 -24
  3. qiskit/_accelerate.abi3.so +0 -0
  4. qiskit/_numpy_compat.py +1 -1
  5. qiskit/assembler/assemble_circuits.py +107 -64
  6. qiskit/assembler/assemble_schedules.py +5 -12
  7. qiskit/assembler/disassemble.py +10 -1
  8. qiskit/circuit/__init__.py +6 -3
  9. qiskit/circuit/_classical_resource_map.py +5 -5
  10. qiskit/circuit/_utils.py +0 -13
  11. qiskit/circuit/add_control.py +1 -1
  12. qiskit/circuit/annotated_operation.py +23 -1
  13. qiskit/circuit/classical/expr/expr.py +4 -4
  14. qiskit/circuit/classical/expr/visitors.py +1 -1
  15. qiskit/circuit/classical/types/__init__.py +1 -1
  16. qiskit/circuit/classical/types/types.py +2 -2
  17. qiskit/circuit/classicalfunction/boolean_expression.py +1 -1
  18. qiskit/circuit/classicalfunction/classical_function_visitor.py +5 -5
  19. qiskit/circuit/classicalfunction/utils.py +1 -1
  20. qiskit/circuit/classicalregister.py +1 -1
  21. qiskit/circuit/commutation_checker.py +83 -35
  22. qiskit/circuit/controlflow/_builder_utils.py +1 -1
  23. qiskit/circuit/controlflow/builder.py +10 -6
  24. qiskit/circuit/controlflow/if_else.py +2 -2
  25. qiskit/circuit/controlflow/switch_case.py +1 -1
  26. qiskit/circuit/delay.py +1 -1
  27. qiskit/circuit/duration.py +2 -2
  28. qiskit/circuit/equivalence.py +5 -7
  29. qiskit/circuit/gate.py +11 -8
  30. qiskit/circuit/instruction.py +31 -13
  31. qiskit/circuit/instructionset.py +2 -5
  32. qiskit/circuit/library/__init__.py +2 -1
  33. qiskit/circuit/library/arithmetic/linear_amplitude_function.py +1 -1
  34. qiskit/circuit/library/arithmetic/linear_pauli_rotations.py +1 -1
  35. qiskit/circuit/library/arithmetic/piecewise_chebyshev.py +1 -1
  36. qiskit/circuit/library/arithmetic/piecewise_linear_pauli_rotations.py +1 -1
  37. qiskit/circuit/library/arithmetic/piecewise_polynomial_pauli_rotations.py +3 -3
  38. qiskit/circuit/library/arithmetic/polynomial_pauli_rotations.py +1 -1
  39. qiskit/circuit/library/basis_change/__init__.py +1 -1
  40. qiskit/circuit/library/basis_change/qft.py +40 -6
  41. qiskit/circuit/library/blueprintcircuit.py +3 -5
  42. qiskit/circuit/library/data_preparation/__init__.py +9 -2
  43. qiskit/circuit/library/data_preparation/initializer.py +8 -0
  44. qiskit/circuit/library/data_preparation/state_preparation.py +98 -178
  45. qiskit/circuit/library/generalized_gates/isometry.py +8 -8
  46. qiskit/circuit/library/generalized_gates/linear_function.py +3 -2
  47. qiskit/circuit/library/generalized_gates/mcg_up_to_diagonal.py +4 -4
  48. qiskit/circuit/library/generalized_gates/permutation.py +8 -9
  49. qiskit/circuit/library/generalized_gates/uc.py +3 -3
  50. qiskit/circuit/library/generalized_gates/uc_pauli_rot.py +2 -2
  51. qiskit/circuit/library/generalized_gates/unitary.py +13 -11
  52. qiskit/circuit/library/graph_state.py +1 -1
  53. qiskit/circuit/library/hamiltonian_gate.py +1 -2
  54. qiskit/circuit/library/hidden_linear_function.py +1 -1
  55. qiskit/circuit/library/n_local/evolved_operator_ansatz.py +3 -2
  56. qiskit/circuit/library/n_local/n_local.py +4 -5
  57. qiskit/circuit/library/n_local/pauli_two_design.py +1 -1
  58. qiskit/circuit/library/n_local/qaoa_ansatz.py +6 -8
  59. qiskit/circuit/library/n_local/two_local.py +1 -1
  60. qiskit/circuit/library/overlap.py +11 -5
  61. qiskit/circuit/library/pauli_evolution.py +7 -3
  62. qiskit/circuit/library/standard_gates/dcx.py +3 -0
  63. qiskit/circuit/library/standard_gates/ecr.py +3 -0
  64. qiskit/circuit/library/standard_gates/global_phase.py +3 -0
  65. qiskit/circuit/library/standard_gates/h.py +13 -5
  66. qiskit/circuit/library/standard_gates/i.py +3 -0
  67. qiskit/circuit/library/standard_gates/iswap.py +3 -0
  68. qiskit/circuit/library/standard_gates/multi_control_rotation_gates.py +19 -10
  69. qiskit/circuit/library/standard_gates/p.py +14 -9
  70. qiskit/circuit/library/standard_gates/r.py +3 -0
  71. qiskit/circuit/library/standard_gates/rx.py +21 -6
  72. qiskit/circuit/library/standard_gates/rxx.py +40 -1
  73. qiskit/circuit/library/standard_gates/ry.py +21 -6
  74. qiskit/circuit/library/standard_gates/ryy.py +40 -1
  75. qiskit/circuit/library/standard_gates/rz.py +22 -6
  76. qiskit/circuit/library/standard_gates/rzx.py +40 -1
  77. qiskit/circuit/library/standard_gates/rzz.py +41 -2
  78. qiskit/circuit/library/standard_gates/s.py +77 -0
  79. qiskit/circuit/library/standard_gates/swap.py +12 -5
  80. qiskit/circuit/library/standard_gates/sx.py +14 -5
  81. qiskit/circuit/library/standard_gates/t.py +5 -0
  82. qiskit/circuit/library/standard_gates/u.py +22 -7
  83. qiskit/circuit/library/standard_gates/u1.py +8 -3
  84. qiskit/circuit/library/standard_gates/u2.py +3 -0
  85. qiskit/circuit/library/standard_gates/u3.py +22 -7
  86. qiskit/circuit/library/standard_gates/x.py +156 -92
  87. qiskit/circuit/library/standard_gates/xx_minus_yy.py +40 -1
  88. qiskit/circuit/library/standard_gates/xx_plus_yy.py +52 -11
  89. qiskit/circuit/library/standard_gates/y.py +6 -1
  90. qiskit/circuit/library/standard_gates/z.py +8 -1
  91. qiskit/circuit/operation.py +1 -1
  92. qiskit/circuit/parameter.py +9 -10
  93. qiskit/circuit/parameterexpression.py +16 -13
  94. qiskit/circuit/parametertable.py +1 -190
  95. qiskit/circuit/parametervector.py +1 -1
  96. qiskit/circuit/quantumcircuit.py +395 -387
  97. qiskit/circuit/quantumcircuitdata.py +3 -5
  98. qiskit/circuit/quantumregister.py +1 -1
  99. qiskit/circuit/random/__init__.py +1 -1
  100. qiskit/circuit/random/utils.py +175 -26
  101. qiskit/circuit/register.py +5 -7
  102. qiskit/circuit/singleton.py +3 -3
  103. qiskit/circuit/tools/pi_check.py +4 -4
  104. qiskit/compiler/assembler.py +95 -24
  105. qiskit/compiler/scheduler.py +2 -2
  106. qiskit/compiler/transpiler.py +42 -128
  107. qiskit/converters/circuit_to_dag.py +4 -6
  108. qiskit/converters/circuit_to_gate.py +4 -8
  109. qiskit/converters/circuit_to_instruction.py +5 -17
  110. qiskit/converters/dag_to_circuit.py +2 -6
  111. qiskit/dagcircuit/collect_blocks.py +2 -2
  112. qiskit/dagcircuit/dagcircuit.py +190 -187
  113. qiskit/dagcircuit/dagdependency.py +4 -4
  114. qiskit/dagcircuit/dagdependency_v2.py +4 -4
  115. qiskit/dagcircuit/dagdepnode.py +1 -1
  116. qiskit/dagcircuit/dagnode.py +66 -157
  117. qiskit/passmanager/flow_controllers.py +1 -1
  118. qiskit/passmanager/passmanager.py +3 -3
  119. qiskit/primitives/__init__.py +1 -5
  120. qiskit/primitives/backend_estimator.py +25 -15
  121. qiskit/primitives/backend_estimator_v2.py +31 -7
  122. qiskit/primitives/backend_sampler.py +21 -12
  123. qiskit/primitives/backend_sampler_v2.py +12 -3
  124. qiskit/primitives/base/base_estimator.py +31 -4
  125. qiskit/primitives/base/base_primitive.py +2 -2
  126. qiskit/primitives/base/base_result.py +2 -2
  127. qiskit/primitives/base/base_sampler.py +26 -2
  128. qiskit/primitives/base/estimator_result.py +2 -2
  129. qiskit/primitives/base/sampler_result.py +2 -2
  130. qiskit/primitives/containers/__init__.py +0 -1
  131. qiskit/primitives/containers/bindings_array.py +2 -2
  132. qiskit/primitives/containers/bit_array.py +108 -10
  133. qiskit/primitives/containers/shape.py +3 -3
  134. qiskit/primitives/estimator.py +9 -2
  135. qiskit/primitives/primitive_job.py +1 -1
  136. qiskit/primitives/sampler.py +10 -3
  137. qiskit/primitives/statevector_estimator.py +5 -3
  138. qiskit/primitives/statevector_sampler.py +11 -5
  139. qiskit/primitives/utils.py +16 -0
  140. qiskit/providers/backend.py +15 -6
  141. qiskit/providers/backend_compat.py +7 -4
  142. qiskit/providers/basic_provider/basic_provider_tools.py +1 -1
  143. qiskit/providers/basic_provider/basic_simulator.py +33 -25
  144. qiskit/providers/fake_provider/fake_backend.py +10 -3
  145. qiskit/providers/fake_provider/fake_openpulse_2q.py +157 -149
  146. qiskit/providers/fake_provider/fake_openpulse_3q.py +228 -220
  147. qiskit/providers/fake_provider/fake_pulse_backend.py +2 -1
  148. qiskit/providers/fake_provider/fake_qasm_backend.py +7 -2
  149. qiskit/providers/fake_provider/generic_backend_v2.py +514 -68
  150. qiskit/providers/models/__init__.py +48 -11
  151. qiskit/providers/models/backendconfiguration.py +50 -4
  152. qiskit/providers/models/backendproperties.py +13 -2
  153. qiskit/providers/models/pulsedefaults.py +10 -11
  154. qiskit/providers/options.py +13 -13
  155. qiskit/providers/providerutils.py +3 -1
  156. qiskit/pulse/configuration.py +8 -12
  157. qiskit/pulse/instruction_schedule_map.py +3 -5
  158. qiskit/pulse/instructions/acquire.py +7 -8
  159. qiskit/pulse/instructions/instruction.py +2 -3
  160. qiskit/pulse/library/samplers/decorators.py +5 -9
  161. qiskit/pulse/library/symbolic_pulses.py +4 -7
  162. qiskit/pulse/library/waveform.py +2 -5
  163. qiskit/pulse/macros.py +11 -6
  164. qiskit/pulse/parser.py +8 -10
  165. qiskit/pulse/schedule.py +9 -17
  166. qiskit/pulse/transforms/alignments.py +1 -3
  167. qiskit/pulse/utils.py +1 -2
  168. qiskit/qasm/libs/stdgates.inc +35 -28
  169. qiskit/qasm2/__init__.py +7 -7
  170. qiskit/qasm2/export.py +5 -9
  171. qiskit/qasm2/parse.py +1 -1
  172. qiskit/qasm3/ast.py +9 -25
  173. qiskit/qasm3/exporter.py +582 -479
  174. qiskit/qasm3/printer.py +7 -16
  175. qiskit/qobj/common.py +10 -0
  176. qiskit/qobj/converters/lo_config.py +9 -0
  177. qiskit/qobj/converters/pulse_instruction.py +13 -6
  178. qiskit/qobj/pulse_qobj.py +69 -15
  179. qiskit/qobj/qasm_qobj.py +72 -20
  180. qiskit/qobj/utils.py +9 -0
  181. qiskit/qpy/__init__.py +1 -1
  182. qiskit/qpy/binary_io/circuits.py +8 -5
  183. qiskit/qpy/binary_io/schedules.py +1 -1
  184. qiskit/qpy/binary_io/value.py +3 -3
  185. qiskit/qpy/interface.py +3 -2
  186. qiskit/qpy/type_keys.py +2 -2
  187. qiskit/quantum_info/operators/channel/quantum_channel.py +3 -6
  188. qiskit/quantum_info/operators/channel/superop.py +2 -2
  189. qiskit/quantum_info/operators/channel/transformations.py +1 -1
  190. qiskit/quantum_info/operators/dihedral/dihedral.py +3 -4
  191. qiskit/quantum_info/operators/dihedral/dihedral_circuits.py +1 -3
  192. qiskit/quantum_info/operators/dihedral/random.py +6 -3
  193. qiskit/quantum_info/operators/measures.py +2 -2
  194. qiskit/quantum_info/operators/op_shape.py +12 -20
  195. qiskit/quantum_info/operators/operator.py +14 -21
  196. qiskit/quantum_info/operators/predicates.py +1 -0
  197. qiskit/quantum_info/operators/symplectic/base_pauli.py +7 -11
  198. qiskit/quantum_info/operators/symplectic/clifford.py +1 -1
  199. qiskit/quantum_info/operators/symplectic/pauli.py +3 -3
  200. qiskit/quantum_info/operators/symplectic/pauli_list.py +9 -10
  201. qiskit/quantum_info/operators/symplectic/random.py +1 -1
  202. qiskit/quantum_info/operators/symplectic/sparse_pauli_op.py +15 -17
  203. qiskit/quantum_info/quaternion.py +1 -1
  204. qiskit/quantum_info/states/densitymatrix.py +5 -8
  205. qiskit/quantum_info/states/stabilizerstate.py +128 -37
  206. qiskit/quantum_info/states/statevector.py +4 -8
  207. qiskit/result/counts.py +2 -2
  208. qiskit/result/mitigation/correlated_readout_mitigator.py +2 -2
  209. qiskit/result/mitigation/local_readout_mitigator.py +2 -2
  210. qiskit/result/mitigation/utils.py +1 -3
  211. qiskit/result/models.py +17 -16
  212. qiskit/result/result.py +15 -20
  213. qiskit/scheduler/lowering.py +2 -2
  214. qiskit/synthesis/__init__.py +2 -1
  215. qiskit/synthesis/clifford/__init__.py +1 -1
  216. qiskit/synthesis/clifford/clifford_decompose_ag.py +2 -2
  217. qiskit/synthesis/clifford/clifford_decompose_bm.py +10 -240
  218. qiskit/synthesis/clifford/clifford_decompose_greedy.py +9 -303
  219. qiskit/synthesis/clifford/clifford_decompose_layers.py +25 -23
  220. qiskit/synthesis/cnotdihedral/cnotdihedral_decompose_full.py +1 -1
  221. qiskit/synthesis/cnotdihedral/cnotdihedral_decompose_general.py +1 -1
  222. qiskit/synthesis/discrete_basis/generate_basis_approximations.py +1 -1
  223. qiskit/synthesis/discrete_basis/solovay_kitaev.py +2 -2
  224. qiskit/synthesis/evolution/evolution_synthesis.py +4 -2
  225. qiskit/synthesis/evolution/lie_trotter.py +46 -19
  226. qiskit/synthesis/evolution/product_formula.py +111 -55
  227. qiskit/synthesis/evolution/qdrift.py +40 -10
  228. qiskit/synthesis/evolution/suzuki_trotter.py +43 -33
  229. qiskit/synthesis/linear/__init__.py +1 -0
  230. qiskit/synthesis/linear/cnot_synth.py +22 -96
  231. qiskit/synthesis/linear/linear_depth_lnn.py +8 -8
  232. qiskit/synthesis/linear/linear_matrix_utils.py +13 -161
  233. qiskit/synthesis/linear_phase/cnot_phase_synth.py +1 -1
  234. qiskit/synthesis/linear_phase/cx_cz_depth_lnn.py +3 -3
  235. qiskit/synthesis/linear_phase/cz_depth_lnn.py +1 -1
  236. qiskit/synthesis/one_qubit/one_qubit_decompose.py +29 -29
  237. qiskit/synthesis/permutation/permutation_full.py +5 -29
  238. qiskit/synthesis/permutation/permutation_lnn.py +2 -24
  239. qiskit/synthesis/permutation/permutation_utils.py +2 -59
  240. qiskit/synthesis/qft/__init__.py +1 -0
  241. qiskit/synthesis/qft/qft_decompose_full.py +79 -0
  242. qiskit/synthesis/qft/qft_decompose_lnn.py +17 -9
  243. qiskit/synthesis/stabilizer/stabilizer_circuit.py +6 -6
  244. qiskit/synthesis/stabilizer/stabilizer_decompose.py +2 -2
  245. qiskit/synthesis/two_qubit/local_invariance.py +8 -38
  246. qiskit/synthesis/two_qubit/two_qubit_decompose.py +48 -129
  247. qiskit/synthesis/unitary/aqc/cnot_structures.py +1 -1
  248. qiskit/synthesis/unitary/qsd.py +5 -3
  249. qiskit/transpiler/__init__.py +1 -0
  250. qiskit/transpiler/basepasses.py +1 -1
  251. qiskit/transpiler/coupling.py +3 -3
  252. qiskit/transpiler/instruction_durations.py +1 -2
  253. qiskit/transpiler/layout.py +3 -3
  254. qiskit/transpiler/passes/__init__.py +2 -0
  255. qiskit/transpiler/passes/basis/basis_translator.py +84 -64
  256. qiskit/transpiler/passes/basis/translate_parameterized.py +3 -5
  257. qiskit/transpiler/passes/basis/unroll_3q_or_more.py +1 -1
  258. qiskit/transpiler/passes/basis/unroll_custom_definitions.py +10 -10
  259. qiskit/transpiler/passes/calibration/rx_builder.py +3 -3
  260. qiskit/transpiler/passes/calibration/rzx_builder.py +3 -3
  261. qiskit/transpiler/passes/layout/apply_layout.py +13 -3
  262. qiskit/transpiler/passes/layout/sabre_layout.py +10 -8
  263. qiskit/transpiler/passes/layout/sabre_pre_layout.py +4 -1
  264. qiskit/transpiler/passes/layout/set_layout.py +2 -2
  265. qiskit/transpiler/passes/layout/vf2_layout.py +1 -1
  266. qiskit/transpiler/passes/layout/vf2_utils.py +3 -3
  267. qiskit/transpiler/passes/optimization/__init__.py +1 -0
  268. qiskit/transpiler/passes/optimization/collect_multiqubit_blocks.py +2 -2
  269. qiskit/transpiler/passes/optimization/commutation_analysis.py +7 -10
  270. qiskit/transpiler/passes/optimization/commutative_cancellation.py +35 -19
  271. qiskit/transpiler/passes/optimization/consolidate_blocks.py +17 -8
  272. qiskit/transpiler/passes/optimization/inverse_cancellation.py +6 -6
  273. qiskit/transpiler/passes/optimization/optimize_1q_decomposition.py +64 -41
  274. qiskit/transpiler/passes/optimization/optimize_1q_gates.py +1 -1
  275. qiskit/transpiler/passes/optimization/split_2q_unitaries.py +83 -0
  276. qiskit/transpiler/passes/optimization/template_matching/backward_match.py +1 -1
  277. qiskit/transpiler/passes/optimization/template_matching/forward_match.py +2 -2
  278. qiskit/transpiler/passes/optimization/template_matching/template_substitution.py +1 -1
  279. qiskit/transpiler/passes/routing/commuting_2q_gate_routing/commuting_2q_gate_router.py +3 -2
  280. qiskit/transpiler/passes/routing/commuting_2q_gate_routing/swap_strategy.py +1 -1
  281. qiskit/transpiler/passes/routing/layout_transformation.py +2 -1
  282. qiskit/transpiler/passes/routing/sabre_swap.py +35 -26
  283. qiskit/transpiler/passes/routing/star_prerouting.py +80 -105
  284. qiskit/transpiler/passes/routing/stochastic_swap.py +1 -3
  285. qiskit/transpiler/passes/scheduling/alap.py +1 -2
  286. qiskit/transpiler/passes/scheduling/alignments/__init__.py +2 -2
  287. qiskit/transpiler/passes/scheduling/alignments/check_durations.py +1 -1
  288. qiskit/transpiler/passes/scheduling/alignments/pulse_gate_validation.py +2 -2
  289. qiskit/transpiler/passes/scheduling/alignments/reschedule.py +1 -1
  290. qiskit/transpiler/passes/scheduling/asap.py +1 -2
  291. qiskit/transpiler/passes/scheduling/base_scheduler.py +5 -5
  292. qiskit/transpiler/passes/scheduling/dynamical_decoupling.py +3 -3
  293. qiskit/transpiler/passes/scheduling/padding/base_padding.py +1 -1
  294. qiskit/transpiler/passes/scheduling/padding/dynamical_decoupling.py +20 -14
  295. qiskit/transpiler/passes/scheduling/scheduling/base_scheduler.py +7 -6
  296. qiskit/transpiler/passes/scheduling/time_unit_conversion.py +4 -3
  297. qiskit/transpiler/passes/synthesis/high_level_synthesis.py +211 -36
  298. qiskit/transpiler/passes/synthesis/plugin.py +2 -2
  299. qiskit/transpiler/passes/synthesis/unitary_synthesis.py +80 -40
  300. qiskit/transpiler/passes/utils/__init__.py +0 -1
  301. qiskit/transpiler/passes/utils/check_gate_direction.py +4 -4
  302. qiskit/transpiler/passes/utils/check_map.py +3 -6
  303. qiskit/transpiler/passes/utils/convert_conditions_to_if_ops.py +3 -4
  304. qiskit/transpiler/passes/utils/error.py +2 -2
  305. qiskit/transpiler/passes/utils/fixed_point.py +3 -3
  306. qiskit/transpiler/passes/utils/gate_direction.py +1 -1
  307. qiskit/transpiler/passes/utils/gates_basis.py +1 -2
  308. qiskit/transpiler/passmanager.py +7 -6
  309. qiskit/transpiler/preset_passmanagers/__init__.py +4 -228
  310. qiskit/transpiler/preset_passmanagers/builtin_plugins.py +73 -18
  311. qiskit/transpiler/preset_passmanagers/common.py +3 -6
  312. qiskit/transpiler/preset_passmanagers/generate_preset_pass_manager.py +518 -0
  313. qiskit/transpiler/preset_passmanagers/level0.py +1 -1
  314. qiskit/transpiler/target.py +27 -8
  315. qiskit/user_config.py +29 -6
  316. qiskit/utils/classtools.py +3 -3
  317. qiskit/utils/deprecation.py +3 -2
  318. qiskit/utils/lazy_tester.py +2 -2
  319. qiskit/utils/optionals.py +8 -8
  320. qiskit/visualization/bloch.py +18 -23
  321. qiskit/visualization/circuit/_utils.py +34 -10
  322. qiskit/visualization/circuit/circuit_visualization.py +23 -16
  323. qiskit/visualization/circuit/latex.py +29 -27
  324. qiskit/visualization/circuit/matplotlib.py +4 -2
  325. qiskit/visualization/circuit/qcstyle.py +2 -2
  326. qiskit/visualization/circuit/text.py +9 -15
  327. qiskit/visualization/dag_visualization.py +2 -2
  328. qiskit/visualization/pulse_v2/core.py +1 -1
  329. qiskit/visualization/pulse_v2/events.py +1 -1
  330. qiskit/visualization/pulse_v2/generators/frame.py +3 -4
  331. qiskit/visualization/pulse_v2/generators/waveform.py +5 -9
  332. qiskit/visualization/pulse_v2/layouts.py +1 -5
  333. qiskit/visualization/pulse_v2/plotters/matplotlib.py +1 -2
  334. qiskit/visualization/state_visualization.py +5 -6
  335. qiskit/visualization/timeline/plotters/matplotlib.py +1 -2
  336. qiskit/visualization/transition_visualization.py +7 -2
  337. {qiskit-1.1.2.dist-info → qiskit-1.2.0.dist-info}/METADATA +12 -12
  338. {qiskit-1.1.2.dist-info → qiskit-1.2.0.dist-info}/RECORD +342 -340
  339. {qiskit-1.1.2.dist-info → qiskit-1.2.0.dist-info}/entry_points.txt +3 -0
  340. qiskit/transpiler/passes/utils/block_to_matrix.py +0 -47
  341. {qiskit-1.1.2.dist-info → qiskit-1.2.0.dist-info}/LICENSE.txt +0 -0
  342. {qiskit-1.1.2.dist-info → qiskit-1.2.0.dist-info}/WHEEL +0 -0
  343. {qiskit-1.1.2.dist-info → qiskit-1.2.0.dist-info}/top_level.txt +0 -0
@@ -13,14 +13,14 @@
13
13
  """
14
14
  Fake backend supporting OpenPulse.
15
15
  """
16
+ import warnings
16
17
 
17
- from qiskit.providers.models import (
18
+ from qiskit.providers.models.backendconfiguration import (
18
19
  GateConfig,
19
20
  PulseBackendConfiguration,
20
- PulseDefaults,
21
- Command,
22
21
  UchannelLO,
23
22
  )
23
+ from qiskit.providers.models.pulsedefaults import PulseDefaults, Command
24
24
  from qiskit.qobj import PulseQobjInstruction
25
25
 
26
26
  from .fake_backend import FakeBackend
@@ -109,223 +109,231 @@ class FakeOpenPulse3Q(FakeBackend):
109
109
  },
110
110
  },
111
111
  )
112
-
113
- self._defaults = PulseDefaults.from_dict(
114
- {
115
- "qubit_freq_est": [4.9, 5.0, 4.8],
116
- "meas_freq_est": [6.5, 6.6, 6.4],
117
- "buffer": 10,
118
- "pulse_library": [
119
- {"name": "x90p_d0", "samples": 2 * [0.1 + 0j]},
120
- {"name": "x90p_d1", "samples": 2 * [0.1 + 0j]},
121
- {"name": "x90p_d2", "samples": 2 * [0.1 + 0j]},
122
- {"name": "x90m_d0", "samples": 2 * [-0.1 + 0j]},
123
- {"name": "x90m_d1", "samples": 2 * [-0.1 + 0j]},
124
- {"name": "x90m_d2", "samples": 2 * [-0.1 + 0j]},
125
- {"name": "y90p_d0", "samples": 2 * [0.1j]},
126
- {"name": "y90p_d1", "samples": 2 * [0.1j]},
127
- {"name": "y90p_d2", "samples": 2 * [0.1j]},
128
- {"name": "xp_d0", "samples": 2 * [0.2 + 0j]},
129
- {"name": "ym_d0", "samples": 2 * [-0.2j]},
130
- {"name": "xp_d1", "samples": 2 * [0.2 + 0j]},
131
- {"name": "ym_d1", "samples": 2 * [-0.2j]},
132
- {"name": "cr90p_u0", "samples": 9 * [0.1 + 0j]},
133
- {"name": "cr90m_u0", "samples": 9 * [-0.1 + 0j]},
134
- {"name": "cr90p_u1", "samples": 9 * [0.1 + 0j]},
135
- {"name": "cr90m_u1", "samples": 9 * [-0.1 + 0j]},
136
- {"name": "measure_m0", "samples": 10 * [0.1 + 0j]},
137
- {"name": "measure_m1", "samples": 10 * [0.1 + 0j]},
138
- {"name": "measure_m2", "samples": 10 * [0.1 + 0j]},
139
- ],
140
- "cmd_def": [
141
- Command.from_dict(
142
- {
143
- "name": "u1",
144
- "qubits": [0],
145
- "sequence": [
146
- PulseQobjInstruction(
147
- name="fc", ch="d0", t0=0, phase="-P0"
148
- ).to_dict()
149
- ],
150
- }
151
- ).to_dict(),
152
- Command.from_dict(
153
- {
154
- "name": "u1",
155
- "qubits": [1],
156
- "sequence": [
157
- PulseQobjInstruction(
158
- name="fc", ch="d1", t0=0, phase="-P0"
159
- ).to_dict()
160
- ],
161
- }
162
- ).to_dict(),
163
- Command.from_dict(
164
- {
165
- "name": "u1",
166
- "qubits": [2],
167
- "sequence": [
168
- PulseQobjInstruction(
169
- name="fc", ch="d2", t0=0, phase="-P0"
170
- ).to_dict()
171
- ],
172
- }
173
- ).to_dict(),
174
- Command.from_dict(
175
- {
176
- "name": "u2",
177
- "qubits": [0],
178
- "sequence": [
179
- PulseQobjInstruction(
180
- name="fc", ch="d0", t0=0, phase="-P1"
181
- ).to_dict(),
182
- PulseQobjInstruction(name="y90p_d0", ch="d0", t0=0).to_dict(),
183
- PulseQobjInstruction(
184
- name="fc", ch="d0", t0=2, phase="-P0"
185
- ).to_dict(),
186
- ],
187
- }
188
- ).to_dict(),
189
- Command.from_dict(
190
- {
191
- "name": "u2",
192
- "qubits": [1],
193
- "sequence": [
194
- PulseQobjInstruction(
195
- name="fc", ch="d1", t0=0, phase="-P1"
196
- ).to_dict(),
197
- PulseQobjInstruction(name="y90p_d1", ch="d1", t0=0).to_dict(),
198
- PulseQobjInstruction(
199
- name="fc", ch="d1", t0=2, phase="-P0"
200
- ).to_dict(),
201
- ],
202
- }
203
- ).to_dict(),
204
- Command.from_dict(
205
- {
206
- "name": "u2",
207
- "qubits": [2],
208
- "sequence": [
209
- PulseQobjInstruction(
210
- name="fc", ch="d2", t0=0, phase="-P1"
211
- ).to_dict(),
212
- PulseQobjInstruction(name="y90p_d2", ch="d2", t0=0).to_dict(),
213
- PulseQobjInstruction(
214
- name="fc", ch="d2", t0=2, phase="-P0"
215
- ).to_dict(),
216
- ],
217
- }
218
- ).to_dict(),
219
- Command.from_dict(
220
- {
221
- "name": "u3",
222
- "qubits": [0],
223
- "sequence": [
224
- PulseQobjInstruction(
225
- name="fc", ch="d0", t0=0, phase="-P2"
226
- ).to_dict(),
227
- PulseQobjInstruction(name="x90p_d0", ch="d0", t0=0).to_dict(),
228
- PulseQobjInstruction(
229
- name="fc", ch="d0", t0=2, phase="-P0"
230
- ).to_dict(),
231
- PulseQobjInstruction(name="x90m_d0", ch="d0", t0=2).to_dict(),
232
- PulseQobjInstruction(
233
- name="fc", ch="d0", t0=4, phase="-P1"
234
- ).to_dict(),
235
- ],
236
- }
237
- ).to_dict(),
238
- Command.from_dict(
239
- {
240
- "name": "u3",
241
- "qubits": [1],
242
- "sequence": [
243
- PulseQobjInstruction(
244
- name="fc", ch="d1", t0=0, phase="-P2"
245
- ).to_dict(),
246
- PulseQobjInstruction(name="x90p_d1", ch="d1", t0=0).to_dict(),
247
- PulseQobjInstruction(
248
- name="fc", ch="d1", t0=2, phase="-P0"
249
- ).to_dict(),
250
- PulseQobjInstruction(name="x90m_d1", ch="d1", t0=2).to_dict(),
251
- PulseQobjInstruction(
252
- name="fc", ch="d1", t0=4, phase="-P1"
253
- ).to_dict(),
254
- ],
255
- }
256
- ).to_dict(),
257
- Command.from_dict(
258
- {
259
- "name": "u3",
260
- "qubits": [2],
261
- "sequence": [
262
- PulseQobjInstruction(
263
- name="fc", ch="d2", t0=0, phase="-P2"
264
- ).to_dict(),
265
- PulseQobjInstruction(name="x90p_d2", ch="d2", t0=0).to_dict(),
266
- PulseQobjInstruction(
267
- name="fc", ch="d2", t0=2, phase="-P0"
268
- ).to_dict(),
269
- PulseQobjInstruction(name="x90m_d2", ch="d2", t0=2).to_dict(),
270
- PulseQobjInstruction(
271
- name="fc", ch="d2", t0=4, phase="-P1"
272
- ).to_dict(),
273
- ],
274
- }
275
- ).to_dict(),
276
- Command.from_dict(
277
- {
278
- "name": "cx",
279
- "qubits": [0, 1],
280
- "sequence": [
281
- PulseQobjInstruction(
282
- name="fc", ch="d0", t0=0, phase=1.57
283
- ).to_dict(),
284
- PulseQobjInstruction(name="ym_d0", ch="d0", t0=0).to_dict(),
285
- PulseQobjInstruction(name="xp_d0", ch="d0", t0=11).to_dict(),
286
- PulseQobjInstruction(name="x90p_d1", ch="d1", t0=0).to_dict(),
287
- PulseQobjInstruction(name="cr90p_u0", ch="u0", t0=2).to_dict(),
288
- PulseQobjInstruction(name="cr90m_u0", ch="u0", t0=13).to_dict(),
289
- ],
290
- }
291
- ).to_dict(),
292
- Command.from_dict(
293
- {
294
- "name": "cx",
295
- "qubits": [1, 2],
296
- "sequence": [
297
- PulseQobjInstruction(
298
- name="fc", ch="d1", t0=0, phase=1.57
299
- ).to_dict(),
300
- PulseQobjInstruction(name="ym_d1", ch="d1", t0=0).to_dict(),
301
- PulseQobjInstruction(name="xp_d1", ch="d1", t0=11).to_dict(),
302
- PulseQobjInstruction(name="x90p_d2", ch="d2", t0=0).to_dict(),
303
- PulseQobjInstruction(name="cr90p_u1", ch="u1", t0=2).to_dict(),
304
- PulseQobjInstruction(name="cr90m_u1", ch="u1", t0=13).to_dict(),
305
- ],
306
- }
307
- ).to_dict(),
308
- Command.from_dict(
309
- {
310
- "name": "measure",
311
- "qubits": [0, 1, 2],
312
- "sequence": [
313
- PulseQobjInstruction(name="measure_m0", ch="m0", t0=0).to_dict(),
314
- PulseQobjInstruction(name="measure_m1", ch="m1", t0=0).to_dict(),
315
- PulseQobjInstruction(name="measure_m2", ch="m2", t0=0).to_dict(),
316
- PulseQobjInstruction(
317
- name="acquire",
318
- duration=10,
319
- t0=0,
320
- qubits=[0, 1, 2],
321
- memory_slot=[0, 1, 2],
322
- ).to_dict(),
323
- ],
324
- }
325
- ).to_dict(),
326
- ],
327
- }
328
- )
112
+ with warnings.catch_warnings():
113
+ # The class PulseQobjInstruction is deprecated
114
+ warnings.filterwarnings("ignore", category=DeprecationWarning, module="qiskit")
115
+ self._defaults = PulseDefaults.from_dict(
116
+ {
117
+ "qubit_freq_est": [4.9, 5.0, 4.8],
118
+ "meas_freq_est": [6.5, 6.6, 6.4],
119
+ "buffer": 10,
120
+ "pulse_library": [
121
+ {"name": "x90p_d0", "samples": 2 * [0.1 + 0j]},
122
+ {"name": "x90p_d1", "samples": 2 * [0.1 + 0j]},
123
+ {"name": "x90p_d2", "samples": 2 * [0.1 + 0j]},
124
+ {"name": "x90m_d0", "samples": 2 * [-0.1 + 0j]},
125
+ {"name": "x90m_d1", "samples": 2 * [-0.1 + 0j]},
126
+ {"name": "x90m_d2", "samples": 2 * [-0.1 + 0j]},
127
+ {"name": "y90p_d0", "samples": 2 * [0.1j]},
128
+ {"name": "y90p_d1", "samples": 2 * [0.1j]},
129
+ {"name": "y90p_d2", "samples": 2 * [0.1j]},
130
+ {"name": "xp_d0", "samples": 2 * [0.2 + 0j]},
131
+ {"name": "ym_d0", "samples": 2 * [-0.2j]},
132
+ {"name": "xp_d1", "samples": 2 * [0.2 + 0j]},
133
+ {"name": "ym_d1", "samples": 2 * [-0.2j]},
134
+ {"name": "cr90p_u0", "samples": 9 * [0.1 + 0j]},
135
+ {"name": "cr90m_u0", "samples": 9 * [-0.1 + 0j]},
136
+ {"name": "cr90p_u1", "samples": 9 * [0.1 + 0j]},
137
+ {"name": "cr90m_u1", "samples": 9 * [-0.1 + 0j]},
138
+ {"name": "measure_m0", "samples": 10 * [0.1 + 0j]},
139
+ {"name": "measure_m1", "samples": 10 * [0.1 + 0j]},
140
+ {"name": "measure_m2", "samples": 10 * [0.1 + 0j]},
141
+ ],
142
+ "cmd_def": [
143
+ Command.from_dict(
144
+ {
145
+ "name": "u1",
146
+ "qubits": [0],
147
+ "sequence": [
148
+ PulseQobjInstruction(
149
+ name="fc", ch="d0", t0=0, phase="-P0"
150
+ ).to_dict()
151
+ ],
152
+ }
153
+ ).to_dict(),
154
+ Command.from_dict(
155
+ {
156
+ "name": "u1",
157
+ "qubits": [1],
158
+ "sequence": [
159
+ PulseQobjInstruction(
160
+ name="fc", ch="d1", t0=0, phase="-P0"
161
+ ).to_dict()
162
+ ],
163
+ }
164
+ ).to_dict(),
165
+ Command.from_dict(
166
+ {
167
+ "name": "u1",
168
+ "qubits": [2],
169
+ "sequence": [
170
+ PulseQobjInstruction(
171
+ name="fc", ch="d2", t0=0, phase="-P0"
172
+ ).to_dict()
173
+ ],
174
+ }
175
+ ).to_dict(),
176
+ Command.from_dict(
177
+ {
178
+ "name": "u2",
179
+ "qubits": [0],
180
+ "sequence": [
181
+ PulseQobjInstruction(
182
+ name="fc", ch="d0", t0=0, phase="-P1"
183
+ ).to_dict(),
184
+ PulseQobjInstruction(name="y90p_d0", ch="d0", t0=0).to_dict(),
185
+ PulseQobjInstruction(
186
+ name="fc", ch="d0", t0=2, phase="-P0"
187
+ ).to_dict(),
188
+ ],
189
+ }
190
+ ).to_dict(),
191
+ Command.from_dict(
192
+ {
193
+ "name": "u2",
194
+ "qubits": [1],
195
+ "sequence": [
196
+ PulseQobjInstruction(
197
+ name="fc", ch="d1", t0=0, phase="-P1"
198
+ ).to_dict(),
199
+ PulseQobjInstruction(name="y90p_d1", ch="d1", t0=0).to_dict(),
200
+ PulseQobjInstruction(
201
+ name="fc", ch="d1", t0=2, phase="-P0"
202
+ ).to_dict(),
203
+ ],
204
+ }
205
+ ).to_dict(),
206
+ Command.from_dict(
207
+ {
208
+ "name": "u2",
209
+ "qubits": [2],
210
+ "sequence": [
211
+ PulseQobjInstruction(
212
+ name="fc", ch="d2", t0=0, phase="-P1"
213
+ ).to_dict(),
214
+ PulseQobjInstruction(name="y90p_d2", ch="d2", t0=0).to_dict(),
215
+ PulseQobjInstruction(
216
+ name="fc", ch="d2", t0=2, phase="-P0"
217
+ ).to_dict(),
218
+ ],
219
+ }
220
+ ).to_dict(),
221
+ Command.from_dict(
222
+ {
223
+ "name": "u3",
224
+ "qubits": [0],
225
+ "sequence": [
226
+ PulseQobjInstruction(
227
+ name="fc", ch="d0", t0=0, phase="-P2"
228
+ ).to_dict(),
229
+ PulseQobjInstruction(name="x90p_d0", ch="d0", t0=0).to_dict(),
230
+ PulseQobjInstruction(
231
+ name="fc", ch="d0", t0=2, phase="-P0"
232
+ ).to_dict(),
233
+ PulseQobjInstruction(name="x90m_d0", ch="d0", t0=2).to_dict(),
234
+ PulseQobjInstruction(
235
+ name="fc", ch="d0", t0=4, phase="-P1"
236
+ ).to_dict(),
237
+ ],
238
+ }
239
+ ).to_dict(),
240
+ Command.from_dict(
241
+ {
242
+ "name": "u3",
243
+ "qubits": [1],
244
+ "sequence": [
245
+ PulseQobjInstruction(
246
+ name="fc", ch="d1", t0=0, phase="-P2"
247
+ ).to_dict(),
248
+ PulseQobjInstruction(name="x90p_d1", ch="d1", t0=0).to_dict(),
249
+ PulseQobjInstruction(
250
+ name="fc", ch="d1", t0=2, phase="-P0"
251
+ ).to_dict(),
252
+ PulseQobjInstruction(name="x90m_d1", ch="d1", t0=2).to_dict(),
253
+ PulseQobjInstruction(
254
+ name="fc", ch="d1", t0=4, phase="-P1"
255
+ ).to_dict(),
256
+ ],
257
+ }
258
+ ).to_dict(),
259
+ Command.from_dict(
260
+ {
261
+ "name": "u3",
262
+ "qubits": [2],
263
+ "sequence": [
264
+ PulseQobjInstruction(
265
+ name="fc", ch="d2", t0=0, phase="-P2"
266
+ ).to_dict(),
267
+ PulseQobjInstruction(name="x90p_d2", ch="d2", t0=0).to_dict(),
268
+ PulseQobjInstruction(
269
+ name="fc", ch="d2", t0=2, phase="-P0"
270
+ ).to_dict(),
271
+ PulseQobjInstruction(name="x90m_d2", ch="d2", t0=2).to_dict(),
272
+ PulseQobjInstruction(
273
+ name="fc", ch="d2", t0=4, phase="-P1"
274
+ ).to_dict(),
275
+ ],
276
+ }
277
+ ).to_dict(),
278
+ Command.from_dict(
279
+ {
280
+ "name": "cx",
281
+ "qubits": [0, 1],
282
+ "sequence": [
283
+ PulseQobjInstruction(
284
+ name="fc", ch="d0", t0=0, phase=1.57
285
+ ).to_dict(),
286
+ PulseQobjInstruction(name="ym_d0", ch="d0", t0=0).to_dict(),
287
+ PulseQobjInstruction(name="xp_d0", ch="d0", t0=11).to_dict(),
288
+ PulseQobjInstruction(name="x90p_d1", ch="d1", t0=0).to_dict(),
289
+ PulseQobjInstruction(name="cr90p_u0", ch="u0", t0=2).to_dict(),
290
+ PulseQobjInstruction(name="cr90m_u0", ch="u0", t0=13).to_dict(),
291
+ ],
292
+ }
293
+ ).to_dict(),
294
+ Command.from_dict(
295
+ {
296
+ "name": "cx",
297
+ "qubits": [1, 2],
298
+ "sequence": [
299
+ PulseQobjInstruction(
300
+ name="fc", ch="d1", t0=0, phase=1.57
301
+ ).to_dict(),
302
+ PulseQobjInstruction(name="ym_d1", ch="d1", t0=0).to_dict(),
303
+ PulseQobjInstruction(name="xp_d1", ch="d1", t0=11).to_dict(),
304
+ PulseQobjInstruction(name="x90p_d2", ch="d2", t0=0).to_dict(),
305
+ PulseQobjInstruction(name="cr90p_u1", ch="u1", t0=2).to_dict(),
306
+ PulseQobjInstruction(name="cr90m_u1", ch="u1", t0=13).to_dict(),
307
+ ],
308
+ }
309
+ ).to_dict(),
310
+ Command.from_dict(
311
+ {
312
+ "name": "measure",
313
+ "qubits": [0, 1, 2],
314
+ "sequence": [
315
+ PulseQobjInstruction(
316
+ name="measure_m0", ch="m0", t0=0
317
+ ).to_dict(),
318
+ PulseQobjInstruction(
319
+ name="measure_m1", ch="m1", t0=0
320
+ ).to_dict(),
321
+ PulseQobjInstruction(
322
+ name="measure_m2", ch="m2", t0=0
323
+ ).to_dict(),
324
+ PulseQobjInstruction(
325
+ name="acquire",
326
+ duration=10,
327
+ t0=0,
328
+ qubits=[0, 1, 2],
329
+ memory_slot=[0, 1, 2],
330
+ ).to_dict(),
331
+ ],
332
+ }
333
+ ).to_dict(),
334
+ ],
335
+ }
336
+ )
329
337
  super().__init__(configuration)
330
338
 
331
339
  def defaults(self): # pylint: disable=missing-function-docstring
@@ -15,7 +15,8 @@ Fake backend abstract class for mock backends supporting OpenPulse.
15
15
  """
16
16
 
17
17
  from qiskit.exceptions import QiskitError
18
- from qiskit.providers.models import PulseBackendConfiguration, PulseDefaults
18
+ from qiskit.providers.models.backendconfiguration import PulseBackendConfiguration
19
+ from qiskit.providers.models.pulsedefaults import PulseDefaults
19
20
 
20
21
  from .fake_qasm_backend import FakeQasmBackend
21
22
  from .utils.json_decoder import decode_pulse_defaults
@@ -16,9 +16,11 @@ Fake backend abstract class for mock backends.
16
16
 
17
17
  import json
18
18
  import os
19
+ import warnings
19
20
 
20
21
  from qiskit.exceptions import QiskitError
21
- from qiskit.providers.models import BackendProperties, QasmBackendConfiguration
22
+ from qiskit.providers.models.backendproperties import BackendProperties
23
+ from qiskit.providers.models.backendconfiguration import QasmBackendConfiguration
22
24
 
23
25
  from .utils.json_decoder import (
24
26
  decode_backend_configuration,
@@ -61,7 +63,10 @@ class FakeQasmBackend(FakeBackend):
61
63
  raise QiskitError("No properties file has been defined")
62
64
  props = self._load_json(self.props_filename)
63
65
  decode_backend_properties(props)
64
- self._properties = BackendProperties.from_dict(props)
66
+ with warnings.catch_warnings():
67
+ # This raises the BackendProperties deprecation warning internally
68
+ warnings.filterwarnings("ignore", category=DeprecationWarning, module="qiskit")
69
+ self._properties = BackendProperties.from_dict(props)
65
70
 
66
71
  def _load_json(self, filename):
67
72
  with open(os.path.join(self.dirname, filename)) as f_json: