Skip to content

analysis

tergite_autocalibration.lib.nodes.readout.ro_amplitude_optimization.analysis

Classes:

Name Description
OptimalROAmplitudeQubitAnalysis
OptimalROThreeStateAmplitudeQubitAnalysis
OptimalROTwoStateAmplitudeQubitAnalysis

OptimalROAmplitudeQubitAnalysis

OptimalROAmplitudeQubitAnalysis(name, redis_fields)

Bases: BaseQubitAnalysis

Methods:

Name Description
IQ

Extracts I/Q components from the dataset at a given index.

plotter

Plot the fitted values from the analysis

process_qubit

Setup the qubit data and analyze it.

rotate_to_probability_axis

Rotates the S21 IQ points to the real - normalized axis

run_initial_fitting

Classify all iq points for all amplitudes and store them in

IQ

IQ(index: int) -> ndarray

Extracts I/Q components from the dataset at a given index.

plotter abstractmethod

plotter(ax: Axes) -> None

Plot the fitted values from the analysis

Parameters:

Name Type Description Default
ax Axes

The axis object from matplotlib to be plotted

required

Returns:

Name Type Description
None None

This will just plot the fitted values

process_qubit

process_qubit(dataset, qubit_element) -> QOI

Setup the qubit data and analyze it. Args: dataset: xarray dataset with the qubit data qubit_element: name of the qubit element Returns: QOI: Quantity of interest as QOI wrapped object

rotate_to_probability_axis

rotate_to_probability_axis(complex_measurement_data)

Rotates the S21 IQ points to the real - normalized axis that describes the |0> - |1> axis. !!! It Assumes that complex_measurement_data[-2] corresponds to the |0> and complex_measurement_data[-1] corresponds to the |1>

run_initial_fitting

run_initial_fitting()

Classify all iq points for all amplitudes and store them in corresponding dataArrays.

OptimalROThreeStateAmplitudeQubitAnalysis

OptimalROThreeStateAmplitudeQubitAnalysis(name, redis_fields)

Bases: OptimalROAmplitudeQubitAnalysis

Methods:

Name Description
IQ

Extracts I/Q components from the dataset at a given index.

analyse_qubit

classify the three states for each RO amplitude

process_qubit

Setup the qubit data and analyze it.

rotate_to_probability_axis

Rotates the S21 IQ points to the real - normalized axis

run_initial_fitting

Classify all iq points for all amplitudes and store them in

IQ

IQ(index: int) -> ndarray

Extracts I/Q components from the dataset at a given index.

analyse_qubit

analyse_qubit()

classify the three states for each RO amplitude and return the RO amplitude that gives the maximum three state classification fidelity as well as the defining parameters for the optimal three state boundary returns


optimal_amplitude: float amplitude of the RO pulse that gives optimal fidelity centroid_I: float I coordinate of the centroid defined by the class boundaries centroid_Q: float Q coordinate of the centroid defined by the class boundaries omega_01: float in [0,360) degrees defining angle for the |0> - |1> boundary omega_12: float in [0,360) degrees defining angle for the |1> - |2> boundary omega_20 in [0,360) degrees, defining angle for the |2> - |0> boundary inv_cm_str: str string encoding of the confusion matrix

process_qubit

process_qubit(dataset, qubit_element) -> QOI

Setup the qubit data and analyze it. Args: dataset: xarray dataset with the qubit data qubit_element: name of the qubit element Returns: QOI: Quantity of interest as QOI wrapped object

rotate_to_probability_axis

rotate_to_probability_axis(complex_measurement_data)

Rotates the S21 IQ points to the real - normalized axis that describes the |0> - |1> axis. !!! It Assumes that complex_measurement_data[-2] corresponds to the |0> and complex_measurement_data[-1] corresponds to the |1>

run_initial_fitting

run_initial_fitting()

Classify all iq points for all amplitudes and store them in corresponding dataArrays.

OptimalROTwoStateAmplitudeQubitAnalysis

OptimalROTwoStateAmplitudeQubitAnalysis(name, redis_fields)

Bases: OptimalROAmplitudeQubitAnalysis

Methods:

Name Description
IQ

Extracts I/Q components from the dataset at a given index.

align_on_y_axis

Translate and rotate the IQ samples so that all the |0> are on the I<0 semi-plane

process_qubit

Setup the qubit data and analyze it.

rotate_to_probability_axis

Rotates the S21 IQ points to the real - normalized axis

run_initial_fitting

Classify all iq points for all amplitudes and store them in

IQ

IQ(index: int) -> ndarray

Extracts I/Q components from the dataset at a given index.

align_on_y_axis

align_on_y_axis(iq_points: ndarray, classified_states: ndarray, boundary_angle_rad: float, absolute_threshold: float) -> tuple[ndarray, float, float]

Translate and rotate the IQ samples so that all the |0> are on the I<0 semi-plane and all the |1> states are on the I>0 semi plane in accordance to Quantify Scheduler convention for Thresholded Acquisitions

process_qubit

process_qubit(dataset, qubit_element) -> QOI

Setup the qubit data and analyze it. Args: dataset: xarray dataset with the qubit data qubit_element: name of the qubit element Returns: QOI: Quantity of interest as QOI wrapped object

rotate_to_probability_axis

rotate_to_probability_axis(complex_measurement_data)

Rotates the S21 IQ points to the real - normalized axis that describes the |0> - |1> axis. !!! It Assumes that complex_measurement_data[-2] corresponds to the |0> and complex_measurement_data[-1] corresponds to the |1>

run_initial_fitting

run_initial_fitting()

Classify all iq points for all amplitudes and store them in corresponding dataArrays.