qiskit 1.4.1__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 +2 -141
- 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 +154 -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 +4 -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 +18 -12
- qiskit/visualization/timeline/interface.py +19 -18
- {qiskit-1.4.1.dist-info → qiskit-2.0.0rc1.dist-info}/METADATA +2 -2
- {qiskit-1.4.1.dist-info → qiskit-2.0.0rc1.dist-info}/RECORD +297 -444
- {qiskit-1.4.1.dist-info → qiskit-2.0.0rc1.dist-info}/WHEEL +2 -1
- {qiskit-1.4.1.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.1.dist-info → qiskit-2.0.0rc1.dist-info}/LICENSE.txt +0 -0
- {qiskit-1.4.1.dist-info → qiskit-2.0.0rc1.dist-info}/top_level.txt +0 -0
@@ -15,7 +15,6 @@ from math import sqrt
|
|
15
15
|
import numpy as np
|
16
16
|
|
17
17
|
from qiskit.circuit._utils import with_gate_array
|
18
|
-
from qiskit.circuit.quantumregister import QuantumRegister
|
19
18
|
from qiskit.circuit.singleton import SingletonGate, stdlib_singleton_key
|
20
19
|
from qiskit._accelerate.circuit import StandardGate
|
21
20
|
from .rzx import RZXGate
|
@@ -87,9 +86,9 @@ class ECRGate(SingletonGate):
|
|
87
86
|
|
88
87
|
_standard_gate = StandardGate.ECRGate
|
89
88
|
|
90
|
-
def __init__(self, label=None
|
89
|
+
def __init__(self, label=None):
|
91
90
|
"""Create new ECR gate."""
|
92
|
-
super().__init__("ecr", 2, [], label=label
|
91
|
+
super().__init__("ecr", 2, [], label=label)
|
93
92
|
|
94
93
|
_singleton_lookup_key = stdlib_singleton_key()
|
95
94
|
|
@@ -98,7 +97,7 @@ class ECRGate(SingletonGate):
|
|
98
97
|
gate ecr a, b { rzx(pi/4) a, b; x a; rzx(-pi/4) a, b;}
|
99
98
|
"""
|
100
99
|
# pylint: disable=cyclic-import
|
101
|
-
from qiskit.circuit
|
100
|
+
from qiskit.circuit import QuantumCircuit, QuantumRegister
|
102
101
|
|
103
102
|
q = QuantumRegister(2, "q")
|
104
103
|
qc = QuantumCircuit(q, name=self.name)
|
@@ -17,8 +17,6 @@ from typing import Optional
|
|
17
17
|
import numpy
|
18
18
|
|
19
19
|
from qiskit.circuit.gate import Gate
|
20
|
-
from qiskit.circuit.quantumregister import QuantumRegister
|
21
|
-
from qiskit.circuit.quantumcircuit import QuantumCircuit
|
22
20
|
from qiskit.circuit.parameterexpression import ParameterValueType
|
23
21
|
from qiskit._accelerate.circuit import StandardGate
|
24
22
|
|
@@ -39,17 +37,18 @@ class GlobalPhaseGate(Gate):
|
|
39
37
|
|
40
38
|
_standard_gate = StandardGate.GlobalPhaseGate
|
41
39
|
|
42
|
-
def __init__(
|
43
|
-
self, phase: ParameterValueType, label: Optional[str] = None, *, duration=None, unit="dt"
|
44
|
-
):
|
40
|
+
def __init__(self, phase: ParameterValueType, label: Optional[str] = None):
|
45
41
|
"""
|
46
42
|
Args:
|
47
43
|
phase: The value of phase it takes.
|
48
44
|
label: An optional label for the gate.
|
49
45
|
"""
|
50
|
-
super().__init__("global_phase", 0, [phase], label=label
|
46
|
+
super().__init__("global_phase", 0, [phase], label=label)
|
51
47
|
|
52
48
|
def _define(self):
|
49
|
+
# pylint: disable=cyclic-import
|
50
|
+
from qiskit.circuit import QuantumCircuit, QuantumRegister
|
51
|
+
|
53
52
|
q = QuantumRegister(0, "q")
|
54
53
|
qc = QuantumCircuit(q, name=self.name, global_phase=self.params[0])
|
55
54
|
|
@@ -18,7 +18,6 @@ from math import sqrt, pi
|
|
18
18
|
from typing import Optional, Union
|
19
19
|
import numpy
|
20
20
|
from qiskit.circuit.singleton import SingletonGate, SingletonControlledGate, stdlib_singleton_key
|
21
|
-
from qiskit.circuit.quantumregister import QuantumRegister
|
22
21
|
from qiskit.circuit._utils import with_gate_array, with_controlled_gate_array
|
23
22
|
from qiskit._accelerate.circuit import StandardGate
|
24
23
|
|
@@ -57,9 +56,9 @@ class HGate(SingletonGate):
|
|
57
56
|
|
58
57
|
_standard_gate = StandardGate.HGate
|
59
58
|
|
60
|
-
def __init__(self, label: Optional[str] = None
|
59
|
+
def __init__(self, label: Optional[str] = None):
|
61
60
|
"""Create new H gate."""
|
62
|
-
super().__init__("h", 1, [], label=label
|
61
|
+
super().__init__("h", 1, [], label=label)
|
63
62
|
|
64
63
|
_singleton_lookup_key = stdlib_singleton_key()
|
65
64
|
|
@@ -68,7 +67,7 @@ class HGate(SingletonGate):
|
|
68
67
|
gate h a { u2(0,pi) a; }
|
69
68
|
"""
|
70
69
|
# pylint: disable=cyclic-import
|
71
|
-
from qiskit.circuit
|
70
|
+
from qiskit.circuit import QuantumCircuit, QuantumRegister
|
72
71
|
from .u2 import U2Gate
|
73
72
|
|
74
73
|
q = QuantumRegister(1, "q")
|
@@ -196,8 +195,6 @@ class CHGate(SingletonControlledGate):
|
|
196
195
|
label: Optional[str] = None,
|
197
196
|
ctrl_state: Optional[Union[int, str]] = None,
|
198
197
|
*,
|
199
|
-
duration=None,
|
200
|
-
unit="dt",
|
201
198
|
_base_label=None,
|
202
199
|
):
|
203
200
|
"""Create new CH gate."""
|
@@ -209,8 +206,6 @@ class CHGate(SingletonControlledGate):
|
|
209
206
|
label=label,
|
210
207
|
ctrl_state=ctrl_state,
|
211
208
|
base_gate=HGate(label=_base_label),
|
212
|
-
duration=duration,
|
213
|
-
unit=unit,
|
214
209
|
_base_label=_base_label,
|
215
210
|
)
|
216
211
|
|
@@ -229,7 +224,7 @@ class CHGate(SingletonControlledGate):
|
|
229
224
|
}
|
230
225
|
"""
|
231
226
|
# pylint: disable=cyclic-import
|
232
|
-
from qiskit.circuit
|
227
|
+
from qiskit.circuit import QuantumCircuit, QuantumRegister
|
233
228
|
from .x import CXGate # pylint: disable=cyclic-import
|
234
229
|
from .t import TGate, TdgGate
|
235
230
|
from .s import SGate, SdgGate
|
@@ -49,9 +49,9 @@ class IGate(SingletonGate):
|
|
49
49
|
|
50
50
|
_standard_gate = StandardGate.IGate
|
51
51
|
|
52
|
-
def __init__(self, label: Optional[str] = None
|
52
|
+
def __init__(self, label: Optional[str] = None):
|
53
53
|
"""Create new Identity gate."""
|
54
|
-
super().__init__("id", 1, [], label=label
|
54
|
+
super().__init__("id", 1, [], label=label)
|
55
55
|
|
56
56
|
_singleton_lookup_key = stdlib_singleton_key()
|
57
57
|
|
@@ -17,7 +17,6 @@ from typing import Optional
|
|
17
17
|
import numpy as np
|
18
18
|
|
19
19
|
from qiskit.circuit.singleton import SingletonGate, stdlib_singleton_key
|
20
|
-
from qiskit.circuit.quantumregister import QuantumRegister
|
21
20
|
from qiskit.circuit._utils import with_gate_array
|
22
21
|
from qiskit._accelerate.circuit import StandardGate
|
23
22
|
|
@@ -88,9 +87,9 @@ class iSwapGate(SingletonGate):
|
|
88
87
|
|
89
88
|
_standard_gate = StandardGate.ISwapGate
|
90
89
|
|
91
|
-
def __init__(self, label: Optional[str] = None
|
90
|
+
def __init__(self, label: Optional[str] = None):
|
92
91
|
"""Create new iSwap gate."""
|
93
|
-
super().__init__("iswap", 2, [], label=label
|
92
|
+
super().__init__("iswap", 2, [], label=label)
|
94
93
|
|
95
94
|
_singleton_lookup_key = stdlib_singleton_key()
|
96
95
|
|
@@ -106,7 +105,7 @@ class iSwapGate(SingletonGate):
|
|
106
105
|
}
|
107
106
|
"""
|
108
107
|
# pylint: disable=cyclic-import
|
109
|
-
from qiskit.circuit
|
108
|
+
from qiskit.circuit import QuantumCircuit, QuantumRegister
|
110
109
|
|
111
110
|
from .h import HGate
|
112
111
|
from .s import SGate
|
@@ -17,7 +17,6 @@ from cmath import exp
|
|
17
17
|
import numpy
|
18
18
|
from qiskit.circuit.controlledgate import ControlledGate
|
19
19
|
from qiskit.circuit.gate import Gate
|
20
|
-
from qiskit.circuit.quantumregister import QuantumRegister
|
21
20
|
from qiskit.circuit.parameterexpression import ParameterValueType
|
22
21
|
from qiskit._accelerate.circuit import StandardGate
|
23
22
|
|
@@ -78,15 +77,13 @@ class PhaseGate(Gate):
|
|
78
77
|
|
79
78
|
_standard_gate = StandardGate.PhaseGate
|
80
79
|
|
81
|
-
def __init__(
|
82
|
-
self, theta: ParameterValueType, label: str | None = None, *, duration=None, unit="dt"
|
83
|
-
):
|
80
|
+
def __init__(self, theta: ParameterValueType, label: str | None = None):
|
84
81
|
"""Create new Phase gate."""
|
85
|
-
super().__init__("p", 1, [theta], label=label
|
82
|
+
super().__init__("p", 1, [theta], label=label)
|
86
83
|
|
87
84
|
def _define(self):
|
88
85
|
# pylint: disable=cyclic-import
|
89
|
-
from qiskit.circuit
|
86
|
+
from qiskit.circuit import QuantumCircuit, QuantumRegister
|
90
87
|
from .u import UGate
|
91
88
|
|
92
89
|
q = QuantumRegister(1, "q")
|
@@ -208,8 +205,6 @@ class CPhaseGate(ControlledGate):
|
|
208
205
|
label: str | None = None,
|
209
206
|
ctrl_state: str | int | None = None,
|
210
207
|
*,
|
211
|
-
duration=None,
|
212
|
-
unit="dt",
|
213
208
|
_base_label=None,
|
214
209
|
):
|
215
210
|
"""Create new CPhase gate."""
|
@@ -221,8 +216,6 @@ class CPhaseGate(ControlledGate):
|
|
221
216
|
label=label,
|
222
217
|
ctrl_state=ctrl_state,
|
223
218
|
base_gate=PhaseGate(theta, label=_base_label),
|
224
|
-
duration=duration,
|
225
|
-
unit=unit,
|
226
219
|
)
|
227
220
|
|
228
221
|
def _define(self):
|
@@ -234,7 +227,7 @@ class CPhaseGate(ControlledGate):
|
|
234
227
|
}
|
235
228
|
"""
|
236
229
|
# pylint: disable=cyclic-import
|
237
|
-
from qiskit.circuit
|
230
|
+
from qiskit.circuit import QuantumCircuit, QuantumRegister
|
238
231
|
|
239
232
|
# ┌────────┐
|
240
233
|
# q_0: ┤ P(λ/2) ├──■───────────────■────────────
|
@@ -342,8 +335,6 @@ class MCPhaseGate(ControlledGate):
|
|
342
335
|
label: str | None = None,
|
343
336
|
ctrl_state: str | int | None = None,
|
344
337
|
*,
|
345
|
-
duration=None,
|
346
|
-
unit="dt",
|
347
338
|
_base_label=None,
|
348
339
|
):
|
349
340
|
"""Create new MCPhase gate."""
|
@@ -355,13 +346,11 @@ class MCPhaseGate(ControlledGate):
|
|
355
346
|
label=label,
|
356
347
|
ctrl_state=ctrl_state,
|
357
348
|
base_gate=PhaseGate(lam, label=_base_label),
|
358
|
-
duration=duration,
|
359
|
-
unit=unit,
|
360
349
|
)
|
361
350
|
|
362
351
|
def _define(self):
|
363
352
|
# pylint: disable=cyclic-import
|
364
|
-
from qiskit.circuit
|
353
|
+
from qiskit.circuit import QuantumCircuit, QuantumRegister
|
365
354
|
|
366
355
|
qr = QuantumRegister(self.num_qubits, "q")
|
367
356
|
qc = QuantumCircuit(qr, name=self.name)
|
@@ -372,24 +361,16 @@ class MCPhaseGate(ControlledGate):
|
|
372
361
|
qc.cp(self.params[0], 0, 1)
|
373
362
|
else:
|
374
363
|
lam = self.params[0]
|
375
|
-
|
376
|
-
|
377
|
-
|
378
|
-
|
379
|
-
|
380
|
-
|
381
|
-
|
382
|
-
|
383
|
-
|
384
|
-
|
385
|
-
from .u3 import _gray_code_chain
|
386
|
-
|
387
|
-
scaled_lam = self.params[0] / (2 ** (self.num_ctrl_qubits - 1))
|
388
|
-
bottom_gate = CPhaseGate(scaled_lam)
|
389
|
-
for operation, qubits, clbits in _gray_code_chain(
|
390
|
-
qr, self.num_ctrl_qubits, bottom_gate
|
391
|
-
):
|
392
|
-
qc._append(operation, qubits, clbits)
|
364
|
+
|
365
|
+
q_controls = list(range(self.num_ctrl_qubits))
|
366
|
+
q_target = self.num_ctrl_qubits
|
367
|
+
new_target = q_target
|
368
|
+
for k in range(self.num_ctrl_qubits):
|
369
|
+
# Note: it's better *not* to run transpile recursively
|
370
|
+
qc.mcrz(lam / (2**k), q_controls, new_target, use_basis_gates=False)
|
371
|
+
new_target = q_controls.pop()
|
372
|
+
qc.p(lam / (2**self.num_ctrl_qubits), new_target)
|
373
|
+
|
393
374
|
self.definition = qc
|
394
375
|
|
395
376
|
def control(
|
@@ -18,7 +18,6 @@ from math import pi
|
|
18
18
|
from typing import Optional
|
19
19
|
import numpy
|
20
20
|
from qiskit.circuit.gate import Gate
|
21
|
-
from qiskit.circuit.quantumregister import QuantumRegister
|
22
21
|
from qiskit.circuit.parameterexpression import ParameterValueType
|
23
22
|
from qiskit._accelerate.circuit import StandardGate
|
24
23
|
|
@@ -57,19 +56,16 @@ class RGate(Gate):
|
|
57
56
|
theta: ParameterValueType,
|
58
57
|
phi: ParameterValueType,
|
59
58
|
label: Optional[str] = None,
|
60
|
-
*,
|
61
|
-
duration=None,
|
62
|
-
unit="dt",
|
63
59
|
):
|
64
60
|
"""Create new r single-qubit gate."""
|
65
|
-
super().__init__("r", 1, [theta, phi], label=label
|
61
|
+
super().__init__("r", 1, [theta, phi], label=label)
|
66
62
|
|
67
63
|
def _define(self):
|
68
64
|
"""
|
69
65
|
gate r(θ, φ) a {u3(θ, φ - π/2, -φ + π/2) a;}
|
70
66
|
"""
|
71
67
|
# pylint: disable=cyclic-import
|
72
|
-
from qiskit.circuit
|
68
|
+
from qiskit.circuit import QuantumCircuit, QuantumRegister
|
73
69
|
from .u3 import U3Gate
|
74
70
|
|
75
71
|
q = QuantumRegister(1, "q")
|
@@ -21,8 +21,7 @@ import numpy
|
|
21
21
|
|
22
22
|
from qiskit.circuit.controlledgate import ControlledGate
|
23
23
|
from qiskit.circuit.gate import Gate
|
24
|
-
from qiskit.circuit.
|
25
|
-
from qiskit.circuit.parameterexpression import ParameterValueType, ParameterExpression
|
24
|
+
from qiskit.circuit.parameterexpression import ParameterValueType
|
26
25
|
from qiskit._accelerate.circuit import StandardGate
|
27
26
|
|
28
27
|
|
@@ -55,18 +54,16 @@ class RXGate(Gate):
|
|
55
54
|
|
56
55
|
_standard_gate = StandardGate.RXGate
|
57
56
|
|
58
|
-
def __init__(
|
59
|
-
self, theta: ParameterValueType, label: Optional[str] = None, *, duration=None, unit="dt"
|
60
|
-
):
|
57
|
+
def __init__(self, theta: ParameterValueType, label: Optional[str] = None):
|
61
58
|
"""Create new RX gate."""
|
62
|
-
super().__init__("rx", 1, [theta], label=label
|
59
|
+
super().__init__("rx", 1, [theta], label=label)
|
63
60
|
|
64
61
|
def _define(self):
|
65
62
|
"""
|
66
63
|
gate rx(theta) a {r(theta, 0) a;}
|
67
64
|
"""
|
68
65
|
# pylint: disable=cyclic-import
|
69
|
-
from qiskit.circuit
|
66
|
+
from qiskit.circuit import QuantumCircuit, QuantumRegister
|
70
67
|
from .r import RGate
|
71
68
|
|
72
69
|
q = QuantumRegister(1, "q")
|
@@ -104,11 +101,6 @@ class RXGate(Gate):
|
|
104
101
|
gate = CRXGate(self.params[0], label=label, ctrl_state=ctrl_state)
|
105
102
|
gate.base_gate.label = self.label
|
106
103
|
else:
|
107
|
-
# If the gate parameters contain free parameters, we cannot eagerly synthesize
|
108
|
-
# the controlled gate decomposition. In this case, we annotate the gate per default.
|
109
|
-
if annotated is None:
|
110
|
-
annotated = any(isinstance(p, ParameterExpression) for p in self.params)
|
111
|
-
|
112
104
|
gate = super().control(
|
113
105
|
num_ctrl_qubits=num_ctrl_qubits,
|
114
106
|
label=label,
|
@@ -218,8 +210,6 @@ class CRXGate(ControlledGate):
|
|
218
210
|
label: Optional[str] = None,
|
219
211
|
ctrl_state: Optional[Union[str, int]] = None,
|
220
212
|
*,
|
221
|
-
duration=None,
|
222
|
-
unit="dt",
|
223
213
|
_base_label=None,
|
224
214
|
):
|
225
215
|
"""Create new CRX gate."""
|
@@ -244,7 +234,7 @@ class CRXGate(ControlledGate):
|
|
244
234
|
}
|
245
235
|
"""
|
246
236
|
# pylint: disable=cyclic-import
|
247
|
-
from qiskit.circuit
|
237
|
+
from qiskit.circuit import QuantumCircuit, QuantumRegister
|
248
238
|
from .u1 import U1Gate
|
249
239
|
from .u3 import U3Gate
|
250
240
|
from .x import CXGate
|
@@ -18,7 +18,6 @@ import math
|
|
18
18
|
from typing import Optional
|
19
19
|
import numpy
|
20
20
|
from qiskit.circuit.gate import Gate
|
21
|
-
from qiskit.circuit.quantumregister import QuantumRegister
|
22
21
|
from qiskit.circuit.parameterexpression import ParameterValueType, ParameterExpression
|
23
22
|
from qiskit._accelerate.circuit import StandardGate
|
24
23
|
|
@@ -78,16 +77,14 @@ class RXXGate(Gate):
|
|
78
77
|
|
79
78
|
_standard_gate = StandardGate.RXXGate
|
80
79
|
|
81
|
-
def __init__(
|
82
|
-
self, theta: ParameterValueType, label: Optional[str] = None, *, duration=None, unit="dt"
|
83
|
-
):
|
80
|
+
def __init__(self, theta: ParameterValueType, label: Optional[str] = None):
|
84
81
|
"""Create new RXX gate."""
|
85
|
-
super().__init__("rxx", 2, [theta], label=label
|
82
|
+
super().__init__("rxx", 2, [theta], label=label)
|
86
83
|
|
87
84
|
def _define(self):
|
88
85
|
"""Calculate a subcircuit that implements this unitary."""
|
89
86
|
# pylint: disable=cyclic-import
|
90
|
-
from qiskit.circuit
|
87
|
+
from qiskit.circuit import QuantumCircuit, QuantumRegister
|
91
88
|
from .x import CXGate
|
92
89
|
from .h import HGate
|
93
90
|
from .rz import RZGate
|
@@ -20,8 +20,7 @@ from typing import Optional, Union
|
|
20
20
|
import numpy
|
21
21
|
from qiskit.circuit.controlledgate import ControlledGate
|
22
22
|
from qiskit.circuit.gate import Gate
|
23
|
-
from qiskit.circuit.
|
24
|
-
from qiskit.circuit.parameterexpression import ParameterValueType, ParameterExpression
|
23
|
+
from qiskit.circuit.parameterexpression import ParameterValueType
|
25
24
|
from qiskit._accelerate.circuit import StandardGate
|
26
25
|
|
27
26
|
|
@@ -54,18 +53,16 @@ class RYGate(Gate):
|
|
54
53
|
|
55
54
|
_standard_gate = StandardGate.RYGate
|
56
55
|
|
57
|
-
def __init__(
|
58
|
-
self, theta: ParameterValueType, label: Optional[str] = None, *, duration=None, unit="dt"
|
59
|
-
):
|
56
|
+
def __init__(self, theta: ParameterValueType, label: Optional[str] = None):
|
60
57
|
"""Create new RY gate."""
|
61
|
-
super().__init__("ry", 1, [theta], label=label
|
58
|
+
super().__init__("ry", 1, [theta], label=label)
|
62
59
|
|
63
60
|
def _define(self):
|
64
61
|
"""
|
65
62
|
gate ry(theta) a { r(theta, pi/2) a; }
|
66
63
|
"""
|
67
64
|
# pylint: disable=cyclic-import
|
68
|
-
from qiskit.circuit
|
65
|
+
from qiskit.circuit import QuantumCircuit, QuantumRegister
|
69
66
|
from .r import RGate
|
70
67
|
|
71
68
|
q = QuantumRegister(1, "q")
|
@@ -103,11 +100,6 @@ class RYGate(Gate):
|
|
103
100
|
gate = CRYGate(self.params[0], label=label, ctrl_state=ctrl_state)
|
104
101
|
gate.base_gate.label = self.label
|
105
102
|
else:
|
106
|
-
# If the gate parameters contain free parameters, we cannot eagerly synthesize
|
107
|
-
# the controlled gate decomposition. In this case, we annotate the gate per default.
|
108
|
-
if annotated is None:
|
109
|
-
annotated = any(isinstance(p, ParameterExpression) for p in self.params)
|
110
|
-
|
111
103
|
gate = super().control(
|
112
104
|
num_ctrl_qubits=num_ctrl_qubits,
|
113
105
|
label=label,
|
@@ -217,8 +209,6 @@ class CRYGate(ControlledGate):
|
|
217
209
|
label: Optional[str] = None,
|
218
210
|
ctrl_state: Optional[Union[str, int]] = None,
|
219
211
|
*,
|
220
|
-
duration=None,
|
221
|
-
unit="dt",
|
222
212
|
_base_label=None,
|
223
213
|
):
|
224
214
|
"""Create new CRY gate."""
|
@@ -230,8 +220,6 @@ class CRYGate(ControlledGate):
|
|
230
220
|
label=label,
|
231
221
|
ctrl_state=ctrl_state,
|
232
222
|
base_gate=RYGate(theta, label=_base_label),
|
233
|
-
duration=duration,
|
234
|
-
unit=unit,
|
235
223
|
)
|
236
224
|
|
237
225
|
def _define(self):
|
@@ -242,7 +230,7 @@ class CRYGate(ControlledGate):
|
|
242
230
|
}
|
243
231
|
"""
|
244
232
|
# pylint: disable=cyclic-import
|
245
|
-
from qiskit.circuit
|
233
|
+
from qiskit.circuit import QuantumCircuit, QuantumRegister
|
246
234
|
from .x import CXGate
|
247
235
|
|
248
236
|
# q_0: ─────────────■───────────────■──
|
@@ -18,7 +18,6 @@ import math
|
|
18
18
|
from typing import Optional
|
19
19
|
import numpy as np
|
20
20
|
from qiskit.circuit.gate import Gate
|
21
|
-
from qiskit.circuit.quantumregister import QuantumRegister
|
22
21
|
from qiskit.circuit.parameterexpression import ParameterValueType, ParameterExpression
|
23
22
|
from qiskit._accelerate.circuit import StandardGate
|
24
23
|
|
@@ -78,16 +77,14 @@ class RYYGate(Gate):
|
|
78
77
|
|
79
78
|
_standard_gate = StandardGate.RYYGate
|
80
79
|
|
81
|
-
def __init__(
|
82
|
-
self, theta: ParameterValueType, label: Optional[str] = None, *, duration=None, unit="dt"
|
83
|
-
):
|
80
|
+
def __init__(self, theta: ParameterValueType, label: Optional[str] = None):
|
84
81
|
"""Create new RYY gate."""
|
85
|
-
super().__init__("ryy", 2, [theta], label=label
|
82
|
+
super().__init__("ryy", 2, [theta], label=label)
|
86
83
|
|
87
84
|
def _define(self):
|
88
85
|
"""Calculate a subcircuit that implements this unitary."""
|
89
86
|
# pylint: disable=cyclic-import
|
90
|
-
from qiskit.circuit
|
87
|
+
from qiskit.circuit import QuantumCircuit, QuantumRegister
|
91
88
|
from .x import CXGate
|
92
89
|
from .rx import RXGate
|
93
90
|
from .rz import RZGate
|
@@ -18,8 +18,7 @@ from cmath import exp
|
|
18
18
|
from typing import Optional, Union
|
19
19
|
from qiskit.circuit.gate import Gate
|
20
20
|
from qiskit.circuit.controlledgate import ControlledGate
|
21
|
-
from qiskit.circuit.
|
22
|
-
from qiskit.circuit.parameterexpression import ParameterValueType, ParameterExpression
|
21
|
+
from qiskit.circuit.parameterexpression import ParameterValueType
|
23
22
|
from qiskit._accelerate.circuit import StandardGate
|
24
23
|
|
25
24
|
|
@@ -65,18 +64,16 @@ class RZGate(Gate):
|
|
65
64
|
|
66
65
|
_standard_gate = StandardGate.RZGate
|
67
66
|
|
68
|
-
def __init__(
|
69
|
-
self, phi: ParameterValueType, label: Optional[str] = None, *, duration=None, unit="dt"
|
70
|
-
):
|
67
|
+
def __init__(self, phi: ParameterValueType, label: Optional[str] = None):
|
71
68
|
"""Create new RZ gate."""
|
72
|
-
super().__init__("rz", 1, [phi], label=label
|
69
|
+
super().__init__("rz", 1, [phi], label=label)
|
73
70
|
|
74
71
|
def _define(self):
|
75
72
|
"""
|
76
73
|
gate rz(phi) a { u1(phi) a; }
|
77
74
|
"""
|
78
75
|
# pylint: disable=cyclic-import
|
79
|
-
from qiskit.circuit
|
76
|
+
from qiskit.circuit import QuantumCircuit, QuantumRegister
|
80
77
|
from .u1 import U1Gate
|
81
78
|
|
82
79
|
q = QuantumRegister(1, "q")
|
@@ -115,11 +112,6 @@ class RZGate(Gate):
|
|
115
112
|
gate = CRZGate(self.params[0], label=label, ctrl_state=ctrl_state)
|
116
113
|
gate.base_gate.label = self.label
|
117
114
|
else:
|
118
|
-
# If the gate parameters contain free parameters, we cannot eagerly synthesize
|
119
|
-
# the controlled gate decomposition. In this case, we annotate the gate per default.
|
120
|
-
if annotated is None:
|
121
|
-
annotated = any(isinstance(p, ParameterExpression) for p in self.params)
|
122
|
-
|
123
115
|
gate = super().control(
|
124
116
|
num_ctrl_qubits=num_ctrl_qubits,
|
125
117
|
label=label,
|
@@ -236,8 +228,6 @@ class CRZGate(ControlledGate):
|
|
236
228
|
label: Optional[str] = None,
|
237
229
|
ctrl_state: Optional[Union[str, int]] = None,
|
238
230
|
*,
|
239
|
-
duration=None,
|
240
|
-
unit="dt",
|
241
231
|
_base_label=None,
|
242
232
|
):
|
243
233
|
"""Create new CRZ gate."""
|
@@ -249,8 +239,6 @@ class CRZGate(ControlledGate):
|
|
249
239
|
label=label,
|
250
240
|
ctrl_state=ctrl_state,
|
251
241
|
base_gate=RZGate(theta, label=_base_label),
|
252
|
-
duration=duration,
|
253
|
-
unit=unit,
|
254
242
|
)
|
255
243
|
|
256
244
|
def _define(self):
|
@@ -261,7 +249,7 @@ class CRZGate(ControlledGate):
|
|
261
249
|
}
|
262
250
|
"""
|
263
251
|
# pylint: disable=cyclic-import
|
264
|
-
from qiskit.circuit
|
252
|
+
from qiskit.circuit import QuantumCircuit, QuantumRegister
|
265
253
|
from .x import CXGate
|
266
254
|
|
267
255
|
# q_0: ─────────────■────────────────■──
|
@@ -17,7 +17,6 @@ from __future__ import annotations
|
|
17
17
|
import math
|
18
18
|
from typing import Optional
|
19
19
|
from qiskit.circuit.gate import Gate
|
20
|
-
from qiskit.circuit.quantumregister import QuantumRegister
|
21
20
|
from qiskit.circuit.parameterexpression import ParameterValueType, ParameterExpression
|
22
21
|
from qiskit._accelerate.circuit import StandardGate
|
23
22
|
|
@@ -123,18 +122,16 @@ class RZXGate(Gate):
|
|
123
122
|
|
124
123
|
_standard_gate = StandardGate.RZXGate
|
125
124
|
|
126
|
-
def __init__(
|
127
|
-
self, theta: ParameterValueType, label: Optional[str] = None, *, duration=None, unit="dt"
|
128
|
-
):
|
125
|
+
def __init__(self, theta: ParameterValueType, label: Optional[str] = None):
|
129
126
|
"""Create new RZX gate."""
|
130
|
-
super().__init__("rzx", 2, [theta], label=label
|
127
|
+
super().__init__("rzx", 2, [theta], label=label)
|
131
128
|
|
132
129
|
def _define(self):
|
133
130
|
"""
|
134
131
|
gate rzx(theta) a, b { h b; cx a, b; u1(theta) b; cx a, b; h b;}
|
135
132
|
"""
|
136
133
|
# pylint: disable=cyclic-import
|
137
|
-
from qiskit.circuit
|
134
|
+
from qiskit.circuit import QuantumCircuit, QuantumRegister
|
138
135
|
from .h import HGate
|
139
136
|
from .x import CXGate
|
140
137
|
from .rz import RZGate
|
@@ -17,7 +17,6 @@ from __future__ import annotations
|
|
17
17
|
from cmath import exp
|
18
18
|
from typing import Optional
|
19
19
|
from qiskit.circuit.gate import Gate
|
20
|
-
from qiskit.circuit.quantumregister import QuantumRegister
|
21
20
|
from qiskit.circuit.parameterexpression import ParameterValueType, ParameterExpression
|
22
21
|
from qiskit._accelerate.circuit import StandardGate
|
23
22
|
|
@@ -90,18 +89,16 @@ class RZZGate(Gate):
|
|
90
89
|
|
91
90
|
_standard_gate = StandardGate.RZZGate
|
92
91
|
|
93
|
-
def __init__(
|
94
|
-
self, theta: ParameterValueType, label: Optional[str] = None, *, duration=None, unit="dt"
|
95
|
-
):
|
92
|
+
def __init__(self, theta: ParameterValueType, label: Optional[str] = None):
|
96
93
|
"""Create new RZZ gate."""
|
97
|
-
super().__init__("rzz", 2, [theta], label=label
|
94
|
+
super().__init__("rzz", 2, [theta], label=label)
|
98
95
|
|
99
96
|
def _define(self):
|
100
97
|
"""
|
101
98
|
gate rzz(theta) a, b { cx a, b; u1(theta) b; cx a, b; }
|
102
99
|
"""
|
103
100
|
# pylint: disable=cyclic-import
|
104
|
-
from qiskit.circuit
|
101
|
+
from qiskit.circuit import QuantumCircuit, QuantumRegister
|
105
102
|
from .x import CXGate
|
106
103
|
from .rz import RZGate
|
107
104
|
|