CCPRX_Composite#

Module: iqm.pulse.gates.conditional

class iqm.pulse.gates.conditional.CCPRX_Composite(parent, name, locus, calibration_data, builder)#

Bases: CompositeGate

Classically controlled PRX gate.

Applies a PRX gate conditioned on a discriminated readout result obtained in the same segment (active feedback). Applies a PRX gate if the result is 1, and a Wait of equal duration if the result is 0. Uses the default implementation of PRX underneath, so no extra calibration is needed.

Note

Assumes that the PRX gate implementation used only consists of IQPulse instructions on the drive channel of its locus qubit.

Attributes

customizable_gates

These member operations can be calibrated separately from their common calibration by adding OCalibrationData nodes for them under the OILCalibrationData node of the composite gate.

parameters

control_delays contains the times it takes for the classical control signal from each probe line (readout instrument) to become usable for the drive AWG implementing the PRX gate.

registered_gates

Names of the member operations used by the composite gate.

id

Unique str identifier, needed for certain caching properties.

sub_implementations

Single-component sub-implementations for factorizable gates with len(locus) > 1, otherwise empty.

Methods

Parameters:
registered_gates: tuple[str, ...] = ('prx',)#

Names of the member operations used by the composite gate. There must be corresponding keys in builder.op_table.

parameters: dict[str, Parameter | Setting | dict] = {'control_delays': Parameter(name='', label='Control delays', unit='s', data_type=<DataType.FLOAT: 1>, collection_type=<CollectionType.NDARRAY: 2>, element_indices=None)}#

control_delays contains the times it takes for the classical control signal from each probe line (readout instrument) to become usable for the drive AWG implementing the PRX gate. The delays must be in the same order as the probe lines are listed in the {drive_controller}.awg.feedback_sources station setting.

customizable_gates: tuple[str, ...] | None = ('prx',)#

These member operations can be calibrated separately from their common calibration by adding OCalibrationData nodes for them under the OILCalibrationData node of the composite gate. Must be a subset of registered_gates. By default all member operations are customizable.

Inheritance

Inheritance diagram of iqm.pulse.gates.conditional.CCPRX_Composite