CircuitLayer#

Module: iqm.cpc.compiler.layering_stages

class iqm.cpc.compiler.layering_stages.CircuitLayer(layer_type, locus_components, instructions=<factory>, transformations=<factory>)#

Bases: object

Represents CircuitOperations in a Circuit that can be executed consequently (or in parallel).

Used to group together CircuitOperations that share a specific property.

Attributes

layer_type

Type of the layer, e.g. 'flux' or 'non-flux', shared between its member CircuitOperations.

locus_components

Union of the loci of the CircuitOperations in this layer.

instructions

´.CircuitOperation``.

transformations

Transformation names to be applied for this layer when resolving it.

Methods

resolve

Apply self.transformations to this layer and resolve it into a TimeBox.

Parameters:
layer_type: str#

Type of the layer, e.g. ‘flux’ or ‘non-flux’, shared between its member CircuitOperations.

locus_components: set[str]#

Union of the loci of the CircuitOperations in this layer.

instructions: list[CircuitOperation]#

´.CircuitOperation``. These should correspond to a transformation “gate” registered in ScheduleBuilder.

Type:

Instruction (CircuitOperations) in this layer, ordered as in

Type:

class

transformations: list[str]#

Transformation names to be applied for this layer when resolving it.

resolve(builder)#

Apply self.transformations to this layer and resolve it into a TimeBox.

Parameters:

builder (ScheduleBuilder) – The schedule builder.

Returns:

The layer’s contents resolved into a TimeBox.

Return type:

TimeBox

.

Inheritance

Inheritance diagram of iqm.cpc.compiler.layering_stages.CircuitLayer