iqm.cpc.interface.compiler.CircuitMetrics#

class iqm.cpc.interface.compiler.CircuitMetrics(components, component_pairs_with_gates, gate_loci=<factory>, schedule_duration=0.0, min_execution_time=0.0)#

Bases: object

Metrics describing a circuit and its compilation result.

Attributes

min_execution_time

shots * (instruction schedule duration + reset), in seconds.

schedule_duration

Duration of the instruction schedule created for the circuit, in seconds.

components

Locus components used in the circuit.

component_pairs_with_gates

Pairs of locus components which have two-component gates between them in the circuit.

gate_loci

Mapping from operation name to mapping from implementation name to a counter of loci of that operation in the circuit.

Methods

__eq__(other)

Return self==value.

__repr__()

Return repr(self).

Parameters:
components: frozenset[str]#

Locus components used in the circuit.

component_pairs_with_gates: frozenset[tuple[str, str]]#

Pairs of locus components which have two-component gates between them in the circuit.

gate_loci: dict[str, dict[str, Counter[tuple[str, ...]]]]#

Mapping from operation name to mapping from implementation name to a counter of loci of that operation in the circuit.

schedule_duration: float = 0.0#

Duration of the instruction schedule created for the circuit, in seconds.

min_execution_time: float = 0.0#

shots * (instruction schedule duration + reset), in seconds.

Type:

Lower bound on the actual execution time