qibocal.protocols.characterization.rabi package#

Submodules#

qibocal.protocols.characterization.rabi.amplitude module#

class qibocal.protocols.characterization.rabi.amplitude.RabiAmplitudeParameters(min_amp_factor: float, max_amp_factor: float, step_amp_factor: float, pulse_length: Optional[float], nshots: Optional[int] = None, relaxation_time: Optional[int] = None)[source]#

Bases: Parameters

RabiAmplitude runcard inputs.

min_amp_factor: float#

Minimum amplitude multiplicative factor.

max_amp_factor: float#

Maximum amplitude multiplicative factor.

step_amp_factor: float#

Step amplitude multiplicative factor.

pulse_length: Optional[float]#

RX pulse duration (ns).

nshots: Optional[int] = None#

Number of shots.

relaxation_time: Optional[int] = None#

Relaxation time (ns).

class qibocal.protocols.characterization.rabi.amplitude.RabiAmplitudeResults(amplitude: dict[Union[str, int], float], length: dict[Union[str, int], float], fitted_parameters: dict[Union[str, int], dict[str, float]])[source]#

Bases: Results

RabiAmplitude outputs.

amplitude: dict[Union[str, int], float]#

Drive amplitude for each qubit.

length: dict[Union[str, int], float]#

Drive pulse duration. Same for all qubits.

fitted_parameters: dict[Union[str, int], dict[str, float]]#

Raw fitted parameters.

qibocal.protocols.characterization.rabi.amplitude.RabiAmpType = dtype([('amp', '<f8'), ('msr', '<f8'), ('phase', '<f8')])#

Custom dtype for rabi amplitude.

class qibocal.protocols.characterization.rabi.amplitude.RabiAmplitudeData(durations: dict[typing.Union[str, int], float] = <factory>, data: dict[typing.Union[str, int], numpy.ndarray[typing.Any, numpy.dtype[dtype([('amp', '<f8'), ('msr', '<f8'), ('phase', '<f8')])]]] = <factory>)[source]#

Bases: Data

RabiAmplitude data acquisition.

durations: dict[Union[str, int], float]#

Pulse durations provided by the user.

data: dict[typing.Union[str, int], numpy.ndarray[typing.Any, numpy.dtype[dtype([('amp', '<f8'), ('msr', '<f8'), ('phase', '<f8')])]]]#

Raw data acquired.

register_qubit(qubit, amp, msr, phase)[source]#

Store output for single qubit.

qibocal.protocols.characterization.rabi.amplitude.rabi_amplitude = Routine(acquisition=<function _acquisition>, fit=<function _fit>, report=<function _plot>)#

RabiAmplitude Routine object.

qibocal.protocols.characterization.rabi.length module#

class qibocal.protocols.characterization.rabi.length.RabiLengthParameters(pulse_duration_start: float, pulse_duration_end: float, pulse_duration_step: float, pulse_amplitude: Optional[float] = None, nshots: Optional[int] = None, relaxation_time: Optional[int] = None)[source]#

Bases: Parameters

RabiLength runcard inputs.

pulse_duration_start: float#

Initial pi pulse duration (ns).

pulse_duration_end: float#

Final pi pulse duration (ns).

pulse_duration_step: float#

Step pi pulse duration (ns).

pulse_amplitude: Optional[float] = None#

Pi pulse amplitude. Same for all qubits.

nshots: Optional[int] = None#

Number of shots.

relaxation_time: Optional[int] = None#

Relaxation time (ns).

class qibocal.protocols.characterization.rabi.length.RabiLengthResults(length: dict[Union[str, int], int], amplitude: dict[Union[str, int], float], fitted_parameters: dict[Union[str, int], dict[str, float]])[source]#

Bases: Results

RabiLength outputs.

length: dict[Union[str, int], int]#

Pi pulse duration for each qubit.

amplitude: dict[Union[str, int], float]#

Pi pulse amplitude. Same for all qubits.

fitted_parameters: dict[Union[str, int], dict[str, float]]#

Raw fitting output.

qibocal.protocols.characterization.rabi.length.RabiLenType = dtype([('length', '<f8'), ('msr', '<f8'), ('phase', '<f8')])#

Custom dtype for rabi amplitude.

class qibocal.protocols.characterization.rabi.length.RabiLengthData(amplitudes: dict[typing.Union[str, int], float] = <factory>, data: dict[typing.Union[str, int], numpy.ndarray[typing.Any, numpy.dtype[dtype([('length', '<f8'), ('msr', '<f8'), ('phase', '<f8')])]]] = <factory>)[source]#

Bases: Data

RabiLength acquisition outputs.

amplitudes: dict[Union[str, int], float]#

Pulse durations provided by the user.

data: dict[typing.Union[str, int], numpy.ndarray[typing.Any, numpy.dtype[dtype([('length', '<f8'), ('msr', '<f8'), ('phase', '<f8')])]]]#

Raw data acquired.

register_qubit(qubit, length, msr, phase)[source]#

Store output for single qubit.

qibocal.protocols.characterization.rabi.length.rabi_length = Routine(acquisition=<function _acquisition>, fit=<function _fit>, report=<function _plot>)#

RabiLength Routine object.

qibocal.protocols.characterization.rabi.length_sequences module#

qibocal.protocols.characterization.rabi.length_sequences.rabi_length_sequences = Routine(acquisition=<function _acquisition>, fit=<function _fit>, report=<function _plot>)#

RabiLength Routine object.

qibocal.protocols.characterization.rabi.utils module#

qibocal.protocols.characterization.rabi.utils.rabi_amplitude_fit(x, p0, p1, p2, p3)[source]#
qibocal.protocols.characterization.rabi.utils.rabi_length_fit(x, p0, p1, p2, p3, p4)[source]#
qibocal.protocols.characterization.rabi.utils.plot(data, fit, qubit)[source]#