ข้ามไปยังเนื้อหาหลัก

การลดข้อผิดพลาดในระดับ Utility-scale ด้วย Probabilistic Error Amplification

ประมาณการใช้งาน: 16 นาทีบนโปรเซสเซอร์ Heron r2 (หมายเหตุ: นี่เป็นการประมาณเท่านั้น ระยะเวลาจริงอาจแตกต่างกัน)

พื้นหลัง

บทแนะนำนี้สาธิตวิธีรันการทดลองลดข้อผิดพลาดในระดับ utility-scale ด้วย Qiskit Runtime โดยใช้เวอร์ชันทดลองของ zero noise extrapolation (ZNE) ร่วมกับ probabilistic error amplification (PEA)

kim_nature_fig.png อ้างอิง: Y. Kim et al. Evidence for the utility of quantum computing before fault tolerance. Nature 618.7965 (2023)

Zero-Noise Extrapolation (ZNE)

Zero-noise extrapolation (ZNE) เป็นเทคนิคการลดข้อผิดพลาดที่ขจัดผลกระทบของ ค่า noise ที่ไม่รู้จัก ในระหว่างการรัน Circuit โดยที่ค่านั้นสามารถถูกปรับขนาดได้ใน วิธีที่รู้จัก

เทคนิคนี้สมมติว่าค่าคาดหวังเปลี่ยนแปลงตาม noise ด้วยฟังก์ชันที่รู้จัก

A(λ)=A(0)+k=0makλk+R\langle A(\lambda) \rangle = \langle A(0) \rangle + \sum_{k=0}^{m} a_k \lambda^k + R

โดยที่ λ\lambda เป็นพารามิเตอร์ที่แทนความแรงของ noise ซึ่งสามารถถูกขยายได้ เราสามารถใช้งาน ZNE ตามขั้นตอนต่อไปนี้:

  1. ขยาย noise ของ Circuit สำหรับค่าตัวประกอบ noise หลายค่า λ1,λ2,...\lambda_1, \lambda_2, ...
  2. รัน Circuit ที่ถูกขยาย noise ทุกตัวเพื่อวัด A(λ1),...\langle A(\lambda_1)\rangle, ...
  3. Extrapolate กลับไปยังขีดจำกัดที่ไม่มี noise A(0)\langle A(0)\rangle

zne_stages.png

การขยาย noise สำหรับ ZNE

ความท้าทายหลักในการใช้งาน ZNE ให้ประสบความสำเร็จคือการมีโมเดล noise ที่แม่นยำสำหรับค่าคาดหวัง และการขยาย noise ในวิธีที่รู้จัก

มีสามวิธีทั่วไปในการขยาย noise สำหรับ ZNE

Pulse stretchingGate foldingProbabilistic error amplification
ปรับขนาดระยะเวลาของ pulse ผ่านการ calibrationทำซ้ำ Gate ในวงรอบ identity UU(U1U)λ1/2U\mapsto U(U^{-1}U)^{\lambda-1}/2เพิ่ม noise ผ่านการ sampling Pauli channels
zne_pulse_stretching.pngzne_gate_folding.pngzne_pea.png
Kandala et al. Nature (2019)Shultz et al. PRA (2022)Li & Benjamin PRX (2017)
สำหรับการทดลองระดับ utility-scale นั้น probabilistic error amplification (PEA) น่าสนใจที่สุด
  • Pulse stretching สมมติว่า noise ของ Gate เป็นสัดส่วนกับระยะเวลา ซึ่งโดยทั่วไปไม่เป็นความจริง และการ calibration ก็มีต้นทุนสูง
  • Gate folding ต้องการค่าตัวประกอบการยืดขนาดที่มาก ซึ่งจำกัด depth ของ Circuit ที่สามารถรันได้อย่างมาก
  • PEA สามารถใช้กับ Circuit ใดก็ได้ที่สามารถรันด้วยค่า noise ดั้งเดิม (λ=1\lambda=1) แต่ต้องการการเรียนรู้โมเดล noise

เรียนรู้โมเดล noise สำหรับ PEA

PEA สมมติโมเดล noise แบบ layer-based เดียวกับ probabilistic error cancellation (PEC) แต่หลีกเลี่ยงค่าใช้จ่ายจากการ sampling ที่เพิ่มขึ้นแบบ exponential ตาม noise ของ Circuit

ขั้นตอนที่ 1ขั้นตอนที่ 2ขั้นตอนที่ 3
Pauli twirl layers ของ two-qubit Gatesทำซ้ำ identity pairs ของ layers และเรียนรู้ noiseคำนวณค่า fidelity (ข้อผิดพลาดสำหรับแต่ละ noise channel)
pec_pauli_twirling.pngpec_learn_layer.pngpec_curve_fitting.png

อ้างอิง: E. van den Berg, Z. Minev, A. Kandala, and K. Temme, Probabilistic error cancellation with sparse Pauli-Lindblad models on noisy quantum processors arXiv:2201.09866

ข้อกำหนด

ก่อนเริ่มบทแนะนำนี้ ตรวจสอบให้แน่ใจว่าได้ติดตั้งสิ่งต่อไปนี้แล้ว:

  • Qiskit SDK v1.0 หรือใหม่กว่า พร้อมรองรับ visualization
  • Qiskit Runtime v0.22 หรือใหม่กว่า (pip install qiskit-ibm-runtime)

การตั้งค่า

# Added by doQumentation — required packages for this notebook
!pip install -q matplotlib numpy qiskit qiskit-ibm-runtime rustworkx
from __future__ import annotations
from collections.abc import Sequence
from collections import defaultdict
import numpy as np
import rustworkx
import matplotlib.pyplot as plt

from qiskit.circuit import QuantumCircuit, Parameter
from qiskit.circuit.library import CXGate, CZGate, ECRGate
from qiskit.providers import Backend
from qiskit.visualization import plot_error_map
from qiskit.transpiler.preset_passmanagers import generate_preset_pass_manager
from qiskit.quantum_info import SparsePauliOp
from qiskit.primitives import PubResult

from qiskit_ibm_runtime import QiskitRuntimeService
from qiskit_ibm_runtime import EstimatorV2 as Estimator

ขั้นตอนที่ 1: แมป input แบบ classical ไปยังปัญหาเชิงควอนตัม

สร้าง Circuit โมเดล Ising แบบมีพารามิเตอร์

ขั้นแรก เลือก Backend ที่จะใช้รัน การสาธิตนี้รันบน Backend ขนาด 127 Qubit แต่สามารถปรับเปลี่ยนเป็น Backend อื่นที่ใช้งานได้

service = QiskitRuntimeService()
backend = service.least_busy(
operational=True, simulator=False, min_num_qubits=127
)
backend
<IBMBackend('ibm_kingston')>

ฟังก์ชันช่วยสำหรับการสร้าง Circuit

ต่อไป สร้างฟังก์ชันช่วยเพื่อสร้าง Circuit สำหรับ Trotterized time evolution ของโมเดล Ising สนามขวาง 2 มิติที่สอดคล้องกับ topology ของ Backend

"""Trotter circuit generation"""

def remove_qubit_couplings(
couplings: Sequence[tuple[int, int]], qubits: Sequence[int] | None = None
) -> list[tuple[int, int]]:
"""Remove qubits from a coupling list.

Args:
couplings: A sequence of qubit couplings.
qubits: Optional, the qubits to remove.

Returns:
The input couplings with the specified qubits removed.
"""
if qubits is None:
return couplings
qubits = set(qubits)
return [edge for edge in couplings if not qubits.intersection(edge)]

def coupling_qubits(
*couplings: Sequence[tuple[int, int]],
allowed_qubits: Sequence[int] | None = None,
) -> list[int]:
"""Return a sorted list of all qubits involved in one or more couplings lists.

Args:
couplings: one or more coupling lists.
allowed_qubits: Optional, the allowed qubits to include. If None all
qubits are allowed.

Returns:
The intersection of all qubits in the couplings and the allowed qubits.
"""
qubits = set()
for edges in couplings:
for edge in edges:
qubits.update(edge)
if allowed_qubits is not None:
qubits = qubits.intersection(allowed_qubits)
return list(qubits)

def construct_layer_couplings(
backend: Backend,
) -> list[list[tuple[int, int]]]:
"""Separate a coupling map into disjoint 2-qubit gate layers.

Args:
backend: A backend to construct layer couplings for.

Returns:
A list of disjoint layers of directed couplings for the input coupling map.
"""
coupling_graph = backend.coupling_map.graph.to_undirected(
multigraph=False
)
edge_coloring = rustworkx.graph_bipartite_edge_color(coupling_graph)

layers = defaultdict(list)
for edge_idx, color in edge_coloring.items():
layers[color].append(
coupling_graph.get_edge_endpoints_by_index(edge_idx)
)
layers = [sorted(layers[i]) for i in sorted(layers.keys())]

return layers

def entangling_layer(
gate_2q: str,
couplings: Sequence[tuple[int, int]],
qubits: Sequence[int] | None = None,
) -> QuantumCircuit:
"""Generating a entangling layer for the specified couplings.

This corresponds to a Trotter layer for a ZZ Ising term with angle Pi/2.

Args:
gate_2q: The 2-qubit basis gate for the layer, should be "cx", "cz", or "ecr".
couplings: A sequence of qubit couplings to add CX gates to.
qubits: Optional, the physical qubits for the layer. Any couplings involving
qubits not in this list will be removed. If None the range up to the largest
qubit in the couplings will be used.

Returns:
The QuantumCircuit for the entangling layer.
"""
# Get qubits and convert to set to order
if qubits is None:
qubits = range(1 + max(coupling_qubits(couplings)))
qubits = set(qubits)

# Mapping of physical qubit to virtual qubit
qubit_mapping = {q: i for i, q in enumerate(qubits)}

# Convert couplings to indices for virtual qubits
indices = [
[qubit_mapping[i] for i in edge]
for edge in couplings
if qubits.issuperset(edge)
]

# Layer circuit on virtual qubits
circuit = QuantumCircuit(len(qubits))

# Get 2-qubit basis gate and pre and post rotation circuits
gate2q = None
pre = QuantumCircuit(2)
post = QuantumCircuit(2)

if gate_2q == "cx":
gate2q = CXGate()
# Pre-rotation
pre.sdg(0)
pre.z(1)
pre.sx(1)
pre.s(1)
# Post-rotation
post.sdg(1)
post.sxdg(1)
post.s(1)
elif gate_2q == "ecr":
gate2q = ECRGate()
# Pre-rotation
pre.z(0)
pre.s(1)
pre.sx(1)
pre.s(1)
# Post-rotation
post.x(0)
post.sdg(1)
post.sxdg(1)
post.s(1)
elif gate_2q == "cz":
gate2q = CZGate()
# Identity pre-rotation
# Post-rotation
post.sdg([0, 1])
else:
raise ValueError(
f"Invalid 2-qubit basis gate {gate_2q}, should be 'cx', 'cz', or 'ecr'"
)

# Add 1Q pre-rotations
for inds in indices:
circuit.compose(pre, qubits=inds, inplace=True)

# Use barriers around 2-qubit basis gate to specify a layer for PEA noise learning
circuit.barrier()
for inds in indices:
circuit.append(gate2q, (inds[0], inds[1]))
circuit.barrier()

# Add 1Q post-rotations after barrier
for inds in indices:
circuit.compose(post, qubits=inds, inplace=True)

# Add physical qubits as metadata
circuit.metadata["physical_qubits"] = tuple(qubits)

return circuit

def trotter_circuit(
theta: Parameter | float,
layer_couplings: Sequence[Sequence[tuple[int, int]]],
num_steps: int,
gate_2q: str | None = "cx",
backend: Backend | None = None,
qubits: Sequence[int] | None = None,
) -> QuantumCircuit:
"""Generate a Trotter circuit for the 2D Ising

Args:
theta: The angle parameter for X.
layer_couplings: A list of couplings for each entangling layer.
num_steps: the number of Trotter steps.
gate_2q: The 2-qubit basis gate to use in entangling layers.
Can be "cx", "cz", "ecr", or None if a backend is provided.
backend: A backend to get the 2-qubit basis gate from, if provided
will override the basis_gate field.
qubits: Optional, the allowed physical qubits to truncate the
couplings to. If None the range up to the largest
qubit in the couplings will be used.

Returns:
The Trotter circuit.
"""
if backend is not None:
try:
basis_gates = backend.configuration().basis_gates
except AttributeError:
basis_gates = backend.basis_gates
for gate in ["cx", "cz", "ecr"]:
if gate in basis_gates:
gate_2q = gate
break

# If no qubits, get the largest qubit from all layers and
# specify the range so the same one is used for all layers.
if qubits is None:
qubits = range(1 + max(coupling_qubits(layer_couplings)))

# Generate the entangling layers
layers = [
entangling_layer(gate_2q, couplings, qubits=qubits)
for couplings in layer_couplings
]

# Construct the circuit for a single Trotter step
num_qubits = len(qubits)
trotter_step = QuantumCircuit(num_qubits)
trotter_step.rx(theta, range(num_qubits))
for layer in layers:
trotter_step.compose(layer, range(num_qubits), inplace=True)

# Construct the circuit for the specified number of Trotter steps
circuit = QuantumCircuit(num_qubits)
for _ in range(num_steps):
circuit.rx(theta, range(num_qubits))
for layer in layers:
circuit.compose(layer, range(num_qubits), inplace=True)

circuit.metadata["physical_qubits"] = tuple(qubits)
return circuit

กำหนด couplings ของ entangling layer

เพื่อใช้งาน Trotterized Ising simulation กำหนดสาม layers ของ two-qubit Gate couplings สำหรับอุปกรณ์ ซึ่งจะถูกทำซ้ำในแต่ละ Trotter step สิ่งเหล่านี้กำหนดสาม twirled layers ที่ต้องเรียนรู้ noise เพื่อใช้งานการลดข้อผิดพลาด

layer_couplings = construct_layer_couplings(backend)
for i, layer in enumerate(layer_couplings):
print(f"Layer {i}:\n{layer}\n")
Layer 0:
[(2, 3), (4, 5), (6, 7), (8, 9), (10, 11), (12, 13), (14, 15), (16, 23), (18, 31), (19, 35), (20, 21), (25, 37), (26, 27), (28, 29), (33, 39), (36, 41), (38, 49), (42, 43), (45, 46), (47, 57), (51, 52), (53, 54), (56, 63), (58, 71), (59, 75), (61, 62), (64, 65), (66, 67), (68, 69), (72, 73), (76, 81), (79, 93), (82, 83), (84, 85), (86, 87), (88, 89), (91, 98), (94, 95), (97, 107), (99, 115), (100, 101), (102, 103), (105, 117), (108, 109), (110, 111), (113, 114), (116, 121), (118, 129), (123, 136), (124, 125), (126, 127), (130, 131), (132, 133), (135, 139), (138, 151), (142, 143), (144, 145), (146, 147), (152, 153), (154, 155)]

Layer 1:
[(0, 1), (3, 16), (5, 6), (7, 8), (11, 18), (13, 14), (17, 27), (21, 22), (23, 24), (25, 26), (29, 38), (30, 31), (32, 33), (34, 35), (39, 53), (41, 42), (43, 56), (44, 45), (47, 48), (49, 50), (51, 58), (54, 55), (57, 67), (60, 61), (62, 63), (65, 66), (69, 78), (70, 71), (73, 79), (74, 75), (77, 85), (80, 81), (83, 84), (87, 97), (89, 90), (91, 92), (93, 94), (96, 103), (101, 116), (104, 105), (106, 107), (109, 118), (111, 112), (113, 119), (114, 115), (117, 125), (121, 122), (123, 124), (127, 137), (128, 129), (131, 138), (133, 134), (136, 143), (139, 155), (140, 141), (145, 146), (147, 148), (149, 150), (151, 152)]

Layer 2:
[(1, 2), (3, 4), (7, 17), (9, 10), (11, 12), (15, 19), (21, 36), (22, 23), (24, 25), (27, 28), (29, 30), (31, 32), (33, 34), (37, 45), (40, 41), (43, 44), (46, 47), (48, 49), (50, 51), (52, 53), (55, 59), (61, 76), (63, 64), (65, 77), (67, 68), (69, 70), (71, 72), (73, 74), (78, 89), (81, 82), (83, 96), (85, 86), (87, 88), (90, 91), (92, 93), (95, 99), (98, 111), (101, 102), (103, 104), (105, 106), (107, 108), (109, 110), (112, 113), (119, 133), (120, 121), (122, 123), (125, 126), (127, 128), (129, 130), (131, 132), (134, 135), (137, 147), (141, 142), (143, 144), (148, 149), (150, 151), (153, 154)]

ลบ Qubit ที่มีปัญหา

ดู coupling map ของ Backend และตรวจสอบว่า Qubit ใดเชื่อมต่อกับ couplings ที่มีข้อผิดพลาดสูง ลบ Qubit "ที่มีปัญหา" เหล่านี้ออกจากการทดลอง

# Plot gate error map
# NOTE: These can change over time, so your results may look different
plot_error_map(backend)

Output of the previous code cell

bad_qubits = {
56,
63,
67,
} # qubits removed based on high coupling error (1.00)
good_qubits = list(set(range(backend.num_qubits)).difference(bad_qubits))
print("Physical qubits:\n", good_qubits)
Physical qubits:
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 57, 58, 59, 60, 61, 62, 64, 65, 66, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155]

การสร้าง Trotter Circuit หลัก

num_steps = 6
theta = Parameter("theta")
circuit = trotter_circuit(
theta, layer_couplings, num_steps, qubits=good_qubits, backend=backend
)

สร้างรายการค่าพารามิเตอร์เพื่อกำหนดในภายหลัง

num_params = 12

# 12 parameter values for Rx between [0, pi/2].
# Reshape to outer product broadcast with observables
parameter_values = np.linspace(0, np.pi / 2, num_params).reshape(
(num_params, 1)
)
num_params = parameter_values.size

ขั้นตอนที่ 2: ปรับปรุง problem สำหรับการรันบนฮาร์ดแวร์ควอนตัม

ISA Circuit

ก่อนรัน Circuit บนฮาร์ดแวร์ ให้ปรับให้เหมาะกับการรันบนฮาร์ดแวร์ก่อน กระบวนการนี้มีหลายขั้นตอน:

  • เลือก qubit layout ที่แมป virtual qubit ของ Circuit ไปยัง physical qubit บนฮาร์ดแวร์
  • แทรก swap gate ตามที่จำเป็นเพื่อ route การโต้ตอบระหว่าง qubit ที่ไม่ได้เชื่อมต่อกัน
  • แปลง Gate ใน Circuit ของเราเป็นคำสั่ง Instruction Set Architecture (ISA) ที่รันได้โดยตรงบนฮาร์ดแวร์
  • ทำการ optimize Circuit เพื่อลด circuit depth และจำนวน gate

แม้ว่า Transpiler ที่ built-in ใน Qiskit จะทำทุกขั้นตอนเหล่านี้ได้ แต่ tutorial นี้จะแสดงการสร้าง utility-scale Trotter circuit แบบ ground-up โดยเลือก physical qubit ที่ดีและกำหนด entangling layer บน qubit pair ที่เชื่อมต่อกันจาก qubit ที่เลือกไว้ อย่างไรก็ตาม ยังต้องแปลง gate ที่ไม่ใช่ ISA ใน Circuit และใช้ประโยชน์จาก circuit optimization ที่ Transpiler มีให้

Transpile Circuit สำหรับ Backend ที่เลือกโดยสร้าง pass manager แล้วรัน pass manager บน Circuit ด้วย รวมถึงกำหนด initial layout ของ Circuit ให้กับ good_qubits ที่เลือกไว้แล้ว วิธีง่ายๆ ในการสร้าง pass manager คือใช้ฟังก์ชัน generate_preset_pass_manager ดู Transpile with pass managers สำหรับคำอธิบายละเอียดเพิ่มเติมเกี่ยวกับการ transpile ด้วย pass manager

pm = generate_preset_pass_manager(
backend=backend,
initial_layout=good_qubits,
layout_method="trivial",
optimization_level=1,
)

isa_circuit = pm.run(circuit)

ISA Observables

ต่อไป สร้าง observable Z\langle Z \rangle แบบ weight-1 ทั้งหมดสำหรับแต่ละ virtual qubit โดย padding จำนวน I\langle I \rangle ที่จำเป็น

observables = []
num_qubits = len(good_qubits)
for q in range(num_qubits):
observables.append(
SparsePauliOp("I" * (num_qubits - q - 1) + "Z" + "I" * q)
)

กระบวนการ transpilation ได้แมป virtual qubit ของ Circuit ไปยัง physical qubit บนฮาร์ดแวร์ ข้อมูลเกี่ยวกับ qubit layout ถูกเก็บไว้ใน attribute layout ของ Circuit ที่ผ่านการ transpile แล้ว observable ของเราก็ถูกนิยามในรูปของ virtual qubit เช่นกัน ดังนั้นต้องนำ layout นี้ไปใช้กับ observable ด้วย โดยทำผ่าน method apply_layout ของ SparsePauliOp

สังเกตว่าแต่ละ observable ถูกห่อด้วย list ใน code block ต่อไปนี้ ทำเพื่อ broadcast กับ parameter value เพื่อให้แต่ละ qubit observable ถูกวัดสำหรับค่า theta แต่ละค่า กฎ broadcasting สำหรับ primitive ดูได้ ที่นี่

isa_observables = [
[obs.apply_layout(layout=isa_circuit.layout)] for obs in observables
]

ขั้นตอนที่ 3: รันด้วย Qiskit primitives

pub = (isa_circuit, isa_observables, parameter_values)

ตั้งค่าตัวเลือกของ Estimator

ต่อไปให้ตั้งค่าตัวเลือกของ Estimator ที่จำเป็นสำหรับรันการทดลองลดความผิดพลาด ซึ่งรวมถึงตัวเลือกสำหรับการเรียนรู้สัญญาณรบกวนของ entangling layers และการ extrapolation แบบ ZNE

เราใช้การตั้งค่าดังนี้:

# Experiment options
num_randomizations = 700
num_randomizations_learning = 40
max_batch_circuits = 3 * num_params
shots_per_randomization = 64
learning_pair_depths = [0, 1, 2, 4, 6, 12, 24]
noise_factors = [1, 1.3, 1.6]
extrapolated_noise_factors = np.linspace(0, max(noise_factors), 20)

# Base option formatting
options = {
# Builtin resilience settings for ZNE
"resilience": {
"measure_mitigation": True,
"zne_mitigation": True,
# TREX noise learning configuration
"measure_noise_learning": {
"num_randomizations": num_randomizations_learning,
"shots_per_randomization": 1024,
},
# PEA noise model configuration
"layer_noise_learning": {
"max_layers_to_learn": 3,
"layer_pair_depths": learning_pair_depths,
"shots_per_randomization": shots_per_randomization,
"num_randomizations": num_randomizations_learning,
},
"zne": {
"amplifier": "pea",
"noise_factors": noise_factors,
"extrapolator": ("exponential", "linear"),
"extrapolated_noise_factors": extrapolated_noise_factors.tolist(),
},
},
# Randomization configuration
"twirling": {
"num_randomizations": num_randomizations,
"shots_per_randomization": shots_per_randomization,
"strategy": "active-circuit",
},
# Optional Dynamical Decoupling (DD)
"dynamical_decoupling": {"enable": True, "sequence_type": "XY4"},
}

อธิบายตัวเลือก ZNE

ต่อไปนี้คือรายละเอียดเพิ่มเติมสำหรับตัวเลือกในสาขาทดลอง โปรดทราบว่าตัวเลือกและชื่อเหล่านี้ยังไม่ได้รับการยืนยัน และทุกอย่างอาจมีการเปลี่ยนแปลงก่อนปล่อยเวอร์ชันทางการ

  • amplifier: วิธีที่ใช้ในการขยายสัญญาณรบกวนไปยัง noise factors ที่กำหนด ค่าที่รองรับได้แก่ "gate_folding" ซึ่งขยายโดยการทำซ้ำ two-qubit basis gates และ "pea" ซึ่งขยายโดยการสุ่มตัวอย่างแบบ probabilistic หลังจากเรียนรู้โมเดลสัญญาณรบกวนแบบ Pauli-twirled สำหรับ layers ของ twirled two-qubit basis gates นอกจากนี้ยังมี "gate_folding_front" และ "gate_folding_back" ซึ่งอธิบายไว้ใน API documentation
  • extrapolated_noise_factors: ระบุค่า noise factor หนึ่งค่าหรือมากกว่าที่ต้องการประเมินโมเดล extrapolated ถ้าเป็น sequence ของค่า ผลลัพธ์ที่ได้จะเป็นแบบ array-valued โดย noise factor ที่ระบุจะถูกประเมินสำหรับโมเดล extrapolation ค่า 0 หมายถึง zero-noise extrapolation

รันการทดลอง

estimator = Estimator(mode=backend, options=options)
job = estimator.run([pub])
print(f"Job ID {job.job_id()}")
Job ID d0mcsvik4jhc73afljrg

ขั้นตอนที่ 4: ประมวลผลผลลัพธ์และแปลงเป็นรูปแบบ classical ที่ต้องการ

เมื่อการทดลองเสร็จสิ้น คุณสามารถดูผลลัพธ์ได้ โดยดึงค่า expectation values แบบ raw และแบบที่ลดความผิดพลาดแล้ว และนำมาเปรียบเทียบกับผลลัพธ์ที่แม่นยำ จากนั้นพล็อต expectation values ทั้งแบบที่ mitigated (extrapolated) และแบบ raw โดยเฉลี่ยทุก qubit สำหรับแต่ละพารามิเตอร์ สุดท้ายพล็อต expectation values ของ qubit แต่ละตัวตามที่เลือก

primitive_result = job.result()

รูปร่างผลลัพธ์และ metadata ทั่วไป

อ็อบเจกต์ PrimitiveResult มีโครงสร้างคล้าย list ชื่อ PubResult เนื่องจากเราส่งเพียงหนึ่ง PUB ให้ estimator PrimitiveResult จึงมีอ็อบเจกต์ PubResult เพียงตัวเดียว

ค่า expectation values และ standard errors ของผลลัพธ์ PUB (primitive unified bloc) มีลักษณะเป็น array สำหรับ estimator jobs ที่ใช้ ZNE จะมี data fields หลายอย่างสำหรับค่า expectation values และ standard errors ใน DataBin container ของ PubResult เราจะกล่าวถึง data fields สำหรับค่า expectation values โดยสังเขปที่นี่ (data fields ที่คล้ายกันสำหรับ standard errors (stds) ก็มีให้ใช้เช่นกัน)

  1. pub_result.data.evs: Expectation values ที่ตรงกับ zero noise (อิงจาก extrapolation ที่ดีที่สุดตาม heuristic)
    • แกนแรกคือ virtual qubit index สำหรับ observable Zi\langle Z_i\rangle (124124 virtual-qubits/observables)
    • แกนที่สองคือ index ของค่าพารามิเตอร์สำหรับ θ\theta (1212 ค่าพารามิเตอร์)
  2. pub_result.data.evs_extrapolated: Expectation values สำหรับ noise factors ที่ extrapolated สำหรับทุก extrapolator โดย array นี้มีสองแกนเพิ่มเติม
    • แกนที่สามคือ index ของวิธี extrapolation (22 extrapolators ได้แก่ exponential และ linear)
    • แกนสุดท้ายคือ index ของ extrapolated_noise_factors (2020 จุด extrapolation ตามที่ระบุในตัวเลือก)
  3. pub_result.data.evs_noise_factors: Expectation values แบบ raw สำหรับแต่ละ noise factor
    • แกนที่สามคือ index ของ noise_factors แบบ raw (33 factors)
pub_result = primitive_result[0]

print(
f"{pub_result.data.evs.shape=}\n"
f"{pub_result.data.evs_extrapolated.shape=}\n"
f"{pub_result.data.evs_noise_factors.shape=}\n"
)
pub_result.data.evs.shape=(153, 12)
pub_result.data.evs_extrapolated.shape=(153, 12, 2, 20)
pub_result.data.evs_noise_factors.shape=(153, 12, 3)

นอกจากนี้ยังมี metadata fields หลายอย่างใน PrimitiveResult ซึ่ง metadata รวมถึง

  • resilience/zne/noise_factors: noise factors แบบ raw
  • resilience/zne/extrapolator: extrapolators ที่ใช้สำหรับแต่ละผลลัพธ์
primitive_result.metadata
{'dynamical_decoupling': {'enable': True,
'sequence_type': 'XY4',
'extra_slack_distribution': 'middle',
'scheduling_method': 'alap'},
'twirling': {'enable_gates': True,
'enable_measure': True,
'num_randomizations': 700,
'shots_per_randomization': 64,
'interleave_randomizations': True,
'strategy': 'active-circuit'},
'resilience': {'measure_mitigation': True,
'zne_mitigation': True,
'pec_mitigation': False,
'zne': {'noise_factors': [1.0, 1.3, 1.6],
'extrapolator': ['exponential', 'linear'],
'extrapolated_noise_factors': [0.0,
0.08421052631578947,
0.16842105263157894,
0.25263157894736843,
0.3368421052631579,
0.42105263157894735,
0.5052631578947369,
0.5894736842105263,
0.6736842105263158,
0.7578947368421053,
0.8421052631578947,
0.9263157894736842,
1.0105263157894737,
1.0947368421052632,
1.1789473684210525,
1.263157894736842,
1.3473684210526315,
1.431578947368421,
1.5157894736842106,
1.6]},
'layer_noise_model': [LayerError(circuit=<qiskit.circuit.quantumcircuit.QuantumCircuit object at 0x168671910>, qubits=[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 57, 58, 59, 60, 61, 62, 64, 65, 66, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155], error=PauliLindbladError(generators=['IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII...',
'IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII...',
'IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII...',
'IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII...',
'IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII...',
'IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII...',
'IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII...',
'IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII...',
'IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII...',
'IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII...',
'IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII...',
'IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII...',
'IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII...', ...], rates=[0.00023, 0.00022, 0.00011, 0.00042, 0.0, 0.0, 9e-05, 0.00019, 0.0, 0.0, 0.0, 0.0, 0.00018, 0.0, 0.0, 5e-05, 0.0, 0.0001, 6e-05, 0.00017, 5e-05, 0.0, 0.0, 0.00023, 1e-05, 5e-05, 0.0, 4e-05, 7e-05, 4e-05, 0.00032, 0.0001, 4e-05, 7e-05, 0.00021, 0.00029, 0.00021, 0.00023, 0.00015, 0.00011, 0.0, 7e-05, 1e-05, 4e-05, 0.00014, 0.0, 0.0, 0.00101, 3e-05, 0.0, 0.0, 7e-05, 2e-05, 7e-05, 0.0002, 0.00014, 7e-05, 2e-05, 0.00024, 0.00066, 0.00019, 0.00018, 7e-05, 0.0001, 2e-05, 2e-05, 0.0, 0.0, 7e-05, 0.0, 7e-05, 0.00057, 4e-05, 8e-05, 0.0, 7e-05, 5e-05, 3e-05, 0.00034, 7e-05, 3e-05, 5e-05, 0.00032, 0.00361, 0.00015, 0.00014, 1e-05, 0.00013, 0.0, 0.00012, 0.0, 0.0, 0.0, 0.0, 0.00021, 0.001, 0.0001, 0.0, 0.0, 0.00055, 0.0001, 0.0, 0.00123, 0.0009, 0.0, 0.0001, 0.00127, 0.00392, 0.00031, 2e-05, 0.00036, 0.0, 0.00018, 0.0, 0.0, 0.0, 0.0, 0.00014, 0.0001, 0.0, 0.0005, 0.00023, 0.0, 0.0008, 5e-05, 5e-05, 0.00093, 0.00067, 5e-05, 5e-05, 0.00085, 0.00051, 0.00011, 0.00025, 2e-05, 0.00034, 4e-05, 0.0, 0.0, 0.00019, 6e-05, 0.0, 0.0, 0.00019, 0.0, 8e-05, 0.0, 0.00022, 9e-05, 0.0, 0.00038, 0.00022, 0.0, 9e-05, 0.00037, 7e-05, 0.00038, 0.00025, 6e-05, 0.0, 0.00015, 0.0, 6e-05, 3e-05, 0.0, 0.00012, 0.0, 0.0001, 0.0, 1e-05, 4e-05, 0.00027, 0.00014, 0.0, 0.00029, 0.00016, 0.0, 0.00014, 0.00029, 0.00582, 0.00022, 0.00016, 0.0002, 2e-05, 2e-05, 4e-05, 0.0, 8e-05, 3e-05, 0.0, 0.0, 3e-05, 7e-05, 0.0, 0.00012, 0.00024, 0.0, 0.0, 0.0, 0.0, 0.0, 0.00013, 0.00015, 0.00038, 0.00016, 0.0, 0.0, 0.00036, 0.0, 4e-05, 0.0, 0.00038, 0.0, 4e-05, 1e-05, 0.0006, 0.0, 0.0, 0.0, 0.00011, 2e-05, 0.0, 0.00012, 0.00022, 0.0, 1e-05, 0.0, 0.00029, 0.0, 0.00012, 0.0, 0.0001, 0.00016, 0.00046, 0.00019, 0.0002, 0.0, 0.00047, 0.00017, 0.0, 0.0002, 0.00051, 0.0014, 0.0001, 0.00016, 0.00016, 0.00029, 0.00015, 1e-05, 1e-05, 0.00029, 0.0, 0.00015, 0.0, 0.00032, 0.0, 0.0, 6e-05, 2e-05, 7e-05, 2e-05, 0.00026, 0.0, 2e-05, 0.00015, 6e-05, 2e-05, 7e-05, 0.00027, 1e-05, 3e-05, 5e-05, 0.0, 7e-05, 0.00011, 0.00015, 0.0, 1e-05, 4e-05, 0.00055, 2e-05, 5e-05, 0.0, 0.0002, 5e-05, 8e-05, 2e-05, 0.00109, 0.0, 0.0, 9e-05, 0.00189, 0.0, 0.00012, 1e-05, 0.00181, 0.00017, 0.0, 0.0, 0.00502, 0.0, 8e-05, 0.00019, 0.0, 0.0, 0.00035, 0.0, 0.0, 0.00013, 0.0, 0.00016, 0.00032, 0.0, 1e-05, 2e-05, 0.0, 2e-05, 0.0, 0.00018, 0.0001, 2e-05, 0.00023, 7e-05, 0.0, 9e-05, 0.00011, 2e-05, 0.0001, 0.00031, 0.00045, 4e-05, 2e-05, 0.0001, 0.00036, 0.00028, 0.0002, 0.00056, 6e-05, 0.0, 0.0, 0.00043, 0.0, 0.0, 6e-05, 0.00038, 0.0, 3e-05, 0.0001, 8e-05, 4e-05, 0.00016, 0.00032, 0.00011, 0.00016, 4e-05, 0.00034, 0.00103, 0.00063, 0.00049, 0.00018, 0.00094, 2e-05, 0.00011, 0.0, 0.00047, 0.0001, 0.0, 0.00016, 0.00136, 5e-05, 0.0, 0.0, 0.0, 0.0, 9e-05, 0.00051, 0.0, 0.00018, 9e-05, 0.0, 9e-05, 0.0, 0.0003, 0.00019, 0.0, 0.0, 0.00425, 0.0004, 0.00043, 0.00032, 0.0, 0.0, 0.00016, 0.00183, 0.0, 0.00012, 0.0, 0.00161, 0.00024, 0.0, 0.0, 0.00024, 0.0, 1e-05, 9e-05, 0.0, 0.0, 0.0002, 4e-05, 0.0, 5e-05, 8e-05, 8e-05, 9e-05, 2e-05, 7e-05, 4e-05, 0.00028, 0.0, 0.00011, 0.0, 0.00019, 0.00013, 4e-05, 0.0, 0.00015, 4e-05, 1e-05, 2e-05, 0.00015, 3e-05, 0.0, 0.00028, 0.0, 2e-05, 0.0001, 0.0, 0.0, 3e-05, 0.0001, 0.00011, 1e-05, 0.0, 0.00433, 0.00025, 0.00023, 0.00046, 0.0, 0.0, 6e-05, 9e-05, 0.00013, 0.0, 0.0, 7e-05, 0.0, 0.00018, 7e-05, 0.00026, 0.0, 0.0, 0.0, 5e-05, 7e-05, 0.0, 0.00029, 2e-05, 0.0, 7e-05, 0.00029, 0.00115, 0.00215, 0.00234, 0.00049, 0.00038, 0.0, 0.00012, 0.0, 0.00019, 5e-05, 0.0, 0.0001, 0.00048, 2e-05, 0.0, 0.0, 2e-05, 1e-05, 0.0001, 0.00022, 1e-05, 0.0001, 1e-05, 0.0002, 0.00033, 0.0004, 0.00036, 0.00022, 0.00068, 0.00095, 0.00373, 0.0003, 0.0, 0.0, 0.00056, 0.00014, 0.0, 1e-05, 0.00039, 0.0, 0.0, 0.0005, 0.0, 9e-05, 0.0, 0.0046, 0.00023, 0.00032, 0.00043, 0.0, 8e-05, 0.0, 0.00035, 9e-05, 0.0, 0.0, 0.00025, 0.0, 0.0, 7e-05, 0.00195, 3e-05, 2e-05, 0.0, 0.00043, 0.0, 0.00017, 0.00054, 0.00036, 0.00017, 0.0, 0.00054, 0.00424, 0.00044, 0.00032, 0.00014, 0.00021, 0.0, 4e-05, 0.0, 0.0002, 9e-05, 0.0, 0.0, 0.00019, 2e-05, 0.00014, 0.0, 0.0, 0.00024, 0.0, 0.0, 4e-05, 7e-05, 0.0, 0.0, 0.0, 0.0001, 0.0, 1e-05, 0.0, 0.00017, 0.01108, 0.0, 0.00016, 0.0, 6e-05, 8e-05, 0.0, 0.0003, 0.00016, 0.0, 0.0003, 1e-05, 0.0, 0.00016, 0.0002, 0.00042, 0.00026, 0.00031, 0.0003, 0.0, 0.0, 0.0, 0.00028, 0.00019, 0.0, 0.00018, 0.0, 0.00055, 0.0, 0.0, 0.0, 0.00061, 0.0, 0.0, 0.0, 0.00036, 1e-05, 6e-05, 0.0, 0.00047, 0.00029, 0.0, 6e-05, 0.00019, 5e-05, 6e-05, 0.00042, 5e-05, 4e-05, 3e-05, 0.0, 6e-05, 5e-05, 0.00036, 7e-05, 0.0, 0.00017, 0.0, 0.0005, 0.00035, 0.00031, 4e-05, 3e-05, 0.0, 0.0003, 0.0, 0.0, 2e-05, 0.0, 0.0001, 9e-05, 0.0, 0.00017, 0.0, 7e-05, 7e-05, 0.0001, 0.0, 0.0, 6e-05, 0.00015, 0.0, 0.0, 4e-05, 0.00353, 0.0, 9e-05, 0.0, 7e-05, 2e-05, 0.0, 0.00022, 0.00017, 0.0, 2e-05, 0.0003, 8e-05, 0.00039, 0.00025, 0.00059, 0.00028, 0.0, 0.00016, 0.00013, 0.00014, 0.0, 0.0, 0.00021, 0.00012, 0.0, 0.0, 0.0, 0.00013, 0.00021, 0.00327, 8e-05, 2e-05, 8e-05, 1e-05, 0.0, 0.00011, 3e-05, 0.00022, 0.0, 0.00023, 0.0, 0.0, 0.00022, 0.00017, 0.00053, 0.00072, 0.00068, 4e-05, 0.00028, 0.0, 1e-05, 0.00014, 0.00016, 1e-05, 0.00016, 4e-05, 0.00034, 0.00019, 0.0, 0.0, 0.00185, 0.00013, 0.0, 0.00186, 0.00218, 0.0, 0.00013, 0.00218, 0.00392, 0.00057, 0.00043, 0.00024, 0.00012, 8e-05, 0.0, 0.0, 0.0, 0.0, 3e-05, 8e-05, 0.00053, 0.00016, 3e-05, 0.0, 0.0, 0.0, 7e-05, 5e-05, 1e-05, 5e-05, 0.0001, 5e-05, 0.0, 0.0001, 0.0, 0.0, 0.00101, 0.00112, 0.00422, 1e-05, 0.0, 1e-05, 0.00013, 0.00045, 0.0, 0.0, 0.0, 0.00456, 0.0, 0.0, 0.0, 0.00057, 7e-05, 0.0, 0.00057, 0.00036, 0.0, 7e-05, 0.00036, 0.00175, 0.0005, 0.00055, 0.0004, 0.00032, 0.00016, 0.00094, 0.00041, 0.0, 0.00012, 0.00066, 0.00017, 0.00012, 0.0, 0.00063, 0.00595, 0.00032, 0.00016, 0.00077, 0.00057, 0.0001, 8e-05, 0.0, 0.00079, 0.0, 0.0, 0.00011, 0.00037, 1e-05, 0.00015, 7e-05, 0.00025, 0.00023, 0.00027, 0.00012, 9e-05, 0.0, 0.00046, 0.0, 0.0, 9e-05, 0.00035, 0.00168, 0.00025, 0.00023, 0.0004, 3e-05, 3e-05, 1e-05, 0.0001, 0.00012, 0.0, 0.0001, 1e-05, 0.0, 5e-05, 0.0, 0.00026, 0.0, 1e-05, 9e-05, 0.00031, 9e-05, 0.0, 0.0, 0.0, 9e-05, 1e-05, 0.0002, 0.0, 3e-05, 8e-05, 0.00019, 0.00021, 0.0001, 0.00018, 8e-05, 0.0, 3e-05, 9e-05, 0.00016, 0.0, 9e-05, 9e-05, 0.0, 5e-05, 0.0, 0.0, 5e-05, 5e-05, 0.0, 5e-05, 0.00012, 0.0, 0.00031, 0.0, 0.0, 0.00012, 0.00052, 0.00409, 0.00034, 0.00014, 0.00072, 0.00091, 0.00011, 0.0, 0.00012, 0.00043, 0.0, 0.0, 0.0, 0.0, 0.0, 0.00027, 0.00033, 0.0, 5e-05, 3e-05, 4e-05, 3e-05, 4e-05, 0.0, 0.00023, 3e-05, 5e-05, 0.00041, 0.0, 0.0, 0.00017, 0.00611, 0.00012, 0.00021, 0.00031, 0.0, 6e-05, 0.0, 0.00024, 0.0, 4e-05, 0.00024, 0.00024, 0.00012, 6e-05, 2e-05, 0.00184, 0.00023, 0.0, 2e-05, 0.00029, 0.0, 0.0001, 0.0001, 0.0, 0.0, 0.0, 0.00015, 0.00018, 0.00014, 0.00013, 0.00011, 0.00133, 0.0, 0.00012, 0.0, 0.00087, 0.00011, 0.0, 0.00022, 0.0008, 0.00014, 0.00013, 0.00013, 0.0, 0.0, 0.0, 0.00031, 7e-05, 0.00012, 7e-05, 0.0, 0.00059, 0.0, 0.00024, 1e-05, 0.00042, 0.00029, 0.00017, 0.0, 7e-05, 0.00012, 0.00043, 0.0, 0.0, 0.00015, 6e-05, 0.00012, 7e-05, 0.00031, 0.0, 0.00018, 0.0, 0.0008, 0.00052, 0.00043, 0.00036, 1e-05, 3e-05, 0.0, 0.00027, 0.0, 0.0, 0.0, 0.0, 0.00014, 7e-05, 1e-05, 0.00012, 0.00014, 0.0, 0.0, 0.00012, 0.0, 9e-05, 0.00047, 0.0, 9e-05, 0.0, 0.00027, 0.00046, 0.00027, 0.0002, 0.00015, 0.00022, 0.0, 8e-05, 0.00019, 0.00017, 8e-05, 0.0, 1e-05, 0.00048, 1e-05, 0.00028, 0.0, 0.00141, 0.0, 0.0, 0.00025, 0.00016, 4e-05, 0.00208, 0.00073, 0.0, 0.00025, 0.00014, 4e-05, 0.00016, 0.00174, 0.00053, 0.0002, 0.0, 0.0, 0.00049, 0.00026, 0.00026, 0.0, 0.00011, 0.0, 0.00018, 1e-05, 0.00016, 0.0, 0.00011, 0.00023, 0.00016, 0.00062, 1e-05, 0.00037, 0.0001, 6e-05, 0.00045, 0.00017, 6e-05, 0.0001, 0.00042, 0.00058, 0.00027, 0.0003, 0.00049, 0.0002, 0.0, 4e-05, 0.0, 4e-05, 1e-05, 3e-05, 5e-05, 0.00089, 0.0, 0.0, 4e-05, 0.0, 0.0, 0.00014, 0.0, 0.0, 9e-05, 0.00027, 0.0, 0.0002, 0.0, 0.0, 9e-05, 0.0, 0.00021, 0.00014, 0.0, 3e-05, 0.0, 0.00024, 0.00013, 0.0003, 0.00016, 3e-05, 0.0, 0.0, 0.00031, 6e-05, 2e-05, 0.0, 0.00039, 5e-05, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.00159, 0.00012, 3e-05, 0.00026, 0.00087, 0.0, 1e-05, 9e-05, 0.00077, 0.00015, 0.0, 0.00018, 0.00094, 0.0, 0.0002, 0.0004, 0.00028, 0.0, 0.0, 0.00028, 0.0, 0.0, 0.0, 0.0002, 0.0, 0.0, 0.00033, 0.0, 0.0, 3e-05, 0.00015, 0.00028, 0.00028, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.00044, 0.0, 0.00011, 0.00022, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.00156, 0.00155, 0.0, 0.00038, 0.0, 0.0, 5e-05, 1e-05, 0.00014, 0.0, 7e-05, 0.00028, 8e-05, 0.0, 0.00011, 0.00023, 0.0, 0.00013, 0.0, 0.00019, 7e-05, 0.0, 3e-05, 0.00056, 0.0, 4e-05, 0.0, 0.00053, 0.00021, 0.00034, 0.00053, 0.00058, 0.00034, 0.00021, 0.00058, 0.00102, 1e-05, 0.00014, 0.00102, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.00037, 0.00037, 0.00021, 0.00012, 5e-05, 0.0, 0.00037, 0.0, 0.0, 5e-05, 0.00024, 0.00028, 0.00037, 0.00037, 0.00013, 0.00022, 0.00011, 1e-05, 0.0, 0.00021, 0.0, 0.0, 0.00011, 0.00013, 8e-05, 0.0, 1e-05, 0.00029, 0.0, 8e-05, 0.0, 0.0, 0.0001, 0.00043, 0.00018, 5e-05, 9e-05, 3e-05, 0.0001, 0.0, 0.00041, 0.00012, 0.0, 0.0001, 9e-05, 0.00035, 0.00032, 0.00027, 0.00059, 1e-05, 6e-05, 0.0, 0.00024, 6e-05, 0.0, 0.0001, 0.00036, 0.0, 0.0, 0.0001, 0.00013, 0.0, 0.0, 0.00016, 0.00012, 3e-05, 7e-05, 0.0, 0.00011, 6e-05, 5e-05, 5e-05, 0.00058, 0.0, 8e-05, 0.0, 0.0004, 2e-05, 1e-05, 0.0001, 0.00043, 0.00011, 0.0, 0.0, 0.00031, 0.0, 3e-05, 0.00032, 0.0, 0.0, 1e-05, 0.0002, 3e-05, 0.0, 0.00023, 0.0, 0.0, 0.0, 0.0, 0.00037, 0.00028, 3e-05, 0.0, 0.0, 1e-05, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.00091, 0.0, 3e-05, 8e-05, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.00102, 0.00091, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.00351, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.42262, 0.0, 0.19471, 0.0, 0.8064, 0.0, 0.57953, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.72255, 0.0, 0.61733, 0.56765, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.25836, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.26103, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.48452, 0.00018, 7e-05, 0.0, 2e-05, 6e-05, 0.0, 0.0002, 0.0, 0.00056, 0.0, 5e-05, 0.0, 0.00025, 3e-05, 0.0, 0.0003, 8e-05, 0.0, 3e-05, 0.00014, 0.00024, 0.00042, 0.0003, 6e-05, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.28441, 0.0, 0.0, 0.0, 0.07122, 0.0, 0.0, 0.0, 0.36139, 0.0, 0.0, 0.0, 0.00067, 0.00072, 0.00012, 0.00431, 0.0, 0.0, 0.00505, 0.0, 0.0, 0.0004, 0.00379, 0.0, 0.0, 0.00437, 0.0, 0.0, 0.00017, 0.00169, 0.00027, 0.00025, 0.0005, 2e-05, 0.00016, 0.0, 0.00051, 0.0, 0.0, 0.00014, 0.0, 0.0, 0.00015, 0.0002, 0.0, 0.00034, 0.00027, 0.0, 8e-05, 0.00016, 0.0, 6e-05, 0.0, 0.0001, 1e-05, 0.00015, 0.0, 8e-05, 0.0, 2e-05, 0.00013, 8e-05, 0.0, 0.0, 0.00014, 0.0, 0.0, 2e-05, 0.00053, 0.0, 0.0, 5e-05, 0.0, 5e-05, 0.0, 0.00013, 4e-05, 0.0, 0.00037, 0.0, 0.0, 6e-05, 0.00011, 0.0, 4e-05, 0.00034, 0.0, 0.0, 0.0, 0.00015, 0.00021, 0.00017, 0.00036, 0.00015, 6e-05, 7e-05, 9e-05, 0.0, 1e-05, 6e-05, 0.0, 0.0, 0.00011, 0.00012, 5e-05, 0.00059, 4e-05, 0.00029, 0.00059, 0.00055, 0.00029, 4e-05, 0.00055, 0.00048, 0.00037, 7e-05, 0.00039, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.35497, 0.10255, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.00343, 0.0, 0.0, 1.00343, 0.0, 0.0, 0.0, 0.0, 1.79398, 0.45751, 0.0, 2.48969, 0.0, 0.0, 0.0, 0.0, 0.2536, 0.0, 0.0, 0.0, 0.58887, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.2536, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.00105, 0.0, 0.0, 0.0, 0.00092, 0.0, 0.0, 0.0, 0.00212, 0.0, 0.0, 0.0, 0.00064, 0.00028, 0.00014, 0.00065, 0.0004, 0.00014, 0.00028, 0.0004, 0.00087, 0.00041, 0.00017, 0.00044, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.14893, 0.0, 0.0, 0.0, 0.56032, 0.0, 0.0, 0.0, 0.0, 0.00051, 0.00048, 0.0, 0.0, 0.00048, 0.00051, 0.0, 0.0, 0.00105, 0.00092, 0.00045, 0.00023, 0.0001, 0.0, 0.00031, 6e-05, 3e-05, 0.00011, 0.00021, 0.0, 0.00012, 3e-05, 8e-05, 8e-05, 3e-05, 2e-05, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.00172, 0.00023, 0.0002, 0.00015, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.65411, 0.0, 0.0, 0.83803, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.58306, 0.0, 0.42915, 0.0, 0.0, 0.0, 0.0, 0.0, 1.86157, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.51166, 0.0, 0.0, 0.0, 0.0, 0.0, 0.51166, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.01221, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0006, 0.0, 0.0, 0.0, 0.00052, 0.0, 0.0, 0.0, 0.0015, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.14893, 0.03192, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0025, 0.0, 0.0, 0.0, 0.00182, 0.0, 0.0, 0.00032, 0.00263, 0.0, 0.0, 0.00024, 0.00736, 0.0, 0.0, 0.0, 2e-05, 0.0, 0.0, 0.0, 0.0, 0.00015, 2e-05, 6e-05, 0.0, 0.0, 0.0, 0.00015, 0.0, 6e-05, 0.00366, 0.0, 0.0, 0.0, 0.00213, 0.00288, 0.0]))),
LayerError(circuit=<qiskit.circuit.quantumcircuit.QuantumCircuit object at 0x169b1da90>, qubits=[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 57, 58, 59, 60, 61, 62, 64, 65, 66, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155], error=PauliLindbladError(generators=['IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII...',
'IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII...',
'IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII...',
'IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII...',
'IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII...',
'IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII...',
'IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII...',
'IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII...',
'IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII...',
'IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII...',
'IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII...',
'IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII...',
'IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII...', ...], rates=[0.00023, 0.00024, 0.0002, 0.00015, 2e-05, 0.0, 0.00017, 0.00014, 0.0, 2e-05, 0.00019, 9e-05, 0.00023, 0.00024, 3e-05, 0.00012, 2e-05, 0.0, 0.0, 0.0002, 0.0, 4e-05, 0.0, 0.0001, 0.0, 2e-05, 0.0, 0.00023, 9e-05, 0.0, 0.0, 0.00029, 0.0, 1e-05, 3e-05, 0.00029, 0.0, 4e-05, 2e-05, 0.0002, 0.00012, 0.0, 0.0, 0.00022, 0.0, 0.0, 0.0001, 0.00036, 5e-05, 2e-05, 3e-05, 0.00012, 7e-05, 0.0, 0.0, 7e-05, 0.0, 0.0001, 0.0, 0.0057, 0.0, 0.0, 3e-05, 0.0001, 0.00012, 0.0, 0.00014, 0.00014, 0.0, 0.00012, 0.00019, 0.00049, 0.00019, 0.00017, 0.0, 0.00021, 4e-05, 5e-05, 0.00013, 0.00018, 0.0, 0.0, 0.0, 0.00523, 0.0, 0.0, 0.00013, 1e-05, 0.00014, 0.0, 0.00028, 0.0, 0.0, 0.00014, 0.00019, 3e-05, 0.00057, 0.0002, 0.00052, 0.00144, 0.0, 0.0, 5e-05, 0.00099, 0.00028, 1e-05, 2e-05, 0.00158, 0.0, 0.00018, 0.0, 0.00018, 5e-05, 6e-05, 1e-05, 3e-05, 0.0, 3e-05, 0.00014, 0.00034, 0.0, 0.0, 0.00019, 0.00023, 0.0, 3e-05, 0.0, 0.0, 1e-05, 6e-05, 0.0, 0.00103, 0.0, 0.0, 0.00012, 0.00045, 0.0, 5e-05, 0.0, 0.00037, 2e-05, 0.0, 5e-05, 0.00014, 4e-05, 0.0, 0.0, 0.0, 0.00011, 0.0, 8e-05, 6e-05, 6e-05, 2e-05, 0.0, 0.00071, 0.0, 5e-05, 0.0, 0.0001, 0.00012, 0.0, 0.00021, 0.00016, 0.0, 0.00012, 0.00031, 2e-05, 0.00019, 0.00014, 0.00021, 0.00014, 0.00011, 0.0, 9e-05, 0.00012, 0.0, 0.00011, 0.0, 0.00018, 0.0, 3e-05, 0.0, 9e-05, 6e-05, 0.0, 0.00015, 0.00025, 0.0, 6e-05, 0.00025, 0.00037, 0.00049, 0.00035, 0.0001, 0.0, 2e-05, 0.0, 0.00014, 0.0002, 0.0, 2e-05, 0.0, 0.00022, 0.00012, 0.0, 6e-05, 0.00024, 1e-05, 0.00015, 0.00043, 0.00018, 0.00015, 1e-05, 0.00042, 0.00048, 0.00031, 0.00013, 0.0002, 0.00038, 3e-05, 7e-05, 3e-05, 0.00033, 0.0, 9e-05, 0.0, 0.00011, 0.0, 0.0, 5e-05, 8e-05, 0.00039, 0.00046, 0.00386, 0.00029, 3e-05, 0.0, 0.00258, 0.0003, 0.0, 0.0, 0.00242, 0.0, 0.0, 0.0, 0.00012, 0.0, 0.00039, 0.00028, 0.00047, 0.00039, 0.0, 0.00065, 0.0, 0.00431, 0.00316, 7e-05, 0.0, 1e-05, 0.0, 3e-05, 0.0, 0.00018, 0.00014, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0002, 6e-05, 4e-05, 0.0, 0.0, 0.00016, 0.0, 4e-05, 0.00027, 0.0, 4e-05, 0.00036, 0.00016, 4e-05, 0.0, 0.00034, 0.00059, 0.00034, 0.00014, 0.00017, 0.0, 0.0, 0.0, 0.00011, 6e-05, 8e-05, 6e-05, 0.0, 0.00052, 1e-05, 0.00011, 0.0, 0.0001, 3e-05, 3e-05, 0.00024, 0.00011, 3e-05, 3e-05, 0.00024, 0.00011, 0.00034, 0.00028, 3e-05, 0.00018, 1e-05, 9e-05, 0.00026, 0.0, 0.0, 4e-05, 2e-05, 9e-05, 1e-05, 0.00038, 0.00013, 0.0, 8e-05, 0.00044, 0.00014, 0.00024, 0.00014, 0.0, 0.00012, 1e-05, 0.00081, 4e-05, 0.00015, 7e-05, 0.00086, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 2e-05, 0.00025, 9e-05, 0.00022, 0.0, 0.0, 0.00284, 0.0, 0.0, 0.00024, 0.0001, 8e-05, 0.0, 4e-05, 0.0, 0.0, 8e-05, 0.00013, 0.00078, 0.00025, 0.0001, 3e-05, 3e-05, 0.00015, 0.0002, 0.0, 0.00011, 0.00016, 0.00066, 0.00017, 4e-05, 0.0, 0.0, 0.00016, 0.00011, 0.00044, 0.00846, 0.0, 4e-05, 0.0, 0.00022, 0.00021, 3e-05, 0.0005, 0.00029, 0.0, 0.0, 0.0002, 0.0, 0.00012, 0.00027, 0.00071, 0.0, 0.00011, 0.0, 6e-05, 0.00023, 0.0, 0.00026, 0.00012, 0.0, 0.00023, 0.00036, 0.00327, 0.0008, 0.0006, 0.00042, 7e-05, 6e-05, 0.0, 5e-05, 0.0001, 7e-05, 4e-05, 0.0, 6e-05, 0.0, 0.00011, 0.0, 0.0002, 0.0, 5e-05, 1e-05, 0.0, 5e-05, 0.00027, 0.00014, 8e-05, 0.0, 0.0, 5e-05, 0.0, 0.00022, 8e-05, 0.0, 0.0, 7e-05, 0.00018, 0.00022, 6e-05, 3e-05, 0.00013, 0.00028, 0.0, 0.00061, 0.0, 0.0, 0.0, 0.00025, 0.0, 0.0, 0.0, 0.00038, 0.0, 0.0, 0.0, 0.00031, 0.0, 0.0, 6e-05, 0.00069, 0.00025, 6e-05, 3e-05, 0.00011, 0.0, 8e-05, 0.00024, 5e-05, 8e-05, 0.0, 0.00023, 0.00011, 0.00059, 0.0005, 0.0002, 0.0, 8e-05, 0.0, 0.00013, 0.0, 0.0, 9e-05, 0.0, 0.00062, 0.0, 0.0, 0.0, 0.00034, 0.00078, 0.00241, 0.00028, 0.0, 0.00015, 6e-05, 0.0, 5e-05, 0.0, 0.00034, 7e-05, 0.0, 3e-05, 3e-05, 7e-05, 0.0, 0.00256, 0.0, 1e-05, 0.00014, 4e-05, 0.0, 0.00014, 0.00017, 0.0, 0.00011, 0.00022, 0.00012, 0.00011, 0.0, 0.00038, 0.00117, 0.00053, 0.00054, 0.0002, 0.00065, 0.0, 0.0, 0.0, 0.0009, 5e-05, 0.0, 0.0, 0.00278, 0.0, 0.00026, 0.0, 5e-05, 0.0, 4e-05, 0.00019, 0.00015, 4e-05, 0.0, 2e-05, 0.00038, 1e-05, 0.0, 0.0, 0.00012, 0.0, 5e-05, 0.0, 0.0, 5e-05, 0.00019, 0.0, 0.0, 0.0, 7e-05, 5e-05, 0.0, 0.0002, 0.00067, 4e-05, 1e-05, 0.0, 0.00028, 0.00021, 3e-05, 0.00029, 0.0, 5e-05, 0.0001, 7e-05, 2e-05, 0.0, 0.0, 0.00033, 0.0, 9e-05, 0.0, 0.00015, 9e-05, 0.0, 0.0, 0.0, 0.0, 0.00012, 7e-05, 0.00463, 0.0, 0.00011, 0.0, 0.00012, 0.00012, 0.0, 0.00022, 8e-05, 0.0, 0.00012, 0.0002, 0.0005, 0.00043, 0.00034, 0.00063, 0.00041, 0.00014, 0.0, 0.0, 0.0001, 1e-05, 0.0, 0.00038, 0.0, 9e-05, 0.00015, 0.0, 3e-05, 1e-05, 0.00057, 0.0, 9e-05, 0.00036, 0.0, 8e-05, 0.00016, 3e-05, 0.00018, 4e-05, 0.00024, 0.00017, 4e-05, 0.00018, 0.00034, 0.00022, 0.00067, 0.00067, 0.00038, 5e-05, 0.00021, 0.0, 0.0, 0.0, 0.0, 9e-05, 0.00017, 0.00015, 0.0, 8e-05, 7e-05, 0.0, 1e-05, 0.0, 0.0, 8e-05, 0.0, 0.00015, 4e-05, 0.00039, 7e-05, 1e-05, 6e-05, 0.0, 0.0, 0.00012, 0.00036, 0.00016, 0.00016, 0.0, 0.0, 0.00012, 0.0, 0.00019, 0.0, 0.0, 3e-05, 0.012, 0.00011, 0.00013, 0.00021, 0.00023, 9e-05, 4e-05, 0.00025, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 9e-05, 0.00037, 0.0, 0.00026, 0.0, 0.00015, 0.0, 0.0, 0.00025, 8e-05, 0.0, 0.0, 0.00023, 0.0, 0.00027, 5e-05, 0.00059, 0.00037, 0.0001, 0.0, 0.00016, 0.0003, 0.0, 0.00011, 4e-05, 0.00033, 0.0001, 5e-05, 0.0, 0.00017, 0.00016, 0.0, 0.00018, 4e-05, 0.0, 0.00016, 0.00013, 0.00093, 0.00036, 0.0004, 0.0002, 0.00017, 0.0, 0.00012, 0.0, 0.00022, 8e-05, 1e-05, 0.0, 0.0, 1e-05, 2e-05, 6e-05, 0.00034, 0.00051, 0.00274, 0.0, 7e-05, 0.0, 0.00036, 0.00032, 0.0, 7e-05, 0.00053, 0.00731, 0.00034, 0.00051, 0.00117, 0.00059, 0.0, 3e-05, 0.00013, 0.00072, 0.0001, 5e-05, 0.0, 0.00092, 0.0002, 0.0, 0.00026, 0.00028, 0.00037, 0.00024, 5e-05, 0.0, 0.0, 0.00018, 0.0, 3e-05, 2e-05, 0.0, 5e-05, 0.0, 0.0, 0.0, 0.00028, 5e-05, 7e-05, 0.00028, 0.00036, 7e-05, 5e-05, 0.00036, 0.00026, 0.00045, 0.00024, 0.00019, 0.00069, 0.00045, 0.00035, 0.0, 0.0, 8e-05, 7e-05, 3e-05, 9e-05, 0.0, 0.0, 0.00344, 0.0, 0.0, 0.00021, 0.00012, 8e-05, 6e-05, 0.0, 0.0, 2e-05, 0.0, 0.00016, 0.00024, 1e-05, 0.0, 8e-05, 6e-05, 0.0, 5e-05, 0.0, 0.00015, 0.0, 0.00021, 0.00013, 0.0, 0.0, 6e-05, 0.0, 0.00015, 0.00042, 0.00153, 0.0, 3e-05, 2e-05, 0.00029, 0.00013, 0.00029, 0.00033, 0.0, 0.0, 0.0, 0.00045, 6e-05, 5e-05, 2e-05, 0.00036, 3e-05, 0.00017, 0.00019, 0.00035, 1e-05, 0.00018, 3e-05, 0.00012, 0.00019, 9e-05, 0.0, 0.0, 0.0, 0.0, 0.0, 0.00013, 4e-05, 9e-05, 0.0, 6e-05, 0.0, 0.00024, 0.0, 0.00023, 0.00018, 0.0, 0.0, 0.00013, 0.0, 0.0001, 0.0, 1e-05, 3e-05, 0.00022, 7e-05, 6e-05, 0.0, 0.0, 3e-05, 1e-05, 0.00013, 0.00014, 0.0, 0.0, 8e-05, 0.00026, 0.0003, 0.00026, 0.00093, 4e-05, 0.0, 7e-05, 0.00102, 0.0, 0.00013, 0.0, 0.00105, 0.00017, 0.0, 0.00023, 0.00015, 0.0001, 0.0, 0.0, 6e-05, 0.0, 0.0, 0.0002, 0.00011, 0.00013, 0.0002, 3e-05, 0.00171, 0.00014, 0.0002, 0.00187, 0.0012, 0.0002, 0.00014, 0.00136, 0.00062, 0.00025, 0.00018, 0.00041, 0.00014, 0.00014, 0.00017, 0.00014, 0.0002, 0.00017, 0.00014, 0.0002, 0.00061, 0.0, 0.0, 2e-05, 0.0002, 0.00017, 0.00027, 2e-05, 5e-05, 0.0, 0.0, 0.0, 0.00012, 0.00021, 0.0, 8e-05, 1e-05, 1e-05, 0.00012, 0.0, 0.00021, 3e-05, 0.0, 7e-05, 3e-05, 0.0002, 0.00017, 0.00021, 0.00021, 1e-05, 9e-05, 0.0, 0.00019, 2e-05, 3e-05, 1e-05, 0.0, 0.0001, 0.0, 0.00017, 1e-05, 0.0, 0.0, 0.00014, 0.00019, 0.0, 0.0, 0.0, 0.00041, 0.0, 5e-05, 0.0, 0.00042, 0.0, 0.00011, 0.00042, 0.00022, 0.00011, 0.0, 0.00041, 9e-05, 0.0004, 0.00045, 0.00028, 0.00119, 0.00015, 0.0, 0.00135, 0.0, 4e-05, 0.0, 0.0006, 0.0, 0.00015, 0.00101, 0.0, 0.0, 0.00013, 0.00359, 0.00025, 0.00025, 0.00015, 0.0, 0.00014, 0.00019, 0.00031, 5e-05, 0.0, 7e-05, 0.00019, 6e-05, 0.00015, 0.0, 0.00035, 0.0, 0.00012, 8e-05, 0.0, 0.0, 0.0, 0.0001, 0.0, 0.0, 6e-05, 0.0, 0.00024, 6e-05, 0.0, 0.00015, 0.00041, 9e-05, 5e-05, 0.00013, 0.00044, 0.0, 5e-05, 6e-05, 0.00037, 0.00019, 0.00014, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.00155, 0.00016, 0.00016, 0.0002, 0.00016, 0.00015, 0.00018, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0026, 0.0, 0.0, 0.0, 0.00259, 0.0, 0.0, 0.0, 0.0, 0.00027, 0.0, 0.0, 4e-05, 0.00018, 0.0, 0.0, 8e-05, 0.00033, 0.0, 0.0, 0.00019, 8e-05, 0.0, 0.00012, 2e-05, 0.0001, 3e-05, 7e-05, 0.0001, 5e-05, 0.00022, 8e-05, 0.00022, 0.00023, 6e-05, 1e-05, 0.0003, 0.00017, 1e-05, 6e-05, 0.00022, 0.00014, 0.00036, 0.00027, 0.0001, 6.51443, 0.52125, 0.52158, 0.78271, 6.17405, 0.18049, 0.18064, 0.44206, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.00074, 0.00051, 0.00027, 0.0, 0.0, 3e-05, 7e-05, 0.00011, 5e-05, 1e-05, 0.0, 0.0, 0.0, 1e-05, 0.00011, 0.00024, 0.0, 0.0, 0.0, 3e-05, 0.00011, 8e-05, 0.0, 0.0002, 5e-05, 0.0, 0.00014, 0.0, 0.00013, 6e-05, 0.00042, 1e-05, 0.0001, 0.00011, 1e-05, 6e-05, 0.00013, 0.0004, 0.00012, 8e-05, 7e-05, 0.0007, 0.00021, 0.00031, 0.00022, 6e-05, 3e-05, 3e-05, 0.00032, 4e-05, 5e-05, 0.0, 0.00024, 0.0, 7e-05, 0.0, 0.00017, 0.00016, 0.0, 0.0, 0.00013, 0.0, 0.0, 0.00044, 0.0003, 0.0, 0.0, 0.00039, 0.0002, 0.00041, 0.00031, 0.00019, 0.00021, 0.00013, 1e-05, 0.0, 0.00018, 0.0, 0.0, 0.00021, 4e-05, 8e-05, 7e-05, 8e-05, 0.0001, 8e-05, 0.0, 3e-05, 9e-05, 4e-05, 0.00045, 0.0, 0.0, 5e-05, 0.00011, 4e-05, 9e-05, 0.0005, 0.0, 0.0, 0.0, 2e-05, 0.00036, 0.00039, 6e-05, 0.0007, 5e-05, 8e-05, 8e-05, 0.00045, 0.00012, 0.00013, 0.00013, 0.00048, 7e-05, 0.00015, 4e-05, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.4467, 0.52508, 0.60915, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 11.73577, 0.0, 0.0, 0.0, 0.03059, 0.1465, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.49162, 0.0, 1.32443, 1.06941, 0.00783, 0.20731, 0.0, 0.90422, 0.37165, 0.21968, 0.0, 0.12518, 0.0, 0.0, 0.0, 0.03519, 0.0, 0.0, 0.0, 0.33613, 0.0, 0.0, 0.0, 2.53328, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.04769, 0.04771, 0.0, 0.0, 0.0, 0.0, 0.0, 0.04771, 0.04769, 0.0, 0.0, 0.0, 0.0, 0.0, 0.03519, 0.33613, 0.73628, 0.0, 6e-05, 4e-05, 0.00017, 0.0, 4e-05, 6e-05, 0.00024, 0.00014, 0.00026, 0.00026, 0.00017, 9e-05, 7e-05, 0.0, 0.0, 6e-05, 0.0, 0.0, 5e-05, 0.00033, 3e-05, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0106, 0.0, 0.0, 0.02846, 0.0, 0.0, 0.0, 0.0, 0.0, 1.28455, 1.49555, 0.86131, 0.00017, 0.00109, 0.00015, 0.00414, 0.00023, 0.0, 0.0, 0.0003, 0.0, 0.0001, 0.00456, 5e-05, 0.0, 0.0, 8e-05, 0.0, 0.0, 0.00042, 0.0, 0.0002, 0.00019, 0.0, 0.00023, 0.00016, 7e-05, 8e-05, 8e-05, 0.0002, 0.0001, 8e-05, 8e-05, 0.00033, 0.00024, 0.0048, 0.00472, 0.00032, 0.00047, 0.0, 0.00014, 0.00011, 0.00021, 0.00013, 8e-05, 1e-05, 0.00457, 0.0, 0.0, 0.0, 0.0, 0.0, 0.00017, 0.0002, 0.0, 0.00017, 0.0, 4e-05, 0.0, 0.00099, 0.00053, 0.00067, 0.0002, 0.00025, 0.0, 0.00033, 0.00013, 0.0, 0.0, 0.00023, 0.0, 0.00025, 0.00035, 2e-05, 0.0001, 0.0, 0.00023, 0.00016, 0.0001, 0.00042, 0.0, 0.00013, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.03387, 0.0, 0.0, 0.07022, 0.0, 0.0, 0.14041, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 4.36897, 0.0, 0.0, 0.02453, 0.0, 0.0, 0.0, 0.0, 0.0, 0.47746, 0.0, 0.0, 2.37857, 3.29398, 0.0, 0.0, 0.51162, 0.0, 0.0, 0.0, 0.48045, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.1305, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0023, 0.0, 0.0, 0.0, 7e-05, 0.0, 0.0, 0.00036, 0.00029, 0.0, 0.0, 0.0003, 3e-05, 0.0, 0.0, 0.00037, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.00226, 0.00027, 0.0001, 0.00022, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.94009, 0.0, 0.00012, 6e-05, 0.0, 0.0, 8e-05, 0.0, 0.00011, 0.0, 5e-05, 5e-05, 0.0, 3e-05, 5e-05, 0.00035, 0.0, 0.0, 0.0, 0.0001, 0.0, 0.0, 0.0, 0.0001, 0.0, 3e-05, 5e-05, 0.0, 0.00058, 0.00018, 0.00016, 0.00022, 0.00062, 0.00016, 0.00024, 0.00016, 0.0006, 0.0002, 0.00019, 0.00022, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.00668, 0.01572, 0.01389, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.85755, 0.15667, 0.0, 0.85755, 2.2648, 0.0, 0.15667, 2.43473, 0.11756, 0.01455, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.17147, 0.09399, 0.06359, 0.06351, 0.19824, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.16993, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.49282, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.00273, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.00078, 0.0, 0.0, 0.0, 0.00033, 0.0, 0.0, 0.00046, 0.0, 0.0, 0.0, 0.0, 0.00029, 0.0, 0.0, 0.00053, 0.00118, 0.0, 0.00043, 0.0, 0.00202, 0.00011, 0.0, 5e-05, 0.0465, 0.0, 0.00036, 0.0, 0.00019, 0.0, 0.0, 0.00027, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 7e-05, 0.0, 0.00012, 0.00057, 8e-05, 0.00023, 0.00027, 0.0, 0.0, 0.0]))),
LayerError(circuit=<qiskit.circuit.quantumcircuit.QuantumCircuit object at 0x1681dd610>, qubits=[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 57, 58, 59, 60, 61, 62, 64, 65, 66, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155], error=PauliLindbladError(generators=['IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII...',
'IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII...',
'IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII...',
'IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII...',
'IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII...',
'IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII...',
'IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII...',
'IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII...',
'IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII...',
'IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII...',
'IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII...',
'IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII...',
'IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII...', ...], rates=[0.00038, 0.00048, 0.0002, 0.00022, 3e-05, 1e-05, 0.0, 0.00013, 9e-05, 0.0, 1e-05, 0.0001, 0.0, 3e-05, 4e-05, 0.00014, 5e-05, 5e-05, 0.00024, 5e-05, 5e-05, 5e-05, 0.00015, 0.00023, 0.00026, 0.00023, 0.00012, 0.0005, 0.0, 2e-05, 0.0, 0.00036, 9e-05, 1e-05, 1e-05, 0.00045, 0.0, 6e-05, 6e-05, 8e-05, 0.0, 0.00011, 0.00018, 7e-05, 0.00011, 0.0, 0.00014, 0.00053, 0.00057, 0.00067, 0.00012, 0.0001, 4e-05, 7e-05, 0.00012, 0.00036, 4e-05, 0.0, 0.0, 0.00027, 2e-05, 0.0, 0.00014, 0.00066, 0.0, 0.00012, 0.0, 0.00064, 0.0, 5e-05, 1e-05, 0.00027, 0.00015, 0.0, 4e-05, 4e-05, 0.0, 0.0, 7e-05, 0.0, 0.00015, 0.0, 0.0, 0.00019, 0.0, 5e-05, 6e-05, 0.00044, 0.0, 6e-05, 0.0, 0.00041, 0.00014, 0.0, 0.0, 0.00012, 2e-05, 0.0, 3e-05, 0.00081, 0.0, 6e-05, 0.0, 0.00088, 2e-05, 0.0, 0.0, 0.0006, 0.0, 0.0, 0.00014, 0.00018, 4e-05, 6e-05, 0.00025, 0.0, 6e-05, 4e-05, 7e-05, 0.0003, 0.00088, 0.00091, 0.00019, 0.0, 0.0, 0.00013, 2e-05, 0.00028, 3e-05, 0.0, 3e-05, 0.00331, 0.0, 4e-05, 1e-05, 8e-05, 0.0, 0.00026, 0.00033, 0.0, 0.00026, 0.0, 0.0, 0.0, 0.00043, 0.00034, 0.00075, 0.00041, 0.0, 7e-05, 0.0, 0.00026, 5e-05, 2e-05, 0.0, 4e-05, 0.00015, 0.0, 6e-05, 0.00042, 1e-05, 5e-05, 0.0, 0.00041, 0.0, 0.0, 7e-05, 3e-05, 0.0, 8e-05, 0.0, 0.00025, 0.0, 0.0, 0.0, 0.0, 0.00018, 0.0, 9e-05, 0.00113, 0.0, 8e-05, 0.0, 0.00029, 0.0, 0.00019, 0.0, 0.00036, 5e-05, 0.0, 0.0, 0.00032, 0.0, 0.0, 0.0001, 0.00019, 3e-05, 9e-05, 0.00034, 0.00016, 9e-05, 3e-05, 0.00022, 0.00028, 0.00028, 0.00019, 0.00016, 0.00067, 0.0, 0.0, 0.0, 0.00053, 0.00018, 0.0, 0.00017, 0.00041, 0.0001, 0.0, 0.0, 0.00011, 0.0, 9e-05, 0.00023, 0.00025, 9e-05, 0.0, 0.00026, 0.00011, 0.00026, 0.00027, 8e-05, 0.00054, 0.00034, 0.00045, 0.00066, 0.0, 0.0, 3e-05, 0.00041, 1e-05, 0.00013, 3e-05, 0.00271, 0.0, 0.0, 6e-05, 0.00022, 6e-05, 0.0, 0.0001, 0.00011, 0.0, 0.00011, 0.0, 0.00045, 1e-05, 0.0, 7e-05, 0.0, 1e-05, 0.0, 0.0002, 0.0, 9e-05, 0.00029, 2e-05, 0.00011, 7e-05, 8e-05, 9e-05, 0.0, 0.00034, 1e-05, 0.0, 0.0, 0.00022, 0.00037, 0.00022, 0.0002, 0.00035, 0.0, 0.0, 0.0, 0.00031, 1e-05, 5e-05, 0.0, 0.00049, 8e-05, 0.0, 0.00011, 0.00012, 9e-05, 0.0, 0.00037, 0.00013, 0.0, 9e-05, 0.00035, 0.00096, 0.0004, 0.00041, 0.00046, 0.00031, 0.0, 0.0002, 0.0, 0.0001, 9e-05, 1e-05, 0.00012, 9e-05, 7e-05, 0.0, 0.00031, 0.00016, 0.00013, 0.0, 0.0, 9e-05, 4e-05, 4e-05, 0.00019, 0.0, 6e-05, 4e-05, 0.0, 7e-05, 8e-05, 0.00111, 3e-05, 0.0, 7e-05, 5e-05, 0.0, 0.00018, 0.00081, 8e-05, 6e-05, 0.00085, 0.00063, 6e-05, 8e-05, 0.0007, 0.00021, 0.00046, 0.00044, 0.00022, 0.0, 4e-05, 0.0, 0.00018, 0.00014, 0.0, 5e-05, 0.0, 0.00018, 0.0, 1e-05, 0.0, 0.0, 3e-05, 8e-05, 0.00033, 1e-05, 8e-05, 3e-05, 0.00034, 0.00165, 0.00025, 0.00028, 0.0, 0.0, 0.0, 0.00016, 0.0, 0.0, 0.00032, 0.0, 0.00031, 0.00016, 0.0, 0.0, 0.00024, 0.0, 0.0, 0.0063, 0.00014, 0.0, 0.0, 0.00011, 0.0, 0.0, 0.00065, 0.0, 0.0003, 0.00081, 0.00055, 0.0003, 0.0, 0.00064, 0.0, 0.00032, 0.00077, 0.00096, 3e-05, 0.00013, 0.0, 0.0, 4e-05, 0.0, 9e-05, 0.0, 7e-05, 4e-05, 0.0, 0.0, 5e-05, 9e-05, 1e-05, 0.00019, 0.00012, 1e-05, 9e-05, 0.0002, 0.00014, 0.00022, 0.00017, 3e-05, 0.00021, 4e-05, 0.0, 0.0, 0.00012, 0.0, 1e-05, 0.00029, 7e-05, 1e-05, 0.0, 1e-05, 6e-05, 0.0, 0.00012, 0.0, 0.0, 0.00019, 0.0, 0.0, 0.0, 0.0002, 8e-05, 0.0, 0.0002, 0.00022, 0.0, 8e-05, 0.00028, 0.00044, 0.00076, 0.00068, 0.00057, 4e-05, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.00057, 0.0001, 1e-05, 0.00017, 0.00052, 2e-05, 0.0, 0.0, 0.00043, 2e-05, 5e-05, 0.0, 0.00028, 3e-05, 2e-05, 2e-05, 0.00039, 5e-05, 0.0, 0.0, 0.00045, 0.0, 3e-05, 5e-05, 0.00019, 1e-05, 2e-05, 1e-05, 0.00039, 0.00047, 0.00345, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.00188, 0.0, 6e-05, 0.0, 0.00039, 0.00047, 9e-05, 0.00164, 0.00027, 0.00039, 0.00062, 0.00091, 0.00026, 1e-05, 0.00047, 0.00206, 0.00032, 0.00056, 0.00089, 2e-05, 0.0, 0.00049, 0.0, 0.0, 0.0, 0.0, 0.00014, 0.01475, 0.0, 0.0, 0.0, 0.00483, 0.0, 0.0, 0.00489, 0.00249, 0.0, 0.0, 0.00367, 0.0, 0.00057, 0.0, 0.01256, 0.0, 0.00024, 9e-05, 0.00075, 0.0, 0.00051, 0.0, 0.0, 9e-05, 0.00024, 0.00025, 7e-05, 0.0, 7e-05, 0.0, 6e-05, 0.0, 0.0, 0.0, 0.00067, 0.00057, 0.0, 0.00027, 0.0, 0.0, 8e-05, 0.00019, 0.0, 0.0, 0.00013, 0.00023, 0.0, 0.0, 0.00013, 3e-05, 0.0, 0.00037, 0.0, 0.0, 3e-05, 0.00033, 0.0, 0.00024, 0.00029, 0.00014, 4e-05, 0.00017, 6e-05, 0.0, 2e-05, 0.0, 0.0, 9e-05, 0.00095, 1e-05, 0.00022, 0.00021, 0.00029, 0.0001, 3e-05, 0.0, 0.00034, 0.0, 0.00076, 0.00043, 0.0, 0.00017, 0.0, 0.0, 0.00034, 0.00084, 0.00034, 1e-05, 0.0, 0.00049, 0.00027, 0.00012, 0.00035, 0.00014, 0.00025, 0.0, 0.0, 0.00015, 0.0, 0.00023, 0.0, 0.0002, 9e-05, 0.0, 0.00023, 0.0, 4e-05, 0.00019, 0.0004, 8e-05, 0.00019, 4e-05, 0.00032, 0.00232, 0.00039, 0.00038, 0.0003, 8e-05, 0.0, 0.0, 0.00014, 0.00013, 0.0, 0.00013, 0.00011, 0.00019, 0.00023, 0.0, 0.00011, 0.00026, 0.00014, 0.0, 0.0, 8e-05, 0.0, 0.00053, 0.00047, 0.0, 3e-05, 0.00022, 0.0, 8e-05, 0.00086, 0.00038, 0.0, 5e-05, 9e-05, 0.00022, 0.00038, 0.00023, 0.0, 8e-05, 0.0, 0.0, 9e-05, 0.0, 1e-05, 0.00027, 0.00037, 4e-05, 0.00013, 0.00018, 0.00224, 0.00017, 0.00029, 0.0, 0.00257, 0.00017, 0.0, 0.00011, 0.00049, 0.00016, 0.0, 7e-05, 0.00076, 1e-05, 0.0, 0.0, 0.00076, 5e-05, 0.0, 2e-05, 0.00051, 0.0, 7e-05, 0.00016, 0.00034, 5e-05, 3e-05, 0.0, 0.00041, 3e-05, 5e-05, 8e-05, 0.0004, 0.00015, 0.0, 8e-05, 0.0001, 0.00026, 0.00025, 0.00054, 0.00034, 0.00025, 0.00026, 0.00038, 0.00057, 0.0027, 0.00285, 0.00046, 0.00082, 0.00106, 0.00329, 0.00019, 0.00011, 0.0, 0.0, 0.0, 0.0, 1e-05, 0.00021, 0.00404, 0.0, 0.0, 0.0002, 0.00093, 0.0001, 0.0, 0.0, 0.00067, 8e-05, 1e-05, 0.0, 0.00118, 0.0, 0.00019, 0.00027, 0.00044, 0.00053, 0.00017, 0.0, 0.0, 0.0, 0.0, 0.0, 4e-05, 0.0, 0.00014, 0.0, 0.0, 0.0, 0.0, 0.01268, 0.0, 0.0, 0.0, 0.01246, 0.0, 0.0, 0.00029, 0.00244, 0.00037, 0.00019, 0.0, 0.00062, 0.00057, 0.00023, 0.00039, 8e-05, 0.0001, 0.0, 0.00049, 0.00015, 0.0, 8e-05, 0.00184, 0.0, 0.0, 5e-05, 1e-05, 0.0003, 0.00018, 0.00036, 0.0, 0.00018, 0.0003, 0.00024, 0.0, 0.00089, 0.00082, 0.00023, 8e-05, 0.0, 0.0001, 2e-05, 6e-05, 7e-05, 0.00013, 0.00013, 0.0, 0.0, 0.0, 0.00014, 8e-05, 3e-05, 0.00046, 5e-05, 0.0, 3e-05, 0.00014, 0.00012, 0.00033, 0.00023, 0.0, 7e-05, 0.00023, 0.00018, 7e-05, 0.0, 0.00021, 0.00022, 0.00047, 0.00038, 0.00023, 0.0, 0.0, 0.0, 6e-05, 0.0, 0.0, 2e-05, 0.0, 0.0, 0.0, 0.0, 0.0, 0.00027, 1e-05, 0.0, 0.00043, 0.00029, 0.0, 1e-05, 0.00029, 0.00031, 8e-05, 0.0001, 0.00016, 0.00039, 0.00024, 4e-05, 8e-05, 0.0, 0.0, 0.0, 0.00051, 9e-05, 0.0, 0.00015, 0.0, 0.0, 0.0, 2e-05, 0.00011, 0.0, 0.0001, 0.00016, 0.0, 0.0, 0.00029, 1e-05, 9e-05, 0.00035, 0.00041, 9e-05, 1e-05, 0.00041, 0.0018, 0.00048, 0.00039, 0.00066, 0.00026, 1e-05, 0.0001, 0.00026, 0.0002, 0.0001, 1e-05, 0.00021, 3e-05, 0.00017, 0.00041, 2e-05, 0.00225, 0.0, 0.0, 0.00026, 0.00184, 0.00033, 0.0, 0.0, 0.00054, 0.0, 0.0001, 0.0, 0.00047, 0.0, 0.0, 0.0, 0.00035, 7e-05, 0.0001, 0.0, 0.00042, 2e-05, 0.0, 7e-05, 0.00041, 0.00043, 0.00024, 0.00022, 0.0, 0.0, 0.0, 3e-05, 3e-05, 6e-05, 6e-05, 4e-05, 0.0, 0.00016, 0.0, 0.0, 0.0, 0.00048, 2e-05, 0.0, 0.0, 7e-05, 3e-05, 0.0, 0.00027, 0.00017, 3e-05, 0.00042, 0.00026, 3e-05, 0.00017, 0.00033, 0.00029, 0.00035, 0.00027, 9e-05, 5e-05, 7e-05, 2e-05, 0.0, 0.0003, 0.0, 5e-05, 3e-05, 0.00028, 7e-05, 0.0, 0.0, 0.00079, 0.0, 0.0, 0.00025, 0.00053, 0.00016, 6e-05, 0.0, 0.00048, 0.00018, 6e-05, 9e-05, 0.00249, 0.0, 0.0, 0.0, 6e-05, 4e-05, 5e-05, 0.00196, 0.0, 1e-05, 0.0, 1e-05, 0.00014, 0.0, 0.00086, 0.0, 0.0, 0.00033, 6e-05, 0.0, 0.00059, 8e-05, 0.00023, 8e-05, 0.0004, 0.0, 8e-05, 0.00023, 0.00016, 0.00024, 0.00263, 0.00212, 0.00103, 1e-05, 0.00017, 0.0, 0.00014, 0.00024, 0.0, 0.00014, 4e-05, 0.00202, 0.00012, 1e-05, 0.0, 0.00028, 8e-05, 5e-05, 0.00029, 0.00027, 5e-05, 8e-05, 0.00028, 0.00049, 0.00046, 0.0005, 0.0001, 0.00016, 0.0, 0.0002, 0.00029, 0.0, 0.0, 0.0, 7e-05, 0.0002, 0.0, 0.00021, 0.0, 1e-05, 7e-05, 2e-05, 0.00251, 0.00216, 0.0, 2e-05, 0.0, 0.0002, 0.0, 6e-05, 3e-05, 0.0, 0.0, 7e-05, 3e-05, 1e-05, 0.0, 0.0, 0.0, 0.0, 2e-05, 0.00033, 0.00014, 0.0006, 7e-05, 0.00014, 0.00033, 0.00063, 0.00187, 0.0, 0.00013, 0.00013, 0.0, 0.0001, 0.00017, 0.0, 0.0, 0.00016, 4e-05, 8e-05, 0.0, 0.00032, 0.00035, 0.00038, 1e-05, 0.0, 0.0001, 0.0, 0.0, 0.0, 0.0005, 0.0, 3e-05, 0.0, 2e-05, 0.0, 0.0, 0.00051, 0.00017, 0.0, 0.0, 0.0, 0.00028, 0.00012, 0.00045, 0.00073, 5e-05, 0.00017, 0.00012, 0.00072, 0.00016, 0.00016, 0.00018, 0.00041, 0.00014, 0.00018, 0.00017, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.00125, 0.00029, 0.00034, 0.00044, 0.0, 3e-05, 1e-05, 0.00015, 0.00011, 1e-05, 3e-05, 0.00034, 0.0, 0.00049, 0.0005, 0.00027, 0.00036, 0.00011, 1e-05, 0.0, 0.00027, 4e-05, 1e-05, 8e-05, 0.0004, 0.0, 5e-05, 1e-05, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.00144, 0.00155, 0.00106, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.00166, 0.0, 0.0, 0.0, 0.0, 0.0001, 0.0, 0.00014, 0.0, 0.0, 0.00035, 0.00015, 2e-05, 0.00018, 0.00013, 0.0, 0.0, 0.0, 0.00255, 0.00012, 0.0, 0.00013, 0.0, 0.0, 4e-05, 0.00024, 0.0003, 7e-05, 0.00051, 0.00013, 7e-05, 0.0003, 0.00042, 0.0, 0.00054, 0.00049, 0.00027, 0.00032, 0.0001, 0.0, 0.00013, 0.00026, 7e-05, 0.00017, 2e-05, 0.00028, 9e-05, 0.00012, 6e-05, 0.00021, 3e-05, 0.0001, 0.00027, 0.00018, 0.0001, 3e-05, 0.00031, 0.0001, 0.00056, 0.00053, 0.0003, 0.00015, 0.00012, 5e-05, 1e-05, 5e-05, 0.0, 0.0, 0.00011, 2e-05, 0.0, 0.0001, 1e-05, 0.00011, 0.0, 0.0, 0.0, 4e-05, 0.0, 0.0, 2e-05, 0.0, 0.0, 6e-05, 7e-05, 0.0004, 0.0, 7e-05, 6e-05, 0.00037, 0.00035, 0.00037, 0.00036, 0.00012, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0023, 0.00032, 0.00054, 0.00025, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.10149, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.4483, 0.0, 0.0, 0.0, 0.0, 0.47032, 0.0, 0.0, 0.47032, 2.16274, 0.10149, 0.0, 3.77113, 0.0, 0.0, 0.0, 0.64371, 0.75454, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.1894, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.18944, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.18944, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.00051, 0.0, 0.0, 0.0, 0.0004, 0.0, 0.0, 0.0, 0.00054, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.66515, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.31179, 0.01541, 0.0, 0.0, 0.0, 0.17108, 0.0, 0.01541, 0.0, 0.0, 0.0, 0.00139, 0.0, 0.17108, 0.0, 0.56192, 0.02113, 0.00549, 0.00482, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.00458, 0.0, 0.0, 0.0, 0.01005, 0.0, 0.0, 0.0, 0.01365, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1e-05, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 4e-05, 6e-05, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.00055, 0.00058, 0.00045, 0.00055, 0.00046, 0.00045, 0.00058, 0.00046, 0.00136, 0.0, 0.0, 0.00066, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 2.33286, 0.0, 0.0, 0.83482, 0.0, 0.22169, 0.0, 0.02988, 0.4062, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.12134, 0.0, 0.0, 0.12134, 0.0, 0.0, 0.50531, 0.60898, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.69564, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.00126, 0.0, 0.0, 0.0, 0.00012, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.58807, 0.0, 0.0, 0.0, 0.56902, 0.0005, 0.0, 0.0, 0.00033, 0.00057, 0.0, 0.0, 0.0002, 0.00056, 0.0, 0.0, 0.00024, 0.0007, 0.00116, 0.0005, 7e-05, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.00141, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.00032, 0.0, 0.0, 0.0, 0.00041, 0.0, 7e-05, 0.0, 0.00094, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.00279, 0.0, 0.0, 0.0, 0.00047, 0.00071, 9e-05, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 2.11505, 0.0, 0.57436, 0.0, 0.0, 0.0, 0.0, 0.0, 2.02428, 0.0, 0.43805, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.4321, 0.0, 0.0, 0.38338, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.13446, 0.0, 0.0, 0.0, 0.13441, 0.0, 0.0, 0.0, 0.24681, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.04903, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.00044, 0.0, 0.0, 0.0, 0.00037, 0.0, 0.0, 0.0, 0.0008, 0.0, 0.0, 0.0, 0.002, 0.0, 0.00021, 0.0023, 0.0015, 0.00021, 0.0, 0.00191, 0.01185, 0.00044, 0.00037, 0.00069, 7e-05, 0.00022, 0.00022, 0.00015, 0.0, 0.0, 0.0, 0.0, 0.00018, 0.00024, 0.00013, 0.0003, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.00041, 0.0])))]},
'version': 2}

อ็อบเจกต์ PubResult มี resilience metadata เพิ่มเติมเกี่ยวกับโมเดลสัญญาณรบกวนที่เรียนรู้มาซึ่งใช้ในการลดความผิดพลาด

# Print learned layer noise metadata
for field, value in pub_result.metadata["resilience"]["layer_noise"].items():
print(f"{field}: {value}")
noise_overhead: Infinity
total_mitigated_layers: 18
unique_mitigated_layers: 3
unique_mitigated_layers_noise_overhead: [1.4100369479435003e+44, 3.407263868699073e+112, 3.500660129782563e+37]
# Exact data computed using the methods described in the original reference
# Y. Kim et al. "Evidence for the utility of quantum computing before fault tolerance" (Nature 618, 500–505 (2023))
# Directly used here for brevity
exact_data = np.array(
[
1,
0.9899,
0.9531,
0.8809,
0.7536,
0.5677,
0.3545,
0.1607,
0.0539,
0.0103,
0.0012,
0.0,
]
)

พล็อตผลลัพธ์การจำลอง Trotter

โค้ดต่อไปนี้สร้างพล็อตเพื่อเปรียบเทียบผลการทดลองแบบ raw และแบบที่ลดความผิดพลาดกับผลลัพธ์ที่แม่นยำ

"""Result visualization functions"""

def plot_trotter_results(
pub_result: PubResult,
angles: Sequence[float],
plot_noise_factors: Sequence[float] | None = None,
plot_extrapolator: Sequence[str] | None = None,
exact: np.ndarray = None,
close: bool = True,
):
"""Plot average magnetization from ZNE result data.
Args:
pub_result: The Estimator PubResult for the PEA experiment.
angles: The Rx angle values for the experiment.
plot_raw: If provided plot the unextrapolated data for the noise factors.
plot_extrapolator: If provided plot all extrapolators, if False only plot
the Automatic method.
exact: Optional, the exact values to include in the plot. Should be a 1D
array-like where the values represent exact magnetization.
close: Close the Matplotlib figure before returning.
Returns:
The figure.
"""
data = pub_result.data

evs = data.evs
num_qubits = evs.shape[0]
num_params = evs.shape[1]
angles = np.asarray(angles).ravel()
if angles.shape != (num_params,):
raise ValueError(
f"Incorrect number of angles for input data {angles.size} != {num_params}"
)

# Take average magnetization of qubits and its standard error
x_vals = angles / np.pi
y_vals = np.mean(evs, axis=0)
y_errs = np.std(evs, axis=0) / np.sqrt(num_qubits)

fig, _ = plt.subplots(1, 1)

# Plot auto method
plt.errorbar(x_vals, y_vals, y_errs, fmt="o-", label="ZNE (automatic)")

# Plot individual extrapolator results
if plot_extrapolator:
y_vals_extrap = np.mean(data.evs_extrapolated, axis=0)
y_errs_extrap = np.std(data.evs_extrapolated, axis=0) / np.sqrt(
num_qubits
)
for i, extrap in enumerate(plot_extrapolator):
plt.errorbar(
x_vals,
y_vals_extrap[:, i, 0],
y_errs_extrap[:, i, 0],
fmt="s-.",
alpha=0.5,
label=f"ZNE ({extrap})",
)

# Plot raw results
if plot_noise_factors:
y_vals_raw = np.mean(data.evs_noise_factors, axis=0)
y_errs_raw = np.std(data.evs_noise_factors, axis=0) / np.sqrt(
num_qubits
)
for i, nf in enumerate(plot_noise_factors):
plt.errorbar(
x_vals,
y_vals_raw[:, i],
y_errs_raw[:, i],
fmt="d:",
alpha=0.5,
label=f"Raw (nf={nf:.1f})",
)

# Plot exact data
if exact is not None:
plt.plot(x_vals, exact, "--", color="black", alpha=0.5, label="Exact")

plt.ylim(-0.1, 1.2)
plt.xlabel("θ/π")
plt.ylabel(r"$\overline{\langle Z \rangle}$")
plt.legend()
plt.title(
f"Error Mitigated Average Magnetization for Rx(θ) [{num_qubits}-qubit]"
)
if close:
plt.close(fig)
return fig
zne_metadata = primitive_result.metadata["resilience"]["zne"]
# Plot Trotter simulation results
fig = plot_trotter_results(
pub_result,
parameter_values,
plot_extrapolator=zne_metadata["extrapolator"],
plot_noise_factors=zne_metadata["noise_factors"],
exact=exact_data,
)
display(fig)

Output of the previous code cell

ในขณะที่ค่าที่มีสัญญาณรบกวน (noise factor nf=1.0) แสดงความเบี่ยงเบนสูงจากค่าที่แม่นยำ แต่ค่าที่ mitigated นั้นใกล้เคียงกับค่าที่แม่นยำมาก ซึ่งแสดงให้เห็นประโยชน์ของเทคนิคการลดความผิดพลาดแบบ PEA

พล็อตผลลัพธ์การ extrapolation สำหรับ qubit แต่ละตัว

สุดท้าย โค้ดต่อไปนี้สร้างพล็อตเพื่อแสดง extrapolation curves สำหรับค่า theta ต่างๆ บน qubit ที่เลือก

def plot_qubit_zne_data(
pub_result: PubResult,
angles: Sequence[float],
qubit: int,
noise_factors: Sequence[float],
extrapolator: Sequence[str] | None = None,
extrapolated_noise_factors: Sequence[float] | None = None,
num_cols: int | None = None,
close: bool = True,
):
"""Plot ZNE extrapolation data for specific virtual qubit
Args:
pub_result: The Estimator PubResult for the PEA experiment.
angles: The Rx theta angles used for the experiment.
qubit: The virtual qubit index to plot.
noise_factors: the raw noise factors.
extrapolator: The extrapolator metadata for multiple extrapolators.
extrapolated_noise_factors: The noise factors used for extrapolation.
num_cols: The number of columns for the generated subplots.
close: Close the Matplotlib figure before returning.
Returns:
The Matplotlib figure.
"""
data = pub_result.data

evs_auto = data.evs[qubit]
stds_auto = data.stds[qubit]
evs_extrap = data.evs_extrapolated[qubit]
stds_extrap = data.stds_extrapolated[qubit]
evs_raw = data.evs_noise_factors[qubit]
stds_raw = data.stds_noise_factors[qubit]

num_params = evs_auto.shape[0]
angles = np.asarray(angles).ravel()
if angles.shape != (num_params,):
raise ValueError(
f"Incorrect number of angles for input data {angles.size} != {num_params}"
)

# Make a square subplot
num_cols = num_cols or int(np.ceil(np.sqrt(num_params)))
num_rows = int(np.ceil(num_params / num_cols))
fig, axes = plt.subplots(
num_rows, num_cols, sharex=True, sharey=True, figsize=(12, 5)
)
fig.suptitle(f"ZNE data for virtual qubit {qubit}")

for pidx, ax in zip(range(num_params), axes.flat):
# Plot auto extrapolated
ax.errorbar(
0,
evs_auto[pidx],
stds_auto[pidx],
fmt="o",
label="PEA (automatic)",
)

# Plot extrapolators
if (
extrapolator is not None
and extrapolated_noise_factors is not None
):
for i, method in enumerate(extrapolator):
ax.errorbar(
extrapolated_noise_factors,
evs_extrap[pidx, i],
stds_extrap[pidx, i],
fmt="-",
alpha=0.5,
label=f"PEA ({method})",
)

# Plot raw
ax.errorbar(
noise_factors, evs_raw[pidx], stds_raw[pidx], fmt="d", label="Raw"
)

ax.set_yticks([0, 0.5, 1, 1.5, 2])
ax.set_ylim(0, max(1, 1.1 * max(evs_auto)))

ax.set_xticks([0, *noise_factors])
ax.set_title(f"θ/π = {angles[pidx]/np.pi:.2f}")
if pidx == 0:
ax.set_ylabel(r"$\langle Z_{" + str(qubit) + r"} \rangle$")
if pidx == num_params - 1:
ax.set_xlabel("Noise Factor")
ax.legend()
if close:
plt.close(fig)
return fig
virtual_qubit = 1
plot_qubit_zne_data(
pub_result=pub_result,
angles=parameter_values,
qubit=virtual_qubit,
noise_factors=zne_metadata["noise_factors"],
extrapolator=zne_metadata["extrapolator"],
extrapolated_noise_factors=zne_metadata["extrapolated_noise_factors"],
)

Output of the previous code cell

แบบสำรวจ Tutorial

Link to survey

Note: This survey is provided by IBM Quantum and relates to the original English content. To give feedback on doQumentation's website, translations, or code execution, please open a GitHub issue.

กรุณาทำแบบสำรวจสั้นๆ นี้เพื่อให้ feedback เกี่ยวกับ tutorial นี้ ข้อมูลของคุณจะช่วยให้เราปรับปรุงเนื้อหาและประสบการณ์การใช้งาน

Source: IBM Quantum docs — updated 15 ม.ค. 2569
English version on doQumentation — updated 7 พ.ค. 2569
This translation based on the English version of 9 เม.ย. 2569