qiskit 1.3.0__cp39-abi3-win32.whl → 1.3.0b1__cp39-abi3-win32.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- qiskit/VERSION.txt +1 -1
- qiskit/__init__.py +1 -20
- qiskit/_accelerate.pyd +0 -0
- qiskit/assembler/assemble_schedules.py +0 -2
- qiskit/circuit/__init__.py +1 -44
- qiskit/circuit/_standard_gates_commutations.py +0 -585
- qiskit/circuit/barrier.py +0 -2
- qiskit/circuit/controlflow/builder.py +3 -3
- qiskit/circuit/controlflow/if_else.py +5 -13
- qiskit/circuit/controlflow/while_loop.py +2 -10
- qiskit/circuit/delay.py +3 -20
- qiskit/circuit/equivalence.py +214 -13
- qiskit/circuit/gate.py +1 -3
- qiskit/circuit/instruction.py +11 -32
- qiskit/circuit/instructionset.py +0 -2
- qiskit/circuit/library/__init__.py +14 -110
- qiskit/circuit/library/arithmetic/__init__.py +2 -9
- qiskit/circuit/library/arithmetic/adders/__init__.py +0 -1
- qiskit/circuit/library/arithmetic/adders/adder.py +2 -154
- qiskit/circuit/library/arithmetic/adders/cdkm_ripple_carry_adder.py +56 -20
- qiskit/circuit/library/arithmetic/adders/draper_qft_adder.py +1 -14
- qiskit/circuit/library/arithmetic/adders/vbe_ripple_carry_adder.py +91 -21
- qiskit/circuit/library/arithmetic/linear_pauli_rotations.py +1 -1
- qiskit/circuit/library/arithmetic/multipliers/__init__.py +0 -1
- qiskit/circuit/library/arithmetic/multipliers/hrs_cumulative_multiplier.py +1 -8
- qiskit/circuit/library/arithmetic/multipliers/multiplier.py +3 -94
- qiskit/circuit/library/arithmetic/multipliers/rg_qft_multiplier.py +1 -8
- qiskit/circuit/library/arithmetic/weighted_adder.py +1 -1
- qiskit/circuit/library/basis_change/qft.py +38 -20
- qiskit/circuit/library/blueprintcircuit.py +0 -64
- qiskit/circuit/library/boolean_logic/__init__.py +4 -4
- qiskit/circuit/library/boolean_logic/inner_product.py +4 -81
- qiskit/circuit/library/boolean_logic/quantum_and.py +4 -107
- qiskit/circuit/library/boolean_logic/quantum_or.py +3 -107
- qiskit/circuit/library/boolean_logic/quantum_xor.py +3 -97
- qiskit/circuit/library/data_preparation/__init__.py +3 -6
- qiskit/circuit/library/data_preparation/pauli_feature_map.py +29 -342
- qiskit/circuit/library/data_preparation/{_z_feature_map.py → z_feature_map.py} +34 -45
- qiskit/circuit/library/data_preparation/zz_feature_map.py +118 -0
- qiskit/circuit/library/fourier_checking.py +11 -72
- qiskit/circuit/library/generalized_gates/__init__.py +1 -1
- qiskit/circuit/library/generalized_gates/diagonal.py +51 -45
- qiskit/circuit/library/generalized_gates/gms.py +14 -67
- qiskit/circuit/library/generalized_gates/gr.py +4 -4
- qiskit/circuit/library/generalized_gates/isometry.py +2 -2
- qiskit/circuit/library/generalized_gates/linear_function.py +6 -12
- qiskit/circuit/library/generalized_gates/mcmt.py +107 -167
- qiskit/circuit/library/generalized_gates/permutation.py +6 -8
- qiskit/circuit/library/generalized_gates/rv.py +9 -8
- qiskit/circuit/library/graph_state.py +10 -93
- qiskit/circuit/library/grover_operator.py +2 -270
- qiskit/circuit/library/hidden_linear_function.py +20 -83
- qiskit/circuit/library/iqp.py +20 -99
- qiskit/circuit/library/n_local/__init__.py +7 -19
- qiskit/circuit/library/n_local/efficient_su2.py +5 -118
- qiskit/circuit/library/n_local/evolved_operator_ansatz.py +0 -259
- qiskit/circuit/library/n_local/excitation_preserving.py +6 -130
- qiskit/circuit/library/n_local/n_local.py +5 -406
- qiskit/circuit/library/n_local/pauli_two_design.py +4 -106
- qiskit/circuit/library/n_local/qaoa_ansatz.py +1 -80
- qiskit/circuit/library/n_local/real_amplitudes.py +7 -127
- qiskit/circuit/library/n_local/two_local.py +7 -14
- qiskit/circuit/library/overlap.py +26 -91
- qiskit/circuit/library/pauli_evolution.py +15 -17
- qiskit/circuit/library/phase_estimation.py +4 -80
- qiskit/circuit/library/quantum_volume.py +20 -72
- qiskit/circuit/library/standard_gates/__init__.py +1 -20
- qiskit/circuit/library/standard_gates/dcx.py +1 -2
- qiskit/circuit/library/standard_gates/ecr.py +2 -2
- qiskit/circuit/library/standard_gates/h.py +3 -4
- qiskit/circuit/library/standard_gates/i.py +1 -2
- qiskit/circuit/library/standard_gates/iswap.py +2 -2
- qiskit/circuit/library/standard_gates/p.py +12 -20
- qiskit/circuit/library/standard_gates/r.py +1 -1
- qiskit/circuit/library/standard_gates/rx.py +3 -4
- qiskit/circuit/library/standard_gates/rxx.py +2 -2
- qiskit/circuit/library/standard_gates/ry.py +3 -4
- qiskit/circuit/library/standard_gates/ryy.py +2 -2
- qiskit/circuit/library/standard_gates/rz.py +12 -13
- qiskit/circuit/library/standard_gates/rzx.py +6 -6
- qiskit/circuit/library/standard_gates/rzz.py +1 -1
- qiskit/circuit/library/standard_gates/s.py +4 -4
- qiskit/circuit/library/standard_gates/swap.py +3 -3
- qiskit/circuit/library/standard_gates/sx.py +3 -4
- qiskit/circuit/library/standard_gates/t.py +2 -2
- qiskit/circuit/library/standard_gates/u.py +3 -11
- qiskit/circuit/library/standard_gates/u1.py +15 -65
- qiskit/circuit/library/standard_gates/u2.py +1 -4
- qiskit/circuit/library/standard_gates/u3.py +3 -31
- qiskit/circuit/library/standard_gates/x.py +5 -7
- qiskit/circuit/library/standard_gates/xx_minus_yy.py +2 -2
- qiskit/circuit/library/standard_gates/xx_plus_yy.py +2 -2
- qiskit/circuit/library/standard_gates/y.py +3 -4
- qiskit/circuit/library/standard_gates/z.py +3 -3
- qiskit/circuit/library/templates/clifford/clifford_2_1.py +8 -9
- qiskit/circuit/library/templates/clifford/clifford_2_2.py +9 -10
- qiskit/circuit/library/templates/clifford/clifford_2_3.py +7 -9
- qiskit/circuit/library/templates/clifford/clifford_2_4.py +8 -9
- qiskit/circuit/library/templates/clifford/clifford_3_1.py +8 -9
- qiskit/circuit/library/templates/clifford/clifford_4_1.py +9 -10
- qiskit/circuit/library/templates/clifford/clifford_4_2.py +9 -10
- qiskit/circuit/library/templates/clifford/clifford_4_3.py +9 -10
- qiskit/circuit/library/templates/clifford/clifford_4_4.py +9 -10
- qiskit/circuit/library/templates/clifford/clifford_5_1.py +9 -10
- qiskit/circuit/library/templates/clifford/clifford_6_1.py +9 -10
- qiskit/circuit/library/templates/clifford/clifford_6_2.py +9 -10
- qiskit/circuit/library/templates/clifford/clifford_6_3.py +9 -10
- qiskit/circuit/library/templates/clifford/clifford_6_4.py +8 -9
- qiskit/circuit/library/templates/clifford/clifford_6_5.py +9 -10
- qiskit/circuit/library/templates/clifford/clifford_8_1.py +9 -10
- qiskit/circuit/library/templates/clifford/clifford_8_2.py +9 -10
- qiskit/circuit/library/templates/clifford/clifford_8_3.py +9 -10
- qiskit/circuit/library/templates/nct/template_nct_2a_1.py +7 -9
- qiskit/circuit/library/templates/nct/template_nct_2a_2.py +8 -10
- qiskit/circuit/library/templates/nct/template_nct_2a_3.py +10 -12
- qiskit/circuit/library/templates/nct/template_nct_4a_1.py +14 -16
- qiskit/circuit/library/templates/nct/template_nct_4a_2.py +12 -14
- qiskit/circuit/library/templates/nct/template_nct_4a_3.py +10 -12
- qiskit/circuit/library/templates/nct/template_nct_4b_1.py +12 -14
- qiskit/circuit/library/templates/nct/template_nct_4b_2.py +10 -12
- qiskit/circuit/library/templates/nct/template_nct_5a_1.py +10 -12
- qiskit/circuit/library/templates/nct/template_nct_5a_2.py +10 -12
- qiskit/circuit/library/templates/nct/template_nct_5a_3.py +10 -12
- qiskit/circuit/library/templates/nct/template_nct_5a_4.py +9 -11
- qiskit/circuit/library/templates/nct/template_nct_6a_1.py +9 -11
- qiskit/circuit/library/templates/nct/template_nct_6a_2.py +10 -12
- qiskit/circuit/library/templates/nct/template_nct_6a_3.py +10 -12
- qiskit/circuit/library/templates/nct/template_nct_6a_4.py +10 -12
- qiskit/circuit/library/templates/nct/template_nct_6b_1.py +10 -12
- qiskit/circuit/library/templates/nct/template_nct_6b_2.py +10 -12
- qiskit/circuit/library/templates/nct/template_nct_6c_1.py +10 -12
- qiskit/circuit/library/templates/nct/template_nct_7a_1.py +11 -13
- qiskit/circuit/library/templates/nct/template_nct_7b_1.py +11 -13
- qiskit/circuit/library/templates/nct/template_nct_7c_1.py +11 -13
- qiskit/circuit/library/templates/nct/template_nct_7d_1.py +11 -13
- qiskit/circuit/library/templates/nct/template_nct_7e_1.py +11 -13
- qiskit/circuit/library/templates/nct/template_nct_9a_1.py +11 -13
- qiskit/circuit/library/templates/nct/template_nct_9c_1.py +9 -11
- qiskit/circuit/library/templates/nct/template_nct_9c_10.py +10 -12
- qiskit/circuit/library/templates/nct/template_nct_9c_11.py +10 -12
- qiskit/circuit/library/templates/nct/template_nct_9c_12.py +10 -12
- qiskit/circuit/library/templates/nct/template_nct_9c_2.py +10 -12
- qiskit/circuit/library/templates/nct/template_nct_9c_3.py +10 -12
- qiskit/circuit/library/templates/nct/template_nct_9c_4.py +10 -12
- qiskit/circuit/library/templates/nct/template_nct_9c_5.py +10 -12
- qiskit/circuit/library/templates/nct/template_nct_9c_6.py +10 -12
- qiskit/circuit/library/templates/nct/template_nct_9c_7.py +10 -12
- qiskit/circuit/library/templates/nct/template_nct_9c_8.py +10 -12
- qiskit/circuit/library/templates/nct/template_nct_9c_9.py +10 -12
- qiskit/circuit/library/templates/nct/template_nct_9d_1.py +9 -11
- qiskit/circuit/library/templates/nct/template_nct_9d_10.py +10 -12
- qiskit/circuit/library/templates/nct/template_nct_9d_2.py +10 -12
- qiskit/circuit/library/templates/nct/template_nct_9d_3.py +10 -12
- qiskit/circuit/library/templates/nct/template_nct_9d_4.py +10 -12
- qiskit/circuit/library/templates/nct/template_nct_9d_5.py +10 -12
- qiskit/circuit/library/templates/nct/template_nct_9d_6.py +10 -12
- qiskit/circuit/library/templates/nct/template_nct_9d_7.py +10 -12
- qiskit/circuit/library/templates/nct/template_nct_9d_8.py +10 -12
- qiskit/circuit/library/templates/nct/template_nct_9d_9.py +10 -12
- qiskit/circuit/library/templates/rzx/rzx_cy.py +10 -11
- qiskit/circuit/library/templates/rzx/rzx_xz.py +15 -16
- qiskit/circuit/library/templates/rzx/rzx_yz.py +10 -12
- qiskit/circuit/library/templates/rzx/rzx_zz1.py +20 -22
- qiskit/circuit/library/templates/rzx/rzx_zz2.py +15 -16
- qiskit/circuit/library/templates/rzx/rzx_zz3.py +15 -17
- qiskit/circuit/parameter.py +0 -4
- qiskit/circuit/parameterexpression.py +34 -167
- qiskit/circuit/quantumcircuit.py +126 -162
- qiskit/circuit/singleton.py +0 -2
- qiskit/circuit/store.py +0 -2
- qiskit/compiler/assembler.py +4 -17
- qiskit/compiler/scheduler.py +0 -2
- qiskit/compiler/sequencer.py +0 -2
- qiskit/compiler/transpiler.py +26 -81
- qiskit/converters/circuit_to_dag.py +2 -2
- qiskit/converters/circuit_to_dagdependency.py +1 -1
- qiskit/converters/circuit_to_dagdependency_v2.py +1 -1
- qiskit/converters/circuit_to_instruction.py +1 -1
- qiskit/converters/dag_to_circuit.py +5 -7
- qiskit/converters/dag_to_dagdependency.py +1 -1
- qiskit/converters/dag_to_dagdependency_v2.py +1 -1
- qiskit/converters/dagdependency_to_circuit.py +1 -5
- qiskit/converters/dagdependency_to_dag.py +1 -6
- qiskit/dagcircuit/collect_blocks.py +3 -3
- qiskit/dagcircuit/dagdependency.py +5 -18
- qiskit/dagcircuit/dagdependency_v2.py +1 -1
- qiskit/dagcircuit/dagnode.py +2 -2
- qiskit/passmanager/__init__.py +2 -2
- qiskit/primitives/backend_estimator.py +2 -5
- qiskit/primitives/backend_sampler_v2.py +18 -61
- qiskit/primitives/base/base_estimator.py +2 -2
- qiskit/primitives/containers/data_bin.py +1 -9
- qiskit/primitives/statevector_sampler.py +1 -1
- qiskit/primitives/utils.py +1 -1
- qiskit/providers/__init__.py +3 -3
- qiskit/providers/backend.py +1 -12
- qiskit/providers/backend_compat.py +3 -23
- qiskit/providers/basic_provider/basic_simulator.py +2 -12
- qiskit/providers/fake_provider/fake_pulse_backend.py +1 -6
- qiskit/providers/fake_provider/generic_backend_v2.py +30 -46
- qiskit/providers/models/pulsedefaults.py +0 -2
- qiskit/pulse/builder.py +18 -59
- qiskit/pulse/calibration_entries.py +1 -4
- qiskit/pulse/channels.py +0 -2
- qiskit/pulse/exceptions.py +0 -2
- qiskit/pulse/instruction_schedule_map.py +6 -21
- qiskit/pulse/instructions/acquire.py +0 -2
- qiskit/pulse/instructions/delay.py +0 -2
- qiskit/pulse/instructions/directives.py +0 -8
- qiskit/pulse/instructions/frequency.py +0 -3
- qiskit/pulse/instructions/instruction.py +0 -2
- qiskit/pulse/instructions/phase.py +0 -3
- qiskit/pulse/instructions/play.py +0 -2
- qiskit/pulse/instructions/reference.py +0 -2
- qiskit/pulse/instructions/snapshot.py +0 -2
- qiskit/pulse/library/pulse.py +0 -2
- qiskit/pulse/library/symbolic_pulses.py +0 -28
- qiskit/pulse/library/waveform.py +0 -2
- qiskit/pulse/macros.py +1 -1
- qiskit/pulse/schedule.py +13 -12
- qiskit/pulse/transforms/alignments.py +3 -5
- qiskit/pulse/transforms/dag.py +0 -7
- qiskit/qasm2/export.py +3 -5
- qiskit/qasm2/parse.py +2 -46
- qiskit/qasm3/__init__.py +0 -1
- qiskit/qasm3/ast.py +15 -123
- qiskit/qasm3/exporter.py +77 -103
- qiskit/qobj/converters/pulse_instruction.py +4 -6
- qiskit/qpy/__init__.py +0 -181
- qiskit/qpy/binary_io/circuits.py +5 -20
- qiskit/qpy/binary_io/schedules.py +4 -3
- qiskit/qpy/binary_io/value.py +13 -310
- qiskit/qpy/common.py +2 -46
- qiskit/qpy/formats.py +0 -7
- qiskit/qpy/interface.py +4 -40
- qiskit/quantum_info/__init__.py +0 -4
- qiskit/quantum_info/operators/channel/transformations.py +21 -28
- qiskit/quantum_info/operators/dihedral/dihedral.py +1 -1
- qiskit/quantum_info/operators/operator.py +8 -54
- qiskit/quantum_info/operators/symplectic/base_pauli.py +19 -11
- qiskit/quantum_info/operators/symplectic/clifford.py +1 -1
- qiskit/quantum_info/operators/symplectic/clifford_circuits.py +1 -1
- qiskit/quantum_info/operators/symplectic/pauli.py +0 -2
- qiskit/quantum_info/operators/symplectic/pauli_list.py +4 -4
- qiskit/quantum_info/operators/symplectic/sparse_pauli_op.py +2 -23
- qiskit/quantum_info/states/densitymatrix.py +5 -5
- qiskit/quantum_info/states/stabilizerstate.py +1 -1
- qiskit/quantum_info/states/statevector.py +6 -6
- qiskit/result/mitigation/base_readout_mitigator.py +1 -1
- qiskit/result/mitigation/correlated_readout_mitigator.py +1 -9
- qiskit/result/mitigation/local_readout_mitigator.py +1 -9
- qiskit/result/mitigation/utils.py +0 -57
- qiskit/scheduler/config.py +0 -2
- qiskit/scheduler/methods/basic.py +0 -3
- qiskit/scheduler/schedule_circuit.py +0 -2
- qiskit/scheduler/sequence.py +0 -2
- qiskit/synthesis/__init__.py +0 -25
- qiskit/synthesis/clifford/clifford_decompose_bm.py +2 -1
- qiskit/synthesis/clifford/clifford_decompose_greedy.py +2 -3
- qiskit/synthesis/clifford/clifford_decompose_layers.py +1 -2
- qiskit/synthesis/evolution/__init__.py +0 -1
- qiskit/synthesis/evolution/lie_trotter.py +42 -16
- qiskit/synthesis/evolution/product_formula.py +238 -165
- qiskit/synthesis/evolution/qdrift.py +29 -36
- qiskit/synthesis/evolution/suzuki_trotter.py +27 -87
- qiskit/synthesis/multi_controlled/__init__.py +0 -1
- qiskit/synthesis/qft/qft_decompose_full.py +1 -19
- qiskit/synthesis/qft/qft_decompose_lnn.py +1 -2
- qiskit/synthesis/stabilizer/stabilizer_decompose.py +1 -2
- qiskit/synthesis/two_qubit/two_qubit_decompose.py +63 -4
- qiskit/synthesis/two_qubit/weyl.py +97 -0
- qiskit/synthesis/unitary/qsd.py +5 -5
- qiskit/transpiler/__init__.py +14 -21
- qiskit/transpiler/basepasses.py +1 -1
- qiskit/transpiler/passes/__init__.py +0 -2
- qiskit/transpiler/passes/basis/basis_translator.py +565 -9
- qiskit/transpiler/passes/basis/decompose.py +12 -45
- qiskit/transpiler/passes/basis/unroll_3q_or_more.py +1 -1
- qiskit/transpiler/passes/basis/unroll_custom_definitions.py +1 -1
- qiskit/transpiler/passes/calibration/pulse_gate.py +2 -4
- qiskit/transpiler/passes/calibration/rx_builder.py +7 -11
- qiskit/transpiler/passes/calibration/rzx_builder.py +30 -46
- qiskit/transpiler/passes/layout/disjoint_utils.py +13 -15
- qiskit/transpiler/passes/layout/sabre_layout.py +2 -7
- qiskit/transpiler/passes/layout/sabre_pre_layout.py +0 -5
- qiskit/transpiler/passes/optimization/__init__.py +0 -1
- qiskit/transpiler/passes/optimization/collect_cliffords.py +3 -19
- qiskit/transpiler/passes/optimization/collect_linear_functions.py +1 -1
- qiskit/transpiler/passes/optimization/collect_multiqubit_blocks.py +2 -2
- qiskit/transpiler/passes/optimization/commutative_inverse_cancellation.py +1 -1
- qiskit/transpiler/passes/optimization/consolidate_blocks.py +131 -48
- qiskit/transpiler/passes/optimization/echo_rzx_weyl_decomposition.py +2 -4
- qiskit/transpiler/passes/optimization/elide_permutations.py +32 -9
- qiskit/transpiler/passes/optimization/inverse_cancellation.py +0 -2
- qiskit/transpiler/passes/optimization/optimize_1q_decomposition.py +11 -5
- qiskit/transpiler/passes/optimization/optimize_1q_gates.py +1 -1
- qiskit/transpiler/passes/optimization/optimize_swap_before_measure.py +1 -1
- qiskit/transpiler/passes/optimization/template_matching/backward_match.py +5 -5
- qiskit/transpiler/passes/optimization/template_matching/forward_match.py +4 -4
- qiskit/transpiler/passes/optimization/template_matching/template_substitution.py +2 -2
- qiskit/transpiler/passes/routing/commuting_2q_gate_routing/commuting_2q_gate_router.py +1 -1
- qiskit/transpiler/passes/routing/commuting_2q_gate_routing/swap_strategy.py +1 -1
- qiskit/transpiler/passes/routing/sabre_swap.py +3 -7
- qiskit/transpiler/passes/routing/star_prerouting.py +2 -2
- qiskit/transpiler/passes/scheduling/alap.py +1 -1
- qiskit/transpiler/passes/scheduling/alignments/align_measures.py +2 -2
- qiskit/transpiler/passes/scheduling/alignments/check_durations.py +1 -1
- qiskit/transpiler/passes/scheduling/alignments/pulse_gate_validation.py +0 -2
- qiskit/transpiler/passes/scheduling/alignments/reschedule.py +2 -2
- qiskit/transpiler/passes/scheduling/asap.py +1 -1
- qiskit/transpiler/passes/scheduling/base_scheduler.py +12 -14
- qiskit/transpiler/passes/scheduling/dynamical_decoupling.py +4 -9
- qiskit/transpiler/passes/scheduling/padding/base_padding.py +1 -1
- qiskit/transpiler/passes/scheduling/padding/dynamical_decoupling.py +5 -16
- qiskit/transpiler/passes/scheduling/padding/pad_delay.py +1 -4
- qiskit/transpiler/passes/scheduling/scheduling/base_scheduler.py +2 -6
- qiskit/transpiler/passes/scheduling/time_unit_conversion.py +4 -9
- qiskit/transpiler/passes/synthesis/high_level_synthesis.py +99 -262
- qiskit/transpiler/passes/synthesis/hls_plugins.py +7 -638
- qiskit/transpiler/passes/synthesis/qubit_tracker.py +132 -0
- qiskit/transpiler/passes/synthesis/solovay_kitaev_synthesis.py +3 -3
- qiskit/transpiler/passes/synthesis/unitary_synthesis.py +34 -55
- qiskit/transpiler/passes/utils/barrier_before_final_measurements.py +56 -2
- qiskit/transpiler/passes/utils/convert_conditions_to_if_ops.py +0 -5
- qiskit/transpiler/passes/utils/gate_direction.py +275 -12
- qiskit/transpiler/passes/utils/gates_basis.py +30 -7
- qiskit/transpiler/passes/utils/merge_adjacent_barriers.py +1 -2
- qiskit/transpiler/passmanager_config.py +4 -22
- qiskit/transpiler/preset_passmanagers/builtin_plugins.py +14 -40
- qiskit/transpiler/preset_passmanagers/common.py +3 -5
- qiskit/transpiler/preset_passmanagers/generate_preset_pass_manager.py +42 -125
- qiskit/transpiler/preset_passmanagers/plugin.py +1 -1
- qiskit/transpiler/target.py +16 -74
- qiskit/visualization/circuit/_utils.py +2 -2
- qiskit/visualization/circuit/circuit_visualization.py +2 -3
- qiskit/visualization/circuit/matplotlib.py +1 -1
- qiskit/visualization/dag_visualization.py +1 -1
- qiskit/visualization/pass_manager_visualization.py +14 -3
- qiskit/visualization/pulse_v2/interface.py +1 -3
- qiskit/visualization/timeline/core.py +2 -25
- qiskit/visualization/timeline/interface.py +0 -12
- {qiskit-1.3.0.dist-info → qiskit-1.3.0b1.dist-info}/METADATA +19 -20
- {qiskit-1.3.0.dist-info → qiskit-1.3.0b1.dist-info}/RECORD +347 -358
- {qiskit-1.3.0.dist-info → qiskit-1.3.0b1.dist-info}/WHEEL +1 -1
- {qiskit-1.3.0.dist-info → qiskit-1.3.0b1.dist-info}/entry_points.txt +0 -19
- qiskit/circuit/library/data_preparation/_zz_feature_map.py +0 -150
- qiskit/circuit/twirling.py +0 -145
- qiskit/synthesis/arithmetic/__init__.py +0 -16
- qiskit/synthesis/arithmetic/adders/__init__.py +0 -17
- qiskit/synthesis/arithmetic/adders/cdkm_ripple_carry_adder.py +0 -154
- qiskit/synthesis/arithmetic/adders/draper_qft_adder.py +0 -103
- qiskit/synthesis/arithmetic/adders/vbe_ripple_carry_adder.py +0 -161
- qiskit/synthesis/arithmetic/multipliers/__init__.py +0 -16
- qiskit/synthesis/arithmetic/multipliers/hrs_cumulative_multiplier.py +0 -102
- qiskit/synthesis/arithmetic/multipliers/rg_qft_multiplier.py +0 -99
- qiskit/synthesis/evolution/pauli_network.py +0 -80
- qiskit/synthesis/multi_controlled/mcmt_vchain.py +0 -52
- qiskit/transpiler/passes/optimization/remove_identity_equiv.py +0 -69
- qiskit/utils/deprecate_pulse.py +0 -119
- {qiskit-1.3.0.dist-info → qiskit-1.3.0b1.dist-info}/LICENSE.txt +0 -0
- {qiskit-1.3.0.dist-info → qiskit-1.3.0b1.dist-info}/top_level.txt +0 -0
@@ -35,7 +35,7 @@ class UGate(Gate):
|
|
35
35
|
|
36
36
|
**Circuit symbol:**
|
37
37
|
|
38
|
-
..
|
38
|
+
.. parsed-literal::
|
39
39
|
|
40
40
|
┌──────────┐
|
41
41
|
q_0: ┤ U(ϴ,φ,λ) ├
|
@@ -218,7 +218,7 @@ class CUGate(ControlledGate):
|
|
218
218
|
|
219
219
|
**Circuit symbol:**
|
220
220
|
|
221
|
-
..
|
221
|
+
.. parsed-literal::
|
222
222
|
|
223
223
|
q_0: ──────■──────
|
224
224
|
┌─────┴──────┐
|
@@ -251,8 +251,7 @@ class CUGate(ControlledGate):
|
|
251
251
|
which in our case would be q_1. Thus a textbook matrix for this
|
252
252
|
gate will be:
|
253
253
|
|
254
|
-
..
|
255
|
-
|
254
|
+
.. parsed-literal::
|
256
255
|
┌────────────┐
|
257
256
|
q_0: ┤ U(ϴ,φ,λ,γ) ├
|
258
257
|
└─────┬──────┘
|
@@ -394,10 +393,3 @@ class CUGate(ControlledGate):
|
|
394
393
|
out = super().__deepcopy__(memo)
|
395
394
|
out._params = _copy.deepcopy(out._params, memo)
|
396
395
|
return out
|
397
|
-
|
398
|
-
def __eq__(self, other):
|
399
|
-
return (
|
400
|
-
isinstance(other, CUGate)
|
401
|
-
and self.ctrl_state == other.ctrl_state
|
402
|
-
and self._compare_parameters(other)
|
403
|
-
)
|
@@ -34,47 +34,47 @@ class U1Gate(Gate):
|
|
34
34
|
|
35
35
|
.. math::
|
36
36
|
|
37
|
-
U1(\
|
37
|
+
U1(\lambda) = P(\lambda)= U(0,0,\lambda)
|
38
38
|
|
39
39
|
.. code-block:: python
|
40
40
|
|
41
41
|
circuit = QuantumCircuit(1)
|
42
|
-
circuit.p(lambda, 0) # or circuit.u(0, 0, lambda
|
42
|
+
circuit.p(lambda, 0) # or circuit.u(0, 0, lambda)
|
43
43
|
|
44
44
|
|
45
45
|
|
46
46
|
|
47
47
|
**Circuit symbol:**
|
48
48
|
|
49
|
-
..
|
49
|
+
.. parsed-literal::
|
50
50
|
|
51
51
|
┌───────┐
|
52
|
-
q_0: ┤ U1(
|
52
|
+
q_0: ┤ U1(λ) ├
|
53
53
|
└───────┘
|
54
54
|
|
55
55
|
**Matrix Representation:**
|
56
56
|
|
57
57
|
.. math::
|
58
58
|
|
59
|
-
U1(\
|
59
|
+
U1(\lambda) =
|
60
60
|
\begin{pmatrix}
|
61
61
|
1 & 0 \\
|
62
|
-
0 & e^{i\
|
62
|
+
0 & e^{i\lambda}
|
63
63
|
\end{pmatrix}
|
64
64
|
|
65
65
|
**Examples:**
|
66
66
|
|
67
67
|
.. math::
|
68
68
|
|
69
|
-
U1(\
|
69
|
+
U1(\lambda = \pi) = Z
|
70
70
|
|
71
71
|
.. math::
|
72
72
|
|
73
|
-
U1(\
|
73
|
+
U1(\lambda = \pi/2) = S
|
74
74
|
|
75
75
|
.. math::
|
76
76
|
|
77
|
-
U1(\
|
77
|
+
U1(\lambda = \pi/4) = T
|
78
78
|
|
79
79
|
.. seealso::
|
80
80
|
|
@@ -83,7 +83,7 @@ class U1Gate(Gate):
|
|
83
83
|
|
84
84
|
.. math::
|
85
85
|
|
86
|
-
U1(\
|
86
|
+
U1(\lambda) = e^{i{\lambda}/2} RZ(\lambda)
|
87
87
|
|
88
88
|
:class:`~qiskit.circuit.library.standard_gates.U3Gate`:
|
89
89
|
U3 is a generalization of U2 that covers all single-qubit rotations,
|
@@ -170,9 +170,6 @@ class U1Gate(Gate):
|
|
170
170
|
lam = float(self.params[0])
|
171
171
|
return numpy.array([[1, 0], [0, numpy.exp(1j * lam)]], dtype=dtype)
|
172
172
|
|
173
|
-
def __eq__(self, other):
|
174
|
-
return isinstance(other, U1Gate) and self._compare_parameters(other)
|
175
|
-
|
176
173
|
|
177
174
|
class CU1Gate(ControlledGate):
|
178
175
|
r"""Controlled-U1 gate.
|
@@ -180,29 +177,13 @@ class CU1Gate(ControlledGate):
|
|
180
177
|
This is a diagonal and symmetric gate that induces a
|
181
178
|
phase on the state of the target qubit, depending on the control state.
|
182
179
|
|
183
|
-
.. warning::
|
184
|
-
|
185
|
-
This gate is deprecated. Instead, the :class:`.CPhaseGate` should be used
|
186
|
-
|
187
|
-
.. math::
|
188
|
-
|
189
|
-
CU1(\lambda) = CP(\lambda)
|
190
|
-
|
191
|
-
.. code-block:: python
|
192
|
-
|
193
|
-
circuit = QuantumCircuit(2)
|
194
|
-
circuit.cp(lambda, 0, 1)
|
195
|
-
|
196
|
-
|
197
|
-
|
198
|
-
|
199
180
|
**Circuit symbol:**
|
200
181
|
|
201
|
-
..
|
182
|
+
.. parsed-literal::
|
202
183
|
|
203
184
|
|
204
185
|
q_0: ─■──
|
205
|
-
|
186
|
+
│λ
|
206
187
|
q_1: ─■──
|
207
188
|
|
208
189
|
|
@@ -210,13 +191,13 @@ class CU1Gate(ControlledGate):
|
|
210
191
|
|
211
192
|
.. math::
|
212
193
|
|
213
|
-
CU1(\
|
194
|
+
CU1(\lambda) =
|
214
195
|
I \otimes |0\rangle\langle 0| + U1 \otimes |1\rangle\langle 1| =
|
215
196
|
\begin{pmatrix}
|
216
197
|
1 & 0 & 0 & 0 \\
|
217
198
|
0 & 1 & 0 & 0 \\
|
218
199
|
0 & 0 & 1 & 0 \\
|
219
|
-
0 & 0 & 0 & e^{i\
|
200
|
+
0 & 0 & 0 & e^{i\lambda}
|
220
201
|
\end{pmatrix}
|
221
202
|
|
222
203
|
.. seealso::
|
@@ -344,13 +325,6 @@ class CU1Gate(ControlledGate):
|
|
344
325
|
[[1, 0, 0, 0], [0, 1, 0, 0], [0, 0, eith, 0], [0, 0, 0, 1]], dtype=dtype
|
345
326
|
)
|
346
327
|
|
347
|
-
def __eq__(self, other):
|
348
|
-
return (
|
349
|
-
isinstance(other, CU1Gate)
|
350
|
-
and self.ctrl_state == other.ctrl_state
|
351
|
-
and self._compare_parameters(other)
|
352
|
-
)
|
353
|
-
|
354
328
|
|
355
329
|
class MCU1Gate(ControlledGate):
|
356
330
|
r"""Multi-controlled-U1 gate.
|
@@ -358,25 +332,9 @@ class MCU1Gate(ControlledGate):
|
|
358
332
|
This is a diagonal and symmetric gate that induces a
|
359
333
|
phase on the state of the target qubit, depending on the state of the control qubits.
|
360
334
|
|
361
|
-
.. warning::
|
362
|
-
|
363
|
-
This gate is deprecated. Instead, the following replacements should be used
|
364
|
-
|
365
|
-
.. math::
|
366
|
-
|
367
|
-
MCU1(\lambda) = MCP(\lambda)
|
368
|
-
|
369
|
-
.. code-block:: python
|
370
|
-
|
371
|
-
circuit = QuantumCircuit(5)
|
372
|
-
circuit.mcp(lambda, list(range(4)), 4)
|
373
|
-
|
374
|
-
|
375
|
-
|
376
|
-
|
377
335
|
**Circuit symbol:**
|
378
336
|
|
379
|
-
..
|
337
|
+
.. parsed-literal::
|
380
338
|
|
381
339
|
q_0: ────■────
|
382
340
|
│
|
@@ -491,11 +449,3 @@ class MCU1Gate(ControlledGate):
|
|
491
449
|
MCU1Gate: inverse gate.
|
492
450
|
"""
|
493
451
|
return MCU1Gate(-self.params[0], self.num_ctrl_qubits)
|
494
|
-
|
495
|
-
def __eq__(self, other):
|
496
|
-
return (
|
497
|
-
isinstance(other, MCU1Gate)
|
498
|
-
and self.num_ctrl_qubits == other.num_ctrl_qubits
|
499
|
-
and self.ctrl_state == other.ctrl_state
|
500
|
-
and self._compare_parameters(other)
|
501
|
-
)
|
@@ -43,7 +43,7 @@ class U2Gate(Gate):
|
|
43
43
|
|
44
44
|
**Circuit symbol:**
|
45
45
|
|
46
|
-
..
|
46
|
+
.. parsed-literal::
|
47
47
|
|
48
48
|
┌─────────┐
|
49
49
|
q_0: ┤ U2(φ,λ) ├
|
@@ -144,6 +144,3 @@ class U2Gate(Gate):
|
|
144
144
|
],
|
145
145
|
dtype=dtype or complex,
|
146
146
|
)
|
147
|
-
|
148
|
-
def __eq__(self, other):
|
149
|
-
return isinstance(other, U2Gate) and self._compare_parameters(other)
|
@@ -43,7 +43,7 @@ class U3Gate(Gate):
|
|
43
43
|
|
44
44
|
**Circuit symbol:**
|
45
45
|
|
46
|
-
..
|
46
|
+
.. parsed-literal::
|
47
47
|
|
48
48
|
┌───────────┐
|
49
49
|
q_0: ┤ U3(ϴ,φ,λ) ├
|
@@ -178,9 +178,6 @@ class U3Gate(Gate):
|
|
178
178
|
dtype=dtype or complex,
|
179
179
|
)
|
180
180
|
|
181
|
-
def __eq__(self, other):
|
182
|
-
return isinstance(other, U3Gate) and self._compare_parameters(other)
|
183
|
-
|
184
181
|
|
185
182
|
class CU3Gate(ControlledGate):
|
186
183
|
r"""Controlled-U3 gate (3-parameter two-qubit gate).
|
@@ -189,26 +186,9 @@ class CU3Gate(ControlledGate):
|
|
189
186
|
It is restricted to 3 parameters, and so cannot cover generic two-qubit
|
190
187
|
controlled gates).
|
191
188
|
|
192
|
-
.. warning::
|
193
|
-
|
194
|
-
This gate is deprecated. Instead, the :class:`.CUGate` should be used
|
195
|
-
|
196
|
-
.. math::
|
197
|
-
|
198
|
-
CU3(\theta, \phi, \lambda) = CU(\theta, \phi, \lambda, 0)
|
199
|
-
|
200
|
-
.. code-block:: python
|
201
|
-
|
202
|
-
circuit = QuantumCircuit(2)
|
203
|
-
gamma = 0
|
204
|
-
circuit.cu(theta, phi, lambda, gamma, 0, 1)
|
205
|
-
|
206
|
-
|
207
|
-
|
208
|
-
|
209
189
|
**Circuit symbol:**
|
210
190
|
|
211
|
-
..
|
191
|
+
.. parsed-literal::
|
212
192
|
|
213
193
|
q_0: ──────■──────
|
214
194
|
┌─────┴─────┐
|
@@ -239,8 +219,7 @@ class CU3Gate(ControlledGate):
|
|
239
219
|
which in our case would be q_1. Thus a textbook matrix for this
|
240
220
|
gate will be:
|
241
221
|
|
242
|
-
..
|
243
|
-
|
222
|
+
.. parsed-literal::
|
244
223
|
┌───────────┐
|
245
224
|
q_0: ┤ U3(ϴ,φ,λ) ├
|
246
225
|
└─────┬─────┘
|
@@ -372,13 +351,6 @@ class CU3Gate(ControlledGate):
|
|
372
351
|
dtype=dtype or complex,
|
373
352
|
)
|
374
353
|
|
375
|
-
def __eq__(self, other):
|
376
|
-
return (
|
377
|
-
isinstance(other, CU3Gate)
|
378
|
-
and self.ctrl_state == other.ctrl_state
|
379
|
-
and self._compare_parameters(other)
|
380
|
-
)
|
381
|
-
|
382
354
|
|
383
355
|
def _generate_gray_code(num_bits):
|
384
356
|
"""Generate the gray code for ``num_bits`` bits."""
|
@@ -44,7 +44,7 @@ class XGate(SingletonGate):
|
|
44
44
|
|
45
45
|
**Circuit symbol:**
|
46
46
|
|
47
|
-
..
|
47
|
+
.. parsed-literal::
|
48
48
|
|
49
49
|
┌───┐
|
50
50
|
q_0: ┤ X ├
|
@@ -163,7 +163,7 @@ class CXGate(SingletonControlledGate):
|
|
163
163
|
|
164
164
|
**Circuit symbol:**
|
165
165
|
|
166
|
-
..
|
166
|
+
.. parsed-literal::
|
167
167
|
|
168
168
|
q_0: ──■──
|
169
169
|
┌─┴─┐
|
@@ -191,8 +191,7 @@ class CXGate(SingletonControlledGate):
|
|
191
191
|
which in our case would be q_1. Thus a textbook matrix for this
|
192
192
|
gate will be:
|
193
193
|
|
194
|
-
..
|
195
|
-
|
194
|
+
.. parsed-literal::
|
196
195
|
┌───┐
|
197
196
|
q_0: ┤ X ├
|
198
197
|
└─┬─┘
|
@@ -311,7 +310,7 @@ class CCXGate(SingletonControlledGate):
|
|
311
310
|
|
312
311
|
**Circuit symbol:**
|
313
312
|
|
314
|
-
..
|
313
|
+
.. parsed-literal::
|
315
314
|
|
316
315
|
q_0: ──■──
|
317
316
|
│
|
@@ -345,8 +344,7 @@ class CCXGate(SingletonControlledGate):
|
|
345
344
|
which in our case would be q_2 and q_1. Thus a textbook matrix for this
|
346
345
|
gate will be:
|
347
346
|
|
348
|
-
..
|
349
|
-
|
347
|
+
.. parsed-literal::
|
350
348
|
┌───┐
|
351
349
|
q_0: ┤ X ├
|
352
350
|
└─┬─┘
|
@@ -41,7 +41,7 @@ class XXMinusYYGate(Gate):
|
|
41
41
|
|
42
42
|
**Circuit Symbol:**
|
43
43
|
|
44
|
-
..
|
44
|
+
.. parsed-literal::
|
45
45
|
|
46
46
|
┌───────────────┐
|
47
47
|
q_0: ┤0 ├
|
@@ -73,7 +73,7 @@ class XXMinusYYGate(Gate):
|
|
73
73
|
phase is added on q_0. If :math:`\beta` is set to its default value
|
74
74
|
of :math:`0`, the gate is equivalent in big and little endian.
|
75
75
|
|
76
|
-
..
|
76
|
+
.. parsed-literal::
|
77
77
|
|
78
78
|
┌───────────────┐
|
79
79
|
q_0: ┤1 ├
|
@@ -35,7 +35,7 @@ class XXPlusYYGate(Gate):
|
|
35
35
|
|
36
36
|
**Circuit Symbol:**
|
37
37
|
|
38
|
-
..
|
38
|
+
.. parsed-literal::
|
39
39
|
|
40
40
|
┌───────────────┐
|
41
41
|
q_0: ┤0 ├
|
@@ -67,7 +67,7 @@ class XXPlusYYGate(Gate):
|
|
67
67
|
phase is added on q_1. If :math:`\beta` is set to its default value
|
68
68
|
of :math:`0`, the gate is equivalent in big and little endian.
|
69
69
|
|
70
|
-
..
|
70
|
+
.. parsed-literal::
|
71
71
|
|
72
72
|
┌───────────────┐
|
73
73
|
q_0: ┤1 ├
|
@@ -42,7 +42,7 @@ class YGate(SingletonGate):
|
|
42
42
|
|
43
43
|
**Circuit symbol:**
|
44
44
|
|
45
|
-
..
|
45
|
+
.. parsed-literal::
|
46
46
|
|
47
47
|
┌───┐
|
48
48
|
q_0: ┤ Y ├
|
@@ -152,7 +152,7 @@ class CYGate(SingletonControlledGate):
|
|
152
152
|
|
153
153
|
**Circuit symbol:**
|
154
154
|
|
155
|
-
..
|
155
|
+
.. parsed-literal::
|
156
156
|
|
157
157
|
q_0: ──■──
|
158
158
|
┌─┴─┐
|
@@ -181,8 +181,7 @@ class CYGate(SingletonControlledGate):
|
|
181
181
|
which in our case would be q_1. Thus a textbook matrix for this
|
182
182
|
gate will be:
|
183
183
|
|
184
|
-
..
|
185
|
-
|
184
|
+
.. parsed-literal::
|
186
185
|
┌───┐
|
187
186
|
q_0: ┤ Y ├
|
188
187
|
└─┬─┘
|
@@ -45,7 +45,7 @@ class ZGate(SingletonGate):
|
|
45
45
|
|
46
46
|
**Circuit symbol:**
|
47
47
|
|
48
|
-
..
|
48
|
+
.. parsed-literal::
|
49
49
|
|
50
50
|
┌───┐
|
51
51
|
q_0: ┤ Z ├
|
@@ -161,7 +161,7 @@ class CZGate(SingletonControlledGate):
|
|
161
161
|
|
162
162
|
**Circuit symbol:**
|
163
163
|
|
164
|
-
..
|
164
|
+
.. parsed-literal::
|
165
165
|
|
166
166
|
q_0: ─■─
|
167
167
|
│
|
@@ -257,7 +257,7 @@ class CCZGate(SingletonControlledGate):
|
|
257
257
|
|
258
258
|
**Circuit symbol:**
|
259
259
|
|
260
|
-
..
|
260
|
+
.. parsed-literal::
|
261
261
|
|
262
262
|
q_0: ─■─
|
263
263
|
│
|
@@ -10,21 +10,20 @@
|
|
10
10
|
# copyright notice, and modified files need to carry a notice indicating
|
11
11
|
# that they have been altered from the originals.
|
12
12
|
|
13
|
-
|
13
|
+
"""
|
14
|
+
Clifford template 2_1:
|
15
|
+
.. parsed-literal::
|
16
|
+
|
17
|
+
q_0: ─■──■─
|
18
|
+
│ │
|
19
|
+
q_1: ─■──■─
|
20
|
+
"""
|
14
21
|
|
15
22
|
from qiskit.circuit.quantumcircuit import QuantumCircuit
|
16
23
|
|
17
24
|
|
18
25
|
def clifford_2_1():
|
19
26
|
"""
|
20
|
-
Clifford template 2_1:
|
21
|
-
|
22
|
-
.. code-block:: text
|
23
|
-
|
24
|
-
q_0: ─■──■─
|
25
|
-
│ │
|
26
|
-
q_1: ─■──■─
|
27
|
-
|
28
27
|
Returns:
|
29
28
|
QuantumCircuit: template as a quantum circuit.
|
30
29
|
"""
|
@@ -10,22 +10,21 @@
|
|
10
10
|
# copyright notice, and modified files need to carry a notice indicating
|
11
11
|
# that they have been altered from the originals.
|
12
12
|
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
def clifford_2_2():
|
19
|
-
"""
|
20
|
-
Clifford template 2_2:
|
21
|
-
|
22
|
-
.. code-block:: text
|
13
|
+
"""
|
14
|
+
Clifford template 2_2:
|
15
|
+
.. parsed-literal::
|
23
16
|
|
24
17
|
q_0: ──■────■──
|
25
18
|
┌─┴─┐┌─┴─┐
|
26
19
|
q_1: ┤ X ├┤ X ├
|
27
20
|
└───┘└───┘
|
21
|
+
"""
|
22
|
+
|
23
|
+
from qiskit.circuit.quantumcircuit import QuantumCircuit
|
28
24
|
|
25
|
+
|
26
|
+
def clifford_2_2():
|
27
|
+
"""
|
29
28
|
Returns:
|
30
29
|
QuantumCircuit: template as a quantum circuit.
|
31
30
|
"""
|
@@ -10,21 +10,19 @@
|
|
10
10
|
# copyright notice, and modified files need to carry a notice indicating
|
11
11
|
# that they have been altered from the originals.
|
12
12
|
|
13
|
-
|
13
|
+
"""
|
14
|
+
Clifford template 2_3:
|
15
|
+
.. parsed-literal::
|
16
|
+
┌───┐┌───┐
|
17
|
+
q_0: ┤ H ├┤ H ├
|
18
|
+
└───┘└───┘
|
19
|
+
"""
|
14
20
|
|
15
21
|
from qiskit.circuit.quantumcircuit import QuantumCircuit
|
16
22
|
|
17
23
|
|
18
24
|
def clifford_2_3():
|
19
25
|
"""
|
20
|
-
Clifford template 2_3:
|
21
|
-
|
22
|
-
.. code-block:: text
|
23
|
-
|
24
|
-
┌───┐┌───┐
|
25
|
-
q_0: ┤ H ├┤ H ├
|
26
|
-
└───┘└───┘
|
27
|
-
|
28
26
|
Returns:
|
29
27
|
QuantumCircuit: template as a quantum circuit.
|
30
28
|
"""
|
@@ -10,21 +10,20 @@
|
|
10
10
|
# copyright notice, and modified files need to carry a notice indicating
|
11
11
|
# that they have been altered from the originals.
|
12
12
|
|
13
|
-
|
13
|
+
"""
|
14
|
+
Clifford template 2_4:
|
15
|
+
.. parsed-literal::
|
16
|
+
|
17
|
+
q_0: ─X──X─
|
18
|
+
│ │
|
19
|
+
q_1: ─X──X─
|
20
|
+
"""
|
14
21
|
|
15
22
|
from qiskit.circuit.quantumcircuit import QuantumCircuit
|
16
23
|
|
17
24
|
|
18
25
|
def clifford_2_4():
|
19
26
|
"""
|
20
|
-
Clifford template 2_4:
|
21
|
-
|
22
|
-
.. code-block:: text
|
23
|
-
|
24
|
-
q_0: ─X──X─
|
25
|
-
│ │
|
26
|
-
q_1: ─X──X─
|
27
|
-
|
28
27
|
Returns:
|
29
28
|
QuantumCircuit: template as a quantum circuit.
|
30
29
|
"""
|
@@ -10,21 +10,20 @@
|
|
10
10
|
# copyright notice, and modified files need to carry a notice indicating
|
11
11
|
# that they have been altered from the originals.
|
12
12
|
|
13
|
-
|
13
|
+
"""
|
14
|
+
Clifford template 3_1:
|
15
|
+
.. parsed-literal::
|
16
|
+
|
17
|
+
┌───┐┌───┐┌───┐
|
18
|
+
q_0: ┤ S ├┤ S ├┤ Z ├
|
19
|
+
└───┘└───┘└───┘
|
20
|
+
"""
|
14
21
|
|
15
22
|
from qiskit.circuit.quantumcircuit import QuantumCircuit
|
16
23
|
|
17
24
|
|
18
25
|
def clifford_3_1():
|
19
26
|
"""
|
20
|
-
Clifford template 3_1:
|
21
|
-
|
22
|
-
.. code-block:: text
|
23
|
-
|
24
|
-
┌───┐┌───┐┌───┐
|
25
|
-
q_0: ┤ S ├┤ S ├┤ Z ├
|
26
|
-
└───┘└───┘└───┘
|
27
|
-
|
28
27
|
Returns:
|
29
28
|
QuantumCircuit: template as a quantum circuit.
|
30
29
|
"""
|
@@ -10,23 +10,22 @@
|
|
10
10
|
# copyright notice, and modified files need to carry a notice indicating
|
11
11
|
# that they have been altered from the originals.
|
12
12
|
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
def clifford_4_1():
|
19
|
-
"""
|
20
|
-
Clifford template 4_1:
|
21
|
-
|
22
|
-
.. code-block:: text
|
13
|
+
"""
|
14
|
+
Clifford template 4_1:
|
15
|
+
.. parsed-literal::
|
23
16
|
|
24
17
|
┌───┐
|
25
18
|
q_0: ──■──┤ X ├──■───X─
|
26
19
|
┌─┴─┐└─┬─┘┌─┴─┐ │
|
27
20
|
q_1: ┤ X ├──■──┤ X ├─X─
|
28
21
|
└───┘ └───┘
|
22
|
+
"""
|
23
|
+
|
24
|
+
from qiskit.circuit.quantumcircuit import QuantumCircuit
|
29
25
|
|
26
|
+
|
27
|
+
def clifford_4_1():
|
28
|
+
"""
|
30
29
|
Returns:
|
31
30
|
QuantumCircuit: template as a quantum circuit.
|
32
31
|
"""
|
@@ -10,22 +10,21 @@
|
|
10
10
|
# copyright notice, and modified files need to carry a notice indicating
|
11
11
|
# that they have been altered from the originals.
|
12
12
|
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
def clifford_4_2():
|
19
|
-
"""
|
20
|
-
Clifford template 4_2:
|
21
|
-
|
22
|
-
.. code-block:: text
|
13
|
+
"""
|
14
|
+
Clifford template 4_2:
|
15
|
+
.. parsed-literal::
|
23
16
|
|
24
17
|
q_0: ───────■────────■─
|
25
18
|
┌───┐┌─┴─┐┌───┐ │
|
26
19
|
q_1: ┤ H ├┤ X ├┤ H ├─■─
|
27
20
|
└───┘└───┘└───┘
|
21
|
+
"""
|
22
|
+
|
23
|
+
from qiskit.circuit.quantumcircuit import QuantumCircuit
|
28
24
|
|
25
|
+
|
26
|
+
def clifford_4_2():
|
27
|
+
"""
|
29
28
|
Returns:
|
30
29
|
QuantumCircuit: template as a quantum circuit.
|
31
30
|
"""
|
@@ -10,23 +10,22 @@
|
|
10
10
|
# copyright notice, and modified files need to carry a notice indicating
|
11
11
|
# that they have been altered from the originals.
|
12
12
|
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
def clifford_4_3():
|
19
|
-
"""
|
20
|
-
Clifford template 4_3:
|
21
|
-
|
22
|
-
.. code-block:: text
|
13
|
+
"""
|
14
|
+
Clifford template 4_3:
|
15
|
+
.. parsed-literal::
|
23
16
|
|
24
17
|
┌───┐ ┌─────┐
|
25
18
|
q_0: ┤ S ├──■──┤ SDG ├──■──
|
26
19
|
└───┘┌─┴─┐└─────┘┌─┴─┐
|
27
20
|
q_1: ─────┤ X ├───────┤ X ├
|
28
21
|
└───┘ └───┘
|
22
|
+
"""
|
23
|
+
|
24
|
+
from qiskit.circuit.quantumcircuit import QuantumCircuit
|
29
25
|
|
26
|
+
|
27
|
+
def clifford_4_3():
|
28
|
+
"""
|
30
29
|
Returns:
|
31
30
|
QuantumCircuit: template as a quantum circuit.
|
32
31
|
"""
|