Flux crosstalk experiments¶
In this section we show how to run flux crosstalk experiments.
As we saw in Frequency vs flux experiments the external flux affecting a qubit line \(i\) will receive contributions from other qubits
which means that the transmon frequency can change when current is applied on other qubits.
Qubit crosstalk¶
It is possible to measure qubit crosstalk by running a qubit_crosstalk experiment. Assuming that the target qubit is at the sweetspot, in order to measure crosstalk effects it is suggested to bias the qubit away.
Here is a possible runcard where we measure the crosstalk on qubit 2 caused by qubit 3 and 0.
Parameters¶
- class qibocal.protocols.flux_dependence.qubit_crosstalk.QubitCrosstalkParameters(freq_width: int, freq_step: int, bias_width: float | None = None, bias_step: float | None = None, drive_amplitude: float | None = None, drive_duration: int = 2000, bias_point: dict[~typing.Annotated[int | str, FieldInfo(annotation=NoneType, required=True, metadata=[_PydanticGeneralMetadata(union_mode='left_to_right')])], float] | None = <factory>, flux_qubits: list[~typing.Annotated[int | str, FieldInfo(annotation=NoneType, required=True, metadata=[_PydanticGeneralMetadata(union_mode='left_to_right')])]] | None = None)[source]
 Crosstalk runcard inputs.
- bias_point: dict[Annotated[int | str, FieldInfo(annotation=NoneType, required=True, metadata=[_PydanticGeneralMetadata(union_mode='left_to_right')])], float] | None
 bias_point_qubit_id}.
- Type:
 Dictionary with {qubit_id
- flux_qubits: list[Annotated[int | str, FieldInfo(annotation=NoneType, required=True, metadata=[_PydanticGeneralMetadata(union_mode='left_to_right')])]] | None = None
 IDs of the qubits that we will sweep the flux on. If
Noneflux will be swept on all qubits that we are running the routine on in a multiplex fashion. If given flux will be swept on the given qubits in a sequential fashion (n qubits will result to n different executions). Multiple qubits may be measured in each execution as specified by thequbitsoption in the runcard.
- drive_amplitude: float | None = 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.
- 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¶
- id: qubit crosstalk
  operation: qubit_crosstalk
  targets: [2]
  parameters:
    bias_point:
        2: 0.25
    bias_step: 0.001
    bias_width: 0.05
    drive_amplitude: 0.002
    drive_duration: 4000
    flux_qubits: [0, 3]
    freq_step: 200000
    freq_width: 10000000
    nshots: 1024
    relaxation_time: 20000
The previous runcard aims at extracting the crosstalk coefficients \(C_{20}\) and \(C_{23}\).