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
andRegisterChannel
.
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)
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
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)
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
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)
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
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)
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
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)
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
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)
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
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)
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
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)
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
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)
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
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