Flipping#
The flipping experiment corrects the amplitude in the qubit drive pulse. In this experiment, we applying an \(R_x(\pi/2)\) rotation followed by \(N\) flips (two \(R_x(\pi)\) rotations) and we measure the qubit state. The first \(R_x(\pi/2)\) is necessary to discriminate the over rotations and under rotations of the \(R_x(\pi)\) pulse: without it the difference between the two cases is just a global phase, i.e., the probabilities are the same. With the \(R_x(\pi/2)\) pulse, in case of under rotations the state will be closer to \(\ket{0}\) after the initial flip, in the over rotations one the final state will be closer to \(\ket{1}\).
By fitting the resulting data with a sinusoidal function, we can determine the delta amplitude, which allows us to refine the \(\pi\) pulse amplitue.
Parameters#
- class qibocal.protocols.flipping.FlippingParameters(nflips_max: int, nflips_step: int, unrolling: bool = False, delta_amplitude: float = 0)[source]
Flipping runcard inputs.
- delta_amplitude: float = 0
Amplitude detuning.
- hardware_average: bool = False
By default hardware average will be performed.
- unrolling: bool = False
If
True
it uses sequence unrolling to deploy multiple sequences in a single instrument call. Defaults toFalse
.
- nflips_max: int
Maximum number of flips ([RX(pi) - RX(pi)] sequences).
- nflips_step: int
Flip step.
- nshots: int
Number of executions on hardware.
- relaxation_time: float
Wait time for the qubit to decohere back to the gnd state.
Example#
It follows a runcard example of this experiment.
- id: flipping
operation: flipping
parameters:
detuning: 0.05
nflips_max: 30
nflips_step: 1
The expected output is the following:
![../_images/flipping.png](../_images/flipping.png)
Qibocal provides also a “signal” version of this routine, it follows a possible runcard with its report.
- id: flipping
operation: flipping_signal
parameters:
detuning: -0.5
nflips_max: 20
nflips_step: 1
![../_images/flipping_signal.png](../_images/flipping_signal.png)