About cookies on this site Our websites require some cookies to function properly (required). In addition, other cookies may be used with your consent to analyze site usage, improve the user experience and for advertising. For more information, please review your options. By visiting our website, you agree to our processing of information as described in IBM’sprivacy statement. To provide a smooth navigation, your cookie preferences will be shared across the IBM web domains listed here.
LayerError
class LayerError(circuit, qubits, error=None)
Bases: object
The error channel (in Pauli-Lindblad format) of a single layer of instructions.
Parameters
- circuit (QuantumCircuit) – A circuit whose noise has been learnt.
- qubits (Sequence[int]) – The labels of the qubits in the
circuit
. - error (Optional[PauliLindbladError]) – The Pauli Lindblad error channel affecting the
circuit
, orNone
if the error channel is either unknown or explicitly disabled.
Raises
ValueError – If circuit
, qubits
, and error
have mismatching number of qubits.
Attributes
circuit
The circuit in this LayerError
.
error
The error channel in this LayerError
, or None
if the error channel is either unknown or explicitly disabled.
generators
(DEPRECATED) The Pauli Lindblad generators of the error channel in this LayerError
.
num_qubits
The number of qubits in this LayerError
.
qubits
The qubits in this LayerError
.
rates
(DEPRECATED) The Lindblad generator rates of the error channel in this LayerError
.
Methods
draw_map
draw_map(embedding, colorscale='Bluered', color_no_data='lightgray', color_out_of_scale='lightgreen', num_edge_segments=16, edge_width=4, height=500, highest_rate=None, background_color='white', radius=0.25, width=800)
Draw a map view of a this layer error.
Parameters
- embedding (Union[Embedding, BackendV2]) – An
Embedding
object containing the coordinates and coupling map to draw the layer error on, or a backend to generate anEmbedding
for. - colorscale (str) – The colorscale used to show the rates of this layer error.
- color_no_data (str) – The color used for qubits and edges for which no data is available.
- color_out_of_scale (str) – The color used for rates with value greater than
highest_rate
. - num_edge_segments (int) – The number of equal-sized segments that edges are made of.
- edge_width (float) – The line width of the edges in pixels.
- height (int) – The height of the returned figure.
- highest_rate (Optional[float]) – The highest rate, used to normalize all other rates before choosing their colors. If
None
, it defaults to the highest value found in thelayer_error
. - background_color (str) – The background color.
- radius (float) – The radius of the pie charts representing the qubits.
- width (int) – The width of the returned figure.
Return type
PlotlyFigure
from qiskit import QuantumCircuit
from qiskit.quantum_info import PauliList
from qiskit_ibm_runtime.utils.embeddings import Embedding
from qiskit_ibm_runtime.utils.noise_learner_result import LayerError, PauliLindbladError
# A five-qubit 1-D embedding with nearest neighbouring connectivity
coordinates1 = [(0, 0), (0, 1), (0, 2), (0, 3), (0, 4), (0, 5)]
coupling_map1 = [(0, 1), (1, 2), (2, 3), (3, 4), (4, 5)]
embedding1 = Embedding(coordinates1, coupling_map1)
# A six-qubit horseshoe-shaped embedding with nearest neighbouring connectivity
coordinates2 = [(0, 0), (0, 1), (0, 2), (1, 0), (1, 1), (1, 2)]
coupling_map2 = [(0, 1), (1, 2), (0, 3), (3, 4), (4, 5)]
embedding2 = Embedding(coordinates2, coupling_map2)
# A LayerError object
circuit = QuantumCircuit(4)
qubits = [1, 2, 3, 4]
generators = PauliList(["IIIX", "IIXI", "IXII", "YIII", "ZIII", "XXII", "ZZII"])
rates = [0.01, 0.01, 0.01, 0.005, 0.02, 0.01, 0.01]
error = PauliLindbladError(generators, rates)
layer_error = LayerError(circuit, qubits, error)
# Draw the layer error on embedding1
layer_error.draw_map(embedding1)
# Draw the layer error on embedding2
layer_error.draw_map(embedding2)
draw_swarm
draw_swarm(num_bodies=None, max_rate=None, min_rate=None, connected=None, colors=None, num_bins=None, opacities=0.4, names=None, x_coo=None, marker_size=None, height=500, width=800)
Draw a swarm plot of the rates in this layer error.
This function plots the rates along a vertical axes, offsetting the rates along the x
axis so that they do not overlap with each other.
Note
To draw multiple layer errors at once, consider calling draw_layer_errors_swarm()
directly.
Parameters
- num_bodies (Optional[int]) – The weight of the generators to include in the plot, or
None
if all the generators should be included. - max_rate (Optional[float]) – The largest rate to include in the plot, or
None
if no upper limit should be set. - min_rate (Optional[float]) – The smallest rate to include in the plot, or
None
if no lower limit should be set. - connected (Optional[Union[list[Pauli], list[str]]]) – A list of generators whose markers are to be connected by lines.
- colors (Optional[list[str]]) – A list of colors for the markers in the plot, or
None
if these colors are to be chosen automatically. - num_bins (Optional[int]) – The number of bins to place the rates into when calculating the
x
-axis offsets. - opacities (Union[float, list[float]]) – A list of opacities for the markers.
- names (Optional[list[str]]) – The names of the various layers as displayed in the legend. If
None
, default names are assigned based on the layers’ position inside thelayer_errors
list. - x_coo (Optional[list[float]]) – The
x
-axis coordinates of the vertical axes that the markers are drawn around, orNone
if these axes should be placed at regular intervals. - marker_size (Optional[float]) – The size of the marker in the plot.
- height (int) – The height of the returned figure.
- width (int) – The width of the returned figure.
Return type
PlotlyFigure
Was this page helpful?
Report a bug or request content on GitHub.