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
@@ -17,7 +17,6 @@ from qiskit.circuit.parameterexpression import ParameterExpression
|
|
17
17
|
from qiskit.pulse.channels import Channel
|
18
18
|
from qiskit.pulse.exceptions import PulseError, UnassignedReferenceError
|
19
19
|
from qiskit.pulse.instructions import instruction
|
20
|
-
from qiskit.utils.deprecate_pulse import deprecate_pulse_func
|
21
20
|
|
22
21
|
|
23
22
|
class Reference(instruction.Instruction):
|
@@ -41,7 +40,6 @@ class Reference(instruction.Instruction):
|
|
41
40
|
# Delimiter for tuple keys.
|
42
41
|
key_delimiter = ","
|
43
42
|
|
44
|
-
@deprecate_pulse_func
|
45
43
|
def __init__(self, name: str, *extra_keys: str):
|
46
44
|
"""Create new reference.
|
47
45
|
|
@@ -18,13 +18,11 @@ from typing import Optional, Tuple
|
|
18
18
|
from qiskit.pulse.channels import SnapshotChannel
|
19
19
|
from qiskit.pulse.exceptions import PulseError
|
20
20
|
from qiskit.pulse.instructions.instruction import Instruction
|
21
|
-
from qiskit.utils.deprecate_pulse import deprecate_pulse_func
|
22
21
|
|
23
22
|
|
24
23
|
class Snapshot(Instruction):
|
25
24
|
"""An instruction targeted for simulators, to capture a moment in the simulation."""
|
26
25
|
|
27
|
-
@deprecate_pulse_func
|
28
26
|
def __init__(self, label: str, snapshot_type: str = "statevector", name: Optional[str] = None):
|
29
27
|
"""Create new snapshot.
|
30
28
|
|
qiskit/pulse/library/pulse.py
CHANGED
@@ -18,7 +18,6 @@ from __future__ import annotations
|
|
18
18
|
import typing
|
19
19
|
from abc import ABC, abstractmethod
|
20
20
|
from typing import Any
|
21
|
-
from qiskit.utils.deprecate_pulse import deprecate_pulse_func
|
22
21
|
|
23
22
|
from qiskit.circuit.parameterexpression import ParameterExpression
|
24
23
|
|
@@ -37,7 +36,6 @@ class Pulse(ABC):
|
|
37
36
|
limit_amplitude = True
|
38
37
|
|
39
38
|
@abstractmethod
|
40
|
-
@deprecate_pulse_func
|
41
39
|
def __init__(
|
42
40
|
self,
|
43
41
|
duration: int | ParameterExpression,
|
@@ -31,7 +31,6 @@ from qiskit.circuit.parameterexpression import ParameterExpression, ParameterVal
|
|
31
31
|
from qiskit.pulse.exceptions import PulseError
|
32
32
|
from qiskit.pulse.library.pulse import Pulse
|
33
33
|
from qiskit.pulse.library.waveform import Waveform
|
34
|
-
from qiskit.utils.deprecate_pulse import deprecate_pulse_func
|
35
34
|
|
36
35
|
|
37
36
|
def _lifted_gaussian(
|
@@ -404,7 +403,6 @@ class SymbolicPulse(Pulse):
|
|
404
403
|
_constraints_lam = LambdifiedExpression("_constraints")
|
405
404
|
_valid_amp_conditions_lam = LambdifiedExpression("_valid_amp_conditions")
|
406
405
|
|
407
|
-
@deprecate_pulse_func
|
408
406
|
def __init__(
|
409
407
|
self,
|
410
408
|
pulse_type: str,
|
@@ -782,10 +780,6 @@ class Gaussian(metaclass=_PulseType):
|
|
782
780
|
valid_amp_conditions=valid_amp_conditions_expr,
|
783
781
|
)
|
784
782
|
|
785
|
-
@deprecate_pulse_func
|
786
|
-
def __init__(self):
|
787
|
-
pass
|
788
|
-
|
789
783
|
|
790
784
|
class GaussianSquare(metaclass=_PulseType):
|
791
785
|
"""A square pulse with a Gaussian shaped risefall on both sides lifted such that
|
@@ -914,12 +908,7 @@ class GaussianSquare(metaclass=_PulseType):
|
|
914
908
|
valid_amp_conditions=valid_amp_conditions_expr,
|
915
909
|
)
|
916
910
|
|
917
|
-
@deprecate_pulse_func
|
918
|
-
def __init__(self):
|
919
|
-
pass
|
920
|
-
|
921
911
|
|
922
|
-
@deprecate_pulse_func
|
923
912
|
def GaussianSquareDrag(
|
924
913
|
duration: int | ParameterExpression,
|
925
914
|
amp: float | ParameterExpression,
|
@@ -1072,7 +1061,6 @@ def GaussianSquareDrag(
|
|
1072
1061
|
)
|
1073
1062
|
|
1074
1063
|
|
1075
|
-
@deprecate_pulse_func
|
1076
1064
|
def gaussian_square_echo(
|
1077
1065
|
duration: int | ParameterValueType,
|
1078
1066
|
amp: float | ParameterExpression,
|
@@ -1276,7 +1264,6 @@ def gaussian_square_echo(
|
|
1276
1264
|
)
|
1277
1265
|
|
1278
1266
|
|
1279
|
-
@deprecate_pulse_func
|
1280
1267
|
def GaussianDeriv(
|
1281
1268
|
duration: int | ParameterValueType,
|
1282
1269
|
amp: float | ParameterExpression,
|
@@ -1437,10 +1424,6 @@ class Drag(metaclass=_PulseType):
|
|
1437
1424
|
valid_amp_conditions=valid_amp_conditions_expr,
|
1438
1425
|
)
|
1439
1426
|
|
1440
|
-
@deprecate_pulse_func
|
1441
|
-
def __init__(self):
|
1442
|
-
pass
|
1443
|
-
|
1444
1427
|
|
1445
1428
|
class Constant(metaclass=_PulseType):
|
1446
1429
|
"""A simple constant pulse, with an amplitude value and a duration:
|
@@ -1502,12 +1485,7 @@ class Constant(metaclass=_PulseType):
|
|
1502
1485
|
valid_amp_conditions=valid_amp_conditions_expr,
|
1503
1486
|
)
|
1504
1487
|
|
1505
|
-
@deprecate_pulse_func
|
1506
|
-
def __init__(self):
|
1507
|
-
pass
|
1508
|
-
|
1509
1488
|
|
1510
|
-
@deprecate_pulse_func
|
1511
1489
|
def Sin(
|
1512
1490
|
duration: int | ParameterExpression,
|
1513
1491
|
amp: float | ParameterExpression,
|
@@ -1572,7 +1550,6 @@ def Sin(
|
|
1572
1550
|
)
|
1573
1551
|
|
1574
1552
|
|
1575
|
-
@deprecate_pulse_func
|
1576
1553
|
def Cos(
|
1577
1554
|
duration: int | ParameterExpression,
|
1578
1555
|
amp: float | ParameterExpression,
|
@@ -1637,7 +1614,6 @@ def Cos(
|
|
1637
1614
|
)
|
1638
1615
|
|
1639
1616
|
|
1640
|
-
@deprecate_pulse_func
|
1641
1617
|
def Sawtooth(
|
1642
1618
|
duration: int | ParameterExpression,
|
1643
1619
|
amp: float | ParameterExpression,
|
@@ -1706,7 +1682,6 @@ def Sawtooth(
|
|
1706
1682
|
)
|
1707
1683
|
|
1708
1684
|
|
1709
|
-
@deprecate_pulse_func
|
1710
1685
|
def Triangle(
|
1711
1686
|
duration: int | ParameterExpression,
|
1712
1687
|
amp: float | ParameterExpression,
|
@@ -1775,7 +1750,6 @@ def Triangle(
|
|
1775
1750
|
)
|
1776
1751
|
|
1777
1752
|
|
1778
|
-
@deprecate_pulse_func
|
1779
1753
|
def Square(
|
1780
1754
|
duration: int | ParameterValueType,
|
1781
1755
|
amp: float | ParameterExpression,
|
@@ -1847,7 +1821,6 @@ def Square(
|
|
1847
1821
|
)
|
1848
1822
|
|
1849
1823
|
|
1850
|
-
@deprecate_pulse_func
|
1851
1824
|
def Sech(
|
1852
1825
|
duration: int | ParameterValueType,
|
1853
1826
|
amp: float | ParameterExpression,
|
@@ -1924,7 +1897,6 @@ def Sech(
|
|
1924
1897
|
)
|
1925
1898
|
|
1926
1899
|
|
1927
|
-
@deprecate_pulse_func
|
1928
1900
|
def SechDeriv(
|
1929
1901
|
duration: int | ParameterValueType,
|
1930
1902
|
amp: float | ParameterExpression,
|
qiskit/pulse/library/waveform.py
CHANGED
@@ -18,7 +18,6 @@ import numpy as np
|
|
18
18
|
|
19
19
|
from qiskit.pulse.exceptions import PulseError
|
20
20
|
from qiskit.pulse.library.pulse import Pulse
|
21
|
-
from qiskit.utils.deprecate_pulse import deprecate_pulse_func
|
22
21
|
|
23
22
|
|
24
23
|
class Waveform(Pulse):
|
@@ -26,7 +25,6 @@ class Waveform(Pulse):
|
|
26
25
|
duration of the backend cycle-time, dt.
|
27
26
|
"""
|
28
27
|
|
29
|
-
@deprecate_pulse_func
|
30
28
|
def __init__(
|
31
29
|
self,
|
32
30
|
samples: np.ndarray | list[complex],
|
qiskit/pulse/macros.py
CHANGED
@@ -194,7 +194,7 @@ def _measure_v2(
|
|
194
194
|
for measure_qubit in meas_group:
|
195
195
|
try:
|
196
196
|
if measure_qubit in qubits:
|
197
|
-
default_sched = target.
|
197
|
+
default_sched = target.get_calibration(measure_name, (measure_qubit,)).filter(
|
198
198
|
channels=[
|
199
199
|
channels.MeasureChannel(measure_qubit),
|
200
200
|
channels.AcquireChannel(measure_qubit),
|
qiskit/pulse/schedule.py
CHANGED
@@ -54,7 +54,6 @@ from qiskit.pulse.utils import instruction_duration_validation
|
|
54
54
|
from qiskit.pulse.reference_manager import ReferenceManager
|
55
55
|
from qiskit.utils.multiprocessing import is_main_process
|
56
56
|
from qiskit.utils import deprecate_arg
|
57
|
-
from qiskit.utils.deprecate_pulse import deprecate_pulse_func
|
58
57
|
|
59
58
|
|
60
59
|
Interval = Tuple[int, int]
|
@@ -82,7 +81,6 @@ class Schedule:
|
|
82
81
|
|
83
82
|
.. code-block:: python
|
84
83
|
|
85
|
-
from qiskit.pulse import Schedule, Gaussian, DriveChannel, Play
|
86
84
|
sched = Schedule()
|
87
85
|
sched += Play(Gaussian(160, 0.1, 40), DriveChannel(0))
|
88
86
|
|
@@ -122,7 +120,6 @@ class Schedule:
|
|
122
120
|
# Counter to count instance number.
|
123
121
|
instances_counter = itertools.count()
|
124
122
|
|
125
|
-
@deprecate_pulse_func
|
126
123
|
def __init__(
|
127
124
|
self,
|
128
125
|
*schedules: "ScheduleComponent" | tuple[int, "ScheduleComponent"],
|
@@ -656,6 +653,8 @@ class Schedule:
|
|
656
653
|
|
657
654
|
sched += pulse.Schedule(old)
|
658
655
|
|
656
|
+
sched = sched.flatten()
|
657
|
+
|
659
658
|
sched = sched.replace(old, new)
|
660
659
|
|
661
660
|
assert sched == pulse.Schedule(new)
|
@@ -900,11 +899,14 @@ class ScheduleBlock:
|
|
900
899
|
pulse.reference("grand_child")
|
901
900
|
pulse.play(pulse.Constant(200, amp2), pulse.DriveChannel(0))
|
902
901
|
|
903
|
-
|
904
|
-
|
902
|
+
Now you assign the inner pulse program to this reference.
|
903
|
+
|
904
|
+
.. code-block::
|
905
|
+
|
906
|
+
sched_outer.assign_references({("grand_child", ): sched_inner})
|
905
907
|
print(sched_outer.parameters)
|
906
908
|
|
907
|
-
..
|
909
|
+
.. parsed-literal::
|
908
910
|
|
909
911
|
{Parameter(amp1), Parameter(amp2)}
|
910
912
|
|
@@ -918,7 +920,7 @@ class ScheduleBlock:
|
|
918
920
|
|
919
921
|
print(sched_outer.references)
|
920
922
|
|
921
|
-
..
|
923
|
+
.. parsed-literal::
|
922
924
|
|
923
925
|
ReferenceManager:
|
924
926
|
- ('grand_child',): ScheduleBlock(Play(Constant(duration=100, amp=amp1,...
|
@@ -937,7 +939,7 @@ class ScheduleBlock:
|
|
937
939
|
|
938
940
|
print(main.parameters)
|
939
941
|
|
940
|
-
..
|
942
|
+
.. parsed-literal::
|
941
943
|
|
942
944
|
{Parameter(amp1), Parameter(amp2), Parameter(amp3}
|
943
945
|
|
@@ -950,7 +952,7 @@ class ScheduleBlock:
|
|
950
952
|
|
951
953
|
print(main.references)
|
952
954
|
|
953
|
-
..
|
955
|
+
.. parsed-literal::
|
954
956
|
|
955
957
|
ReferenceManager:
|
956
958
|
- ('child',): ScheduleBlock(ScheduleBlock(ScheduleBlock(Play(Con...
|
@@ -984,7 +986,6 @@ class ScheduleBlock:
|
|
984
986
|
# Counter to count instance number.
|
985
987
|
instances_counter = itertools.count()
|
986
988
|
|
987
|
-
@deprecate_pulse_func
|
988
989
|
def __init__(
|
989
990
|
self, name: str | None = None, metadata: dict | None = None, alignment_context=None
|
990
991
|
):
|
@@ -1458,7 +1459,7 @@ class ScheduleBlock:
|
|
1458
1459
|
|
1459
1460
|
from qiskit import pulse
|
1460
1461
|
|
1461
|
-
with pulse.build() as
|
1462
|
+
with pulse.build() as subroutine:
|
1462
1463
|
pulse.delay(10, pulse.DriveChannel(0))
|
1463
1464
|
|
1464
1465
|
with pulse.build() as sub_prog:
|
@@ -1489,7 +1490,7 @@ class ScheduleBlock:
|
|
1489
1490
|
.. code-block:: python
|
1490
1491
|
|
1491
1492
|
main_prog.assign_references({("B", ): sub_prog}, inplace=True)
|
1492
|
-
main_prog.references[("B", )].assign_references({
|
1493
|
+
main_prog.references[("B", )].assign_references({"A": nested_prog}, inplace=True)
|
1493
1494
|
|
1494
1495
|
Here :attr:`.references` returns a dict-like object, and you can
|
1495
1496
|
mutably update the nested reference of the particular subroutine.
|
@@ -53,7 +53,7 @@ class AlignmentKind(abc.ABC):
|
|
53
53
|
When the context has two pulses in different channels,
|
54
54
|
a sequential context subtype intends to return following scheduling outcome.
|
55
55
|
|
56
|
-
..
|
56
|
+
.. parsed-literal::
|
57
57
|
|
58
58
|
┌────────┐
|
59
59
|
D0: ┤ pulse1 ├────────────
|
@@ -63,7 +63,7 @@ class AlignmentKind(abc.ABC):
|
|
63
63
|
|
64
64
|
On the other hand, parallel context with ``is_sequential=False`` returns
|
65
65
|
|
66
|
-
..
|
66
|
+
.. parsed-literal::
|
67
67
|
|
68
68
|
┌────────┐
|
69
69
|
D0: ┤ pulse1 ├
|
@@ -338,10 +338,8 @@ class AlignFunc(AlignmentKind):
|
|
338
338
|
|
339
339
|
.. code-block:: python
|
340
340
|
|
341
|
-
import numpy as np
|
342
|
-
|
343
341
|
def udd10_pos(j):
|
344
|
-
|
342
|
+
return np.sin(np.pi*j/(2*10 + 2))**2
|
345
343
|
|
346
344
|
.. note::
|
347
345
|
|
qiskit/pulse/transforms/dag.py
CHANGED
@@ -32,11 +32,6 @@ def block_to_dag(block: ScheduleBlock) -> rx.PyDAG:
|
|
32
32
|
|
33
33
|
.. code-block:: python
|
34
34
|
|
35
|
-
from qiskit import pulse
|
36
|
-
|
37
|
-
my_gaussian0 = pulse.Gaussian(100, 0.5, 20)
|
38
|
-
my_gaussian1 = pulse.Gaussian(100, 0.3, 10)
|
39
|
-
|
40
35
|
with pulse.build() as sched1:
|
41
36
|
with pulse.align_left():
|
42
37
|
pulse.play(my_gaussian0, pulse.DriveChannel(0))
|
@@ -56,8 +51,6 @@ def block_to_dag(block: ScheduleBlock) -> rx.PyDAG:
|
|
56
51
|
|
57
52
|
.. code-block:: python
|
58
53
|
|
59
|
-
from qiskit import pulse
|
60
|
-
|
61
54
|
with pulse.build() as sched:
|
62
55
|
with pulse.align_left():
|
63
56
|
pulse.shift_phase(1.57, pulse.DriveChannel(1))
|
qiskit/qasm2/export.py
CHANGED
@@ -246,14 +246,12 @@ def _instruction_call_site(operation):
|
|
246
246
|
if operation.params:
|
247
247
|
params = ",".join([pi_check(i, output="qasm", eps=1e-12) for i in operation.params])
|
248
248
|
qasm2_call = f"{qasm2_call}({params})"
|
249
|
-
if operation.
|
250
|
-
if not isinstance(operation.
|
249
|
+
if operation.condition is not None:
|
250
|
+
if not isinstance(operation.condition[0], ClassicalRegister):
|
251
251
|
raise QASM2ExportError(
|
252
252
|
"OpenQASM 2 can only condition on registers, but got '{operation.condition[0]}'"
|
253
253
|
)
|
254
|
-
qasm2_call = (
|
255
|
-
f"if({operation._condition[0].name}=={operation._condition[1]:d}) " + qasm2_call
|
256
|
-
)
|
254
|
+
qasm2_call = f"if({operation.condition[0].name}=={operation.condition[1]:d}) " + qasm2_call
|
257
255
|
return qasm2_call
|
258
256
|
|
259
257
|
|
qiskit/qasm2/parse.py
CHANGED
@@ -11,7 +11,7 @@
|
|
11
11
|
# that they have been altered from the originals.
|
12
12
|
|
13
13
|
"""Python-space bytecode interpreter for the output of the main Rust parser logic."""
|
14
|
-
|
14
|
+
|
15
15
|
import dataclasses
|
16
16
|
import math
|
17
17
|
from typing import Iterable, Callable
|
@@ -89,35 +89,6 @@ class CustomInstruction:
|
|
89
89
|
There is a final ``builtin`` field. This is optional, and if set true will cause the
|
90
90
|
instruction to be defined and available within the parsing, even if there is no definition in
|
91
91
|
any included OpenQASM 2 file.
|
92
|
-
|
93
|
-
Examples:
|
94
|
-
|
95
|
-
Instruct the importer to use Qiskit's :class:`.ECRGate` and :class:`.RZXGate` objects to
|
96
|
-
interpret ``gate`` statements that are known to have been created from those same objects
|
97
|
-
during OpenQASM 2 export::
|
98
|
-
|
99
|
-
from qiskit import qasm2
|
100
|
-
from qiskit.circuit import QuantumCircuit, library
|
101
|
-
|
102
|
-
qc = QuantumCircuit(2)
|
103
|
-
qc.ecr(0, 1)
|
104
|
-
qc.rzx(0.3, 0, 1)
|
105
|
-
qc.rzx(0.7, 1, 0)
|
106
|
-
qc.rzx(1.5, 0, 1)
|
107
|
-
qc.ecr(1, 0)
|
108
|
-
|
109
|
-
# This output string includes `gate ecr q0, q1 { ... }` and `gate rzx(p) q0, q1 { ... }`
|
110
|
-
# statements, since `ecr` and `rzx` are neither built-in gates nor in ``qelib1.inc``.
|
111
|
-
dumped = qasm2.dumps(qc)
|
112
|
-
|
113
|
-
# Tell the importer how to interpret the `gate` statements, which we know are safe
|
114
|
-
# because we controlled the input OpenQASM 2 source.
|
115
|
-
custom = [
|
116
|
-
qasm2.CustomInstruction("ecr", 0, 2, library.ECRGate),
|
117
|
-
qasm2.CustomInstruction("rzx", 1, 2, library.RZXGate),
|
118
|
-
]
|
119
|
-
|
120
|
-
loaded = qasm2.loads(dumped, custom_instructions=custom)
|
121
92
|
"""
|
122
93
|
|
123
94
|
name: str
|
@@ -255,11 +226,6 @@ def from_bytecode(bytecode, custom_instructions: Iterable[CustomInstruction]):
|
|
255
226
|
CircuitInstruction(gates[gate_id](*parameters), [qubits[q] for q in op_qubits])
|
256
227
|
)
|
257
228
|
elif opcode == OpCode.ConditionedGate:
|
258
|
-
warnings.warn(
|
259
|
-
"Conditioned gates in qasm2 will be loaded as an IfElseOp starting in Qiskit 2.0",
|
260
|
-
FutureWarning,
|
261
|
-
stacklevel=3,
|
262
|
-
)
|
263
229
|
gate_id, parameters, op_qubits, creg, value = op.operands
|
264
230
|
gate = gates[gate_id](*parameters).c_if(qc.cregs[creg], value)
|
265
231
|
qc._append(CircuitInstruction(gate, [qubits[q] for q in op_qubits]))
|
@@ -267,22 +233,12 @@ def from_bytecode(bytecode, custom_instructions: Iterable[CustomInstruction]):
|
|
267
233
|
qubit, clbit = op.operands
|
268
234
|
qc._append(CircuitInstruction(Measure(), (qubits[qubit],), (clbits[clbit],)))
|
269
235
|
elif opcode == OpCode.ConditionedMeasure:
|
270
|
-
warnings.warn(
|
271
|
-
"Conditioned measurements in qasm2 will be loaded as an IfElseOp starting in Qiskit 2.0",
|
272
|
-
FutureWarning,
|
273
|
-
stacklevel=3,
|
274
|
-
)
|
275
236
|
qubit, clbit, creg, value = op.operands
|
276
237
|
measure = Measure().c_if(qc.cregs[creg], value)
|
277
238
|
qc._append(CircuitInstruction(measure, (qubits[qubit],), (clbits[clbit],)))
|
278
239
|
elif opcode == OpCode.Reset:
|
279
240
|
qc._append(CircuitInstruction(Reset(), (qubits[op.operands[0]],)))
|
280
241
|
elif opcode == OpCode.ConditionedReset:
|
281
|
-
warnings.warn(
|
282
|
-
"Conditioned resets in qasm2 will be loaded as an IfElseOp starting in Qiskit 2.0",
|
283
|
-
FutureWarning,
|
284
|
-
stacklevel=3,
|
285
|
-
)
|
286
242
|
qubit, creg, value = op.operands
|
287
243
|
reset = Reset().c_if(qc.cregs[creg], value)
|
288
244
|
qc._append(CircuitInstruction(reset, (qubits[qubit],)))
|
@@ -371,7 +327,7 @@ class _DefinedGate(Gate):
|
|
371
327
|
# to pickle ourselves, we just eagerly create the definition and pickle that.
|
372
328
|
|
373
329
|
def __getstate__(self):
|
374
|
-
return (self.name, self.num_qubits, self.params, self.definition, self.
|
330
|
+
return (self.name, self.num_qubits, self.params, self.definition, self.condition)
|
375
331
|
|
376
332
|
def __setstate__(self, state):
|
377
333
|
name, num_qubits, params, definition, condition = state
|
qiskit/qasm3/__init__.py
CHANGED
@@ -209,7 +209,6 @@ custom Python constructors to use for particular gates. These custom constructo
|
|
209
209
|
using the :class:`CustomGate` object:
|
210
210
|
|
211
211
|
.. autoclass:: CustomGate
|
212
|
-
:members:
|
213
212
|
|
214
213
|
In ``custom_gates`` is not given, Qiskit will attempt to use its standard-library gate objects for
|
215
214
|
the gates defined in OpenQASM 3 standard library file ``stdgates.inc``. This sequence of gates is
|