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/primitives/utils.py
CHANGED
@@ -82,7 +82,7 @@ def init_observable(observable: BaseOperator | str) -> SparsePauliOp:
|
|
82
82
|
since="1.2",
|
83
83
|
additional_msg="Use ``QuantumCircuit.layout`` and ``SparsePauliOp.apply_layout`` "
|
84
84
|
+ "to adjust an operator for a layout. Otherwise, use ``mthree.utils.final_measurement_mapping``. "
|
85
|
-
+ "See
|
85
|
+
+ "See https://qiskit-extensions.github.io/mthree/apidocs/utils.html for details.",
|
86
86
|
)
|
87
87
|
def final_measurement_mapping(circuit: QuantumCircuit) -> dict[int, int]:
|
88
88
|
"""Return the final measurement mapping for the circuit.
|
qiskit/providers/__init__.py
CHANGED
@@ -160,7 +160,7 @@ steps for writing a provider are:
|
|
160
160
|
interacting with a running job.
|
161
161
|
|
162
162
|
For a simple example of a provider, see the
|
163
|
-
`qiskit-aqt-provider <https://github.com/
|
163
|
+
`qiskit-aqt-provider <https://github.com/Qiskit-Partners/qiskit-aqt-provider>`__
|
164
164
|
|
165
165
|
Provider
|
166
166
|
--------
|
@@ -307,7 +307,7 @@ Custom Basis Gates
|
|
307
307
|
|
308
308
|
def _define(self):
|
309
309
|
qc = QuantumCircuit(1)
|
310
|
-
|
310
|
+
q.ry(np.pi / 2, 0)
|
311
311
|
self.definition = qc
|
312
312
|
|
313
313
|
The key thing to ensure is that for any custom gates in your Backend's basis set
|
@@ -664,7 +664,7 @@ that abstract away the mechanics of getting the best result efficiently, to
|
|
664
664
|
concentrate on higher level applications using these outputs.
|
665
665
|
|
666
666
|
For example, if your backends were well suited to leverage
|
667
|
-
`mthree <https://github.com/Qiskit/
|
667
|
+
`mthree <https://github.com/Qiskit-Partners/mthree/>`__ measurement
|
668
668
|
mitigation to improve the quality of the results, you could implement a
|
669
669
|
provider-specific :class:`~.Sampler` implementation that leverages the
|
670
670
|
``M3Mitigation`` class internally to run the circuits and return
|
qiskit/providers/backend.py
CHANGED
@@ -24,7 +24,6 @@ from qiskit.providers.provider import Provider
|
|
24
24
|
from qiskit.providers.models.backendstatus import BackendStatus
|
25
25
|
from qiskit.circuit.gate import Instruction
|
26
26
|
from qiskit.utils import deprecate_func
|
27
|
-
from qiskit.utils.deprecate_pulse import deprecate_pulse_dependency
|
28
27
|
|
29
28
|
|
30
29
|
class Backend:
|
@@ -486,16 +485,10 @@ class BackendV2(Backend, ABC):
|
|
486
485
|
raise NotImplementedError
|
487
486
|
|
488
487
|
@property
|
489
|
-
@deprecate_pulse_dependency(is_property=True)
|
490
488
|
def instruction_schedule_map(self):
|
491
489
|
"""Return the :class:`~qiskit.pulse.InstructionScheduleMap` for the
|
492
490
|
instructions defined in this backend's target."""
|
493
|
-
return self.
|
494
|
-
|
495
|
-
@property
|
496
|
-
def _instruction_schedule_map(self):
|
497
|
-
"""An alternative private path to be used internally to avoid pulse deprecation warnings."""
|
498
|
-
return self.target._get_instruction_schedule_map()
|
491
|
+
return self.target.instruction_schedule_map()
|
499
492
|
|
500
493
|
def qubit_properties(
|
501
494
|
self, qubit: Union[int, List[int]]
|
@@ -531,7 +524,6 @@ class BackendV2(Backend, ABC):
|
|
531
524
|
return self.target.qubit_properties[qubit]
|
532
525
|
return [self.target.qubit_properties[q] for q in qubit]
|
533
526
|
|
534
|
-
@deprecate_pulse_dependency
|
535
527
|
def drive_channel(self, qubit: int):
|
536
528
|
"""Return the drive channel for the given qubit.
|
537
529
|
|
@@ -547,7 +539,6 @@ class BackendV2(Backend, ABC):
|
|
547
539
|
"""
|
548
540
|
raise NotImplementedError
|
549
541
|
|
550
|
-
@deprecate_pulse_dependency
|
551
542
|
def measure_channel(self, qubit: int):
|
552
543
|
"""Return the measure stimulus channel for the given qubit.
|
553
544
|
|
@@ -563,7 +554,6 @@ class BackendV2(Backend, ABC):
|
|
563
554
|
"""
|
564
555
|
raise NotImplementedError
|
565
556
|
|
566
|
-
@deprecate_pulse_dependency
|
567
557
|
def acquire_channel(self, qubit: int):
|
568
558
|
"""Return the acquisition channel for the given qubit.
|
569
559
|
|
@@ -579,7 +569,6 @@ class BackendV2(Backend, ABC):
|
|
579
569
|
"""
|
580
570
|
raise NotImplementedError
|
581
571
|
|
582
|
-
@deprecate_pulse_dependency
|
583
572
|
def control_channel(self, qubits: Iterable[int]):
|
584
573
|
"""Return the secondary drive channel for the given qubit
|
585
574
|
|
@@ -25,13 +25,10 @@ from qiskit.circuit.controlflow import CONTROL_FLOW_OP_NAMES
|
|
25
25
|
from qiskit.providers.models.pulsedefaults import PulseDefaults
|
26
26
|
from qiskit.providers.options import Options
|
27
27
|
from qiskit.providers.exceptions import BackendPropertyError
|
28
|
-
from qiskit.utils.deprecate_pulse import deprecate_pulse_arg, deprecate_pulse_dependency
|
29
|
-
|
30
28
|
|
31
29
|
logger = logging.getLogger(__name__)
|
32
30
|
|
33
31
|
|
34
|
-
@deprecate_pulse_arg("defaults")
|
35
32
|
def convert_to_target(
|
36
33
|
configuration: BackendConfiguration,
|
37
34
|
properties: BackendProperties = None,
|
@@ -49,7 +46,7 @@ def convert_to_target(
|
|
49
46
|
Args:
|
50
47
|
configuration: Backend configuration as ``BackendConfiguration``
|
51
48
|
properties: Backend property dictionary or ``BackendProperties``
|
52
|
-
defaults:
|
49
|
+
defaults: Backend pulse defaults dictionary or ``PulseDefaults``
|
53
50
|
custom_name_mapping: A name mapping must be supplied for the operation
|
54
51
|
not included in Qiskit Standard Gate name mapping, otherwise the operation
|
55
52
|
will be dropped in the resulting ``Target`` object.
|
@@ -59,20 +56,7 @@ def convert_to_target(
|
|
59
56
|
Returns:
|
60
57
|
A ``Target`` instance.
|
61
58
|
"""
|
62
|
-
return _convert_to_target(
|
63
|
-
configuration, properties, defaults, custom_name_mapping, add_delay, filter_faulty
|
64
|
-
)
|
65
|
-
|
66
59
|
|
67
|
-
def _convert_to_target(
|
68
|
-
configuration: BackendConfiguration,
|
69
|
-
properties: BackendProperties = None,
|
70
|
-
defaults: PulseDefaults = None,
|
71
|
-
custom_name_mapping: Optional[Dict[str, Any]] = None,
|
72
|
-
add_delay: bool = True,
|
73
|
-
filter_faulty: bool = True,
|
74
|
-
):
|
75
|
-
"""An alternative private path to avoid pulse deprecations"""
|
76
60
|
# importing packages where they are needed, to avoid cyclic-import.
|
77
61
|
# pylint: disable=cyclic-import
|
78
62
|
from qiskit.transpiler.target import (
|
@@ -281,7 +265,7 @@ def _convert_to_target(
|
|
281
265
|
|
282
266
|
entry = inst_sched_map._get_calibration_entry(name, qubits)
|
283
267
|
try:
|
284
|
-
prop_name_map[name][qubits].
|
268
|
+
prop_name_map[name][qubits].calibration = entry
|
285
269
|
except AttributeError:
|
286
270
|
# if instruction properties are "None", add entry
|
287
271
|
prop_name_map[name].update({qubits: InstructionProperties(None, None, entry)})
|
@@ -426,7 +410,7 @@ class BackendV2Converter(BackendV2):
|
|
426
410
|
:rtype: Target
|
427
411
|
"""
|
428
412
|
if self._target is None:
|
429
|
-
self._target =
|
413
|
+
self._target = convert_to_target(
|
430
414
|
configuration=self._config,
|
431
415
|
properties=self._properties,
|
432
416
|
defaults=self._defaults,
|
@@ -452,19 +436,15 @@ class BackendV2Converter(BackendV2):
|
|
452
436
|
def meas_map(self) -> List[List[int]]:
|
453
437
|
return self._config.meas_map
|
454
438
|
|
455
|
-
@deprecate_pulse_dependency
|
456
439
|
def drive_channel(self, qubit: int):
|
457
440
|
return self._config.drive(qubit)
|
458
441
|
|
459
|
-
@deprecate_pulse_dependency
|
460
442
|
def measure_channel(self, qubit: int):
|
461
443
|
return self._config.measure(qubit)
|
462
444
|
|
463
|
-
@deprecate_pulse_dependency
|
464
445
|
def acquire_channel(self, qubit: int):
|
465
446
|
return self._config.acquire(qubit)
|
466
447
|
|
467
|
-
@deprecate_pulse_dependency
|
468
448
|
def control_channel(self, qubits: Iterable[int]):
|
469
449
|
return self._config.control(qubits)
|
470
450
|
|
@@ -48,7 +48,6 @@ from qiskit.providers.options import Options
|
|
48
48
|
from qiskit.qobj import QasmQobj, QasmQobjConfig, QasmQobjExperiment
|
49
49
|
from qiskit.result import Result
|
50
50
|
from qiskit.transpiler import Target
|
51
|
-
from qiskit.utils.deprecation import deprecate_func
|
52
51
|
|
53
52
|
from .basic_provider_job import BasicProviderJob
|
54
53
|
from .basic_provider_tools import single_gate_matrix
|
@@ -213,14 +212,6 @@ class BasicSimulator(BackendV2):
|
|
213
212
|
)
|
214
213
|
return target
|
215
214
|
|
216
|
-
@deprecate_func(
|
217
|
-
since="1.3.0",
|
218
|
-
removal_timeline="in Qiskit 2.0.0",
|
219
|
-
additional_msg="The `BackendConfiguration` class is part of the deprecated `BackendV1` "
|
220
|
-
"workflow, and no longer necessary for `BackendV2`. The individual configuration elements "
|
221
|
-
"can be retrieved directly from the backend or from the contained `Target` instance "
|
222
|
-
"(`backend.target)`).",
|
223
|
-
)
|
224
215
|
def configuration(self) -> BackendConfiguration:
|
225
216
|
"""Return the simulator backend configuration.
|
226
217
|
|
@@ -257,7 +248,7 @@ class BasicSimulator(BackendV2):
|
|
257
248
|
backend_name=self.name,
|
258
249
|
backend_version=self.backend_version,
|
259
250
|
n_qubits=self.num_qubits,
|
260
|
-
basis_gates=
|
251
|
+
basis_gates=self.target.operation_names,
|
261
252
|
gates=gates,
|
262
253
|
local=True,
|
263
254
|
simulator=True,
|
@@ -541,8 +532,7 @@ class BasicSimulator(BackendV2):
|
|
541
532
|
"initial_statevector": np.array([1, 0, 0, 1j]) / math.sqrt(2),
|
542
533
|
}
|
543
534
|
"""
|
544
|
-
# TODO: replace assemble with new run flow
|
545
|
-
# see removal note on `def _assemble`, L192 of qiskit/compiler/assembler.py
|
535
|
+
# TODO: replace assemble with new run flow
|
546
536
|
from qiskit.compiler.assembler import _assemble
|
547
537
|
|
548
538
|
out_options = {}
|
@@ -14,8 +14,6 @@
|
|
14
14
|
Fake backend abstract class for mock backends supporting OpenPulse.
|
15
15
|
"""
|
16
16
|
|
17
|
-
import warnings
|
18
|
-
|
19
17
|
from qiskit.exceptions import QiskitError
|
20
18
|
from qiskit.providers.models.backendconfiguration import PulseBackendConfiguration
|
21
19
|
from qiskit.providers.models.pulsedefaults import PulseDefaults
|
@@ -32,10 +30,7 @@ class FakePulseBackend(FakeQasmBackend):
|
|
32
30
|
def defaults(self):
|
33
31
|
"""Returns a snapshot of device defaults"""
|
34
32
|
if not self._defaults:
|
35
|
-
|
36
|
-
warnings.simplefilter(action="ignore", category=DeprecationWarning)
|
37
|
-
# Filter deprecation warnings emitted from Qiskit Pulse
|
38
|
-
self._set_defaults_from_json()
|
33
|
+
self._set_defaults_from_json()
|
39
34
|
return self._defaults
|
40
35
|
|
41
36
|
def _set_defaults_from_json(self):
|
@@ -42,7 +42,6 @@ from qiskit.qobj.converters.pulse_instruction import QobjToInstructionConverter
|
|
42
42
|
from qiskit.pulse.calibration_entries import PulseQobjDef
|
43
43
|
from qiskit.providers.models.pulsedefaults import MeasurementKernel, Discriminator
|
44
44
|
from qiskit.qobj.pulse_qobj import QobjMeasurementOption
|
45
|
-
from qiskit.utils.deprecate_pulse import deprecate_pulse_dependency, deprecate_pulse_arg
|
46
45
|
|
47
46
|
# Noise default values/ranges for duration and error of supported
|
48
47
|
# instructions. There are two possible formats:
|
@@ -519,8 +518,6 @@ class GenericBackendV2(BackendV2):
|
|
519
518
|
transpilation.
|
520
519
|
"""
|
521
520
|
|
522
|
-
@deprecate_pulse_arg("pulse_channels")
|
523
|
-
@deprecate_pulse_arg("calibrate_instructions")
|
524
521
|
def __init__(
|
525
522
|
self,
|
526
523
|
num_qubits: int,
|
@@ -563,7 +560,7 @@ class GenericBackendV2(BackendV2):
|
|
563
560
|
control_flow: Flag to enable control flow directives on the target
|
564
561
|
(defaults to False).
|
565
562
|
|
566
|
-
calibrate_instructions:
|
563
|
+
calibrate_instructions: Instruction calibration settings, this argument
|
567
564
|
supports both boolean and :class:`.InstructionScheduleMap` as
|
568
565
|
input types, and is ``None`` by default:
|
569
566
|
|
@@ -581,7 +578,7 @@ class GenericBackendV2(BackendV2):
|
|
581
578
|
|
582
579
|
seed: Optional seed for generation of default values.
|
583
580
|
|
584
|
-
pulse_channels:
|
581
|
+
pulse_channels: If true, sets default pulse channel information on the backend.
|
585
582
|
|
586
583
|
noise_info: If true, associates gates and qubits with default noise information.
|
587
584
|
"""
|
@@ -651,17 +648,14 @@ class GenericBackendV2(BackendV2):
|
|
651
648
|
return self._target.concurrent_measurements
|
652
649
|
|
653
650
|
def _build_default_channels(self) -> None:
|
654
|
-
|
655
|
-
|
656
|
-
|
657
|
-
|
658
|
-
|
659
|
-
|
660
|
-
|
661
|
-
|
662
|
-
(edge): [pulse.ControlChannel(i)] for i, edge in enumerate(self._coupling_map)
|
663
|
-
},
|
664
|
-
}
|
651
|
+
channels_map = {
|
652
|
+
"acquire": {(i,): [pulse.AcquireChannel(i)] for i in range(self.num_qubits)},
|
653
|
+
"drive": {(i,): [pulse.DriveChannel(i)] for i in range(self.num_qubits)},
|
654
|
+
"measure": {(i,): [pulse.MeasureChannel(i)] for i in range(self.num_qubits)},
|
655
|
+
"control": {
|
656
|
+
(edge): [pulse.ControlChannel(i)] for i, edge in enumerate(self._coupling_map)
|
657
|
+
},
|
658
|
+
}
|
665
659
|
setattr(self, "channels_map", channels_map)
|
666
660
|
|
667
661
|
def _get_noise_defaults(self, name: str, num_qubits: int) -> tuple:
|
@@ -873,33 +867,27 @@ class GenericBackendV2(BackendV2):
|
|
873
867
|
duration, error = (
|
874
868
|
noise_params
|
875
869
|
if len(noise_params) == 2
|
876
|
-
else (
|
877
|
-
self._rng.uniform(*noise_params[:2]),
|
878
|
-
self._rng.uniform(*noise_params[2:]),
|
879
|
-
)
|
870
|
+
else (self._rng.uniform(*noise_params[:2]), self._rng.uniform(*noise_params[2:]))
|
880
871
|
)
|
881
|
-
|
882
|
-
|
883
|
-
|
884
|
-
|
885
|
-
|
886
|
-
|
887
|
-
|
888
|
-
|
889
|
-
|
890
|
-
|
891
|
-
|
892
|
-
|
893
|
-
|
894
|
-
|
895
|
-
|
896
|
-
|
897
|
-
|
898
|
-
|
899
|
-
|
900
|
-
# Clamp rounded duration to be between min and max values
|
901
|
-
duration = max(noise_params[0], min(rounded_duration, noise_params[1]))
|
902
|
-
props.update({qargs: InstructionProperties(duration, error, calibration_entry)})
|
872
|
+
if (
|
873
|
+
calibration_inst_map is not None
|
874
|
+
and instruction.name not in ["reset", "delay"]
|
875
|
+
and qarg in calibration_inst_map.qubits_with_instruction(instruction.name)
|
876
|
+
):
|
877
|
+
# Do NOT call .get method. This parses Qobj immediately.
|
878
|
+
# This operation is computationally expensive and should be bypassed.
|
879
|
+
calibration_entry = calibration_inst_map._get_calibration_entry(
|
880
|
+
instruction.name, qargs
|
881
|
+
)
|
882
|
+
else:
|
883
|
+
calibration_entry = None
|
884
|
+
if duration is not None and len(noise_params) > 2:
|
885
|
+
# Ensure exact conversion of duration from seconds to dt
|
886
|
+
dt = _QUBIT_PROPERTIES["dt"]
|
887
|
+
rounded_duration = round(duration / dt) * dt
|
888
|
+
# Clamp rounded duration to be between min and max values
|
889
|
+
duration = max(noise_params[0], min(rounded_duration, noise_params[1]))
|
890
|
+
props.update({qargs: InstructionProperties(duration, error, calibration_entry)})
|
903
891
|
self._target.add_instruction(instruction, props)
|
904
892
|
|
905
893
|
# The "measure" instruction calibrations need to be added qubit by qubit, once the
|
@@ -1002,7 +990,6 @@ class GenericBackendV2(BackendV2):
|
|
1002
990
|
else:
|
1003
991
|
return BasicSimulator._default_options()
|
1004
992
|
|
1005
|
-
@deprecate_pulse_dependency
|
1006
993
|
def drive_channel(self, qubit: int):
|
1007
994
|
drive_channels_map = getattr(self, "channels_map", {}).get("drive", {})
|
1008
995
|
qubits = (qubit,)
|
@@ -1010,7 +997,6 @@ class GenericBackendV2(BackendV2):
|
|
1010
997
|
return drive_channels_map[qubits][0]
|
1011
998
|
return None
|
1012
999
|
|
1013
|
-
@deprecate_pulse_dependency
|
1014
1000
|
def measure_channel(self, qubit: int):
|
1015
1001
|
measure_channels_map = getattr(self, "channels_map", {}).get("measure", {})
|
1016
1002
|
qubits = (qubit,)
|
@@ -1018,7 +1004,6 @@ class GenericBackendV2(BackendV2):
|
|
1018
1004
|
return measure_channels_map[qubits][0]
|
1019
1005
|
return None
|
1020
1006
|
|
1021
|
-
@deprecate_pulse_dependency
|
1022
1007
|
def acquire_channel(self, qubit: int):
|
1023
1008
|
acquire_channels_map = getattr(self, "channels_map", {}).get("acquire", {})
|
1024
1009
|
qubits = (qubit,)
|
@@ -1026,7 +1011,6 @@ class GenericBackendV2(BackendV2):
|
|
1026
1011
|
return acquire_channels_map[qubits][0]
|
1027
1012
|
return None
|
1028
1013
|
|
1029
|
-
@deprecate_pulse_dependency
|
1030
1014
|
def control_channel(self, qubits: Iterable[int]):
|
1031
1015
|
control_channels_map = getattr(self, "channels_map", {}).get("control", {})
|
1032
1016
|
qubits = tuple(qubits)
|
@@ -18,7 +18,6 @@ from typing import Any, Dict, List
|
|
18
18
|
from qiskit.pulse.instruction_schedule_map import InstructionScheduleMap, PulseQobjDef
|
19
19
|
from qiskit.qobj import PulseLibraryItem, PulseQobjInstruction
|
20
20
|
from qiskit.qobj.converters import QobjToInstructionConverter
|
21
|
-
from qiskit.utils.deprecate_pulse import deprecate_pulse_dependency
|
22
21
|
|
23
22
|
|
24
23
|
class MeasurementKernel:
|
@@ -170,7 +169,6 @@ class PulseDefaults:
|
|
170
169
|
|
171
170
|
_data = {}
|
172
171
|
|
173
|
-
@deprecate_pulse_dependency
|
174
172
|
def __init__(
|
175
173
|
self,
|
176
174
|
qubit_freq_est: List[float],
|