qiskit 1.1.2__cp38-abi3-macosx_10_9_universal2.whl → 1.2.0rc1__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 (341) 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 +1 -1
  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 +392 -384
  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 +41 -127
  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 +32 -24
  144. qiskit/providers/fake_provider/fake_backend.py +10 -3
  145. qiskit/providers/fake_provider/fake_openpulse_2q.py +154 -146
  146. qiskit/providers/fake_provider/fake_openpulse_3q.py +226 -217
  147. qiskit/providers/fake_provider/fake_qasm_backend.py +5 -1
  148. qiskit/providers/fake_provider/generic_backend_v2.py +80 -50
  149. qiskit/providers/models/__init__.py +11 -0
  150. qiskit/providers/models/backendconfiguration.py +50 -4
  151. qiskit/providers/models/backendproperties.py +13 -2
  152. qiskit/providers/models/pulsedefaults.py +10 -11
  153. qiskit/providers/options.py +13 -13
  154. qiskit/providers/providerutils.py +3 -1
  155. qiskit/pulse/configuration.py +8 -12
  156. qiskit/pulse/instruction_schedule_map.py +3 -5
  157. qiskit/pulse/instructions/acquire.py +7 -8
  158. qiskit/pulse/instructions/instruction.py +2 -3
  159. qiskit/pulse/library/samplers/decorators.py +5 -9
  160. qiskit/pulse/library/symbolic_pulses.py +4 -7
  161. qiskit/pulse/library/waveform.py +2 -5
  162. qiskit/pulse/macros.py +11 -6
  163. qiskit/pulse/parser.py +8 -10
  164. qiskit/pulse/schedule.py +9 -17
  165. qiskit/pulse/transforms/alignments.py +1 -3
  166. qiskit/pulse/utils.py +1 -2
  167. qiskit/qasm/libs/stdgates.inc +35 -28
  168. qiskit/qasm2/__init__.py +7 -7
  169. qiskit/qasm2/export.py +5 -9
  170. qiskit/qasm2/parse.py +1 -1
  171. qiskit/qasm3/ast.py +9 -25
  172. qiskit/qasm3/exporter.py +578 -481
  173. qiskit/qasm3/printer.py +7 -16
  174. qiskit/qobj/common.py +10 -0
  175. qiskit/qobj/converters/lo_config.py +9 -0
  176. qiskit/qobj/converters/pulse_instruction.py +13 -6
  177. qiskit/qobj/pulse_qobj.py +69 -15
  178. qiskit/qobj/qasm_qobj.py +72 -20
  179. qiskit/qobj/utils.py +9 -0
  180. qiskit/qpy/binary_io/circuits.py +8 -5
  181. qiskit/qpy/binary_io/schedules.py +1 -1
  182. qiskit/qpy/binary_io/value.py +3 -3
  183. qiskit/qpy/interface.py +3 -2
  184. qiskit/qpy/type_keys.py +2 -2
  185. qiskit/quantum_info/operators/channel/quantum_channel.py +3 -6
  186. qiskit/quantum_info/operators/channel/superop.py +2 -2
  187. qiskit/quantum_info/operators/channel/transformations.py +1 -1
  188. qiskit/quantum_info/operators/dihedral/dihedral.py +3 -4
  189. qiskit/quantum_info/operators/dihedral/dihedral_circuits.py +1 -3
  190. qiskit/quantum_info/operators/dihedral/random.py +6 -3
  191. qiskit/quantum_info/operators/measures.py +2 -2
  192. qiskit/quantum_info/operators/op_shape.py +12 -20
  193. qiskit/quantum_info/operators/operator.py +14 -21
  194. qiskit/quantum_info/operators/predicates.py +1 -0
  195. qiskit/quantum_info/operators/symplectic/base_pauli.py +7 -11
  196. qiskit/quantum_info/operators/symplectic/clifford.py +1 -1
  197. qiskit/quantum_info/operators/symplectic/pauli.py +3 -3
  198. qiskit/quantum_info/operators/symplectic/pauli_list.py +9 -10
  199. qiskit/quantum_info/operators/symplectic/random.py +1 -1
  200. qiskit/quantum_info/operators/symplectic/sparse_pauli_op.py +14 -16
  201. qiskit/quantum_info/quaternion.py +1 -1
  202. qiskit/quantum_info/states/densitymatrix.py +5 -8
  203. qiskit/quantum_info/states/stabilizerstate.py +128 -37
  204. qiskit/quantum_info/states/statevector.py +4 -8
  205. qiskit/result/counts.py +2 -2
  206. qiskit/result/mitigation/correlated_readout_mitigator.py +2 -2
  207. qiskit/result/mitigation/local_readout_mitigator.py +2 -2
  208. qiskit/result/mitigation/utils.py +1 -3
  209. qiskit/result/models.py +17 -16
  210. qiskit/result/result.py +15 -20
  211. qiskit/scheduler/lowering.py +2 -2
  212. qiskit/synthesis/__init__.py +2 -1
  213. qiskit/synthesis/clifford/__init__.py +1 -1
  214. qiskit/synthesis/clifford/clifford_decompose_ag.py +2 -2
  215. qiskit/synthesis/clifford/clifford_decompose_bm.py +10 -240
  216. qiskit/synthesis/clifford/clifford_decompose_greedy.py +9 -303
  217. qiskit/synthesis/clifford/clifford_decompose_layers.py +25 -23
  218. qiskit/synthesis/cnotdihedral/cnotdihedral_decompose_full.py +1 -1
  219. qiskit/synthesis/cnotdihedral/cnotdihedral_decompose_general.py +1 -1
  220. qiskit/synthesis/discrete_basis/generate_basis_approximations.py +1 -1
  221. qiskit/synthesis/discrete_basis/solovay_kitaev.py +2 -2
  222. qiskit/synthesis/evolution/evolution_synthesis.py +4 -2
  223. qiskit/synthesis/evolution/lie_trotter.py +46 -19
  224. qiskit/synthesis/evolution/product_formula.py +111 -55
  225. qiskit/synthesis/evolution/qdrift.py +40 -10
  226. qiskit/synthesis/evolution/suzuki_trotter.py +43 -33
  227. qiskit/synthesis/linear/__init__.py +1 -0
  228. qiskit/synthesis/linear/cnot_synth.py +22 -96
  229. qiskit/synthesis/linear/linear_depth_lnn.py +8 -8
  230. qiskit/synthesis/linear/linear_matrix_utils.py +13 -161
  231. qiskit/synthesis/linear_phase/cnot_phase_synth.py +1 -1
  232. qiskit/synthesis/linear_phase/cx_cz_depth_lnn.py +3 -3
  233. qiskit/synthesis/linear_phase/cz_depth_lnn.py +1 -1
  234. qiskit/synthesis/one_qubit/one_qubit_decompose.py +29 -29
  235. qiskit/synthesis/permutation/permutation_full.py +5 -29
  236. qiskit/synthesis/permutation/permutation_lnn.py +2 -24
  237. qiskit/synthesis/permutation/permutation_utils.py +2 -59
  238. qiskit/synthesis/qft/__init__.py +1 -0
  239. qiskit/synthesis/qft/qft_decompose_full.py +79 -0
  240. qiskit/synthesis/qft/qft_decompose_lnn.py +17 -9
  241. qiskit/synthesis/stabilizer/stabilizer_circuit.py +6 -6
  242. qiskit/synthesis/stabilizer/stabilizer_decompose.py +2 -2
  243. qiskit/synthesis/two_qubit/local_invariance.py +8 -38
  244. qiskit/synthesis/two_qubit/two_qubit_decompose.py +48 -129
  245. qiskit/synthesis/unitary/aqc/cnot_structures.py +1 -1
  246. qiskit/synthesis/unitary/qsd.py +5 -3
  247. qiskit/transpiler/__init__.py +1 -0
  248. qiskit/transpiler/basepasses.py +1 -1
  249. qiskit/transpiler/coupling.py +3 -3
  250. qiskit/transpiler/instruction_durations.py +1 -2
  251. qiskit/transpiler/layout.py +3 -3
  252. qiskit/transpiler/passes/__init__.py +2 -0
  253. qiskit/transpiler/passes/basis/basis_translator.py +82 -63
  254. qiskit/transpiler/passes/basis/translate_parameterized.py +3 -5
  255. qiskit/transpiler/passes/basis/unroll_3q_or_more.py +1 -1
  256. qiskit/transpiler/passes/basis/unroll_custom_definitions.py +10 -10
  257. qiskit/transpiler/passes/calibration/rx_builder.py +3 -3
  258. qiskit/transpiler/passes/calibration/rzx_builder.py +3 -3
  259. qiskit/transpiler/passes/layout/apply_layout.py +13 -3
  260. qiskit/transpiler/passes/layout/sabre_layout.py +10 -8
  261. qiskit/transpiler/passes/layout/sabre_pre_layout.py +4 -1
  262. qiskit/transpiler/passes/layout/set_layout.py +2 -2
  263. qiskit/transpiler/passes/layout/vf2_layout.py +1 -1
  264. qiskit/transpiler/passes/layout/vf2_utils.py +3 -3
  265. qiskit/transpiler/passes/optimization/__init__.py +1 -0
  266. qiskit/transpiler/passes/optimization/collect_multiqubit_blocks.py +2 -2
  267. qiskit/transpiler/passes/optimization/commutation_analysis.py +7 -10
  268. qiskit/transpiler/passes/optimization/commutative_cancellation.py +35 -19
  269. qiskit/transpiler/passes/optimization/consolidate_blocks.py +11 -8
  270. qiskit/transpiler/passes/optimization/inverse_cancellation.py +6 -6
  271. qiskit/transpiler/passes/optimization/optimize_1q_decomposition.py +64 -41
  272. qiskit/transpiler/passes/optimization/optimize_1q_gates.py +1 -1
  273. qiskit/transpiler/passes/optimization/split_2q_unitaries.py +83 -0
  274. qiskit/transpiler/passes/optimization/template_matching/backward_match.py +1 -1
  275. qiskit/transpiler/passes/optimization/template_matching/forward_match.py +2 -2
  276. qiskit/transpiler/passes/optimization/template_matching/template_substitution.py +1 -1
  277. qiskit/transpiler/passes/routing/commuting_2q_gate_routing/commuting_2q_gate_router.py +3 -2
  278. qiskit/transpiler/passes/routing/commuting_2q_gate_routing/swap_strategy.py +1 -1
  279. qiskit/transpiler/passes/routing/layout_transformation.py +2 -1
  280. qiskit/transpiler/passes/routing/sabre_swap.py +35 -26
  281. qiskit/transpiler/passes/routing/star_prerouting.py +80 -105
  282. qiskit/transpiler/passes/routing/stochastic_swap.py +1 -3
  283. qiskit/transpiler/passes/scheduling/alap.py +1 -2
  284. qiskit/transpiler/passes/scheduling/alignments/__init__.py +2 -2
  285. qiskit/transpiler/passes/scheduling/alignments/check_durations.py +1 -1
  286. qiskit/transpiler/passes/scheduling/alignments/pulse_gate_validation.py +1 -1
  287. qiskit/transpiler/passes/scheduling/alignments/reschedule.py +1 -1
  288. qiskit/transpiler/passes/scheduling/asap.py +1 -2
  289. qiskit/transpiler/passes/scheduling/base_scheduler.py +5 -5
  290. qiskit/transpiler/passes/scheduling/dynamical_decoupling.py +3 -3
  291. qiskit/transpiler/passes/scheduling/padding/base_padding.py +1 -1
  292. qiskit/transpiler/passes/scheduling/padding/dynamical_decoupling.py +11 -11
  293. qiskit/transpiler/passes/scheduling/scheduling/base_scheduler.py +7 -6
  294. qiskit/transpiler/passes/scheduling/time_unit_conversion.py +4 -3
  295. qiskit/transpiler/passes/synthesis/high_level_synthesis.py +211 -36
  296. qiskit/transpiler/passes/synthesis/plugin.py +2 -2
  297. qiskit/transpiler/passes/synthesis/unitary_synthesis.py +80 -40
  298. qiskit/transpiler/passes/utils/__init__.py +0 -1
  299. qiskit/transpiler/passes/utils/check_gate_direction.py +4 -4
  300. qiskit/transpiler/passes/utils/check_map.py +3 -6
  301. qiskit/transpiler/passes/utils/convert_conditions_to_if_ops.py +3 -4
  302. qiskit/transpiler/passes/utils/error.py +2 -2
  303. qiskit/transpiler/passes/utils/fixed_point.py +3 -3
  304. qiskit/transpiler/passes/utils/gate_direction.py +1 -1
  305. qiskit/transpiler/passes/utils/gates_basis.py +1 -2
  306. qiskit/transpiler/passmanager.py +7 -6
  307. qiskit/transpiler/preset_passmanagers/__init__.py +4 -228
  308. qiskit/transpiler/preset_passmanagers/builtin_plugins.py +117 -18
  309. qiskit/transpiler/preset_passmanagers/common.py +3 -6
  310. qiskit/transpiler/preset_passmanagers/generate_preset_pass_manager.py +518 -0
  311. qiskit/transpiler/preset_passmanagers/level0.py +1 -1
  312. qiskit/transpiler/target.py +27 -8
  313. qiskit/user_config.py +29 -6
  314. qiskit/utils/classtools.py +3 -3
  315. qiskit/utils/deprecation.py +3 -2
  316. qiskit/utils/lazy_tester.py +2 -2
  317. qiskit/utils/optionals.py +8 -8
  318. qiskit/visualization/bloch.py +19 -67
  319. qiskit/visualization/circuit/_utils.py +34 -10
  320. qiskit/visualization/circuit/circuit_visualization.py +23 -16
  321. qiskit/visualization/circuit/latex.py +29 -27
  322. qiskit/visualization/circuit/matplotlib.py +4 -2
  323. qiskit/visualization/circuit/qcstyle.py +2 -2
  324. qiskit/visualization/circuit/text.py +9 -15
  325. qiskit/visualization/dag_visualization.py +5 -12
  326. qiskit/visualization/pulse_v2/core.py +1 -1
  327. qiskit/visualization/pulse_v2/events.py +1 -1
  328. qiskit/visualization/pulse_v2/generators/frame.py +3 -4
  329. qiskit/visualization/pulse_v2/generators/waveform.py +5 -9
  330. qiskit/visualization/pulse_v2/layouts.py +1 -5
  331. qiskit/visualization/pulse_v2/plotters/matplotlib.py +1 -2
  332. qiskit/visualization/state_visualization.py +5 -6
  333. qiskit/visualization/timeline/plotters/matplotlib.py +1 -2
  334. qiskit/visualization/transition_visualization.py +7 -2
  335. {qiskit-1.1.2.dist-info → qiskit-1.2.0rc1.dist-info}/METADATA +26 -26
  336. {qiskit-1.1.2.dist-info → qiskit-1.2.0rc1.dist-info}/RECORD +340 -338
  337. {qiskit-1.1.2.dist-info → qiskit-1.2.0rc1.dist-info}/WHEEL +1 -1
  338. {qiskit-1.1.2.dist-info → qiskit-1.2.0rc1.dist-info}/entry_points.txt +3 -0
  339. qiskit/transpiler/passes/utils/block_to_matrix.py +0 -47
  340. {qiskit-1.1.2.dist-info → qiskit-1.2.0rc1.dist-info}/LICENSE.txt +0 -0
  341. {qiskit-1.1.2.dist-info → qiskit-1.2.0rc1.dist-info}/top_level.txt +0 -0
@@ -13,6 +13,7 @@
13
13
  """
14
14
  Fake backend supporting OpenPulse.
15
15
  """
16
+ import warnings
16
17
 
17
18
  from qiskit.providers.models import (
18
19
  GateConfig,
@@ -109,223 +110,231 @@ class FakeOpenPulse3Q(FakeBackend):
109
110
  },
110
111
  },
111
112
  )
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
- )
113
+ with warnings.catch_warnings():
114
+ # The class PulseQobjInstruction is deprecated
115
+ warnings.filterwarnings("ignore", category=DeprecationWarning, module="qiskit")
116
+ self._defaults = PulseDefaults.from_dict(
117
+ {
118
+ "qubit_freq_est": [4.9, 5.0, 4.8],
119
+ "meas_freq_est": [6.5, 6.6, 6.4],
120
+ "buffer": 10,
121
+ "pulse_library": [
122
+ {"name": "x90p_d0", "samples": 2 * [0.1 + 0j]},
123
+ {"name": "x90p_d1", "samples": 2 * [0.1 + 0j]},
124
+ {"name": "x90p_d2", "samples": 2 * [0.1 + 0j]},
125
+ {"name": "x90m_d0", "samples": 2 * [-0.1 + 0j]},
126
+ {"name": "x90m_d1", "samples": 2 * [-0.1 + 0j]},
127
+ {"name": "x90m_d2", "samples": 2 * [-0.1 + 0j]},
128
+ {"name": "y90p_d0", "samples": 2 * [0.1j]},
129
+ {"name": "y90p_d1", "samples": 2 * [0.1j]},
130
+ {"name": "y90p_d2", "samples": 2 * [0.1j]},
131
+ {"name": "xp_d0", "samples": 2 * [0.2 + 0j]},
132
+ {"name": "ym_d0", "samples": 2 * [-0.2j]},
133
+ {"name": "xp_d1", "samples": 2 * [0.2 + 0j]},
134
+ {"name": "ym_d1", "samples": 2 * [-0.2j]},
135
+ {"name": "cr90p_u0", "samples": 9 * [0.1 + 0j]},
136
+ {"name": "cr90m_u0", "samples": 9 * [-0.1 + 0j]},
137
+ {"name": "cr90p_u1", "samples": 9 * [0.1 + 0j]},
138
+ {"name": "cr90m_u1", "samples": 9 * [-0.1 + 0j]},
139
+ {"name": "measure_m0", "samples": 10 * [0.1 + 0j]},
140
+ {"name": "measure_m1", "samples": 10 * [0.1 + 0j]},
141
+ {"name": "measure_m2", "samples": 10 * [0.1 + 0j]},
142
+ ],
143
+ "cmd_def": [
144
+ Command.from_dict(
145
+ {
146
+ "name": "u1",
147
+ "qubits": [0],
148
+ "sequence": [
149
+ PulseQobjInstruction(
150
+ name="fc", ch="d0", t0=0, phase="-P0"
151
+ ).to_dict()
152
+ ],
153
+ }
154
+ ).to_dict(),
155
+ Command.from_dict(
156
+ {
157
+ "name": "u1",
158
+ "qubits": [1],
159
+ "sequence": [
160
+ PulseQobjInstruction(
161
+ name="fc", ch="d1", t0=0, phase="-P0"
162
+ ).to_dict()
163
+ ],
164
+ }
165
+ ).to_dict(),
166
+ Command.from_dict(
167
+ {
168
+ "name": "u1",
169
+ "qubits": [2],
170
+ "sequence": [
171
+ PulseQobjInstruction(
172
+ name="fc", ch="d2", t0=0, phase="-P0"
173
+ ).to_dict()
174
+ ],
175
+ }
176
+ ).to_dict(),
177
+ Command.from_dict(
178
+ {
179
+ "name": "u2",
180
+ "qubits": [0],
181
+ "sequence": [
182
+ PulseQobjInstruction(
183
+ name="fc", ch="d0", t0=0, phase="-P1"
184
+ ).to_dict(),
185
+ PulseQobjInstruction(name="y90p_d0", ch="d0", t0=0).to_dict(),
186
+ PulseQobjInstruction(
187
+ name="fc", ch="d0", t0=2, phase="-P0"
188
+ ).to_dict(),
189
+ ],
190
+ }
191
+ ).to_dict(),
192
+ Command.from_dict(
193
+ {
194
+ "name": "u2",
195
+ "qubits": [1],
196
+ "sequence": [
197
+ PulseQobjInstruction(
198
+ name="fc", ch="d1", t0=0, phase="-P1"
199
+ ).to_dict(),
200
+ PulseQobjInstruction(name="y90p_d1", ch="d1", t0=0).to_dict(),
201
+ PulseQobjInstruction(
202
+ name="fc", ch="d1", t0=2, phase="-P0"
203
+ ).to_dict(),
204
+ ],
205
+ }
206
+ ).to_dict(),
207
+ Command.from_dict(
208
+ {
209
+ "name": "u2",
210
+ "qubits": [2],
211
+ "sequence": [
212
+ PulseQobjInstruction(
213
+ name="fc", ch="d2", t0=0, phase="-P1"
214
+ ).to_dict(),
215
+ PulseQobjInstruction(name="y90p_d2", ch="d2", t0=0).to_dict(),
216
+ PulseQobjInstruction(
217
+ name="fc", ch="d2", t0=2, phase="-P0"
218
+ ).to_dict(),
219
+ ],
220
+ }
221
+ ).to_dict(),
222
+ Command.from_dict(
223
+ {
224
+ "name": "u3",
225
+ "qubits": [0],
226
+ "sequence": [
227
+ PulseQobjInstruction(
228
+ name="fc", ch="d0", t0=0, phase="-P2"
229
+ ).to_dict(),
230
+ PulseQobjInstruction(name="x90p_d0", ch="d0", t0=0).to_dict(),
231
+ PulseQobjInstruction(
232
+ name="fc", ch="d0", t0=2, phase="-P0"
233
+ ).to_dict(),
234
+ PulseQobjInstruction(name="x90m_d0", ch="d0", t0=2).to_dict(),
235
+ PulseQobjInstruction(
236
+ name="fc", ch="d0", t0=4, phase="-P1"
237
+ ).to_dict(),
238
+ ],
239
+ }
240
+ ).to_dict(),
241
+ Command.from_dict(
242
+ {
243
+ "name": "u3",
244
+ "qubits": [1],
245
+ "sequence": [
246
+ PulseQobjInstruction(
247
+ name="fc", ch="d1", t0=0, phase="-P2"
248
+ ).to_dict(),
249
+ PulseQobjInstruction(name="x90p_d1", ch="d1", t0=0).to_dict(),
250
+ PulseQobjInstruction(
251
+ name="fc", ch="d1", t0=2, phase="-P0"
252
+ ).to_dict(),
253
+ PulseQobjInstruction(name="x90m_d1", ch="d1", t0=2).to_dict(),
254
+ PulseQobjInstruction(
255
+ name="fc", ch="d1", t0=4, phase="-P1"
256
+ ).to_dict(),
257
+ ],
258
+ }
259
+ ).to_dict(),
260
+ Command.from_dict(
261
+ {
262
+ "name": "u3",
263
+ "qubits": [2],
264
+ "sequence": [
265
+ PulseQobjInstruction(
266
+ name="fc", ch="d2", t0=0, phase="-P2"
267
+ ).to_dict(),
268
+ PulseQobjInstruction(name="x90p_d2", ch="d2", t0=0).to_dict(),
269
+ PulseQobjInstruction(
270
+ name="fc", ch="d2", t0=2, phase="-P0"
271
+ ).to_dict(),
272
+ PulseQobjInstruction(name="x90m_d2", ch="d2", t0=2).to_dict(),
273
+ PulseQobjInstruction(
274
+ name="fc", ch="d2", t0=4, phase="-P1"
275
+ ).to_dict(),
276
+ ],
277
+ }
278
+ ).to_dict(),
279
+ Command.from_dict(
280
+ {
281
+ "name": "cx",
282
+ "qubits": [0, 1],
283
+ "sequence": [
284
+ PulseQobjInstruction(
285
+ name="fc", ch="d0", t0=0, phase=1.57
286
+ ).to_dict(),
287
+ PulseQobjInstruction(name="ym_d0", ch="d0", t0=0).to_dict(),
288
+ PulseQobjInstruction(name="xp_d0", ch="d0", t0=11).to_dict(),
289
+ PulseQobjInstruction(name="x90p_d1", ch="d1", t0=0).to_dict(),
290
+ PulseQobjInstruction(name="cr90p_u0", ch="u0", t0=2).to_dict(),
291
+ PulseQobjInstruction(name="cr90m_u0", ch="u0", t0=13).to_dict(),
292
+ ],
293
+ }
294
+ ).to_dict(),
295
+ Command.from_dict(
296
+ {
297
+ "name": "cx",
298
+ "qubits": [1, 2],
299
+ "sequence": [
300
+ PulseQobjInstruction(
301
+ name="fc", ch="d1", t0=0, phase=1.57
302
+ ).to_dict(),
303
+ PulseQobjInstruction(name="ym_d1", ch="d1", t0=0).to_dict(),
304
+ PulseQobjInstruction(name="xp_d1", ch="d1", t0=11).to_dict(),
305
+ PulseQobjInstruction(name="x90p_d2", ch="d2", t0=0).to_dict(),
306
+ PulseQobjInstruction(name="cr90p_u1", ch="u1", t0=2).to_dict(),
307
+ PulseQobjInstruction(name="cr90m_u1", ch="u1", t0=13).to_dict(),
308
+ ],
309
+ }
310
+ ).to_dict(),
311
+ Command.from_dict(
312
+ {
313
+ "name": "measure",
314
+ "qubits": [0, 1, 2],
315
+ "sequence": [
316
+ PulseQobjInstruction(
317
+ name="measure_m0", ch="m0", t0=0
318
+ ).to_dict(),
319
+ PulseQobjInstruction(
320
+ name="measure_m1", ch="m1", t0=0
321
+ ).to_dict(),
322
+ PulseQobjInstruction(
323
+ name="measure_m2", ch="m2", t0=0
324
+ ).to_dict(),
325
+ PulseQobjInstruction(
326
+ name="acquire",
327
+ duration=10,
328
+ t0=0,
329
+ qubits=[0, 1, 2],
330
+ memory_slot=[0, 1, 2],
331
+ ).to_dict(),
332
+ ],
333
+ }
334
+ ).to_dict(),
335
+ ],
336
+ }
337
+ )
329
338
  super().__init__(configuration)
330
339
 
331
340
  def defaults(self): # pylint: disable=missing-function-docstring
@@ -16,6 +16,7 @@ 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
22
  from qiskit.providers.models import BackendProperties, QasmBackendConfiguration
@@ -61,7 +62,10 @@ class FakeQasmBackend(FakeBackend):
61
62
  raise QiskitError("No properties file has been defined")
62
63
  props = self._load_json(self.props_filename)
63
64
  decode_backend_properties(props)
64
- self._properties = BackendProperties.from_dict(props)
65
+ with warnings.catch_warnings():
66
+ # This raises the BackendProperties deprecation warning internally
67
+ warnings.filterwarnings("ignore", category=DeprecationWarning, module="qiskit")
68
+ self._properties = BackendProperties.from_dict(props)
65
69
 
66
70
  def _load_json(self, filename):
67
71
  with open(os.path.join(self.dirname, filename)) as f_json: