LayerError¶
- class LayerError(circuit, qubits, error=None)[source]¶
Bases:
objectThe 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, anderrorhave mismatching number of qubits.
Attributes
- circuit¶
The circuit in this
LayerError.
- error¶
The error channel in this
LayerError, orNoneif 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(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)[source]¶
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(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)[source]¶
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
xaxis 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
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