qiskit 1.4.0__cp39-abi3-macosx_11_0_arm64.whl → 2.0.0rc1__cp39-abi3-macosx_11_0_arm64.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 +2 -5
- qiskit/_accelerate.abi3.so +0 -0
- qiskit/circuit/__init__.py +24 -5
- qiskit/circuit/{add_control.py → _add_control.py} +32 -12
- qiskit/circuit/_classical_resource_map.py +5 -3
- qiskit/circuit/barrier.py +3 -7
- qiskit/circuit/classical/expr/__init__.py +31 -3
- qiskit/circuit/classical/expr/constructors.py +248 -28
- qiskit/circuit/classical/expr/expr.py +104 -3
- qiskit/circuit/classical/expr/visitors.py +75 -0
- qiskit/circuit/classical/types/__init__.py +12 -8
- qiskit/circuit/classical/types/ordering.py +14 -7
- qiskit/circuit/classical/types/types.py +36 -0
- qiskit/circuit/commutation_checker.py +34 -7
- qiskit/circuit/controlflow/__init__.py +32 -1
- qiskit/circuit/controlflow/_builder_utils.py +9 -5
- qiskit/circuit/controlflow/box.py +163 -0
- qiskit/circuit/controlflow/break_loop.py +1 -1
- qiskit/circuit/controlflow/builder.py +139 -39
- qiskit/circuit/controlflow/continue_loop.py +1 -3
- qiskit/circuit/controlflow/control_flow.py +10 -0
- qiskit/circuit/controlflow/for_loop.py +2 -1
- qiskit/circuit/controlflow/if_else.py +3 -16
- qiskit/circuit/controlflow/switch_case.py +2 -8
- qiskit/circuit/controlflow/while_loop.py +2 -7
- qiskit/circuit/controlledgate.py +2 -4
- qiskit/circuit/delay.py +40 -11
- qiskit/circuit/duration.py +0 -15
- qiskit/circuit/gate.py +2 -4
- qiskit/circuit/instruction.py +7 -140
- qiskit/circuit/instructionset.py +7 -54
- qiskit/circuit/library/__init__.py +34 -5
- qiskit/circuit/library/arithmetic/__init__.py +16 -10
- qiskit/circuit/library/arithmetic/adders/cdkm_ripple_carry_adder.py +1 -1
- qiskit/circuit/library/arithmetic/adders/draper_qft_adder.py +2 -2
- qiskit/circuit/library/arithmetic/adders/vbe_ripple_carry_adder.py +1 -1
- qiskit/circuit/library/arithmetic/exact_reciprocal.py +64 -21
- qiskit/circuit/library/arithmetic/integer_comparator.py +37 -80
- qiskit/circuit/library/arithmetic/linear_amplitude_function.py +169 -2
- qiskit/circuit/library/arithmetic/linear_pauli_rotations.py +59 -5
- qiskit/circuit/library/arithmetic/piecewise_chebyshev.py +154 -6
- qiskit/circuit/library/arithmetic/piecewise_linear_pauli_rotations.py +114 -4
- qiskit/circuit/library/arithmetic/piecewise_polynomial_pauli_rotations.py +191 -15
- qiskit/circuit/library/arithmetic/polynomial_pauli_rotations.py +93 -39
- qiskit/circuit/library/arithmetic/quadratic_form.py +168 -2
- qiskit/circuit/library/arithmetic/weighted_adder.py +73 -1
- qiskit/circuit/library/bit_flip_oracle.py +130 -0
- qiskit/circuit/library/blueprintcircuit.py +52 -16
- qiskit/circuit/library/data_preparation/initializer.py +1 -1
- qiskit/circuit/library/data_preparation/pauli_feature_map.py +4 -4
- qiskit/circuit/library/data_preparation/state_preparation.py +1 -1
- qiskit/circuit/library/generalized_gates/gms.py +1 -1
- qiskit/circuit/library/generalized_gates/isometry.py +1 -1
- qiskit/circuit/library/generalized_gates/pauli.py +1 -2
- qiskit/circuit/library/generalized_gates/uc.py +97 -7
- qiskit/circuit/library/generalized_gates/uc_pauli_rot.py +1 -1
- qiskit/circuit/library/generalized_gates/unitary.py +4 -2
- qiskit/circuit/library/hamiltonian_gate.py +1 -1
- qiskit/circuit/library/n_local/evolved_operator_ansatz.py +1 -1
- qiskit/circuit/library/n_local/n_local.py +1 -1
- qiskit/circuit/library/n_local/qaoa_ansatz.py +1 -1
- qiskit/circuit/library/overlap.py +2 -2
- qiskit/circuit/library/pauli_evolution.py +39 -24
- qiskit/circuit/library/phase_oracle.py +130 -51
- qiskit/circuit/library/standard_gates/__init__.py +0 -1
- qiskit/circuit/library/standard_gates/dcx.py +3 -4
- qiskit/circuit/library/standard_gates/ecr.py +3 -4
- qiskit/circuit/library/standard_gates/global_phase.py +5 -6
- qiskit/circuit/library/standard_gates/h.py +4 -9
- qiskit/circuit/library/standard_gates/i.py +2 -2
- qiskit/circuit/library/standard_gates/iswap.py +3 -4
- qiskit/circuit/library/standard_gates/p.py +15 -34
- qiskit/circuit/library/standard_gates/r.py +2 -6
- qiskit/circuit/library/standard_gates/rx.py +5 -15
- qiskit/circuit/library/standard_gates/rxx.py +3 -6
- qiskit/circuit/library/standard_gates/ry.py +5 -17
- qiskit/circuit/library/standard_gates/ryy.py +3 -6
- qiskit/circuit/library/standard_gates/rz.py +5 -17
- qiskit/circuit/library/standard_gates/rzx.py +3 -6
- qiskit/circuit/library/standard_gates/rzz.py +3 -6
- qiskit/circuit/library/standard_gates/s.py +6 -15
- qiskit/circuit/library/standard_gates/swap.py +4 -11
- qiskit/circuit/library/standard_gates/sx.py +7 -12
- qiskit/circuit/library/standard_gates/t.py +6 -7
- qiskit/circuit/library/standard_gates/u.py +2 -10
- qiskit/circuit/library/standard_gates/u1.py +5 -16
- qiskit/circuit/library/standard_gates/u2.py +2 -6
- qiskit/circuit/library/standard_gates/u3.py +3 -11
- qiskit/circuit/library/standard_gates/x.py +13 -60
- qiskit/circuit/library/standard_gates/xx_minus_yy.py +2 -5
- qiskit/circuit/library/standard_gates/xx_plus_yy.py +2 -5
- qiskit/circuit/library/standard_gates/y.py +4 -9
- qiskit/circuit/library/standard_gates/z.py +5 -15
- qiskit/circuit/measure.py +11 -2
- qiskit/circuit/parameterexpression.py +4 -0
- qiskit/circuit/quantumcircuit.py +881 -555
- qiskit/circuit/random/utils.py +12 -6
- qiskit/circuit/reset.py +5 -2
- qiskit/circuit/singleton.py +5 -11
- qiskit/circuit/store.py +0 -8
- qiskit/compiler/__init__.py +1 -7
- qiskit/compiler/transpiler.py +38 -196
- qiskit/converters/circuit_to_dag.py +4 -2
- qiskit/converters/circuit_to_dagdependency.py +0 -2
- qiskit/converters/circuit_to_dagdependency_v2.py +0 -1
- qiskit/converters/circuit_to_gate.py +1 -1
- qiskit/converters/circuit_to_instruction.py +16 -29
- qiskit/converters/dag_to_circuit.py +5 -5
- qiskit/converters/dag_to_dagdependency.py +0 -1
- qiskit/converters/dag_to_dagdependency_v2.py +0 -1
- qiskit/converters/dagdependency_to_circuit.py +0 -6
- qiskit/converters/dagdependency_to_dag.py +0 -6
- qiskit/dagcircuit/collect_blocks.py +32 -20
- qiskit/dagcircuit/dagdependency.py +3 -37
- qiskit/dagcircuit/dagdependency_v2.py +2 -80
- qiskit/dagcircuit/dagnode.py +14 -2
- qiskit/passmanager/__init__.py +24 -6
- qiskit/passmanager/passmanager.py +26 -24
- qiskit/primitives/__init__.py +44 -35
- qiskit/primitives/backend_estimator_v2.py +102 -23
- qiskit/primitives/backend_sampler_v2.py +5 -20
- qiskit/primitives/base/__init__.py +4 -4
- qiskit/primitives/base/base_estimator.py +77 -82
- qiskit/primitives/base/base_primitive_job.py +2 -2
- qiskit/primitives/base/{base_primitive.py → base_primitive_v1.py} +1 -1
- qiskit/primitives/base/{base_result.py → base_result_v1.py} +1 -1
- qiskit/primitives/base/base_sampler.py +52 -60
- qiskit/primitives/base/{estimator_result.py → estimator_result_v1.py} +2 -2
- qiskit/primitives/base/{sampler_result.py → sampler_result_v1.py} +2 -2
- qiskit/primitives/base/{validation.py → validation_v1.py} +34 -15
- qiskit/primitives/containers/bindings_array.py +3 -1
- qiskit/primitives/containers/bit_array.py +23 -0
- qiskit/primitives/containers/data_bin.py +3 -1
- qiskit/primitives/containers/observables_array.py +19 -2
- qiskit/primitives/statevector_sampler.py +6 -8
- qiskit/primitives/utils.py +14 -189
- qiskit/providers/__init__.py +4 -130
- qiskit/providers/backend.py +11 -314
- qiskit/providers/basic_provider/__init__.py +3 -1
- qiskit/providers/basic_provider/basic_provider.py +29 -9
- qiskit/providers/basic_provider/basic_simulator.py +158 -298
- qiskit/providers/exceptions.py +0 -33
- qiskit/providers/fake_provider/__init__.py +0 -37
- qiskit/providers/fake_provider/generic_backend_v2.py +32 -693
- qiskit/qasm2/__init__.py +21 -6
- qiskit/qasm2/export.py +2 -10
- qiskit/qasm2/parse.py +11 -25
- qiskit/qasm3/__init__.py +5 -1
- qiskit/qasm3/ast.py +44 -0
- qiskit/qasm3/exporter.py +65 -27
- qiskit/qasm3/printer.py +35 -4
- qiskit/qpy/__init__.py +141 -19
- qiskit/qpy/binary_io/__init__.py +0 -1
- qiskit/qpy/binary_io/circuits.py +91 -116
- qiskit/qpy/binary_io/schedules.py +61 -388
- qiskit/qpy/binary_io/value.py +168 -28
- qiskit/qpy/common.py +10 -7
- qiskit/qpy/formats.py +41 -0
- qiskit/qpy/interface.py +29 -62
- qiskit/qpy/type_keys.py +58 -221
- qiskit/quantum_info/analysis/distance.py +3 -1
- qiskit/quantum_info/operators/dihedral/dihedral.py +3 -1
- qiskit/quantum_info/operators/operator.py +6 -2
- qiskit/quantum_info/operators/symplectic/clifford.py +3 -1
- qiskit/quantum_info/operators/symplectic/pauli.py +4 -2
- qiskit/quantum_info/operators/symplectic/pauli_list.py +17 -5
- qiskit/quantum_info/operators/symplectic/sparse_pauli_op.py +40 -6
- qiskit/quantum_info/states/densitymatrix.py +16 -6
- qiskit/quantum_info/states/stabilizerstate.py +35 -4
- qiskit/quantum_info/states/statevector.py +16 -6
- qiskit/result/__init__.py +5 -17
- qiskit/result/models.py +18 -10
- qiskit/result/result.py +28 -126
- qiskit/result/sampled_expval.py +1 -2
- qiskit/result/utils.py +3 -4
- qiskit/synthesis/__init__.py +21 -1
- qiskit/synthesis/arithmetic/__init__.py +3 -1
- qiskit/synthesis/arithmetic/adders/cdkm_ripple_carry_adder.py +1 -1
- qiskit/synthesis/arithmetic/adders/draper_qft_adder.py +1 -1
- qiskit/synthesis/arithmetic/adders/vbe_ripple_carry_adder.py +2 -2
- qiskit/{providers/fake_provider/backends_v1/fake_20q → synthesis/arithmetic/comparators}/__init__.py +4 -6
- qiskit/synthesis/arithmetic/comparators/compare_2s.py +112 -0
- qiskit/synthesis/arithmetic/comparators/compare_greedy.py +66 -0
- qiskit/synthesis/arithmetic/multipliers/hrs_cumulative_multiplier.py +1 -1
- qiskit/synthesis/arithmetic/multipliers/rg_qft_multiplier.py +1 -1
- qiskit/synthesis/arithmetic/weighted_sum.py +155 -0
- qiskit/{result/mitigation → synthesis/boolean}/__init__.py +2 -2
- qiskit/synthesis/boolean/boolean_expression.py +231 -0
- qiskit/synthesis/boolean/boolean_expression_synth.py +124 -0
- qiskit/synthesis/boolean/boolean_expression_visitor.py +96 -0
- qiskit/synthesis/discrete_basis/generate_basis_approximations.py +2 -0
- qiskit/synthesis/evolution/lie_trotter.py +10 -7
- qiskit/synthesis/evolution/product_formula.py +44 -35
- qiskit/synthesis/evolution/qdrift.py +17 -24
- qiskit/synthesis/evolution/suzuki_trotter.py +20 -27
- qiskit/synthesis/linear/linear_depth_lnn.py +6 -221
- qiskit/synthesis/linear_phase/cx_cz_depth_lnn.py +4 -205
- qiskit/synthesis/multi_controlled/__init__.py +1 -0
- qiskit/synthesis/multi_controlled/mcx_synthesis.py +5 -2
- qiskit/synthesis/multi_controlled/multi_control_rotation_gates.py +206 -0
- qiskit/synthesis/one_qubit/one_qubit_decompose.py +1 -1
- qiskit/synthesis/two_qubit/__init__.py +1 -0
- qiskit/synthesis/two_qubit/two_qubit_decompose.py +28 -145
- qiskit/transpiler/__init__.py +32 -232
- qiskit/transpiler/basepasses.py +20 -51
- qiskit/transpiler/layout.py +1 -1
- qiskit/transpiler/passes/__init__.py +2 -40
- qiskit/transpiler/passes/basis/basis_translator.py +4 -3
- qiskit/transpiler/passes/basis/decompose.py +1 -15
- qiskit/transpiler/passes/basis/unroll_3q_or_more.py +1 -5
- qiskit/transpiler/passes/basis/unroll_custom_definitions.py +3 -2
- qiskit/transpiler/passes/layout/apply_layout.py +5 -0
- qiskit/transpiler/passes/layout/dense_layout.py +2 -39
- qiskit/transpiler/passes/layout/full_ancilla_allocation.py +4 -4
- qiskit/transpiler/passes/layout/sabre_layout.py +7 -3
- qiskit/transpiler/passes/layout/vf2_layout.py +2 -20
- qiskit/transpiler/passes/layout/vf2_post_layout.py +60 -125
- qiskit/transpiler/passes/layout/vf2_utils.py +2 -26
- qiskit/transpiler/passes/optimization/__init__.py +1 -3
- qiskit/transpiler/passes/optimization/collect_and_collapse.py +2 -0
- qiskit/transpiler/passes/optimization/collect_cliffords.py +5 -0
- qiskit/transpiler/passes/optimization/collect_linear_functions.py +5 -0
- qiskit/transpiler/passes/optimization/collect_multiqubit_blocks.py +16 -1
- qiskit/transpiler/passes/optimization/commutation_analysis.py +3 -3
- qiskit/transpiler/passes/optimization/consolidate_blocks.py +41 -19
- qiskit/transpiler/passes/optimization/contract_idle_wires_in_control_flow.py +104 -0
- qiskit/transpiler/passes/optimization/light_cone.py +135 -0
- qiskit/transpiler/passes/optimization/optimize_1q_commutation.py +0 -1
- qiskit/transpiler/passes/optimization/optimize_1q_decomposition.py +18 -22
- qiskit/transpiler/passes/optimization/optimize_annotated.py +3 -2
- qiskit/transpiler/passes/optimization/remove_identity_equiv.py +6 -4
- qiskit/transpiler/passes/optimization/reset_after_measure_simplification.py +5 -2
- qiskit/transpiler/passes/optimization/split_2q_unitaries.py +26 -3
- qiskit/transpiler/passes/optimization/template_matching/template_substitution.py +1 -0
- qiskit/transpiler/passes/routing/__init__.py +0 -1
- qiskit/transpiler/passes/routing/commuting_2q_gate_routing/commuting_2q_gate_router.py +3 -1
- qiskit/transpiler/passes/routing/sabre_swap.py +14 -6
- qiskit/transpiler/passes/routing/star_prerouting.py +1 -1
- qiskit/transpiler/passes/scheduling/__init__.py +1 -7
- qiskit/transpiler/passes/scheduling/alignments/__init__.py +2 -4
- qiskit/transpiler/passes/scheduling/alignments/check_durations.py +1 -9
- qiskit/transpiler/passes/scheduling/alignments/reschedule.py +17 -16
- qiskit/transpiler/passes/scheduling/padding/base_padding.py +30 -2
- qiskit/transpiler/passes/scheduling/padding/dynamical_decoupling.py +20 -58
- qiskit/transpiler/passes/scheduling/padding/pad_delay.py +11 -3
- qiskit/transpiler/passes/scheduling/scheduling/alap.py +5 -39
- qiskit/transpiler/passes/scheduling/scheduling/asap.py +4 -35
- qiskit/transpiler/passes/scheduling/scheduling/base_scheduler.py +10 -16
- qiskit/transpiler/passes/scheduling/time_unit_conversion.py +127 -59
- qiskit/transpiler/passes/synthesis/default_unitary_synth_plugin.py +653 -0
- qiskit/transpiler/passes/synthesis/high_level_synthesis.py +176 -601
- qiskit/transpiler/passes/synthesis/hls_plugins.py +294 -1
- qiskit/transpiler/passes/synthesis/plugin.py +4 -0
- qiskit/transpiler/passes/synthesis/solovay_kitaev_synthesis.py +16 -10
- qiskit/transpiler/passes/synthesis/unitary_synthesis.py +34 -697
- qiskit/transpiler/passes/utils/__init__.py +0 -1
- qiskit/transpiler/passes/utils/check_gate_direction.py +13 -5
- qiskit/transpiler/passes/utils/control_flow.py +2 -6
- qiskit/transpiler/passes/utils/gate_direction.py +7 -0
- qiskit/transpiler/passes/utils/remove_final_measurements.py +40 -33
- qiskit/transpiler/passmanager.py +13 -0
- qiskit/transpiler/passmanager_config.py +5 -81
- qiskit/transpiler/preset_passmanagers/builtin_plugins.py +225 -344
- qiskit/transpiler/preset_passmanagers/common.py +140 -167
- qiskit/transpiler/preset_passmanagers/generate_preset_pass_manager.py +101 -322
- qiskit/transpiler/preset_passmanagers/level0.py +2 -11
- qiskit/transpiler/preset_passmanagers/level1.py +2 -14
- qiskit/transpiler/preset_passmanagers/level2.py +2 -12
- qiskit/transpiler/preset_passmanagers/level3.py +2 -11
- qiskit/transpiler/preset_passmanagers/plugin.py +5 -3
- qiskit/transpiler/target.py +67 -524
- qiskit/user_config.py +8 -4
- qiskit/utils/__init__.py +13 -12
- qiskit/utils/deprecation.py +4 -112
- qiskit/utils/optionals.py +11 -4
- qiskit/utils/parallel.py +214 -87
- qiskit/utils/units.py +4 -1
- qiskit/visualization/__init__.py +3 -7
- qiskit/visualization/array.py +4 -1
- qiskit/visualization/bloch.py +1 -1
- qiskit/visualization/circuit/_utils.py +19 -19
- qiskit/visualization/circuit/circuit_visualization.py +11 -4
- qiskit/visualization/circuit/matplotlib.py +13 -23
- qiskit/visualization/circuit/text.py +7 -3
- qiskit/visualization/dag_visualization.py +2 -1
- qiskit/visualization/gate_map.py +39 -154
- qiskit/visualization/pass_manager_visualization.py +6 -2
- qiskit/visualization/state_visualization.py +6 -0
- qiskit/visualization/timeline/core.py +27 -12
- qiskit/visualization/timeline/interface.py +23 -18
- {qiskit-1.4.0.dist-info → qiskit-2.0.0rc1.dist-info}/METADATA +2 -2
- {qiskit-1.4.0.dist-info → qiskit-2.0.0rc1.dist-info}/RECORD +297 -444
- {qiskit-1.4.0.dist-info → qiskit-2.0.0rc1.dist-info}/WHEEL +2 -1
- {qiskit-1.4.0.dist-info → qiskit-2.0.0rc1.dist-info}/entry_points.txt +8 -2
- qiskit/assembler/__init__.py +0 -42
- qiskit/assembler/assemble_circuits.py +0 -451
- qiskit/assembler/assemble_schedules.py +0 -367
- qiskit/assembler/disassemble.py +0 -310
- qiskit/assembler/run_config.py +0 -77
- qiskit/circuit/bit.py +0 -106
- qiskit/circuit/classicalfunction/__init__.py +0 -152
- qiskit/circuit/classicalfunction/boolean_expression.py +0 -138
- qiskit/circuit/classicalfunction/classical_element.py +0 -54
- qiskit/circuit/classicalfunction/classical_function_visitor.py +0 -155
- qiskit/circuit/classicalfunction/classicalfunction.py +0 -182
- qiskit/circuit/classicalfunction/exceptions.py +0 -41
- qiskit/circuit/classicalfunction/types.py +0 -18
- qiskit/circuit/classicalfunction/utils.py +0 -91
- qiskit/circuit/classicalregister.py +0 -57
- qiskit/circuit/library/standard_gates/multi_control_rotation_gates.py +0 -405
- qiskit/circuit/quantumregister.py +0 -75
- qiskit/circuit/register.py +0 -246
- qiskit/compiler/assembler.py +0 -689
- qiskit/compiler/scheduler.py +0 -109
- qiskit/compiler/sequencer.py +0 -71
- qiskit/primitives/backend_estimator.py +0 -486
- qiskit/primitives/backend_sampler.py +0 -222
- qiskit/primitives/estimator.py +0 -172
- qiskit/primitives/sampler.py +0 -162
- qiskit/providers/backend_compat.py +0 -507
- qiskit/providers/fake_provider/backends_v1/__init__.py +0 -22
- qiskit/providers/fake_provider/backends_v1/fake_127q_pulse/__init__.py +0 -18
- qiskit/providers/fake_provider/backends_v1/fake_127q_pulse/conf_washington.json +0 -1
- qiskit/providers/fake_provider/backends_v1/fake_127q_pulse/defs_washington.json +0 -1
- qiskit/providers/fake_provider/backends_v1/fake_127q_pulse/fake_127q_pulse_v1.py +0 -37
- qiskit/providers/fake_provider/backends_v1/fake_127q_pulse/props_washington.json +0 -1
- qiskit/providers/fake_provider/backends_v1/fake_20q/conf_singapore.json +0 -1
- qiskit/providers/fake_provider/backends_v1/fake_20q/fake_20q.py +0 -43
- qiskit/providers/fake_provider/backends_v1/fake_20q/props_singapore.json +0 -1
- qiskit/providers/fake_provider/backends_v1/fake_27q_pulse/__init__.py +0 -18
- qiskit/providers/fake_provider/backends_v1/fake_27q_pulse/conf_hanoi.json +0 -1
- qiskit/providers/fake_provider/backends_v1/fake_27q_pulse/defs_hanoi.json +0 -1
- qiskit/providers/fake_provider/backends_v1/fake_27q_pulse/fake_27q_pulse_v1.py +0 -50
- qiskit/providers/fake_provider/backends_v1/fake_27q_pulse/props_hanoi.json +0 -1
- qiskit/providers/fake_provider/backends_v1/fake_5q/__init__.py +0 -18
- qiskit/providers/fake_provider/backends_v1/fake_5q/conf_yorktown.json +0 -1
- qiskit/providers/fake_provider/backends_v1/fake_5q/fake_5q_v1.py +0 -41
- qiskit/providers/fake_provider/backends_v1/fake_5q/props_yorktown.json +0 -1
- qiskit/providers/fake_provider/backends_v1/fake_7q_pulse/__init__.py +0 -18
- qiskit/providers/fake_provider/backends_v1/fake_7q_pulse/conf_nairobi.json +0 -1
- qiskit/providers/fake_provider/backends_v1/fake_7q_pulse/defs_nairobi.json +0 -1
- qiskit/providers/fake_provider/backends_v1/fake_7q_pulse/fake_7q_pulse_v1.py +0 -44
- qiskit/providers/fake_provider/backends_v1/fake_7q_pulse/props_nairobi.json +0 -1
- qiskit/providers/fake_provider/fake_1q.py +0 -91
- qiskit/providers/fake_provider/fake_backend.py +0 -165
- qiskit/providers/fake_provider/fake_openpulse_2q.py +0 -391
- qiskit/providers/fake_provider/fake_openpulse_3q.py +0 -340
- qiskit/providers/fake_provider/fake_pulse_backend.py +0 -49
- qiskit/providers/fake_provider/fake_qasm_backend.py +0 -77
- qiskit/providers/fake_provider/utils/backend_converter.py +0 -150
- qiskit/providers/fake_provider/utils/json_decoder.py +0 -109
- qiskit/providers/models/__init__.py +0 -89
- qiskit/providers/models/backendconfiguration.py +0 -1040
- qiskit/providers/models/backendproperties.py +0 -535
- qiskit/providers/models/backendstatus.py +0 -104
- qiskit/providers/models/jobstatus.py +0 -77
- qiskit/providers/models/pulsedefaults.py +0 -305
- qiskit/providers/provider.py +0 -95
- qiskit/pulse/__init__.py +0 -158
- qiskit/pulse/builder.py +0 -2262
- qiskit/pulse/calibration_entries.py +0 -381
- qiskit/pulse/channels.py +0 -227
- qiskit/pulse/configuration.py +0 -245
- qiskit/pulse/exceptions.py +0 -45
- qiskit/pulse/filters.py +0 -309
- qiskit/pulse/instruction_schedule_map.py +0 -424
- qiskit/pulse/instructions/__init__.py +0 -67
- qiskit/pulse/instructions/acquire.py +0 -150
- qiskit/pulse/instructions/delay.py +0 -71
- qiskit/pulse/instructions/directives.py +0 -154
- qiskit/pulse/instructions/frequency.py +0 -135
- qiskit/pulse/instructions/instruction.py +0 -270
- qiskit/pulse/instructions/phase.py +0 -152
- qiskit/pulse/instructions/play.py +0 -99
- qiskit/pulse/instructions/reference.py +0 -100
- qiskit/pulse/instructions/snapshot.py +0 -82
- qiskit/pulse/library/__init__.py +0 -97
- qiskit/pulse/library/continuous.py +0 -430
- qiskit/pulse/library/pulse.py +0 -148
- qiskit/pulse/library/samplers/__init__.py +0 -15
- qiskit/pulse/library/samplers/decorators.py +0 -295
- qiskit/pulse/library/samplers/strategies.py +0 -71
- qiskit/pulse/library/symbolic_pulses.py +0 -1989
- qiskit/pulse/library/waveform.py +0 -136
- qiskit/pulse/macros.py +0 -262
- qiskit/pulse/parameter_manager.py +0 -445
- qiskit/pulse/parser.py +0 -314
- qiskit/pulse/reference_manager.py +0 -58
- qiskit/pulse/schedule.py +0 -1854
- qiskit/pulse/transforms/__init__.py +0 -106
- qiskit/pulse/transforms/alignments.py +0 -406
- qiskit/pulse/transforms/base_transforms.py +0 -71
- qiskit/pulse/transforms/canonicalization.py +0 -498
- qiskit/pulse/transforms/dag.py +0 -122
- qiskit/pulse/utils.py +0 -149
- qiskit/qobj/__init__.py +0 -75
- qiskit/qobj/common.py +0 -81
- qiskit/qobj/converters/__init__.py +0 -18
- qiskit/qobj/converters/lo_config.py +0 -177
- qiskit/qobj/converters/pulse_instruction.py +0 -897
- qiskit/qobj/pulse_qobj.py +0 -709
- qiskit/qobj/qasm_qobj.py +0 -708
- qiskit/qobj/utils.py +0 -46
- qiskit/result/mitigation/base_readout_mitigator.py +0 -79
- qiskit/result/mitigation/correlated_readout_mitigator.py +0 -277
- qiskit/result/mitigation/local_readout_mitigator.py +0 -328
- qiskit/result/mitigation/utils.py +0 -217
- qiskit/scheduler/__init__.py +0 -40
- qiskit/scheduler/config.py +0 -37
- qiskit/scheduler/lowering.py +0 -187
- qiskit/scheduler/methods/__init__.py +0 -15
- qiskit/scheduler/methods/basic.py +0 -140
- qiskit/scheduler/schedule_circuit.py +0 -69
- qiskit/scheduler/sequence.py +0 -104
- qiskit/transpiler/passes/calibration/__init__.py +0 -17
- qiskit/transpiler/passes/calibration/base_builder.py +0 -79
- qiskit/transpiler/passes/calibration/builders.py +0 -20
- qiskit/transpiler/passes/calibration/exceptions.py +0 -22
- qiskit/transpiler/passes/calibration/pulse_gate.py +0 -100
- qiskit/transpiler/passes/calibration/rx_builder.py +0 -164
- qiskit/transpiler/passes/calibration/rzx_builder.py +0 -411
- qiskit/transpiler/passes/calibration/rzx_templates.py +0 -58
- qiskit/transpiler/passes/optimization/cx_cancellation.py +0 -65
- qiskit/transpiler/passes/optimization/echo_rzx_weyl_decomposition.py +0 -162
- qiskit/transpiler/passes/optimization/normalize_rx_angle.py +0 -157
- qiskit/transpiler/passes/routing/stochastic_swap.py +0 -532
- qiskit/transpiler/passes/scheduling/alap.py +0 -153
- qiskit/transpiler/passes/scheduling/alignments/align_measures.py +0 -255
- qiskit/transpiler/passes/scheduling/alignments/pulse_gate_validation.py +0 -107
- qiskit/transpiler/passes/scheduling/asap.py +0 -175
- qiskit/transpiler/passes/scheduling/base_scheduler.py +0 -310
- qiskit/transpiler/passes/scheduling/dynamical_decoupling.py +0 -313
- qiskit/transpiler/passes/utils/convert_conditions_to_if_ops.py +0 -93
- qiskit/utils/deprecate_pulse.py +0 -119
- qiskit/utils/multiprocessing.py +0 -56
- qiskit/visualization/pulse_v2/__init__.py +0 -21
- qiskit/visualization/pulse_v2/core.py +0 -901
- qiskit/visualization/pulse_v2/device_info.py +0 -173
- qiskit/visualization/pulse_v2/drawings.py +0 -253
- qiskit/visualization/pulse_v2/events.py +0 -254
- qiskit/visualization/pulse_v2/generators/__init__.py +0 -40
- qiskit/visualization/pulse_v2/generators/barrier.py +0 -76
- qiskit/visualization/pulse_v2/generators/chart.py +0 -208
- qiskit/visualization/pulse_v2/generators/frame.py +0 -436
- qiskit/visualization/pulse_v2/generators/snapshot.py +0 -133
- qiskit/visualization/pulse_v2/generators/waveform.py +0 -645
- qiskit/visualization/pulse_v2/interface.py +0 -459
- qiskit/visualization/pulse_v2/layouts.py +0 -387
- qiskit/visualization/pulse_v2/plotters/__init__.py +0 -17
- qiskit/visualization/pulse_v2/plotters/base_plotter.py +0 -53
- qiskit/visualization/pulse_v2/plotters/matplotlib.py +0 -201
- qiskit/visualization/pulse_v2/stylesheet.py +0 -312
- qiskit/visualization/pulse_v2/types.py +0 -242
- {qiskit-1.4.0.dist-info → qiskit-2.0.0rc1.dist-info}/LICENSE.txt +0 -0
- {qiskit-1.4.0.dist-info → qiskit-2.0.0rc1.dist-info}/top_level.txt +0 -0
@@ -17,7 +17,6 @@ from math import pi
|
|
17
17
|
import numpy
|
18
18
|
from qiskit.circuit.controlledgate import ControlledGate
|
19
19
|
from qiskit.circuit.singleton import SingletonGate, SingletonControlledGate, stdlib_singleton_key
|
20
|
-
from qiskit.circuit.quantumregister import QuantumRegister
|
21
20
|
from qiskit.circuit._utils import _ctrl_state_to_int, with_gate_array, with_controlled_gate_array
|
22
21
|
from qiskit._accelerate.circuit import StandardGate
|
23
22
|
from qiskit.utils.deprecation import deprecate_func
|
@@ -75,9 +74,9 @@ class XGate(SingletonGate):
|
|
75
74
|
|
76
75
|
_standard_gate = StandardGate.XGate
|
77
76
|
|
78
|
-
def __init__(self, label: Optional[str] = None
|
77
|
+
def __init__(self, label: Optional[str] = None):
|
79
78
|
"""Create new X gate."""
|
80
|
-
super().__init__("x", 1, [], label=label
|
79
|
+
super().__init__("x", 1, [], label=label)
|
81
80
|
|
82
81
|
_singleton_lookup_key = stdlib_singleton_key()
|
83
82
|
|
@@ -86,7 +85,7 @@ class XGate(SingletonGate):
|
|
86
85
|
gate x a { u3(pi,0,pi) a; }
|
87
86
|
"""
|
88
87
|
# pylint: disable=cyclic-import
|
89
|
-
from qiskit.circuit
|
88
|
+
from qiskit.circuit import QuantumCircuit, QuantumRegister
|
90
89
|
from .u3 import U3Gate
|
91
90
|
|
92
91
|
q = QuantumRegister(1, "q")
|
@@ -225,8 +224,6 @@ class CXGate(SingletonControlledGate):
|
|
225
224
|
label: Optional[str] = None,
|
226
225
|
ctrl_state: Optional[Union[str, int]] = None,
|
227
226
|
*,
|
228
|
-
duration=None,
|
229
|
-
unit="dt",
|
230
227
|
_base_label=None,
|
231
228
|
):
|
232
229
|
"""Create new CX gate."""
|
@@ -239,8 +236,6 @@ class CXGate(SingletonControlledGate):
|
|
239
236
|
ctrl_state=ctrl_state,
|
240
237
|
base_gate=XGate(label=_base_label),
|
241
238
|
_base_label=_base_label,
|
242
|
-
duration=duration,
|
243
|
-
unit=unit,
|
244
239
|
)
|
245
240
|
|
246
241
|
_singleton_lookup_key = stdlib_singleton_key(num_ctrl_qubits=1)
|
@@ -378,8 +373,6 @@ class CCXGate(SingletonControlledGate):
|
|
378
373
|
label: Optional[str] = None,
|
379
374
|
ctrl_state: Optional[Union[str, int]] = None,
|
380
375
|
*,
|
381
|
-
duration=None,
|
382
|
-
unit="dt",
|
383
376
|
_base_label=None,
|
384
377
|
):
|
385
378
|
"""Create new CCX gate."""
|
@@ -391,8 +384,6 @@ class CCXGate(SingletonControlledGate):
|
|
391
384
|
label=label,
|
392
385
|
ctrl_state=ctrl_state,
|
393
386
|
base_gate=XGate(label=_base_label),
|
394
|
-
duration=duration,
|
395
|
-
unit=unit,
|
396
387
|
)
|
397
388
|
|
398
389
|
_singleton_lookup_key = stdlib_singleton_key(num_ctrl_qubits=2)
|
@@ -407,7 +398,7 @@ class CCXGate(SingletonControlledGate):
|
|
407
398
|
t a; tdg b; cx a,b;}
|
408
399
|
"""
|
409
400
|
# pylint: disable=cyclic-import
|
410
|
-
from qiskit.circuit
|
401
|
+
from qiskit.circuit import QuantumCircuit, QuantumRegister
|
411
402
|
from .h import HGate
|
412
403
|
from .t import TGate, TdgGate
|
413
404
|
|
@@ -528,9 +519,9 @@ class RCCXGate(SingletonGate):
|
|
528
519
|
|
529
520
|
_standard_gate = StandardGate.RCCXGate
|
530
521
|
|
531
|
-
def __init__(self, label: Optional[str] = None
|
522
|
+
def __init__(self, label: Optional[str] = None):
|
532
523
|
"""Create a new simplified CCX gate."""
|
533
|
-
super().__init__("rccx", 3, [], label=label
|
524
|
+
super().__init__("rccx", 3, [], label=label)
|
534
525
|
|
535
526
|
_singleton_lookup_key = stdlib_singleton_key()
|
536
527
|
|
@@ -549,7 +540,7 @@ class RCCXGate(SingletonGate):
|
|
549
540
|
}
|
550
541
|
"""
|
551
542
|
# pylint: disable=cyclic-import
|
552
|
-
from qiskit.circuit
|
543
|
+
from qiskit.circuit import QuantumCircuit, QuantumRegister
|
553
544
|
from .u1 import U1Gate
|
554
545
|
from .u2 import U2Gate
|
555
546
|
|
@@ -592,8 +583,6 @@ class C3SXGate(SingletonControlledGate):
|
|
592
583
|
label: Optional[str] = None,
|
593
584
|
ctrl_state: Optional[Union[str, int]] = None,
|
594
585
|
*,
|
595
|
-
duration=None,
|
596
|
-
unit="dt",
|
597
586
|
_base_label=None,
|
598
587
|
):
|
599
588
|
"""Create a new 3-qubit controlled sqrt-X gate.
|
@@ -613,8 +602,6 @@ class C3SXGate(SingletonControlledGate):
|
|
613
602
|
label=label,
|
614
603
|
ctrl_state=ctrl_state,
|
615
604
|
base_gate=SXGate(label=_base_label),
|
616
|
-
duration=duration,
|
617
|
-
unit=unit,
|
618
605
|
)
|
619
606
|
|
620
607
|
_singleton_lookup_key = stdlib_singleton_key(num_ctrl_qubits=3)
|
@@ -639,7 +626,7 @@ class C3SXGate(SingletonControlledGate):
|
|
639
626
|
}
|
640
627
|
"""
|
641
628
|
# pylint: disable=cyclic-import
|
642
|
-
from qiskit.circuit
|
629
|
+
from qiskit.circuit import QuantumCircuit, QuantumRegister
|
643
630
|
from .u1 import CU1Gate
|
644
631
|
from .h import HGate
|
645
632
|
|
@@ -699,8 +686,6 @@ class C3XGate(SingletonControlledGate):
|
|
699
686
|
ctrl_state: Optional[Union[str, int]] = None,
|
700
687
|
*,
|
701
688
|
_base_label=None,
|
702
|
-
duration=None,
|
703
|
-
unit="dt",
|
704
689
|
):
|
705
690
|
"""Create a new 3-qubit controlled X gate."""
|
706
691
|
super().__init__(
|
@@ -711,8 +696,6 @@ class C3XGate(SingletonControlledGate):
|
|
711
696
|
label=label,
|
712
697
|
ctrl_state=ctrl_state,
|
713
698
|
base_gate=XGate(label=_base_label),
|
714
|
-
duration=duration,
|
715
|
-
unit=unit,
|
716
699
|
)
|
717
700
|
|
718
701
|
_singleton_lookup_key = stdlib_singleton_key(num_ctrl_qubits=3)
|
@@ -755,7 +738,7 @@ class C3XGate(SingletonControlledGate):
|
|
755
738
|
h d;
|
756
739
|
}
|
757
740
|
"""
|
758
|
-
from qiskit.circuit
|
741
|
+
from qiskit.circuit import QuantumCircuit, QuantumRegister
|
759
742
|
|
760
743
|
q = QuantumRegister(4, name="q")
|
761
744
|
qc = QuantumCircuit(q, name=self.name)
|
@@ -882,9 +865,9 @@ class RC3XGate(SingletonGate):
|
|
882
865
|
|
883
866
|
_standard_gate = StandardGate.RC3XGate
|
884
867
|
|
885
|
-
def __init__(self, label: Optional[str] = None
|
868
|
+
def __init__(self, label: Optional[str] = None):
|
886
869
|
"""Create a new RC3X gate."""
|
887
|
-
super().__init__("rcccx", 4, [], label=label
|
870
|
+
super().__init__("rcccx", 4, [], label=label)
|
888
871
|
|
889
872
|
_singleton_lookup_key = stdlib_singleton_key()
|
890
873
|
|
@@ -912,7 +895,7 @@ class RC3XGate(SingletonGate):
|
|
912
895
|
}
|
913
896
|
"""
|
914
897
|
# pylint: disable=cyclic-import
|
915
|
-
from qiskit.circuit
|
898
|
+
from qiskit.circuit import QuantumCircuit, QuantumRegister
|
916
899
|
from .u1 import U1Gate
|
917
900
|
from .u2 import U2Gate
|
918
901
|
|
@@ -964,13 +947,9 @@ class C4XGate(SingletonControlledGate):
|
|
964
947
|
label: Optional[str] = None,
|
965
948
|
ctrl_state: Optional[Union[str, int]] = None,
|
966
949
|
*,
|
967
|
-
duration=None,
|
968
|
-
unit="dt",
|
969
950
|
_base_label=None,
|
970
951
|
):
|
971
952
|
"""Create a new 4-qubit controlled X gate."""
|
972
|
-
if unit is None:
|
973
|
-
unit = "dt"
|
974
953
|
super().__init__(
|
975
954
|
"mcx",
|
976
955
|
5,
|
@@ -979,8 +958,6 @@ class C4XGate(SingletonControlledGate):
|
|
979
958
|
label=label,
|
980
959
|
ctrl_state=ctrl_state,
|
981
960
|
base_gate=XGate(label=_base_label),
|
982
|
-
duration=duration,
|
983
|
-
unit=unit,
|
984
961
|
)
|
985
962
|
|
986
963
|
_singleton_lookup_key = stdlib_singleton_key(num_ctrl_qubits=4)
|
@@ -1014,7 +991,7 @@ class C4XGate(SingletonControlledGate):
|
|
1014
991
|
}
|
1015
992
|
"""
|
1016
993
|
# pylint: disable=cyclic-import
|
1017
|
-
from qiskit.circuit
|
994
|
+
from qiskit.circuit import QuantumCircuit, QuantumRegister
|
1018
995
|
from .u1 import CU1Gate
|
1019
996
|
from .h import HGate
|
1020
997
|
|
@@ -1105,8 +1082,6 @@ class MCXGate(ControlledGate):
|
|
1105
1082
|
label: Optional[str] = None,
|
1106
1083
|
ctrl_state: Optional[Union[str, int]] = None,
|
1107
1084
|
*,
|
1108
|
-
duration=None,
|
1109
|
-
unit="dt",
|
1110
1085
|
_base_label=None,
|
1111
1086
|
):
|
1112
1087
|
"""Create a new MCX instance.
|
@@ -1127,8 +1102,6 @@ class MCXGate(ControlledGate):
|
|
1127
1102
|
label=label,
|
1128
1103
|
ctrl_state=ctrl_state,
|
1129
1104
|
_base_label=_base_label,
|
1130
|
-
duration=duration,
|
1131
|
-
unit=unit,
|
1132
1105
|
)
|
1133
1106
|
return gate
|
1134
1107
|
return super().__new__(cls)
|
@@ -1139,8 +1112,6 @@ class MCXGate(ControlledGate):
|
|
1139
1112
|
label: Optional[str] = None,
|
1140
1113
|
ctrl_state: Optional[Union[str, int]] = None,
|
1141
1114
|
*,
|
1142
|
-
duration=None,
|
1143
|
-
unit="dt",
|
1144
1115
|
_name="mcx",
|
1145
1116
|
_base_label=None,
|
1146
1117
|
):
|
@@ -1256,8 +1227,6 @@ class MCXGrayCode(MCXGate):
|
|
1256
1227
|
label: Optional[str] = None,
|
1257
1228
|
ctrl_state: Optional[Union[str, int]] = None,
|
1258
1229
|
*,
|
1259
|
-
duration=None,
|
1260
|
-
unit="dt",
|
1261
1230
|
_base_label=None,
|
1262
1231
|
):
|
1263
1232
|
"""Create a new MCXGrayCode instance"""
|
@@ -1270,15 +1239,11 @@ class MCXGrayCode(MCXGate):
|
|
1270
1239
|
label=label,
|
1271
1240
|
ctrl_state=ctrl_state,
|
1272
1241
|
_base_label=_base_label,
|
1273
|
-
duration=duration,
|
1274
|
-
unit=unit,
|
1275
1242
|
)
|
1276
1243
|
# if __new__ does not return the same type as cls, init is not called
|
1277
1244
|
gate.__init__(
|
1278
1245
|
label=label,
|
1279
1246
|
ctrl_state=ctrl_state,
|
1280
|
-
duration=duration,
|
1281
|
-
unit=unit,
|
1282
1247
|
)
|
1283
1248
|
return gate
|
1284
1249
|
return super().__new__(cls)
|
@@ -1355,8 +1320,6 @@ class MCXRecursive(MCXGate):
|
|
1355
1320
|
label: Optional[str] = None,
|
1356
1321
|
ctrl_state: Optional[Union[str, int]] = None,
|
1357
1322
|
*,
|
1358
|
-
duration=None,
|
1359
|
-
unit="dt",
|
1360
1323
|
_base_label=None,
|
1361
1324
|
):
|
1362
1325
|
super().__init__(
|
@@ -1364,8 +1327,6 @@ class MCXRecursive(MCXGate):
|
|
1364
1327
|
label=label,
|
1365
1328
|
ctrl_state=ctrl_state,
|
1366
1329
|
_name="mcx_recursive",
|
1367
|
-
duration=duration,
|
1368
|
-
unit=unit,
|
1369
1330
|
_base_label=None,
|
1370
1331
|
)
|
1371
1332
|
|
@@ -1408,8 +1369,6 @@ class MCXVChain(MCXGate):
|
|
1408
1369
|
label: Optional[str] = None,
|
1409
1370
|
ctrl_state: Optional[Union[str, int]] = None,
|
1410
1371
|
*,
|
1411
|
-
duration=None,
|
1412
|
-
unit="dt",
|
1413
1372
|
_base_label=None,
|
1414
1373
|
relative_phase: bool = False, # pylint: disable=unused-argument
|
1415
1374
|
action_only: bool = False, # pylint: disable=unused-argument
|
@@ -1424,8 +1383,6 @@ class MCXVChain(MCXGate):
|
|
1424
1383
|
label=label,
|
1425
1384
|
ctrl_state=ctrl_state,
|
1426
1385
|
_base_label=_base_label,
|
1427
|
-
duration=duration,
|
1428
|
-
unit=unit,
|
1429
1386
|
)
|
1430
1387
|
|
1431
1388
|
@deprecate_func(
|
@@ -1447,8 +1404,6 @@ class MCXVChain(MCXGate):
|
|
1447
1404
|
label: Optional[str] = None,
|
1448
1405
|
ctrl_state: Optional[Union[str, int]] = None,
|
1449
1406
|
*,
|
1450
|
-
duration=None,
|
1451
|
-
unit="dt",
|
1452
1407
|
_base_label=None,
|
1453
1408
|
relative_phase: bool = False,
|
1454
1409
|
action_only: bool = False,
|
@@ -1474,8 +1429,6 @@ class MCXVChain(MCXGate):
|
|
1474
1429
|
ctrl_state=ctrl_state,
|
1475
1430
|
_name="mcx_vchain",
|
1476
1431
|
_base_label=_base_label,
|
1477
|
-
duration=duration,
|
1478
|
-
unit=unit,
|
1479
1432
|
)
|
1480
1433
|
self._dirty_ancillas = dirty_ancillas
|
1481
1434
|
self._relative_phase = relative_phase
|
@@ -29,7 +29,7 @@ from qiskit.circuit.library.standard_gates.sx import SXdgGate, SXGate
|
|
29
29
|
from qiskit.circuit.library.standard_gates.x import CXGate
|
30
30
|
from qiskit.circuit.parameterexpression import ParameterValueType, ParameterExpression
|
31
31
|
from qiskit.circuit.quantumcircuit import QuantumCircuit
|
32
|
-
from qiskit.circuit
|
32
|
+
from qiskit.circuit import QuantumRegister
|
33
33
|
from qiskit._accelerate.circuit import StandardGate
|
34
34
|
|
35
35
|
|
@@ -72,9 +72,6 @@ class XXMinusYYGate(Gate):
|
|
72
72
|
theta: ParameterValueType,
|
73
73
|
beta: ParameterValueType = 0,
|
74
74
|
label: Optional[str] = "(XX-YY)",
|
75
|
-
*,
|
76
|
-
duration=None,
|
77
|
-
unit="dt",
|
78
75
|
):
|
79
76
|
"""Create new XX-YY gate.
|
80
77
|
|
@@ -83,7 +80,7 @@ class XXMinusYYGate(Gate):
|
|
83
80
|
beta: The phase angle.
|
84
81
|
label: The label of the gate.
|
85
82
|
"""
|
86
|
-
super().__init__("xx_minus_yy", 2, [theta, beta], label=label
|
83
|
+
super().__init__("xx_minus_yy", 2, [theta, beta], label=label)
|
87
84
|
|
88
85
|
def _define(self):
|
89
86
|
"""
|
@@ -22,7 +22,7 @@ from typing import Optional
|
|
22
22
|
import numpy
|
23
23
|
|
24
24
|
from qiskit.circuit.gate import Gate
|
25
|
-
from qiskit.circuit
|
25
|
+
from qiskit.circuit import QuantumRegister
|
26
26
|
from qiskit.circuit.parameterexpression import ParameterValueType, ParameterExpression
|
27
27
|
from qiskit._accelerate.circuit import StandardGate
|
28
28
|
|
@@ -98,9 +98,6 @@ class XXPlusYYGate(Gate):
|
|
98
98
|
theta: ParameterValueType,
|
99
99
|
beta: ParameterValueType = 0,
|
100
100
|
label: Optional[str] = "(XX+YY)",
|
101
|
-
*,
|
102
|
-
duration=None,
|
103
|
-
unit="dt",
|
104
101
|
):
|
105
102
|
"""Create new XX+YY gate.
|
106
103
|
|
@@ -109,7 +106,7 @@ class XXPlusYYGate(Gate):
|
|
109
106
|
beta: The phase angle.
|
110
107
|
label: The label of the gate.
|
111
108
|
"""
|
112
|
-
super().__init__("xx_plus_yy", 2, [theta, beta], label=label
|
109
|
+
super().__init__("xx_plus_yy", 2, [theta, beta], label=label)
|
113
110
|
|
114
111
|
def _define(self):
|
115
112
|
"""
|
@@ -17,7 +17,6 @@ from typing import Optional, Union
|
|
17
17
|
|
18
18
|
# pylint: disable=cyclic-import
|
19
19
|
from qiskit.circuit.singleton import SingletonGate, SingletonControlledGate, stdlib_singleton_key
|
20
|
-
from qiskit.circuit.quantumregister import QuantumRegister
|
21
20
|
from qiskit.circuit._utils import with_gate_array, with_controlled_gate_array
|
22
21
|
from qiskit._accelerate.circuit import StandardGate
|
23
22
|
|
@@ -73,15 +72,15 @@ class YGate(SingletonGate):
|
|
73
72
|
|
74
73
|
_standard_gate = StandardGate.YGate
|
75
74
|
|
76
|
-
def __init__(self, label: Optional[str] = None
|
75
|
+
def __init__(self, label: Optional[str] = None):
|
77
76
|
"""Create new Y gate."""
|
78
|
-
super().__init__("y", 1, [], label=label
|
77
|
+
super().__init__("y", 1, [], label=label)
|
79
78
|
|
80
79
|
_singleton_lookup_key = stdlib_singleton_key()
|
81
80
|
|
82
81
|
def _define(self):
|
83
82
|
# pylint: disable=cyclic-import
|
84
|
-
from qiskit.circuit
|
83
|
+
from qiskit.circuit import QuantumCircuit, QuantumRegister
|
85
84
|
from .u3 import U3Gate
|
86
85
|
|
87
86
|
q = QuantumRegister(1, "q")
|
@@ -208,8 +207,6 @@ class CYGate(SingletonControlledGate):
|
|
208
207
|
label: Optional[str] = None,
|
209
208
|
ctrl_state: Optional[Union[str, int]] = None,
|
210
209
|
*,
|
211
|
-
duration=None,
|
212
|
-
unit="dt",
|
213
210
|
_base_label=None,
|
214
211
|
):
|
215
212
|
"""Create new CY gate."""
|
@@ -221,8 +218,6 @@ class CYGate(SingletonControlledGate):
|
|
221
218
|
label=label,
|
222
219
|
ctrl_state=ctrl_state,
|
223
220
|
base_gate=YGate(label=_base_label),
|
224
|
-
duration=duration,
|
225
|
-
unit=unit,
|
226
221
|
)
|
227
222
|
|
228
223
|
_singleton_lookup_key = stdlib_singleton_key(num_ctrl_qubits=1)
|
@@ -232,7 +227,7 @@ class CYGate(SingletonControlledGate):
|
|
232
227
|
gate cy a,b { sdg b; cx a,b; s b; }
|
233
228
|
"""
|
234
229
|
# pylint: disable=cyclic-import
|
235
|
-
from qiskit.circuit
|
230
|
+
from qiskit.circuit import QuantumCircuit, QuantumRegister
|
236
231
|
from .s import SGate, SdgGate
|
237
232
|
from .x import CXGate
|
238
233
|
|
@@ -19,7 +19,6 @@ import numpy
|
|
19
19
|
|
20
20
|
from qiskit.circuit._utils import with_gate_array, with_controlled_gate_array
|
21
21
|
from qiskit.circuit.singleton import SingletonGate, SingletonControlledGate, stdlib_singleton_key
|
22
|
-
from qiskit.circuit.quantumregister import QuantumRegister
|
23
22
|
from qiskit._accelerate.circuit import StandardGate
|
24
23
|
|
25
24
|
from .p import PhaseGate
|
@@ -76,16 +75,15 @@ class ZGate(SingletonGate):
|
|
76
75
|
|
77
76
|
_standard_gate = StandardGate.ZGate
|
78
77
|
|
79
|
-
def __init__(self, label: Optional[str] = None
|
78
|
+
def __init__(self, label: Optional[str] = None):
|
80
79
|
"""Create new Z gate."""
|
81
|
-
super().__init__("z", 1, [], label=label
|
80
|
+
super().__init__("z", 1, [], label=label)
|
82
81
|
|
83
82
|
_singleton_lookup_key = stdlib_singleton_key()
|
84
83
|
|
85
84
|
def _define(self):
|
86
85
|
# pylint: disable=cyclic-import
|
87
|
-
from qiskit.circuit
|
88
|
-
|
86
|
+
from qiskit.circuit import QuantumCircuit, QuantumRegister
|
89
87
|
from .u1 import U1Gate
|
90
88
|
|
91
89
|
q = QuantumRegister(1, "q")
|
@@ -191,8 +189,6 @@ class CZGate(SingletonControlledGate):
|
|
191
189
|
label: Optional[str] = None,
|
192
190
|
ctrl_state: Optional[Union[str, int]] = None,
|
193
191
|
*,
|
194
|
-
duration=None,
|
195
|
-
unit="dt",
|
196
192
|
_base_label=None,
|
197
193
|
):
|
198
194
|
"""Create new CZ gate."""
|
@@ -204,8 +200,6 @@ class CZGate(SingletonControlledGate):
|
|
204
200
|
num_ctrl_qubits=1,
|
205
201
|
ctrl_state=ctrl_state,
|
206
202
|
base_gate=ZGate(label=_base_label),
|
207
|
-
duration=duration,
|
208
|
-
unit=unit,
|
209
203
|
)
|
210
204
|
|
211
205
|
_singleton_lookup_key = stdlib_singleton_key(num_ctrl_qubits=1)
|
@@ -215,7 +209,7 @@ class CZGate(SingletonControlledGate):
|
|
215
209
|
gate cz a,b { h b; cx a,b; h b; }
|
216
210
|
"""
|
217
211
|
# pylint: disable=cyclic-import
|
218
|
-
from qiskit.circuit
|
212
|
+
from qiskit.circuit import QuantumCircuit, QuantumRegister
|
219
213
|
|
220
214
|
from .h import HGate
|
221
215
|
from .x import CXGate
|
@@ -293,8 +287,6 @@ class CCZGate(SingletonControlledGate):
|
|
293
287
|
label: Optional[str] = None,
|
294
288
|
ctrl_state: Optional[Union[str, int]] = None,
|
295
289
|
*,
|
296
|
-
duration=None,
|
297
|
-
unit="dt",
|
298
290
|
_base_label=None,
|
299
291
|
):
|
300
292
|
"""Create new CCZ gate."""
|
@@ -306,8 +298,6 @@ class CCZGate(SingletonControlledGate):
|
|
306
298
|
num_ctrl_qubits=2,
|
307
299
|
ctrl_state=ctrl_state,
|
308
300
|
base_gate=ZGate(label=_base_label),
|
309
|
-
duration=duration,
|
310
|
-
unit=unit,
|
311
301
|
)
|
312
302
|
|
313
303
|
_singleton_lookup_key = stdlib_singleton_key(num_ctrl_qubits=2)
|
@@ -317,7 +307,7 @@ class CCZGate(SingletonControlledGate):
|
|
317
307
|
gate ccz a,b,c { h c; ccx a,b,c; h c; }
|
318
308
|
"""
|
319
309
|
# pylint: disable=cyclic-import
|
320
|
-
from qiskit.circuit
|
310
|
+
from qiskit.circuit import QuantumCircuit, QuantumRegister
|
321
311
|
|
322
312
|
from .h import HGate
|
323
313
|
from .x import CCXGate
|
qiskit/circuit/measure.py
CHANGED
@@ -16,17 +16,26 @@ Quantum measurement in the computational basis.
|
|
16
16
|
|
17
17
|
from qiskit.circuit.singleton import SingletonInstruction, stdlib_singleton_key
|
18
18
|
from qiskit.circuit.exceptions import CircuitError
|
19
|
+
from qiskit._accelerate.circuit import StandardInstructionType
|
19
20
|
|
20
21
|
|
21
22
|
class Measure(SingletonInstruction):
|
22
23
|
"""Quantum measurement in the computational basis."""
|
23
24
|
|
24
|
-
|
25
|
+
_standard_instruction_type = StandardInstructionType.Measure
|
26
|
+
|
27
|
+
def __init__(self, label=None):
|
25
28
|
"""
|
26
29
|
Args:
|
27
30
|
label: optional string label for this instruction.
|
28
31
|
"""
|
29
|
-
super().__init__("measure", 1, 1, [], label=label
|
32
|
+
super().__init__("measure", 1, 1, [], label=label)
|
33
|
+
|
34
|
+
def __init_subclass__(cls, **kwargs):
|
35
|
+
super().__init_subclass__(**kwargs)
|
36
|
+
# Subclasses of Measure are not "standard", so we set this to None to
|
37
|
+
# prevent the Rust code from treating them as such.
|
38
|
+
cls._standard_instruction_type = None
|
30
39
|
|
31
40
|
_singleton_lookup_key = stdlib_singleton_key()
|
32
41
|
|
@@ -26,6 +26,7 @@ import numpy
|
|
26
26
|
import symengine
|
27
27
|
|
28
28
|
from qiskit.circuit.exceptions import CircuitError
|
29
|
+
from qiskit.utils.optionals import HAS_SYMPY
|
29
30
|
|
30
31
|
# This type is redefined at the bottom to insert the full reference to "ParameterExpression", so it
|
31
32
|
# can safely be used by runtime type-checkers like Sphinx. Mypy does not need this because it
|
@@ -117,6 +118,8 @@ class ParameterExpression:
|
|
117
118
|
|
118
119
|
Not intended to be called directly, but to be instantiated via operations
|
119
120
|
on other :class:`Parameter` or :class:`ParameterExpression` objects.
|
121
|
+
The constructor of this object is **not** a public interface and should not
|
122
|
+
ever be used directly.
|
120
123
|
|
121
124
|
Args:
|
122
125
|
symbol_map (Dict[Parameter, [ParameterExpression, float, or int]]):
|
@@ -672,6 +675,7 @@ class ParameterExpression:
|
|
672
675
|
return out.real if out.imag == 0.0 else out
|
673
676
|
return float(real_expr)
|
674
677
|
|
678
|
+
@HAS_SYMPY.require_in_call
|
675
679
|
def sympify(self):
|
676
680
|
"""Return symbolic expression as a raw Sympy or Symengine object.
|
677
681
|
|