Skip to main contentIBM Quantum Documentation

LayerError

class LayerError(circuit, qubits, error=None)

GitHub

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, or None 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)

GitHub

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 an Embedding 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 the layer_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)

GitHub

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 the layer_errors list.
  • x_coo (Optional[list[float]]) – The x-axis coordinates of the vertical axes that the markers are drawn around, or None 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.