Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
52 changes: 23 additions & 29 deletions doc/source/protocols/readout_optimization/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -3,70 +3,67 @@ Readout optimization

Qibocal provides different protocols to improve the readout pulse parameters by optimizing the assignment fidelity.

Resonator Amplitude
-------------------
Readout Amplitude Optimization
------------------------------

The resonator amplitude protocol improves the readout amplitude by optimizing the assignment fidelity.
The readout amplitude protocol improves the readout amplitude by optimizing the assignment fidelity.

Parameters
^^^^^^^^^^

.. autoclass:: qibocal.protocols.readout_optimization.resonator_amplitude.ResonatorAmplitudeParameters
.. autoclass:: qibocal.protocols.readout.amplitude_optimization.ReadoutAmplitudeParameters
:noindex:


Example
^^^^^^^

It follows an example runcard of the resonator amplitude routine with the plot
It follows an example runcard of the readout amplitude routine with the plot
generated in the report.

.. code-block:: yaml

- id: resonator_amplitude
operation: resonator_amplitude
- id: ro_amplitude
operation: ro_amplitude
parameters:
amplitude_step: 0.0005
amplitude_start: 0.001
amplitude_stop: 0.005
amplitude_range: [0.001, 0.005, 0.0005]

As shown in the picture below, the protocol sweeps the readout amplitude and evaluates the errors probability.

.. image:: readout_amplitude.png


Resonator Frequency
-------------------
Readout Frequency Optimization
------------------------------

The resonator frequency protocol performs a sweep of the readout frequency to maximize assignment fidelity.
The readout frequency protocol performs a sweep of the readout frequency to maximize assignment fidelity.


Parameters
^^^^^^^^^^

.. autoclass:: qibocal.protocols.readout_optimization.resonator_frequency.ResonatorFrequencyParameters
.. autoclass:: qibocal.protocols.readout.frequency_optimization.ReadoutFrequencyParameters
:noindex:


Example
^^^^^^^

In the following we show a possible runcard for the optimization of the resonator frequency together with expected output plot.
In the following we show a possible runcard for the optimization of the readout frequency together with expected output plot.

.. code-block:: yaml

- id: resonator_frequency
operation: resonator_frequency
- id: ro_frequency
operation: ro_frequency
parameters:
freq_width: 1_000_000
freq_step: 100_000
freq_range: ['center', 1_000_000, 100_000]

.. image:: frequency_optimization.png



Resonator Optimization
----------------------
Readout Amplitude-Frequency Simultaneous Optimization
-----------------------------------------------------

In addition to this metric, the protocol also computes the quantum non-demolition-ness (QND) of the measurement, which serves to evaluate measurement-induced state disturbance.
To capture leakage outside the computational basis the protocol includes the computation of QND with an additional :math:`\pi` pulse.
Expand All @@ -76,7 +73,7 @@ Readout parameters are then updated based on the configuration that yields the h
Parameters
^^^^^^^^^^

.. autoclass:: qibocal.protocols.readout_optimization.resonator_optimization.ResonatorOptimizationParameters
.. autoclass:: qibocal.protocols.readout_optimization.ro_amplitude_frequency_optimization.ReadoutAmplitudeFrequencyOptimizationParameters
:noindex:


Expand All @@ -87,14 +84,11 @@ A possible runcard for the resonator optimization protocol could be:

.. code-block:: yaml

- id: resonator optimization
operation: resonator_optimization
- id: ro_amplitude_frequency
operation: ro_amplitude_frequency
parameters:
freq_width: 3_000_000
freq_step: 125_000
amplitude_step: 0.00025
amplitude_min: 0.00025
amplitude_max: 0.0085
freq_range: ['center', 3_000_000, 125_000]
amplitude_range: [0.00025, 0.0085, 0.00025]
delay: 1000

The plot generated by the report should be similar to the following one:
Expand Down
3 changes: 0 additions & 3 deletions src/qibocal/protocols/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,6 @@
rabi,
randomized_benchmarking,
readout,
readout_optimization,
resonator_spectroscopies,
signal_experiments,
tomographies,
Expand Down Expand Up @@ -41,7 +40,6 @@
from .ramsey import *
from .randomized_benchmarking import *
from .readout import *
from .readout_optimization import *
from .resonator_spectroscopies import *
from .signal_experiments import *
from .tomographies import *
Expand All @@ -57,7 +55,6 @@
__all__ += rabi.__all__
__all__ += ramsey_.__all__
__all__ += randomized_benchmarking.__all__
__all__ += readout_optimization.__all__
__all__ += signal_experiments.__all__
__all__ += dispersive_shift_.__all__
__all__ += classification.__all__
Expand Down
11 changes: 10 additions & 1 deletion src/qibocal/protocols/readout/__init__.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,13 @@
from .amplitude_frequency_optimization import ro_amplitude_frequency
from .amplitude_optimization import ro_amplitude
from .frequency_optimization import ro_frequency
Comment thread
alecandido marked this conversation as resolved.
from .readout_characterization import readout_characterization
from .readout_mitigation_matrix import readout_mitigation_matrix

__all__ = ["readout_characterization", "readout_mitigation_matrix"]
__all__ = [
"readout_characterization",
"readout_mitigation_matrix",
"ro_amplitude",
"ro_amplitude_frequency",
"ro_frequency",
]
Loading