move

move#

Two-qubit MOVE gate.

The MOVE gate is a population exchange operation between a qubit and a resonator, mediated by a coupler, that has the following properties:

  • MOVE is unitary.

  • The effect of MOVE is only defined in the invariant subspace \(S = \text{span}\{|00\rangle, |01\rangle, |10\rangle\}\), where it swaps the populations of the states \(|01\rangle\) and \(|10\rangle\). Anything may happen in the orthogonal subspace as long as it is unitary and invariant.

  • In the subspace where it is defined, MOVE is an involution: \(\text{MOVE}_S^2 = I_S\).

Thus MOVE has the following presentation in the subspace \(S\):

\[\text{MOVE}_S = |00\rangle \langle 00| + a |10\rangle \langle 01| + a^{-1} |01\rangle \langle 10|,\]

where \(a\) is an undefined complex phase. This degree of freedom (in addition to the undefined effect of the gate in the orthogonal subspace) means there is a continuum of different MOVE gates, all equally valid. The phase \(a\) is canceled when the MOVE gate is applied a second time due to the involution property.

Full path: iqm.pulse.gates.move

Functions

apply_move_gate_phase_corrections(schedule, ...)

Schedule-level pass applying resonator-related phase corrections in MOVE sandwiches to the moved qubit.

validate_move_instructions(instructions, builder)

Circuit-level pass to prepare a circuit containing MOVE gates for compilation.

Classes

MOVE_CRF_CRF

Qubit-resonator MOVE gate using the CRF waveform for the coupler and the qubit flux pulse.

MOVE_CustomWaveforms

Qubit-resonator MOVE gate using flux pulses on both components.

MOVE_TGSS_CRF

Qubit-resonator MOVE gate using the TGSS waveform for the coupler flux pulse and the CRF waveform for the qubit flux pulse.

MoveMarker

Special annotation instruction to indicate the beginning and ending of MOVE gates.

Inheritance

Inheritance diagram of iqm.pulse.gates.move