Skip to main contentIBM Quantum Documentation
This page is from an old version of Qiskit SDK and does not exist in the latest version. We recommend you migrate to the latest version. See the release notes for more information.

qiskit.pulse.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).
SnapshotChannel(*args, **kwargs)Snapshot channels are used to specify instructions for simulators.

AcquireChannel

class AcquireChannel(index)

GitHub

Acquire channels are used to collect data.

Channel class.

Parameters

index (int) – Index of channel.

assign

assign(parameter, value)

Return a new channel with the input Parameter assigned to value.

Parameters

  • parameter (Parameter) – A parameter in this expression whose value will be updated.
  • value (Union[ParameterExpression, float]) – The new value to bind to.

Return type

Channel

Returns

A new channel with updated parameters.

Raises

PulseError – If the parameter is not present in the channel.

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

Union[int, ParameterExpression]

is_parameterized

is_parameterized()

Return True iff the channel is parameterized.

Return type

bool

name

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

Return type

str

parameters

Parameters which determine the channel index.

Return type

Set

Channel

class Channel(index)

GitHub

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.

When serialized channels are identified by their serialized name <prefix><index>. The type of the channel is interpreted from the prefix, and the index often (but not always) maps to the qubit index. All concrete channel classes must have a prefix class attribute (and instances of that class have an index attribute). Base classes which have prefix set to None are prevented from being instantiated.

To implement a new channel inherit from Channel and provide a unique string identifier for the prefix class attribute.

Channel class.

Parameters

index (int) – Index of channel.

assign

assign(parameter, value)

Return a new channel with the input Parameter assigned to value.

Parameters

  • parameter (Parameter) – A parameter in this expression whose value will be updated.
  • value (Union[ParameterExpression, float]) – The new value to bind to.

Return type

Channel

Returns

A new channel with updated parameters.

Raises

PulseError – If the parameter is not present in the channel.

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

Union[int, ParameterExpression]

is_parameterized

is_parameterized()

Return True iff the channel is parameterized.

Return type

bool

name

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

Return type

str

parameters

Parameters which determine the channel index.

Return type

Set

prefix

Default value: None

A shorthand string prefix for characterizing the channel type.

ControlChannel

class ControlChannel(index)

GitHub

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.

assign

assign(parameter, value)

Return a new channel with the input Parameter assigned to value.

Parameters

  • parameter (Parameter) – A parameter in this expression whose value will be updated.
  • value (Union[ParameterExpression, float]) – The new value to bind to.

Return type

Channel

Returns

A new channel with updated parameters.

Raises

PulseError – If the parameter is not present in the channel.

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

Union[int, ParameterExpression]

is_parameterized

is_parameterized()

Return True iff the channel is parameterized.

Return type

bool

name

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

Return type

str

parameters

Parameters which determine the channel index.

Return type

Set

DriveChannel

class DriveChannel(index)

GitHub

Drive channels transmit signals to qubits which enact gate operations.

Channel class.

Parameters

index (int) – Index of channel.

assign

assign(parameter, value)

Return a new channel with the input Parameter assigned to value.

Parameters

  • parameter (Parameter) – A parameter in this expression whose value will be updated.
  • value (Union[ParameterExpression, float]) – The new value to bind to.

Return type

Channel

Returns

A new channel with updated parameters.

Raises

PulseError – If the parameter is not present in the channel.

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

Union[int, ParameterExpression]

is_parameterized

is_parameterized()

Return True iff the channel is parameterized.

Return type

bool

name

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

Return type

str

parameters

Parameters which determine the channel index.

Return type

Set

MeasureChannel

class MeasureChannel(index)

GitHub

Measure channels transmit measurement stimulus pulses for readout.

Channel class.

Parameters

index (int) – Index of channel.

assign

assign(parameter, value)

Return a new channel with the input Parameter assigned to value.

Parameters

  • parameter (Parameter) – A parameter in this expression whose value will be updated.
  • value (Union[ParameterExpression, float]) – The new value to bind to.

Return type

Channel

Returns

A new channel with updated parameters.

Raises

PulseError – If the parameter is not present in the channel.

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

Union[int, ParameterExpression]

is_parameterized

is_parameterized()

Return True iff the channel is parameterized.

Return type

bool

name

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

Return type

str

parameters

Parameters which determine the channel index.

Return type

Set

MemorySlot

class MemorySlot(index)

GitHub

Memory slot channels represent classical memory storage.

Channel class.

Parameters

index (int) – Index of channel.

assign

assign(parameter, value)

Return a new channel with the input Parameter assigned to value.

Parameters

  • parameter (Parameter) – A parameter in this expression whose value will be updated.
  • value (Union[ParameterExpression, float]) – The new value to bind to.

Return type

Channel

Returns

A new channel with updated parameters.

Raises

PulseError – If the parameter is not present in the channel.

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

Union[int, ParameterExpression]

is_parameterized

is_parameterized()

Return True iff the channel is parameterized.

Return type

bool

name

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

Return type

str

parameters

Parameters which determine the channel index.

Return type

Set

PulseChannel

class PulseChannel(index)

GitHub

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

Channel class.

Parameters

index (int) – Index of channel.

assign

assign(parameter, value)

Return a new channel with the input Parameter assigned to value.

Parameters

  • parameter (Parameter) – A parameter in this expression whose value will be updated.
  • value (Union[ParameterExpression, float]) – The new value to bind to.

Return type

Channel

Returns

A new channel with updated parameters.

Raises

PulseError – If the parameter is not present in the channel.

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

Union[int, ParameterExpression]

is_parameterized

is_parameterized()

Return True iff the channel is parameterized.

Return type

bool

name

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

Return type

str

parameters

Parameters which determine the channel index.

Return type

Set

RegisterSlot

class RegisterSlot(index)

GitHub

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

Channel class.

Parameters

index (int) – Index of channel.

assign

assign(parameter, value)

Return a new channel with the input Parameter assigned to value.

Parameters

  • parameter (Parameter) – A parameter in this expression whose value will be updated.
  • value (Union[ParameterExpression, float]) – The new value to bind to.

Return type

Channel

Returns

A new channel with updated parameters.

Raises

PulseError – If the parameter is not present in the channel.

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

Union[int, ParameterExpression]

is_parameterized

is_parameterized()

Return True iff the channel is parameterized.

Return type

bool

name

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

Return type

str

parameters

Parameters which determine the channel index.

Return type

Set

SnapshotChannel

class SnapshotChannel(*args, **kwargs)

GitHub

Snapshot channels are used to specify instructions for simulators.

Create new snapshot channel.

assign

assign(parameter, value)

Return a new channel with the input Parameter assigned to value.

Parameters

  • parameter (Parameter) – A parameter in this expression whose value will be updated.
  • value (Union[ParameterExpression, float]) – The new value to bind to.

Return type

Channel

Returns

A new channel with updated parameters.

Raises

PulseError – If the parameter is not present in the channel.

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

Union[int, ParameterExpression]

is_parameterized

is_parameterized()

Return True iff the channel is parameterized.

Return type

bool

name

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

Return type

str

parameters

Parameters which determine the channel index.

Return type

Set

Was this page helpful?
Report a bug or request content on GitHub.