qiskit 1.3.0__cp39-abi3-win32.whl → 1.3.0b1__cp39-abi3-win32.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 (361) hide show
  1. qiskit/VERSION.txt +1 -1
  2. qiskit/__init__.py +1 -20
  3. qiskit/_accelerate.pyd +0 -0
  4. qiskit/assembler/assemble_schedules.py +0 -2
  5. qiskit/circuit/__init__.py +1 -44
  6. qiskit/circuit/_standard_gates_commutations.py +0 -585
  7. qiskit/circuit/barrier.py +0 -2
  8. qiskit/circuit/controlflow/builder.py +3 -3
  9. qiskit/circuit/controlflow/if_else.py +5 -13
  10. qiskit/circuit/controlflow/while_loop.py +2 -10
  11. qiskit/circuit/delay.py +3 -20
  12. qiskit/circuit/equivalence.py +214 -13
  13. qiskit/circuit/gate.py +1 -3
  14. qiskit/circuit/instruction.py +11 -32
  15. qiskit/circuit/instructionset.py +0 -2
  16. qiskit/circuit/library/__init__.py +14 -110
  17. qiskit/circuit/library/arithmetic/__init__.py +2 -9
  18. qiskit/circuit/library/arithmetic/adders/__init__.py +0 -1
  19. qiskit/circuit/library/arithmetic/adders/adder.py +2 -154
  20. qiskit/circuit/library/arithmetic/adders/cdkm_ripple_carry_adder.py +56 -20
  21. qiskit/circuit/library/arithmetic/adders/draper_qft_adder.py +1 -14
  22. qiskit/circuit/library/arithmetic/adders/vbe_ripple_carry_adder.py +91 -21
  23. qiskit/circuit/library/arithmetic/linear_pauli_rotations.py +1 -1
  24. qiskit/circuit/library/arithmetic/multipliers/__init__.py +0 -1
  25. qiskit/circuit/library/arithmetic/multipliers/hrs_cumulative_multiplier.py +1 -8
  26. qiskit/circuit/library/arithmetic/multipliers/multiplier.py +3 -94
  27. qiskit/circuit/library/arithmetic/multipliers/rg_qft_multiplier.py +1 -8
  28. qiskit/circuit/library/arithmetic/weighted_adder.py +1 -1
  29. qiskit/circuit/library/basis_change/qft.py +38 -20
  30. qiskit/circuit/library/blueprintcircuit.py +0 -64
  31. qiskit/circuit/library/boolean_logic/__init__.py +4 -4
  32. qiskit/circuit/library/boolean_logic/inner_product.py +4 -81
  33. qiskit/circuit/library/boolean_logic/quantum_and.py +4 -107
  34. qiskit/circuit/library/boolean_logic/quantum_or.py +3 -107
  35. qiskit/circuit/library/boolean_logic/quantum_xor.py +3 -97
  36. qiskit/circuit/library/data_preparation/__init__.py +3 -6
  37. qiskit/circuit/library/data_preparation/pauli_feature_map.py +29 -342
  38. qiskit/circuit/library/data_preparation/{_z_feature_map.py → z_feature_map.py} +34 -45
  39. qiskit/circuit/library/data_preparation/zz_feature_map.py +118 -0
  40. qiskit/circuit/library/fourier_checking.py +11 -72
  41. qiskit/circuit/library/generalized_gates/__init__.py +1 -1
  42. qiskit/circuit/library/generalized_gates/diagonal.py +51 -45
  43. qiskit/circuit/library/generalized_gates/gms.py +14 -67
  44. qiskit/circuit/library/generalized_gates/gr.py +4 -4
  45. qiskit/circuit/library/generalized_gates/isometry.py +2 -2
  46. qiskit/circuit/library/generalized_gates/linear_function.py +6 -12
  47. qiskit/circuit/library/generalized_gates/mcmt.py +107 -167
  48. qiskit/circuit/library/generalized_gates/permutation.py +6 -8
  49. qiskit/circuit/library/generalized_gates/rv.py +9 -8
  50. qiskit/circuit/library/graph_state.py +10 -93
  51. qiskit/circuit/library/grover_operator.py +2 -270
  52. qiskit/circuit/library/hidden_linear_function.py +20 -83
  53. qiskit/circuit/library/iqp.py +20 -99
  54. qiskit/circuit/library/n_local/__init__.py +7 -19
  55. qiskit/circuit/library/n_local/efficient_su2.py +5 -118
  56. qiskit/circuit/library/n_local/evolved_operator_ansatz.py +0 -259
  57. qiskit/circuit/library/n_local/excitation_preserving.py +6 -130
  58. qiskit/circuit/library/n_local/n_local.py +5 -406
  59. qiskit/circuit/library/n_local/pauli_two_design.py +4 -106
  60. qiskit/circuit/library/n_local/qaoa_ansatz.py +1 -80
  61. qiskit/circuit/library/n_local/real_amplitudes.py +7 -127
  62. qiskit/circuit/library/n_local/two_local.py +7 -14
  63. qiskit/circuit/library/overlap.py +26 -91
  64. qiskit/circuit/library/pauli_evolution.py +15 -17
  65. qiskit/circuit/library/phase_estimation.py +4 -80
  66. qiskit/circuit/library/quantum_volume.py +20 -72
  67. qiskit/circuit/library/standard_gates/__init__.py +1 -20
  68. qiskit/circuit/library/standard_gates/dcx.py +1 -2
  69. qiskit/circuit/library/standard_gates/ecr.py +2 -2
  70. qiskit/circuit/library/standard_gates/h.py +3 -4
  71. qiskit/circuit/library/standard_gates/i.py +1 -2
  72. qiskit/circuit/library/standard_gates/iswap.py +2 -2
  73. qiskit/circuit/library/standard_gates/p.py +12 -20
  74. qiskit/circuit/library/standard_gates/r.py +1 -1
  75. qiskit/circuit/library/standard_gates/rx.py +3 -4
  76. qiskit/circuit/library/standard_gates/rxx.py +2 -2
  77. qiskit/circuit/library/standard_gates/ry.py +3 -4
  78. qiskit/circuit/library/standard_gates/ryy.py +2 -2
  79. qiskit/circuit/library/standard_gates/rz.py +12 -13
  80. qiskit/circuit/library/standard_gates/rzx.py +6 -6
  81. qiskit/circuit/library/standard_gates/rzz.py +1 -1
  82. qiskit/circuit/library/standard_gates/s.py +4 -4
  83. qiskit/circuit/library/standard_gates/swap.py +3 -3
  84. qiskit/circuit/library/standard_gates/sx.py +3 -4
  85. qiskit/circuit/library/standard_gates/t.py +2 -2
  86. qiskit/circuit/library/standard_gates/u.py +3 -11
  87. qiskit/circuit/library/standard_gates/u1.py +15 -65
  88. qiskit/circuit/library/standard_gates/u2.py +1 -4
  89. qiskit/circuit/library/standard_gates/u3.py +3 -31
  90. qiskit/circuit/library/standard_gates/x.py +5 -7
  91. qiskit/circuit/library/standard_gates/xx_minus_yy.py +2 -2
  92. qiskit/circuit/library/standard_gates/xx_plus_yy.py +2 -2
  93. qiskit/circuit/library/standard_gates/y.py +3 -4
  94. qiskit/circuit/library/standard_gates/z.py +3 -3
  95. qiskit/circuit/library/templates/clifford/clifford_2_1.py +8 -9
  96. qiskit/circuit/library/templates/clifford/clifford_2_2.py +9 -10
  97. qiskit/circuit/library/templates/clifford/clifford_2_3.py +7 -9
  98. qiskit/circuit/library/templates/clifford/clifford_2_4.py +8 -9
  99. qiskit/circuit/library/templates/clifford/clifford_3_1.py +8 -9
  100. qiskit/circuit/library/templates/clifford/clifford_4_1.py +9 -10
  101. qiskit/circuit/library/templates/clifford/clifford_4_2.py +9 -10
  102. qiskit/circuit/library/templates/clifford/clifford_4_3.py +9 -10
  103. qiskit/circuit/library/templates/clifford/clifford_4_4.py +9 -10
  104. qiskit/circuit/library/templates/clifford/clifford_5_1.py +9 -10
  105. qiskit/circuit/library/templates/clifford/clifford_6_1.py +9 -10
  106. qiskit/circuit/library/templates/clifford/clifford_6_2.py +9 -10
  107. qiskit/circuit/library/templates/clifford/clifford_6_3.py +9 -10
  108. qiskit/circuit/library/templates/clifford/clifford_6_4.py +8 -9
  109. qiskit/circuit/library/templates/clifford/clifford_6_5.py +9 -10
  110. qiskit/circuit/library/templates/clifford/clifford_8_1.py +9 -10
  111. qiskit/circuit/library/templates/clifford/clifford_8_2.py +9 -10
  112. qiskit/circuit/library/templates/clifford/clifford_8_3.py +9 -10
  113. qiskit/circuit/library/templates/nct/template_nct_2a_1.py +7 -9
  114. qiskit/circuit/library/templates/nct/template_nct_2a_2.py +8 -10
  115. qiskit/circuit/library/templates/nct/template_nct_2a_3.py +10 -12
  116. qiskit/circuit/library/templates/nct/template_nct_4a_1.py +14 -16
  117. qiskit/circuit/library/templates/nct/template_nct_4a_2.py +12 -14
  118. qiskit/circuit/library/templates/nct/template_nct_4a_3.py +10 -12
  119. qiskit/circuit/library/templates/nct/template_nct_4b_1.py +12 -14
  120. qiskit/circuit/library/templates/nct/template_nct_4b_2.py +10 -12
  121. qiskit/circuit/library/templates/nct/template_nct_5a_1.py +10 -12
  122. qiskit/circuit/library/templates/nct/template_nct_5a_2.py +10 -12
  123. qiskit/circuit/library/templates/nct/template_nct_5a_3.py +10 -12
  124. qiskit/circuit/library/templates/nct/template_nct_5a_4.py +9 -11
  125. qiskit/circuit/library/templates/nct/template_nct_6a_1.py +9 -11
  126. qiskit/circuit/library/templates/nct/template_nct_6a_2.py +10 -12
  127. qiskit/circuit/library/templates/nct/template_nct_6a_3.py +10 -12
  128. qiskit/circuit/library/templates/nct/template_nct_6a_4.py +10 -12
  129. qiskit/circuit/library/templates/nct/template_nct_6b_1.py +10 -12
  130. qiskit/circuit/library/templates/nct/template_nct_6b_2.py +10 -12
  131. qiskit/circuit/library/templates/nct/template_nct_6c_1.py +10 -12
  132. qiskit/circuit/library/templates/nct/template_nct_7a_1.py +11 -13
  133. qiskit/circuit/library/templates/nct/template_nct_7b_1.py +11 -13
  134. qiskit/circuit/library/templates/nct/template_nct_7c_1.py +11 -13
  135. qiskit/circuit/library/templates/nct/template_nct_7d_1.py +11 -13
  136. qiskit/circuit/library/templates/nct/template_nct_7e_1.py +11 -13
  137. qiskit/circuit/library/templates/nct/template_nct_9a_1.py +11 -13
  138. qiskit/circuit/library/templates/nct/template_nct_9c_1.py +9 -11
  139. qiskit/circuit/library/templates/nct/template_nct_9c_10.py +10 -12
  140. qiskit/circuit/library/templates/nct/template_nct_9c_11.py +10 -12
  141. qiskit/circuit/library/templates/nct/template_nct_9c_12.py +10 -12
  142. qiskit/circuit/library/templates/nct/template_nct_9c_2.py +10 -12
  143. qiskit/circuit/library/templates/nct/template_nct_9c_3.py +10 -12
  144. qiskit/circuit/library/templates/nct/template_nct_9c_4.py +10 -12
  145. qiskit/circuit/library/templates/nct/template_nct_9c_5.py +10 -12
  146. qiskit/circuit/library/templates/nct/template_nct_9c_6.py +10 -12
  147. qiskit/circuit/library/templates/nct/template_nct_9c_7.py +10 -12
  148. qiskit/circuit/library/templates/nct/template_nct_9c_8.py +10 -12
  149. qiskit/circuit/library/templates/nct/template_nct_9c_9.py +10 -12
  150. qiskit/circuit/library/templates/nct/template_nct_9d_1.py +9 -11
  151. qiskit/circuit/library/templates/nct/template_nct_9d_10.py +10 -12
  152. qiskit/circuit/library/templates/nct/template_nct_9d_2.py +10 -12
  153. qiskit/circuit/library/templates/nct/template_nct_9d_3.py +10 -12
  154. qiskit/circuit/library/templates/nct/template_nct_9d_4.py +10 -12
  155. qiskit/circuit/library/templates/nct/template_nct_9d_5.py +10 -12
  156. qiskit/circuit/library/templates/nct/template_nct_9d_6.py +10 -12
  157. qiskit/circuit/library/templates/nct/template_nct_9d_7.py +10 -12
  158. qiskit/circuit/library/templates/nct/template_nct_9d_8.py +10 -12
  159. qiskit/circuit/library/templates/nct/template_nct_9d_9.py +10 -12
  160. qiskit/circuit/library/templates/rzx/rzx_cy.py +10 -11
  161. qiskit/circuit/library/templates/rzx/rzx_xz.py +15 -16
  162. qiskit/circuit/library/templates/rzx/rzx_yz.py +10 -12
  163. qiskit/circuit/library/templates/rzx/rzx_zz1.py +20 -22
  164. qiskit/circuit/library/templates/rzx/rzx_zz2.py +15 -16
  165. qiskit/circuit/library/templates/rzx/rzx_zz3.py +15 -17
  166. qiskit/circuit/parameter.py +0 -4
  167. qiskit/circuit/parameterexpression.py +34 -167
  168. qiskit/circuit/quantumcircuit.py +126 -162
  169. qiskit/circuit/singleton.py +0 -2
  170. qiskit/circuit/store.py +0 -2
  171. qiskit/compiler/assembler.py +4 -17
  172. qiskit/compiler/scheduler.py +0 -2
  173. qiskit/compiler/sequencer.py +0 -2
  174. qiskit/compiler/transpiler.py +26 -81
  175. qiskit/converters/circuit_to_dag.py +2 -2
  176. qiskit/converters/circuit_to_dagdependency.py +1 -1
  177. qiskit/converters/circuit_to_dagdependency_v2.py +1 -1
  178. qiskit/converters/circuit_to_instruction.py +1 -1
  179. qiskit/converters/dag_to_circuit.py +5 -7
  180. qiskit/converters/dag_to_dagdependency.py +1 -1
  181. qiskit/converters/dag_to_dagdependency_v2.py +1 -1
  182. qiskit/converters/dagdependency_to_circuit.py +1 -5
  183. qiskit/converters/dagdependency_to_dag.py +1 -6
  184. qiskit/dagcircuit/collect_blocks.py +3 -3
  185. qiskit/dagcircuit/dagdependency.py +5 -18
  186. qiskit/dagcircuit/dagdependency_v2.py +1 -1
  187. qiskit/dagcircuit/dagnode.py +2 -2
  188. qiskit/passmanager/__init__.py +2 -2
  189. qiskit/primitives/backend_estimator.py +2 -5
  190. qiskit/primitives/backend_sampler_v2.py +18 -61
  191. qiskit/primitives/base/base_estimator.py +2 -2
  192. qiskit/primitives/containers/data_bin.py +1 -9
  193. qiskit/primitives/statevector_sampler.py +1 -1
  194. qiskit/primitives/utils.py +1 -1
  195. qiskit/providers/__init__.py +3 -3
  196. qiskit/providers/backend.py +1 -12
  197. qiskit/providers/backend_compat.py +3 -23
  198. qiskit/providers/basic_provider/basic_simulator.py +2 -12
  199. qiskit/providers/fake_provider/fake_pulse_backend.py +1 -6
  200. qiskit/providers/fake_provider/generic_backend_v2.py +30 -46
  201. qiskit/providers/models/pulsedefaults.py +0 -2
  202. qiskit/pulse/builder.py +18 -59
  203. qiskit/pulse/calibration_entries.py +1 -4
  204. qiskit/pulse/channels.py +0 -2
  205. qiskit/pulse/exceptions.py +0 -2
  206. qiskit/pulse/instruction_schedule_map.py +6 -21
  207. qiskit/pulse/instructions/acquire.py +0 -2
  208. qiskit/pulse/instructions/delay.py +0 -2
  209. qiskit/pulse/instructions/directives.py +0 -8
  210. qiskit/pulse/instructions/frequency.py +0 -3
  211. qiskit/pulse/instructions/instruction.py +0 -2
  212. qiskit/pulse/instructions/phase.py +0 -3
  213. qiskit/pulse/instructions/play.py +0 -2
  214. qiskit/pulse/instructions/reference.py +0 -2
  215. qiskit/pulse/instructions/snapshot.py +0 -2
  216. qiskit/pulse/library/pulse.py +0 -2
  217. qiskit/pulse/library/symbolic_pulses.py +0 -28
  218. qiskit/pulse/library/waveform.py +0 -2
  219. qiskit/pulse/macros.py +1 -1
  220. qiskit/pulse/schedule.py +13 -12
  221. qiskit/pulse/transforms/alignments.py +3 -5
  222. qiskit/pulse/transforms/dag.py +0 -7
  223. qiskit/qasm2/export.py +3 -5
  224. qiskit/qasm2/parse.py +2 -46
  225. qiskit/qasm3/__init__.py +0 -1
  226. qiskit/qasm3/ast.py +15 -123
  227. qiskit/qasm3/exporter.py +77 -103
  228. qiskit/qobj/converters/pulse_instruction.py +4 -6
  229. qiskit/qpy/__init__.py +0 -181
  230. qiskit/qpy/binary_io/circuits.py +5 -20
  231. qiskit/qpy/binary_io/schedules.py +4 -3
  232. qiskit/qpy/binary_io/value.py +13 -310
  233. qiskit/qpy/common.py +2 -46
  234. qiskit/qpy/formats.py +0 -7
  235. qiskit/qpy/interface.py +4 -40
  236. qiskit/quantum_info/__init__.py +0 -4
  237. qiskit/quantum_info/operators/channel/transformations.py +21 -28
  238. qiskit/quantum_info/operators/dihedral/dihedral.py +1 -1
  239. qiskit/quantum_info/operators/operator.py +8 -54
  240. qiskit/quantum_info/operators/symplectic/base_pauli.py +19 -11
  241. qiskit/quantum_info/operators/symplectic/clifford.py +1 -1
  242. qiskit/quantum_info/operators/symplectic/clifford_circuits.py +1 -1
  243. qiskit/quantum_info/operators/symplectic/pauli.py +0 -2
  244. qiskit/quantum_info/operators/symplectic/pauli_list.py +4 -4
  245. qiskit/quantum_info/operators/symplectic/sparse_pauli_op.py +2 -23
  246. qiskit/quantum_info/states/densitymatrix.py +5 -5
  247. qiskit/quantum_info/states/stabilizerstate.py +1 -1
  248. qiskit/quantum_info/states/statevector.py +6 -6
  249. qiskit/result/mitigation/base_readout_mitigator.py +1 -1
  250. qiskit/result/mitigation/correlated_readout_mitigator.py +1 -9
  251. qiskit/result/mitigation/local_readout_mitigator.py +1 -9
  252. qiskit/result/mitigation/utils.py +0 -57
  253. qiskit/scheduler/config.py +0 -2
  254. qiskit/scheduler/methods/basic.py +0 -3
  255. qiskit/scheduler/schedule_circuit.py +0 -2
  256. qiskit/scheduler/sequence.py +0 -2
  257. qiskit/synthesis/__init__.py +0 -25
  258. qiskit/synthesis/clifford/clifford_decompose_bm.py +2 -1
  259. qiskit/synthesis/clifford/clifford_decompose_greedy.py +2 -3
  260. qiskit/synthesis/clifford/clifford_decompose_layers.py +1 -2
  261. qiskit/synthesis/evolution/__init__.py +0 -1
  262. qiskit/synthesis/evolution/lie_trotter.py +42 -16
  263. qiskit/synthesis/evolution/product_formula.py +238 -165
  264. qiskit/synthesis/evolution/qdrift.py +29 -36
  265. qiskit/synthesis/evolution/suzuki_trotter.py +27 -87
  266. qiskit/synthesis/multi_controlled/__init__.py +0 -1
  267. qiskit/synthesis/qft/qft_decompose_full.py +1 -19
  268. qiskit/synthesis/qft/qft_decompose_lnn.py +1 -2
  269. qiskit/synthesis/stabilizer/stabilizer_decompose.py +1 -2
  270. qiskit/synthesis/two_qubit/two_qubit_decompose.py +63 -4
  271. qiskit/synthesis/two_qubit/weyl.py +97 -0
  272. qiskit/synthesis/unitary/qsd.py +5 -5
  273. qiskit/transpiler/__init__.py +14 -21
  274. qiskit/transpiler/basepasses.py +1 -1
  275. qiskit/transpiler/passes/__init__.py +0 -2
  276. qiskit/transpiler/passes/basis/basis_translator.py +565 -9
  277. qiskit/transpiler/passes/basis/decompose.py +12 -45
  278. qiskit/transpiler/passes/basis/unroll_3q_or_more.py +1 -1
  279. qiskit/transpiler/passes/basis/unroll_custom_definitions.py +1 -1
  280. qiskit/transpiler/passes/calibration/pulse_gate.py +2 -4
  281. qiskit/transpiler/passes/calibration/rx_builder.py +7 -11
  282. qiskit/transpiler/passes/calibration/rzx_builder.py +30 -46
  283. qiskit/transpiler/passes/layout/disjoint_utils.py +13 -15
  284. qiskit/transpiler/passes/layout/sabre_layout.py +2 -7
  285. qiskit/transpiler/passes/layout/sabre_pre_layout.py +0 -5
  286. qiskit/transpiler/passes/optimization/__init__.py +0 -1
  287. qiskit/transpiler/passes/optimization/collect_cliffords.py +3 -19
  288. qiskit/transpiler/passes/optimization/collect_linear_functions.py +1 -1
  289. qiskit/transpiler/passes/optimization/collect_multiqubit_blocks.py +2 -2
  290. qiskit/transpiler/passes/optimization/commutative_inverse_cancellation.py +1 -1
  291. qiskit/transpiler/passes/optimization/consolidate_blocks.py +131 -48
  292. qiskit/transpiler/passes/optimization/echo_rzx_weyl_decomposition.py +2 -4
  293. qiskit/transpiler/passes/optimization/elide_permutations.py +32 -9
  294. qiskit/transpiler/passes/optimization/inverse_cancellation.py +0 -2
  295. qiskit/transpiler/passes/optimization/optimize_1q_decomposition.py +11 -5
  296. qiskit/transpiler/passes/optimization/optimize_1q_gates.py +1 -1
  297. qiskit/transpiler/passes/optimization/optimize_swap_before_measure.py +1 -1
  298. qiskit/transpiler/passes/optimization/template_matching/backward_match.py +5 -5
  299. qiskit/transpiler/passes/optimization/template_matching/forward_match.py +4 -4
  300. qiskit/transpiler/passes/optimization/template_matching/template_substitution.py +2 -2
  301. qiskit/transpiler/passes/routing/commuting_2q_gate_routing/commuting_2q_gate_router.py +1 -1
  302. qiskit/transpiler/passes/routing/commuting_2q_gate_routing/swap_strategy.py +1 -1
  303. qiskit/transpiler/passes/routing/sabre_swap.py +3 -7
  304. qiskit/transpiler/passes/routing/star_prerouting.py +2 -2
  305. qiskit/transpiler/passes/scheduling/alap.py +1 -1
  306. qiskit/transpiler/passes/scheduling/alignments/align_measures.py +2 -2
  307. qiskit/transpiler/passes/scheduling/alignments/check_durations.py +1 -1
  308. qiskit/transpiler/passes/scheduling/alignments/pulse_gate_validation.py +0 -2
  309. qiskit/transpiler/passes/scheduling/alignments/reschedule.py +2 -2
  310. qiskit/transpiler/passes/scheduling/asap.py +1 -1
  311. qiskit/transpiler/passes/scheduling/base_scheduler.py +12 -14
  312. qiskit/transpiler/passes/scheduling/dynamical_decoupling.py +4 -9
  313. qiskit/transpiler/passes/scheduling/padding/base_padding.py +1 -1
  314. qiskit/transpiler/passes/scheduling/padding/dynamical_decoupling.py +5 -16
  315. qiskit/transpiler/passes/scheduling/padding/pad_delay.py +1 -4
  316. qiskit/transpiler/passes/scheduling/scheduling/base_scheduler.py +2 -6
  317. qiskit/transpiler/passes/scheduling/time_unit_conversion.py +4 -9
  318. qiskit/transpiler/passes/synthesis/high_level_synthesis.py +99 -262
  319. qiskit/transpiler/passes/synthesis/hls_plugins.py +7 -638
  320. qiskit/transpiler/passes/synthesis/qubit_tracker.py +132 -0
  321. qiskit/transpiler/passes/synthesis/solovay_kitaev_synthesis.py +3 -3
  322. qiskit/transpiler/passes/synthesis/unitary_synthesis.py +34 -55
  323. qiskit/transpiler/passes/utils/barrier_before_final_measurements.py +56 -2
  324. qiskit/transpiler/passes/utils/convert_conditions_to_if_ops.py +0 -5
  325. qiskit/transpiler/passes/utils/gate_direction.py +275 -12
  326. qiskit/transpiler/passes/utils/gates_basis.py +30 -7
  327. qiskit/transpiler/passes/utils/merge_adjacent_barriers.py +1 -2
  328. qiskit/transpiler/passmanager_config.py +4 -22
  329. qiskit/transpiler/preset_passmanagers/builtin_plugins.py +14 -40
  330. qiskit/transpiler/preset_passmanagers/common.py +3 -5
  331. qiskit/transpiler/preset_passmanagers/generate_preset_pass_manager.py +42 -125
  332. qiskit/transpiler/preset_passmanagers/plugin.py +1 -1
  333. qiskit/transpiler/target.py +16 -74
  334. qiskit/visualization/circuit/_utils.py +2 -2
  335. qiskit/visualization/circuit/circuit_visualization.py +2 -3
  336. qiskit/visualization/circuit/matplotlib.py +1 -1
  337. qiskit/visualization/dag_visualization.py +1 -1
  338. qiskit/visualization/pass_manager_visualization.py +14 -3
  339. qiskit/visualization/pulse_v2/interface.py +1 -3
  340. qiskit/visualization/timeline/core.py +2 -25
  341. qiskit/visualization/timeline/interface.py +0 -12
  342. {qiskit-1.3.0.dist-info → qiskit-1.3.0b1.dist-info}/METADATA +19 -20
  343. {qiskit-1.3.0.dist-info → qiskit-1.3.0b1.dist-info}/RECORD +347 -358
  344. {qiskit-1.3.0.dist-info → qiskit-1.3.0b1.dist-info}/WHEEL +1 -1
  345. {qiskit-1.3.0.dist-info → qiskit-1.3.0b1.dist-info}/entry_points.txt +0 -19
  346. qiskit/circuit/library/data_preparation/_zz_feature_map.py +0 -150
  347. qiskit/circuit/twirling.py +0 -145
  348. qiskit/synthesis/arithmetic/__init__.py +0 -16
  349. qiskit/synthesis/arithmetic/adders/__init__.py +0 -17
  350. qiskit/synthesis/arithmetic/adders/cdkm_ripple_carry_adder.py +0 -154
  351. qiskit/synthesis/arithmetic/adders/draper_qft_adder.py +0 -103
  352. qiskit/synthesis/arithmetic/adders/vbe_ripple_carry_adder.py +0 -161
  353. qiskit/synthesis/arithmetic/multipliers/__init__.py +0 -16
  354. qiskit/synthesis/arithmetic/multipliers/hrs_cumulative_multiplier.py +0 -102
  355. qiskit/synthesis/arithmetic/multipliers/rg_qft_multiplier.py +0 -99
  356. qiskit/synthesis/evolution/pauli_network.py +0 -80
  357. qiskit/synthesis/multi_controlled/mcmt_vchain.py +0 -52
  358. qiskit/transpiler/passes/optimization/remove_identity_equiv.py +0 -69
  359. qiskit/utils/deprecate_pulse.py +0 -119
  360. {qiskit-1.3.0.dist-info → qiskit-1.3.0b1.dist-info}/LICENSE.txt +0 -0
  361. {qiskit-1.3.0.dist-info → qiskit-1.3.0b1.dist-info}/top_level.txt +0 -0
@@ -10,24 +10,22 @@
10
10
  # copyright notice, and modified files need to carry a notice indicating
11
11
  # that they have been altered from the originals.
12
12
 
13
- # pylint: disable=missing-module-docstring
13
+ """
14
+ Template 5a_2:
15
+ .. parsed-literal::
16
+ q_0: ──■─────────■─────────■──
17
+ │ ┌───┐ │ ┌───┐ │
18
+ q_1: ──■──┤ X ├──■──┤ X ├──┼──
19
+ ┌─┴─┐└───┘┌─┴─┐└───┘┌─┴─┐
20
+ q_2: ┤ X ├─────┤ X ├─────┤ X ├
21
+ └───┘ └───┘ └───┘
22
+ """
14
23
 
15
24
  from qiskit.circuit.quantumcircuit import QuantumCircuit
16
25
 
17
26
 
18
27
  def template_nct_5a_2():
19
28
  """
20
- Template 5a_2:
21
-
22
- .. code-block:: text
23
-
24
- q_0: ──■─────────■─────────■──
25
- │ ┌───┐ │ ┌───┐ │
26
- q_1: ──■──┤ X ├──■──┤ X ├──┼──
27
- ┌─┴─┐└───┘┌─┴─┐└───┘┌─┴─┐
28
- q_2: ┤ X ├─────┤ X ├─────┤ X ├
29
- └───┘ └───┘ └───┘
30
-
31
29
  Returns:
32
30
  QuantumCircuit: template as a quantum circuit.
33
31
  """
@@ -10,24 +10,22 @@
10
10
  # copyright notice, and modified files need to carry a notice indicating
11
11
  # that they have been altered from the originals.
12
12
 
13
- # pylint: disable=missing-module-docstring
13
+ """
14
+ Template 5a_3:
15
+ .. parsed-literal::
16
+ q_0: ───────■─────────■────■──
17
+ ┌─┴─┐ ┌─┴─┐ │
18
+ q_1: ──■──┤ X ├──■──┤ X ├──┼──
19
+ ┌─┴─┐└───┘┌─┴─┐└───┘┌─┴─┐
20
+ q_2: ┤ X ├─────┤ X ├─────┤ X ├
21
+ └───┘ └───┘ └───┘
22
+ """
14
23
 
15
24
  from qiskit.circuit.quantumcircuit import QuantumCircuit
16
25
 
17
26
 
18
27
  def template_nct_5a_3():
19
28
  """
20
- Template 5a_3:
21
-
22
- .. code-block:: text
23
-
24
- q_0: ───────■─────────■────■──
25
- ┌─┴─┐ ┌─┴─┐ │
26
- q_1: ──■──┤ X ├──■──┤ X ├──┼──
27
- ┌─┴─┐└───┘┌─┴─┐└───┘┌─┴─┐
28
- q_2: ┤ X ├─────┤ X ├─────┤ X ├
29
- └───┘ └───┘ └───┘
30
-
31
29
  Returns:
32
30
  QuantumCircuit: template as a quantum circuit.
33
31
  """
@@ -10,23 +10,21 @@
10
10
  # copyright notice, and modified files need to carry a notice indicating
11
11
  # that they have been altered from the originals.
12
12
 
13
- # pylint: disable=missing-module-docstring
13
+ """
14
+ Template 5a_4:
15
+ .. parsed-literal::
16
+ ┌───┐ ┌───┐
17
+ q_0: ──■──┤ X ├──■──┤ X ├
18
+ ┌─┴─┐└───┘┌─┴─┐├───┤
19
+ q_1: ┤ X ├─────┤ X ├┤ X ├
20
+ └───┘ └───┘└───┘
21
+ """
14
22
 
15
23
  from qiskit.circuit.quantumcircuit import QuantumCircuit
16
24
 
17
25
 
18
26
  def template_nct_5a_4():
19
27
  """
20
- Template 5a_4:
21
-
22
- .. code-block:: text
23
-
24
- ┌───┐ ┌───┐
25
- q_0: ──■──┤ X ├──■──┤ X ├
26
- ┌─┴─┐└───┘┌─┴─┐├───┤
27
- q_1: ┤ X ├─────┤ X ├┤ X ├
28
- └───┘ └───┘└───┘
29
-
30
28
  Returns:
31
29
  QuantumCircuit: template as a quantum circuit.
32
30
  """
@@ -10,23 +10,21 @@
10
10
  # copyright notice, and modified files need to carry a notice indicating
11
11
  # that they have been altered from the originals.
12
12
 
13
- # pylint: disable=missing-module-docstring
13
+ """
14
+ Template 6a_1:
15
+ .. parsed-literal::
16
+ ┌───┐ ┌───┐ ┌───┐
17
+ q_0: ──■──┤ X ├──■──┤ X ├──■──┤ X ├
18
+ ┌─┴─┐└─┬─┘┌─┴─┐└─┬─┘┌─┴─┐└─┬─┘
19
+ q_1: ┤ X ├──■──┤ X ├──■──┤ X ├──■──
20
+ └───┘ └───┘ └───┘
21
+ """
14
22
 
15
23
  from qiskit.circuit.quantumcircuit import QuantumCircuit
16
24
 
17
25
 
18
26
  def template_nct_6a_1():
19
27
  """
20
- Template 6a_1:
21
-
22
- .. code-block:: text
23
-
24
- ┌───┐ ┌───┐ ┌───┐
25
- q_0: ──■──┤ X ├──■──┤ X ├──■──┤ X ├
26
- ┌─┴─┐└─┬─┘┌─┴─┐└─┬─┘┌─┴─┐└─┬─┘
27
- q_1: ┤ X ├──■──┤ X ├──■──┤ X ├──■──
28
- └───┘ └───┘ └───┘
29
-
30
28
  Returns:
31
29
  QuantumCircuit: template as a quantum circuit.
32
30
  """
@@ -10,24 +10,22 @@
10
10
  # copyright notice, and modified files need to carry a notice indicating
11
11
  # that they have been altered from the originals.
12
12
 
13
- # pylint: disable=missing-module-docstring
13
+ """
14
+ Template 6a_2:
15
+ .. parsed-literal::
16
+ q_0: ──■────■────■────■────■────■──
17
+ │ ┌─┴─┐ │ ┌─┴─┐ │ ┌─┴─┐
18
+ q_1: ──■──┤ X ├──■──┤ X ├──■──┤ X ├
19
+ ┌─┴─┐└─┬─┘┌─┴─┐└─┬─┘┌─┴─┐└─┬─┘
20
+ q_2: ┤ X ├──■──┤ X ├──■──┤ X ├──■──
21
+ └───┘ └───┘ └───┘
22
+ """
14
23
 
15
24
  from qiskit.circuit.quantumcircuit import QuantumCircuit
16
25
 
17
26
 
18
27
  def template_nct_6a_2():
19
28
  """
20
- Template 6a_2:
21
-
22
- .. code-block:: text
23
-
24
- q_0: ──■────■────■────■────■────■──
25
- │ ┌─┴─┐ │ ┌─┴─┐ │ ┌─┴─┐
26
- q_1: ──■──┤ X ├──■──┤ X ├──■──┤ X ├
27
- ┌─┴─┐└─┬─┘┌─┴─┐└─┬─┘┌─┴─┐└─┬─┘
28
- q_2: ┤ X ├──■──┤ X ├──■──┤ X ├──■──
29
- └───┘ └───┘ └───┘
30
-
31
29
  Returns:
32
30
  QuantumCircuit: template as a quantum circuit.
33
31
  """
@@ -10,24 +10,22 @@
10
10
  # copyright notice, and modified files need to carry a notice indicating
11
11
  # that they have been altered from the originals.
12
12
 
13
- # pylint: disable=missing-module-docstring
13
+ """
14
+ Template 6a_3:
15
+ .. parsed-literal::
16
+ q_0: ───────■─────────■────■────■──
17
+ ┌─┴─┐ ┌─┴─┐ │ ┌─┴─┐
18
+ q_1: ──■──┤ X ├──■──┤ X ├──■──┤ X ├
19
+ ┌─┴─┐└─┬─┘┌─┴─┐└─┬─┘┌─┴─┐└─┬─┘
20
+ q_2: ┤ X ├──■──┤ X ├──■──┤ X ├──■──
21
+ └───┘ └───┘ └───┘
22
+ """
14
23
 
15
24
  from qiskit.circuit.quantumcircuit import QuantumCircuit
16
25
 
17
26
 
18
27
  def template_nct_6a_3():
19
28
  """
20
- Template 6a_3:
21
-
22
- .. code-block:: text
23
-
24
- q_0: ───────■─────────■────■────■──
25
- ┌─┴─┐ ┌─┴─┐ │ ┌─┴─┐
26
- q_1: ──■──┤ X ├──■──┤ X ├──■──┤ X ├
27
- ┌─┴─┐└─┬─┘┌─┴─┐└─┬─┘┌─┴─┐└─┬─┘
28
- q_2: ┤ X ├──■──┤ X ├──■──┤ X ├──■──
29
- └───┘ └───┘ └───┘
30
-
31
29
  Returns:
32
30
  QuantumCircuit: template as a quantum circuit.
33
31
  """
@@ -10,24 +10,22 @@
10
10
  # copyright notice, and modified files need to carry a notice indicating
11
11
  # that they have been altered from the originals.
12
12
 
13
- # pylint: disable=missing-module-docstring
13
+ """
14
+ Template 6a_4:
15
+ .. parsed-literal::
16
+ q_0: ───────■──────────────■───────
17
+ ┌─┴─┐ ┌───┐ │ ┌───┐
18
+ q_1: ──■──┤ X ├──■──┤ X ├──■──┤ X ├
19
+ ┌─┴─┐└─┬─┘┌─┴─┐└─┬─┘┌─┴─┐└─┬─┘
20
+ q_2: ┤ X ├──■──┤ X ├──■──┤ X ├──■──
21
+ └───┘ └───┘ └───┘
22
+ """
14
23
 
15
24
  from qiskit.circuit.quantumcircuit import QuantumCircuit
16
25
 
17
26
 
18
27
  def template_nct_6a_4():
19
28
  """
20
- Template 6a_4:
21
-
22
- .. code-block:: text
23
-
24
- q_0: ───────■──────────────■───────
25
- ┌─┴─┐ ┌───┐ │ ┌───┐
26
- q_1: ──■──┤ X ├──■──┤ X ├──■──┤ X ├
27
- ┌─┴─┐└─┬─┘┌─┴─┐└─┬─┘┌─┴─┐└─┬─┘
28
- q_2: ┤ X ├──■──┤ X ├──■──┤ X ├──■──
29
- └───┘ └───┘ └───┘
30
-
31
29
  Returns:
32
30
  QuantumCircuit: template as a quantum circuit.
33
31
  """
@@ -10,24 +10,22 @@
10
10
  # copyright notice, and modified files need to carry a notice indicating
11
11
  # that they have been altered from the originals.
12
12
 
13
- # pylint: disable=missing-module-docstring
13
+ """
14
+ Template 6b_1:
15
+ .. parsed-literal::
16
+ q_0: ──■─────────■────■─────────■──
17
+ │ ┌─┴─┐ │ ┌─┴─┐
18
+ q_1: ──■────■──┤ X ├──■────■──┤ X ├
19
+ ┌─┴─┐┌─┴─┐└─┬─┘┌─┴─┐┌─┴─┐└─┬─┘
20
+ q_2: ┤ X ├┤ X ├──■──┤ X ├┤ X ├──■──
21
+ └───┘└───┘ └───┘└───┘
22
+ """
14
23
 
15
24
  from qiskit.circuit.quantumcircuit import QuantumCircuit
16
25
 
17
26
 
18
27
  def template_nct_6b_1():
19
28
  """
20
- Template 6b_1:
21
-
22
- .. code-block:: text
23
-
24
- q_0: ──■─────────■────■─────────■──
25
- │ ┌─┴─┐ │ ┌─┴─┐
26
- q_1: ──■────■──┤ X ├──■────■──┤ X ├
27
- ┌─┴─┐┌─┴─┐└─┬─┘┌─┴─┐┌─┴─┐└─┬─┘
28
- q_2: ┤ X ├┤ X ├──■──┤ X ├┤ X ├──■──
29
- └───┘└───┘ └───┘└───┘
30
-
31
29
  Returns:
32
30
  QuantumCircuit: template as a quantum circuit.
33
31
  """
@@ -10,24 +10,22 @@
10
10
  # copyright notice, and modified files need to carry a notice indicating
11
11
  # that they have been altered from the originals.
12
12
 
13
- # pylint: disable=missing-module-docstring
13
+ """
14
+ Template 6b_2:
15
+ .. parsed-literal::
16
+ q_0: ───────■────■─────────■────■──
17
+ │ ┌─┴─┐ │ ┌─┴─┐
18
+ q_1: ──■────■──┤ X ├──■────■──┤ X ├
19
+ ┌─┴─┐┌─┴─┐└─┬─┘┌─┴─┐┌─┴─┐└─┬─┘
20
+ q_2: ┤ X ├┤ X ├──■──┤ X ├┤ X ├──■──
21
+ └───┘└───┘ └───┘└───┘
22
+ """
14
23
 
15
24
  from qiskit.circuit.quantumcircuit import QuantumCircuit
16
25
 
17
26
 
18
27
  def template_nct_6b_2():
19
28
  """
20
- Template 6b_2:
21
-
22
- .. code-block:: text
23
-
24
- q_0: ───────■────■─────────■────■──
25
- │ ┌─┴─┐ │ ┌─┴─┐
26
- q_1: ──■────■──┤ X ├──■────■──┤ X ├
27
- ┌─┴─┐┌─┴─┐└─┬─┘┌─┴─┐┌─┴─┐└─┬─┘
28
- q_2: ┤ X ├┤ X ├──■──┤ X ├┤ X ├──■──
29
- └───┘└───┘ └───┘└───┘
30
-
31
29
  Returns:
32
30
  QuantumCircuit: template as a quantum circuit.
33
31
  """
@@ -10,24 +10,22 @@
10
10
  # copyright notice, and modified files need to carry a notice indicating
11
11
  # that they have been altered from the originals.
12
12
 
13
- # pylint: disable=missing-module-docstring
13
+ """
14
+ Template 6c_1:
15
+ .. parsed-literal::
16
+ q_0: ──■─────────■─────────■────■──
17
+ │ ┌───┐ │ ┌───┐ │ ┌─┴─┐
18
+ q_1: ──■──┤ X ├──■──┤ X ├──■──┤ X ├
19
+ ┌─┴─┐└─┬─┘┌─┴─┐└─┬─┘┌─┴─┐└─┬─┘
20
+ q_2: ┤ X ├──■──┤ X ├──■──┤ X ├──■──
21
+ └───┘ └───┘ └───┘
22
+ """
14
23
 
15
24
  from qiskit.circuit.quantumcircuit import QuantumCircuit
16
25
 
17
26
 
18
27
  def template_nct_6c_1():
19
28
  """
20
- Template 6c_1:
21
-
22
- .. code-block:: text
23
-
24
- q_0: ──■─────────■─────────■────■──
25
- │ ┌───┐ │ ┌───┐ │ ┌─┴─┐
26
- q_1: ──■──┤ X ├──■──┤ X ├──■──┤ X ├
27
- ┌─┴─┐└─┬─┘┌─┴─┐└─┬─┘┌─┴─┐└─┬─┘
28
- q_2: ┤ X ├──■──┤ X ├──■──┤ X ├──■──
29
- └───┘ └───┘ └───┘
30
-
31
29
  Returns:
32
30
  QuantumCircuit: template as a quantum circuit.
33
31
  """
@@ -10,25 +10,23 @@
10
10
  # copyright notice, and modified files need to carry a notice indicating
11
11
  # that they have been altered from the originals.
12
12
 
13
- # pylint: disable=missing-module-docstring
13
+ """
14
+ Template 7a_1:
15
+ .. parsed-literal::
16
+ ┌───┐ ┌───┐
17
+ q_0: ┤ X ├──■─────────■────■──┤ X ├──■──
18
+ └─┬─┘┌─┴─┐ │ ┌─┴─┐└─┬─┘ │
19
+ q_1: ──■──┤ X ├──■────■──┤ X ├──■────■──
20
+ └───┘┌─┴─┐┌─┴─┐└───┘ ┌─┴─┐
21
+ q_2: ──────────┤ X ├┤ X ├──────────┤ X ├
22
+ └───┘└───┘ └───┘
23
+ """
14
24
 
15
25
  from qiskit.circuit.quantumcircuit import QuantumCircuit
16
26
 
17
27
 
18
28
  def template_nct_7a_1():
19
29
  """
20
- Template 7a_1:
21
-
22
- .. code-block:: text
23
-
24
- ┌───┐ ┌───┐
25
- q_0: ┤ X ├──■─────────■────■──┤ X ├──■──
26
- └─┬─┘┌─┴─┐ │ ┌─┴─┐└─┬─┘ │
27
- q_1: ──■──┤ X ├──■────■──┤ X ├──■────■──
28
- └───┘┌─┴─┐┌─┴─┐└───┘ ┌─┴─┐
29
- q_2: ──────────┤ X ├┤ X ├──────────┤ X ├
30
- └───┘└───┘ └───┘
31
-
32
30
  Returns:
33
31
  QuantumCircuit: template as a quantum circuit.
34
32
  """
@@ -10,25 +10,23 @@
10
10
  # copyright notice, and modified files need to carry a notice indicating
11
11
  # that they have been altered from the originals.
12
12
 
13
- # pylint: disable=missing-module-docstring
13
+ """
14
+ Template 7b_1:
15
+ .. parsed-literal::
16
+ ┌───┐ ┌───┐
17
+ q_0: ┤ X ├──■─────────■────■──┤ X ├──■──
18
+ └───┘┌─┴─┐ │ ┌─┴─┐└───┘ │
19
+ q_1: ─────┤ X ├──■────■──┤ X ├───────■──
20
+ └───┘┌─┴─┐┌─┴─┐└───┘ ┌─┴─┐
21
+ q_2: ──────────┤ X ├┤ X ├──────────┤ X ├
22
+ └───┘└───┘ └───┘
23
+ """
14
24
 
15
25
  from qiskit.circuit.quantumcircuit import QuantumCircuit
16
26
 
17
27
 
18
28
  def template_nct_7b_1():
19
29
  """
20
- Template 7b_1:
21
-
22
- .. code-block:: text
23
-
24
- ┌───┐ ┌───┐
25
- q_0: ┤ X ├──■─────────■────■──┤ X ├──■──
26
- └───┘┌─┴─┐ │ ┌─┴─┐└───┘ │
27
- q_1: ─────┤ X ├──■────■──┤ X ├───────■──
28
- └───┘┌─┴─┐┌─┴─┐└───┘ ┌─┴─┐
29
- q_2: ──────────┤ X ├┤ X ├──────────┤ X ├
30
- └───┘└───┘ └───┘
31
-
32
30
  Returns:
33
31
  QuantumCircuit: template as a quantum circuit.
34
32
  """
@@ -10,25 +10,23 @@
10
10
  # copyright notice, and modified files need to carry a notice indicating
11
11
  # that they have been altered from the originals.
12
12
 
13
- # pylint: disable=missing-module-docstring
13
+ """
14
+ Template 7c_1:
15
+ .. parsed-literal::
16
+ ┌───┐ ┌───┐
17
+ q_0: ┤ X ├──■─────────■────■──┤ X ├──■──
18
+ └───┘┌─┴─┐ │ ┌─┴─┐└───┘ │
19
+ q_1: ─────┤ X ├──■────■──┤ X ├───────■──
20
+ └─┬─┘┌─┴─┐┌─┴─┐└─┬─┘ ┌─┴─┐
21
+ q_2: ───────■──┤ X ├┤ X ├──■───────┤ X ├
22
+ └───┘└───┘ └───┘
23
+ """
14
24
 
15
25
  from qiskit.circuit.quantumcircuit import QuantumCircuit
16
26
 
17
27
 
18
28
  def template_nct_7c_1():
19
29
  """
20
- Template 7c_1:
21
-
22
- .. code-block:: text
23
-
24
- ┌───┐ ┌───┐
25
- q_0: ┤ X ├──■─────────■────■──┤ X ├──■──
26
- └───┘┌─┴─┐ │ ┌─┴─┐└───┘ │
27
- q_1: ─────┤ X ├──■────■──┤ X ├───────■──
28
- └─┬─┘┌─┴─┐┌─┴─┐└─┬─┘ ┌─┴─┐
29
- q_2: ───────■──┤ X ├┤ X ├──■───────┤ X ├
30
- └───┘└───┘ └───┘
31
-
32
30
  Returns:
33
31
  QuantumCircuit: template as a quantum circuit.
34
32
  """
@@ -10,25 +10,23 @@
10
10
  # copyright notice, and modified files need to carry a notice indicating
11
11
  # that they have been altered from the originals.
12
12
 
13
- # pylint: disable=missing-module-docstring
13
+ """
14
+ Template 7d_1:
15
+ .. parsed-literal::
16
+ ┌───┐ ┌───┐
17
+ q_0: ┤ X ├──■─────────■────■──┤ X ├──■──
18
+ └─┬─┘┌─┴─┐ │ ┌─┴─┐└─┬─┘ │
19
+ q_1: ──■──┤ X ├──■────■──┤ X ├──■────■──
20
+ └─┬─┘┌─┴─┐┌─┴─┐└─┬─┘ ┌─┴─┐
21
+ q_2: ───────■──┤ X ├┤ X ├──■───────┤ X ├
22
+ └───┘└───┘ └───┘
23
+ """
14
24
 
15
25
  from qiskit.circuit.quantumcircuit import QuantumCircuit
16
26
 
17
27
 
18
28
  def template_nct_7d_1():
19
29
  """
20
- Template 7d_1:
21
-
22
- .. code-block:: text
23
-
24
- ┌───┐ ┌───┐
25
- q_0: ┤ X ├──■─────────■────■──┤ X ├──■──
26
- └─┬─┘┌─┴─┐ │ ┌─┴─┐└─┬─┘ │
27
- q_1: ──■──┤ X ├──■────■──┤ X ├──■────■──
28
- └─┬─┘┌─┴─┐┌─┴─┐└─┬─┘ ┌─┴─┐
29
- q_2: ───────■──┤ X ├┤ X ├──■───────┤ X ├
30
- └───┘└───┘ └───┘
31
-
32
30
  Returns:
33
31
  QuantumCircuit: template as a quantum circuit.
34
32
  """
@@ -10,25 +10,23 @@
10
10
  # copyright notice, and modified files need to carry a notice indicating
11
11
  # that they have been altered from the originals.
12
12
 
13
- # pylint: disable=missing-module-docstring
13
+ """
14
+ Template 7e_1:
15
+ .. parsed-literal::
16
+ ┌───┐ ┌───┐
17
+ q_0: ┤ X ├──■─────────■────■──┤ X ├──■──
18
+ └───┘┌─┴─┐ │ ┌─┴─┐└───┘ │
19
+ q_1: ─────┤ X ├───────┼──┤ X ├───────┼──
20
+ └─┬─┘┌───┐┌─┴─┐└─┬─┘ ┌─┴─┐
21
+ q_2: ───────■──┤ X ├┤ X ├──■───────┤ X ├
22
+ └───┘└───┘ └───┘
23
+ """
14
24
 
15
25
  from qiskit.circuit.quantumcircuit import QuantumCircuit
16
26
 
17
27
 
18
28
  def template_nct_7e_1():
19
29
  """
20
- Template 7e_1:
21
-
22
- .. code-block:: text
23
-
24
- ┌───┐ ┌───┐
25
- q_0: ┤ X ├──■─────────■────■──┤ X ├──■──
26
- └───┘┌─┴─┐ │ ┌─┴─┐└───┘ │
27
- q_1: ─────┤ X ├───────┼──┤ X ├───────┼──
28
- └─┬─┘┌───┐┌─┴─┐└─┬─┘ ┌─┴─┐
29
- q_2: ───────■──┤ X ├┤ X ├──■───────┤ X ├
30
- └───┘└───┘ └───┘
31
-
32
30
  Returns:
33
31
  QuantumCircuit: template as a quantum circuit.
34
32
  """
@@ -10,25 +10,23 @@
10
10
  # copyright notice, and modified files need to carry a notice indicating
11
11
  # that they have been altered from the originals.
12
12
 
13
- # pylint: disable=missing-module-docstring
13
+ """
14
+ Template 9a_1:
15
+ .. parsed-literal::
16
+ ┌───┐ ┌───┐ ┌───┐
17
+ q_0: ┤ X ├──■──┤ X ├──■────■──┤ X ├──■──
18
+ └─┬─┘┌─┴─┐└─┬─┘┌─┴─┐┌─┴─┐└─┬─┘┌─┴─┐
19
+ q_1: ──■──┤ X ├──■──┤ X ├┤ X ├──■──┤ X ├
20
+ └─┬─┘ │ ├───┤└─┬─┘┌───┐└─┬─┘
21
+ q_2: ───────■────■──┤ X ├──■──┤ X ├──■──
22
+ └───┘ └───┘
23
+ """
14
24
 
15
25
  from qiskit.circuit.quantumcircuit import QuantumCircuit
16
26
 
17
27
 
18
28
  def template_nct_9a_1():
19
29
  """
20
- Template 9a_1:
21
-
22
- .. code-block:: text
23
-
24
- ┌───┐ ┌───┐ ┌───┐
25
- q_0: ┤ X ├──■──┤ X ├──■────■──┤ X ├──■──
26
- └─┬─┘┌─┴─┐└─┬─┘┌─┴─┐┌─┴─┐└─┬─┘┌─┴─┐
27
- q_1: ──■──┤ X ├──■──┤ X ├┤ X ├──■──┤ X ├
28
- └─┬─┘ │ ├───┤└─┬─┘┌───┐└─┬─┘
29
- q_2: ───────■────■──┤ X ├──■──┤ X ├──■──
30
- └───┘ └───┘
31
-
32
30
  Returns:
33
31
  QuantumCircuit: template as a quantum circuit.
34
32
  """
@@ -10,23 +10,21 @@
10
10
  # copyright notice, and modified files need to carry a notice indicating
11
11
  # that they have been altered from the originals.
12
12
 
13
- # pylint: disable=missing-module-docstring
13
+ """
14
+ Template 9c_1:
15
+ .. parsed-literal::
16
+ ┌───┐ ┌───┐┌───┐ ┌───┐ ┌───┐
17
+ q_0: ┤ X ├──■──┤ X ├┤ X ├─────┤ X ├──■───────┤ X ├
18
+ └─┬─┘┌─┴─┐└───┘└─┬─┘┌───┐└─┬─┘┌─┴─┐┌───┐└─┬─┘
19
+ q_1: ──■──┤ X ├───────■──┤ X ├──■──┤ X ├┤ X ├──■──
20
+ └───┘ └───┘ └───┘└───┘
21
+ """
14
22
 
15
23
  from qiskit.circuit.quantumcircuit import QuantumCircuit
16
24
 
17
25
 
18
26
  def template_nct_9c_1():
19
27
  """
20
- Template 9c_1:
21
-
22
- .. code-block:: text
23
-
24
- ┌───┐ ┌───┐┌───┐ ┌───┐ ┌───┐
25
- q_0: ┤ X ├──■──┤ X ├┤ X ├─────┤ X ├──■───────┤ X ├
26
- └─┬─┘┌─┴─┐└───┘└─┬─┘┌───┐└─┬─┘┌─┴─┐┌───┐└─┬─┘
27
- q_1: ──■──┤ X ├───────■──┤ X ├──■──┤ X ├┤ X ├──■──
28
- └───┘ └───┘ └───┘└───┘
29
-
30
28
  Returns:
31
29
  QuantumCircuit: template as a quantum circuit.
32
30
  """
@@ -10,24 +10,22 @@
10
10
  # copyright notice, and modified files need to carry a notice indicating
11
11
  # that they have been altered from the originals.
12
12
 
13
- # pylint: disable=missing-module-docstring
13
+ """
14
+ Template 9c_10:
15
+ .. parsed-literal::
16
+ q_0: ──■─────────■────■────■────■─────────■────■──
17
+ ┌─┴─┐ ┌─┴─┐┌─┴─┐ │ ┌─┴─┐ │ ┌─┴─┐
18
+ q_1: ┤ X ├──■──┤ X ├┤ X ├──┼──┤ X ├──■────┼──┤ X ├
19
+ └─┬─┘┌─┴─┐└───┘└─┬─┘┌─┴─┐└─┬─┘┌─┴─┐┌─┴─┐└─┬─┘
20
+ q_2: ──■──┤ X ├───────■──┤ X ├──■──┤ X ├┤ X ├──■──
21
+ └───┘ └───┘ └───┘└───┘
22
+ """
14
23
 
15
24
  from qiskit.circuit.quantumcircuit import QuantumCircuit
16
25
 
17
26
 
18
27
  def template_nct_9c_10():
19
28
  """
20
- Template 9c_10:
21
-
22
- .. code-block:: text
23
-
24
- q_0: ──■─────────■────■────■────■─────────■────■──
25
- ┌─┴─┐ ┌─┴─┐┌─┴─┐ │ ┌─┴─┐ │ ┌─┴─┐
26
- q_1: ┤ X ├──■──┤ X ├┤ X ├──┼──┤ X ├──■────┼──┤ X ├
27
- └─┬─┘┌─┴─┐└───┘└─┬─┘┌─┴─┐└─┬─┘┌─┴─┐┌─┴─┐└─┬─┘
28
- q_2: ──■──┤ X ├───────■──┤ X ├──■──┤ X ├┤ X ├──■──
29
- └───┘ └───┘ └───┘└───┘
30
-
31
29
  Returns:
32
30
  QuantumCircuit: template as a quantum circuit.
33
31
  """