qibocal.protocols.characterization.coherence package#

Submodules#

qibocal.protocols.characterization.coherence.spin_echo module#

class qibocal.protocols.characterization.coherence.spin_echo.SpinEchoParameters(delay_between_pulses_start: int, delay_between_pulses_end: int, delay_between_pulses_step: int, nshots: Optional[int] = None, relaxation_time: Optional[int] = None)[source]#

Bases: Parameters

SpinEcho runcard inputs.

delay_between_pulses_start: int#

Initial delay between pulses [ns].

delay_between_pulses_end: int#

Final delay between pulses [ns].

delay_between_pulses_step: int#

Step delay between pulses (ns).

nshots: Optional[int] = None#

Number of shots.

relaxation_time: Optional[int] = None#

Relaxation time (ns).

class qibocal.protocols.characterization.coherence.spin_echo.SpinEchoResults(t2_spin_echo: dict[Union[str, int], float], fitted_parameters: dict[Union[str, int], dict[str, float]])[source]#

Bases: Results

SpinEcho outputs.

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

T2 echo for each qubit.

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

Raw fitting output.

class qibocal.protocols.characterization.coherence.spin_echo.SpinEchoData(data: dict[typing.Union[str, int], numpy.ndarray[typing.Any, numpy.dtype[dtype([('wait', '<f8'), ('msr', '<f8'), ('phase', '<f8')])]]] = <factory>)[source]#

Bases: T1Data

SpinEcho acquisition outputs.

qibocal.protocols.characterization.coherence.spin_echo.spin_echo = Routine(acquisition=<function _acquisition>, fit=<function _fit>, report=<function _plot>)#

SpinEcho Routine object.

qibocal.protocols.characterization.coherence.t1 module#

class qibocal.protocols.characterization.coherence.t1.T1Parameters(delay_before_readout_start: int, delay_before_readout_end: int, delay_before_readout_step: int, nshots: Optional[int] = None, relaxation_time: Optional[int] = None)[source]#

Bases: Parameters

T1 runcard inputs.

delay_before_readout_start: int#

Initial delay before readout (ns).

delay_before_readout_end: int#

Final delay before readout (ns).

delay_before_readout_step: int#

Step delay before readout (ns).

nshots: Optional[int] = None#

Number of shots.

relaxation_time: Optional[int] = None#

Relaxation time (ns).

class qibocal.protocols.characterization.coherence.t1.T1Results(t1: dict[Union[str, int], float], fitted_parameters: dict[Union[str, int], dict[str, float]])[source]#

Bases: Results

T1 outputs.

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

T1 for each qubit.

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

Raw fitting output.

qibocal.protocols.characterization.coherence.t1.CoherenceType = dtype([('wait', '<f8'), ('msr', '<f8'), ('phase', '<f8')])#

Custom dtype for coherence routines.

class qibocal.protocols.characterization.coherence.t1.T1Data(data: dict[typing.Union[str, int], numpy.ndarray[typing.Any, numpy.dtype[dtype([('wait', '<f8'), ('msr', '<f8'), ('phase', '<f8')])]]] = <factory>)[source]#

Bases: Data

T1 acquisition outputs.

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

Raw data acquired.

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

Store output for single qubit.

qibocal.protocols.characterization.coherence.t1.t1 = Routine(acquisition=<function _acquisition>, fit=<function _fit>, report=<function _plot>)#

T1 Routine object.

qibocal.protocols.characterization.coherence.t1_sequences module#

qibocal.protocols.characterization.coherence.t1_sequences.t1_sequences = Routine(acquisition=<function _acquisition>, fit=<function _fit>, report=<function _plot>)#

T1 Routine object.

qibocal.protocols.characterization.coherence.t2 module#

class qibocal.protocols.characterization.coherence.t2.T2Parameters(delay_between_pulses_start: int, delay_between_pulses_end: int, delay_between_pulses_step: int, nshots: Optional[int] = None, relaxation_time: Optional[int] = None)[source]#

Bases: Parameters

T2 runcard inputs.

delay_between_pulses_start: int#

Initial delay between RX(pi/2) pulses in ns.

delay_between_pulses_end: int#

Final delay between RX(pi/2) pulses in ns.

delay_between_pulses_step: int#

Step delay between RX(pi/2) pulses in ns.

nshots: Optional[int] = None#

Number of shots.

relaxation_time: Optional[int] = None#

Relaxation time (ns).

class qibocal.protocols.characterization.coherence.t2.T2Results(t2: dict[Union[str, int], float], fitted_parameters: dict[Union[str, int], dict[str, float]])[source]#

Bases: Results

T2 outputs.

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

T2 for each qubit (ns).

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

Raw fitting output.

class qibocal.protocols.characterization.coherence.t2.T2Data(data: dict[typing.Union[str, int], numpy.ndarray[typing.Any, numpy.dtype[dtype([('wait', '<f8'), ('msr', '<f8'), ('phase', '<f8')])]]] = <factory>)[source]#

Bases: T1Data

T2 acquisition outputs.

qibocal.protocols.characterization.coherence.t2.t2 = Routine(acquisition=<function _acquisition>, fit=<function _fit>, report=<function _plot>)#

T2 Routine object.

qibocal.protocols.characterization.coherence.t2_sequences module#

qibocal.protocols.characterization.coherence.t2_sequences.t2_sequences = Routine(acquisition=<function _acquisition>, fit=<function _fit>, report=<function _plot>)#

T2 Routine object.

qibocal.protocols.characterization.coherence.utils module#

qibocal.protocols.characterization.coherence.utils.exp_decay(x, *p)[source]#
qibocal.protocols.characterization.coherence.utils.exponential_fit(data, zeno=None)[source]#

qibocal.protocols.characterization.coherence.zeno module#

class qibocal.protocols.characterization.coherence.zeno.ZenoParameters(readouts: int, nshots: Optional[int] = None, relaxation_time: Optional[int] = None)[source]#

Bases: Parameters

Zeno runcard inputs.

readouts: int#

Number of readout pulses

nshots: Optional[int] = None#

Number of shots.

relaxation_time: Optional[int] = None#

Relaxation time (ns).

qibocal.protocols.characterization.coherence.zeno.ZenoType = dtype([('msr', '<f8'), ('phase', '<f8')])#

Custom dtype for Zeno.

class qibocal.protocols.characterization.coherence.zeno.ZenoData(readout_duration: dict[tuple[typing.Union[str, int], int], int] = <factory>, data: dict[tuple[typing.Union[str, int], int], numpy.ndarray[typing.Any, numpy.dtype[dtype([('msr', '<f8'), ('phase', '<f8')])]]] = <factory>)[source]#

Bases: Data

readout_duration: dict[tuple[Union[str, int], int], int]#

Readout durations for each qubit

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

Raw data acquired.

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

Store output for single qubit.

class qibocal.protocols.characterization.coherence.zeno.ZenoResults(zeno_t1: dict[Union[str, int], float], fitted_parameters: dict[Union[str, int], dict[str, float]])[source]#

Bases: Results

Zeno outputs.

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

T1 for each qubit.

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

Raw fitting output.