# channels¶

This module defines Pulse Channels. Channels include:

• transmit channels, which should subclass PulseChannel

• receive channels, such as AcquireChannel

• non-signal “channels” such as SnapshotChannel, MemorySlot and RegisterChannel.

Novel channel types can often utilize the ControlChannel, but if this is not sufficient, new channel types can be created. Then, they must be supported in the PulseQobj schema and the assembler.

Classes

 AcquireChannel(index) Acquire channels are used to collect data. Channel(index) Base class of channels. ControlChannel(index) Control channels provide supplementary control over the qubit to the drive channel. DriveChannel(index) Drive channels transmit signals to qubits which enact gate operations. MeasureChannel(index) Measure channels transmit measurement stimulus pulses for readout. MemorySlot(index) Memory slot channels represent classical memory storage. PulseChannel(index) Base class of transmit Channels. RegisterSlot(index) Classical resister slot channels represent classical registers (low-latency classical memory). Snapshot channels are used to specify instructions for simulators.
class AcquireChannel(index)[source]

Acquire channels are used to collect data.

Channel class.

Parameters

index (int) – Index of channel.

Raises

PulseError – If index is not a nonnegative integer.

property index

Return the index of this channel. The index is a label for a control signal line typically mapped trivially to a qubit index. For instance, DriveChannel(0) labels the signal line driving the qubit labeled with index 0.

Return type

int

property name

Return the shorthand alias for this channel, which is based on its type and index.

Return type

str

class Channel(index)[source]

Base class of channels. Channels provide a Qiskit-side label for typical quantum control hardware signal channels. The final label -> physical channel mapping is the responsibility of the hardware backend. For instance, DriveChannel(0) holds instructions which the backend should map to the signal line driving gate operations on the qubit labeled (indexed) 0.

Channel class.

Parameters

index (int) – Index of channel.

Raises

PulseError – If index is not a nonnegative integer.

property index

Return the index of this channel. The index is a label for a control signal line typically mapped trivially to a qubit index. For instance, DriveChannel(0) labels the signal line driving the qubit labeled with index 0.

Return type

int

property name

Return the shorthand alias for this channel, which is based on its type and index.

Return type

str

prefix: str = None

A shorthand string prefix for characterizing the channel type.

class ControlChannel(index)[source]

Control channels provide supplementary control over the qubit to the drive channel. These are often associated with multi-qubit gate operations. They may not map trivially to a particular qubit index.

Channel class.

Parameters

index (int) – Index of channel.

Raises

PulseError – If index is not a nonnegative integer.

property index

Return the index of this channel. The index is a label for a control signal line typically mapped trivially to a qubit index. For instance, DriveChannel(0) labels the signal line driving the qubit labeled with index 0.

Return type

int

property name

Return the shorthand alias for this channel, which is based on its type and index.

Return type

str

class DriveChannel(index)[source]

Drive channels transmit signals to qubits which enact gate operations.

Channel class.

Parameters

index (int) – Index of channel.

Raises

PulseError – If index is not a nonnegative integer.

property index

Return the index of this channel. The index is a label for a control signal line typically mapped trivially to a qubit index. For instance, DriveChannel(0) labels the signal line driving the qubit labeled with index 0.

Return type

int

property name

Return the shorthand alias for this channel, which is based on its type and index.

Return type

str

class MeasureChannel(index)[source]

Measure channels transmit measurement stimulus pulses for readout.

Channel class.

Parameters

index (int) – Index of channel.

Raises

PulseError – If index is not a nonnegative integer.

property index

Return the index of this channel. The index is a label for a control signal line typically mapped trivially to a qubit index. For instance, DriveChannel(0) labels the signal line driving the qubit labeled with index 0.

Return type

int

property name

Return the shorthand alias for this channel, which is based on its type and index.

Return type

str

class MemorySlot(index)[source]

Memory slot channels represent classical memory storage.

Channel class.

Parameters

index (int) – Index of channel.

Raises

PulseError – If index is not a nonnegative integer.

property index

Return the index of this channel. The index is a label for a control signal line typically mapped trivially to a qubit index. For instance, DriveChannel(0) labels the signal line driving the qubit labeled with index 0.

Return type

int

property name

Return the shorthand alias for this channel, which is based on its type and index.

Return type

str

class PulseChannel(index)[source]

Base class of transmit Channels. Pulses can be played on these channels.

Channel class.

Parameters

index (int) – Index of channel.

Raises

PulseError – If index is not a nonnegative integer.

property index

Return the index of this channel. The index is a label for a control signal line typically mapped trivially to a qubit index. For instance, DriveChannel(0) labels the signal line driving the qubit labeled with index 0.

Return type

int

property name

Return the shorthand alias for this channel, which is based on its type and index.

Return type

str

class RegisterSlot(index)[source]

Classical resister slot channels represent classical registers (low-latency classical memory).

Channel class.

Parameters

index (int) – Index of channel.

Raises

PulseError – If index is not a nonnegative integer.

property index

Return the index of this channel. The index is a label for a control signal line typically mapped trivially to a qubit index. For instance, DriveChannel(0) labels the signal line driving the qubit labeled with index 0.

Return type

int

property name

Return the shorthand alias for this channel, which is based on its type and index.

Return type

str

class SnapshotChannel[source]

Snapshot channels are used to specify instructions for simulators.

Create new snapshot channel.

property index

Return the index of this channel. The index is a label for a control signal line typically mapped trivially to a qubit index. For instance, DriveChannel(0) labels the signal line driving the qubit labeled with index 0.

Return type

int

property name

Return the shorthand alias for this channel, which is based on its type and index.

Return type

str