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, orNoneif 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.
num_qubits
The number of qubits in this LayerError.
qubits
The qubits 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
Embeddingobject containing the coordinates and coupling map to draw the layer error on, or a backend to generate anEmbeddingfor. - 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.
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
Noneif all the generators should be included. - max_rate (Optional[float]) – The largest rate to include in the plot, or
Noneif no upper limit should be set. - min_rate (Optional[float]) – The smallest rate to include in the plot, or
Noneif 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
Noneif 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_errorslist. - x_coo (Optional[list[float]]) – The
x-axis coordinates of the vertical axes that the markers are drawn around, orNoneif 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