ObservationFinder#

Module: iqm.station_control.client.qon

class ObservationFinder(observations, skip_unparseable=False)#

Bases: dict

Query structure for a set of observations.

This class enables reasonably efficient filtering of an observation set based on the observation name elements (e.g. find all T1 times / parameters of a particular gate/impl/locus etc. in the set).

The class has utility methods for querying specific types observations. The idea is to keep all the logic related to the structure of the observation names encapsulated in this class/module.

Currently implemented using a nested dictionary that follows the dotted structure of the observation names. The nested dictionary is not ideal for all searches/filterings, but it’s just an implementation detail that can be improved later on without affecting the public API of this class.

Parameters:
  • observations (Iterable[ObservationBase]) – Observations to include in the query structure.

  • skip_unparseable (bool) – If True, ignore any observation whose name cannot be parsed, otherwise raise an exception.

Methods

get_coherence_times

T1 and T2 coherence times for the given QPU components.

get_gate_duration

Duration for the given gate/implementation/locus (in s), or None if not found.

get_gate_fidelity

Fidelity of the given gate/implementation/locus, or None if not found.

get_measure_errors

Measurement errors of the given gate/implementation/locus, or None if not found.

get_measure_repeatability

Repeatability of the measurement and given implementation/locus, or None if not found.

get_qubit_frequency

Qubit drive frequency, or None if not found.

get_coherence_times(components)#

T1 and T2 coherence times for the given QPU components.

If not found, the component will not appear in the corresponding dict.

Parameters:

components (Iterable[str])

Return type:

tuple[dict[str, float], dict[str, float]]

get_gate_duration(gate_name, impl_name, locus)#

Duration for the given gate/implementation/locus (in s), or None if not found.

Parameters:
Return type:

float | None

get_gate_fidelity(gate_name, impl_name, locus)#

Fidelity of the given gate/implementation/locus, or None if not found.

Parameters:
Return type:

float | None

get_measure_errors(gate_name, impl_name, locus)#

Measurement errors of the given gate/implementation/locus, or None if not found.

Parameters:
Return type:

tuple[float, float] | None

get_measure_repeatability(gate_name, impl_name, locus)#

Repeatability of the measurement and given implementation/locus, or None if not found.

Parameters:
Return type:

float | None

get_qubit_frequency(qubit)#

Qubit drive frequency, or None if not found.

Parameters:

qubit (str)

Return type:

float | None

Inheritance

Inheritance diagram of iqm.station_control.client.qon.ObservationFinder