guppyalgos.primitives.gate_decompositions.cnx.ccu_rel_phase

CCU gates up to a relative phase.

Functions

ccu_phase_correction(control1, control2)

Phase correction circuit for relative phase implementations of CCU gates.

ccu_phase_correction_dg(control1, control2)

Phase correction for relative phase of CCU gates using the adjoint circuit.

ccx_rel_phase(control1, control2, target)

CCX gate implementation up to a relative phase.

ccx_rel_phase_dg(control1, control2, target)

CCX gate implementation up to a relative phase using the adjoint circuit.

ccz_rel_phase(control1, control2, target)

CCZ gate implementation upto a relative phase.

ccz_rel_phase_dg(control1, control2, target)

CCZ gate implementation upto a relative phase the adjoint circuit.

guppyalgos.primitives.gate_decompositions.cnx.ccu_rel_phase.ccu_phase_correction(control1, control2)

Phase correction circuit for relative phase implementations of CCU gates.

                     ┌───┐
control1: ───────■───┤ T ├───■──
                 │   └───┘   │
          ┌───┐┌─┴─┐┌─────┐┌─┴─┐
control2: ┤ T ├┤ X ├┤ Tdg ├┤ X ├
          └───┘└───┘└─────┘└───┘
Parameters:
  • control1 – The first control qubit.

  • control2 – The second control qubit.

guppyalgos.primitives.gate_decompositions.cnx.ccu_rel_phase.ccu_phase_correction_dg(control1, control2)

Phase correction for relative phase of CCU gates using the adjoint circuit.

Parameters:
  • control1 – The first control qubit.

  • control2 – The second control qubit.

guppyalgos.primitives.gate_decompositions.cnx.ccu_rel_phase.ccx_rel_phase(control1, control2, target)

CCX gate implementation up to a relative phase.

control1: ───────────────────■─────────────────────■────────────
                             │                     │
control2: ───────■───────────┼─────────■───────────┼────────────
          ┌───┐┌─┴─┐┌─────┐┌─┴─┐┌───┐┌─┴─┐┌─────┐┌─┴─┐┌───┐┌───┐
target:   ┤ H ├┤ X ├┤ Tdg ├┤ X ├┤ T ├┤ X ├┤ Tdg ├┤ X ├┤ T ├┤ H ├
          └───┘└───┘└─────┘└───┘└───┘└───┘└─────┘└───┘└───┘└───┘
Parameters:
  • target – The target qubit.

  • control1 – The first control qubit.

  • control2 – The second control qubit.

guppyalgos.primitives.gate_decompositions.cnx.ccu_rel_phase.ccx_rel_phase_dg(control1, control2, target)

CCX gate implementation up to a relative phase using the adjoint circuit.

Parameters:
  • target – The target qubit.

  • control1 – The first control qubit.

  • control2 – The second control qubit.

guppyalgos.primitives.gate_decompositions.cnx.ccu_rel_phase.ccz_rel_phase(control1, control2, target)

CCZ gate implementation upto a relative phase.

control1: ───────────────────■─────────────────────■────────────
                             │                     │
control2: ───────■───────────┼─────────■───────────┼────────────
               ┌─┴─┐┌─────┐┌─┴─┐┌───┐┌─┴─┐┌─────┐┌─┴─┐┌───┐
target:   ─────┤ X ├┤ Tdg ├┤ X ├┤ T ├┤ X ├┤ Tdg ├┤ X ├┤ T ├─────
               └───┘└─────┘└───┘└───┘└───┘└─────┘└───┘└───┘
Parameters:
  • target – The target qubit.

  • control1 – The first control qubit.

  • control2 – The second control qubit.

guppyalgos.primitives.gate_decompositions.cnx.ccu_rel_phase.ccz_rel_phase_dg(control1, control2, target)

CCZ gate implementation upto a relative phase the adjoint circuit.

Parameters:
  • target – The target qubit.

  • control1 – The first control qubit.

  • control2 – The second control qubit.