iqm.qiskit_iqm.move_gate.MoveGate#
- class iqm.qiskit_iqm.move_gate.MoveGate(label=None)#
- Bases: - Gate- The MOVE operation is a unitary population exchange operation between a qubit and a resonator. Its effect 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\). Its effect on the orthogonal subspace is undefined. - 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 that is canceled when the MOVE gate is applied a second time. - To ensure that the state of the qubit and resonator has no overlap with \(|11\rangle\), it is recommended that no single qubit gates are applied to the qubit in between a pair of MOVE operations. - Note - The MOVE gate must always be be applied on the qubit and the resonator in the order - [qubit, resonator], regardless of which component is currently holding the state.- Attributes - Methods - _define()- This function is purposefully not defined so that that the Qiskit transpiler cannot accidentally decompose the MOVE gate into a sequence of other gates, instead it will throw an error. 
