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.
- qiskit/VERSION.txt +1 -1
- qiskit/__init__.py +1 -20
- qiskit/_accelerate.pyd +0 -0
- qiskit/assembler/assemble_schedules.py +0 -2
- qiskit/circuit/__init__.py +1 -44
- qiskit/circuit/_standard_gates_commutations.py +0 -585
- qiskit/circuit/barrier.py +0 -2
- qiskit/circuit/controlflow/builder.py +3 -3
- qiskit/circuit/controlflow/if_else.py +5 -13
- qiskit/circuit/controlflow/while_loop.py +2 -10
- qiskit/circuit/delay.py +3 -20
- qiskit/circuit/equivalence.py +214 -13
- qiskit/circuit/gate.py +1 -3
- qiskit/circuit/instruction.py +11 -32
- qiskit/circuit/instructionset.py +0 -2
- qiskit/circuit/library/__init__.py +14 -110
- qiskit/circuit/library/arithmetic/__init__.py +2 -9
- qiskit/circuit/library/arithmetic/adders/__init__.py +0 -1
- qiskit/circuit/library/arithmetic/adders/adder.py +2 -154
- qiskit/circuit/library/arithmetic/adders/cdkm_ripple_carry_adder.py +56 -20
- qiskit/circuit/library/arithmetic/adders/draper_qft_adder.py +1 -14
- qiskit/circuit/library/arithmetic/adders/vbe_ripple_carry_adder.py +91 -21
- qiskit/circuit/library/arithmetic/linear_pauli_rotations.py +1 -1
- qiskit/circuit/library/arithmetic/multipliers/__init__.py +0 -1
- qiskit/circuit/library/arithmetic/multipliers/hrs_cumulative_multiplier.py +1 -8
- qiskit/circuit/library/arithmetic/multipliers/multiplier.py +3 -94
- qiskit/circuit/library/arithmetic/multipliers/rg_qft_multiplier.py +1 -8
- qiskit/circuit/library/arithmetic/weighted_adder.py +1 -1
- qiskit/circuit/library/basis_change/qft.py +38 -20
- qiskit/circuit/library/blueprintcircuit.py +0 -64
- qiskit/circuit/library/boolean_logic/__init__.py +4 -4
- qiskit/circuit/library/boolean_logic/inner_product.py +4 -81
- qiskit/circuit/library/boolean_logic/quantum_and.py +4 -107
- qiskit/circuit/library/boolean_logic/quantum_or.py +3 -107
- qiskit/circuit/library/boolean_logic/quantum_xor.py +3 -97
- qiskit/circuit/library/data_preparation/__init__.py +3 -6
- qiskit/circuit/library/data_preparation/pauli_feature_map.py +29 -342
- qiskit/circuit/library/data_preparation/{_z_feature_map.py → z_feature_map.py} +34 -45
- qiskit/circuit/library/data_preparation/zz_feature_map.py +118 -0
- qiskit/circuit/library/fourier_checking.py +11 -72
- qiskit/circuit/library/generalized_gates/__init__.py +1 -1
- qiskit/circuit/library/generalized_gates/diagonal.py +51 -45
- qiskit/circuit/library/generalized_gates/gms.py +14 -67
- qiskit/circuit/library/generalized_gates/gr.py +4 -4
- qiskit/circuit/library/generalized_gates/isometry.py +2 -2
- qiskit/circuit/library/generalized_gates/linear_function.py +6 -12
- qiskit/circuit/library/generalized_gates/mcmt.py +107 -167
- qiskit/circuit/library/generalized_gates/permutation.py +6 -8
- qiskit/circuit/library/generalized_gates/rv.py +9 -8
- qiskit/circuit/library/graph_state.py +10 -93
- qiskit/circuit/library/grover_operator.py +2 -270
- qiskit/circuit/library/hidden_linear_function.py +20 -83
- qiskit/circuit/library/iqp.py +20 -99
- qiskit/circuit/library/n_local/__init__.py +7 -19
- qiskit/circuit/library/n_local/efficient_su2.py +5 -118
- qiskit/circuit/library/n_local/evolved_operator_ansatz.py +0 -259
- qiskit/circuit/library/n_local/excitation_preserving.py +6 -130
- qiskit/circuit/library/n_local/n_local.py +5 -406
- qiskit/circuit/library/n_local/pauli_two_design.py +4 -106
- qiskit/circuit/library/n_local/qaoa_ansatz.py +1 -80
- qiskit/circuit/library/n_local/real_amplitudes.py +7 -127
- qiskit/circuit/library/n_local/two_local.py +7 -14
- qiskit/circuit/library/overlap.py +26 -91
- qiskit/circuit/library/pauli_evolution.py +15 -17
- qiskit/circuit/library/phase_estimation.py +4 -80
- qiskit/circuit/library/quantum_volume.py +20 -72
- qiskit/circuit/library/standard_gates/__init__.py +1 -20
- qiskit/circuit/library/standard_gates/dcx.py +1 -2
- qiskit/circuit/library/standard_gates/ecr.py +2 -2
- qiskit/circuit/library/standard_gates/h.py +3 -4
- qiskit/circuit/library/standard_gates/i.py +1 -2
- qiskit/circuit/library/standard_gates/iswap.py +2 -2
- qiskit/circuit/library/standard_gates/p.py +12 -20
- qiskit/circuit/library/standard_gates/r.py +1 -1
- qiskit/circuit/library/standard_gates/rx.py +3 -4
- qiskit/circuit/library/standard_gates/rxx.py +2 -2
- qiskit/circuit/library/standard_gates/ry.py +3 -4
- qiskit/circuit/library/standard_gates/ryy.py +2 -2
- qiskit/circuit/library/standard_gates/rz.py +12 -13
- qiskit/circuit/library/standard_gates/rzx.py +6 -6
- qiskit/circuit/library/standard_gates/rzz.py +1 -1
- qiskit/circuit/library/standard_gates/s.py +4 -4
- qiskit/circuit/library/standard_gates/swap.py +3 -3
- qiskit/circuit/library/standard_gates/sx.py +3 -4
- qiskit/circuit/library/standard_gates/t.py +2 -2
- qiskit/circuit/library/standard_gates/u.py +3 -11
- qiskit/circuit/library/standard_gates/u1.py +15 -65
- qiskit/circuit/library/standard_gates/u2.py +1 -4
- qiskit/circuit/library/standard_gates/u3.py +3 -31
- qiskit/circuit/library/standard_gates/x.py +5 -7
- qiskit/circuit/library/standard_gates/xx_minus_yy.py +2 -2
- qiskit/circuit/library/standard_gates/xx_plus_yy.py +2 -2
- qiskit/circuit/library/standard_gates/y.py +3 -4
- qiskit/circuit/library/standard_gates/z.py +3 -3
- qiskit/circuit/library/templates/clifford/clifford_2_1.py +8 -9
- qiskit/circuit/library/templates/clifford/clifford_2_2.py +9 -10
- qiskit/circuit/library/templates/clifford/clifford_2_3.py +7 -9
- qiskit/circuit/library/templates/clifford/clifford_2_4.py +8 -9
- qiskit/circuit/library/templates/clifford/clifford_3_1.py +8 -9
- qiskit/circuit/library/templates/clifford/clifford_4_1.py +9 -10
- qiskit/circuit/library/templates/clifford/clifford_4_2.py +9 -10
- qiskit/circuit/library/templates/clifford/clifford_4_3.py +9 -10
- qiskit/circuit/library/templates/clifford/clifford_4_4.py +9 -10
- qiskit/circuit/library/templates/clifford/clifford_5_1.py +9 -10
- qiskit/circuit/library/templates/clifford/clifford_6_1.py +9 -10
- qiskit/circuit/library/templates/clifford/clifford_6_2.py +9 -10
- qiskit/circuit/library/templates/clifford/clifford_6_3.py +9 -10
- qiskit/circuit/library/templates/clifford/clifford_6_4.py +8 -9
- qiskit/circuit/library/templates/clifford/clifford_6_5.py +9 -10
- qiskit/circuit/library/templates/clifford/clifford_8_1.py +9 -10
- qiskit/circuit/library/templates/clifford/clifford_8_2.py +9 -10
- qiskit/circuit/library/templates/clifford/clifford_8_3.py +9 -10
- qiskit/circuit/library/templates/nct/template_nct_2a_1.py +7 -9
- qiskit/circuit/library/templates/nct/template_nct_2a_2.py +8 -10
- qiskit/circuit/library/templates/nct/template_nct_2a_3.py +10 -12
- qiskit/circuit/library/templates/nct/template_nct_4a_1.py +14 -16
- qiskit/circuit/library/templates/nct/template_nct_4a_2.py +12 -14
- qiskit/circuit/library/templates/nct/template_nct_4a_3.py +10 -12
- qiskit/circuit/library/templates/nct/template_nct_4b_1.py +12 -14
- qiskit/circuit/library/templates/nct/template_nct_4b_2.py +10 -12
- qiskit/circuit/library/templates/nct/template_nct_5a_1.py +10 -12
- qiskit/circuit/library/templates/nct/template_nct_5a_2.py +10 -12
- qiskit/circuit/library/templates/nct/template_nct_5a_3.py +10 -12
- qiskit/circuit/library/templates/nct/template_nct_5a_4.py +9 -11
- qiskit/circuit/library/templates/nct/template_nct_6a_1.py +9 -11
- qiskit/circuit/library/templates/nct/template_nct_6a_2.py +10 -12
- qiskit/circuit/library/templates/nct/template_nct_6a_3.py +10 -12
- qiskit/circuit/library/templates/nct/template_nct_6a_4.py +10 -12
- qiskit/circuit/library/templates/nct/template_nct_6b_1.py +10 -12
- qiskit/circuit/library/templates/nct/template_nct_6b_2.py +10 -12
- qiskit/circuit/library/templates/nct/template_nct_6c_1.py +10 -12
- qiskit/circuit/library/templates/nct/template_nct_7a_1.py +11 -13
- qiskit/circuit/library/templates/nct/template_nct_7b_1.py +11 -13
- qiskit/circuit/library/templates/nct/template_nct_7c_1.py +11 -13
- qiskit/circuit/library/templates/nct/template_nct_7d_1.py +11 -13
- qiskit/circuit/library/templates/nct/template_nct_7e_1.py +11 -13
- qiskit/circuit/library/templates/nct/template_nct_9a_1.py +11 -13
- qiskit/circuit/library/templates/nct/template_nct_9c_1.py +9 -11
- qiskit/circuit/library/templates/nct/template_nct_9c_10.py +10 -12
- qiskit/circuit/library/templates/nct/template_nct_9c_11.py +10 -12
- qiskit/circuit/library/templates/nct/template_nct_9c_12.py +10 -12
- qiskit/circuit/library/templates/nct/template_nct_9c_2.py +10 -12
- qiskit/circuit/library/templates/nct/template_nct_9c_3.py +10 -12
- qiskit/circuit/library/templates/nct/template_nct_9c_4.py +10 -12
- qiskit/circuit/library/templates/nct/template_nct_9c_5.py +10 -12
- qiskit/circuit/library/templates/nct/template_nct_9c_6.py +10 -12
- qiskit/circuit/library/templates/nct/template_nct_9c_7.py +10 -12
- qiskit/circuit/library/templates/nct/template_nct_9c_8.py +10 -12
- qiskit/circuit/library/templates/nct/template_nct_9c_9.py +10 -12
- qiskit/circuit/library/templates/nct/template_nct_9d_1.py +9 -11
- qiskit/circuit/library/templates/nct/template_nct_9d_10.py +10 -12
- qiskit/circuit/library/templates/nct/template_nct_9d_2.py +10 -12
- qiskit/circuit/library/templates/nct/template_nct_9d_3.py +10 -12
- qiskit/circuit/library/templates/nct/template_nct_9d_4.py +10 -12
- qiskit/circuit/library/templates/nct/template_nct_9d_5.py +10 -12
- qiskit/circuit/library/templates/nct/template_nct_9d_6.py +10 -12
- qiskit/circuit/library/templates/nct/template_nct_9d_7.py +10 -12
- qiskit/circuit/library/templates/nct/template_nct_9d_8.py +10 -12
- qiskit/circuit/library/templates/nct/template_nct_9d_9.py +10 -12
- qiskit/circuit/library/templates/rzx/rzx_cy.py +10 -11
- qiskit/circuit/library/templates/rzx/rzx_xz.py +15 -16
- qiskit/circuit/library/templates/rzx/rzx_yz.py +10 -12
- qiskit/circuit/library/templates/rzx/rzx_zz1.py +20 -22
- qiskit/circuit/library/templates/rzx/rzx_zz2.py +15 -16
- qiskit/circuit/library/templates/rzx/rzx_zz3.py +15 -17
- qiskit/circuit/parameter.py +0 -4
- qiskit/circuit/parameterexpression.py +34 -167
- qiskit/circuit/quantumcircuit.py +126 -162
- qiskit/circuit/singleton.py +0 -2
- qiskit/circuit/store.py +0 -2
- qiskit/compiler/assembler.py +4 -17
- qiskit/compiler/scheduler.py +0 -2
- qiskit/compiler/sequencer.py +0 -2
- qiskit/compiler/transpiler.py +26 -81
- qiskit/converters/circuit_to_dag.py +2 -2
- qiskit/converters/circuit_to_dagdependency.py +1 -1
- qiskit/converters/circuit_to_dagdependency_v2.py +1 -1
- qiskit/converters/circuit_to_instruction.py +1 -1
- qiskit/converters/dag_to_circuit.py +5 -7
- qiskit/converters/dag_to_dagdependency.py +1 -1
- qiskit/converters/dag_to_dagdependency_v2.py +1 -1
- qiskit/converters/dagdependency_to_circuit.py +1 -5
- qiskit/converters/dagdependency_to_dag.py +1 -6
- qiskit/dagcircuit/collect_blocks.py +3 -3
- qiskit/dagcircuit/dagdependency.py +5 -18
- qiskit/dagcircuit/dagdependency_v2.py +1 -1
- qiskit/dagcircuit/dagnode.py +2 -2
- qiskit/passmanager/__init__.py +2 -2
- qiskit/primitives/backend_estimator.py +2 -5
- qiskit/primitives/backend_sampler_v2.py +18 -61
- qiskit/primitives/base/base_estimator.py +2 -2
- qiskit/primitives/containers/data_bin.py +1 -9
- qiskit/primitives/statevector_sampler.py +1 -1
- qiskit/primitives/utils.py +1 -1
- qiskit/providers/__init__.py +3 -3
- qiskit/providers/backend.py +1 -12
- qiskit/providers/backend_compat.py +3 -23
- qiskit/providers/basic_provider/basic_simulator.py +2 -12
- qiskit/providers/fake_provider/fake_pulse_backend.py +1 -6
- qiskit/providers/fake_provider/generic_backend_v2.py +30 -46
- qiskit/providers/models/pulsedefaults.py +0 -2
- qiskit/pulse/builder.py +18 -59
- qiskit/pulse/calibration_entries.py +1 -4
- qiskit/pulse/channels.py +0 -2
- qiskit/pulse/exceptions.py +0 -2
- qiskit/pulse/instruction_schedule_map.py +6 -21
- qiskit/pulse/instructions/acquire.py +0 -2
- qiskit/pulse/instructions/delay.py +0 -2
- qiskit/pulse/instructions/directives.py +0 -8
- qiskit/pulse/instructions/frequency.py +0 -3
- qiskit/pulse/instructions/instruction.py +0 -2
- qiskit/pulse/instructions/phase.py +0 -3
- qiskit/pulse/instructions/play.py +0 -2
- qiskit/pulse/instructions/reference.py +0 -2
- qiskit/pulse/instructions/snapshot.py +0 -2
- qiskit/pulse/library/pulse.py +0 -2
- qiskit/pulse/library/symbolic_pulses.py +0 -28
- qiskit/pulse/library/waveform.py +0 -2
- qiskit/pulse/macros.py +1 -1
- qiskit/pulse/schedule.py +13 -12
- qiskit/pulse/transforms/alignments.py +3 -5
- qiskit/pulse/transforms/dag.py +0 -7
- qiskit/qasm2/export.py +3 -5
- qiskit/qasm2/parse.py +2 -46
- qiskit/qasm3/__init__.py +0 -1
- qiskit/qasm3/ast.py +15 -123
- qiskit/qasm3/exporter.py +77 -103
- qiskit/qobj/converters/pulse_instruction.py +4 -6
- qiskit/qpy/__init__.py +0 -181
- qiskit/qpy/binary_io/circuits.py +5 -20
- qiskit/qpy/binary_io/schedules.py +4 -3
- qiskit/qpy/binary_io/value.py +13 -310
- qiskit/qpy/common.py +2 -46
- qiskit/qpy/formats.py +0 -7
- qiskit/qpy/interface.py +4 -40
- qiskit/quantum_info/__init__.py +0 -4
- qiskit/quantum_info/operators/channel/transformations.py +21 -28
- qiskit/quantum_info/operators/dihedral/dihedral.py +1 -1
- qiskit/quantum_info/operators/operator.py +8 -54
- qiskit/quantum_info/operators/symplectic/base_pauli.py +19 -11
- qiskit/quantum_info/operators/symplectic/clifford.py +1 -1
- qiskit/quantum_info/operators/symplectic/clifford_circuits.py +1 -1
- qiskit/quantum_info/operators/symplectic/pauli.py +0 -2
- qiskit/quantum_info/operators/symplectic/pauli_list.py +4 -4
- qiskit/quantum_info/operators/symplectic/sparse_pauli_op.py +2 -23
- qiskit/quantum_info/states/densitymatrix.py +5 -5
- qiskit/quantum_info/states/stabilizerstate.py +1 -1
- qiskit/quantum_info/states/statevector.py +6 -6
- qiskit/result/mitigation/base_readout_mitigator.py +1 -1
- qiskit/result/mitigation/correlated_readout_mitigator.py +1 -9
- qiskit/result/mitigation/local_readout_mitigator.py +1 -9
- qiskit/result/mitigation/utils.py +0 -57
- qiskit/scheduler/config.py +0 -2
- qiskit/scheduler/methods/basic.py +0 -3
- qiskit/scheduler/schedule_circuit.py +0 -2
- qiskit/scheduler/sequence.py +0 -2
- qiskit/synthesis/__init__.py +0 -25
- qiskit/synthesis/clifford/clifford_decompose_bm.py +2 -1
- qiskit/synthesis/clifford/clifford_decompose_greedy.py +2 -3
- qiskit/synthesis/clifford/clifford_decompose_layers.py +1 -2
- qiskit/synthesis/evolution/__init__.py +0 -1
- qiskit/synthesis/evolution/lie_trotter.py +42 -16
- qiskit/synthesis/evolution/product_formula.py +238 -165
- qiskit/synthesis/evolution/qdrift.py +29 -36
- qiskit/synthesis/evolution/suzuki_trotter.py +27 -87
- qiskit/synthesis/multi_controlled/__init__.py +0 -1
- qiskit/synthesis/qft/qft_decompose_full.py +1 -19
- qiskit/synthesis/qft/qft_decompose_lnn.py +1 -2
- qiskit/synthesis/stabilizer/stabilizer_decompose.py +1 -2
- qiskit/synthesis/two_qubit/two_qubit_decompose.py +63 -4
- qiskit/synthesis/two_qubit/weyl.py +97 -0
- qiskit/synthesis/unitary/qsd.py +5 -5
- qiskit/transpiler/__init__.py +14 -21
- qiskit/transpiler/basepasses.py +1 -1
- qiskit/transpiler/passes/__init__.py +0 -2
- qiskit/transpiler/passes/basis/basis_translator.py +565 -9
- qiskit/transpiler/passes/basis/decompose.py +12 -45
- qiskit/transpiler/passes/basis/unroll_3q_or_more.py +1 -1
- qiskit/transpiler/passes/basis/unroll_custom_definitions.py +1 -1
- qiskit/transpiler/passes/calibration/pulse_gate.py +2 -4
- qiskit/transpiler/passes/calibration/rx_builder.py +7 -11
- qiskit/transpiler/passes/calibration/rzx_builder.py +30 -46
- qiskit/transpiler/passes/layout/disjoint_utils.py +13 -15
- qiskit/transpiler/passes/layout/sabre_layout.py +2 -7
- qiskit/transpiler/passes/layout/sabre_pre_layout.py +0 -5
- qiskit/transpiler/passes/optimization/__init__.py +0 -1
- qiskit/transpiler/passes/optimization/collect_cliffords.py +3 -19
- qiskit/transpiler/passes/optimization/collect_linear_functions.py +1 -1
- qiskit/transpiler/passes/optimization/collect_multiqubit_blocks.py +2 -2
- qiskit/transpiler/passes/optimization/commutative_inverse_cancellation.py +1 -1
- qiskit/transpiler/passes/optimization/consolidate_blocks.py +131 -48
- qiskit/transpiler/passes/optimization/echo_rzx_weyl_decomposition.py +2 -4
- qiskit/transpiler/passes/optimization/elide_permutations.py +32 -9
- qiskit/transpiler/passes/optimization/inverse_cancellation.py +0 -2
- qiskit/transpiler/passes/optimization/optimize_1q_decomposition.py +11 -5
- qiskit/transpiler/passes/optimization/optimize_1q_gates.py +1 -1
- qiskit/transpiler/passes/optimization/optimize_swap_before_measure.py +1 -1
- qiskit/transpiler/passes/optimization/template_matching/backward_match.py +5 -5
- qiskit/transpiler/passes/optimization/template_matching/forward_match.py +4 -4
- qiskit/transpiler/passes/optimization/template_matching/template_substitution.py +2 -2
- qiskit/transpiler/passes/routing/commuting_2q_gate_routing/commuting_2q_gate_router.py +1 -1
- qiskit/transpiler/passes/routing/commuting_2q_gate_routing/swap_strategy.py +1 -1
- qiskit/transpiler/passes/routing/sabre_swap.py +3 -7
- qiskit/transpiler/passes/routing/star_prerouting.py +2 -2
- qiskit/transpiler/passes/scheduling/alap.py +1 -1
- qiskit/transpiler/passes/scheduling/alignments/align_measures.py +2 -2
- qiskit/transpiler/passes/scheduling/alignments/check_durations.py +1 -1
- qiskit/transpiler/passes/scheduling/alignments/pulse_gate_validation.py +0 -2
- qiskit/transpiler/passes/scheduling/alignments/reschedule.py +2 -2
- qiskit/transpiler/passes/scheduling/asap.py +1 -1
- qiskit/transpiler/passes/scheduling/base_scheduler.py +12 -14
- qiskit/transpiler/passes/scheduling/dynamical_decoupling.py +4 -9
- qiskit/transpiler/passes/scheduling/padding/base_padding.py +1 -1
- qiskit/transpiler/passes/scheduling/padding/dynamical_decoupling.py +5 -16
- qiskit/transpiler/passes/scheduling/padding/pad_delay.py +1 -4
- qiskit/transpiler/passes/scheduling/scheduling/base_scheduler.py +2 -6
- qiskit/transpiler/passes/scheduling/time_unit_conversion.py +4 -9
- qiskit/transpiler/passes/synthesis/high_level_synthesis.py +99 -262
- qiskit/transpiler/passes/synthesis/hls_plugins.py +7 -638
- qiskit/transpiler/passes/synthesis/qubit_tracker.py +132 -0
- qiskit/transpiler/passes/synthesis/solovay_kitaev_synthesis.py +3 -3
- qiskit/transpiler/passes/synthesis/unitary_synthesis.py +34 -55
- qiskit/transpiler/passes/utils/barrier_before_final_measurements.py +56 -2
- qiskit/transpiler/passes/utils/convert_conditions_to_if_ops.py +0 -5
- qiskit/transpiler/passes/utils/gate_direction.py +275 -12
- qiskit/transpiler/passes/utils/gates_basis.py +30 -7
- qiskit/transpiler/passes/utils/merge_adjacent_barriers.py +1 -2
- qiskit/transpiler/passmanager_config.py +4 -22
- qiskit/transpiler/preset_passmanagers/builtin_plugins.py +14 -40
- qiskit/transpiler/preset_passmanagers/common.py +3 -5
- qiskit/transpiler/preset_passmanagers/generate_preset_pass_manager.py +42 -125
- qiskit/transpiler/preset_passmanagers/plugin.py +1 -1
- qiskit/transpiler/target.py +16 -74
- qiskit/visualization/circuit/_utils.py +2 -2
- qiskit/visualization/circuit/circuit_visualization.py +2 -3
- qiskit/visualization/circuit/matplotlib.py +1 -1
- qiskit/visualization/dag_visualization.py +1 -1
- qiskit/visualization/pass_manager_visualization.py +14 -3
- qiskit/visualization/pulse_v2/interface.py +1 -3
- qiskit/visualization/timeline/core.py +2 -25
- qiskit/visualization/timeline/interface.py +0 -12
- {qiskit-1.3.0.dist-info → qiskit-1.3.0b1.dist-info}/METADATA +19 -20
- {qiskit-1.3.0.dist-info → qiskit-1.3.0b1.dist-info}/RECORD +347 -358
- {qiskit-1.3.0.dist-info → qiskit-1.3.0b1.dist-info}/WHEEL +1 -1
- {qiskit-1.3.0.dist-info → qiskit-1.3.0b1.dist-info}/entry_points.txt +0 -19
- qiskit/circuit/library/data_preparation/_zz_feature_map.py +0 -150
- qiskit/circuit/twirling.py +0 -145
- qiskit/synthesis/arithmetic/__init__.py +0 -16
- qiskit/synthesis/arithmetic/adders/__init__.py +0 -17
- qiskit/synthesis/arithmetic/adders/cdkm_ripple_carry_adder.py +0 -154
- qiskit/synthesis/arithmetic/adders/draper_qft_adder.py +0 -103
- qiskit/synthesis/arithmetic/adders/vbe_ripple_carry_adder.py +0 -161
- qiskit/synthesis/arithmetic/multipliers/__init__.py +0 -16
- qiskit/synthesis/arithmetic/multipliers/hrs_cumulative_multiplier.py +0 -102
- qiskit/synthesis/arithmetic/multipliers/rg_qft_multiplier.py +0 -99
- qiskit/synthesis/evolution/pauli_network.py +0 -80
- qiskit/synthesis/multi_controlled/mcmt_vchain.py +0 -52
- qiskit/transpiler/passes/optimization/remove_identity_equiv.py +0 -69
- qiskit/utils/deprecate_pulse.py +0 -119
- {qiskit-1.3.0.dist-info → qiskit-1.3.0b1.dist-info}/LICENSE.txt +0 -0
- {qiskit-1.3.0.dist-info → qiskit-1.3.0b1.dist-info}/top_level.txt +0 -0
qiskit/pulse/builder.py
CHANGED
@@ -137,6 +137,7 @@ In the example below we demonstrate some more features of the pulse builder:
|
|
137
137
|
from qiskit.compiler import schedule
|
138
138
|
|
139
139
|
from qiskit import pulse, QuantumCircuit
|
140
|
+
from qiskit.pulse import library
|
140
141
|
from qiskit.providers.fake_provider import FakeOpenPulse2Q
|
141
142
|
|
142
143
|
backend = FakeOpenPulse2Q()
|
@@ -146,7 +147,7 @@ In the example below we demonstrate some more features of the pulse builder:
|
|
146
147
|
|
147
148
|
with pulse.build(backend) as pulse_prog:
|
148
149
|
# Create a pulse.
|
149
|
-
gaussian_pulse =
|
150
|
+
gaussian_pulse = library.gaussian(10, 1.0, 2)
|
150
151
|
# Get the qubit's corresponding drive channel from the backend.
|
151
152
|
d0 = pulse.drive_channel(0)
|
152
153
|
d1 = pulse.drive_channel(1)
|
@@ -257,7 +258,7 @@ Methods to return the correct channels for the respective qubit indices.
|
|
257
258
|
d0 = pulse.drive_channel(0)
|
258
259
|
print(d0)
|
259
260
|
|
260
|
-
..
|
261
|
+
.. parsed-literal::
|
261
262
|
|
262
263
|
DriveChannel(0)
|
263
264
|
|
@@ -284,7 +285,7 @@ Pulse instructions are available within the builder interface. Here's an example
|
|
284
285
|
d0 = pulse.drive_channel(0)
|
285
286
|
a0 = pulse.acquire_channel(0)
|
286
287
|
|
287
|
-
pulse.play(pulse.Constant(10, 1.0), d0)
|
288
|
+
pulse.play(pulse.library.Constant(10, 1.0), d0)
|
288
289
|
pulse.delay(20, d0)
|
289
290
|
pulse.shift_phase(3.14/2, d0)
|
290
291
|
pulse.set_phase(3.14, d0)
|
@@ -292,8 +293,8 @@ Pulse instructions are available within the builder interface. Here's an example
|
|
292
293
|
pulse.set_frequency(5e9, d0)
|
293
294
|
|
294
295
|
with pulse.build() as temp_sched:
|
295
|
-
pulse.play(pulse.Gaussian(20, 1.0, 3.0), d0)
|
296
|
-
pulse.play(pulse.Gaussian(20, -1.0, 3.0), d0)
|
296
|
+
pulse.play(pulse.library.Gaussian(20, 1.0, 3.0), d0)
|
297
|
+
pulse.play(pulse.library.Gaussian(20, -1.0, 3.0), d0)
|
297
298
|
|
298
299
|
pulse.call(temp_sched)
|
299
300
|
pulse.acquire(30, a0, pulse.MemorySlot(0))
|
@@ -362,7 +363,7 @@ Macros help you add more complex functionality to your pulse program.
|
|
362
363
|
mem_slot = pulse.measure(0)
|
363
364
|
print(mem_slot)
|
364
365
|
|
365
|
-
..
|
366
|
+
.. parsed-literal::
|
366
367
|
|
367
368
|
MemorySlot(0)
|
368
369
|
|
@@ -396,7 +397,7 @@ how the program is built.
|
|
396
397
|
print('There are {} seconds in {} samples.'.format(
|
397
398
|
seconds, pulse.seconds_to_samples(1e-6)))
|
398
399
|
|
399
|
-
..
|
400
|
+
.. parsed-literal::
|
400
401
|
|
401
402
|
Number of qubits in backend: 1
|
402
403
|
There are 160 samples in 3.5555555555555554e-08 seconds
|
@@ -436,7 +437,6 @@ from qiskit.providers.backend import BackendV2
|
|
436
437
|
from qiskit.pulse.instructions import directives
|
437
438
|
from qiskit.pulse.schedule import Schedule, ScheduleBlock
|
438
439
|
from qiskit.pulse.transforms.alignments import AlignmentKind
|
439
|
-
from qiskit.utils.deprecate_pulse import deprecate_pulse_func
|
440
440
|
|
441
441
|
|
442
442
|
if sys.version_info >= (3, 12):
|
@@ -774,7 +774,6 @@ class _PulseBuilder:
|
|
774
774
|
return self.backend.configuration().dt
|
775
775
|
|
776
776
|
|
777
|
-
@deprecate_pulse_func
|
778
777
|
def build(
|
779
778
|
backend=None,
|
780
779
|
schedule: ScheduleBlock | None = None,
|
@@ -848,7 +847,6 @@ def _active_builder() -> _PulseBuilder:
|
|
848
847
|
) from ex
|
849
848
|
|
850
849
|
|
851
|
-
@deprecate_pulse_func
|
852
850
|
def active_backend():
|
853
851
|
"""Get the backend of the currently active builder context.
|
854
852
|
|
@@ -892,14 +890,13 @@ def append_instruction(instruction: instructions.Instruction):
|
|
892
890
|
|
893
891
|
print(pulse_prog.instructions)
|
894
892
|
|
895
|
-
..
|
893
|
+
.. parsed-literal::
|
896
894
|
|
897
895
|
((0, Delay(10, DriveChannel(0))),)
|
898
896
|
"""
|
899
897
|
_active_builder().append_instruction(instruction)
|
900
898
|
|
901
899
|
|
902
|
-
@deprecate_pulse_func
|
903
900
|
def num_qubits() -> int:
|
904
901
|
"""Return number of qubits in the currently active backend.
|
905
902
|
|
@@ -915,7 +912,7 @@ def num_qubits() -> int:
|
|
915
912
|
with pulse.build(backend):
|
916
913
|
print(pulse.num_qubits())
|
917
914
|
|
918
|
-
..
|
915
|
+
.. parsed-literal::
|
919
916
|
|
920
917
|
2
|
921
918
|
|
@@ -926,7 +923,6 @@ def num_qubits() -> int:
|
|
926
923
|
return active_backend().configuration().n_qubits
|
927
924
|
|
928
925
|
|
929
|
-
@deprecate_pulse_func
|
930
926
|
def seconds_to_samples(seconds: float | np.ndarray) -> int | np.ndarray:
|
931
927
|
"""Obtain the number of samples that will elapse in ``seconds`` on the
|
932
928
|
active backend.
|
@@ -945,7 +941,6 @@ def seconds_to_samples(seconds: float | np.ndarray) -> int | np.ndarray:
|
|
945
941
|
return int(seconds / dt)
|
946
942
|
|
947
943
|
|
948
|
-
@deprecate_pulse_func
|
949
944
|
def samples_to_seconds(samples: int | np.ndarray) -> float | np.ndarray:
|
950
945
|
"""Obtain the time in seconds that will elapse for the input number of
|
951
946
|
samples on the active backend.
|
@@ -959,7 +954,6 @@ def samples_to_seconds(samples: int | np.ndarray) -> float | np.ndarray:
|
|
959
954
|
return samples * _active_builder().get_dt()
|
960
955
|
|
961
956
|
|
962
|
-
@deprecate_pulse_func
|
963
957
|
def qubit_channels(qubit: int) -> set[chans.Channel]:
|
964
958
|
"""Returns the set of channels associated with a qubit.
|
965
959
|
|
@@ -975,7 +969,7 @@ def qubit_channels(qubit: int) -> set[chans.Channel]:
|
|
975
969
|
with pulse.build(backend):
|
976
970
|
print(pulse.qubit_channels(0))
|
977
971
|
|
978
|
-
..
|
972
|
+
.. parsed-literal::
|
979
973
|
|
980
974
|
{MeasureChannel(0), ControlChannel(0), DriveChannel(0), AcquireChannel(0), ControlChannel(1)}
|
981
975
|
|
@@ -1032,7 +1026,6 @@ def _qubits_to_channels(*channels_or_qubits: int | chans.Channel) -> set[chans.C
|
|
1032
1026
|
|
1033
1027
|
|
1034
1028
|
@contextmanager
|
1035
|
-
@deprecate_pulse_func
|
1036
1029
|
def align_left() -> Generator[None, None, None]:
|
1037
1030
|
"""Left alignment pulse scheduling context.
|
1038
1031
|
|
@@ -1071,7 +1064,6 @@ def align_left() -> Generator[None, None, None]:
|
|
1071
1064
|
|
1072
1065
|
|
1073
1066
|
@contextmanager
|
1074
|
-
@deprecate_pulse_func
|
1075
1067
|
def align_right() -> Generator[None, None, None]:
|
1076
1068
|
"""Right alignment pulse scheduling context.
|
1077
1069
|
|
@@ -1110,7 +1102,6 @@ def align_right() -> Generator[None, None, None]:
|
|
1110
1102
|
|
1111
1103
|
|
1112
1104
|
@contextmanager
|
1113
|
-
@deprecate_pulse_func
|
1114
1105
|
def align_sequential() -> Generator[None, None, None]:
|
1115
1106
|
"""Sequential alignment pulse scheduling context.
|
1116
1107
|
|
@@ -1149,7 +1140,6 @@ def align_sequential() -> Generator[None, None, None]:
|
|
1149
1140
|
|
1150
1141
|
|
1151
1142
|
@contextmanager
|
1152
|
-
@deprecate_pulse_func
|
1153
1143
|
def align_equispaced(duration: int | ParameterExpression) -> Generator[None, None, None]:
|
1154
1144
|
"""Equispaced alignment pulse scheduling context.
|
1155
1145
|
|
@@ -1202,7 +1192,6 @@ def align_equispaced(duration: int | ParameterExpression) -> Generator[None, Non
|
|
1202
1192
|
|
1203
1193
|
|
1204
1194
|
@contextmanager
|
1205
|
-
@deprecate_pulse_func
|
1206
1195
|
def align_func(
|
1207
1196
|
duration: int | ParameterExpression, func: Callable[[int], float]
|
1208
1197
|
) -> Generator[None, None, None]:
|
@@ -1291,7 +1280,6 @@ def general_transforms(alignment_context: AlignmentKind) -> Generator[None, None
|
|
1291
1280
|
|
1292
1281
|
|
1293
1282
|
@contextmanager
|
1294
|
-
@deprecate_pulse_func
|
1295
1283
|
def phase_offset(phase: float, *channels: chans.PulseChannel) -> Generator[None, None, None]:
|
1296
1284
|
"""Shift the phase of input channels on entry into context and undo on exit.
|
1297
1285
|
|
@@ -1328,7 +1316,6 @@ def phase_offset(phase: float, *channels: chans.PulseChannel) -> Generator[None,
|
|
1328
1316
|
|
1329
1317
|
|
1330
1318
|
@contextmanager
|
1331
|
-
@deprecate_pulse_func
|
1332
1319
|
def frequency_offset(
|
1333
1320
|
frequency: float, *channels: chans.PulseChannel, compensate_phase: bool = False
|
1334
1321
|
) -> Generator[None, None, None]:
|
@@ -1340,9 +1327,7 @@ def frequency_offset(
|
|
1340
1327
|
:emphasize-lines: 7, 16
|
1341
1328
|
|
1342
1329
|
from qiskit import pulse
|
1343
|
-
from qiskit.providers.fake_provider import FakeOpenPulse2Q
|
1344
1330
|
|
1345
|
-
backend = FakeOpenPulse2Q()
|
1346
1331
|
d0 = pulse.DriveChannel(0)
|
1347
1332
|
|
1348
1333
|
with pulse.build(backend) as pulse_prog:
|
@@ -1394,7 +1379,6 @@ def frequency_offset(
|
|
1394
1379
|
|
1395
1380
|
|
1396
1381
|
# Channels
|
1397
|
-
@deprecate_pulse_func
|
1398
1382
|
def drive_channel(qubit: int) -> chans.DriveChannel:
|
1399
1383
|
"""Return ``DriveChannel`` for ``qubit`` on the active builder backend.
|
1400
1384
|
|
@@ -1418,7 +1402,6 @@ def drive_channel(qubit: int) -> chans.DriveChannel:
|
|
1418
1402
|
return active_backend().configuration().drive(qubit)
|
1419
1403
|
|
1420
1404
|
|
1421
|
-
@deprecate_pulse_func
|
1422
1405
|
def measure_channel(qubit: int) -> chans.MeasureChannel:
|
1423
1406
|
"""Return ``MeasureChannel`` for ``qubit`` on the active builder backend.
|
1424
1407
|
|
@@ -1442,7 +1425,6 @@ def measure_channel(qubit: int) -> chans.MeasureChannel:
|
|
1442
1425
|
return active_backend().configuration().measure(qubit)
|
1443
1426
|
|
1444
1427
|
|
1445
|
-
@deprecate_pulse_func
|
1446
1428
|
def acquire_channel(qubit: int) -> chans.AcquireChannel:
|
1447
1429
|
"""Return ``AcquireChannel`` for ``qubit`` on the active builder backend.
|
1448
1430
|
|
@@ -1466,7 +1448,6 @@ def acquire_channel(qubit: int) -> chans.AcquireChannel:
|
|
1466
1448
|
return active_backend().configuration().acquire(qubit)
|
1467
1449
|
|
1468
1450
|
|
1469
|
-
@deprecate_pulse_func
|
1470
1451
|
def control_channels(*qubits: Iterable[int]) -> list[chans.ControlChannel]:
|
1471
1452
|
"""Return ``ControlChannel`` for ``qubit`` on the active builder backend.
|
1472
1453
|
|
@@ -1501,7 +1482,6 @@ def control_channels(*qubits: Iterable[int]) -> list[chans.ControlChannel]:
|
|
1501
1482
|
|
1502
1483
|
|
1503
1484
|
# Base Instructions
|
1504
|
-
@deprecate_pulse_func
|
1505
1485
|
def delay(duration: int, channel: chans.Channel, name: str | None = None):
|
1506
1486
|
"""Delay on a ``channel`` for a ``duration``.
|
1507
1487
|
|
@@ -1524,7 +1504,6 @@ def delay(duration: int, channel: chans.Channel, name: str | None = None):
|
|
1524
1504
|
append_instruction(instructions.Delay(duration, channel, name=name))
|
1525
1505
|
|
1526
1506
|
|
1527
|
-
@deprecate_pulse_func
|
1528
1507
|
def play(pulse: library.Pulse | np.ndarray, channel: chans.PulseChannel, name: str | None = None):
|
1529
1508
|
"""Play a ``pulse`` on a ``channel``.
|
1530
1509
|
|
@@ -1558,7 +1537,6 @@ class _MetaDataType(TypedDict, total=False):
|
|
1558
1537
|
name: str
|
1559
1538
|
|
1560
1539
|
|
1561
|
-
@deprecate_pulse_func
|
1562
1540
|
def acquire(
|
1563
1541
|
duration: int,
|
1564
1542
|
qubit_or_channel: int | chans.AcquireChannel,
|
@@ -1612,7 +1590,6 @@ def acquire(
|
|
1612
1590
|
raise exceptions.PulseError(f'Register of type: "{type(register)}" is not supported')
|
1613
1591
|
|
1614
1592
|
|
1615
|
-
@deprecate_pulse_func
|
1616
1593
|
def set_frequency(frequency: float, channel: chans.PulseChannel, name: str | None = None):
|
1617
1594
|
"""Set the ``frequency`` of a pulse ``channel``.
|
1618
1595
|
|
@@ -1635,7 +1612,6 @@ def set_frequency(frequency: float, channel: chans.PulseChannel, name: str | Non
|
|
1635
1612
|
append_instruction(instructions.SetFrequency(frequency, channel, name=name))
|
1636
1613
|
|
1637
1614
|
|
1638
|
-
@deprecate_pulse_func
|
1639
1615
|
def shift_frequency(frequency: float, channel: chans.PulseChannel, name: str | None = None):
|
1640
1616
|
"""Shift the ``frequency`` of a pulse ``channel``.
|
1641
1617
|
|
@@ -1659,7 +1635,6 @@ def shift_frequency(frequency: float, channel: chans.PulseChannel, name: str | N
|
|
1659
1635
|
append_instruction(instructions.ShiftFrequency(frequency, channel, name=name))
|
1660
1636
|
|
1661
1637
|
|
1662
|
-
@deprecate_pulse_func
|
1663
1638
|
def set_phase(phase: float, channel: chans.PulseChannel, name: str | None = None):
|
1664
1639
|
"""Set the ``phase`` of a pulse ``channel``.
|
1665
1640
|
|
@@ -1685,7 +1660,6 @@ def set_phase(phase: float, channel: chans.PulseChannel, name: str | None = None
|
|
1685
1660
|
append_instruction(instructions.SetPhase(phase, channel, name=name))
|
1686
1661
|
|
1687
1662
|
|
1688
|
-
@deprecate_pulse_func
|
1689
1663
|
def shift_phase(phase: float, channel: chans.PulseChannel, name: str | None = None):
|
1690
1664
|
"""Shift the ``phase`` of a pulse ``channel``.
|
1691
1665
|
|
@@ -1710,7 +1684,6 @@ def shift_phase(phase: float, channel: chans.PulseChannel, name: str | None = No
|
|
1710
1684
|
append_instruction(instructions.ShiftPhase(phase, channel, name))
|
1711
1685
|
|
1712
1686
|
|
1713
|
-
@deprecate_pulse_func
|
1714
1687
|
def snapshot(label: str, snapshot_type: str = "statevector"):
|
1715
1688
|
"""Simulator snapshot.
|
1716
1689
|
|
@@ -1730,7 +1703,6 @@ def snapshot(label: str, snapshot_type: str = "statevector"):
|
|
1730
1703
|
append_instruction(instructions.Snapshot(label, snapshot_type=snapshot_type))
|
1731
1704
|
|
1732
1705
|
|
1733
|
-
@deprecate_pulse_func
|
1734
1706
|
def call(
|
1735
1707
|
target: Schedule | ScheduleBlock | None,
|
1736
1708
|
name: str | None = None,
|
@@ -1770,7 +1742,7 @@ def call(
|
|
1770
1742
|
|
1771
1743
|
print(pulse_prog)
|
1772
1744
|
|
1773
|
-
..
|
1745
|
+
.. parsed-literal::
|
1774
1746
|
|
1775
1747
|
ScheduleBlock(
|
1776
1748
|
ScheduleBlock(
|
@@ -1791,7 +1763,7 @@ def call(
|
|
1791
1763
|
|
1792
1764
|
print(pulse_prog.references)
|
1793
1765
|
|
1794
|
-
..
|
1766
|
+
.. parsed-literal::
|
1795
1767
|
|
1796
1768
|
ReferenceManager:
|
1797
1769
|
- ('block0', '634b3b50bd684e26a673af1fbd2d6c81'): ScheduleBlock(Play(Gaussian(...
|
@@ -1811,7 +1783,7 @@ def call(
|
|
1811
1783
|
|
1812
1784
|
print(pulse_prog)
|
1813
1785
|
|
1814
|
-
..
|
1786
|
+
.. parsed-literal::
|
1815
1787
|
|
1816
1788
|
ScheduleBlock(
|
1817
1789
|
ScheduleBlock(
|
@@ -1851,7 +1823,7 @@ def call(
|
|
1851
1823
|
|
1852
1824
|
print(pulse_prog)
|
1853
1825
|
|
1854
|
-
..
|
1826
|
+
.. parsed-literal::
|
1855
1827
|
|
1856
1828
|
ScheduleBlock(
|
1857
1829
|
ScheduleBlock(
|
@@ -1875,7 +1847,7 @@ def call(
|
|
1875
1847
|
|
1876
1848
|
print(pulse_prog)
|
1877
1849
|
|
1878
|
-
..
|
1850
|
+
.. parsed-literal::
|
1879
1851
|
|
1880
1852
|
ScheduleBlock(
|
1881
1853
|
Call(
|
@@ -1925,7 +1897,6 @@ def call(
|
|
1925
1897
|
_active_builder().call_subroutine(target, name, value_dict, **kw_params)
|
1926
1898
|
|
1927
1899
|
|
1928
|
-
@deprecate_pulse_func
|
1929
1900
|
def reference(name: str, *extra_keys: str):
|
1930
1901
|
"""Refer to undefined subroutine by string keys.
|
1931
1902
|
|
@@ -1952,7 +1923,6 @@ def reference(name: str, *extra_keys: str):
|
|
1952
1923
|
|
1953
1924
|
|
1954
1925
|
# Directives
|
1955
|
-
@deprecate_pulse_func
|
1956
1926
|
def barrier(*channels_or_qubits: chans.Channel | int, name: str | None = None):
|
1957
1927
|
"""Barrier directive for a set of channels and qubits.
|
1958
1928
|
|
@@ -1999,23 +1969,19 @@ def barrier(*channels_or_qubits: chans.Channel | int, name: str | None = None):
|
|
1999
1969
|
.. code-block::
|
2000
1970
|
|
2001
1971
|
import math
|
2002
|
-
from qiskit import pulse
|
2003
|
-
from qiskit.providers.fake_provider import FakeOpenPulse2Q
|
2004
|
-
|
2005
|
-
backend = FakeOpenPulse2Q()
|
2006
1972
|
|
2007
1973
|
d0 = pulse.DriveChannel(0)
|
2008
1974
|
|
2009
1975
|
with pulse.build(backend) as pulse_prog:
|
2010
1976
|
with pulse.align_right():
|
2011
|
-
pulse.call(backend.defaults
|
1977
|
+
pulse.call(backend.defaults.instruction_schedule_map.get('x', (1,)))
|
2012
1978
|
# Barrier qubit 1 and d0.
|
2013
1979
|
pulse.barrier(1, d0)
|
2014
1980
|
# Due to barrier this will play before the gate on qubit 1.
|
2015
1981
|
pulse.play(pulse.Constant(10, 1.0), d0)
|
2016
1982
|
# This will end at the same time as the pulse above due to
|
2017
1983
|
# the barrier.
|
2018
|
-
pulse.call(backend.defaults
|
1984
|
+
pulse.call(backend.defaults.instruction_schedule_map.get('x', (1,)))
|
2019
1985
|
|
2020
1986
|
.. note:: Requires the active builder context to have a backend set if
|
2021
1987
|
qubits are barriered on.
|
@@ -2046,7 +2012,6 @@ def macro(func: Callable):
|
|
2046
2012
|
:include-source:
|
2047
2013
|
|
2048
2014
|
from qiskit import pulse
|
2049
|
-
from qiskit.providers.fake_provider import FakeOpenPulse2Q
|
2050
2015
|
|
2051
2016
|
@pulse.macro
|
2052
2017
|
def measure(qubit: int):
|
@@ -2056,9 +2021,6 @@ def macro(func: Callable):
|
|
2056
2021
|
|
2057
2022
|
return mem_slot
|
2058
2023
|
|
2059
|
-
|
2060
|
-
backend = FakeOpenPulse2Q()
|
2061
|
-
|
2062
2024
|
with pulse.build(backend=backend) as sched:
|
2063
2025
|
mem_slot = measure(0)
|
2064
2026
|
print(f"Qubit measured into {mem_slot}")
|
@@ -2090,7 +2052,6 @@ def macro(func: Callable):
|
|
2090
2052
|
return wrapper
|
2091
2053
|
|
2092
2054
|
|
2093
|
-
@deprecate_pulse_func
|
2094
2055
|
def measure(
|
2095
2056
|
qubits: list[int] | int,
|
2096
2057
|
registers: list[StorageLocation] | StorageLocation = None,
|
@@ -2179,7 +2140,6 @@ def measure(
|
|
2179
2140
|
return registers
|
2180
2141
|
|
2181
2142
|
|
2182
|
-
@deprecate_pulse_func
|
2183
2143
|
def measure_all() -> list[chans.MemorySlot]:
|
2184
2144
|
r"""Measure all qubits within the currently active builder context.
|
2185
2145
|
|
@@ -2223,7 +2183,6 @@ def measure_all() -> list[chans.MemorySlot]:
|
|
2223
2183
|
return registers
|
2224
2184
|
|
2225
2185
|
|
2226
|
-
@deprecate_pulse_func
|
2227
2186
|
def delay_qubits(duration: int, *qubits: int):
|
2228
2187
|
r"""Insert delays on all the :class:`channels.Channel`\s that correspond
|
2229
2188
|
to the input ``qubits`` at the same time.
|
@@ -321,10 +321,7 @@ class PulseQobjDef(ScheduleDef):
|
|
321
321
|
|
322
322
|
def _build_schedule(self):
|
323
323
|
"""Build pulse schedule from cmd-def sequence."""
|
324
|
-
|
325
|
-
warnings.simplefilter(action="ignore", category=DeprecationWarning)
|
326
|
-
# `Schedule` is being deprecated in Qiskit 1.3
|
327
|
-
schedule = Schedule(name=self._name)
|
324
|
+
schedule = Schedule(name=self._name)
|
328
325
|
try:
|
329
326
|
for qobj_inst in self._source:
|
330
327
|
for qiskit_inst in self._converter._get_sequences(qobj_inst):
|
qiskit/pulse/channels.py
CHANGED
@@ -58,7 +58,6 @@ import numpy as np
|
|
58
58
|
from qiskit.circuit import Parameter
|
59
59
|
from qiskit.circuit.parameterexpression import ParameterExpression
|
60
60
|
from qiskit.pulse.exceptions import PulseError
|
61
|
-
from qiskit.utils.deprecate_pulse import deprecate_pulse_func
|
62
61
|
|
63
62
|
|
64
63
|
class Channel(metaclass=ABCMeta):
|
@@ -91,7 +90,6 @@ class Channel(metaclass=ABCMeta):
|
|
91
90
|
|
92
91
|
return super().__new__(cls)
|
93
92
|
|
94
|
-
@deprecate_pulse_func
|
95
93
|
def __init__(self, index: int):
|
96
94
|
"""Channel class.
|
97
95
|
|
qiskit/pulse/exceptions.py
CHANGED
@@ -12,13 +12,11 @@
|
|
12
12
|
|
13
13
|
"""Exception for errors raised by the pulse module."""
|
14
14
|
from qiskit.exceptions import QiskitError
|
15
|
-
from qiskit.utils.deprecate_pulse import deprecate_pulse_func
|
16
15
|
|
17
16
|
|
18
17
|
class PulseError(QiskitError):
|
19
18
|
"""Errors raised by the pulse module."""
|
20
19
|
|
21
|
-
@deprecate_pulse_func
|
22
20
|
def __init__(self, *message):
|
23
21
|
"""Set the error message."""
|
24
22
|
super().__init__(*message)
|
@@ -46,7 +46,6 @@ from qiskit.pulse.calibration_entries import (
|
|
46
46
|
)
|
47
47
|
from qiskit.pulse.exceptions import PulseError
|
48
48
|
from qiskit.pulse.schedule import Schedule, ScheduleBlock
|
49
|
-
from qiskit.utils.deprecate_pulse import deprecate_pulse_func
|
50
49
|
|
51
50
|
|
52
51
|
class InstructionScheduleMap:
|
@@ -63,7 +62,6 @@ class InstructionScheduleMap:
|
|
63
62
|
These can usually be seen as gate calibrations.
|
64
63
|
"""
|
65
64
|
|
66
|
-
@deprecate_pulse_func
|
67
65
|
def __init__(self):
|
68
66
|
"""Initialize a circuit instruction to schedule mapper instance."""
|
69
67
|
# The processed and reformatted circuit instruction definitions
|
@@ -169,22 +167,12 @@ class InstructionScheduleMap:
|
|
169
167
|
"""
|
170
168
|
instruction = _get_instruction_string(instruction)
|
171
169
|
if not self.has(instruction, _to_tuple(qubits)):
|
172
|
-
|
173
|
-
|
174
|
-
|
175
|
-
|
176
|
-
warnings.filterwarnings(
|
177
|
-
"ignore",
|
178
|
-
category=DeprecationWarning,
|
179
|
-
message=".*The entire Qiskit Pulse package*",
|
180
|
-
module="qiskit",
|
170
|
+
if instruction in self._map:
|
171
|
+
raise PulseError(
|
172
|
+
f"Operation '{instruction}' exists, but is only defined for qubits "
|
173
|
+
f"{self.qubits_with_instruction(instruction)}."
|
181
174
|
)
|
182
|
-
|
183
|
-
raise PulseError(
|
184
|
-
f"Operation '{instruction}' exists, but is only defined for qubits "
|
185
|
-
f"{self.qubits_with_instruction(instruction)}."
|
186
|
-
)
|
187
|
-
raise PulseError(f"Operation '{instruction}' is not defined for this system.")
|
175
|
+
raise PulseError(f"Operation '{instruction}' is not defined for this system.")
|
188
176
|
|
189
177
|
def get(
|
190
178
|
self,
|
@@ -366,10 +354,7 @@ class InstructionScheduleMap:
|
|
366
354
|
instruction = _get_instruction_string(instruction)
|
367
355
|
|
368
356
|
self.assert_has(instruction, qubits)
|
369
|
-
|
370
|
-
warnings.simplefilter(action="ignore", category=DeprecationWarning)
|
371
|
-
# Prevent `get_signature` from emitting pulse package deprecation warnings
|
372
|
-
signature = self._map[instruction][_to_tuple(qubits)].get_signature()
|
357
|
+
signature = self._map[instruction][_to_tuple(qubits)].get_signature()
|
373
358
|
return tuple(signature.parameters.keys())
|
374
359
|
|
375
360
|
def __str__(self):
|
@@ -19,7 +19,6 @@ from qiskit.pulse.channels import MemorySlot, RegisterSlot, AcquireChannel
|
|
19
19
|
from qiskit.pulse.configuration import Kernel, Discriminator
|
20
20
|
from qiskit.pulse.exceptions import PulseError
|
21
21
|
from qiskit.pulse.instructions.instruction import Instruction
|
22
|
-
from qiskit.utils.deprecate_pulse import deprecate_pulse_func
|
23
22
|
|
24
23
|
|
25
24
|
class Acquire(Instruction):
|
@@ -39,7 +38,6 @@ class Acquire(Instruction):
|
|
39
38
|
* the discriminator to classify kerneled IQ points.
|
40
39
|
"""
|
41
40
|
|
42
|
-
@deprecate_pulse_func
|
43
41
|
def __init__(
|
44
42
|
self,
|
45
43
|
duration: int | ParameterExpression,
|
@@ -16,7 +16,6 @@ from __future__ import annotations
|
|
16
16
|
from qiskit.circuit import ParameterExpression
|
17
17
|
from qiskit.pulse.channels import Channel
|
18
18
|
from qiskit.pulse.instructions.instruction import Instruction
|
19
|
-
from qiskit.utils.deprecate_pulse import deprecate_pulse_func
|
20
19
|
|
21
20
|
|
22
21
|
class Delay(Instruction):
|
@@ -35,7 +34,6 @@ class Delay(Instruction):
|
|
35
34
|
The ``channel`` will output no signal from time=0 up until time=10.
|
36
35
|
"""
|
37
36
|
|
38
|
-
@deprecate_pulse_func
|
39
37
|
def __init__(
|
40
38
|
self,
|
41
39
|
duration: int | ParameterExpression,
|
@@ -18,7 +18,6 @@ from abc import ABC
|
|
18
18
|
from qiskit.pulse import channels as chans
|
19
19
|
from qiskit.pulse.instructions import instruction
|
20
20
|
from qiskit.pulse.exceptions import PulseError
|
21
|
-
from qiskit.utils.deprecate_pulse import deprecate_pulse_func
|
22
21
|
|
23
22
|
|
24
23
|
class Directive(instruction.Instruction, ABC):
|
@@ -36,7 +35,6 @@ class Directive(instruction.Instruction, ABC):
|
|
36
35
|
class RelativeBarrier(Directive):
|
37
36
|
"""Pulse ``RelativeBarrier`` directive."""
|
38
37
|
|
39
|
-
@deprecate_pulse_func
|
40
38
|
def __init__(self, *channels: chans.Channel, name: str | None = None):
|
41
39
|
"""Create a relative barrier directive.
|
42
40
|
|
@@ -74,8 +72,6 @@ class TimeBlockade(Directive):
|
|
74
72
|
|
75
73
|
.. code-block:: python
|
76
74
|
|
77
|
-
from qiskit.pulse import Schedule, Play, Constant, DriveChannel
|
78
|
-
|
79
75
|
schedule = Schedule()
|
80
76
|
schedule.insert(120, Play(Constant(10, 0.1), DriveChannel(0)))
|
81
77
|
|
@@ -83,9 +79,6 @@ class TimeBlockade(Directive):
|
|
83
79
|
|
84
80
|
.. code-block:: python
|
85
81
|
|
86
|
-
from qiskit.pulse import ScheduleBlock, Play, Constant, DriveChannel
|
87
|
-
from qiskit.pulse.instructions import TimeBlockade
|
88
|
-
|
89
82
|
block = ScheduleBlock()
|
90
83
|
block.append(TimeBlockade(120, DriveChannel(0)))
|
91
84
|
block.append(Play(Constant(10, 0.1), DriveChannel(0)))
|
@@ -109,7 +102,6 @@ class TimeBlockade(Directive):
|
|
109
102
|
user can insert another instruction without timing overlap.
|
110
103
|
"""
|
111
104
|
|
112
|
-
@deprecate_pulse_func
|
113
105
|
def __init__(
|
114
106
|
self,
|
115
107
|
duration: int,
|
@@ -19,7 +19,6 @@ from qiskit.circuit.parameterexpression import ParameterExpression
|
|
19
19
|
from qiskit.pulse.channels import PulseChannel
|
20
20
|
from qiskit.pulse.instructions.instruction import Instruction
|
21
21
|
from qiskit.pulse.exceptions import PulseError
|
22
|
-
from qiskit.utils.deprecate_pulse import deprecate_pulse_func
|
23
22
|
|
24
23
|
|
25
24
|
class SetFrequency(Instruction):
|
@@ -36,7 +35,6 @@ class SetFrequency(Instruction):
|
|
36
35
|
The duration of SetFrequency is 0.
|
37
36
|
"""
|
38
37
|
|
39
|
-
@deprecate_pulse_func
|
40
38
|
def __init__(
|
41
39
|
self,
|
42
40
|
frequency: Union[float, ParameterExpression],
|
@@ -87,7 +85,6 @@ class SetFrequency(Instruction):
|
|
87
85
|
class ShiftFrequency(Instruction):
|
88
86
|
"""Shift the channel frequency away from the current frequency."""
|
89
87
|
|
90
|
-
@deprecate_pulse_func
|
91
88
|
def __init__(
|
92
89
|
self,
|
93
90
|
frequency: Union[float, ParameterExpression],
|
@@ -28,7 +28,6 @@ from collections.abc import Iterable
|
|
28
28
|
from qiskit.circuit import Parameter, ParameterExpression
|
29
29
|
from qiskit.pulse.channels import Channel
|
30
30
|
from qiskit.pulse.exceptions import PulseError
|
31
|
-
from qiskit.utils.deprecate_pulse import deprecate_pulse_func
|
32
31
|
|
33
32
|
|
34
33
|
# pylint: disable=bad-docstring-quotes
|
@@ -39,7 +38,6 @@ class Instruction(ABC):
|
|
39
38
|
channels.
|
40
39
|
"""
|
41
40
|
|
42
|
-
@deprecate_pulse_func
|
43
41
|
def __init__(
|
44
42
|
self,
|
45
43
|
operands: tuple,
|
@@ -21,7 +21,6 @@ from qiskit.circuit import ParameterExpression
|
|
21
21
|
from qiskit.pulse.channels import PulseChannel
|
22
22
|
from qiskit.pulse.instructions.instruction import Instruction
|
23
23
|
from qiskit.pulse.exceptions import PulseError
|
24
|
-
from qiskit.utils.deprecate_pulse import deprecate_pulse_func
|
25
24
|
|
26
25
|
|
27
26
|
class ShiftPhase(Instruction):
|
@@ -41,7 +40,6 @@ class ShiftPhase(Instruction):
|
|
41
40
|
by using a ShiftPhase to update the frame tracking the qubit state.
|
42
41
|
"""
|
43
42
|
|
44
|
-
@deprecate_pulse_func
|
45
43
|
def __init__(
|
46
44
|
self,
|
47
45
|
phase: Union[complex, ParameterExpression],
|
@@ -103,7 +101,6 @@ class SetPhase(Instruction):
|
|
103
101
|
The ``SetPhase`` instruction sets :math:`\phi` to the instruction's ``phase`` operand.
|
104
102
|
"""
|
105
103
|
|
106
|
-
@deprecate_pulse_func
|
107
104
|
def __init__(
|
108
105
|
self,
|
109
106
|
phase: Union[complex, ParameterExpression],
|
@@ -21,7 +21,6 @@ from qiskit.pulse.channels import PulseChannel
|
|
21
21
|
from qiskit.pulse.exceptions import PulseError
|
22
22
|
from qiskit.pulse.instructions.instruction import Instruction
|
23
23
|
from qiskit.pulse.library.pulse import Pulse
|
24
|
-
from qiskit.utils.deprecate_pulse import deprecate_pulse_func
|
25
24
|
|
26
25
|
|
27
26
|
class Play(Instruction):
|
@@ -33,7 +32,6 @@ class Play(Instruction):
|
|
33
32
|
cycle time, dt, of the backend.
|
34
33
|
"""
|
35
34
|
|
36
|
-
@deprecate_pulse_func
|
37
35
|
def __init__(self, pulse: Pulse, channel: PulseChannel, name: str | None = None):
|
38
36
|
"""Create a new pulse instruction.
|
39
37
|
|