Avoided crossing#
In the avoided crossing experiment the goal is to study the qubit-flux dependency of a couple of qubits to precisely tune the interaction between them at specific frequencies in order to calibrate the CZ and the iSWAP gates.
In the avoided crossing experiment for CZ qubit gates, the interaction between two qubits is controlled by tuning their energy levels such that the \(\ket{11}\) (both qubits in the excited state) and \(\ket{02}\) (one qubit in the ground state and the other in the second excited state) states come into resonance. At this resonance point, the energy levels of these states experience an avoided crossing, a key phenomenon that enables the controlled-Z (CZ) gate operation. By observing the avoided crossing, one can confirm that the coupling between the qubits is strong enough to facilitate the necessary interaction for the CZ gate. Hence, precise tuning of these states is essential for achieving the correct gate operation.
In the avoided crossing experiment for iSWAP qubit gates, the key focus is on the interaction between the \(\ket{10}\) and \(\ket{01}\) states. When tuning the qubits’ energy levels, these two states come into resonance, creating an avoided crossing, which is the fundamental operation of the iSWAP gate.
In this protocol, for each qubit pair we execute a qubit flux dependency of the 01 and 02 transitions on the qubit with higher frequency and we fit the data to find the flux-frequency relationship that we use to estimate the bias needed to reach the CZ and iSWAP interaction points.
Parameters#
- class qibocal.protocols.flux_dependence.avoided_crossing.AvoidedCrossingParameters(freq_width: int, freq_step: int, bias_width: Optional[float] = None, bias_step: Optional[float] = None, drive_amplitude: Optional[float] = None, transition: Optional[str] = '01', drive_duration: int = 2000)[source]
Avoided Crossing Parameters
- drive_amplitude: Optional[float] = None
Drive amplitude (optional). If defined, same amplitude will be used in all qubits. Otherwise the default amplitude defined on the platform runcard will be used
- drive_duration: int = 2000
Duration of the drive pulse.
- hardware_average: bool = False
By default hardware average will be performed.
- transition: Optional[str] = '01'
Flux spectroscopy transition type (“01” or “02”). Default value is 01
- freq_width: int
Width for frequency sweep relative to the readout frequency [Hz].
- freq_step: int
Frequency step for sweep [Hz].
- 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: avoided crossing
operation: avoided_crossing
parameters:
bias_step: 0.01
bias_width: 0.2
drive_amplitude: 0.5
freq_step: 500000
freq_width: 100000000
The expected output is the following: