diff --git a/.gitignore b/.gitignore index 1ba3a8cc..d06977b1 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,8 @@ +# for stdlib code +demo/msd_utils/noise.py +skills +.agents + # misc .DS_Store .tmp* diff --git a/Ion.toml b/Ion.toml index 47a44b70..8924dfc9 100644 --- a/Ion.toml +++ b/Ion.toml @@ -1,5 +1,6 @@ [skills] ion-cli = { type = "local" } +msd-paper-decoder-alignment = "skills/msd-paper-decoder-alignment" receiving-code-review = { source = "obra/superpowers/skills/receiving-code-review" } requesting-code-review = { source = "obra/superpowers/skills/requesting-code-review" } using-git-worktrees = { source = "obra/superpowers/skills/using-git-worktrees" } diff --git a/demo/__init__.py b/demo/__init__.py new file mode 100644 index 00000000..7de4f741 --- /dev/null +++ b/demo/__init__.py @@ -0,0 +1 @@ +"""Demo support package for notebook-oriented helpers.""" diff --git a/demo/benchmark_decoders.ipynb b/demo/benchmark_decoders.ipynb new file mode 100644 index 00000000..7a0b7973 --- /dev/null +++ b/demo/benchmark_decoders.ipynb @@ -0,0 +1,4608 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Benchmarking decoders in `bloqade-lanes`\n", + "\n", + "This notebook shows a user-level workflow for comparing multiple decoders across multiple logical kernels.\n", + "\n", + "The core idea is:\n", + "\n", + "1. compile each kernel into a `GeminiLogicalSimulatorTask`\n", + "2. run the task with noise to get `detectors` and `observables`\n", + "3. run the same task without noise to get a reference logical output\n", + "4. evaluate each decoder on each kernel using a list of metric functions\n", + "\n", + "The sketch in the design notes used a metric signature that only took `(decoder_ctor, error_model, detectors, observables)`. In practice, metrics such as logical error rate are easier to define if the metric also receives a small `context` dictionary containing the noiseless reference observables and a few run settings.\n" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "ee4a834f", + "metadata": {}, + "outputs": [], + "source": [ + "from __future__ import annotations\n", + "\n", + "from collections import Counter\n", + "from time import perf_counter\n", + "from typing import Any, Callable\n", + "import inspect\n", + "import os\n", + "import sys\n", + "import tracemalloc\n", + "\n", + "import matplotlib.pyplot as plt\n", + "import numpy as np\n", + "import numpy.typing as npt\n", + "import stim\n", + "\n", + "from bloqade import qubit, squin\n", + "from bloqade.gemini import logical\n", + "from bloqade.lanes import GeminiLogicalSimulator\n", + "from bloqade.decoders import (\n", + " BaseDecoder,\n", + " BeliefFindDecoder,\n", + " BpLsdDecoder,\n", + " BpOsdDecoder,\n", + " MWPFDecoder,\n", + ")\n" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "42d2f2c7", + "metadata": {}, + "outputs": [], + "source": [ + "DecoderConstructor = Callable[[stim.DetectorErrorModel], BaseDecoder]\n", + "MetricFn = Callable[\n", + " [DecoderConstructor, stim.DetectorErrorModel, npt.NDArray[np.bool_], npt.NDArray[np.bool_], dict[str, Any]],\n", + " list[float],\n", + "]\n", + "\n", + "\n", + "def _decoder_name(decoder_ctor: DecoderConstructor) -> str:\n", + " return getattr(decoder_ctor, \"__name__\", decoder_ctor.__class__.__name__)\n", + "\n", + "\n", + "def _mode_row(obs: npt.NDArray[np.bool_]) -> npt.NDArray[np.bool_]:\n", + " counts = Counter(map(lambda row: tuple(map(int, row)), obs.tolist()))\n", + " row, _ = counts.most_common(1)[0]\n", + " return np.asarray(row, dtype=bool)\n", + "\n", + "\n", + "def _decode_and_correct(\n", + " decoder_ctor: DecoderConstructor,\n", + " error_model: stim.DetectorErrorModel,\n", + " detectors: npt.NDArray[np.bool_],\n", + " observables: npt.NDArray[np.bool_],\n", + ") -> tuple[BaseDecoder, npt.NDArray[np.bool_], npt.NDArray[np.bool_]]:\n", + " decoder = decoder_ctor(error_model)\n", + " flips = np.asarray(decoder.decode(detectors), dtype=bool)\n", + " corrected = np.asarray(observables, dtype=bool) ^ flips\n", + " return decoder, flips, corrected\n", + "\n", + "\n", + "def benchmark_decoders(\n", + " decoders: list[DecoderConstructor],\n", + " kernels: list[Callable[..., Any]],\n", + " metrics_fns: dict[str, MetricFn],\n", + " *,\n", + " shots: int = 10_000,\n", + " reference_shots: int = 2_000,\n", + " with_noise: bool = True,\n", + ") -> dict[str, dict[str, list[list[float]]]]:\n", + " \"\"\"\n", + " Benchmark multiple decoders on multiple kernels.\n", + "\n", + " Returns:\n", + " results[decoder_name][metric_name][kernel_index] = list[float]\n", + " \"\"\"\n", + " simulator = GeminiLogicalSimulator()\n", + " results: dict[str, dict[str, list[list[float]]]] = {\n", + " _decoder_name(decoder): {metric_name: [] for metric_name in metrics_fns}\n", + " for decoder in decoders\n", + " }\n", + "\n", + " for kernel in kernels:\n", + " task = simulator.task(kernel)\n", + " noisy_result = task.run(shots, with_noise=with_noise)\n", + " ref_result = task.run(reference_shots, with_noise=False)\n", + "\n", + " detectors = np.asarray(noisy_result.detectors, dtype=bool)\n", + " observables = np.asarray(noisy_result.observables, dtype=bool)\n", + " reference_observables = np.asarray(ref_result.observables, dtype=bool)\n", + "\n", + " context = {\n", + " \"kernel_name\": getattr(kernel, \"sym_name\", getattr(kernel, \"__name__\", \"kernel\")),\n", + " \"shots\": shots,\n", + " \"reference_shots\": reference_shots,\n", + " \"reference_observables\": reference_observables,\n", + " \"target_observables\": _mode_row(reference_observables),\n", + " }\n", + "\n", + " for decoder_ctor in decoders:\n", + " decoder_name = _decoder_name(decoder_ctor)\n", + " for metric_name, metric_fn in metrics_fns.items():\n", + " metric_values = metric_fn(\n", + " decoder_ctor,\n", + " task.detector_error_model,\n", + " detectors,\n", + " observables,\n", + " context,\n", + " )\n", + " results[decoder_name][metric_name].append(metric_values)\n", + "\n", + " return results\n" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "id": "7bd08b20", + "metadata": {}, + "outputs": [], + "source": [ + "def logical_error_rate_metric(\n", + " decoder_ctor: DecoderConstructor,\n", + " error_model: stim.DetectorErrorModel,\n", + " detectors: npt.NDArray[np.bool_],\n", + " observables: npt.NDArray[np.bool_],\n", + " context: dict[str, Any],\n", + ") -> list[float]:\n", + " _, _, corrected = _decode_and_correct(decoder_ctor, error_model, detectors, observables)\n", + " target = np.broadcast_to(context[\"target_observables\"], corrected.shape)\n", + " failures = np.any(corrected != target, axis=1)\n", + " return [float(np.mean(failures))]\n", + "\n", + "\n", + "def physical_error_rate_metric(\n", + " decoder_ctor: DecoderConstructor,\n", + " error_model: stim.DetectorErrorModel,\n", + " detectors: npt.NDArray[np.bool_],\n", + " observables: npt.NDArray[np.bool_],\n", + " context: dict[str, Any],\n", + ") -> list[float]:\n", + " # A convenient proxy for physical error rate from run output alone.\n", + " return [float(np.mean(detectors))]\n", + "\n", + "\n", + "def latency_metric(\n", + " decoder_ctor: DecoderConstructor,\n", + " error_model: stim.DetectorErrorModel,\n", + " detectors: npt.NDArray[np.bool_],\n", + " observables: npt.NDArray[np.bool_],\n", + " context: dict[str, Any],\n", + ") -> list[float]:\n", + " t0 = perf_counter()\n", + " decoder = decoder_ctor(error_model)\n", + " t1 = perf_counter()\n", + " _ = decoder.decode(detectors)\n", + " t2 = perf_counter()\n", + " return [1e3 * (t1 - t0), 1e3 * (t2 - t1)]\n", + "\n", + "\n", + "def throughput_metric(\n", + " decoder_ctor: DecoderConstructor,\n", + " error_model: stim.DetectorErrorModel,\n", + " detectors: npt.NDArray[np.bool_],\n", + " observables: npt.NDArray[np.bool_],\n", + " context: dict[str, Any],\n", + ") -> list[float]:\n", + " decoder = decoder_ctor(error_model)\n", + " t0 = perf_counter()\n", + " _ = decoder.decode(detectors)\n", + " dt = perf_counter() - t0\n", + " shots_per_second = float(len(detectors) / dt) if dt > 0 else float(\"inf\")\n", + " return [shots_per_second]\n", + "\n", + "\n", + "def robustness_to_model_mismatch_metric(\n", + " decoder_ctor: DecoderConstructor,\n", + " error_model: stim.DetectorErrorModel,\n", + " detectors: npt.NDArray[np.bool_],\n", + " observables: npt.NDArray[np.bool_],\n", + " context: dict[str, Any],\n", + ") -> list[float]:\n", + " mismatch_prob = context.get(\"mismatch_prob\", 0.02)\n", + " target = np.broadcast_to(context[\"target_observables\"], observables.shape)\n", + "\n", + " decoder = decoder_ctor(error_model)\n", + " clean_flips = np.asarray(decoder.decode(detectors), dtype=bool)\n", + " clean_corrected = observables ^ clean_flips\n", + " clean_ler = float(np.mean(np.any(clean_corrected != target, axis=1)))\n", + "\n", + " rng = np.random.default_rng(0)\n", + " detector_noise = rng.random(detectors.shape) < mismatch_prob\n", + " mismatched_detectors = detectors ^ detector_noise\n", + " mismatch_flips = np.asarray(decoder.decode(mismatched_detectors), dtype=bool)\n", + " mismatch_corrected = observables ^ mismatch_flips\n", + " mismatch_ler = float(np.mean(np.any(mismatch_corrected != target, axis=1)))\n", + " return [clean_ler, mismatch_ler, mismatch_ler - clean_ler]\n", + "\n", + "\n", + "def memory_hardware_cost_metric(\n", + " decoder_ctor: DecoderConstructor,\n", + " error_model: stim.DetectorErrorModel,\n", + " detectors: npt.NDArray[np.bool_],\n", + " observables: npt.NDArray[np.bool_],\n", + " context: dict[str, Any],\n", + ") -> list[float]:\n", + " tracemalloc.start()\n", + " decoder = decoder_ctor(error_model)\n", + " _ = decoder.decode(detectors)\n", + " current, peak = tracemalloc.get_traced_memory()\n", + " tracemalloc.stop()\n", + " shallow_size = float(sys.getsizeof(decoder))\n", + " return [shallow_size / (1024**2), peak / (1024**2)]\n", + "\n", + "\n", + "INTERPRETABILITY_PRIORS = {\n", + " \"BeliefFindDecoder\": (0.65, 0.55),\n", + " \"BpLsdDecoder\": (0.55, 0.60),\n", + " \"BpOsdDecoder\": (0.45, 0.72),\n", + " \"MWPFDecoder\": (0.35, 0.78),\n", + " \"TesseractDecoder\": (0.30, 0.85),\n", + "}\n", + "\n", + "\n", + "def interpretability_complexity_metric(\n", + " decoder_ctor: DecoderConstructor,\n", + " error_model: stim.DetectorErrorModel,\n", + " detectors: npt.NDArray[np.bool_],\n", + " observables: npt.NDArray[np.bool_],\n", + " context: dict[str, Any],\n", + ") -> list[float]:\n", + " name = _decoder_name(decoder_ctor)\n", + " if name in INTERPRETABILITY_PRIORS:\n", + " interpretability, complexity = INTERPRETABILITY_PRIORS[name]\n", + " else:\n", + " n_params = len(inspect.signature(decoder_ctor).parameters)\n", + " complexity = min(1.0, 0.4 + 0.05 * n_params)\n", + " interpretability = max(0.0, 1.0 - complexity)\n", + " return [interpretability, complexity]\n", + "\n", + "\n", + "def decoder_confusion_matrix_metric(\n", + " decoder_ctor: DecoderConstructor,\n", + " error_model: stim.DetectorErrorModel,\n", + " detectors: npt.NDArray[np.bool_],\n", + " observables: npt.NDArray[np.bool_],\n", + " context: dict[str, Any],\n", + ") -> list[float]:\n", + " target = np.broadcast_to(context[\"target_observables\"], observables.shape)\n", + " _, flips, _ = _decode_and_correct(decoder_ctor, error_model, detectors, observables)\n", + " actual_error = np.any(observables != target, axis=1)\n", + " predicted_error = np.any(flips, axis=1)\n", + " tn = float(np.sum((~actual_error) & (~predicted_error)))\n", + " fp = float(np.sum((~actual_error) & predicted_error))\n", + " fn = float(np.sum(actual_error & (~predicted_error)))\n", + " tp = float(np.sum(actual_error & predicted_error))\n", + " return [tn, fp, fn, tp]\n", + "\n", + "\n", + "metrics = {\n", + " \"logical_error_rate\": logical_error_rate_metric,\n", + " \"physical_error_rate\": physical_error_rate_metric,\n", + " \"latency\": latency_metric,\n", + " \"throughput\": throughput_metric,\n", + " \"robustness_to_model_mismatch\": robustness_to_model_mismatch_metric,\n", + " \"memory_hardware_cost\": memory_hardware_cost_metric,\n", + " \"interpretability_implementation_complexity\": interpretability_complexity_metric,\n", + " \"decoder_confusion_matrix\": decoder_confusion_matrix_metric,\n", + "}\n" + ] + }, + { + "cell_type": "markdown", + "id": "4131335d", + "metadata": {}, + "source": [ + "## Example kernels\n", + "\n", + "These are intentionally small kernels so the benchmarking loop is easy to run and modify.\n" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "id": "83cd9293", + "metadata": {}, + "outputs": [], + "source": [ + "@logical.kernel(aggressive_unroll=True, verify=True)\n", + "def ghz3_kernel():\n", + " reg = qubit.qalloc(3)\n", + " squin.h(reg[0])\n", + " squin.cx(reg[0], reg[1])\n", + " squin.cx(reg[1], reg[2])\n", + " logical.default_post_processing(reg)\n", + "\n", + "\n", + "@logical.kernel(aggressive_unroll=True, verify=True)\n", + "def bell2_kernel():\n", + " reg = qubit.qalloc(2)\n", + " squin.h(reg[0])\n", + " squin.cx(reg[0], reg[1])\n", + " logical.default_post_processing(reg)\n" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "id": "b4279281", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "{'BpLsdDecoder': {'logical_error_rate': [[0.5025]],\n", + " 'physical_error_rate': [[0.06722222222222222]],\n", + " 'latency': [[0.435041991295293, 30.871625000145286]],\n", + " 'throughput': [[64528.097948343835]],\n", + " 'robustness_to_model_mismatch': [[0.5025, 0.5545, 0.052000000000000046]],\n", + " 'memory_hardware_cost': [[4.57763671875e-05, 0.5877389907836914]],\n", + " 'interpretability_implementation_complexity': [[0.55, 0.6]],\n", + " 'decoder_confusion_matrix': [[911.0, 31.0, 890.0, 168.0]]},\n", + " 'BpOsdDecoder': {'logical_error_rate': [[0.5025]],\n", + " 'physical_error_rate': [[0.06722222222222222]],\n", + " 'latency': [[0.4953749885316938, 28.884500003186986]],\n", + " 'throughput': [[68273.65787464386]],\n", + " 'robustness_to_model_mismatch': [[0.5025, 0.5555, 0.05300000000000005]],\n", + " 'memory_hardware_cost': [[4.57763671875e-05, 0.5878000259399414]],\n", + " 'interpretability_implementation_complexity': [[0.45, 0.72]],\n", + " 'decoder_confusion_matrix': [[911.0, 31.0, 892.0, 166.0]]}}" + ] + }, + "execution_count": 19, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "decoders = [BpLsdDecoder, BpOsdDecoder]\n", + "kernels = [ghz3_kernel]\n", + "\n", + "benchmark_results = benchmark_decoders(\n", + " decoders=decoders,\n", + " kernels=kernels,\n", + " metrics_fns=metrics,\n", + " shots=2_000,\n", + " reference_shots=512,\n", + ")\n", + "\n", + "benchmark_results\n" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "id": "304a9654", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "logical_error_rate\n", + "==================\n", + "\\nBpLsdDecoder:\n", + " ghz3_kernel: [0.5025]\n", + "\\nBpOsdDecoder:\n", + " ghz3_kernel: [0.5025]\n", + "throughput\n", + "==========\n", + "\\nBpLsdDecoder:\n", + " ghz3_kernel: [64528.097948343835]\n", + "\\nBpOsdDecoder:\n", + " ghz3_kernel: [68273.65787464386]\n" + ] + } + ], + "source": [ + "def print_metric_table(results: dict[str, dict[str, list[list[float]]]], metric_name: str, kernels: list[Callable[..., Any]]):\n", + " kernel_names = [getattr(kernel, \"sym_name\", getattr(kernel, \"__name__\", \"kernel\")) for kernel in kernels]\n", + " print(metric_name)\n", + " print(\"=\" * len(metric_name))\n", + " for decoder_name, decoder_results in results.items():\n", + " print(f\"\\\\n{decoder_name}:\")\n", + " for kernel_name, values in zip(kernel_names, decoder_results[metric_name]):\n", + " print(f\" {kernel_name}: {values}\")\n", + "\n", + "\n", + "print_metric_table(benchmark_results, \"logical_error_rate\", kernels)\n", + "print_metric_table(benchmark_results, \"throughput\", kernels)\n" + ] + }, + { + "cell_type": "markdown", + "id": "dfcfc649", + "metadata": {}, + "source": [ + "## Example: custom metric functions\n", + "\n", + "Users can add their own metrics as long as they follow the `MetricFn` signature used above.\n" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "id": "ffe34e8c", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "{'BpLsdDecoder': {'logical_error_rate': [[0.515]],\n", + " 'average_flips': [[0.06166666666666667]]},\n", + " 'BpOsdDecoder': {'logical_error_rate': [[0.516]],\n", + " 'average_flips': [[0.060333333333333336]]}}" + ] + }, + "execution_count": 21, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "def average_flips_metric(\n", + " decoder_ctor: DecoderConstructor,\n", + " error_model: stim.DetectorErrorModel,\n", + " detectors: npt.NDArray[np.bool_],\n", + " observables: npt.NDArray[np.bool_],\n", + " context: dict[str, Any],\n", + ") -> list[float]:\n", + " _, flips, _ = _decode_and_correct(decoder_ctor, error_model, detectors, observables)\n", + " return [float(np.mean(flips))]\n", + "\n", + "\n", + "custom_metrics = {\n", + " \"logical_error_rate\": logical_error_rate_metric,\n", + " \"average_flips\": average_flips_metric,\n", + "}\n", + "\n", + "custom_results = benchmark_decoders(\n", + " decoders=[BpLsdDecoder, BpOsdDecoder],\n", + " kernels=[ghz3_kernel],\n", + " metrics_fns=custom_metrics,\n", + " shots=1_000,\n", + " reference_shots=256,\n", + ")\n", + "\n", + "custom_results\n" + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "id": "71f31940", + "metadata": {}, + "outputs": [ + { + "data": { + "image/svg+xml": [ + "\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " 2026-03-18T16:23:02.371420\n", + " image/svg+xml\n", + " \n", + " \n", + " Matplotlib v3.10.8, https://matplotlib.org/\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n" + ], + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "image/svg+xml": [ + "\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " 2026-03-18T16:23:02.423152\n", + " image/svg+xml\n", + " \n", + " \n", + " Matplotlib v3.10.8, https://matplotlib.org/\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n" + ], + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/var/folders/4t/_g5ztpl96sg8j3_ztt9wgc400000gp/T/ipykernel_98121/3795600238.py:25: UserWarning: This figure includes Axes that are not compatible with tight_layout, so results might be incorrect.\n", + " fig.tight_layout()\n" + ] + }, + { + "data": { + "image/svg+xml": [ + "\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " 2026-03-18T16:23:02.465704\n", + " image/svg+xml\n", + " \n", + " \n", + " Matplotlib v3.10.8, https://matplotlib.org/\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n" + ], + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "def visualize_benchmarks(\n", + " decoder_metrics_results: dict[str, dict[str, list[list[float]]]],\n", + " decoders_to_vis: list[str] | None = None,\n", + " metrics_to_vis: list[str] | None = None,\n", + " save_folder_path: str | None = None,\n", + "):\n", + " \"\"\"\n", + " Takes in some collection of metrics results from the decoders, a list of\n", + " decoder names to visualize, a list of metric names to visualize, and\n", + " either displays or saves a small set of benchmark visualizations.\n", + " \"\"\"\n", + " selected_decoders = decoders_to_vis or list(decoder_metrics_results.keys())\n", + " if not selected_decoders:\n", + " raise ValueError(\"No decoders selected for visualization\")\n", + "\n", + " available_metrics = set()\n", + " for decoder_name in selected_decoders:\n", + " available_metrics.update(decoder_metrics_results[decoder_name].keys())\n", + " selected_metrics = set(metrics_to_vis or available_metrics)\n", + "\n", + " if save_folder_path is not None:\n", + " os.makedirs(save_folder_path, exist_ok=True)\n", + "\n", + " def _finish(fig: plt.Figure, metric_name: str, vis_name: str):\n", + " fig.tight_layout()\n", + " if save_folder_path is not None:\n", + " filename = f\"metrics_{metric_name}_vis_{vis_name}.png\"\n", + " fig.savefig(os.path.join(save_folder_path, filename), dpi=180, bbox_inches=\"tight\")\n", + " plt.close(fig)\n", + " else:\n", + " plt.show()\n", + "\n", + " if {\"logical_error_rate\", \"physical_error_rate\"}.issubset(selected_metrics):\n", + " fig, ax = plt.subplots(figsize=(7, 5))\n", + " for decoder_name in selected_decoders:\n", + " logical_error_rate = [values[0] for values in decoder_metrics_results[decoder_name][\"logical_error_rate\"]]\n", + " physical_error_rate = [values[0] for values in decoder_metrics_results[decoder_name][\"physical_error_rate\"]]\n", + " ax.plot(physical_error_rate, logical_error_rate, marker=\"o\", linestyle=\"-\", label=decoder_name)\n", + " ax.set_xlabel(\"Physical error rate proxy (detector click density)\")\n", + " ax.set_ylabel(\"Logical error rate\")\n", + " ax.set_title(\"Logical error rate vs physical error rate\")\n", + " ax.grid(True, alpha=0.3)\n", + " ax.legend()\n", + " _finish(fig, \"logical_error_rate\", \"overlay\")\n", + "\n", + " if {\"latency\", \"logical_error_rate\"}.issubset(selected_metrics):\n", + " fig, ax = plt.subplots(figsize=(7, 5))\n", + " for decoder_name in selected_decoders:\n", + " logical_error_rate = [values[0] for values in decoder_metrics_results[decoder_name][\"logical_error_rate\"]]\n", + " latency = [values[1] if len(values) > 1 else values[0] for values in decoder_metrics_results[decoder_name][\"latency\"]]\n", + " ax.scatter(latency, logical_error_rate, s=90, label=decoder_name)\n", + " for idx, (x, y) in enumerate(zip(latency, logical_error_rate)):\n", + " ax.annotate(str(idx), (x, y), textcoords=\"offset points\", xytext=(4, 4), fontsize=8)\n", + " ax.set_xlabel(\"Decode latency (ms)\")\n", + " ax.set_ylabel(\"Logical error rate\")\n", + " ax.set_title(\"Latency vs logical error rate\")\n", + " ax.grid(True, alpha=0.3)\n", + " ax.legend()\n", + " _finish(fig, \"latency\", \"scatter\")\n", + "\n", + " if \"decoder_confusion_matrix\" in selected_metrics:\n", + " n = len(selected_decoders)\n", + " fig, axes = plt.subplots(1, n, figsize=(4 * n, 4), squeeze=False)\n", + " axes = axes[0]\n", + " image = None\n", + " for ax, decoder_name in zip(axes, selected_decoders):\n", + " mats = np.asarray(decoder_metrics_results[decoder_name][\"decoder_confusion_matrix\"], dtype=float)\n", + " agg = np.sum(mats, axis=0)\n", + " cm = np.array([[agg[0], agg[1]], [agg[2], agg[3]]], dtype=float)\n", + " image = ax.imshow(cm, cmap=\"Blues\")\n", + " ax.set_title(decoder_name)\n", + " ax.set_xticks([0, 1], labels=[\"Pred: no error\", \"Pred: error\"])\n", + " ax.set_yticks([0, 1], labels=[\"True: no error\", \"True: error\"])\n", + " for i in range(2):\n", + " for j in range(2):\n", + " ax.text(j, i, int(cm[i, j]), ha=\"center\", va=\"center\")\n", + " if image is not None:\n", + " fig.colorbar(image, ax=axes.ravel().tolist(), shrink=0.8)\n", + " fig.suptitle(\"Side-by-side confusion matrices\")\n", + " _finish(fig, \"decoder_confusion_matrix\", \"debug\")\n", + "\n", + "\n", + "visualize_benchmarks(\n", + " benchmark_results,\n", + " decoders_to_vis=[\"BpLsdDecoder\", \"BpOsdDecoder\"],\n", + " metrics_to_vis=[\"logical_error_rate\", \"physical_error_rate\", \"latency\", \"decoder_confusion_matrix\"],\n", + " save_folder_path=None,\n", + ")\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "5a020069", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "620505e3", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "kirin-workspace (3.12.13)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.12.13" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/demo/code_concatenation.ipynb b/demo/code_concatenation.ipynb new file mode 100644 index 00000000..c0309520 --- /dev/null +++ b/demo/code_concatenation.ipynb @@ -0,0 +1,17021 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Code Concatenation with Steane-on-Steane\n", + "\n", + "This notebook constructs a concatenated Steane code in the current `@logical.kernel` stack by using an **outer** `[[7,1,3]]` Steane code over 7 logical qubits. Each of those 7 logical qubits is then lowered by `GeminiLogicalSimulator` into its own inner Steane block, producing a `[[49,1,9]]` concatenated code at the physical-measurement level.\n", + "\n", + "A subtle but important point: this is **not** recursive lowering of an already-lowered squin kernel back into a new logical kernel. The current stack does not expose that as a first-class user workflow. Instead, we use the supported path: one outer logical kernel plus custom `m2dets`/`m2obs` matrices that interpret the final 49 physical measurements as inner and outer Steane syndromes and observables." + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "import numpy as np\n", + "import matplotlib.pyplot as plt\n", + "from scipy.linalg import block_diag\n", + "\n", + "from bloqade import qubit, squin\n", + "from bloqade.gemini import logical\n", + "from bloqade.lanes import GeminiLogicalSimulator\n", + "from bloqade.decoders import BpOsdDecoder" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "(49, 24) (49, 1)\n" + ] + } + ], + "source": [ + "STEANE_H = np.array(\n", + " [\n", + " [1, 1, 1, 1, 0, 0, 0],\n", + " [0, 1, 1, 0, 1, 1, 0],\n", + " [0, 0, 1, 1, 1, 0, 1],\n", + " ],\n", + " dtype=int,\n", + ")\n", + "\n", + "# Logical Z support used by the current Steane default post-processing path.\n", + "STEANE_OBS = np.array([[1, 1, 0, 0, 0, 1, 0]], dtype=int)\n", + "\n", + "\n", + "def concatenated_steane_matrices():\n", + " \"\"\"Return measurement-to-detector / measurement-to-observable matrices for\n", + " Steane-on-Steane concatenation.\n", + "\n", + " The 49 final physical measurements are grouped into 7 inner Steane blocks.\n", + " We expose:\n", + " - 21 inner detectors (3 per inner block)\n", + " - 3 outer detectors, built from the 7 inner logical bits\n", + " - 1 outer observable\n", + " \"\"\"\n", + " inner_det = np.asarray(block_diag(*[STEANE_H.T] * 7), dtype=int) # (49, 21)\n", + " inner_obs = np.asarray(block_diag(*[STEANE_OBS.T] * 7), dtype=int) # (49, 7)\n", + "\n", + " outer_det = (inner_obs @ STEANE_H.T) % 2 # (49, 3)\n", + " outer_obs = (inner_obs @ STEANE_OBS.T) % 2 # (49, 1)\n", + "\n", + " m2dets = np.concatenate([inner_det, outer_det], axis=1) % 2\n", + " m2obs = outer_obs % 2\n", + " return m2dets.tolist(), m2obs.tolist()\n", + "\n", + "\n", + "concat_m2dets, concat_m2obs = concatenated_steane_matrices()\n", + "print(np.asarray(concat_m2dets).shape, np.asarray(concat_m2obs).shape)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Outer logical kernel\n", + "\n", + "This kernel acts on 7 **logical** qubits. The simulator then lowers each logical qubit to an inner Steane block. The circuit below prepares an outer encoded `|0_L>` using a standard Steane encoder pattern. Because the final observable is a logical Z readout, the noiseless target is deterministic." + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "f791961f", + "metadata": {}, + "outputs": [], + "source": [ + "from kirin.dialects import ilist" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [], + "source": [ + "@logical.kernel(aggressive_unroll=True, verify=True)\n", + "def concatenated_steane_memory():\n", + " q = qubit.qalloc(7)\n", + "\n", + " # Steane encoder: input |0> on q[6], with three |+> ancillas.\n", + " squin.h(q[1])\n", + " squin.h(q[2])\n", + " squin.h(q[3])\n", + "\n", + " squin.cx(q[6], q[5])\n", + " squin.cx(q[1], q[0])\n", + " squin.cx(q[2], q[4])\n", + " squin.cx(q[2], q[0])\n", + " squin.cx(q[3], q[5])\n", + " squin.cx(q[1], q[5])\n", + " squin.cx(q[6], q[4])\n", + " squin.cx(q[2], q[6])\n", + " squin.cx(q[3], q[4])\n", + " squin.cx(q[3], q[0])\n", + " squin.cx(q[1], q[6])\n", + "\n", + " # The task layer will append terminal measurements and annotations from\n", + " # concat_m2dets / concat_m2obs.\n", + " return" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "measurements shape: (4000, 49)\n", + "detectors shape: (4000, 24)\n", + "observables shape: (4000, 1)\n", + "target observable: [1]\n" + ] + } + ], + "source": [ + "sim = GeminiLogicalSimulator()\n", + "task = sim.task(\n", + " concatenated_steane_memory,\n", + " m2dets=concat_m2dets,\n", + " m2obs=concat_m2obs,\n", + ")\n", + "\n", + "shots = 4000\n", + "result = task.run(shots, with_noise=True)\n", + "result_ideal = task.run(256, with_noise=False)\n", + "\n", + "measurements = np.asarray(result.measurements, dtype=bool)\n", + "detectors = np.asarray(result.detectors, dtype=bool)\n", + "observables = np.asarray(result.observables, dtype=bool)\n", + "ideal_observables = np.asarray(result_ideal.observables, dtype=bool)\n", + "target_obs = ideal_observables[0]\n", + "\n", + "print('measurements shape:', measurements.shape)\n", + "print('detectors shape: ', detectors.shape)\n", + "print('observables shape: ', observables.shape)\n", + "print('target observable: ', target_obs.astype(int).tolist())" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "8707c63d", + "metadata": {}, + "outputs": [], + "source": [ + "task." + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "93f358b0", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "\n", + "
\n", + "
\n", + " \n", + "\n", + "\n", + "q0\n", + "\n", + "q1\n", + "\n", + "q2\n", + "\n", + "q3\n", + "\n", + "q4\n", + "\n", + "q5\n", + "\n", + "q6\n", + "\n", + "q7\n", + "\n", + "q8\n", + "\n", + "q9\n", + "\n", + "q10\n", + "\n", + "q11\n", + "\n", + "q12\n", + "\n", + "q13\n", + "\n", + "q14\n", + "\n", + "q15\n", + "\n", + "q16\n", + "\n", + "q17\n", + "\n", + "q18\n", + "\n", + "q19\n", + "\n", + "q20\n", + "\n", + "q21\n", + "\n", + "q22\n", + "\n", + "q23\n", + "\n", + "q24\n", + "\n", + "q25\n", + "\n", + "q26\n", + "\n", + "q27\n", + "\n", + "q28\n", + "\n", + "q29\n", + "\n", + "q30\n", + "\n", + "q31\n", + "\n", + "q32\n", + "\n", + "q33\n", + "\n", + "q34\n", + "\n", + "q35\n", + "\n", + "q36\n", + "\n", + "q37\n", + "\n", + "q38\n", + "\n", + "q39\n", + "\n", + "q40\n", + "\n", + "q41\n", + "\n", + "q42\n", + "\n", + "q43\n", + "\n", + "q44\n", + "\n", + "q45\n", + "\n", + "q46\n", + "\n", + "q47\n", + "\n", + "q48\n", + "\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "√Y\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "X\n", + "\n", + "Z\n", + "\n", + "Z\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "√Y\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "X\n", + "\n", + "Z\n", + "\n", + "Z\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "√Y\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "X\n", + "\n", + "Z\n", + "\n", + "Z\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "√Y\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "X\n", + "\n", + "Z\n", + "\n", + "Z\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "√Y\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "X\n", + "\n", + "Z\n", + "\n", + "Z\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "√Y\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "X\n", + "\n", + "Z\n", + "\n", + "Z\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "√Y\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "X\n", + "\n", + "Z\n", + "\n", + "Z\n", + "\n", + "S\n", + "\n", + "S\n", + "\n", + "S\n", + "\n", + "S\n", + "\n", + "S\n", + "\n", + "S\n", + "\n", + "S\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "S\n", + "\n", + "S\n", + "\n", + "S\n", + "\n", + "S\n", + "\n", + "S\n", + "\n", + "S\n", + "\n", + "S\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "S\n", + "\n", + "S\n", + "\n", + "S\n", + "\n", + "S\n", + "\n", + "S\n", + "\n", + "S\n", + "\n", + "S\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "S\n", + "\n", + "S\n", + "\n", + "S\n", + "\n", + "S\n", + "\n", + "S\n", + "\n", + "S\n", + "\n", + "S\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "S\n", + "\n", + "S\n", + "\n", + "S\n", + "\n", + "S\n", + "\n", + "S\n", + "\n", + "S\n", + "\n", + "S\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "S\n", + "\n", + "S\n", + "\n", + "S\n", + "\n", + "S\n", + "\n", + "S\n", + "\n", + "S\n", + "\n", + "S\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "M\n", + "0\n", + "rec[0]\n", + "\n", + "M\n", + "0\n", + "rec[1]\n", + "\n", + "M\n", + "0\n", + "rec[2]\n", + "\n", + "M\n", + "0\n", + "rec[3]\n", + "\n", + "M\n", + "0\n", + "rec[4]\n", + "\n", + "M\n", + "0\n", + "rec[5]\n", + "\n", + "M\n", + "0\n", + "rec[6]\n", + "\n", + "M\n", + "0\n", + "rec[7]\n", + "\n", + "M\n", + "0\n", + "rec[8]\n", + "\n", + "M\n", + "0\n", + "rec[9]\n", + "\n", + "M\n", + "0\n", + "rec[10]\n", + "\n", + "M\n", + "0\n", + "rec[11]\n", + "\n", + "M\n", + "0\n", + "rec[12]\n", + "\n", + "M\n", + "0\n", + "rec[13]\n", + "\n", + "M\n", + "0\n", + "rec[14]\n", + "\n", + "M\n", + "0\n", + "rec[15]\n", + "\n", + "M\n", + "0\n", + "rec[16]\n", + "\n", + "M\n", + "0\n", + "rec[17]\n", + "\n", + "M\n", + "0\n", + "rec[18]\n", + "\n", + "M\n", + "0\n", + "rec[19]\n", + "\n", + "M\n", + "0\n", + "rec[20]\n", + "\n", + "M\n", + "0\n", + "rec[21]\n", + "\n", + "M\n", + "0\n", + "rec[22]\n", + "\n", + "M\n", + "0\n", + "rec[23]\n", + "\n", + "M\n", + "0\n", + "rec[24]\n", + "\n", + "M\n", + "0\n", + "rec[25]\n", + "\n", + "M\n", + "0\n", + "rec[26]\n", + "\n", + "M\n", + "0\n", + "rec[27]\n", + "\n", + "M\n", + "0\n", + "rec[28]\n", + "\n", + "M\n", + "0\n", + "rec[29]\n", + "\n", + "M\n", + "0\n", + "rec[30]\n", + "\n", + "M\n", + "0\n", + "rec[31]\n", + "\n", + "M\n", + "0\n", + "rec[32]\n", + "\n", + "M\n", + "0\n", + "rec[33]\n", + "\n", + "M\n", + "0\n", + "rec[34]\n", + "\n", + "M\n", + "0\n", + "rec[35]\n", + "\n", + "M\n", + "0\n", + "rec[36]\n", + "\n", + "M\n", + "0\n", + "rec[37]\n", + "\n", + "M\n", + "0\n", + "rec[38]\n", + "\n", + "M\n", + "0\n", + "rec[39]\n", + "\n", + "M\n", + "0\n", + "rec[40]\n", + "\n", + "M\n", + "0\n", + "rec[41]\n", + "\n", + "M\n", + "0\n", + "rec[42]\n", + "\n", + "M\n", + "0\n", + "rec[43]\n", + "\n", + "M\n", + "0\n", + "rec[44]\n", + "\n", + "M\n", + "0\n", + "rec[45]\n", + "\n", + "M\n", + "0\n", + "rec[46]\n", + "\n", + "M\n", + "0\n", + "rec[47]\n", + "\n", + "M\n", + "0\n", + "rec[48]\n", + "\n", + "DETECTOR\n", + "coords=(0,0)\n", + "D0 = rec[0]*rec[1]*rec[2]*rec[3]\n", + "\n", + "DETECTOR\n", + "coords=(0,1)\n", + "D1 = rec[1]*rec[2]*rec[4]*rec[5]\n", + "\n", + "DETECTOR\n", + "coords=(0,2)\n", + "D2 = rec[2]*rec[3]*rec[4]*rec[6]\n", + "\n", + "DETECTOR\n", + "coords=(0,3)\n", + "D3 = rec[7]*rec[8]*rec[9]*rec[10]\n", + "\n", + "DETECTOR\n", + "coords=(0,4)\n", + "D4 = rec[8]*rec[9]*rec[11]*rec[12]\n", + "\n", + "DETECTOR\n", + "coords=(0,5)\n", + "D5 = rec[9]*rec[10]*rec[11]*rec[13]\n", + "\n", + "DETECTOR\n", + "coords=(0,6)\n", + "D6 = rec[14]*rec[15]*rec[16]*rec[17]\n", + "\n", + "DETECTOR\n", + "coords=(0,7)\n", + "D7 = rec[15]*rec[16]*rec[18]*rec[19]\n", + "\n", + "DETECTOR\n", + "coords=(0,8)\n", + "D8 = rec[16]*rec[17]*rec[18]*rec[20]\n", + "\n", + "DETECTOR\n", + "coords=(0,9)\n", + "D9 = rec[21]*rec[22]*rec[23]*rec[24]\n", + "\n", + "DETECTOR\n", + "coords=(0,10)\n", + "D10 = rec[22]*rec[23]*rec[25]*rec[26]\n", + "\n", + "DETECTOR\n", + "coords=(0,11)\n", + "D11 = rec[23]*rec[24]*rec[25]*rec[27]\n", + "\n", + "DETECTOR\n", + "coords=(0,12)\n", + "D12 = rec[28]*rec[29]*rec[30]*rec[31]\n", + "\n", + "DETECTOR\n", + "coords=(0,13)\n", + "D13 = rec[29]*rec[30]*rec[32]*rec[33]\n", + "\n", + "DETECTOR\n", + "coords=(0,14)\n", + "D14 = rec[30]*rec[31]*rec[32]*rec[34]\n", + "\n", + "DETECTOR\n", + "coords=(0,15)\n", + "D15 = rec[35]*rec[36]*rec[37]*rec[38]\n", + "\n", + "DETECTOR\n", + "coords=(0,16)\n", + "D16 = rec[36]*rec[37]*rec[39]*rec[40]\n", + "\n", + "DETECTOR\n", + "coords=(0,17)\n", + "D17 = rec[37]*rec[38]*rec[39]*rec[41]\n", + "\n", + "DETECTOR\n", + "coords=(0,18)\n", + "D18 = rec[42]*rec[43]*rec[44]*rec[45]\n", + "\n", + "DETECTOR\n", + "coords=(0,19)\n", + "D19 = rec[43]*rec[44]*rec[46]*rec[47]\n", + "\n", + "DETECTOR\n", + "coords=(0,20)\n", + "D20 = rec[44]*rec[45]*rec[46]*rec[48]\n", + "\n", + "DETECTOR\n", + "coords=(0,21)\n", + "D21 = rec[0]*rec[1]*rec[5]*rec[7]*rec[8]*rec[12]*rec[14]*rec[15]*rec[19]*rec[21]*rec[22]*rec[26]\n", + "\n", + "DETECTOR\n", + "coords=(0,22)\n", + "D22 = rec[7]*rec[8]*rec[12]*rec[14]*rec[15]*rec[19]*rec[28]*rec[29]*rec[33]*rec[35]*rec[36]*rec[40]\n", + "\n", + "DETECTOR\n", + "coords=(0,23)\n", + "D23 = rec[14]*rec[15]*rec[19]*rec[21]*rec[22]*rec[26]*rec[28]*rec[29]*rec[33]*rec[42]*rec[43]*rec[47]\n", + "\n", + "OBS_INCLUDE(0)\n", + "L0 *= rec[0]*rec[1]*rec[5]*rec[7]*rec[8]*rec[12]*rec[35]*rec[36]*rec[40]\n", + "\n", + "
\n", + "
\n", + " " + ], + "text/plain": [ + "" + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "task.tsim_circuit.diagram(height=400)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Flat decoding from the detector error model\n", + "\n", + "This is the simplest route: use the full detector error model produced by the concatenated construction, decode all detector bits at once, and correct the outer observable." + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "raw logical error rate: 0.4985\n", + "flat decoded error rate: 0.91825\n" + ] + } + ], + "source": [ + "decoder = BpOsdDecoder(task.detector_error_model)\n", + "flat_flips = np.asarray(decoder.decode(detectors), dtype=bool)\n", + "flat_corrected = observables ^ flat_flips\n", + "\n", + "raw_logical_error_rate = float(np.mean(np.any(observables != target_obs, axis=1)))\n", + "flat_decoded_error_rate = float(np.mean(np.any(flat_corrected != target_obs, axis=1)))\n", + "\n", + "print('raw logical error rate: ', raw_logical_error_rate)\n", + "print('flat decoded error rate: ', flat_decoded_error_rate)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Hierarchical classical Steane decoding from the 49 raw measurements\n", + "\n", + "This second route ignores the global detector error model and instead performs classical inner-block Steane decoding followed by outer-block Steane decoding. It is useful for seeing the concatenation structure directly." + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "hierarchical decoded error rate: 0.5755\n" + ] + } + ], + "source": [ + "def steane_syndrome_lookup():\n", + " table = {}\n", + " for qubit_idx in range(7):\n", + " e = np.zeros(7, dtype=int)\n", + " e[qubit_idx] = 1\n", + " syndrome = tuple(((STEANE_H @ e) % 2).tolist())\n", + " table[syndrome] = qubit_idx\n", + " return table\n", + "\n", + "\n", + "STEANE_SYNDROME_TABLE = steane_syndrome_lookup()\n", + "\n", + "\n", + "def decode_steane_block(bits):\n", + " corrected = bits.astype(np.bool_).copy()\n", + " syndrome = (STEANE_H @ corrected.astype(int)) % 2\n", + " key = tuple(map(int, syndrome.tolist()))\n", + " if key != (0, 0, 0) and key in STEANE_SYNDROME_TABLE:\n", + " corrected[STEANE_SYNDROME_TABLE[key]] ^= True\n", + " logical_bit = ((STEANE_OBS @ corrected.astype(int)) % 2).astype(bool).reshape(1)\n", + " return corrected, syndrome.astype(bool), logical_bit\n", + "\n", + "\n", + "def hierarchical_decode_concatenated_steane(raw_measurements):\n", + " shots = raw_measurements.shape[0]\n", + " reshaped = raw_measurements.reshape(shots, 7, 7)\n", + "\n", + " inner_corrected_bits = np.zeros((shots, 7, 7), dtype=bool)\n", + " inner_syndromes = np.zeros((shots, 7, 3), dtype=bool)\n", + " inner_logical_bits = np.zeros((shots, 7), dtype=bool)\n", + "\n", + " for shot in range(shots):\n", + " for block in range(7):\n", + " corrected, syndrome, logical_bit = decode_steane_block(reshaped[shot, block])\n", + " inner_corrected_bits[shot, block] = corrected\n", + " inner_syndromes[shot, block] = syndrome\n", + " inner_logical_bits[shot, block] = logical_bit\n", + "\n", + " outer_corrected_bits = np.zeros((shots, 7), dtype=bool)\n", + " outer_syndromes = np.zeros((shots, 3), dtype=bool)\n", + " outer_logical_bit = np.zeros((shots, 1), dtype=bool)\n", + "\n", + " for shot in range(shots):\n", + " corrected, syndrome, logical_bit = decode_steane_block(inner_logical_bits[shot])\n", + " outer_corrected_bits[shot] = corrected\n", + " outer_syndromes[shot] = syndrome\n", + " outer_logical_bit[shot] = logical_bit\n", + "\n", + " return {\n", + " 'inner_corrected_bits': inner_corrected_bits,\n", + " 'inner_syndromes': inner_syndromes,\n", + " 'inner_logical_bits': inner_logical_bits,\n", + " 'outer_corrected_bits': outer_corrected_bits,\n", + " 'outer_syndromes': outer_syndromes,\n", + " 'outer_logical_bit': outer_logical_bit,\n", + " }\n", + "\n", + "\n", + "hier = hierarchical_decode_concatenated_steane(measurements)\n", + "hier_corrected = hier['outer_logical_bit']\n", + "hier_decoded_error_rate = float(np.mean(np.any(hier_corrected != target_obs, axis=1)))\n", + "\n", + "print('hierarchical decoded error rate:', hier_decoded_error_rate)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Postselection\n", + "\n", + "We show two postselection notions:\n", + "\n", + "- **Full detector postselection:** keep only shots with no detector clicks at all.\n", + "- **Hierarchical postselection:** keep only shots with zero inner and zero outer Steane syndromes in the explicit blockwise decode." + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "{'raw_logical_error_rate': 0.4985,\n", + " 'flat_decoded_error_rate': 0.91825,\n", + " 'hierarchical_decoded_error_rate': 0.5755,\n", + " 'full_postselection_rate': 0.05575,\n", + " 'full_postselected_error_rate': 1.0,\n", + " 'hierarchical_postselection_rate': 0.05575,\n", + " 'hierarchical_postselected_error_rate': 1.0}" + ] + }, + "execution_count": 9, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "full_postselect_mask = np.all(detectors == 0, axis=1)\n", + "full_postselected_obs = observables[full_postselect_mask]\n", + "full_postselection_rate = float(np.mean(full_postselect_mask))\n", + "full_postselected_error_rate = (\n", + " float(np.mean(np.any(full_postselected_obs != target_obs, axis=1)))\n", + " if len(full_postselected_obs) > 0\n", + " else float('nan')\n", + ")\n", + "\n", + "hier_postselect_mask = (\n", + " np.all(hier['inner_syndromes'] == 0, axis=(1, 2))\n", + " & np.all(hier['outer_syndromes'] == 0, axis=1)\n", + ")\n", + "hier_postselected_obs = hier_corrected[hier_postselect_mask]\n", + "hier_postselection_rate = float(np.mean(hier_postselect_mask))\n", + "hier_postselected_error_rate = (\n", + " float(np.mean(np.any(hier_postselected_obs != target_obs, axis=1)))\n", + " if len(hier_postselected_obs) > 0\n", + " else float('nan')\n", + ")\n", + "\n", + "summary = {\n", + " 'raw_logical_error_rate': raw_logical_error_rate,\n", + " 'flat_decoded_error_rate': flat_decoded_error_rate,\n", + " 'hierarchical_decoded_error_rate': hier_decoded_error_rate,\n", + " 'full_postselection_rate': full_postselection_rate,\n", + " 'full_postselected_error_rate': full_postselected_error_rate,\n", + " 'hierarchical_postselection_rate': hier_postselection_rate,\n", + " 'hierarchical_postselected_error_rate': hier_postselected_error_rate,\n", + "}\n", + "\n", + "summary" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [ + { + "data": { + "image/svg+xml": [ + "\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " 2026-03-19T00:19:26.457325\n", + " image/svg+xml\n", + " \n", + " \n", + " Matplotlib v3.10.8, https://matplotlib.org/\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n" + ], + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "labels = [\n", + " 'raw',\n", + " 'flat decode',\n", + " 'hier decode',\n", + " 'postselect(all dets)',\n", + " 'postselect(hier)',\n", + "]\n", + "values = [\n", + " raw_logical_error_rate,\n", + " flat_decoded_error_rate,\n", + " hier_decoded_error_rate,\n", + " full_postselected_error_rate,\n", + " hier_postselected_error_rate,\n", + "]\n", + "\n", + "plt.figure(figsize=(8, 4))\n", + "plt.bar(labels, values)\n", + "plt.ylabel('logical error rate')\n", + "plt.title('Concatenated Steane: decoding and postselection comparison')\n", + "plt.xticks(rotation=20, ha='right')\n", + "plt.grid(axis='y', alpha=0.3)\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "19fd95d2", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "kirin-workspace (3.12.13)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.12.13" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/demo/error_detection_stdlib.ipynb b/demo/error_detection_stdlib.ipynb new file mode 100644 index 00000000..97ce3fdd --- /dev/null +++ b/demo/error_detection_stdlib.ipynb @@ -0,0 +1,8227 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "eb23c05e", + "metadata": {}, + "source": [ + "## Simulator demo for Gemini logical\n", + "Gemini logical is a specific set of dialects and compilers in bloqade. This demo is hosted in the `bloqade-lanes` repo, which is where the move synthesis compiler lives." + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "id": "d8cc9e36", + "metadata": {}, + "outputs": [], + "source": [ + "# import bloqade.decoders" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "1d126134", + "metadata": {}, + "outputs": [], + "source": [ + "# Builtins\n", + "import math\n", + "from collections import Counter\n", + "import numpy as np\n", + "\n", + "# Types\n", + "from typing import Any\n", + "from kirin.dialects import ilist\n", + "from kirin.ir.method import Method\n", + "\n", + "# Functions and methods\n", + "# BUG: you MUST be using a version of bloqade-decoders that has BpLsdDecoder defined; not enforced as a dependency in bloqade-lanes\n", + "from bloqade.decoders import BpLsdDecoder\n", + "from bloqade.lanes import GeminiLogicalSimulator\n", + "\n", + "# Dialect groups\n", + "from bloqade.gemini import logical\n", + "from bloqade import qubit, squin" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "e4195949", + "metadata": {}, + "outputs": [], + "source": [ + "\n", + "import matplotlib.pyplot as plt\n", + "\n", + "def render_steane_code_qubit(ax:plt.Axes | None = None,center:tuple[float,float]=(0,0))->plt.Axes:\n", + " if ax is None:\n", + " fig,ax = plt.subplots()\n", + " ax.set_aspect(\"equal\")\n", + " ax.set_xlim([-2+center[0],2+center[0]])\n", + " ax.set_ylim([-2+center[1],2+center[1]])\n", + " ax.axis(\"off\")\n", + " RED = \"#EF2F55\"\n", + " PURPLE = \"#670EFF\"\n", + " GREEN = \"#57BC13\"\n", + "\n", + " pos_center = np.zeros([2,7])\n", + " pos_center[:,1::] = np.array([np.cos(np.linspace(0,2*np.pi,7)[0:6])*1.5,1.5*np.sin(np.linspace(0,2*np.pi,7)[0:6])])\n", + " pos_center += np.array(center).reshape(2,1)\n", + "\n", + " ax.scatter(pos_center[0],pos_center[1],color=\"w\",s=800,zorder=100,edgecolors=\"k\")\n", + " indexing = [2,0,3,6,4,5,1]\n", + " for xi, yi, label in zip(pos_center[0],pos_center[1],indexing):\n", + " ax.text(xi,yi,str(label),ha=\"center\",va=\"center\",zorder=200)\n", + "\n", + " ax.fill([pos_center[0,x] for x in [0,2,3,4]],[pos_center[1,x] for x in [0,2,3,4]],color=RED)\n", + " ax.fill([pos_center[0,x] for x in [0,4,5,6]],[pos_center[1,x] for x in [0,4,5,6]],color=GREEN)\n", + " ax.fill([pos_center[0,x] for x in [0,6,1,2]],[pos_center[1,x] for x in [0,6,1,2]],color=PURPLE)\n", + " logical_label = [indexing.index(5), indexing.index(1), indexing.index(0)]\n", + " ax.plot(pos_center[0,logical_label],pos_center[1,logical_label],color=\"k\",ls=\"-\",linewidth=5,zorder=50)\n", + " \n", + " return ax\n", + "\n", + "# A minimal kernel that prepares a single qubit in an arbitrary state,\n", + "# so that it can be shown by the tsim renderer.\n", + "@logical.kernel(aggressive_unroll=True, verify=True)\n", + "def main():\n", + " reg = qubit.qalloc(1)\n", + " squin.u3(0.1,0.2,0.3,reg[0])\n", + " return logical.terminal_measure(reg)\n", + "task = GeminiLogicalSimulator().task(main)" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "285881fe", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31mfunc\u001b[0m\u001b[31m \u001b[0m\u001b[36m@main\u001b[0m()\u001b[90m -> \u001b[0m\u001b[90m!py.IList\u001b[0m\u001b[90m[\u001b[0m\u001b[90m!py.IList\u001b[0m\u001b[90m[\u001b[0m\u001b[90m!py.MeasurementResult\u001b[0m\u001b[90m, \u001b[0m\u001b[90m!\u001b[0m\u001b[90mAny\u001b[0m\u001b[90m]\u001b[0m\u001b[90m, \u001b[0m\u001b[90mLiteral(1,int)\u001b[0m\u001b[90m]\u001b[0m\u001b[90m \u001b[0m{\n", + "\u001b[90m \u001b[0m^0(%main_self):\n", + "\u001b[90m │ \u001b[0m %qubit = \u001b[34mqubit\u001b[0m.new()\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m %reg = \u001b[34mpy.ilist\u001b[0m.new(\u001b[33mvalues=\u001b[0m(%qubit)){\u001b[33melem_type\u001b[0m=!Any}\u001b[30m : \u001b[0m\u001b[30m!py.IList\u001b[0m\u001b[30m[\u001b[0m\u001b[30m!py.Qubit\u001b[0m\u001b[30m, \u001b[0m\u001b[30mLiteral(1,int)\u001b[0m\u001b[30m]\u001b[0m\n", + "\u001b[90m │ \u001b[0m%qubits = \u001b[34mpy.ilist\u001b[0m.new(\u001b[33mvalues=\u001b[0m(%qubit)){\u001b[33melem_type\u001b[0m=!py.Qubit}\u001b[30m : \u001b[0m\u001b[30m!py.IList\u001b[0m\u001b[30m[\u001b[0m\u001b[30m!py.Qubit\u001b[0m\u001b[30m, \u001b[0m\u001b[30mLiteral(1,int)\u001b[0m\u001b[30m]\u001b[0m\n", + "\u001b[90m │ \u001b[0m %0 = \u001b[34mpy.constant\u001b[0m.constant 0.015915494309189534\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m %1 = \u001b[34mpy.constant\u001b[0m.constant 0.03183098861837907\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m %2 = \u001b[34mpy.constant\u001b[0m.constant 0.0477464829275686\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m \u001b[34msquin.gate\u001b[0m.u3(\u001b[33mtheta=\u001b[0m%0, \u001b[33mphi=\u001b[0m%1, \u001b[33mlam=\u001b[0m%2, \u001b[33mqubits=\u001b[0m%qubits)\n", + "\u001b[90m │ \u001b[0m %3 = \u001b[34mlogical\u001b[0m.terminal_logical_measurement(\u001b[33mqubits=\u001b[0m%reg){\u001b[33mnum_physical_qubits\u001b[0m=\u001b[1;36m7\u001b[0m\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m}\u001b[30m : \u001b[0m\u001b[30m!py.IList\u001b[0m\u001b[30m[\u001b[0m\u001b[30m!py.IList\u001b[0m\u001b[30m[\u001b[0m\u001b[30m!py.MeasurementResult\u001b[0m\u001b[30m, \u001b[0m\u001b[30m!\u001b[0m\u001b[30mAny\u001b[0m\u001b[30m]\u001b[0m\u001b[30m, \u001b[0m\u001b[30mLiteral(1,int)\u001b[0m\u001b[30m]\u001b[0m\n", + "\u001b[90m │ \u001b[0m \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31mreturn\u001b[0m %3\n", + "}\u001b[90m // func.func main\u001b[0m\n" + ] + } + ], + "source": [ + "main.print()" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "a4efe1a7", + "metadata": {}, + "outputs": [], + "source": [ + "# task.run()" + ] + }, + { + "cell_type": "markdown", + "id": "33bd252e", + "metadata": {}, + "source": [ + "### Some prototype stdutils functions: detectors and observables\n", + "We break abstraction a bit between physical and logical qubits. Each logical measurement is a batch of 7 physical measurements as indexed by the following diagram.\n", + "\n", + "In order to correct the errors from a Steane code, we need to inform the decoder and detector error model of the decoding steps. This can be done by defining the **detectors** and the **observables**.\n", + "\n", + "For the Steane code, the detectors are four-qubit parity patches corresponding to the three plaquettes of the code; in the following render the default detectors are red/green/purple patches.\n", + "\n", + "For the Steane code, the obsevables are three-qubit parity lines corresponding to edges of the code; in the following render is default observable are the black line." + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "9d2936f5", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "\n", + "
\n", + "
\n", + " \n", + "\n", + "\n", + "q0\n", + "\n", + "q1\n", + "\n", + "q2\n", + "\n", + "q3\n", + "\n", + "q4\n", + "\n", + "q5\n", + "\n", + "q6\n", + "\n", + "\n", + "U3\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "√Y\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "X\n", + "\n", + "Z\n", + "\n", + "Z\n", + "\n", + "M\n", + "0\n", + "rec[0]\n", + "\n", + "M\n", + "0\n", + "rec[1]\n", + "\n", + "M\n", + "0\n", + "rec[2]\n", + "\n", + "M\n", + "0\n", + "rec[3]\n", + "\n", + "M\n", + "0\n", + "rec[4]\n", + "\n", + "M\n", + "0\n", + "rec[5]\n", + "\n", + "M\n", + "0\n", + "rec[6]\n", + "\n", + "
\n", + "
\n", + " " + ], + "text/plain": [ + "" + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/svg+xml": [ + "\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " 2026-03-20T11:11:17.453811\n", + " image/svg+xml\n", + " \n", + " \n", + " Matplotlib v3.10.8, https://matplotlib.org/\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n" + ], + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "render_steane_code_qubit()\n", + "task.tsim_circuit.diagram(width=400)" + ] + }, + { + "cell_type": "markdown", + "id": "ea0d88ee", + "metadata": {}, + "source": [ + "Lets define some default functions which use the `squin.set_detector` and `squin.set_observable` functions, which annotate the program for later analysis to generate the detector error model." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "a12fc5d3", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "markdown", + "id": "feeec59f", + "metadata": {}, + "source": [ + "For the purposes of our demonstration, lets prepare a simple GHZ state. Note that the decorator is `@logical.kernel` instead of `@squin.kernel`." + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "71280ad1", + "metadata": {}, + "outputs": [], + "source": [ + "# TODO: so many hard coded things\n", + "@logical.kernel(aggressive_unroll=True, verify=True)\n", + "def main():\n", + " reg = qubit.qalloc(1)\n", + " squin.h(reg[0])\n", + " # squin.cx(reg[0], reg[1])\n", + "\n", + " return logical.default_post_processing(reg) # Return the physical measurements\n", + "\n", + "# NOTE: this is fairly similar to how people use like qiskit\n", + "task = GeminiLogicalSimulator().task(main)" + ] + }, + { + "cell_type": "markdown", + "id": "2556ae88", + "metadata": {}, + "source": [ + "The `task` has several attributes. The key attributes are:\n", + "| Attribute | Description |\n", + "|-------------------|--------------------------------------|\n", + "| `task.run` | Run the task, sampling bitstrings from the noisy distribution |\n", + "| `task.noiseless_tsim_circuit` | The underlying physical circuit without noise |\n", + "| `task.tsim_circuit` | The underlying physical circuit including noise |\n", + "| `task.detector_error_model` | The DEM associated with the noisy circuit |\n", + "| `task.visualize` | Render an interactive atom move. Does not work in jupyter notebooks =( |\n", + "\n", + "## Rendering of the noiseless circuit:" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "24069c91", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Result(_raw_measurements=[[True, True, False, False, False, True, False]], _detector_error_model=stim.DetectorErrorModel('''\n", + " error(0.000389899) D0 D1 D2\n", + " error(0.000389899) D0 D1 L0\n", + " error(0.000389899) D0 D2\n", + " error(0.000389899) D0 L0\n", + " error(0.000389899) D1 D2\n", + " error(0.000389899) D1 L0\n", + " error(0.000389899) D2\n", + " detector(0, 0) D0\n", + " detector(0, 1) D1\n", + " detector(0, 2) D2\n", + "'''), _post_processing=PostProcessing(emit_return=.post_processing_return at 0x122ebbd80>, emit_detectors=.detectors at 0x122ff09a0>, emit_observables=.observables at 0x122ff0d60>), _fidelity_min=0.9959129753968656, _fidelity_max=0.9959129753968656)" + ] + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "task.run()" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "id": "bfff4fdf", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "tsim.Circuit('''\n", + "SQRT_Y_DAG 0 1 2 3 4 5\n", + "CZ 1 2 3 4 5 6\n", + "SQRT_Y 6\n", + "CZ 0 3 2 5 4 6\n", + "SQRT_Y 2 3 4 5 6\n", + "CZ 0 1 2 3 4 5\n", + "SQRT_Y 1 2 4\n", + "X 3\n", + "Z 1 5\n", + "S 0 1 2 3 4 5 6\n", + "SQRT_X 0 1 2 3 4 5 6\n", + "S 0 1 2 3 4 5 6\n", + "M 0 1 2 3 4 5 6\n", + "DETECTOR(0, 0) rec[-7] rec[-6] rec[-5] rec[-4]\n", + "DETECTOR(0, 1) rec[-6] rec[-5] rec[-3] rec[-2]\n", + "DETECTOR(0, 2) rec[-5] rec[-4] rec[-3] rec[-1]\n", + "OBSERVABLE_INCLUDE(0) rec[-7] rec[-6] rec[-2]\n", + "''')" + ] + }, + "execution_count": 9, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "task.noiseless_tsim_circuit" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "id": "9b9970e8", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "tsim.Circuit('''\n", + "SQRT_Y_DAG 0 1 2 3 4 5\n", + "CZ 1 2 3 4 5 6\n", + "SQRT_Y 6\n", + "CZ 0 3 2 5 4 6\n", + "SQRT_Y 2 3 4 5 6\n", + "CZ 0 1 2 3 4 5\n", + "SQRT_Y 1 2 4\n", + "X 3\n", + "Z 1 5\n", + "S 0 1 2 3 4 5 6\n", + "PAULI_CHANNEL_1(6.5e-05, 6.5e-05, 6.5e-05) 0 1 2 3 4 5 6\n", + "I_ERROR[loss](0) 0 1 2 3 4 5 6\n", + "SQRT_X 0 1 2 3 4 5 6\n", + "PAULI_CHANNEL_1(6.5e-05, 6.5e-05, 6.5e-05) 0 1 2 3 4 5 6\n", + "I_ERROR[loss](0) 0 1 2 3 4 5 6\n", + "S 0 1 2 3 4 5 6\n", + "PAULI_CHANNEL_1(6.5e-05, 6.5e-05, 6.5e-05) 0 1 2 3 4 5 6\n", + "I_ERROR[loss](0) 0 1 2 3 4 5 6\n", + "M(0) 0 1 2 3 4 5 6\n", + "DETECTOR(0, 0) rec[-7] rec[-6] rec[-5] rec[-4]\n", + "DETECTOR(0, 1) rec[-6] rec[-5] rec[-3] rec[-2]\n", + "DETECTOR(0, 2) rec[-5] rec[-4] rec[-3] rec[-1]\n", + "OBSERVABLE_INCLUDE(0) rec[-7] rec[-6] rec[-2]\n", + "''')" + ] + }, + "execution_count": 10, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "task.tsim_circuit" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "id": "22b9090a", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "stim.DetectorErrorModel('''\n", + " error(0.000389899) D0 D1 D2\n", + " error(0.000389899) D0 D1 L0\n", + " error(0.000389899) D0 D2\n", + " error(0.000389899) D0 L0\n", + " error(0.000389899) D1 D2\n", + " error(0.000389899) D1 L0\n", + " error(0.000389899) D2\n", + " detector(0, 0) D0\n", + " detector(0, 1) D1\n", + " detector(0, 2) D2\n", + "''')" + ] + }, + "execution_count": 11, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "task.detector_error_model" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "id": "c1849c66", + "metadata": {}, + "outputs": [], + "source": [ + "# BUG (?): trying to exit this visualize window breaks (at least in notebook)\n", + "%matplotlib qt\n", + "task.visualize()" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "id": "53542dc2", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "7" + ] + }, + "execution_count": 13, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "task.noiseless_tsim_circuit.num_qubits" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "id": "bfceecc6", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "\n", + "
\n", + "
\n", + " \n", + "\n", + "\n", + "q0\n", + "\n", + "q1\n", + "\n", + "q2\n", + "\n", + "q3\n", + "\n", + "q4\n", + "\n", + "q5\n", + "\n", + "q6\n", + "\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "√Y\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "X\n", + "\n", + "Z\n", + "\n", + "Z\n", + "\n", + "S\n", + "\n", + "S\n", + "\n", + "S\n", + "\n", + "S\n", + "\n", + "S\n", + "\n", + "S\n", + "\n", + "S\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "S\n", + "\n", + "S\n", + "\n", + "S\n", + "\n", + "S\n", + "\n", + "S\n", + "\n", + "S\n", + "\n", + "S\n", + "\n", + "M\n", + "rec[0]\n", + "\n", + "M\n", + "rec[1]\n", + "\n", + "M\n", + "rec[2]\n", + "\n", + "M\n", + "rec[3]\n", + "\n", + "M\n", + "rec[4]\n", + "\n", + "M\n", + "rec[5]\n", + "\n", + "M\n", + "rec[6]\n", + "\n", + "DETECTOR\n", + "coords=(0,0)\n", + "D0 = rec[0]*rec[1]*rec[2]*rec[3]\n", + "\n", + "DETECTOR\n", + "coords=(0,1)\n", + "D1 = rec[1]*rec[2]*rec[4]*rec[5]\n", + "\n", + "DETECTOR\n", + "coords=(0,2)\n", + "D2 = rec[2]*rec[3]*rec[4]*rec[6]\n", + "\n", + "OBS_INCLUDE(0)\n", + "L0 *= rec[0]*rec[1]*rec[5]\n", + "\n", + "
\n", + "
\n", + " " + ], + "text/plain": [ + "" + ] + }, + "execution_count": 15, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "task.noiseless_tsim_circuit.diagram(height=task.noiseless_tsim_circuit.num_qubits*25)" + ] + }, + { + "cell_type": "markdown", + "id": "455a2a27", + "metadata": {}, + "source": [ + "## Rendering of the noisy circuit:\n", + "Includes 1 and 2 qubit gate error, spectator errors, and move errors. It does not include state preparation errors." + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "id": "8c57bae8", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "\n", + "
\n", + "
\n", + " \n", + "\n", + "\n", + "q0\n", + "\n", + "q1\n", + "\n", + "q2\n", + "\n", + "q3\n", + "\n", + "q4\n", + "\n", + "q5\n", + "\n", + "q6\n", + "\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "√Y\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "X\n", + "\n", + "Z\n", + "\n", + "Z\n", + "\n", + "S\n", + "\n", + "S\n", + "\n", + "S\n", + "\n", + "S\n", + "\n", + "S\n", + "\n", + "S\n", + "\n", + "S\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "S\n", + "\n", + "S\n", + "\n", + "S\n", + "\n", + "S\n", + "\n", + "S\n", + "\n", + "S\n", + "\n", + "S\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "M\n", + "0\n", + "rec[0]\n", + "\n", + "M\n", + "0\n", + "rec[1]\n", + "\n", + "M\n", + "0\n", + "rec[2]\n", + "\n", + "M\n", + "0\n", + "rec[3]\n", + "\n", + "M\n", + "0\n", + "rec[4]\n", + "\n", + "M\n", + "0\n", + "rec[5]\n", + "\n", + "M\n", + "0\n", + "rec[6]\n", + "\n", + "DETECTOR\n", + "coords=(0,0)\n", + "D0 = rec[0]*rec[1]*rec[2]*rec[3]\n", + "\n", + "DETECTOR\n", + "coords=(0,1)\n", + "D1 = rec[1]*rec[2]*rec[4]*rec[5]\n", + "\n", + "DETECTOR\n", + "coords=(0,2)\n", + "D2 = rec[2]*rec[3]*rec[4]*rec[6]\n", + "\n", + "OBS_INCLUDE(0)\n", + "L0 *= rec[0]*rec[1]*rec[5]\n", + "\n", + "
\n", + "
\n", + " " + ], + "text/plain": [ + "" + ] + }, + "execution_count": 16, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "task.tsim_circuit.diagram(height=task.tsim_circuit.num_qubits*25)" + ] + }, + { + "cell_type": "markdown", + "id": "6bc910fc", + "metadata": {}, + "source": [ + "## Running the task\n", + "the `task.run` attribute compiles the task to tsim and then samples from it. Note that the majority of the time is spent compiling the task; the sampler is very fast." + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "id": "91840b4a", + "metadata": {}, + "outputs": [], + "source": [ + "result = task.run(1, with_noise=True)\n", + "result_wo_noise = task.run(1, with_noise=False)" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "id": "33d98f02", + "metadata": {}, + "outputs": [], + "source": [ + "# After recompilation, the task runs very quickly.\n", + "result = task.run(10000, with_noise=True)\n", + "result_wo_noise = task.run(10000, with_noise=False)" + ] + }, + { + "cell_type": "markdown", + "id": "7c968e95", + "metadata": {}, + "source": [ + "The `result` object has several meaningful attributes that are useful for analysis:\n", + "| Attribute | Description |\n", + "|-------------------|--------------------------------------|\n", + "| `result.return_values` | The values returned from the kernel |\n", + "| `result.detectors` | The parity values of the annotated detectors |\n", + "| `result.observables` | The parity values of the annotated observables |\n", + "| `result.physical` | The physical qubit measurements |\n", + "\n", + "For each value, the zeroth dimension is the shot index.\n", + "- `detectors` are a flattened list of `[ [detectors of qubit 0 ], [detectors of qubit 1] [ ... ] ]`\n", + "- `observables` are a list of `[ obsevable of qubit 0, observable of qubit 1, ... ]`\n", + "- `physical` is a nested list of `[[7 physical measurements of qubit 0], [7 physical measurements of qubit 1], ...]`\n", + "\n", + "Indexing is in the same ordering of however the qubits were measured in the `logical.terminal_measure` statement." + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "id": "09e102b0", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "(10000, 3)\n", + "(10000, 1)\n", + "(10000, 7)\n" + ] + } + ], + "source": [ + "return_values = result.return_values\n", + "detectors = np.asarray(result.detectors)\n", + "observables = np.asarray(result.observables)\n", + "physical = np.asarray(result.measurements)\n", + "observables_without_noise = np.asarray(result_wo_noise.observables)\n", + "\n", + "print(detectors.shape)\n", + "print(observables.shape)\n", + "print(physical.shape)" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "id": "d8909070", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[False, False, False],\n", + " [False, False, False],\n", + " [False, False, False],\n", + " ...,\n", + " [False, False, False],\n", + " [False, False, False],\n", + " [False, False, False]], shape=(10000, 3))" + ] + }, + "execution_count": 20, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "detectors" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "id": "a28aaf71", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[False],\n", + " [ True],\n", + " [ True],\n", + " ...,\n", + " [ True],\n", + " [ True],\n", + " [False]], shape=(10000, 1))" + ] + }, + "execution_count": 21, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "observables" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "id": "cf400b07", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[ True, False, False, ..., True, True, False],\n", + " [ True, False, False, ..., False, False, True],\n", + " [False, True, True, ..., False, False, True],\n", + " ...,\n", + " [ True, False, True, ..., True, False, False],\n", + " [False, True, True, ..., False, False, True],\n", + " [False, False, True, ..., True, False, True]], shape=(10000, 7))" + ] + }, + "execution_count": 22, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "physical" + ] + }, + { + "cell_type": "markdown", + "id": "a82e4276", + "metadata": {}, + "source": [ + "## Decoding and post-selection\n", + "Decoders can be inhereted from elsewhere but follow a common pattern. Given the detector error model, flips to the logical qubits can be decoded based on the detector triggers. Because the code is linear, the corrected code is simply the XOR of the flips and the observables.\n", + "\n", + "Alternatively, one may postselect on having no errors, or all detectors being zero." + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "id": "46a3b0ed", + "metadata": {}, + "outputs": [], + "source": [ + "from bloqade.decoders import BpOsdDecoder" + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "id": "6ca16f3d", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[False, False, False],\n", + " [False, False, False],\n", + " [False, False, False],\n", + " ...,\n", + " [False, False, False],\n", + " [False, False, False],\n", + " [False, False, False]], shape=(10000, 3))" + ] + }, + "execution_count": 24, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "detectors" + ] + }, + { + "cell_type": "code", + "execution_count": 31, + "id": "5e06c6cb", + "metadata": {}, + "outputs": [], + "source": [ + "mask = np.any(detectors, axis=1)\n", + "rows_with_true = detectors[mask]" + ] + }, + { + "cell_type": "code", + "execution_count": 32, + "id": "875ea5e5", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[ True, True, True],\n", + " [ True, True, True],\n", + " [False, True, False],\n", + " [False, True, True],\n", + " [ True, True, True],\n", + " [ True, False, False],\n", + " [False, True, True],\n", + " [ True, True, False],\n", + " [False, False, True],\n", + " [False, True, True],\n", + " [ True, True, True],\n", + " [False, True, False],\n", + " [ True, True, False],\n", + " [ True, True, False],\n", + " [False, False, True],\n", + " [False, True, True],\n", + " [ True, False, False],\n", + " [ True, True, True],\n", + " [ True, False, False],\n", + " [ True, True, False],\n", + " [ True, True, True],\n", + " [ True, False, False],\n", + " [False, False, True],\n", + " [ True, True, True],\n", + " [ True, False, True],\n", + " [ True, True, True],\n", + " [ True, True, True],\n", + " [ True, True, True],\n", + " [ True, False, False],\n", + " [False, True, True],\n", + " [ True, False, False],\n", + " [False, True, False],\n", + " [ True, True, True],\n", + " [False, True, False],\n", + " [ True, True, False],\n", + " [ True, True, True],\n", + " [ True, True, False],\n", + " [False, True, True]])" + ] + }, + "execution_count": 32, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "rows_with_true" + ] + }, + { + "cell_type": "code", + "execution_count": 34, + "id": "e968f10c", + "metadata": {}, + "outputs": [], + "source": [ + "rows_with_false = detectors[~mask]" + ] + }, + { + "cell_type": "code", + "execution_count": 35, + "id": "f5e5a1cd", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[False, False, False],\n", + " [False, False, False],\n", + " [False, False, False],\n", + " ...,\n", + " [False, False, False],\n", + " [False, False, False],\n", + " [False, False, False]], shape=(9962, 3))" + ] + }, + "execution_count": 35, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "rows_with_false" + ] + }, + { + "cell_type": "code", + "execution_count": 37, + "id": "ae374279", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(9962, 3)" + ] + }, + "execution_count": 37, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "rows_with_false.shape" + ] + }, + { + "cell_type": "code", + "execution_count": 33, + "id": "268f6b6e", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(38, 3)" + ] + }, + "execution_count": 33, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "rows_with_true.shape" + ] + }, + { + "cell_type": "code", + "execution_count": 38, + "id": "4f6a1622", + "metadata": {}, + "outputs": [], + "source": [ + "decoder = BpOsdDecoder(task.detector_error_model)" + ] + }, + { + "cell_type": "code", + "execution_count": 45, + "id": "b2025c13", + "metadata": {}, + "outputs": [], + "source": [ + "flips_false = decoder.decode(rows_with_false)" + ] + }, + { + "cell_type": "code", + "execution_count": 46, + "id": "e2497684", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[0],\n", + " [0],\n", + " [0],\n", + " ...,\n", + " [0],\n", + " [0],\n", + " [0]], shape=(9962, 1), dtype=uint8)" + ] + }, + "execution_count": 46, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "flips_false" + ] + }, + { + "cell_type": "code", + "execution_count": 49, + "id": "003bb811", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "np.True_" + ] + }, + "execution_count": 49, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "np.all(flips_false == 0)" + ] + }, + { + "cell_type": "code", + "execution_count": 48, + "id": "9d3e2578", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "np.True_" + ] + }, + "execution_count": 48, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "np.all(flips_false == np.zeros((9962, 1)))" + ] + }, + { + "cell_type": "code", + "execution_count": 44, + "id": "3def53ff", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[0.],\n", + " [0.],\n", + " [0.],\n", + " ...,\n", + " [0.],\n", + " [0.],\n", + " [0.]], shape=(9962, 1))" + ] + }, + "execution_count": 44, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "flips_false" + ] + }, + { + "cell_type": "code", + "execution_count": 42, + "id": "c6a6acbe", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "numpy.ndarray" + ] + }, + "execution_count": 42, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "type(flips_false)" + ] + }, + { + "cell_type": "code", + "execution_count": 50, + "id": "9f6b99d2", + "metadata": {}, + "outputs": [], + "source": [ + "flips_true = decoder.decode(rows_with_true)" + ] + }, + { + "cell_type": "code", + "execution_count": 51, + "id": "df9157bc", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[0],\n", + " [0],\n", + " [1],\n", + " [0],\n", + " [0],\n", + " [1],\n", + " [0],\n", + " [1],\n", + " [0],\n", + " [0],\n", + " [0],\n", + " [1],\n", + " [1],\n", + " [1],\n", + " [0],\n", + " [0],\n", + " [1],\n", + " [0],\n", + " [1],\n", + " [1],\n", + " [0],\n", + " [1],\n", + " [0],\n", + " [0],\n", + " [0],\n", + " [0],\n", + " [0],\n", + " [0],\n", + " [1],\n", + " [0],\n", + " [1],\n", + " [1],\n", + " [0],\n", + " [1],\n", + " [1],\n", + " [0],\n", + " [1],\n", + " [0]], dtype=uint8)" + ] + }, + "execution_count": 51, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "flips_true" + ] + }, + { + "cell_type": "code", + "execution_count": 52, + "id": "e85be32d", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(38, 1)" + ] + }, + "execution_count": 52, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "flips_true.shape" + ] + }, + { + "cell_type": "code", + "execution_count": 54, + "id": "b6e74cf4", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "bloqade.decoders._decoders.ldpc.BpOsdDecoder" + ] + }, + "execution_count": 54, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "type(decoder)" + ] + }, + { + "cell_type": "code", + "execution_count": 56, + "id": "1111a895", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 56, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "decoder._decoder" + ] + }, + { + "cell_type": "code", + "execution_count": 57, + "id": "7ad54f20", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "['__class__',\n", + " '__delattr__',\n", + " '__dir__',\n", + " '__doc__',\n", + " '__eq__',\n", + " '__format__',\n", + " '__ge__',\n", + " '__getattribute__',\n", + " '__getstate__',\n", + " '__gt__',\n", + " '__hash__',\n", + " '__init__',\n", + " '__init_subclass__',\n", + " '__le__',\n", + " '__lt__',\n", + " '__ne__',\n", + " '__new__',\n", + " '__reduce__',\n", + " '__reduce_ex__',\n", + " '__repr__',\n", + " '__setattr__',\n", + " '__setstate__',\n", + " '__sizeof__',\n", + " '__str__',\n", + " '__subclasshook__',\n", + " 'bit_count',\n", + " 'bp_decoding',\n", + " 'bp_method',\n", + " 'channel_probs',\n", + " 'check_count',\n", + " 'converge',\n", + " 'decode',\n", + " 'decoding',\n", + " 'error_channel',\n", + " 'error_rate',\n", + " 'input_vector_type',\n", + " 'iter',\n", + " 'log_prob_ratios',\n", + " 'max_iter',\n", + " 'ms_scaling_factor',\n", + " 'omp_thread_count',\n", + " 'osd0_decoding',\n", + " 'osd_method',\n", + " 'osd_order',\n", + " 'osdw_decoding',\n", + " 'random_schedule_seed',\n", + " 'random_serial_schedule',\n", + " 'schedule',\n", + " 'serial_schedule_order',\n", + " 'update_channel_probs']" + ] + }, + "execution_count": 57, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "dir(decoder._decoder)" + ] + }, + { + "cell_type": "code", + "execution_count": 58, + "id": "d6ccd2b4", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "7" + ] + }, + "execution_count": 58, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "decoder._decoder.bit_count" + ] + }, + { + "cell_type": "code", + "execution_count": 59, + "id": "eb1c482f", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([0, 0, 0, 0, 1, 0, 0])" + ] + }, + "execution_count": 59, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "decoder._decoder.bp_decoding" + ] + }, + { + "cell_type": "code", + "execution_count": 61, + "id": "e254e2ff", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([ 7.84923386, 7.84923386, 7.84923386, 7.84923386, -7.84923386,\n", + " 7.84923386, 7.84923386])" + ] + }, + "execution_count": 61, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "decoder._decoder.log_prob_ratios" + ] + }, + { + "cell_type": "code", + "execution_count": 29, + "id": "8825c390", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Average bits flipped: 0.0016\n", + "Average observable: 0.504\n", + "Average observable corrected: 0.5044\n", + "Postselection rate: 0.9962\n" + ] + } + ], + "source": [ + "# Correct\n", + "decoder = BpOsdDecoder(task.detector_error_model)\n", + "flips = decoder.decode(detectors)\n", + "# flips = BpOsdDecoder(task.detector_error_model).decode(detectors)\n", + "observables_corrected = observables ^ flips\n", + "print(\"Average bits flipped:\", np.average(flips))\n", + "print(f\"Average observable:\", np.average(observables))\n", + "print(f\"Average observable corrected:\", np.average(observables_corrected))\n", + "\n", + "# Postselect\n", + "post_selection = np.all(detectors == 0, axis=1)\n", + "observables_postselected = observables[post_selection, :]\n", + "print(\"Postselection rate: \", len(observables_postselected) / len(observables))" + ] + }, + { + "cell_type": "code", + "execution_count": 27, + "id": "57ab039e", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[False],\n", + " [ True],\n", + " [ True],\n", + " ...,\n", + " [ True],\n", + " [ True],\n", + " [False]], shape=(10000, 1))" + ] + }, + "execution_count": 27, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "observables" + ] + }, + { + "cell_type": "code", + "execution_count": 26, + "id": "e91fb2bb", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[0],\n", + " [0],\n", + " [0],\n", + " ...,\n", + " [0],\n", + " [0],\n", + " [0]], shape=(10000, 1), dtype=uint8)" + ] + }, + "execution_count": 26, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "flips" + ] + }, + { + "cell_type": "code", + "execution_count": 28, + "id": "0ea231dd", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "['__class__',\n", + " '__delattr__',\n", + " '__dir__',\n", + " '__doc__',\n", + " '__eq__',\n", + " '__format__',\n", + " '__ge__',\n", + " '__getattribute__',\n", + " '__getstate__',\n", + " '__gt__',\n", + " '__hash__',\n", + " '__init__',\n", + " '__init_subclass__',\n", + " '__le__',\n", + " '__lt__',\n", + " '__ne__',\n", + " '__new__',\n", + " '__reduce__',\n", + " '__reduce_ex__',\n", + " '__repr__',\n", + " '__setattr__',\n", + " '__setstate__',\n", + " '__sizeof__',\n", + " '__str__',\n", + " '__subclasshook__',\n", + " 'bit_count',\n", + " 'bp_decoding',\n", + " 'bp_method',\n", + " 'channel_probs',\n", + " 'check_count',\n", + " 'converge',\n", + " 'decode',\n", + " 'decoding',\n", + " 'error_channel',\n", + " 'error_rate',\n", + " 'input_vector_type',\n", + " 'iter',\n", + " 'log_prob_ratios',\n", + " 'max_iter',\n", + " 'ms_scaling_factor',\n", + " 'omp_thread_count',\n", + " 'osd0_decoding',\n", + " 'osd_method',\n", + " 'osd_order',\n", + " 'osdw_decoding',\n", + " 'random_schedule_seed',\n", + " 'random_serial_schedule',\n", + " 'schedule',\n", + " 'serial_schedule_order',\n", + " 'update_channel_probs']" + ] + }, + "execution_count": 28, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "dir(decoder._decoder)" + ] + }, + { + "cell_type": "code", + "execution_count": 65, + "id": "26960cd4", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Average bits flipped: 0.022533333333333332\n", + "Postselection rate: 0.8968\n" + ] + } + ], + "source": [ + "# Correct\n", + "flips = BpLsdDecoder(task.detector_error_model).decode(detectors)\n", + "observables_corrected = observables ^ flips\n", + "print(\"Average bits flipped:\", np.average(flips))\n", + "\n", + "# Postselect\n", + "post_selection = np.all(detectors == 0, axis=1)\n", + "observables_postselected = observables[post_selection, :]\n", + "print(\"Postselection rate: \", len(observables_postselected) / len(observables))" + ] + }, + { + "cell_type": "markdown", + "id": "e9384f12", + "metadata": {}, + "source": [ + "## Analysis 1: parity\n", + "For the GHZ state, we have the convenience of the final state being uniformly sampled from 00 or 11, with 01 or 10 indicating an error outside of the distribution. Thus, computing the parity of the observables can serve as a proxy of the fidelity of the distribution: parity 0 means no error, parity 1 means error, and the average parity is the error rate. Postselection and correction decreases the parity, meaning the final error is better!" + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "id": "647e8d68", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Average parity (before correction): 0.0239\n", + "Average parity (after correction): 0.0041\n", + "Average parity (after postselection): 0.0\n" + ] + } + ], + "source": [ + "print(\"Average parity (before correction):\", np.average(observables[:,0] ^ observables[:,1]))\n", + "print(\"Average parity (after correction):\", np.average(observables_corrected[:,0] ^ observables_corrected[:,1]))\n", + "print(\"Average parity (after postselection):\", np.average(observables_postselected[:,0] ^ observables_postselected[:,1]))" + ] + }, + { + "cell_type": "markdown", + "id": "114ae15d", + "metadata": {}, + "source": [ + "### Some helper functions and standard utilities to analyze statistical divergence" + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "id": "eec9c1a5", + "metadata": {}, + "outputs": [], + "source": [ + "# helper functions to analyze statistical distribution of logical measurements\n", + "def get_hist(obs_array: np.ndarray):\n", + " return Counter(map(lambda x: tuple(map(int, x)), obs_array[:]))\n", + "\n", + "def kl_divergence(p_hist: Counter, q_hist: Counter) -> float:\n", + " \"\"\"Compute the KL divergence D_KL(P || Q) between two histograms.\"\"\"\n", + " total_p = sum(p_hist.values())\n", + " total_q = sum(q_hist.values())\n", + " if total_p == 0 or total_q == 0:\n", + " return float(\"inf\") # Infinite divergence if one distribution is empty\n", + " divergence = 0.0\n", + " for key in p_hist:\n", + " p_prob = p_hist[key] / total_p\n", + " q_prob = q_hist.get(key, 0) / total_q\n", + " if q_prob > 0:\n", + " divergence += p_prob * math.log(p_prob / q_prob)\n", + " else:\n", + " divergence += p_prob * math.log(p_prob / (1e-10)) # Avoid log(0)\n", + " return divergence\n" + ] + }, + { + "cell_type": "markdown", + "id": "37b50243", + "metadata": {}, + "source": [ + "The Kullback-Leibler divergence $D_{KL}(P||Q)$ measures the dissimilarity between two probability distributions. When the KL divergence is zero, there is no loss when the noisy distribution (Q) is used to represent the perfect distribution (P). Similar to the parity measurement above, we find that the divergence is lower for corrected and postselected distributions. Note that the distribution is approximated from finite sampling (a simple frequentist bootstrap) so the KL divergence is an upper bound on the true distribution." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "586393d2", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "KL divergence between noiseless and raw observables: 0.029743497590517084\n", + "KL divergence between noiseless and decoded observables: 0.004125787218643442\n", + "KL divergence between noiseless and post-selected observables: 4.857013551372302e-06\n" + ] + } + ], + "source": [ + "observables_hist = get_hist(observables)\n", + "observables_decoded_hist = get_hist(observables_corrected)\n", + "observables_postselected_hist = get_hist(observables_postselected)\n", + "observables_wo_noise_hist = get_hist(observables_without_noise)\n", + "\n", + "# compute and print the KL divergence between the histograms\n", + "print(\"KL divergence between noiseless and raw observables:\",kl_divergence(observables_wo_noise_hist, observables_hist))\n", + "print(\"KL divergence between noiseless and decoded observables:\",kl_divergence(observables_wo_noise_hist, observables_decoded_hist))\n", + "# NOTE: why is this not 0?\n", + "print(\"KL divergence between noiseless and post-selected observables:\",kl_divergence(observables_wo_noise_hist, observables_postselected_hist))\n" + ] + }, + { + "cell_type": "code", + "execution_count": 29, + "id": "25da924b", + "metadata": {}, + "outputs": [], + "source": [ + "# NOTE: for the below, how is it enforced?" + ] + }, + { + "attachments": { + "image.png": { + "image/png": "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LmNvbS9leGlmLzEuMC8iPgogICAgICAgICA8ZXhpZjpQaXhlbFlEaW1lbnNpb24+MTExNjwvZXhpZjpQaXhlbFlEaW1lbnNpb24+CiAgICAgICAgIDxleGlmOlBpeGVsWERpbWVuc2lvbj4xNTU2PC9leGlmOlBpeGVsWERpbWVuc2lvbj4KICAgICAgICAgPGV4aWY6VXNlckNvbW1lbnQ+U2NyZWVuc2hvdDwvZXhpZjpVc2VyQ29tbWVudD4KICAgICAgPC9yZGY6RGVzY3JpcHRpb24+CiAgIDwvcmRmOlJERj4KPC94OnhtcG1ldGE+CjIoJd4AAAAcaURPVAAAAAIAAAAAAAACLgAAACgAAAIuAAACLgABt3WmiHhjAABAAElEQVR4AeydCbxN1dvHf3d0zfMUMoSkDCEpTdIkQ1KUNGiQpCJpJKVUJClERSEJaUCEUiRJmacMmWcu1zVf7vSetf/v0b33zPfu6dn7t99P/3PP2muv9TzfZy3v2ut31lpRmZ4LvEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEggCIEoCgpB6PAWCZAACZAACZAACZAACZAACZAACZAACZAACZAACZAACZCARoCCAhsCCZAACZAACZAACZAACZAACZAACZAACZAACZAACZAACZBASAIUFEIiYgYSIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAEKCmwDJEACJEACJEACJEACJEACJEACJEACJEACJEACJEACJEACIQlQUAiJiBlIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgAQoKLANkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJhCRAQSEkImYgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARKgoMA2QAIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkEJIABYWQiJiBBEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiAggLbAAmQAAmQAAmQAAmQAAmQAAmQAAmQAAmQAAmQAAmQAAmQQEgCFBRCImIGEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABCgpsAyRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRA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" + } + }, + "cell_type": "markdown", + "id": "046926a4", + "metadata": {}, + "source": [ + "### Dos and do nots for kernels\n", + "A valid kernel for Gemini must:\n", + "1. Have less than 10 qubits\n", + "2. Only have a single non-Clifford gate per qubit, acting as a single-qubit gate as the first gate on each qubit\n", + "3. Measurement is in Z basis only.\n", + "\n", + "![image.png](attachment:image.png)" + ] + }, + { + "cell_type": "markdown", + "id": "a9341b28", + "metadata": {}, + "source": [ + "Too many qubits" + ] + }, + { + "cell_type": "code", + "execution_count": 37, + "id": "7c8778b9", + "metadata": {}, + "outputs": [], + "source": [ + "from dataclasses import dataclass\n", + "from typing import Any\n", + "\n", + "\n", + "@dataclass\n", + "class DummyResult:\n", + " _raw_measurements: list[list[bool]]\n", + " _detectors: list[list[bool]]\n", + " _observables: list[list[bool]]\n", + "\n", + " @property\n", + " def measurements(self):\n", + " return self._raw_measurements\n", + "\n", + " @property\n", + " def detectors(self):\n", + " return self._detectors\n", + "\n", + " @property\n", + " def observables(self):\n", + " return self._observables\n", + "\n", + " @property\n", + " def return_values(self):\n", + " return []\n", + "\n", + "\n", + "@dataclass\n", + "class DummyTask:\n", + " logical_kernel: Any\n", + " detector_error_model: Any = None\n", + "\n", + " @property\n", + " def physical_move_kernel(self):\n", + " return self.logical_kernel\n", + "\n", + " @property\n", + " def physical_squin_kernel(self):\n", + " return self.logical_kernel\n", + "\n", + " @property\n", + " def tsim_circuit(self):\n", + " return None\n", + "\n", + " def fidelity_bounds(self):\n", + " return (1.0, 1.0)\n", + "\n", + " def visualize(self, animated: bool = False, interactive: bool = True):\n", + " print(\n", + " f\"[DummyTask.visualize] animated={animated}, interactive={interactive}\"\n", + " )\n", + "\n", + " def run(self, shots: int = 1, with_noise: bool = True, *, run_detectors: bool = False):\n", + " detectors = [[False] for _ in range(shots)]\n", + " observables = [[False] for _ in range(shots)]\n", + " measurements = [[False] for _ in range(shots)]\n", + " return DummyResult(measurements, detectors, observables)\n", + "\n", + " def run_async(self, shots: int = 1, with_noise: bool = True, *, run_detectors: bool = False):\n", + " from concurrent.futures import Future\n", + "\n", + " fut = Future()\n", + " fut.set_result(self.run(shots, with_noise, run_detectors=run_detectors))\n", + " return fut\n", + "\n", + "\n", + "@dataclass\n", + "class DummyLogicalSimulator:\n", + " noise_model: Any = None\n", + "\n", + " def task(self, logical_kernel, m2dets=None, m2obs=None):\n", + " return DummyTask(logical_kernel=logical_kernel)\n", + "\n", + " def run(self, logical_squin_kernel, shots: int = 1, with_noise: bool = True, *, run_detectors: bool = False):\n", + " return self.task(logical_squin_kernel).run(\n", + " shots, with_noise, run_detectors=run_detectors\n", + " )\n", + "\n", + " def run_async(self, logical_squin_kernel, shots: int = 1, with_noise: bool = True, *, run_detectors: bool = False):\n", + " return self.task(logical_squin_kernel).run_async(\n", + " shots, with_noise, run_detectors=run_detectors\n", + " )\n", + "\n", + " def visualize(self, logical_squin_kernel, animated: bool = False, interactive: bool = True):\n", + " return self.task(logical_squin_kernel).visualize(\n", + " animated=animated, interactive=interactive\n", + " )\n", + "\n", + " def physical_move_kernel(self, logical_squin_kernel):\n", + " return self.task(logical_squin_kernel).physical_move_kernel\n", + "\n", + " def physical_squin_kernel(self, logical_squin_kernel):\n", + " return self.task(logical_squin_kernel).physical_squin_kernel\n", + "\n", + " def tsim_circuit(self, logical_squin_kernel, with_noise: bool = True):\n", + " return self.task(logical_squin_kernel).tsim_circuit\n", + "\n", + " def fidelity_bounds(self, logical_squin_kernel):\n", + " return self.task(logical_squin_kernel).fidelity_bounds()\n" + ] + }, + { + "cell_type": "code", + "execution_count": 30, + "id": "dfd1c3c1", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Error during kernel definition or task creation: Number of qubits in circuit (12) exceeds maximum supported by logical architecture (10)\n" + ] + } + ], + "source": [ + "try:\n", + " @logical.kernel(aggressive_unroll=True, verify=True)\n", + " def main():\n", + " reg = qubit.qalloc(12)\n", + " squin.h(reg[0])\n", + " squin.cx(reg[0], reg[1])\n", + "\n", + " return logical.default_post_processing(reg)\n", + "\n", + " task = GeminiLogicalSimulator().task(main)\n", + "except BaseException as e:\n", + " print(\"Error during kernel definition or task creation:\", e)" + ] + }, + { + "cell_type": "markdown", + "id": "c14d19d7", + "metadata": {}, + "source": [ + "TEST: that qubit allocation is tied to task creation, NOT kernel definition (appears to pass)" + ] + }, + { + "cell_type": "code", + "execution_count": 39, + "id": "29fe7a1d", + "metadata": {}, + "outputs": [], + "source": [ + "try:\n", + " @logical.kernel(aggressive_unroll=True, verify=True)\n", + " def main():\n", + " reg = qubit.qalloc(12)\n", + " squin.h(reg[0])\n", + " squin.cx(reg[0], reg[1])\n", + "\n", + " return logical.default_post_processing(reg)\n", + "\n", + " task = DummyLogicalSimulator().task(main)\n", + "except BaseException as e:\n", + " print(\"Error during kernel definition or task creation:\", e)" + ] + }, + { + "cell_type": "markdown", + "id": "262c6906", + "metadata": {}, + "source": [ + "Repeated non-Clifford rotations" + ] + }, + { + "cell_type": "code", + "execution_count": 40, + "id": "6a09540c", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n"
+      ],
+      "text/plain": []
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    },
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "Error during kernel definition or task creation: \n",
+      "\u001b[31mValidation failed with 1 violation(s):\u001b[0m\n",
+      "\n",
+      "\u001b[31mGemini Logical Validation:\u001b[0m\n",
+      "  - Non-clifford gate t can only be used for initial state preparation, i.e. as the first gate!\n",
+      "      File \"/Users/jasonhan/Desktop/qmain/kirin-workspace/bloqade-circuit/src/bloqade/squin/stdlib/broadcast/gate.py\", \n",
+      "line 9, col 11\n",
+      "  \u001b[2m │\u001b[0m  squin.cx(reg[0], reg[1])\n",
+      "  \u001b[2m │\u001b[0m  \n",
+      "  9\u001b[2m│\u001b[0m  return logical.default_post_processing(reg)\n",
+      "   \u001b[2m│\u001b[0m  \u001b[31m       ^^^^^^\u001b[0m\n",
+      "\n"
+     ]
+    }
+   ],
+   "source": [
+    "try:\n",
+    "    @logical.kernel(aggressive_unroll=True, verify=True)\n",
+    "    def main():\n",
+    "        reg = qubit.qalloc(12)\n",
+    "        squin.t(reg[0])\n",
+    "        squin.t(reg[0])\n",
+    "        squin.cx(reg[0], reg[1])\n",
+    "\n",
+    "        return logical.default_post_processing(reg)\n",
+    "\n",
+    "    task = GeminiLogicalSimulator().task(main)\n",
+    "except BaseException as e:\n",
+    "    print(\"Error during kernel definition or task creation:\", e)"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "8eed1ddf",
+   "metadata": {},
+   "source": [
+    "TEST: to see if kernel compilation fails for double definition of t gates, or if it's tied to GeminiLogicalSimulator (A: appears tied to kernel definition, which is NOT good imo)"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 42,
+   "id": "4757efdc",
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/html": [
+       "
\n"
+      ],
+      "text/plain": []
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    },
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "Error during kernel definition or task creation: \n",
+      "\u001b[31mValidation failed with 1 violation(s):\u001b[0m\n",
+      "\n",
+      "\u001b[31mGemini Logical Validation:\u001b[0m\n",
+      "  - Non-clifford gate t can only be used for initial state preparation, i.e. as the first gate!\n",
+      "      File \"/Users/jasonhan/Desktop/qmain/kirin-workspace/bloqade-circuit/src/bloqade/squin/stdlib/broadcast/gate.py\", \n",
+      "line 9, col 11\n",
+      "  \u001b[2m │\u001b[0m  squin.cx(reg[0], reg[1])\n",
+      "  \u001b[2m │\u001b[0m  \n",
+      "  9\u001b[2m│\u001b[0m  return logical.default_post_processing(reg)\n",
+      "   \u001b[2m│\u001b[0m  \u001b[31m       ^^^^^^\u001b[0m\n",
+      "\n"
+     ]
+    }
+   ],
+   "source": [
+    "try:\n",
+    "    @logical.kernel(aggressive_unroll=True, verify=True)\n",
+    "    def main():\n",
+    "        reg = qubit.qalloc(12)\n",
+    "        squin.t(reg[0])\n",
+    "        squin.t(reg[0])\n",
+    "        squin.cx(reg[0], reg[1])\n",
+    "\n",
+    "        return logical.default_post_processing(reg)\n",
+    "\n",
+    "    # task = GeminiLogicalSimulator().task(main)\n",
+    "except BaseException as e:\n",
+    "    print(\"Error during kernel definition or task creation:\", e)"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 41,
+   "id": "2e7cc5ee",
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/html": [
+       "
\n"
+      ],
+      "text/plain": []
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    },
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "Error during kernel definition or task creation: \n",
+      "\u001b[31mValidation failed with 1 violation(s):\u001b[0m\n",
+      "\n",
+      "\u001b[31mGemini Logical Validation:\u001b[0m\n",
+      "  - Non-clifford gate t can only be used for initial state preparation, i.e. as the first gate!\n",
+      "      File \"/Users/jasonhan/Desktop/qmain/kirin-workspace/bloqade-circuit/src/bloqade/squin/stdlib/broadcast/gate.py\", \n",
+      "line 9, col 11\n",
+      "  \u001b[2m │\u001b[0m  squin.cx(reg[0], reg[1])\n",
+      "  \u001b[2m │\u001b[0m  \n",
+      "  9\u001b[2m│\u001b[0m  return logical.default_post_processing(reg)\n",
+      "   \u001b[2m│\u001b[0m  \u001b[31m       ^^^^^^\u001b[0m\n",
+      "\n"
+     ]
+    }
+   ],
+   "source": [
+    "try:\n",
+    "    @logical.kernel(aggressive_unroll=True, verify=True)\n",
+    "    def main():\n",
+    "        reg = qubit.qalloc(12)\n",
+    "        squin.t(reg[0])\n",
+    "        squin.t(reg[0])\n",
+    "        squin.cx(reg[0], reg[1])\n",
+    "\n",
+    "        return logical.default_post_processing(reg)\n",
+    "\n",
+    "    task = DummyLogicalSimulator().task(main)\n",
+    "except BaseException as e:\n",
+    "    print(\"Error during kernel definition or task creation:\", e)"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "88eb4a35",
+   "metadata": {},
+   "source": [
+    "Non-Clifford rotation not as the first gate (This is the same validation error)"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "ddfdd63b",
+   "metadata": {},
+   "source": [
+    "TEST: again, see if this is tied to kernel definition or task creaton"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 43,
+   "id": "649f9820",
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/html": [
+       "
\n"
+      ],
+      "text/plain": []
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    },
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "Error during kernel definition or task creation: \n",
+      "\u001b[31mValidation failed with 1 violation(s):\u001b[0m\n",
+      "\n",
+      "\u001b[31mGemini Logical Validation:\u001b[0m\n",
+      "  - Non-clifford gate t can only be used for initial state preparation, i.e. as the first gate!\n",
+      "      File \"/Users/jasonhan/Desktop/qmain/kirin-workspace/bloqade-circuit/src/bloqade/squin/stdlib/broadcast/gate.py\", \n",
+      "line 9, col 11\n",
+      "  \u001b[2m │\u001b[0m  squin.t(reg[0])\n",
+      "  \u001b[2m │\u001b[0m  \n",
+      "  9\u001b[2m│\u001b[0m  return logical.default_post_processing(reg)\n",
+      "   \u001b[2m│\u001b[0m  \u001b[31m       ^^^^^^\u001b[0m\n",
+      "\n"
+     ]
+    }
+   ],
+   "source": [
+    "try:\n",
+    "    @logical.kernel(aggressive_unroll=True, verify=True)\n",
+    "    def main():\n",
+    "        reg = qubit.qalloc(12)\n",
+    "        squin.h(reg[0])\n",
+    "        squin.cx(reg[0], reg[1])\n",
+    "        squin.t(reg[0])\n",
+    "\n",
+    "        return logical.default_post_processing(reg)\n",
+    "\n",
+    "    task = GeminiLogicalSimulator().task(main)\n",
+    "except BaseException as e:\n",
+    "    print(\"Error during kernel definition or task creation:\", e)"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 44,
+   "id": "e6463dd6",
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/html": [
+       "
\n"
+      ],
+      "text/plain": []
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    },
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "Error during kernel definition or task creation: \n",
+      "\u001b[31mValidation failed with 1 violation(s):\u001b[0m\n",
+      "\n",
+      "\u001b[31mGemini Logical Validation:\u001b[0m\n",
+      "  - Non-clifford gate t can only be used for initial state preparation, i.e. as the first gate!\n",
+      "      File \"/Users/jasonhan/Desktop/qmain/kirin-workspace/bloqade-circuit/src/bloqade/squin/stdlib/broadcast/gate.py\", \n",
+      "line 9, col 11\n",
+      "  \u001b[2m │\u001b[0m  squin.t(reg[0])\n",
+      "  \u001b[2m │\u001b[0m  \n",
+      "  9\u001b[2m│\u001b[0m  return logical.default_post_processing(reg)\n",
+      "   \u001b[2m│\u001b[0m  \u001b[31m       ^^^^^^\u001b[0m\n",
+      "\n"
+     ]
+    }
+   ],
+   "source": [
+    "try:\n",
+    "    @logical.kernel(aggressive_unroll=True, verify=True)\n",
+    "    def main():\n",
+    "        reg = qubit.qalloc(12)\n",
+    "        squin.h(reg[0])\n",
+    "        squin.cx(reg[0], reg[1])\n",
+    "        squin.t(reg[0])\n",
+    "\n",
+    "        return logical.default_post_processing(reg)\n",
+    "\n",
+    "    # task = GeminiLogicalSimulator().task(main)\n",
+    "except BaseException as e:\n",
+    "    print(\"Error during kernel definition or task creation:\", e)"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "2f09e7d0",
+   "metadata": {},
+   "source": [
+    "## Explicitly annotate parallelism\n",
+    "If parallelism is not annotated, the program will implement each two qubit gate sequentially. We currently do not have any auto-paralellization passes."
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "88e9d82f",
+   "metadata": {},
+   "source": [
+    "TODO: add auto-parallelization passes?"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 45,
+   "id": "f8c3849b",
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "def terminal_main_wrapper(kernel:Method[[], ilist.IList[qubit.Qubit, Any]]) -> Method:\n",
+    "    \"\"\"\n",
+    "    A helper function that wraps a kernel that returns a qubit register that has\n",
+    "    had some computation performed on it and transforms it into a logical kernel.\n",
+    "    \"\"\"\n",
+    "    @logical.kernel(aggressive_unroll=True, verify=True)\n",
+    "    def terminal_main():\n",
+    "        reg = kernel()\n",
+    "\n",
+    "        logical.default_post_processing(reg)\n",
+    "    return terminal_main"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 46,
+   "id": "9d6413ab",
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "@squin.kernel\n",
+    "def unparallelized_main()->ilist.IList[qubit.Qubit, Any]:\n",
+    "    \"\"\"\n",
+    "    A kernel that annotates no parallelism, even though they exist\n",
+    "    \"\"\"\n",
+    "    reg = qubit.qalloc(4)\n",
+    "    squin.cx(reg[0], reg[1])\n",
+    "    squin.cx(reg[2], reg[3])\n",
+    "    return reg\n",
+    "\n",
+    "@squin.kernel\n",
+    "def parallelized_main()->ilist.IList[qubit.Qubit, Any]:\n",
+    "    \"\"\"\n",
+    "    An equivalent kernel to the above, but with parallelism annotated via broadcast operations.\n",
+    "    \"\"\"\n",
+    "    reg = qubit.qalloc(4)\n",
+    "    squin.broadcast.cx([reg[0], reg[2]], [reg[1], reg[3]])\n",
+    "    return reg\n",
+    "\n",
+    "@squin.kernel\n",
+    "def conflicted_parallelized_main()->ilist.IList[qubit.Qubit, Any]:\n",
+    "    \"\"\"\n",
+    "    A kernel where parallelism is annotated, but the moves cannot be done all at once due to AOD constraints.\n",
+    "    \"\"\"\n",
+    "    reg = qubit.qalloc(4)\n",
+    "    squin.broadcast.cx([reg[0], reg[1]], [reg[3], reg[2]])\n",
+    "    return reg\n",
+    "\n",
+    "unparallelized_main = terminal_main_wrapper(unparallelized_main) # hashtag METAPROGRAMMING\n",
+    "parallelized_main = terminal_main_wrapper(parallelized_main)\n",
+    "conflicted_parallelized_main = terminal_main_wrapper(conflicted_parallelized_main)\n",
+    "\n",
+    "task_unparallelized = GeminiLogicalSimulator().task(unparallelized_main)\n",
+    "task_parallelized = GeminiLogicalSimulator().task(parallelized_main)\n",
+    "task_conflicted_parallelized = GeminiLogicalSimulator().task(conflicted_parallelized_main)"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "3f0d30af",
+   "metadata": {},
+   "source": [
+    "The unparallelized circuit sequentially does the two gates with two sets of moves"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "id": "f5063455",
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "Fidelity bounds for unparallelized main: 0.6333179110666615\n"
+     ]
+    },
+    {
+     "data": {
+      "text/html": [
+       "\n",
+       "    
\n", + "
\n", + " \n", + "\n", + "\n", + "q0\n", + "\n", + "q1\n", + "\n", + "q2\n", + "\n", + "q3\n", + "\n", + "q4\n", + "\n", + "q5\n", + "\n", + "q6\n", + "\n", + "q7\n", + "\n", + "q8\n", + "\n", + "q9\n", + "\n", + "q10\n", + "\n", + "q11\n", + "\n", + "q12\n", + "\n", + "q13\n", + "\n", + "q14\n", + "\n", + "q15\n", + "\n", + "q16\n", + "\n", + "q17\n", + "\n", + "q18\n", + "\n", + "q19\n", + "\n", + "q20\n", + "\n", + "q21\n", + "\n", + "q22\n", + "\n", + "q23\n", + "\n", + "q24\n", + "\n", + "q25\n", + "\n", + "q26\n", + "\n", + "q27\n", + "\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "√Y\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "X\n", + "\n", + "Z\n", + "\n", + "Z\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "√Y\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "X\n", + "\n", + "Z\n", + "\n", + "Z\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "√Y\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "X\n", + "\n", + "Z\n", + "\n", + "Z\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "√Y\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "X\n", + "\n", + "Z\n", + "\n", + "Z\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "M\n", + "0\n", + "rec[0]\n", + "\n", + "M\n", + "0\n", + "rec[1]\n", + "\n", + "M\n", + "0\n", + "rec[2]\n", + "\n", + "M\n", + "0\n", + "rec[3]\n", + "\n", + "M\n", + "0\n", + "rec[4]\n", + "\n", + "M\n", + "0\n", + "rec[5]\n", + "\n", + "M\n", + "0\n", + "rec[6]\n", + "\n", + "M\n", + "0\n", + "rec[7]\n", + "\n", + "M\n", + "0\n", + "rec[8]\n", + "\n", + "M\n", + "0\n", + "rec[9]\n", + "\n", + "M\n", + "0\n", + "rec[10]\n", + "\n", + "M\n", + "0\n", + "rec[11]\n", + "\n", + "M\n", + "0\n", + "rec[12]\n", + "\n", + "M\n", + "0\n", + "rec[13]\n", + "\n", + "M\n", + "0\n", + "rec[14]\n", + "\n", + "M\n", + "0\n", + "rec[15]\n", + "\n", + "M\n", + "0\n", + "rec[16]\n", + "\n", + "M\n", + "0\n", + "rec[17]\n", + "\n", + "M\n", + "0\n", + "rec[18]\n", + "\n", + "M\n", + "0\n", + "rec[19]\n", + "\n", + "M\n", + "0\n", + "rec[20]\n", + "\n", + "M\n", + "0\n", + "rec[21]\n", + "\n", + "M\n", + "0\n", + "rec[22]\n", + "\n", + "M\n", + "0\n", + "rec[23]\n", + "\n", + "M\n", + "0\n", + "rec[24]\n", + "\n", + "M\n", + "0\n", + "rec[25]\n", + "\n", + "M\n", + "0\n", + "rec[26]\n", + "\n", + "M\n", + "0\n", + "rec[27]\n", + "\n", + "DETECTOR\n", + "coords=(0,0)\n", + "D0 = rec[0]*rec[1]*rec[2]*rec[3]\n", + "\n", + "DETECTOR\n", + "coords=(0,1)\n", + "D1 = rec[1]*rec[2]*rec[4]*rec[5]\n", + "\n", + "DETECTOR\n", + "coords=(0,2)\n", + "D2 = rec[2]*rec[3]*rec[4]*rec[6]\n", + "\n", + "OBS_INCLUDE(0)\n", + "L0 *= rec[0]*rec[1]*rec[5]\n", + "\n", + "DETECTOR\n", + "coords=(0,0)\n", + "D3 = rec[7]*rec[8]*rec[9]*rec[10]\n", + "\n", + "DETECTOR\n", + "coords=(0,1)\n", + "D4 = rec[8]*rec[9]*rec[11]*rec[12]\n", + "\n", + "DETECTOR\n", + "coords=(0,2)\n", + "D5 = rec[9]*rec[10]*rec[11]*rec[13]\n", + "\n", + "OBS_INCLUDE(1)\n", + "L1 *= rec[7]*rec[8]*rec[12]\n", + "\n", + "DETECTOR\n", + "coords=(0,0)\n", + "D6 = rec[14]*rec[15]*rec[16]*rec[17]\n", + "\n", + "DETECTOR\n", + "coords=(0,1)\n", + "D7 = rec[15]*rec[16]*rec[18]*rec[19]\n", + "\n", + "DETECTOR\n", + "coords=(0,2)\n", + "D8 = rec[16]*rec[17]*rec[18]*rec[20]\n", + "\n", + "OBS_INCLUDE(2)\n", + "L2 *= rec[14]*rec[15]*rec[19]\n", + "\n", + "DETECTOR\n", + "coords=(0,0)\n", + "D9 = rec[21]*rec[22]*rec[23]*rec[24]\n", + "\n", + "DETECTOR\n", + "coords=(0,1)\n", + "D10 = rec[22]*rec[23]*rec[25]*rec[26]\n", + "\n", + "DETECTOR\n", + "coords=(0,2)\n", + "D11 = rec[23]*rec[24]*rec[25]*rec[27]\n", + "\n", + "OBS_INCLUDE(3)\n", + "L3 *= rec[21]*rec[22]*rec[26]\n", + "\n", + "
\n", + "
\n", + " " + ], + "text/plain": [ + "" + ] + }, + "execution_count": 47, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "_, f = task_unparallelized.fidelity_bounds()\n", + "print(\"Fidelity bounds for unparallelized main:\", f)\n", + "task_unparallelized.tsim_circuit.diagram(height=task_unparallelized.tsim_circuit.num_qubits*10)" + ] + }, + { + "cell_type": "markdown", + "id": "a55f0414", + "metadata": {}, + "source": [ + "The parallelized circuit does a parallel move and implements both gates at the same time." + ] + }, + { + "cell_type": "code", + "execution_count": 48, + "id": "5693fef4", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Fidelity bounds for parallelized main: 0.7361854319826835\n" + ] + }, + { + "data": { + "text/html": [ + "\n", + "
\n", + "
\n", + " \n", + "\n", + "\n", + "q0\n", + "\n", + "q1\n", + "\n", + "q2\n", + "\n", + "q3\n", + "\n", + "q4\n", + "\n", + "q5\n", + "\n", + "q6\n", + "\n", + "q7\n", + "\n", + "q8\n", + "\n", + "q9\n", + "\n", + "q10\n", + "\n", + "q11\n", + "\n", + "q12\n", + "\n", + "q13\n", + "\n", + "q14\n", + "\n", + "q15\n", + "\n", + "q16\n", + "\n", + "q17\n", + "\n", + "q18\n", + "\n", + "q19\n", + "\n", + "q20\n", + "\n", + "q21\n", + "\n", + "q22\n", + "\n", + "q23\n", + "\n", + "q24\n", + "\n", + "q25\n", + "\n", + "q26\n", + "\n", + "q27\n", + "\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "√Y\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "X\n", + "\n", + "Z\n", + "\n", + "Z\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "√Y\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "X\n", + "\n", + "Z\n", + "\n", + "Z\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "√Y\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "X\n", + "\n", + "Z\n", + "\n", + "Z\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "√Y\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "X\n", + "\n", + "Z\n", + "\n", + "Z\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "M\n", + "0\n", + "rec[0]\n", + "\n", + "M\n", + "0\n", + "rec[1]\n", + "\n", + "M\n", + "0\n", + "rec[2]\n", + "\n", + "M\n", + "0\n", + "rec[3]\n", + "\n", + "M\n", + "0\n", + "rec[4]\n", + "\n", + "M\n", + "0\n", + "rec[5]\n", + "\n", + "M\n", + "0\n", + "rec[6]\n", + "\n", + "M\n", + "0\n", + "rec[7]\n", + "\n", + "M\n", + "0\n", + "rec[8]\n", + "\n", + "M\n", + "0\n", + "rec[9]\n", + "\n", + "M\n", + "0\n", + "rec[10]\n", + "\n", + "M\n", + "0\n", + "rec[11]\n", + "\n", + "M\n", + "0\n", + "rec[12]\n", + "\n", + "M\n", + "0\n", + "rec[13]\n", + "\n", + "M\n", + "0\n", + "rec[14]\n", + "\n", + "M\n", + "0\n", + "rec[15]\n", + "\n", + "M\n", + "0\n", + "rec[16]\n", + "\n", + "M\n", + "0\n", + "rec[17]\n", + "\n", + "M\n", + "0\n", + "rec[18]\n", + "\n", + "M\n", + "0\n", + "rec[19]\n", + "\n", + "M\n", + "0\n", + "rec[20]\n", + "\n", + "M\n", + "0\n", + "rec[21]\n", + "\n", + "M\n", + "0\n", + "rec[22]\n", + "\n", + "M\n", + "0\n", + "rec[23]\n", + "\n", + "M\n", + "0\n", + "rec[24]\n", + "\n", + "M\n", + "0\n", + "rec[25]\n", + "\n", + "M\n", + "0\n", + "rec[26]\n", + "\n", + "M\n", + "0\n", + "rec[27]\n", + "\n", + "DETECTOR\n", + "coords=(0,0)\n", + "D0 = rec[0]*rec[1]*rec[2]*rec[3]\n", + "\n", + "DETECTOR\n", + "coords=(0,1)\n", + "D1 = rec[1]*rec[2]*rec[4]*rec[5]\n", + "\n", + "DETECTOR\n", + "coords=(0,2)\n", + "D2 = rec[2]*rec[3]*rec[4]*rec[6]\n", + "\n", + "OBS_INCLUDE(0)\n", + "L0 *= rec[0]*rec[1]*rec[5]\n", + "\n", + "DETECTOR\n", + "coords=(0,0)\n", + "D3 = rec[7]*rec[8]*rec[9]*rec[10]\n", + "\n", + "DETECTOR\n", + "coords=(0,1)\n", + "D4 = rec[8]*rec[9]*rec[11]*rec[12]\n", + "\n", + "DETECTOR\n", + "coords=(0,2)\n", + "D5 = rec[9]*rec[10]*rec[11]*rec[13]\n", + "\n", + "OBS_INCLUDE(1)\n", + "L1 *= rec[7]*rec[8]*rec[12]\n", + "\n", + "DETECTOR\n", + "coords=(0,0)\n", + "D6 = rec[14]*rec[15]*rec[16]*rec[17]\n", + "\n", + "DETECTOR\n", + "coords=(0,1)\n", + "D7 = rec[15]*rec[16]*rec[18]*rec[19]\n", + "\n", + "DETECTOR\n", + "coords=(0,2)\n", + "D8 = rec[16]*rec[17]*rec[18]*rec[20]\n", + "\n", + "OBS_INCLUDE(2)\n", + "L2 *= rec[14]*rec[15]*rec[19]\n", + "\n", + "DETECTOR\n", + "coords=(0,0)\n", + "D9 = rec[21]*rec[22]*rec[23]*rec[24]\n", + "\n", + "DETECTOR\n", + "coords=(0,1)\n", + "D10 = rec[22]*rec[23]*rec[25]*rec[26]\n", + "\n", + "DETECTOR\n", + "coords=(0,2)\n", + "D11 = rec[23]*rec[24]*rec[25]*rec[27]\n", + "\n", + "OBS_INCLUDE(3)\n", + "L3 *= rec[21]*rec[22]*rec[26]\n", + "\n", + "
\n", + "
\n", + " " + ], + "text/plain": [ + "" + ] + }, + "execution_count": 48, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "_, f = task_parallelized.fidelity_bounds()\n", + "print(\"Fidelity bounds for parallelized main:\", f)\n", + "task_parallelized.tsim_circuit.diagram(height=task_parallelized.tsim_circuit.num_qubits*10)" + ] + }, + { + "cell_type": "markdown", + "id": "11780b02", + "metadata": {}, + "source": [ + "The parallelized but conflicted circuit implements two sequential moves and then does both gates at the same time." + ] + }, + { + "cell_type": "code", + "execution_count": 49, + "id": "c6568ae7", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Fidelity bounds for conflicted parallelized main: 0.6930706383501731\n" + ] + }, + { + "data": { + "text/html": [ + "\n", + "
\n", + "
\n", + " \n", + "\n", + "\n", + "q0\n", + "\n", + "q1\n", + "\n", + "q2\n", + "\n", + "q3\n", + "\n", + "q4\n", + "\n", + "q5\n", + "\n", + "q6\n", + "\n", + "q7\n", + "\n", + "q8\n", + "\n", + "q9\n", + "\n", + "q10\n", + "\n", + "q11\n", + "\n", + "q12\n", + "\n", + "q13\n", + "\n", + "q14\n", + "\n", + "q15\n", + "\n", + "q16\n", + "\n", + "q17\n", + "\n", + "q18\n", + "\n", + "q19\n", + "\n", + "q20\n", + "\n", + "q21\n", + "\n", + "q22\n", + "\n", + "q23\n", + "\n", + "q24\n", + "\n", + "q25\n", + "\n", + "q26\n", + "\n", + "q27\n", + "\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "√Y\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "X\n", + "\n", + "Z\n", + "\n", + "Z\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "√Y\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "X\n", + "\n", + "Z\n", + "\n", + "Z\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "√Y\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "X\n", + "\n", + "Z\n", + "\n", + "Z\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "√Y\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "X\n", + "\n", + "Z\n", + "\n", + "Z\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "M\n", + "0\n", + "rec[0]\n", + "\n", + "M\n", + "0\n", + "rec[1]\n", + "\n", + "M\n", + "0\n", + "rec[2]\n", + "\n", + "M\n", + "0\n", + "rec[3]\n", + "\n", + "M\n", + "0\n", + "rec[4]\n", + "\n", + "M\n", + "0\n", + "rec[5]\n", + "\n", + "M\n", + "0\n", + "rec[6]\n", + "\n", + "M\n", + "0\n", + "rec[7]\n", + "\n", + "M\n", + "0\n", + "rec[8]\n", + "\n", + "M\n", + "0\n", + "rec[9]\n", + "\n", + "M\n", + "0\n", + "rec[10]\n", + "\n", + "M\n", + "0\n", + "rec[11]\n", + "\n", + "M\n", + "0\n", + "rec[12]\n", + "\n", + "M\n", + "0\n", + "rec[13]\n", + "\n", + "M\n", + "0\n", + "rec[14]\n", + "\n", + "M\n", + "0\n", + "rec[15]\n", + "\n", + "M\n", + "0\n", + "rec[16]\n", + "\n", + "M\n", + "0\n", + "rec[17]\n", + "\n", + "M\n", + "0\n", + "rec[18]\n", + "\n", + "M\n", + "0\n", + "rec[19]\n", + "\n", + "M\n", + "0\n", + "rec[20]\n", + "\n", + "M\n", + "0\n", + "rec[21]\n", + "\n", + "M\n", + "0\n", + "rec[22]\n", + "\n", + "M\n", + "0\n", + "rec[23]\n", + "\n", + "M\n", + "0\n", + "rec[24]\n", + "\n", + "M\n", + "0\n", + "rec[25]\n", + "\n", + "M\n", + "0\n", + "rec[26]\n", + "\n", + "M\n", + "0\n", + "rec[27]\n", + "\n", + "DETECTOR\n", + "coords=(0,0)\n", + "D0 = rec[0]*rec[1]*rec[2]*rec[3]\n", + "\n", + "DETECTOR\n", + "coords=(0,1)\n", + "D1 = rec[1]*rec[2]*rec[4]*rec[5]\n", + "\n", + "DETECTOR\n", + "coords=(0,2)\n", + "D2 = rec[2]*rec[3]*rec[4]*rec[6]\n", + "\n", + "OBS_INCLUDE(0)\n", + "L0 *= rec[0]*rec[1]*rec[5]\n", + "\n", + "DETECTOR\n", + "coords=(0,0)\n", + "D3 = rec[7]*rec[8]*rec[9]*rec[10]\n", + "\n", + "DETECTOR\n", + "coords=(0,1)\n", + "D4 = rec[8]*rec[9]*rec[11]*rec[12]\n", + "\n", + "DETECTOR\n", + "coords=(0,2)\n", + "D5 = rec[9]*rec[10]*rec[11]*rec[13]\n", + "\n", + "OBS_INCLUDE(1)\n", + "L1 *= rec[7]*rec[8]*rec[12]\n", + "\n", + "DETECTOR\n", + "coords=(0,0)\n", + "D6 = rec[14]*rec[15]*rec[16]*rec[17]\n", + "\n", + "DETECTOR\n", + "coords=(0,1)\n", + "D7 = rec[15]*rec[16]*rec[18]*rec[19]\n", + "\n", + "DETECTOR\n", + "coords=(0,2)\n", + "D8 = rec[16]*rec[17]*rec[18]*rec[20]\n", + "\n", + "OBS_INCLUDE(2)\n", + "L2 *= rec[14]*rec[15]*rec[19]\n", + "\n", + "DETECTOR\n", + "coords=(0,0)\n", + "D9 = rec[21]*rec[22]*rec[23]*rec[24]\n", + "\n", + "DETECTOR\n", + "coords=(0,1)\n", + "D10 = rec[22]*rec[23]*rec[25]*rec[26]\n", + "\n", + "DETECTOR\n", + "coords=(0,2)\n", + "D11 = rec[23]*rec[24]*rec[25]*rec[27]\n", + "\n", + "OBS_INCLUDE(3)\n", + "L3 *= rec[21]*rec[22]*rec[26]\n", + "\n", + "
\n", + "
\n", + " " + ], + "text/plain": [ + "" + ] + }, + "execution_count": 49, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "_, f = task_conflicted_parallelized.fidelity_bounds()\n", + "print(\"Fidelity bounds for conflicted parallelized main:\", f)\n", + "task_conflicted_parallelized.tsim_circuit.diagram(height=task_conflicted_parallelized.tsim_circuit.num_qubits*10)" + ] + }, + { + "cell_type": "code", + "execution_count": 50, + "id": "49a50d48", + "metadata": {}, + "outputs": [], + "source": [ + "from bloqade.lanes.arch.gemini.impls import generate_arch_hypercube\n", + "\n", + "arch = generate_arch_hypercube(4)\n", + "ax = arch.plot()\n" + ] + }, + { + "cell_type": "code", + "execution_count": 51, + "id": "dd4b0aee", + "metadata": {}, + "outputs": [ + { + "data": { + "image/svg+xml": [ + "\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " 2026-03-17T11:04:23.488185\n", + " image/svg+xml\n", + " \n", + " \n", + " Matplotlib v3.10.8, https://matplotlib.org/\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n" + ], + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "%matplotlib inline\n", + "\n", + "from bloqade.lanes.arch.gemini.impls import generate_arch_hypercube\n", + "\n", + "arch = generate_arch_hypercube(4)\n", + "ax = arch.plot()\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "6e749af6", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "kirin-workspace (3.12.13)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.12.13" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/demo/hc_ansatz_gemini_physical.ipynb b/demo/hc_ansatz_gemini_physical.ipynb new file mode 100644 index 00000000..5377d614 --- /dev/null +++ b/demo/hc_ansatz_gemini_physical.ipynb @@ -0,0 +1,5727 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Hypercube Ansatz Visualization in Gemini Physical Squin\n", + "\n", + "This demo recreates the circuit families from `hc_ansatz_visualization.ipynb`, but expresses them directly in the Gemini **physical** dialect used in `bloqade-lanes`.\n", + "\n", + "It mirrors the original notebook's four examples:\n", + "- global-parameter hypercube ansatz on an 8-qubit cube\n", + "- local-parameter hypercube ansatz on an 8-qubit cube\n", + "- reduced-register 6-qubit embedding inside a 3D cube\n", + "- 10-qubit `h5` fill-map embedding inside a 4D cube\n", + "\n", + "The source notebook used PennyLane/Cirq for drawing. Here we build equivalent physical `squin` kernels and optionally lower them to the Gemini move dialect.\n" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "id": "e65d81e0", + "metadata": {}, + "outputs": [], + "source": [ + "from __future__ import annotations\n", + "\n", + "from dataclasses import dataclass\n", + "from pprint import pprint\n", + "from typing import Sequence\n", + "\n", + "import matplotlib.pyplot as plt\n", + "import numpy as np\n", + "from bloqade import qubit, squin\n", + "from bloqade.lanes.compile import compile_squin_to_move\n" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "8e468cba", + "metadata": {}, + "outputs": [], + "source": [ + "def hypercube_edges_for_dim(n: int, d: int) -> list[tuple[int, int]]:\n", + " \"\"\"Return each edge along hypercube dimension ``d`` exactly once.\"\"\"\n", + " if not (0 <= d < n):\n", + " raise ValueError(f\"dimension index {d} out of range for n={n}\")\n", + " mask = 1 << d\n", + " return [(i, i ^ mask) for i in range(1 << n) if (i & mask) == 0]\n", + "\n", + "\n", + "def map_to_hypercube(n: int, m: int) -> dict[int, int]:\n", + " \"\"\"Phasecraft helper: greedily embed ``m`` labels into an (n+1)-cube.\"\"\"\n", + " if not (m > 2**n):\n", + " raise ValueError(\"Require m > 2**n\")\n", + " if m > 2 ** (n + 1):\n", + " raise ValueError(\"Require m <= 2**(n+1)\")\n", + "\n", + " base_size = 2**n\n", + " total_vertices = 2 ** (n + 1)\n", + " mapping = {v: v for v in range(base_size)}\n", + " used_vertices = set(mapping)\n", + "\n", + " def partner_of(base_vertex: int) -> int:\n", + " return base_vertex + base_size\n", + "\n", + " for label in range(base_size, m):\n", + " base_candidates = sorted(range(base_size), key=lambda b: (abs(label - b), -b))\n", + " placed = False\n", + " for base_vertex in base_candidates:\n", + " partner = partner_of(base_vertex)\n", + " if partner not in used_vertices:\n", + " mapping[partner] = label\n", + " used_vertices.add(partner)\n", + " placed = True\n", + " break\n", + " if not placed:\n", + " for partner in range(base_size, total_vertices):\n", + " if partner not in used_vertices:\n", + " mapping[partner] = label\n", + " used_vertices.add(partner)\n", + " placed = True\n", + " break\n", + " if not placed:\n", + " raise RuntimeError(\"No available vertex to place label\")\n", + "\n", + " return mapping\n", + "\n", + "\n", + "def count_edges_in_subset(subset_dict: dict[int, int], n: int) -> int:\n", + " vertices = set(subset_dict)\n", + " count = 0\n", + " for v in vertices:\n", + " for d in range(n):\n", + " u = v ^ (1 << d)\n", + " if u in vertices and v < u:\n", + " count += 1\n", + " return count\n", + "\n", + "\n", + "def make_global_params(n: int, n_layers: int, qub_dicts: Sequence[dict[int, int]] | None = None, seed: int = 0) -> np.ndarray:\n", + " rng = np.random.default_rng(seed)\n", + " if qub_dicts is None:\n", + " qub_dicts = [{v: v for v in range(1 << n)}] * n_layers\n", + " return rng.uniform(0.0, 2.0 * np.pi, size=3 * n * n_layers)\n", + "\n", + "\n", + "def make_local_params(n: int, n_layers: int, qub_dicts: Sequence[dict[int, int]] | None = None, seed: int = 0) -> np.ndarray:\n", + " rng = np.random.default_rng(seed)\n", + " if qub_dicts is None:\n", + " qub_dicts = [{v: v for v in range(1 << n)}] * n_layers\n", + " total_edges = sum(count_edges_in_subset(qub_dict, n) for qub_dict in qub_dicts)\n", + " return rng.uniform(0.0, 2.0 * np.pi, size=6 * total_edges)\n", + "\n", + "\n", + "def emit_single_qubit_block(q, alpha: float, beta: float, gamma: float, *, is_xyx: bool = False) -> None:\n", + " if is_xyx:\n", + " squin.rx(gamma, q)\n", + " squin.ry(beta, q)\n", + " squin.rx(alpha, q)\n", + " else:\n", + " squin.u3(alpha, beta, gamma, q)\n", + "\n", + "\n", + "@dataclass(frozen=True)\n", + "class HCSpec:\n", + " title: str\n", + " single_qub_params: np.ndarray\n", + " n: int\n", + " n_layers: int = 1\n", + " qub_dicts: Sequence[dict[int, int]] | None = None\n", + " local_sq_gates: bool = False\n", + " is_xyx: bool = False\n" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "a17c93a3", + "metadata": {}, + "outputs": [], + "source": [ + "def normalized_qub_dicts(spec: HCSpec) -> list[dict[int, int]]:\n", + " if spec.qub_dicts is None:\n", + " return [{v: v for v in range(1 << spec.n)} for _ in range(spec.n_layers)]\n", + " return [dict(layer_map) for layer_map in spec.qub_dicts]\n", + "\n", + "\n", + "def expected_param_count(spec: HCSpec) -> int:\n", + " qub_dicts = normalized_qub_dicts(spec)\n", + " if spec.local_sq_gates:\n", + " return 6 * sum(count_edges_in_subset(qub_dict, spec.n) for qub_dict in qub_dicts)\n", + " return 3 * spec.n * spec.n_layers\n", + "\n", + "\n", + "def kernel_summary(spec: HCSpec) -> dict[str, object]:\n", + " qub_dicts = normalized_qub_dicts(spec)\n", + " active_edges_per_layer = [count_edges_in_subset(qub_dict, spec.n) for qub_dict in qub_dicts]\n", + " total_edges = sum(active_edges_per_layer)\n", + " n_qubits = max(max(layer.values()) for layer in qub_dicts) + 1\n", + " return {\n", + " 'n_qubits': n_qubits,\n", + " 'n_layers': spec.n_layers,\n", + " 'hypercube_dimension': spec.n,\n", + " 'local_sq_gates': spec.local_sq_gates,\n", + " 'active_edges_per_layer': active_edges_per_layer,\n", + " 'total_cz_gates': total_edges,\n", + " 'total_single_qubit_blocks': 2 * total_edges,\n", + " 'parameter_count': len(spec.single_qub_params),\n", + " 'expected_parameter_count': expected_param_count(spec),\n", + " }\n", + "\n", + "\n", + "def _append_single_qubit_block(lines: list[str], reg_expr: str, alpha: float, beta: float, gamma: float, *, is_xyx: bool):\n", + " if is_xyx:\n", + " lines.append(f\" squin.rx({reg_expr}, {alpha!r})\")\n", + " lines.append(f\" squin.ry({reg_expr}, {beta!r})\")\n", + " lines.append(f\" squin.rx({reg_expr}, {gamma!r})\")\n", + " else:\n", + " lines.append(f\" squin.u3({reg_expr}, {alpha!r}, {beta!r}, {gamma!r})\")\n", + "\n", + "\n", + "def build_hc_kernel(spec: HCSpec):\n", + " import linecache\n", + "\n", + " qub_dicts = normalized_qub_dicts(spec)\n", + " params = tuple(float(x) for x in np.asarray(spec.single_qub_params, dtype=np.float64))\n", + " expected = expected_param_count(spec)\n", + " if len(params) != expected:\n", + " raise ValueError(f\"Expected {expected} parameters, got {len(params)}\")\n", + "\n", + " n_qubits = max(max(layer.values()) for layer in qub_dicts) + 1\n", + " lines = [f\"@squin.kernel(typeinfer=True, fold=True)\", f\"def hc_kernel_{getattr(build_hc_kernel, '_counter', 0)}():\", f\" reg = qubit.qalloc({n_qubits})\"]\n", + " offset = 0\n", + " for layer in range(spec.n_layers):\n", + " dict_qubs = qub_dicts[layer]\n", + " for d in range(spec.n):\n", + " active_edges = [(i, j) for i, j in hypercube_edges_for_dim(spec.n, d) if i in dict_qubs and j in dict_qubs]\n", + " if not active_edges:\n", + " continue\n", + " if spec.local_sq_gates:\n", + " for i, j in active_edges:\n", + " alpha = params[offset]\n", + " beta = params[offset + 1]\n", + " gamma = params[offset + 2]\n", + " offset += 3\n", + " _append_single_qubit_block(lines, f\"reg[{dict_qubs[i]}]\", alpha, beta, gamma, is_xyx=spec.is_xyx)\n", + " alpha = params[offset]\n", + " beta = params[offset + 1]\n", + " gamma = params[offset + 2]\n", + " offset += 3\n", + " _append_single_qubit_block(lines, f\"reg[{dict_qubs[j]}]\", alpha, beta, gamma, is_xyx=spec.is_xyx)\n", + " lines.append(f\" squin.cz(reg[{dict_qubs[i]}], reg[{dict_qubs[j]}])\")\n", + " else:\n", + " alpha = params[offset]\n", + " beta = params[offset + 1]\n", + " gamma = params[offset + 2]\n", + " offset += 3\n", + " for i, j in active_edges:\n", + " _append_single_qubit_block(lines, f\"reg[{dict_qubs[i]}]\", alpha, beta, gamma, is_xyx=spec.is_xyx)\n", + " _append_single_qubit_block(lines, f\"reg[{dict_qubs[j]}]\", alpha, beta, gamma, is_xyx=spec.is_xyx)\n", + " lines.append(f\" squin.cz(reg[{dict_qubs[i]}], reg[{dict_qubs[j]}])\")\n", + "\n", + " build_hc_kernel._counter = getattr(build_hc_kernel, '_counter', 0) + 1\n", + " source = \"\\n\".join(lines) + \"\\n\"\n", + " filename = f\"\"\n", + " linecache.cache[filename] = (len(source), None, [line + \"\\n\" for line in source.splitlines()], filename)\n", + " namespace = {'qubit': qubit, 'squin': squin}\n", + " exec(compile(source, filename, 'exec'), namespace)\n", + " return namespace[f\"hc_kernel_{build_hc_kernel._counter - 1}\"]\n", + "\n", + "\n", + "def show_hc_kernel(spec: HCSpec, *, lower_to_move: bool = False):\n", + " kernel = build_hc_kernel(spec)\n", + " print(spec.title)\n", + " pprint(kernel_summary(spec))\n", + " print('\\nPhysical squin kernel:')\n", + " kernel.print()\n", + " if lower_to_move:\n", + " print('\\nLowered Gemini move program:')\n", + " compile_squin_to_move(kernel).print()\n", + " return kernel\n", + "\n", + "def build_hc_schedule(spec: HCSpec) -> list[dict[str, object]]:\n", + " qub_dicts = normalized_qub_dicts(spec)\n", + " params = tuple(float(x) for x in np.asarray(spec.single_qub_params, dtype=np.float64))\n", + " expected = expected_param_count(spec)\n", + " if len(params) != expected:\n", + " raise ValueError(f\"Expected {expected} parameters, got {len(params)}\")\n", + "\n", + " schedule: list[dict[str, object]] = []\n", + " offset = 0\n", + " for layer in range(spec.n_layers):\n", + " dict_qubs = qub_dicts[layer]\n", + " for d in range(spec.n):\n", + " active_edges = [(i, j) for i, j in hypercube_edges_for_dim(spec.n, d) if i in dict_qubs and j in dict_qubs]\n", + " if not active_edges:\n", + " continue\n", + " if spec.local_sq_gates:\n", + " for i, j in active_edges:\n", + " q_i = dict_qubs[i]\n", + " q_j = dict_qubs[j]\n", + " params_i = tuple(params[offset:offset + 3])\n", + " offset += 3\n", + " params_j = tuple(params[offset:offset + 3])\n", + " offset += 3\n", + " schedule.append({\n", + " 'layer': layer,\n", + " 'dimension': d,\n", + " 'kind': 'edge',\n", + " 'qubits': (q_i, q_j),\n", + " 'params': {q_i: params_i, q_j: params_j},\n", + " 'shared_params': False,\n", + " })\n", + " else:\n", + " shared = tuple(params[offset:offset + 3])\n", + " offset += 3\n", + " for i, j in active_edges:\n", + " q_i = dict_qubs[i]\n", + " q_j = dict_qubs[j]\n", + " schedule.append({\n", + " 'layer': layer,\n", + " 'dimension': d,\n", + " 'kind': 'edge',\n", + " 'qubits': (q_i, q_j),\n", + " 'params': {q_i: shared, q_j: shared},\n", + " 'shared_params': True,\n", + " })\n", + " return schedule\n", + "\n", + "\n", + "def plot_hc_kernel(spec: HCSpec, *, annotate_params: bool = False, figsize_per_column: float = 0.5, base_height: float = 0.7):\n", + " schedule = build_hc_schedule(spec)\n", + " n_qubits = kernel_summary(spec)['n_qubits']\n", + " n_cols = max(len(schedule), 1)\n", + " fig_width = max(10.0, 1.5 + figsize_per_column * n_cols)\n", + " fig_height = max(4.0, base_height * n_qubits + 1.5)\n", + " fig, ax = plt.subplots(figsize=(fig_width, fig_height))\n", + "\n", + " y_positions = {q: n_qubits - 1 - q for q in range(n_qubits)}\n", + " x_end = n_cols + 1\n", + " for q in range(n_qubits):\n", + " y = y_positions[q]\n", + " ax.hlines(y, 0.5, x_end, color='0.75', linewidth=1.0)\n", + " ax.text(0.2, y, f'q{q}', ha='right', va='center', fontsize=10)\n", + "\n", + " for col, op in enumerate(schedule, start=1):\n", + " q0, q1 = op['qubits']\n", + " y0 = y_positions[q0]\n", + " y1 = y_positions[q1]\n", + " top = max(y0, y1)\n", + " bottom = min(y0, y1)\n", + " ax.vlines(col, bottom, top, color='black', linewidth=1.4, zorder=1)\n", + " ax.scatter([col, col], [y0, y1], s=36, color='black', zorder=3)\n", + "\n", + " for q in (q0, q1):\n", + " y = y_positions[q]\n", + " rect = plt.Rectangle((col - 0.28, y - 0.22), 0.56, 0.44, facecolor='#d9eaf7', edgecolor='#2f5d7c', linewidth=1.0, zorder=2)\n", + " ax.add_patch(rect)\n", + " label = 'U3' if not spec.is_xyx else 'XYX'\n", + " if annotate_params:\n", + " a, b, g = op['params'][q]\n", + " text = f\"{label}\\n({a:.2f}, {b:.2f}, {g:.2f})\"\n", + " fontsize = 6.5\n", + " else:\n", + " text = label\n", + " fontsize = 8\n", + " ax.text(col, y, text, ha='center', va='center', fontsize=fontsize, zorder=4)\n", + "\n", + " ax.text(col, top + 0.55, f\"L{op['layer']} d{op['dimension']}\", ha='center', va='bottom', fontsize=8, color='0.35')\n", + "\n", + " ax.set_xlim(0, x_end + 0.2)\n", + " ax.set_ylim(-1, n_qubits)\n", + " ax.set_xticks([])\n", + " ax.set_yticks([])\n", + " ax.set_title(spec.title)\n", + " ax.set_frame_on(False)\n", + " fig.tight_layout()\n", + " return fig, ax\n" + ] + }, + { + "cell_type": "markdown", + "id": "f86b3e2d", + "metadata": {}, + "source": [ + "## 8-Qubit Cube: Global Parameters\n", + "\n", + "This mirrors the first example in `hc_ansatz_visualization.ipynb`, where each hypercube dimension in each layer shares one `(alpha, beta, gamma)` triple across all active edges.\n" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "2b33126d", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Global-parameter hypercube ansatz\n", + "{'active_edges_per_layer': [12, 12],\n", + " 'expected_parameter_count': 18,\n", + " 'hypercube_dimension': 3,\n", + " 'local_sq_gates': False,\n", + " 'n_layers': 2,\n", + " 'n_qubits': 8,\n", + " 'parameter_count': 18,\n", + " 'total_cz_gates': 24,\n", + " 'total_single_qubit_blocks': 48}\n", + "\n", + "Physical squin kernel:\n", + "\u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31mfunc\u001b[0m\u001b[31m \u001b[0m" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\u001b[36m@hc_kernel_0\u001b[0m()\u001b[90m -> \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m \u001b[0m{\n", + "\u001b[90m \u001b[0m^0(%hc_kernel_0_self):\n", + "\u001b[90m │ \u001b[0m %0 = \u001b[34mpy.constant\u001b[0m.constant 8\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%reg = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m qalloc(%0)\u001b[90m : \u001b[0m\u001b[90m!py.IList\u001b[0m\u001b[90m[\u001b[0m\u001b[90m!py.Qubit\u001b[0m\u001b[90m, \u001b[0m\u001b[90m!\u001b[0m\u001b[90mAny\u001b[0m\u001b[90m]\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m %1 = \u001b[34mpy.constant\u001b[0m.constant 0\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m %2 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %1)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m %3 = \u001b[34mpy.constant\u001b[0m.constant 3.927590651355011\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m %4 = \u001b[34mpy.constant\u001b[0m.constant 5.637360571650786\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m %5 = \u001b[34mpy.constant\u001b[0m.constant 4.873776931938056\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m %6 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m u3(%2, %3, %4, %5)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m %7 = \u001b[34mpy.constant\u001b[0m.constant 1\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m %8 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %7)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m %9 = \u001b[34mpy.constant\u001b[0m.constant 3.927590651355011\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m %10 = \u001b[34mpy.constant\u001b[0m.constant 5.637360571650786\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m %11 = \u001b[34mpy.constant\u001b[0m.constant 4.873776931938056\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m %12 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m u3(%8, %9, %10, %11)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m %13 = \u001b[34mpy.constant\u001b[0m.constant 0\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m %14 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %13)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m %15 = \u001b[34mpy.constant\u001b[0m.constant 1\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m %16 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %15)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m %17 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m cz(%14, %16)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m %18 = \u001b[34mpy.constant\u001b[0m.constant 2\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m %19 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %18)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m %20 = \u001b[34mpy.constant\u001b[0m.constant 3.927590651355011\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m %21 = \u001b[34mpy.constant\u001b[0m.constant 5.637360571650786\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m %22 = \u001b[34mpy.constant\u001b[0m.constant 4.873776931938056\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m %23 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m u3(%19, %20, %21, %22)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m %24 = \u001b[34mpy.constant\u001b[0m.constant 3\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m %25 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %24)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m %26 = \u001b[34mpy.constant\u001b[0m.constant 3.927590651355011\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m %27 = \u001b[34mpy.constant\u001b[0m.constant 5.637360571650786\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m %28 = \u001b[34mpy.constant\u001b[0m.constant 4.873776931938056\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m %29 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m u3(%25, %26, %27, %28)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m %30 = \u001b[34mpy.constant\u001b[0m.constant 2\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m %31 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %30)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m %32 = \u001b[34mpy.constant\u001b[0m.constant 3\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m %33 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %32)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m %34 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m cz(%31, %33)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m %35 = \u001b[34mpy.constant\u001b[0m.constant 4\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m %36 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %35)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m %37 = \u001b[34mpy.constant\u001b[0m.constant 3.927590651355011\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m %38 = \u001b[34mpy.constant\u001b[0m.constant 5.637360571650786\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m %39 = \u001b[34mpy.constant\u001b[0m.constant 4.873776931938056\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m %40 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m u3(%36, %37, %38, %39)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m %41 = \u001b[34mpy.constant\u001b[0m.constant 5\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m %42 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %41)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m %43 = \u001b[34mpy.constant\u001b[0m.constant 3.927590651355011\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m %44 = \u001b[34mpy.constant\u001b[0m.constant 5.637360571650786\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m %45 = \u001b[34mpy.constant\u001b[0m.constant 4.873776931938056\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m %46 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m u3(%42, %43, %44, %45)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m %47 = \u001b[34mpy.constant\u001b[0m.constant 4\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m %48 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %47)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m %49 = \u001b[34mpy.constant\u001b[0m.constant 5\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m %50 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %49)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m %51 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m cz(%48, %50)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m %52 = \u001b[34mpy.constant\u001b[0m.constant 6\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m %53 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %52)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m %54 = \u001b[34mpy.constant\u001b[0m.constant 3.927590651355011\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m %55 = \u001b[34mpy.constant\u001b[0m.constant 5.637360571650786\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m %56 = \u001b[34mpy.constant\u001b[0m.constant 4.873776931938056\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m %57 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m u3(%53, %54, %55, %56)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m %58 = \u001b[34mpy.constant\u001b[0m.constant 7\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m %59 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %58)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m %60 = \u001b[34mpy.constant\u001b[0m.constant 3.927590651355011\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m %61 = \u001b[34mpy.constant\u001b[0m.constant 5.637360571650786\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m %62 = \u001b[34mpy.constant\u001b[0m.constant 4.873776931938056\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m %63 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m u3(%59, %60, %61, %62)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m %64 = \u001b[34mpy.constant\u001b[0m.constant 6\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m %65 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %64)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m %66 = \u001b[34mpy.constant\u001b[0m.constant 7\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m %67 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %66)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m %68 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m cz(%65, %67)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m %69 = \u001b[34mpy.constant\u001b[0m.constant 0\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m %70 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %69)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m %71 = \u001b[34mpy.constant\u001b[0m.constant 1.4150185072200883\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m %72 = \u001b[34mpy.constant\u001b[0m.constant 1.8860003910648933\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m %73 = \u001b[34mpy.constant\u001b[0m.constant 5.488698173149897\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m %74 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m u3(%70, %71, %72, %73)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m %75 = \u001b[34mpy.constant\u001b[0m.constant 2\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m %76 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %75)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m %77 = \u001b[34mpy.constant\u001b[0m.constant 1.4150185072200883\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m %78 = \u001b[34mpy.constant\u001b[0m.constant 1.8860003910648933\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m %79 = \u001b[34mpy.constant\u001b[0m.constant 5.488698173149897\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m %80 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m u3(%76, %77, %78, %79)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m %81 = \u001b[34mpy.constant\u001b[0m.constant 0\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m %82 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %81)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m %83 = \u001b[34mpy.constant\u001b[0m.constant 2\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m %84 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %83)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m %85 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m cz(%82, %84)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m %86 = \u001b[34mpy.constant\u001b[0m.constant 1\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m %87 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %86)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m %88 = \u001b[34mpy.constant\u001b[0m.constant 1.4150185072200883\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m %89 = \u001b[34mpy.constant\u001b[0m.constant 1.8860003910648933\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m %90 = \u001b[34mpy.constant\u001b[0m.constant 5.488698173149897\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m %91 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m u3(%87, %88, %89, %90)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m %92 = \u001b[34mpy.constant\u001b[0m.constant 3\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m %93 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %92)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m %94 = \u001b[34mpy.constant\u001b[0m.constant 1.4150185072200883\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m %95 = \u001b[34mpy.constant\u001b[0m.constant 1.8860003910648933\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m %96 = \u001b[34mpy.constant\u001b[0m.constant 5.488698173149897\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m %97 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m u3(%93, %94, %95, %96)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m %98 = \u001b[34mpy.constant\u001b[0m.constant 1\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m %99 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %98)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%100 = \u001b[34mpy.constant\u001b[0m.constant 3\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%101 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %100)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%102 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m cz(%99, %101)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m%103 = \u001b[34mpy.constant\u001b[0m.constant 4\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%104 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %103)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%105 = \u001b[34mpy.constant\u001b[0m.constant 1.4150185072200883\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%106 = \u001b[34mpy.constant\u001b[0m.constant 1.8860003910648933\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%107 = \u001b[34mpy.constant\u001b[0m.constant 5.488698173149897\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%108 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m u3(%104, %105, %106, %107)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m%109 = \u001b[34mpy.constant\u001b[0m.constant 6\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%110 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %109)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%111 = \u001b[34mpy.constant\u001b[0m.constant 1.4150185072200883\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%112 = \u001b[34mpy.constant\u001b[0m.constant 1.8860003910648933\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%113 = \u001b[34mpy.constant\u001b[0m.constant 5.488698173149897\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%114 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m u3(%110, %111, %112, %113)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m%115 = \u001b[34mpy.constant\u001b[0m.constant 4\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%116 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %115)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%117 = \u001b[34mpy.constant\u001b[0m.constant 6\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%118 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %117)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%119 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m cz(%116, %118)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m%120 = \u001b[34mpy.constant\u001b[0m.constant 5\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%121 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %120)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%122 = \u001b[34mpy.constant\u001b[0m.constant 1.4150185072200883\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%123 = \u001b[34mpy.constant\u001b[0m.constant 1.8860003910648933\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%124 = \u001b[34mpy.constant\u001b[0m.constant 5.488698173149897\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%125 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m u3(%121, %122, %123, %124)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m%126 = \u001b[34mpy.constant\u001b[0m.constant 7\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%127 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %126)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%128 = \u001b[34mpy.constant\u001b[0m.constant 1.4150185072200883\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%129 = \u001b[34mpy.constant\u001b[0m.constant 1.8860003910648933\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%130 = \u001b[34mpy.constant\u001b[0m.constant 5.488698173149897\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%131 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m u3(%127, %128, %129, %130)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m%132 = \u001b[34mpy.constant\u001b[0m.constant 5\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%133 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %132)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%134 = \u001b[34mpy.constant\u001b[0m.constant 7\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%135 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %134)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%136 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m cz(%133, %135)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m%137 = \u001b[34mpy.constant\u001b[0m.constant 0\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%138 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %137)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%139 = \u001b[34mpy.constant\u001b[0m.constant 0.033082884284244704\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%140 = \u001b[34mpy.constant\u001b[0m.constant 5.159930332220927\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%141 = \u001b[34mpy.constant\u001b[0m.constant 5.008134923536883\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%142 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m u3(%138, %139, %140, %141)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m%143 = \u001b[34mpy.constant\u001b[0m.constant 4\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%144 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %143)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%145 = \u001b[34mpy.constant\u001b[0m.constant 0.033082884284244704\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%146 = \u001b[34mpy.constant\u001b[0m.constant 5.159930332220927\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%147 = \u001b[34mpy.constant\u001b[0m.constant 5.008134923536883\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%148 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m u3(%144, %145, %146, %147)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m%149 = \u001b[34mpy.constant\u001b[0m.constant 0\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%150 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %149)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%151 = \u001b[34mpy.constant\u001b[0m.constant 4\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%152 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %151)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%153 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m cz(%150, %152)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m%154 = \u001b[34mpy.constant\u001b[0m.constant 1\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%155 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %154)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%156 = \u001b[34mpy.constant\u001b[0m.constant 0.033082884284244704\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%157 = \u001b[34mpy.constant\u001b[0m.constant 5.159930332220927\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%158 = \u001b[34mpy.constant\u001b[0m.constant 5.008134923536883\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%159 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m u3(%155, %156, %157, %158)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m%160 = \u001b[34mpy.constant\u001b[0m.constant 5\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%161 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %160)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%162 = \u001b[34mpy.constant\u001b[0m.constant 0.033082884284244704\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%163 = \u001b[34mpy.constant\u001b[0m.constant 5.159930332220927\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%164 = \u001b[34mpy.constant\u001b[0m.constant 5.008134923536883\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%165 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m u3(%161, %162, %163, %164)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m%166 = \u001b[34mpy.constant\u001b[0m.constant 1\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%167 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %166)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%168 = \u001b[34mpy.constant\u001b[0m.constant 5\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%169 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %168)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%170 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m cz(%167, %169)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m%171 = \u001b[34mpy.constant\u001b[0m.constant 2\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%172 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %171)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%173 = \u001b[34mpy.constant\u001b[0m.constant 0.033082884284244704\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%174 = \u001b[34mpy.constant\u001b[0m.constant 5.159930332220927\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%175 = \u001b[34mpy.constant\u001b[0m.constant 5.008134923536883\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%176 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m u3(%172, %173, %174, %175)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m%177 = \u001b[34mpy.constant\u001b[0m.constant 6\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%178 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %177)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%179 = \u001b[34mpy.constant\u001b[0m.constant 0.033082884284244704\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%180 = \u001b[34mpy.constant\u001b[0m.constant 5.159930332220927\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%181 = \u001b[34mpy.constant\u001b[0m.constant 5.008134923536883\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%182 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m u3(%178, %179, %180, %181)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m%183 = \u001b[34mpy.constant\u001b[0m.constant 2\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%184 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %183)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%185 = \u001b[34mpy.constant\u001b[0m.constant 6\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%186 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %185)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%187 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m cz(%184, %186)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m%188 = \u001b[34mpy.constant\u001b[0m.constant 3\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%189 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %188)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%190 = \u001b[34mpy.constant\u001b[0m.constant 0.033082884284244704\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%191 = \u001b[34mpy.constant\u001b[0m.constant 5.159930332220927\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%192 = \u001b[34mpy.constant\u001b[0m.constant 5.008134923536883\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%193 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m u3(%189, %190, %191, %192)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m%194 = \u001b[34mpy.constant\u001b[0m.constant 7\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%195 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %194)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%196 = \u001b[34mpy.constant\u001b[0m.constant 0.033082884284244704\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%197 = \u001b[34mpy.constant\u001b[0m.constant 5.159930332220927\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%198 = \u001b[34mpy.constant\u001b[0m.constant 5.008134923536883\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%199 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m u3(%195, %196, %197, %198)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m%200 = \u001b[34mpy.constant\u001b[0m.constant 3\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%201 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %200)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%202 = \u001b[34mpy.constant\u001b[0m.constant 7\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%203 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %202)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%204 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m cz(%201, %203)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m%205 = \u001b[34mpy.constant\u001b[0m.constant 0\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%206 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %205)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%207 = \u001b[34mpy.constant\u001b[0m.constant 2.940122020423439\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%208 = \u001b[34mpy.constant\u001b[0m.constant 1.904008891790084\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%209 = \u001b[34mpy.constant\u001b[0m.constant 1.7493997150940617\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%210 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m u3(%206, %207, %208, %209)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m%211 = \u001b[34mpy.constant\u001b[0m.constant 1\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%212 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %211)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%213 = \u001b[34mpy.constant\u001b[0m.constant 2.940122020423439\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%214 = \u001b[34mpy.constant\u001b[0m.constant 1.904008891790084\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%215 = \u001b[34mpy.constant\u001b[0m.constant 1.7493997150940617\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%216 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m u3(%212, %213, %214, %215)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m%217 = \u001b[34mpy.constant\u001b[0m.constant 0\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%218 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %217)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%219 = \u001b[34mpy.constant\u001b[0m.constant 1\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%220 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %219)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%221 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m cz(%218, %220)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m%222 = \u001b[34mpy.constant\u001b[0m.constant 2\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%223 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %222)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%224 = \u001b[34mpy.constant\u001b[0m.constant 2.940122020423439\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%225 = \u001b[34mpy.constant\u001b[0m.constant 1.904008891790084\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%226 = \u001b[34mpy.constant\u001b[0m.constant 1.7493997150940617\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%227 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m u3(%223, %224, %225, %226)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m%228 = \u001b[34mpy.constant\u001b[0m.constant 3\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%229 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %228)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%230 = \u001b[34mpy.constant\u001b[0m.constant 2.940122020423439\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%231 = \u001b[34mpy.constant\u001b[0m.constant 1.904008891790084\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%232 = \u001b[34mpy.constant\u001b[0m.constant 1.7493997150940617\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%233 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m u3(%229, %230, %231, %232)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m%234 = \u001b[34mpy.constant\u001b[0m.constant 2\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%235 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %234)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%236 = \u001b[34mpy.constant\u001b[0m.constant 3\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%237 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %236)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%238 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m cz(%235, %237)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m%239 = \u001b[34mpy.constant\u001b[0m.constant 4\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%240 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %239)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%241 = \u001b[34mpy.constant\u001b[0m.constant 2.940122020423439\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%242 = \u001b[34mpy.constant\u001b[0m.constant 1.904008891790084\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%243 = \u001b[34mpy.constant\u001b[0m.constant 1.7493997150940617\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%244 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m u3(%240, %241, %242, %243)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m%245 = \u001b[34mpy.constant\u001b[0m.constant 5\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%246 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %245)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%247 = \u001b[34mpy.constant\u001b[0m.constant 2.940122020423439\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%248 = \u001b[34mpy.constant\u001b[0m.constant 1.904008891790084\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%249 = \u001b[34mpy.constant\u001b[0m.constant 1.7493997150940617\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%250 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m u3(%246, %247, %248, %249)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m%251 = \u001b[34mpy.constant\u001b[0m.constant 4\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%252 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %251)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%253 = \u001b[34mpy.constant\u001b[0m.constant 5\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%254 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %253)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%255 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m cz(%252, %254)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m%256 = \u001b[34mpy.constant\u001b[0m.constant 6\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%257 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %256)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%258 = \u001b[34mpy.constant\u001b[0m.constant 2.940122020423439\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%259 = \u001b[34mpy.constant\u001b[0m.constant 1.904008891790084\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%260 = \u001b[34mpy.constant\u001b[0m.constant 1.7493997150940617\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%261 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m u3(%257, %258, %259, %260)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m%262 = \u001b[34mpy.constant\u001b[0m.constant 7\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%263 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %262)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%264 = \u001b[34mpy.constant\u001b[0m.constant 2.940122020423439\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%265 = \u001b[34mpy.constant\u001b[0m.constant 1.904008891790084\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%266 = \u001b[34mpy.constant\u001b[0m.constant 1.7493997150940617\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%267 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m u3(%263, %264, %265, %266)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m%268 = \u001b[34mpy.constant\u001b[0m.constant 6\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%269 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %268)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%270 = \u001b[34mpy.constant\u001b[0m.constant 7\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%271 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %270)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%272 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m cz(%269, %271)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m%273 = \u001b[34mpy.constant\u001b[0m.constant 0\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%274 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %273)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%275 = \u001b[34mpy.constant\u001b[0m.constant 1.6013928483953153\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%276 = \u001b[34mpy.constant\u001b[0m.constant 2.796496905695612\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%277 = \u001b[34mpy.constant\u001b[0m.constant 3.1701702074476534\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%278 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m u3(%274, %275, %276, %277)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m%279 = \u001b[34mpy.constant\u001b[0m.constant 2\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%280 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %279)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%281 = \u001b[34mpy.constant\u001b[0m.constant 1.6013928483953153\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%282 = \u001b[34mpy.constant\u001b[0m.constant 2.796496905695612\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%283 = \u001b[34mpy.constant\u001b[0m.constant 3.1701702074476534\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%284 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m u3(%280, %281, %282, %283)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m%285 = \u001b[34mpy.constant\u001b[0m.constant 0\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%286 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %285)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%287 = \u001b[34mpy.constant\u001b[0m.constant 2\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%288 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %287)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%289 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m cz(%286, %288)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m%290 = \u001b[34mpy.constant\u001b[0m.constant 1\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%291 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %290)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%292 = \u001b[34mpy.constant\u001b[0m.constant 1.6013928483953153\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%293 = \u001b[34mpy.constant\u001b[0m.constant 2.796496905695612\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%294 = \u001b[34mpy.constant\u001b[0m.constant 3.1701702074476534\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%295 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m u3(%291, %292, %293, %294)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m%296 = \u001b[34mpy.constant\u001b[0m.constant 3\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%297 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %296)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%298 = \u001b[34mpy.constant\u001b[0m.constant 1.6013928483953153\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%299 = \u001b[34mpy.constant\u001b[0m.constant 2.796496905695612\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%300 = \u001b[34mpy.constant\u001b[0m.constant 3.1701702074476534\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%301 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m u3(%297, %298, %299, %300)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m%302 = \u001b[34mpy.constant\u001b[0m.constant 1\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%303 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %302)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%304 = \u001b[34mpy.constant\u001b[0m.constant 3\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%305 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %304)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%306 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m cz(%303, %305)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m%307 = \u001b[34mpy.constant\u001b[0m.constant 4\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%308 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %307)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%309 = \u001b[34mpy.constant\u001b[0m.constant 1.6013928483953153\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%310 = \u001b[34mpy.constant\u001b[0m.constant 2.796496905695612\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%311 = \u001b[34mpy.constant\u001b[0m.constant 3.1701702074476534\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%312 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m u3(%308, %309, %310, %311)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m%313 = \u001b[34mpy.constant\u001b[0m.constant 6\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%314 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %313)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%315 = \u001b[34mpy.constant\u001b[0m.constant 1.6013928483953153\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%316 = \u001b[34mpy.constant\u001b[0m.constant 2.796496905695612\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%317 = \u001b[34mpy.constant\u001b[0m.constant 3.1701702074476534\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%318 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m u3(%314, %315, %316, %317)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m%319 = \u001b[34mpy.constant\u001b[0m.constant 4\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%320 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %319)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%321 = \u001b[34mpy.constant\u001b[0m.constant 6\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%322 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %321)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%323 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m cz(%320, %322)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m%324 = \u001b[34mpy.constant\u001b[0m.constant 5\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%325 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %324)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%326 = \u001b[34mpy.constant\u001b[0m.constant 1.6013928483953153\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%327 = \u001b[34mpy.constant\u001b[0m.constant 2.796496905695612\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%328 = \u001b[34mpy.constant\u001b[0m.constant 3.1701702074476534\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%329 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m u3(%325, %326, %327, %328)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m%330 = \u001b[34mpy.constant\u001b[0m.constant 7\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%331 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %330)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%332 = \u001b[34mpy.constant\u001b[0m.constant 1.6013928483953153\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%333 = \u001b[34mpy.constant\u001b[0m.constant 2.796496905695612\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%334 = \u001b[34mpy.constant\u001b[0m.constant 3.1701702074476534\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%335 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m u3(%331, %332, %333, %334)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m%336 = \u001b[34mpy.constant\u001b[0m.constant 5\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%337 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %336)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%338 = \u001b[34mpy.constant\u001b[0m.constant 7\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%339 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %338)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%340 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m cz(%337, %339)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m%341 = \u001b[34mpy.constant\u001b[0m.constant 0\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%342 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %341)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%343 = \u001b[34mpy.constant\u001b[0m.constant 3.4777264301172575\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%344 = \u001b[34mpy.constant\u001b[0m.constant 6.25491275416809\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%345 = \u001b[34mpy.constant\u001b[0m.constant 4.980441724364625\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%346 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m u3(%342, %343, %344, %345)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m%347 = \u001b[34mpy.constant\u001b[0m.constant 4\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%348 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %347)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%349 = \u001b[34mpy.constant\u001b[0m.constant 3.4777264301172575\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%350 = \u001b[34mpy.constant\u001b[0m.constant 6.25491275416809\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%351 = \u001b[34mpy.constant\u001b[0m.constant 4.980441724364625\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%352 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m u3(%348, %349, %350, %351)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m%353 = \u001b[34mpy.constant\u001b[0m.constant 0\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%354 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %353)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%355 = \u001b[34mpy.constant\u001b[0m.constant 4\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%356 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %355)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%357 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m cz(%354, %356)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m%358 = \u001b[34mpy.constant\u001b[0m.constant 1\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%359 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %358)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%360 = \u001b[34mpy.constant\u001b[0m.constant 3.4777264301172575\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%361 = \u001b[34mpy.constant\u001b[0m.constant 6.25491275416809\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%362 = \u001b[34mpy.constant\u001b[0m.constant 4.980441724364625\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%363 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m u3(%359, %360, %361, %362)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m%364 = \u001b[34mpy.constant\u001b[0m.constant 5\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%365 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %364)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%366 = \u001b[34mpy.constant\u001b[0m.constant 3.4777264301172575\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%367 = \u001b[34mpy.constant\u001b[0m.constant 6.25491275416809\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%368 = \u001b[34mpy.constant\u001b[0m.constant 4.980441724364625\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%369 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m u3(%365, %366, %367, %368)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m%370 = \u001b[34mpy.constant\u001b[0m.constant 1\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%371 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %370)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%372 = \u001b[34mpy.constant\u001b[0m.constant 5\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%373 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %372)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%374 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m cz(%371, %373)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m%375 = \u001b[34mpy.constant\u001b[0m.constant 2\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%376 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %375)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%377 = \u001b[34mpy.constant\u001b[0m.constant 3.4777264301172575\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%378 = \u001b[34mpy.constant\u001b[0m.constant 6.25491275416809\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%379 = \u001b[34mpy.constant\u001b[0m.constant 4.980441724364625\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%380 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m u3(%376, %377, %378, %379)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m%381 = \u001b[34mpy.constant\u001b[0m.constant 6\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%382 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %381)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%383 = \u001b[34mpy.constant\u001b[0m.constant 3.4777264301172575\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%384 = \u001b[34mpy.constant\u001b[0m.constant 6.25491275416809\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%385 = \u001b[34mpy.constant\u001b[0m.constant 4.980441724364625\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%386 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m u3(%382, %383, %384, %385)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m%387 = \u001b[34mpy.constant\u001b[0m.constant 2\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%388 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %387)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%389 = \u001b[34mpy.constant\u001b[0m.constant 6\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%390 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %389)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%391 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m cz(%388, %390)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m%392 = \u001b[34mpy.constant\u001b[0m.constant 3\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%393 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %392)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%394 = \u001b[34mpy.constant\u001b[0m.constant 3.4777264301172575\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%395 = \u001b[34mpy.constant\u001b[0m.constant 6.25491275416809\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%396 = \u001b[34mpy.constant\u001b[0m.constant 4.980441724364625\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%397 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m u3(%393, %394, %395, %396)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m%398 = \u001b[34mpy.constant\u001b[0m.constant 7\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%399 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %398)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%400 = \u001b[34mpy.constant\u001b[0m.constant 3.4777264301172575\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%401 = \u001b[34mpy.constant\u001b[0m.constant 6.25491275416809\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%402 = \u001b[34mpy.constant\u001b[0m.constant 4.980441724364625\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%403 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m u3(%399, %400, %401, %402)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m%404 = \u001b[34mpy.constant\u001b[0m.constant 3\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%405 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %404)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%406 = \u001b[34mpy.constant\u001b[0m.constant 7\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%407 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %406)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%408 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m cz(%405, %407)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m%409 = \u001b[34mfunc\u001b[0m.const.none()\u001b[30m : \u001b[0m\u001b[30m!py.NoneType\u001b[0m\n", + "\u001b[90m │ \u001b[0m \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31mreturn\u001b[0m %409\n", + "}\u001b[90m // func.func hc_kernel_0\u001b[0m\n" + ] + } + ], + "source": [ + "n = 3\n", + "n_layers = 2\n", + "n_qubits = 1 << n\n", + "\n", + "global_spec = HCSpec(\n", + " title='Global-parameter hypercube ansatz',\n", + " single_qub_params=np.random.default_rng(7).uniform(0.0, 2.0 * np.pi, size=3 * n * n_layers),\n", + " n=n,\n", + " n_layers=n_layers,\n", + " qub_dicts=None,\n", + " local_sq_gates=False,\n", + " is_xyx=False,\n", + ")\n", + "\n", + "global_kernel = show_hc_kernel(global_spec)\n" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "639a4378", + "metadata": {}, + "outputs": [], + "source": [ + "# fig, ax = plot_hc_kernel(global_kernel, annotate_params=False)\n", + "# plt.show()" + ] + }, + { + "cell_type": "markdown", + "id": "31b88ac4", + "metadata": {}, + "source": [ + "## 8-Qubit Cube: Local Parameters\n", + "\n", + "This mirrors the second example, where every active edge carries its own two local single-qubit `U3` blocks before the `CZ`.\n" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "4e0629b4", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Local-parameter hypercube ansatz\n", + "{'active_edges_per_layer': [12, 12],\n", + " 'expected_parameter_count': 144,\n", + " 'hypercube_dimension': 3,\n", + " 'local_sq_gates': True,\n", + " 'n_layers': 2,\n", + " 'n_qubits': 8,\n", + " 'parameter_count': 144,\n", + " 'total_cz_gates': 24,\n", + " 'total_single_qubit_blocks': 48}\n", + "\n", + "Physical squin kernel:\n", + "\u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31mfunc\u001b[0m\u001b[31m \u001b[0m\u001b[36m@hc_kernel_1\u001b[0m()\u001b[90m -> \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m \u001b[0m{\n", + "\u001b[90m \u001b[0m^0(%hc_kernel_1_self):\n", + "\u001b[90m │ \u001b[0m %0 = \u001b[34mpy.constant\u001b[0m.constant 8\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%reg = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m qalloc(%0)\u001b[90m : \u001b[0m\u001b[90m!py.IList\u001b[0m\u001b[90m[\u001b[0m\u001b[90m!py.Qubit\u001b[0m\u001b[90m, \u001b[0m\u001b[90m!\u001b[0m\u001b[90mAny\u001b[0m\u001b[90m]\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m %1 = \u001b[34mpy.constant\u001b[0m.constant 0\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m %2 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %1)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m %3 = \u001b[34mpy.constant\u001b[0m.constant 0.8078304089805352\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m %4 = \u001b[34mpy.constant\u001b[0m.constant 3.137055329483761\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m %5 = \u001b[34mpy.constant\u001b[0m.constant 3.779325642911732\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m %6 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m u3(%2, %3, %4, %5)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m %7 = \u001b[34mpy.constant\u001b[0m.constant 1\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m %8 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %7)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m %9 = \u001b[34mpy.constant\u001b[0m.constant 0.18025835588015413\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m %10 = \u001b[34mpy.constant\u001b[0m.constant 0.9294470011656759\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m %11 = \u001b[34mpy.constant\u001b[0m.constant 5.832121861426727\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m %12 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m u3(%8, %9, %10, %11)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m %13 = \u001b[34mpy.constant\u001b[0m.constant 0\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m %14 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %13)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m %15 = \u001b[34mpy.constant\u001b[0m.constant 1\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m %16 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %15)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m %17 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m cz(%14, %16)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m %18 = \u001b[34mpy.constant\u001b[0m.constant 2\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m %19 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %18)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m %20 = \u001b[34mpy.constant\u001b[0m.constant 0.4424655294151707\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m %21 = \u001b[34mpy.constant\u001b[0m.constant 0.8153937721203361\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m %22 = \u001b[34mpy.constant\u001b[0m.constant 5.958523404103223\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m %23 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m u3(%19, %20, %21, %22)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m %24 = \u001b[34mpy.constant\u001b[0m.constant 3\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m %25 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %24)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m %26 = \u001b[34mpy.constant\u001b[0m.constant 3.9074098530342853\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m %27 = \u001b[34mpy.constant\u001b[0m.constant 2.3184521734693218\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m %28 = \u001b[34mpy.constant\u001b[0m.constant 3.213158271232508\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m %29 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m u3(%25, %26, %27, %28)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m %30 = \u001b[34mpy.constant\u001b[0m.constant 2\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m %31 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %30)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m %32 = \u001b[34mpy.constant\u001b[0m.constant 3\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m %33 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %32)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m %34 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m cz(%31, %33)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m %35 = \u001b[34mpy.constant\u001b[0m.constant 4\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m %36 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %35)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m %37 = \u001b[34mpy.constant\u001b[0m.constant 4.164765100221089\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m %38 = \u001b[34mpy.constant\u001b[0m.constant 1.7298163061273393\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m %39 = \u001b[34mpy.constant\u001b[0m.constant 0.8668789682975363\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m %40 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m u3(%36, %37, %38, %39)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m %41 = \u001b[34mpy.constant\u001b[0m.constant 5\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m %42 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %41)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m %43 = \u001b[34mpy.constant\u001b[0m.constant 4.951398801663241\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m %44 = \u001b[34mpy.constant\u001b[0m.constant 4.2119997725450515\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m %45 = \u001b[34mpy.constant\u001b[0m.constant 3.2193930237360786\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m %46 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m u3(%42, %43, %44, %45)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m %47 = \u001b[34mpy.constant\u001b[0m.constant 4\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m %48 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %47)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m %49 = \u001b[34mpy.constant\u001b[0m.constant 5\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m %50 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %49)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m %51 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m cz(%48, %50)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m %52 = \u001b[34mpy.constant\u001b[0m.constant 6\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m %53 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %52)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m %54 = \u001b[34mpy.constant\u001b[0m.constant 5.131706374322777\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m %55 = \u001b[34mpy.constant\u001b[0m.constant 3.4499416618998304\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m %56 = \u001b[34mpy.constant\u001b[0m.constant 6.163262166044886\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m %57 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m u3(%53, %54, %55, %56)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m %58 = \u001b[34mpy.constant\u001b[0m.constant 7\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m %59 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %58)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m %60 = \u001b[34mpy.constant\u001b[0m.constant 1.2849708426081499\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m %61 = \u001b[34mpy.constant\u001b[0m.constant 3.47919048009402\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m %62 = \u001b[34mpy.constant\u001b[0m.constant 3.03870358989821\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m %63 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m u3(%59, %60, %61, %62)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m %64 = \u001b[34mpy.constant\u001b[0m.constant 6\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m %65 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %64)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m %66 = \u001b[34mpy.constant\u001b[0m.constant 7\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m %67 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %66)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m %68 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m cz(%65, %67)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m %69 = \u001b[34mpy.constant\u001b[0m.constant 0\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m %70 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %69)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m %71 = \u001b[34mpy.constant\u001b[0m.constant 2.2196913787118056\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m %72 = \u001b[34mpy.constant\u001b[0m.constant 3.7171029215690714\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m %73 = \u001b[34mpy.constant\u001b[0m.constant 1.4784412415750021\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m %74 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m u3(%70, %71, %72, %73)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m %75 = \u001b[34mpy.constant\u001b[0m.constant 2\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m %76 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %75)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m %77 = \u001b[34mpy.constant\u001b[0m.constant 5.040388116096999\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m %78 = \u001b[34mpy.constant\u001b[0m.constant 5.449617429360144\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m %79 = \u001b[34mpy.constant\u001b[0m.constant 0.8090208744161077\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m %80 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m u3(%76, %77, %78, %79)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m %81 = \u001b[34mpy.constant\u001b[0m.constant 0\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m %82 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %81)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m %83 = \u001b[34mpy.constant\u001b[0m.constant 2\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m %84 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %83)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m %85 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m cz(%82, %84)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m %86 = \u001b[34mpy.constant\u001b[0m.constant 1\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m %87 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %86)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m %88 = \u001b[34mpy.constant\u001b[0m.constant 2.9347075099551585\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m %89 = \u001b[34mpy.constant\u001b[0m.constant 1.7413527167276366\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m %90 = \u001b[34mpy.constant\u001b[0m.constant 0.522239498946954\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m %91 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m u3(%87, %88, %89, %90)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m %92 = \u001b[34mpy.constant\u001b[0m.constant 3\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m %93 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %92)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m %94 = \u001b[34mpy.constant\u001b[0m.constant 5.629384113649888\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m %95 = \u001b[34mpy.constant\u001b[0m.constant 2.70144730471604\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m %96 = \u001b[34mpy.constant\u001b[0m.constant 0.9279718059200824\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m %97 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m u3(%93, %94, %95, %96)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m %98 = \u001b[34mpy.constant\u001b[0m.constant 1\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m %99 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %98)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%100 = \u001b[34mpy.constant\u001b[0m.constant 3\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%101 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %100)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%102 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m cz(%99, %101)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m%103 = \u001b[34mpy.constant\u001b[0m.constant 4\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%104 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %103)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%105 = \u001b[34mpy.constant\u001b[0m.constant 4.2308604696438135\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%106 = \u001b[34mpy.constant\u001b[0m.constant 1.2705607746740202\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%107 = \u001b[34mpy.constant\u001b[0m.constant 5.663858509048599\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%108 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m u3(%104, %105, %106, %107)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m%109 = \u001b[34mpy.constant\u001b[0m.constant 6\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%110 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %109)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%111 = \u001b[34mpy.constant\u001b[0m.constant 1.3643827404917468\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%112 = \u001b[34mpy.constant\u001b[0m.constant 0.20781438976941807\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%113 = \u001b[34mpy.constant\u001b[0m.constant 1.261468542923585\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%114 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m u3(%110, %111, %112, %113)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m%115 = \u001b[34mpy.constant\u001b[0m.constant 4\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%116 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %115)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%117 = \u001b[34mpy.constant\u001b[0m.constant 6\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%118 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %117)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%119 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m cz(%116, %118)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m%120 = \u001b[34mpy.constant\u001b[0m.constant 5\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%121 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %120)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%122 = \u001b[34mpy.constant\u001b[0m.constant 2.172397960370017\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%123 = \u001b[34mpy.constant\u001b[0m.constant 2.9462368828327197\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%124 = \u001b[34mpy.constant\u001b[0m.constant 5.693409964479474\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%125 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m u3(%121, %122, %123, %124)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m%126 = \u001b[34mpy.constant\u001b[0m.constant 7\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%127 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %126)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%128 = \u001b[34mpy.constant\u001b[0m.constant 4.381648946546666\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%129 = \u001b[34mpy.constant\u001b[0m.constant 2.132014589999401\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%130 = \u001b[34mpy.constant\u001b[0m.constant 0.10604266992670794\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%131 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m u3(%127, %128, %129, %130)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m%132 = \u001b[34mpy.constant\u001b[0m.constant 5\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%133 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %132)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%134 = \u001b[34mpy.constant\u001b[0m.constant 7\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%135 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %134)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%136 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m cz(%133, %135)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m%137 = \u001b[34mpy.constant\u001b[0m.constant 0\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%138 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %137)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%139 = \u001b[34mpy.constant\u001b[0m.constant 1.0042018865395812\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%140 = \u001b[34mpy.constant\u001b[0m.constant 6.2607912527374845\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%141 = \u001b[34mpy.constant\u001b[0m.constant 2.8884806903405233\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%142 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m u3(%138, %139, %140, %141)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m%143 = \u001b[34mpy.constant\u001b[0m.constant 4\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%144 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %143)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%145 = \u001b[34mpy.constant\u001b[0m.constant 4.341931848888639\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%146 = \u001b[34mpy.constant\u001b[0m.constant 0.34348956017202\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%147 = \u001b[34mpy.constant\u001b[0m.constant 0.21394421238539307\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%148 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m u3(%144, %145, %146, %147)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m%149 = \u001b[34mpy.constant\u001b[0m.constant 0\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%150 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %149)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%151 = \u001b[34mpy.constant\u001b[0m.constant 4\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%152 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %151)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%153 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m cz(%150, %152)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m%154 = \u001b[34mpy.constant\u001b[0m.constant 1\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%155 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %154)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%156 = \u001b[34mpy.constant\u001b[0m.constant 5.314884288304161\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%157 = \u001b[34mpy.constant\u001b[0m.constant 3.693771171954239\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%158 = \u001b[34mpy.constant\u001b[0m.constant 1.9396805226860871\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%159 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m u3(%155, %156, %157, %158)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m%160 = \u001b[34mpy.constant\u001b[0m.constant 5\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%161 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %160)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%162 = \u001b[34mpy.constant\u001b[0m.constant 1.9941362304913497\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%163 = \u001b[34mpy.constant\u001b[0m.constant 0.5606942058106457\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%164 = \u001b[34mpy.constant\u001b[0m.constant 1.084915100681961\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%165 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m u3(%161, %162, %163, %164)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m%166 = \u001b[34mpy.constant\u001b[0m.constant 1\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%167 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %166)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%168 = \u001b[34mpy.constant\u001b[0m.constant 5\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%169 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %168)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%170 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m cz(%167, %169)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m%171 = \u001b[34mpy.constant\u001b[0m.constant 2\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%172 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %171)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%173 = \u001b[34mpy.constant\u001b[0m.constant 0.1544790691859969\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%174 = \u001b[34mpy.constant\u001b[0m.constant 5.27237691818516\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%175 = \u001b[34mpy.constant\u001b[0m.constant 2.9298693973577925\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%176 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m u3(%172, %173, %174, %175)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m%177 = \u001b[34mpy.constant\u001b[0m.constant 6\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%178 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %177)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%179 = \u001b[34mpy.constant\u001b[0m.constant 0.7992394932093565\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%180 = \u001b[34mpy.constant\u001b[0m.constant 4.644825097306932\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%181 = \u001b[34mpy.constant\u001b[0m.constant 1.2293229864205468\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%182 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m u3(%178, %179, %180, %181)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m%183 = \u001b[34mpy.constant\u001b[0m.constant 2\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%184 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %183)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%185 = \u001b[34mpy.constant\u001b[0m.constant 6\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%186 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %185)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%187 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m cz(%184, %186)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m%188 = \u001b[34mpy.constant\u001b[0m.constant 3\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%189 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %188)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%190 = \u001b[34mpy.constant\u001b[0m.constant 0.3890563117018622\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%191 = \u001b[34mpy.constant\u001b[0m.constant 3.7598084966706264\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%192 = \u001b[34mpy.constant\u001b[0m.constant 5.62821194453304\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%193 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m u3(%189, %190, %191, %192)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m%194 = \u001b[34mpy.constant\u001b[0m.constant 7\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%195 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %194)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%196 = \u001b[34mpy.constant\u001b[0m.constant 0.16929044653765982\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%197 = \u001b[34mpy.constant\u001b[0m.constant 5.058818621968828\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%198 = \u001b[34mpy.constant\u001b[0m.constant 1.1948734549736069\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%199 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m u3(%195, %196, %197, %198)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m%200 = \u001b[34mpy.constant\u001b[0m.constant 3\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%201 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %200)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%202 = \u001b[34mpy.constant\u001b[0m.constant 7\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%203 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %202)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%204 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m cz(%201, %203)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m%205 = \u001b[34mpy.constant\u001b[0m.constant 0\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%206 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %205)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%207 = \u001b[34mpy.constant\u001b[0m.constant 0.5837168474428487\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%208 = \u001b[34mpy.constant\u001b[0m.constant 0.11285879849917678\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%209 = \u001b[34mpy.constant\u001b[0m.constant 1.8408166364202934\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%210 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m u3(%206, %207, %208, %209)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m%211 = \u001b[34mpy.constant\u001b[0m.constant 1\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%212 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %211)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%213 = \u001b[34mpy.constant\u001b[0m.constant 4.568577826464913\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%214 = \u001b[34mpy.constant\u001b[0m.constant 3.098734738784441\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%215 = \u001b[34mpy.constant\u001b[0m.constant 5.359054377356383\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%216 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m u3(%212, %213, %214, %215)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m%217 = \u001b[34mpy.constant\u001b[0m.constant 0\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%218 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %217)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%219 = \u001b[34mpy.constant\u001b[0m.constant 1\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%220 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %219)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%221 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m cz(%218, %220)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m%222 = \u001b[34mpy.constant\u001b[0m.constant 2\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%223 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %222)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%224 = \u001b[34mpy.constant\u001b[0m.constant 1.3647788708395534\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%225 = \u001b[34mpy.constant\u001b[0m.constant 1.9803516059281083\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%226 = \u001b[34mpy.constant\u001b[0m.constant 1.6219468075555719\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%227 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m u3(%223, %224, %225, %226)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m%228 = \u001b[34mpy.constant\u001b[0m.constant 3\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%229 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %228)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%230 = \u001b[34mpy.constant\u001b[0m.constant 6.1468473319697665\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%231 = \u001b[34mpy.constant\u001b[0m.constant 5.912515039561808\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%232 = \u001b[34mpy.constant\u001b[0m.constant 2.1405943745008185\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%233 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m u3(%229, %230, %231, %232)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m%234 = \u001b[34mpy.constant\u001b[0m.constant 2\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%235 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %234)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%236 = \u001b[34mpy.constant\u001b[0m.constant 3\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%237 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %236)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%238 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m cz(%235, %237)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m%239 = \u001b[34mpy.constant\u001b[0m.constant 4\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%240 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %239)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%241 = \u001b[34mpy.constant\u001b[0m.constant 2.7394782412795418\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%242 = \u001b[34mpy.constant\u001b[0m.constant 1.9749284728301915\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%243 = \u001b[34mpy.constant\u001b[0m.constant 4.690453860891896\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%244 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m u3(%240, %241, %242, %243)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m%245 = \u001b[34mpy.constant\u001b[0m.constant 5\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%246 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %245)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%247 = \u001b[34mpy.constant\u001b[0m.constant 0.2514097380568749\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%248 = \u001b[34mpy.constant\u001b[0m.constant 0.4237313135356855\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%249 = \u001b[34mpy.constant\u001b[0m.constant 2.538643033129777\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%250 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m u3(%246, %247, %248, %249)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m%251 = \u001b[34mpy.constant\u001b[0m.constant 4\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%252 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %251)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%253 = \u001b[34mpy.constant\u001b[0m.constant 5\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%254 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %253)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%255 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m cz(%252, %254)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m%256 = \u001b[34mpy.constant\u001b[0m.constant 6\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%257 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %256)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%258 = \u001b[34mpy.constant\u001b[0m.constant 1.5399713408370095\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%259 = \u001b[34mpy.constant\u001b[0m.constant 5.310705186286283\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%260 = \u001b[34mpy.constant\u001b[0m.constant 4.660911449335092\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%261 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m u3(%257, %258, %259, %260)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m%262 = \u001b[34mpy.constant\u001b[0m.constant 7\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%263 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %262)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%264 = \u001b[34mpy.constant\u001b[0m.constant 3.4293247317352735\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%265 = \u001b[34mpy.constant\u001b[0m.constant 4.156173232593647\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%266 = \u001b[34mpy.constant\u001b[0m.constant 4.3497179115901226\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%267 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m u3(%263, %264, %265, %266)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m%268 = \u001b[34mpy.constant\u001b[0m.constant 6\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%269 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %268)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%270 = \u001b[34mpy.constant\u001b[0m.constant 7\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%271 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %270)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%272 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m cz(%269, %271)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m%273 = \u001b[34mpy.constant\u001b[0m.constant 0\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%274 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %273)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%275 = \u001b[34mpy.constant\u001b[0m.constant 4.90751219047821\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%276 = \u001b[34mpy.constant\u001b[0m.constant 5.827670690568165\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%277 = \u001b[34mpy.constant\u001b[0m.constant 0.9408138439110655\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%278 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m u3(%274, %275, %276, %277)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m%279 = \u001b[34mpy.constant\u001b[0m.constant 2\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%280 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %279)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%281 = \u001b[34mpy.constant\u001b[0m.constant 3.9340918075278175\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%282 = \u001b[34mpy.constant\u001b[0m.constant 0.9024001411657616\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%283 = \u001b[34mpy.constant\u001b[0m.constant 2.784273819436667\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%284 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m u3(%280, %281, %282, %283)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m%285 = \u001b[34mpy.constant\u001b[0m.constant 0\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%286 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %285)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%287 = \u001b[34mpy.constant\u001b[0m.constant 2\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%288 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %287)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%289 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m cz(%286, %288)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m%290 = \u001b[34mpy.constant\u001b[0m.constant 1\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%291 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %290)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%292 = \u001b[34mpy.constant\u001b[0m.constant 4.94037303113944\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%293 = \u001b[34mpy.constant\u001b[0m.constant 5.621552031654781\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%294 = \u001b[34mpy.constant\u001b[0m.constant 4.770371182792323\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%295 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m u3(%291, %292, %293, %294)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m%296 = \u001b[34mpy.constant\u001b[0m.constant 3\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%297 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %296)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%298 = \u001b[34mpy.constant\u001b[0m.constant 0.222476307639086\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%299 = \u001b[34mpy.constant\u001b[0m.constant 2.2582526778716123\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%300 = \u001b[34mpy.constant\u001b[0m.constant 1.0245162937061945\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%301 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m u3(%297, %298, %299, %300)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m%302 = \u001b[34mpy.constant\u001b[0m.constant 1\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%303 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %302)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%304 = \u001b[34mpy.constant\u001b[0m.constant 3\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%305 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %304)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%306 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m cz(%303, %305)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m%307 = \u001b[34mpy.constant\u001b[0m.constant 4\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%308 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %307)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%309 = \u001b[34mpy.constant\u001b[0m.constant 6.2756611150663275\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%310 = \u001b[34mpy.constant\u001b[0m.constant 0.9048751790692643\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%311 = \u001b[34mpy.constant\u001b[0m.constant 1.5350729176247886\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%312 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m u3(%308, %309, %310, %311)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m%313 = \u001b[34mpy.constant\u001b[0m.constant 6\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%314 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %313)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%315 = \u001b[34mpy.constant\u001b[0m.constant 2.244477650771236\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%316 = \u001b[34mpy.constant\u001b[0m.constant 0.38256243712161836\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%317 = \u001b[34mpy.constant\u001b[0m.constant 5.468789722357398\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%318 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m u3(%314, %315, %316, %317)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m%319 = \u001b[34mpy.constant\u001b[0m.constant 4\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%320 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %319)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%321 = \u001b[34mpy.constant\u001b[0m.constant 6\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%322 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %321)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%323 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m cz(%320, %322)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m%324 = \u001b[34mpy.constant\u001b[0m.constant 5\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%325 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %324)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%326 = \u001b[34mpy.constant\u001b[0m.constant 3.9983767359062927\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%327 = \u001b[34mpy.constant\u001b[0m.constant 1.0037277941545428\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%328 = \u001b[34mpy.constant\u001b[0m.constant 3.130713680849059\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%329 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m u3(%325, %326, %327, %328)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m%330 = \u001b[34mpy.constant\u001b[0m.constant 7\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%331 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %330)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%332 = \u001b[34mpy.constant\u001b[0m.constant 0.4942966715745301\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%333 = \u001b[34mpy.constant\u001b[0m.constant 3.8388992229234042\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%334 = \u001b[34mpy.constant\u001b[0m.constant 1.455582990995739\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%335 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m u3(%331, %332, %333, %334)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m%336 = \u001b[34mpy.constant\u001b[0m.constant 5\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%337 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %336)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%338 = \u001b[34mpy.constant\u001b[0m.constant 7\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%339 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %338)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%340 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m cz(%337, %339)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m%341 = \u001b[34mpy.constant\u001b[0m.constant 0\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%342 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %341)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%343 = \u001b[34mpy.constant\u001b[0m.constant 0.24277557526094906\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%344 = \u001b[34mpy.constant\u001b[0m.constant 0.7240585900455816\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%345 = \u001b[34mpy.constant\u001b[0m.constant 3.4888179520733766\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%346 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m u3(%342, %343, %344, %345)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m%347 = \u001b[34mpy.constant\u001b[0m.constant 4\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%348 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %347)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%349 = \u001b[34mpy.constant\u001b[0m.constant 4.002267215730726\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%350 = \u001b[34mpy.constant\u001b[0m.constant 2.0407826538360085\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%351 = \u001b[34mpy.constant\u001b[0m.constant 4.042930851287228\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%352 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m u3(%348, %349, %350, %351)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m%353 = \u001b[34mpy.constant\u001b[0m.constant 0\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%354 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %353)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%355 = \u001b[34mpy.constant\u001b[0m.constant 4\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%356 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %355)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%357 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m cz(%354, %356)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m%358 = \u001b[34mpy.constant\u001b[0m.constant 1\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%359 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %358)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%360 = \u001b[34mpy.constant\u001b[0m.constant 2.2120965461018156\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%361 = \u001b[34mpy.constant\u001b[0m.constant 0.8209547517150685\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%362 = \u001b[34mpy.constant\u001b[0m.constant 1.980524612052836\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%363 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m u3(%359, %360, %361, %362)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m%364 = \u001b[34mpy.constant\u001b[0m.constant 5\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%365 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %364)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%366 = \u001b[34mpy.constant\u001b[0m.constant 2.483543511592935\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%367 = \u001b[34mpy.constant\u001b[0m.constant 5.734278916967984\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%368 = \u001b[34mpy.constant\u001b[0m.constant 0.726715560778873\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%369 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m u3(%365, %366, %367, %368)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m%370 = \u001b[34mpy.constant\u001b[0m.constant 1\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%371 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %370)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%372 = \u001b[34mpy.constant\u001b[0m.constant 5\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%373 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %372)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%374 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m cz(%371, %373)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m%375 = \u001b[34mpy.constant\u001b[0m.constant 2\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%376 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %375)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%377 = \u001b[34mpy.constant\u001b[0m.constant 0.5413836912215969\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%378 = \u001b[34mpy.constant\u001b[0m.constant 3.5280212864485403\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%379 = \u001b[34mpy.constant\u001b[0m.constant 6.053175413556382\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%380 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m u3(%376, %377, %378, %379)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m%381 = \u001b[34mpy.constant\u001b[0m.constant 6\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%382 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %381)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%383 = \u001b[34mpy.constant\u001b[0m.constant 5.7004520791600415\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%384 = \u001b[34mpy.constant\u001b[0m.constant 4.399763175311854\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%385 = \u001b[34mpy.constant\u001b[0m.constant 0.4194073105672483\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%386 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m u3(%382, %383, %384, %385)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m%387 = \u001b[34mpy.constant\u001b[0m.constant 2\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%388 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %387)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%389 = \u001b[34mpy.constant\u001b[0m.constant 6\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%390 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %389)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%391 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m cz(%388, %390)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m%392 = \u001b[34mpy.constant\u001b[0m.constant 3\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%393 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %392)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%394 = \u001b[34mpy.constant\u001b[0m.constant 5.066769580730375\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%395 = \u001b[34mpy.constant\u001b[0m.constant 4.293770109217281\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%396 = \u001b[34mpy.constant\u001b[0m.constant 0.9043403645202759\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%397 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m u3(%393, %394, %395, %396)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m%398 = \u001b[34mpy.constant\u001b[0m.constant 7\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%399 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %398)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%400 = \u001b[34mpy.constant\u001b[0m.constant 2.9213275880405103\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%401 = \u001b[34mpy.constant\u001b[0m.constant 0.3099033835917706\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%402 = \u001b[34mpy.constant\u001b[0m.constant 5.038335283256958\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%403 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m u3(%399, %400, %401, %402)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m%404 = \u001b[34mpy.constant\u001b[0m.constant 3\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%405 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %404)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%406 = \u001b[34mpy.constant\u001b[0m.constant 7\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%407 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %406)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%408 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m cz(%405, %407)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m%409 = \u001b[34mfunc\u001b[0m.const.none()\u001b[30m : \u001b[0m\u001b[30m!py.NoneType\u001b[0m\n", + "\u001b[90m │ \u001b[0m \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31mreturn\u001b[0m %409\n", + "}\u001b[90m // func.func hc_kernel_1\u001b[0m\n" + ] + } + ], + "source": [ + "local_spec = HCSpec(\n", + " title='Local-parameter hypercube ansatz',\n", + " single_qub_params=make_local_params(n=n, n_layers=n_layers, seed=11),\n", + " n=n,\n", + " n_layers=n_layers,\n", + " qub_dicts=None,\n", + " local_sq_gates=True,\n", + " is_xyx=False,\n", + ")\n", + "\n", + "local_kernel = show_hc_kernel(local_spec)\n" + ] + }, + { + "cell_type": "markdown", + "id": "ee780948", + "metadata": {}, + "source": [ + "## Reduced 6-Qubit Register Embedded in a 3D Cube\n", + "\n", + "This uses the same `map_to_hypercube(2, 6)` helper from the Phasecraft code to place six active qubits into a 3D cube embedding.\n" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "4166910a", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Reduced qubit dictionary:\n", + "{0: 0, 1: 1, 2: 2, 3: 3, 6: 5, 7: 4}\n", + "Reduced-register hypercube ansatz\n", + "{'active_edges_per_layer': [7],\n", + " 'expected_parameter_count': 42,\n", + " 'hypercube_dimension': 3,\n", + " 'local_sq_gates': True,\n", + " 'n_layers': 1,\n", + " 'n_qubits': 6,\n", + " 'parameter_count': 42,\n", + " 'total_cz_gates': 7,\n", + " 'total_single_qubit_blocks': 14}\n", + "\n", + "Physical squin kernel:\n", + "\u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31mfunc\u001b[0m\u001b[31m \u001b[0m\u001b[36m@hc_kernel_2\u001b[0m()\u001b[90m -> \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m \u001b[0m{\n", + "\u001b[90m \u001b[0m^0(%hc_kernel_2_self):\n", + "\u001b[90m │ \u001b[0m %0 = \u001b[34mpy.constant\u001b[0m.constant 6\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%reg = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m qalloc(%0)\u001b[90m : \u001b[0m\u001b[90m!py.IList\u001b[0m\u001b[90m[\u001b[0m\u001b[90m!py.Qubit\u001b[0m\u001b[90m, \u001b[0m\u001b[90m!\u001b[0m\u001b[90mAny\u001b[0m\u001b[90m]\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m %1 = \u001b[34mpy.constant\u001b[0m.constant 0\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m %2 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %1)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m %3 = \u001b[34mpy.constant\u001b[0m.constant 4.907906557237479\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m %4 = \u001b[34mpy.constant\u001b[0m.constant 3.8066491545987025\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m %5 = \u001b[34mpy.constant\u001b[0m.constant 4.4598124105927965\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m %6 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m u3(%2, %3, %4, %5)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m %7 = \u001b[34mpy.constant\u001b[0m.constant 1\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m %8 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %7)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m %9 = \u001b[34mpy.constant\u001b[0m.constant 0.5598184460457771\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m %10 = \u001b[34mpy.constant\u001b[0m.constant 3.962895550845271\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m %11 = \u001b[34mpy.constant\u001b[0m.constant 6.162615393341174\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m %12 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m u3(%8, %9, %10, %11)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m %13 = \u001b[34mpy.constant\u001b[0m.constant 0\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m %14 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %13)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m %15 = \u001b[34mpy.constant\u001b[0m.constant 1\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m %16 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %15)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m %17 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m cz(%14, %16)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m %18 = \u001b[34mpy.constant\u001b[0m.constant 2\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m %19 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %18)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m %20 = \u001b[34mpy.constant\u001b[0m.constant 2.6603331579546596\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m %21 = \u001b[34mpy.constant\u001b[0m.constant 0.7062494017697034\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m %22 = \u001b[34mpy.constant\u001b[0m.constant 6.020965649885871\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m %23 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m u3(%19, %20, %21, %22)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m %24 = \u001b[34mpy.constant\u001b[0m.constant 3\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m %25 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %24)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m %26 = \u001b[34mpy.constant\u001b[0m.constant 4.247321332215222\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m %27 = \u001b[34mpy.constant\u001b[0m.constant 1.2389985011718259\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m %28 = \u001b[34mpy.constant\u001b[0m.constant 4.222672846163144\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m %29 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m u3(%25, %26, %27, %28)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m %30 = \u001b[34mpy.constant\u001b[0m.constant 2\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m %31 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %30)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m %32 = \u001b[34mpy.constant\u001b[0m.constant 3\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m %33 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %32)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m %34 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m cz(%31, %33)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m %35 = \u001b[34mpy.constant\u001b[0m.constant 5\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m %36 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %35)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m %37 = \u001b[34mpy.constant\u001b[0m.constant 6.237579609220107\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m %38 = \u001b[34mpy.constant\u001b[0m.constant 1.3162360523451617\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m %39 = \u001b[34mpy.constant\u001b[0m.constant 5.364959340405272\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m %40 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m u3(%36, %37, %38, %39)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m %41 = \u001b[34mpy.constant\u001b[0m.constant 4\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m %42 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %41)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m %43 = \u001b[34mpy.constant\u001b[0m.constant 4.3913859767698336\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m %44 = \u001b[34mpy.constant\u001b[0m.constant 1.392825276239086\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m %45 = \u001b[34mpy.constant\u001b[0m.constant 1.1609550332883778\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m %46 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m u3(%42, %43, %44, %45)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m %47 = \u001b[34mpy.constant\u001b[0m.constant 5\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m %48 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %47)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m %49 = \u001b[34mpy.constant\u001b[0m.constant 4\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m %50 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %49)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m %51 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m cz(%48, %50)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m %52 = \u001b[34mpy.constant\u001b[0m.constant 0\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m %53 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %52)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m %54 = \u001b[34mpy.constant\u001b[0m.constant 5.9951454453386805\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m %55 = \u001b[34mpy.constant\u001b[0m.constant 2.13903207145403\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m %56 = \u001b[34mpy.constant\u001b[0m.constant 2.7733634309089243\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m %57 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m u3(%53, %54, %55, %56)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m %58 = \u001b[34mpy.constant\u001b[0m.constant 2\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m %59 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %58)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m %60 = \u001b[34mpy.constant\u001b[0m.constant 4.122318408706803\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m %61 = \u001b[34mpy.constant\u001b[0m.constant 2.7664984520607443\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m %62 = \u001b[34mpy.constant\u001b[0m.constant 0.0016619275236656298\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m %63 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m u3(%59, %60, %61, %62)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m %64 = \u001b[34mpy.constant\u001b[0m.constant 0\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m %65 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %64)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m %66 = \u001b[34mpy.constant\u001b[0m.constant 2\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m %67 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %66)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m %68 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m cz(%65, %67)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m %69 = \u001b[34mpy.constant\u001b[0m.constant 1\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m %70 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %69)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m %71 = \u001b[34mpy.constant\u001b[0m.constant 1.6352358608682567\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m %72 = \u001b[34mpy.constant\u001b[0m.constant 2.9671431219052806\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m %73 = \u001b[34mpy.constant\u001b[0m.constant 4.783190702441445\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m %74 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m u3(%70, %71, %72, %73)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m %75 = \u001b[34mpy.constant\u001b[0m.constant 3\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m %76 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %75)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m %77 = \u001b[34mpy.constant\u001b[0m.constant 3.8100377461413175\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m %78 = \u001b[34mpy.constant\u001b[0m.constant 2.7029950871613226\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m %79 = \u001b[34mpy.constant\u001b[0m.constant 1.2002672347015042\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m %80 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m u3(%76, %77, %78, %79)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m %81 = \u001b[34mpy.constant\u001b[0m.constant 1\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m %82 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %81)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m %83 = \u001b[34mpy.constant\u001b[0m.constant 3\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m %84 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %83)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m %85 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m cz(%82, %84)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m %86 = \u001b[34mpy.constant\u001b[0m.constant 2\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m %87 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %86)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m %88 = \u001b[34mpy.constant\u001b[0m.constant 4.930136210143973\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m %89 = \u001b[34mpy.constant\u001b[0m.constant 1.1757315092282865\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m %90 = \u001b[34mpy.constant\u001b[0m.constant 4.547637981763775\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m %91 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m u3(%87, %88, %89, %90)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m %92 = \u001b[34mpy.constant\u001b[0m.constant 5\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m %93 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %92)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m %94 = \u001b[34mpy.constant\u001b[0m.constant 3.125307896177857\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m %95 = \u001b[34mpy.constant\u001b[0m.constant 3.4696235581607846\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m %96 = \u001b[34mpy.constant\u001b[0m.constant 2.412677575075264\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m %97 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m u3(%93, %94, %95, %96)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m %98 = \u001b[34mpy.constant\u001b[0m.constant 2\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m %99 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %98)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%100 = \u001b[34mpy.constant\u001b[0m.constant 5\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%101 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %100)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%102 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m cz(%99, %101)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m%103 = \u001b[34mpy.constant\u001b[0m.constant 3\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%104 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %103)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%105 = \u001b[34mpy.constant\u001b[0m.constant 1.2754298603104293\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%106 = \u001b[34mpy.constant\u001b[0m.constant 1.0665847181588783\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%107 = \u001b[34mpy.constant\u001b[0m.constant 4.030588422085876\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%108 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m u3(%104, %105, %106, %107)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m%109 = \u001b[34mpy.constant\u001b[0m.constant 4\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%110 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %109)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%111 = \u001b[34mpy.constant\u001b[0m.constant 1.7350138511505377\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%112 = \u001b[34mpy.constant\u001b[0m.constant 0.08933570406800816\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%113 = \u001b[34mpy.constant\u001b[0m.constant 1.210354910971165\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%114 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m u3(%110, %111, %112, %113)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m%115 = \u001b[34mpy.constant\u001b[0m.constant 3\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%116 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %115)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%117 = \u001b[34mpy.constant\u001b[0m.constant 4\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%118 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %117)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%119 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m cz(%116, %118)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m%120 = \u001b[34mfunc\u001b[0m.const.none()\u001b[30m : \u001b[0m\u001b[30m!py.NoneType\u001b[0m\n", + "\u001b[90m │ \u001b[0m \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31mreturn\u001b[0m %120\n", + "}\u001b[90m // func.func hc_kernel_2\u001b[0m\n" + ] + } + ], + "source": [ + "n_reduced = 3\n", + "n_layers_reduced = 1\n", + "n_qubits_reduced = 6\n", + "\n", + "reduced_qub_dict = map_to_hypercube(2, n_qubits_reduced)\n", + "reduced_qub_dicts = [reduced_qub_dict]\n", + "\n", + "print('Reduced qubit dictionary:')\n", + "pprint(reduced_qub_dict)\n", + "\n", + "reduced_spec = HCSpec(\n", + " title='Reduced-register hypercube ansatz',\n", + " single_qub_params=make_local_params(\n", + " n=n_reduced,\n", + " n_layers=n_layers_reduced,\n", + " qub_dicts=reduced_qub_dicts,\n", + " seed=21,\n", + " ),\n", + " n=n_reduced,\n", + " n_layers=n_layers_reduced,\n", + " qub_dicts=reduced_qub_dicts,\n", + " local_sq_gates=True,\n", + " is_xyx=False,\n", + ")\n", + "\n", + "reduced_kernel = show_hc_kernel(reduced_spec)\n" + ] + }, + { + "cell_type": "markdown", + "id": "b385ea31", + "metadata": {}, + "source": [ + "## 10-Qubit `h5` Fill Embedding\n", + "\n", + "This matches the `h5 fill_ver` construction from the source notebook: start from `floor(log2(10)) = 3`, build the fill map with `map_to_hypercube(3, 10)`, then use a 4D hypercube ansatz on that embedded subset.\n" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "id": "a17535ca", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "h5 fill map (hypercube vertex -> physical qubit):\n", + "{0: 0, 1: 1, 2: 2, 3: 3, 4: 4, 5: 5, 6: 6, 7: 7, 14: 9, 15: 8}\n", + "hypercube dimension used by ansatz: 4\n", + "active edges per layer: 15\n", + "10-qubit h5 hypercube ansatz (fill_ver embedding)\n", + "{'active_edges_per_layer': [15, 15, 15],\n", + " 'expected_parameter_count': 270,\n", + " 'hypercube_dimension': 4,\n", + " 'local_sq_gates': True,\n", + " 'n_layers': 3,\n", + " 'n_qubits': 10,\n", + " 'parameter_count': 270,\n", + " 'total_cz_gates': 45,\n", + " 'total_single_qubit_blocks': 90}\n", + "\n", + "Physical squin kernel:\n", + "\u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31mfunc\u001b[0m\u001b[31m \u001b[0m\u001b[36m@hc_kernel_3\u001b[0m()\u001b[90m -> \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m \u001b[0m{\n", + "\u001b[90m \u001b[0m^0(%hc_kernel_3_self):\n", + "\u001b[90m │ \u001b[0m %0 = \u001b[34mpy.constant\u001b[0m.constant 10\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%reg = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m qalloc(%0)\u001b[90m : \u001b[0m\u001b[90m!py.IList\u001b[0m\u001b[90m[\u001b[0m\u001b[90m!py.Qubit\u001b[0m\u001b[90m, \u001b[0m\u001b[90m!\u001b[0m\u001b[90mAny\u001b[0m\u001b[90m]\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m %1 = \u001b[34mpy.constant\u001b[0m.constant 0\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m %2 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %1)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m %3 = \u001b[34mpy.constant\u001b[0m.constant 5.674795852199031\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m %4 = \u001b[34mpy.constant\u001b[0m.constant 0.4252350636860583\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m %5 = \u001b[34mpy.constant\u001b[0m.constant 4.22689236684237\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m %6 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m u3(%2, %3, %4, %5)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m %7 = \u001b[34mpy.constant\u001b[0m.constant 1\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m %8 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %7)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m %9 = \u001b[34mpy.constant\u001b[0m.constant 2.969085953594237\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m %10 = \u001b[34mpy.constant\u001b[0m.constant 4.256404254737284\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m %11 = \u001b[34mpy.constant\u001b[0m.constant 0.24917890914463298\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m %12 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m u3(%8, %9, %10, %11)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m %13 = \u001b[34mpy.constant\u001b[0m.constant 0\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m %14 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %13)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m %15 = \u001b[34mpy.constant\u001b[0m.constant 1\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m %16 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %15)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m %17 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m cz(%14, %16)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m %18 = \u001b[34mpy.constant\u001b[0m.constant 2\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m %19 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %18)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m %20 = \u001b[34mpy.constant\u001b[0m.constant 0.32176766147054164\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m %21 = \u001b[34mpy.constant\u001b[0m.constant 1.1091715771024064\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m %22 = \u001b[34mpy.constant\u001b[0m.constant 6.149162818934934\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m %23 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m u3(%19, %20, %21, %22)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m %24 = \u001b[34mpy.constant\u001b[0m.constant 3\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m %25 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %24)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m %26 = \u001b[34mpy.constant\u001b[0m.constant 1.8985173910588442\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m %27 = \u001b[34mpy.constant\u001b[0m.constant 3.708826192442933\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m %28 = \u001b[34mpy.constant\u001b[0m.constant 6.181589242163052\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m %29 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m u3(%25, %26, %27, %28)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m %30 = \u001b[34mpy.constant\u001b[0m.constant 2\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m %31 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %30)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m %32 = \u001b[34mpy.constant\u001b[0m.constant 3\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m %33 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %32)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m %34 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m cz(%31, %33)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m %35 = \u001b[34mpy.constant\u001b[0m.constant 4\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m %36 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %35)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m %37 = \u001b[34mpy.constant\u001b[0m.constant 4.430184995151085\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m %38 = \u001b[34mpy.constant\u001b[0m.constant 1.319681069746966\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m %39 = \u001b[34mpy.constant\u001b[0m.constant 2.6665295450109605\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m %40 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m u3(%36, %37, %38, %39)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m %41 = \u001b[34mpy.constant\u001b[0m.constant 5\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m %42 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %41)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m %43 = \u001b[34mpy.constant\u001b[0m.constant 0.6518357069519387\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m %44 = \u001b[34mpy.constant\u001b[0m.constant 1.7898099380714956\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m %45 = \u001b[34mpy.constant\u001b[0m.constant 1.898947859676329\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m %46 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m u3(%42, %43, %44, %45)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m %47 = \u001b[34mpy.constant\u001b[0m.constant 4\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m %48 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %47)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m %49 = \u001b[34mpy.constant\u001b[0m.constant 5\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m %50 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %49)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m %51 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m cz(%48, %50)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m %52 = \u001b[34mpy.constant\u001b[0m.constant 6\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m %53 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %52)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m %54 = \u001b[34mpy.constant\u001b[0m.constant 0.12138555078995251\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m %55 = \u001b[34mpy.constant\u001b[0m.constant 5.293390242298432\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m %56 = \u001b[34mpy.constant\u001b[0m.constant 5.635427012738026\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m %57 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m u3(%53, %54, %55, %56)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m %58 = \u001b[34mpy.constant\u001b[0m.constant 7\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m %59 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %58)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m %60 = \u001b[34mpy.constant\u001b[0m.constant 3.2521888900443146\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m %61 = \u001b[34mpy.constant\u001b[0m.constant 3.992377826692107\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m %62 = \u001b[34mpy.constant\u001b[0m.constant 3.740529442317544\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m %63 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m u3(%59, %60, %61, %62)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m %64 = \u001b[34mpy.constant\u001b[0m.constant 6\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m %65 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %64)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m %66 = \u001b[34mpy.constant\u001b[0m.constant 7\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m %67 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %66)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m %68 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m cz(%65, %67)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m %69 = \u001b[34mpy.constant\u001b[0m.constant 9\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m %70 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %69)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m %71 = \u001b[34mpy.constant\u001b[0m.constant 4.154476889122414\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m %72 = \u001b[34mpy.constant\u001b[0m.constant 6.248056005478561\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m %73 = \u001b[34mpy.constant\u001b[0m.constant 3.629752683860822\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m %74 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m u3(%70, %71, %72, %73)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m %75 = \u001b[34mpy.constant\u001b[0m.constant 8\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m %76 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %75)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m %77 = \u001b[34mpy.constant\u001b[0m.constant 0.8914678248782466\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m %78 = \u001b[34mpy.constant\u001b[0m.constant 4.353164381093417\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m %79 = \u001b[34mpy.constant\u001b[0m.constant 4.33845667639432\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m %80 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m u3(%76, %77, %78, %79)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m %81 = \u001b[34mpy.constant\u001b[0m.constant 9\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m %82 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %81)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m %83 = \u001b[34mpy.constant\u001b[0m.constant 8\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m %84 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %83)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m %85 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m cz(%82, %84)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m %86 = \u001b[34mpy.constant\u001b[0m.constant 0\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m %87 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %86)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m %88 = \u001b[34mpy.constant\u001b[0m.constant 5.367016930198024\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m %89 = \u001b[34mpy.constant\u001b[0m.constant 4.271911436991698\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m %90 = \u001b[34mpy.constant\u001b[0m.constant 2.0324075224168086\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m %91 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m u3(%87, %88, %89, %90)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m %92 = \u001b[34mpy.constant\u001b[0m.constant 2\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m %93 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %92)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m %94 = \u001b[34mpy.constant\u001b[0m.constant 0.25623586455017316\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m %95 = \u001b[34mpy.constant\u001b[0m.constant 2.814886651129103\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m %96 = \u001b[34mpy.constant\u001b[0m.constant 3.9472235794068533\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m %97 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m u3(%93, %94, %95, %96)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m %98 = \u001b[34mpy.constant\u001b[0m.constant 0\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m %99 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %98)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%100 = \u001b[34mpy.constant\u001b[0m.constant 2\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%101 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %100)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%102 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m cz(%99, %101)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m%103 = \u001b[34mpy.constant\u001b[0m.constant 1\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%104 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %103)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%105 = \u001b[34mpy.constant\u001b[0m.constant 4.612797332820295\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%106 = \u001b[34mpy.constant\u001b[0m.constant 4.216998815976176\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%107 = \u001b[34mpy.constant\u001b[0m.constant 3.757039056771599\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%108 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m u3(%104, %105, %106, %107)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m%109 = \u001b[34mpy.constant\u001b[0m.constant 3\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%110 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %109)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%111 = \u001b[34mpy.constant\u001b[0m.constant 3.7994474987041342\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%112 = \u001b[34mpy.constant\u001b[0m.constant 1.4659871986923696\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%113 = \u001b[34mpy.constant\u001b[0m.constant 2.4669037421739253\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%114 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m u3(%110, %111, %112, %113)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m%115 = \u001b[34mpy.constant\u001b[0m.constant 1\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%116 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %115)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%117 = \u001b[34mpy.constant\u001b[0m.constant 3\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%118 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %117)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%119 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m cz(%116, %118)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m%120 = \u001b[34mpy.constant\u001b[0m.constant 4\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%121 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %120)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%122 = \u001b[34mpy.constant\u001b[0m.constant 2.6246865643385613\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%123 = \u001b[34mpy.constant\u001b[0m.constant 0.2617265573997125\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%124 = \u001b[34mpy.constant\u001b[0m.constant 5.984008393114844\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%125 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m u3(%121, %122, %123, %124)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m%126 = \u001b[34mpy.constant\u001b[0m.constant 6\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%127 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %126)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%128 = \u001b[34mpy.constant\u001b[0m.constant 0.5254919596672943\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%129 = \u001b[34mpy.constant\u001b[0m.constant 6.096282183476846\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%130 = \u001b[34mpy.constant\u001b[0m.constant 4.979945113993367\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%131 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m u3(%127, %128, %129, %130)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m%132 = \u001b[34mpy.constant\u001b[0m.constant 4\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%133 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %132)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%134 = \u001b[34mpy.constant\u001b[0m.constant 6\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%135 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %134)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%136 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m cz(%133, %135)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m%137 = \u001b[34mpy.constant\u001b[0m.constant 5\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%138 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %137)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%139 = \u001b[34mpy.constant\u001b[0m.constant 1.3965946396893811\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%140 = \u001b[34mpy.constant\u001b[0m.constant 2.279557356892494\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%141 = \u001b[34mpy.constant\u001b[0m.constant 1.557595213700971\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%142 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m u3(%138, %139, %140, %141)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m%143 = \u001b[34mpy.constant\u001b[0m.constant 7\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%144 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %143)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%145 = \u001b[34mpy.constant\u001b[0m.constant 3.88886917099411\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%146 = \u001b[34mpy.constant\u001b[0m.constant 0.1960873626439467\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%147 = \u001b[34mpy.constant\u001b[0m.constant 2.669252782224118\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%148 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m u3(%144, %145, %146, %147)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m%149 = \u001b[34mpy.constant\u001b[0m.constant 5\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%150 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %149)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%151 = \u001b[34mpy.constant\u001b[0m.constant 7\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%152 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %151)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%153 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m cz(%150, %152)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m%154 = \u001b[34mpy.constant\u001b[0m.constant 0\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%155 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %154)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%156 = \u001b[34mpy.constant\u001b[0m.constant 4.734479091071013\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%157 = \u001b[34mpy.constant\u001b[0m.constant 2.861547426393012\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%158 = \u001b[34mpy.constant\u001b[0m.constant 3.9438661483080137\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%159 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m u3(%155, %156, %157, %158)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m%160 = \u001b[34mpy.constant\u001b[0m.constant 4\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%161 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %160)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%162 = \u001b[34mpy.constant\u001b[0m.constant 2.6898717935025265\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%163 = \u001b[34mpy.constant\u001b[0m.constant 3.9445853019826895\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%164 = \u001b[34mpy.constant\u001b[0m.constant 5.430426338759362\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%165 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m u3(%161, %162, %163, %164)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m%166 = \u001b[34mpy.constant\u001b[0m.constant 0\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%167 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %166)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%168 = \u001b[34mpy.constant\u001b[0m.constant 4\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%169 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %168)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%170 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m cz(%167, %169)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m%171 = \u001b[34mpy.constant\u001b[0m.constant 1\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%172 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %171)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%173 = \u001b[34mpy.constant\u001b[0m.constant 4.244124722625947\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%174 = \u001b[34mpy.constant\u001b[0m.constant 5.638734206534611\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%175 = \u001b[34mpy.constant\u001b[0m.constant 5.284615485075262\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%176 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m u3(%172, %173, %174, %175)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m%177 = \u001b[34mpy.constant\u001b[0m.constant 5\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%178 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %177)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%179 = \u001b[34mpy.constant\u001b[0m.constant 3.154546988171972\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%180 = \u001b[34mpy.constant\u001b[0m.constant 2.614718332533882\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%181 = \u001b[34mpy.constant\u001b[0m.constant 4.3927045474304975\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%182 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m u3(%178, %179, %180, %181)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m%183 = \u001b[34mpy.constant\u001b[0m.constant 1\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%184 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %183)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%185 = \u001b[34mpy.constant\u001b[0m.constant 5\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%186 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %185)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%187 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m cz(%184, %186)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m%188 = \u001b[34mpy.constant\u001b[0m.constant 2\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%189 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %188)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%190 = \u001b[34mpy.constant\u001b[0m.constant 4.286085671239138\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%191 = \u001b[34mpy.constant\u001b[0m.constant 1.9936592875491903\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%192 = \u001b[34mpy.constant\u001b[0m.constant 3.921809156067496\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%193 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m u3(%189, %190, %191, %192)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m%194 = \u001b[34mpy.constant\u001b[0m.constant 6\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%195 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %194)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%196 = \u001b[34mpy.constant\u001b[0m.constant 2.449653705962563\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%197 = \u001b[34mpy.constant\u001b[0m.constant 6.155707326401413\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%198 = \u001b[34mpy.constant\u001b[0m.constant 1.4631802419538358\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%199 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m u3(%195, %196, %197, %198)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m%200 = \u001b[34mpy.constant\u001b[0m.constant 2\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%201 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %200)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%202 = \u001b[34mpy.constant\u001b[0m.constant 6\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%203 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %202)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%204 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m cz(%201, %203)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m%205 = \u001b[34mpy.constant\u001b[0m.constant 3\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%206 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %205)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%207 = \u001b[34mpy.constant\u001b[0m.constant 2.6370814754023204\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%208 = \u001b[34mpy.constant\u001b[0m.constant 5.346659891793175\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%209 = \u001b[34mpy.constant\u001b[0m.constant 2.9768515162515015\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%210 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m u3(%206, %207, %208, %209)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m%211 = \u001b[34mpy.constant\u001b[0m.constant 7\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%212 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %211)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%213 = \u001b[34mpy.constant\u001b[0m.constant 1.643983621718932\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%214 = \u001b[34mpy.constant\u001b[0m.constant 1.4226178892446297\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%215 = \u001b[34mpy.constant\u001b[0m.constant 4.5596921968051465\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%216 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m u3(%212, %213, %214, %215)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m%217 = \u001b[34mpy.constant\u001b[0m.constant 3\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%218 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %217)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%219 = \u001b[34mpy.constant\u001b[0m.constant 7\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%220 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %219)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%221 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m cz(%218, %220)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m%222 = \u001b[34mpy.constant\u001b[0m.constant 6\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%223 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %222)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%224 = \u001b[34mpy.constant\u001b[0m.constant 4.186097768320297\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%225 = \u001b[34mpy.constant\u001b[0m.constant 1.9958443377886943\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%226 = \u001b[34mpy.constant\u001b[0m.constant 1.9514615920374068\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%227 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m u3(%223, %224, %225, %226)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m%228 = \u001b[34mpy.constant\u001b[0m.constant 9\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%229 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %228)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%230 = \u001b[34mpy.constant\u001b[0m.constant 3.2743533596622045\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%231 = \u001b[34mpy.constant\u001b[0m.constant 5.457403746051756\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%232 = \u001b[34mpy.constant\u001b[0m.constant 4.143868406387838\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%233 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m u3(%229, %230, %231, %232)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m%234 = \u001b[34mpy.constant\u001b[0m.constant 6\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%235 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %234)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%236 = \u001b[34mpy.constant\u001b[0m.constant 9\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%237 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %236)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%238 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m cz(%235, %237)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m%239 = \u001b[34mpy.constant\u001b[0m.constant 7\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%240 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %239)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%241 = \u001b[34mpy.constant\u001b[0m.constant 0.3613685529454874\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%242 = \u001b[34mpy.constant\u001b[0m.constant 3.9395488536621595\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%243 = \u001b[34mpy.constant\u001b[0m.constant 5.918721613307212\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%244 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m u3(%240, %241, %242, %243)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m%245 = \u001b[34mpy.constant\u001b[0m.constant 8\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%246 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %245)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%247 = \u001b[34mpy.constant\u001b[0m.constant 2.616127606988541\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%248 = \u001b[34mpy.constant\u001b[0m.constant 5.473957527541567\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%249 = \u001b[34mpy.constant\u001b[0m.constant 5.657563276679796\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%250 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m u3(%246, %247, %248, %249)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m%251 = \u001b[34mpy.constant\u001b[0m.constant 7\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%252 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %251)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%253 = \u001b[34mpy.constant\u001b[0m.constant 8\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%254 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %253)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%255 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m cz(%252, %254)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m%256 = \u001b[34mpy.constant\u001b[0m.constant 0\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%257 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %256)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%258 = \u001b[34mpy.constant\u001b[0m.constant 1.398391560766467\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%259 = \u001b[34mpy.constant\u001b[0m.constant 2.2207212454344702\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%260 = \u001b[34mpy.constant\u001b[0m.constant 1.3921892450032736\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%261 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m u3(%257, %258, %259, %260)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m%262 = \u001b[34mpy.constant\u001b[0m.constant 1\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%263 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %262)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%264 = \u001b[34mpy.constant\u001b[0m.constant 3.0910658030286866\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%265 = \u001b[34mpy.constant\u001b[0m.constant 4.286017904219646\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%266 = \u001b[34mpy.constant\u001b[0m.constant 4.844600648733046\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%267 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m u3(%263, %264, %265, %266)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m%268 = \u001b[34mpy.constant\u001b[0m.constant 0\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%269 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %268)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%270 = \u001b[34mpy.constant\u001b[0m.constant 1\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%271 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %270)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%272 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m cz(%269, %271)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m%273 = \u001b[34mpy.constant\u001b[0m.constant 2\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%274 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %273)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%275 = \u001b[34mpy.constant\u001b[0m.constant 0.40454464803423384\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%276 = \u001b[34mpy.constant\u001b[0m.constant 5.8337080576030464\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%277 = \u001b[34mpy.constant\u001b[0m.constant 0.4323849047998178\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%278 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m u3(%274, %275, %276, %277)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m%279 = \u001b[34mpy.constant\u001b[0m.constant 3\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%280 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %279)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%281 = \u001b[34mpy.constant\u001b[0m.constant 5.781549921319796\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%282 = \u001b[34mpy.constant\u001b[0m.constant 2.990043552273147\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%283 = \u001b[34mpy.constant\u001b[0m.constant 0.4302660414494106\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%284 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m u3(%280, %281, %282, %283)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m%285 = \u001b[34mpy.constant\u001b[0m.constant 2\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%286 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %285)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%287 = \u001b[34mpy.constant\u001b[0m.constant 3\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%288 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %287)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%289 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m cz(%286, %288)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m%290 = \u001b[34mpy.constant\u001b[0m.constant 4\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%291 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %290)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%292 = \u001b[34mpy.constant\u001b[0m.constant 0.0785740473933132\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%293 = \u001b[34mpy.constant\u001b[0m.constant 0.8365713992710971\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%294 = \u001b[34mpy.constant\u001b[0m.constant 0.08774400848519842\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%295 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m u3(%291, %292, %293, %294)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m%296 = \u001b[34mpy.constant\u001b[0m.constant 5\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%297 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %296)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%298 = \u001b[34mpy.constant\u001b[0m.constant 5.939069456956665\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%299 = \u001b[34mpy.constant\u001b[0m.constant 3.686411073051564\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%300 = \u001b[34mpy.constant\u001b[0m.constant 1.5062691066331708\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%301 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m u3(%297, %298, %299, %300)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m%302 = \u001b[34mpy.constant\u001b[0m.constant 4\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%303 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %302)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%304 = \u001b[34mpy.constant\u001b[0m.constant 5\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%305 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %304)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%306 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m cz(%303, %305)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m%307 = \u001b[34mpy.constant\u001b[0m.constant 6\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%308 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %307)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%309 = \u001b[34mpy.constant\u001b[0m.constant 0.5353044935146078\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%310 = \u001b[34mpy.constant\u001b[0m.constant 3.4909769270935844\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%311 = \u001b[34mpy.constant\u001b[0m.constant 2.4498346777340556\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%312 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m u3(%308, %309, %310, %311)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m%313 = \u001b[34mpy.constant\u001b[0m.constant 7\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%314 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %313)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%315 = \u001b[34mpy.constant\u001b[0m.constant 1.0351429566105175\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%316 = \u001b[34mpy.constant\u001b[0m.constant 1.8212190637396306\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%317 = \u001b[34mpy.constant\u001b[0m.constant 4.7528368311592475\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%318 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m u3(%314, %315, %316, %317)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m%319 = \u001b[34mpy.constant\u001b[0m.constant 6\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%320 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %319)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%321 = \u001b[34mpy.constant\u001b[0m.constant 7\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%322 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %321)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%323 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m cz(%320, %322)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m%324 = \u001b[34mpy.constant\u001b[0m.constant 9\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%325 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %324)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%326 = \u001b[34mpy.constant\u001b[0m.constant 0.22158598484764241\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%327 = \u001b[34mpy.constant\u001b[0m.constant 5.08222873052925\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%328 = \u001b[34mpy.constant\u001b[0m.constant 5.7470020162926705\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%329 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m u3(%325, %326, %327, %328)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m%330 = \u001b[34mpy.constant\u001b[0m.constant 8\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%331 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %330)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%332 = \u001b[34mpy.constant\u001b[0m.constant 5.489069230199343\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%333 = \u001b[34mpy.constant\u001b[0m.constant 0.7605354046922838\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%334 = \u001b[34mpy.constant\u001b[0m.constant 5.031295275381269\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%335 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m u3(%331, %332, %333, %334)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m%336 = \u001b[34mpy.constant\u001b[0m.constant 9\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%337 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %336)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%338 = \u001b[34mpy.constant\u001b[0m.constant 8\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%339 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %338)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%340 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m cz(%337, %339)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m%341 = \u001b[34mpy.constant\u001b[0m.constant 0\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%342 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %341)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%343 = \u001b[34mpy.constant\u001b[0m.constant 4.3755320216145295\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%344 = \u001b[34mpy.constant\u001b[0m.constant 0.36531024260736533\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%345 = \u001b[34mpy.constant\u001b[0m.constant 0.9108421782737307\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%346 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m u3(%342, %343, %344, %345)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m%347 = \u001b[34mpy.constant\u001b[0m.constant 2\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%348 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %347)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%349 = \u001b[34mpy.constant\u001b[0m.constant 2.4370227957018833\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%350 = \u001b[34mpy.constant\u001b[0m.constant 2.734975032040685\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%351 = \u001b[34mpy.constant\u001b[0m.constant 4.193751939405999\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%352 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m u3(%348, %349, %350, %351)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m%353 = \u001b[34mpy.constant\u001b[0m.constant 0\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%354 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %353)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%355 = \u001b[34mpy.constant\u001b[0m.constant 2\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%356 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %355)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%357 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m cz(%354, %356)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m%358 = \u001b[34mpy.constant\u001b[0m.constant 1\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%359 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %358)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%360 = \u001b[34mpy.constant\u001b[0m.constant 3.907902442014546\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%361 = \u001b[34mpy.constant\u001b[0m.constant 3.7882262307816625\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%362 = \u001b[34mpy.constant\u001b[0m.constant 1.4973970477260867\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%363 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m u3(%359, %360, %361, %362)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m%364 = \u001b[34mpy.constant\u001b[0m.constant 3\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%365 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %364)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%366 = \u001b[34mpy.constant\u001b[0m.constant 6.15256726990373\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%367 = \u001b[34mpy.constant\u001b[0m.constant 5.62448446915531\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%368 = \u001b[34mpy.constant\u001b[0m.constant 1.6717092213364573\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%369 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m u3(%365, %366, %367, %368)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m%370 = \u001b[34mpy.constant\u001b[0m.constant 1\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%371 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %370)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%372 = \u001b[34mpy.constant\u001b[0m.constant 3\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%373 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %372)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%374 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m cz(%371, %373)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m%375 = \u001b[34mpy.constant\u001b[0m.constant 4\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%376 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %375)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%377 = \u001b[34mpy.constant\u001b[0m.constant 5.67104895197435\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%378 = \u001b[34mpy.constant\u001b[0m.constant 5.030475399343443\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%379 = \u001b[34mpy.constant\u001b[0m.constant 2.0348589052344153\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%380 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m u3(%376, %377, %378, %379)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m%381 = \u001b[34mpy.constant\u001b[0m.constant 6\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%382 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %381)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%383 = \u001b[34mpy.constant\u001b[0m.constant 5.280353759331731\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%384 = \u001b[34mpy.constant\u001b[0m.constant 4.089707358661367\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%385 = \u001b[34mpy.constant\u001b[0m.constant 3.722110121837656\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%386 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m u3(%382, %383, %384, %385)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m%387 = \u001b[34mpy.constant\u001b[0m.constant 4\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%388 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %387)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%389 = \u001b[34mpy.constant\u001b[0m.constant 6\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%390 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %389)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%391 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m cz(%388, %390)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m%392 = \u001b[34mpy.constant\u001b[0m.constant 5\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%393 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %392)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%394 = \u001b[34mpy.constant\u001b[0m.constant 2.1785686638785715\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%395 = \u001b[34mpy.constant\u001b[0m.constant 0.15563227425362716\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%396 = \u001b[34mpy.constant\u001b[0m.constant 5.734510805353011\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%397 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m u3(%393, %394, %395, %396)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m%398 = \u001b[34mpy.constant\u001b[0m.constant 7\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%399 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %398)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%400 = \u001b[34mpy.constant\u001b[0m.constant 5.672515437611271\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%401 = \u001b[34mpy.constant\u001b[0m.constant 3.450347829119077\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%402 = \u001b[34mpy.constant\u001b[0m.constant 3.9819724898450404\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%403 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m u3(%399, %400, %401, %402)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m%404 = \u001b[34mpy.constant\u001b[0m.constant 5\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%405 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %404)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%406 = \u001b[34mpy.constant\u001b[0m.constant 7\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%407 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %406)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%408 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m cz(%405, %407)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m%409 = \u001b[34mpy.constant\u001b[0m.constant 0\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%410 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %409)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%411 = \u001b[34mpy.constant\u001b[0m.constant 4.961753403052036\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%412 = \u001b[34mpy.constant\u001b[0m.constant 0.029462002538531734\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%413 = \u001b[34mpy.constant\u001b[0m.constant 1.3857852713153833\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%414 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m u3(%410, %411, %412, %413)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m%415 = \u001b[34mpy.constant\u001b[0m.constant 4\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%416 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %415)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%417 = \u001b[34mpy.constant\u001b[0m.constant 0.4669808132902633\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%418 = \u001b[34mpy.constant\u001b[0m.constant 6.108594334251373\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%419 = \u001b[34mpy.constant\u001b[0m.constant 2.9460315513405497\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%420 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m u3(%416, %417, %418, %419)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m%421 = \u001b[34mpy.constant\u001b[0m.constant 0\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%422 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %421)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%423 = \u001b[34mpy.constant\u001b[0m.constant 4\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%424 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %423)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%425 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m cz(%422, %424)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m%426 = \u001b[34mpy.constant\u001b[0m.constant 1\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%427 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %426)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%428 = \u001b[34mpy.constant\u001b[0m.constant 2.4099749719280097\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%429 = \u001b[34mpy.constant\u001b[0m.constant 4.948289534867208\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%430 = \u001b[34mpy.constant\u001b[0m.constant 3.072466971027644\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%431 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m u3(%427, %428, %429, %430)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m%432 = \u001b[34mpy.constant\u001b[0m.constant 5\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%433 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %432)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%434 = \u001b[34mpy.constant\u001b[0m.constant 3.389908116720575\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%435 = \u001b[34mpy.constant\u001b[0m.constant 6.030507888582037\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%436 = \u001b[34mpy.constant\u001b[0m.constant 3.8710697345941\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%437 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m u3(%433, %434, %435, %436)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m%438 = \u001b[34mpy.constant\u001b[0m.constant 1\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%439 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %438)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%440 = \u001b[34mpy.constant\u001b[0m.constant 5\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%441 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %440)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%442 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m cz(%439, %441)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m%443 = \u001b[34mpy.constant\u001b[0m.constant 2\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%444 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %443)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%445 = \u001b[34mpy.constant\u001b[0m.constant 2.47203386672279\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%446 = \u001b[34mpy.constant\u001b[0m.constant 2.567938615451477\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%447 = \u001b[34mpy.constant\u001b[0m.constant 3.9442386539438763\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%448 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m u3(%444, %445, %446, %447)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m%449 = \u001b[34mpy.constant\u001b[0m.constant 6\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%450 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %449)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%451 = \u001b[34mpy.constant\u001b[0m.constant 2.583120875050595\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%452 = \u001b[34mpy.constant\u001b[0m.constant 3.2467403317100803\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%453 = \u001b[34mpy.constant\u001b[0m.constant 4.134451928227305\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%454 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m u3(%450, %451, %452, %453)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m%455 = \u001b[34mpy.constant\u001b[0m.constant 2\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%456 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %455)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%457 = \u001b[34mpy.constant\u001b[0m.constant 6\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%458 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %457)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%459 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m cz(%456, %458)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m%460 = \u001b[34mpy.constant\u001b[0m.constant 3\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%461 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %460)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%462 = \u001b[34mpy.constant\u001b[0m.constant 2.569348747148281\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%463 = \u001b[34mpy.constant\u001b[0m.constant 4.533105220347675\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%464 = \u001b[34mpy.constant\u001b[0m.constant 6.213940743313157\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%465 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m u3(%461, %462, %463, %464)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m%466 = \u001b[34mpy.constant\u001b[0m.constant 7\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%467 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %466)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%468 = \u001b[34mpy.constant\u001b[0m.constant 5.940481773818509\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%469 = \u001b[34mpy.constant\u001b[0m.constant 0.5664437788618616\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%470 = \u001b[34mpy.constant\u001b[0m.constant 4.701580432975374\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%471 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m u3(%467, %468, %469, %470)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m%472 = \u001b[34mpy.constant\u001b[0m.constant 3\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%473 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %472)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%474 = \u001b[34mpy.constant\u001b[0m.constant 7\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%475 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %474)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%476 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m cz(%473, %475)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m%477 = \u001b[34mpy.constant\u001b[0m.constant 6\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%478 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %477)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%479 = \u001b[34mpy.constant\u001b[0m.constant 2.4858584570723754\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%480 = \u001b[34mpy.constant\u001b[0m.constant 3.4077088935669284\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%481 = \u001b[34mpy.constant\u001b[0m.constant 0.3867780222962305\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%482 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m u3(%478, %479, %480, %481)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m%483 = \u001b[34mpy.constant\u001b[0m.constant 9\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%484 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %483)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%485 = \u001b[34mpy.constant\u001b[0m.constant 6.071013701729547\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%486 = \u001b[34mpy.constant\u001b[0m.constant 5.31070486238425\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%487 = \u001b[34mpy.constant\u001b[0m.constant 5.822823907796531\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%488 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m u3(%484, %485, %486, %487)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m%489 = \u001b[34mpy.constant\u001b[0m.constant 6\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%490 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %489)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%491 = \u001b[34mpy.constant\u001b[0m.constant 9\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%492 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %491)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%493 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m cz(%490, %492)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m%494 = \u001b[34mpy.constant\u001b[0m.constant 7\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%495 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %494)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%496 = \u001b[34mpy.constant\u001b[0m.constant 0.7533452081372722\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%497 = \u001b[34mpy.constant\u001b[0m.constant 2.2732706382212124\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%498 = \u001b[34mpy.constant\u001b[0m.constant 2.9905832914527495\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%499 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m u3(%495, %496, %497, %498)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m%500 = \u001b[34mpy.constant\u001b[0m.constant 8\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%501 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %500)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%502 = \u001b[34mpy.constant\u001b[0m.constant 2.939586399246014\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%503 = \u001b[34mpy.constant\u001b[0m.constant 5.273415890863319\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%504 = \u001b[34mpy.constant\u001b[0m.constant 3.8979262963335435\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%505 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m u3(%501, %502, %503, %504)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m%506 = \u001b[34mpy.constant\u001b[0m.constant 7\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%507 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %506)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%508 = \u001b[34mpy.constant\u001b[0m.constant 8\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%509 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %508)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%510 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m cz(%507, %509)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m%511 = \u001b[34mpy.constant\u001b[0m.constant 0\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%512 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %511)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%513 = \u001b[34mpy.constant\u001b[0m.constant 5.506511268140117\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%514 = \u001b[34mpy.constant\u001b[0m.constant 0.17098658171591022\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%515 = \u001b[34mpy.constant\u001b[0m.constant 1.5397237326953421\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%516 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m u3(%512, %513, %514, %515)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m%517 = \u001b[34mpy.constant\u001b[0m.constant 1\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%518 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %517)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%519 = \u001b[34mpy.constant\u001b[0m.constant 0.9367315337086631\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%520 = \u001b[34mpy.constant\u001b[0m.constant 5.603817198914079\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%521 = \u001b[34mpy.constant\u001b[0m.constant 5.381664834122346\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%522 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m u3(%518, %519, %520, %521)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m%523 = \u001b[34mpy.constant\u001b[0m.constant 0\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%524 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %523)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%525 = \u001b[34mpy.constant\u001b[0m.constant 1\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%526 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %525)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%527 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m cz(%524, %526)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m%528 = \u001b[34mpy.constant\u001b[0m.constant 2\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%529 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %528)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%530 = \u001b[34mpy.constant\u001b[0m.constant 4.204405433863528\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%531 = \u001b[34mpy.constant\u001b[0m.constant 1.2157154701699167\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%532 = \u001b[34mpy.constant\u001b[0m.constant 4.626055948445968\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%533 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m u3(%529, %530, %531, %532)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m%534 = \u001b[34mpy.constant\u001b[0m.constant 3\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%535 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %534)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%536 = \u001b[34mpy.constant\u001b[0m.constant 3.886697175797551\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%537 = \u001b[34mpy.constant\u001b[0m.constant 4.620065393579814\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%538 = \u001b[34mpy.constant\u001b[0m.constant 2.7571572815421375\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%539 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m u3(%535, %536, %537, %538)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m%540 = \u001b[34mpy.constant\u001b[0m.constant 2\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%541 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %540)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%542 = \u001b[34mpy.constant\u001b[0m.constant 3\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%543 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %542)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%544 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m cz(%541, %543)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m%545 = \u001b[34mpy.constant\u001b[0m.constant 4\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%546 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %545)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%547 = \u001b[34mpy.constant\u001b[0m.constant 4.259052448415537\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%548 = \u001b[34mpy.constant\u001b[0m.constant 6.077181867319026\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%549 = \u001b[34mpy.constant\u001b[0m.constant 6.159941432854255\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%550 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m u3(%546, %547, %548, %549)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m%551 = \u001b[34mpy.constant\u001b[0m.constant 5\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%552 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %551)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%553 = \u001b[34mpy.constant\u001b[0m.constant 5.716789952049038\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%554 = \u001b[34mpy.constant\u001b[0m.constant 0.2951026996505005\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%555 = \u001b[34mpy.constant\u001b[0m.constant 4.5488658282021435\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%556 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m u3(%552, %553, %554, %555)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m%557 = \u001b[34mpy.constant\u001b[0m.constant 4\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%558 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %557)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%559 = \u001b[34mpy.constant\u001b[0m.constant 5\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%560 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %559)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%561 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m cz(%558, %560)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m%562 = \u001b[34mpy.constant\u001b[0m.constant 6\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%563 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %562)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%564 = \u001b[34mpy.constant\u001b[0m.constant 1.043173372354953\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%565 = \u001b[34mpy.constant\u001b[0m.constant 1.7013925056788604\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%566 = \u001b[34mpy.constant\u001b[0m.constant 3.3528257273659223\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%567 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m u3(%563, %564, %565, %566)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m%568 = \u001b[34mpy.constant\u001b[0m.constant 7\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%569 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %568)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%570 = \u001b[34mpy.constant\u001b[0m.constant 5.292912572636329\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%571 = \u001b[34mpy.constant\u001b[0m.constant 5.5594069499961885\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%572 = \u001b[34mpy.constant\u001b[0m.constant 2.3901314039599244\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%573 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m u3(%569, %570, %571, %572)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m%574 = \u001b[34mpy.constant\u001b[0m.constant 6\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%575 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %574)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%576 = \u001b[34mpy.constant\u001b[0m.constant 7\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%577 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %576)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%578 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m cz(%575, %577)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m%579 = \u001b[34mpy.constant\u001b[0m.constant 9\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%580 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %579)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%581 = \u001b[34mpy.constant\u001b[0m.constant 5.628343919704555\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%582 = \u001b[34mpy.constant\u001b[0m.constant 3.0171391550324604\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%583 = \u001b[34mpy.constant\u001b[0m.constant 0.003092003851808661\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%584 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m u3(%580, %581, %582, %583)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m%585 = \u001b[34mpy.constant\u001b[0m.constant 8\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%586 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %585)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%587 = \u001b[34mpy.constant\u001b[0m.constant 5.088593624466335\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%588 = \u001b[34mpy.constant\u001b[0m.constant 2.9841873986563914\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%589 = \u001b[34mpy.constant\u001b[0m.constant 1.6625119489142592\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%590 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m u3(%586, %587, %588, %589)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m%591 = \u001b[34mpy.constant\u001b[0m.constant 9\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%592 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %591)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%593 = \u001b[34mpy.constant\u001b[0m.constant 8\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%594 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %593)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%595 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m cz(%592, %594)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m%596 = \u001b[34mpy.constant\u001b[0m.constant 0\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%597 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %596)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%598 = \u001b[34mpy.constant\u001b[0m.constant 0.8810118208663872\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%599 = \u001b[34mpy.constant\u001b[0m.constant 3.392676511278464\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%600 = \u001b[34mpy.constant\u001b[0m.constant 4.265273655614507\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%601 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m u3(%597, %598, %599, %600)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m%602 = \u001b[34mpy.constant\u001b[0m.constant 2\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%603 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %602)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%604 = \u001b[34mpy.constant\u001b[0m.constant 6.199043077593308\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%605 = \u001b[34mpy.constant\u001b[0m.constant 5.417576562490443\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%606 = \u001b[34mpy.constant\u001b[0m.constant 4.391613234186097\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%607 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m u3(%603, %604, %605, %606)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m%608 = \u001b[34mpy.constant\u001b[0m.constant 0\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%609 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %608)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%610 = \u001b[34mpy.constant\u001b[0m.constant 2\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%611 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %610)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%612 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m cz(%609, %611)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m%613 = \u001b[34mpy.constant\u001b[0m.constant 1\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%614 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %613)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%615 = \u001b[34mpy.constant\u001b[0m.constant 3.784040507273539\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%616 = \u001b[34mpy.constant\u001b[0m.constant 0.9506922451423275\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%617 = \u001b[34mpy.constant\u001b[0m.constant 4.559479233063927\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%618 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m u3(%614, %615, %616, %617)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m%619 = \u001b[34mpy.constant\u001b[0m.constant 3\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%620 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %619)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%621 = \u001b[34mpy.constant\u001b[0m.constant 1.5866894718749558\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%622 = \u001b[34mpy.constant\u001b[0m.constant 3.02913726531707\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%623 = \u001b[34mpy.constant\u001b[0m.constant 5.809401555960046\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%624 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m u3(%620, %621, %622, %623)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m%625 = \u001b[34mpy.constant\u001b[0m.constant 1\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%626 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %625)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%627 = \u001b[34mpy.constant\u001b[0m.constant 3\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%628 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %627)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%629 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m cz(%626, %628)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m%630 = \u001b[34mpy.constant\u001b[0m.constant 4\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%631 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %630)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%632 = \u001b[34mpy.constant\u001b[0m.constant 4.1984630967146845\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%633 = \u001b[34mpy.constant\u001b[0m.constant 1.6581976105191234\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%634 = \u001b[34mpy.constant\u001b[0m.constant 4.476968856052863\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%635 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m u3(%631, %632, %633, %634)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m%636 = \u001b[34mpy.constant\u001b[0m.constant 6\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%637 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %636)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%638 = \u001b[34mpy.constant\u001b[0m.constant 2.2686908671218458\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%639 = \u001b[34mpy.constant\u001b[0m.constant 5.073716831364081\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%640 = \u001b[34mpy.constant\u001b[0m.constant 2.2637456815798545\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%641 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m u3(%637, %638, %639, %640)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m%642 = \u001b[34mpy.constant\u001b[0m.constant 4\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%643 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %642)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%644 = \u001b[34mpy.constant\u001b[0m.constant 6\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%645 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %644)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%646 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m cz(%643, %645)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m%647 = \u001b[34mpy.constant\u001b[0m.constant 5\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%648 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %647)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%649 = \u001b[34mpy.constant\u001b[0m.constant 4.202426170382355\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%650 = \u001b[34mpy.constant\u001b[0m.constant 2.499001464329404\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%651 = \u001b[34mpy.constant\u001b[0m.constant 0.4387170026209736\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%652 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m u3(%648, %649, %650, %651)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m%653 = \u001b[34mpy.constant\u001b[0m.constant 7\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%654 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %653)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%655 = \u001b[34mpy.constant\u001b[0m.constant 0.07206119194269035\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%656 = \u001b[34mpy.constant\u001b[0m.constant 1.465974598464109\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%657 = \u001b[34mpy.constant\u001b[0m.constant 5.74418586520596\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%658 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m u3(%654, %655, %656, %657)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m%659 = \u001b[34mpy.constant\u001b[0m.constant 5\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%660 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %659)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%661 = \u001b[34mpy.constant\u001b[0m.constant 7\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%662 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %661)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%663 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m cz(%660, %662)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m%664 = \u001b[34mpy.constant\u001b[0m.constant 0\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%665 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %664)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%666 = \u001b[34mpy.constant\u001b[0m.constant 3.141657366234674\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%667 = \u001b[34mpy.constant\u001b[0m.constant 4.991749069574501\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%668 = \u001b[34mpy.constant\u001b[0m.constant 2.9825847317063268\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%669 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m u3(%665, %666, %667, %668)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m%670 = \u001b[34mpy.constant\u001b[0m.constant 4\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%671 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %670)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%672 = \u001b[34mpy.constant\u001b[0m.constant 4.890512989276935\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%673 = \u001b[34mpy.constant\u001b[0m.constant 5.565797177929408\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%674 = \u001b[34mpy.constant\u001b[0m.constant 6.163705337080267\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%675 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m u3(%671, %672, %673, %674)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m%676 = \u001b[34mpy.constant\u001b[0m.constant 0\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%677 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %676)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%678 = \u001b[34mpy.constant\u001b[0m.constant 4\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%679 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %678)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%680 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m cz(%677, %679)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m%681 = \u001b[34mpy.constant\u001b[0m.constant 1\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%682 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %681)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%683 = \u001b[34mpy.constant\u001b[0m.constant 4.179414108453542\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%684 = \u001b[34mpy.constant\u001b[0m.constant 2.5270038349100172\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%685 = \u001b[34mpy.constant\u001b[0m.constant 2.6888089251339027\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%686 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m u3(%682, %683, %684, %685)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m%687 = \u001b[34mpy.constant\u001b[0m.constant 5\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%688 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %687)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%689 = \u001b[34mpy.constant\u001b[0m.constant 1.6488081282061477\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%690 = \u001b[34mpy.constant\u001b[0m.constant 5.901150125749196\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%691 = \u001b[34mpy.constant\u001b[0m.constant 5.286652767340544\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%692 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m u3(%688, %689, %690, %691)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m%693 = \u001b[34mpy.constant\u001b[0m.constant 1\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%694 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %693)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%695 = \u001b[34mpy.constant\u001b[0m.constant 5\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%696 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %695)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%697 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m cz(%694, %696)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m%698 = \u001b[34mpy.constant\u001b[0m.constant 2\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%699 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %698)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%700 = \u001b[34mpy.constant\u001b[0m.constant 4.786864424209398\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%701 = \u001b[34mpy.constant\u001b[0m.constant 1.619837976255611\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%702 = \u001b[34mpy.constant\u001b[0m.constant 0.2331663327891322\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%703 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m u3(%699, %700, %701, %702)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m%704 = \u001b[34mpy.constant\u001b[0m.constant 6\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%705 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %704)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%706 = \u001b[34mpy.constant\u001b[0m.constant 3.4643844227240237\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%707 = \u001b[34mpy.constant\u001b[0m.constant 1.3134020305785514\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%708 = \u001b[34mpy.constant\u001b[0m.constant 4.225871487585155\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%709 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m u3(%705, %706, %707, %708)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m%710 = \u001b[34mpy.constant\u001b[0m.constant 2\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%711 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %710)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%712 = \u001b[34mpy.constant\u001b[0m.constant 6\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%713 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %712)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%714 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m cz(%711, %713)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m%715 = \u001b[34mpy.constant\u001b[0m.constant 3\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%716 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %715)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%717 = \u001b[34mpy.constant\u001b[0m.constant 0.4137852843380764\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%718 = \u001b[34mpy.constant\u001b[0m.constant 2.4246269172915365\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%719 = \u001b[34mpy.constant\u001b[0m.constant 4.416594110181473\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%720 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m u3(%716, %717, %718, %719)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m%721 = \u001b[34mpy.constant\u001b[0m.constant 7\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%722 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %721)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%723 = \u001b[34mpy.constant\u001b[0m.constant 2.6628901422438633\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%724 = \u001b[34mpy.constant\u001b[0m.constant 3.890937684082501\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%725 = \u001b[34mpy.constant\u001b[0m.constant 1.9571728494314653\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%726 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m u3(%722, %723, %724, %725)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m%727 = \u001b[34mpy.constant\u001b[0m.constant 3\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%728 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %727)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%729 = \u001b[34mpy.constant\u001b[0m.constant 7\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%730 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %729)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%731 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m cz(%728, %730)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m%732 = \u001b[34mpy.constant\u001b[0m.constant 6\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%733 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %732)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%734 = \u001b[34mpy.constant\u001b[0m.constant 2.777790772144157\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%735 = \u001b[34mpy.constant\u001b[0m.constant 5.679417464760716\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%736 = \u001b[34mpy.constant\u001b[0m.constant 5.575811471036238\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%737 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m u3(%733, %734, %735, %736)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m%738 = \u001b[34mpy.constant\u001b[0m.constant 9\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%739 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %738)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%740 = \u001b[34mpy.constant\u001b[0m.constant 4.917611403390407\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%741 = \u001b[34mpy.constant\u001b[0m.constant 2.3365360607896664\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%742 = \u001b[34mpy.constant\u001b[0m.constant 4.605633125625473\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%743 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m u3(%739, %740, %741, %742)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m%744 = \u001b[34mpy.constant\u001b[0m.constant 6\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%745 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %744)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%746 = \u001b[34mpy.constant\u001b[0m.constant 9\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%747 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %746)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%748 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m cz(%745, %747)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m%749 = \u001b[34mpy.constant\u001b[0m.constant 7\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%750 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %749)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%751 = \u001b[34mpy.constant\u001b[0m.constant 3.514253975263033\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%752 = \u001b[34mpy.constant\u001b[0m.constant 1.1032813207841532\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%753 = \u001b[34mpy.constant\u001b[0m.constant 5.9996983426057895\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%754 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m u3(%750, %751, %752, %753)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m%755 = \u001b[34mpy.constant\u001b[0m.constant 8\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%756 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %755)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%757 = \u001b[34mpy.constant\u001b[0m.constant 1.7026938656249115\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%758 = \u001b[34mpy.constant\u001b[0m.constant 3.283761222643626\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%759 = \u001b[34mpy.constant\u001b[0m.constant 5.935087009044742\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%760 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m u3(%756, %757, %758, %759)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m%761 = \u001b[34mpy.constant\u001b[0m.constant 7\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%762 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %761)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%763 = \u001b[34mpy.constant\u001b[0m.constant 8\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m%764 = \u001b[34mpy.indexing\u001b[0m.getitem(%reg, %763)\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%765 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m cz(%762, %764)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m%766 = \u001b[34mfunc\u001b[0m.const.none()\u001b[30m : \u001b[0m\u001b[30m!py.NoneType\u001b[0m\n", + "\u001b[90m │ \u001b[0m \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31mreturn\u001b[0m %766\n", + "}\u001b[90m // func.func hc_kernel_3\u001b[0m\n" + ] + } + ], + "source": [ + "n_qubits_h5 = 10\n", + "n_layers_h5 = 3\n", + "\n", + "base_hyp_dim = int(np.floor(np.log2(n_qubits_h5)))\n", + "fill_map_h5 = map_to_hypercube(base_hyp_dim, n_qubits_h5)\n", + "hyp_dim_h5 = base_hyp_dim + 1\n", + "qub_dicts_h5 = [fill_map_h5 for _ in range(n_layers_h5)]\n", + "\n", + "print('h5 fill map (hypercube vertex -> physical qubit):')\n", + "pprint(fill_map_h5)\n", + "print('hypercube dimension used by ansatz:', hyp_dim_h5)\n", + "print('active edges per layer:', count_edges_in_subset(fill_map_h5, hyp_dim_h5))\n", + "\n", + "h5_spec = HCSpec(\n", + " title='10-qubit h5 hypercube ansatz (fill_ver embedding)',\n", + " single_qub_params=make_local_params(\n", + " n=hyp_dim_h5,\n", + " n_layers=n_layers_h5,\n", + " qub_dicts=qub_dicts_h5,\n", + " seed=31,\n", + " ),\n", + " n=hyp_dim_h5,\n", + " n_layers=n_layers_h5,\n", + " qub_dicts=qub_dicts_h5,\n", + " local_sq_gates=True,\n", + " is_xyx=False,\n", + ")\n", + "\n", + "h5_kernel = show_hc_kernel(h5_spec)\n" + ] + }, + { + "cell_type": "markdown", + "id": "bbe7fb1d", + "metadata": {}, + "source": [ + "## Visualize The Squin Kernel\n", + "\n", + "The helper below draws a notebook-friendly circuit-style view of the physical squin schedule. Each column is one entangling edge application with its paired single-qubit blocks.\n" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "id": "9225c942", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Schedule columns: 45\n" + ] + }, + { + "data": { + "image/svg+xml": [ + "\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " 2026-03-30T12:00:33.039800\n", + " image/svg+xml\n", + " \n", + " \n", + " Matplotlib v3.10.8, https://matplotlib.org/\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n" + ], + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "fig, ax = plot_hc_kernel(h5_spec, annotate_params=False)\n", + "print('Schedule columns:', len(build_hc_schedule(h5_spec)))\n", + "plt.show()\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Optional: Lower One Example to Gemini Move Dialect\n", + "\n", + "The original notebook stopped at the PennyLane/Cirq circuit view. Since this version is already in Gemini physical squin, we can also lower it to the move dialect and inspect the scheduled physical program.\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "_ = show_hc_kernel(h5_spec, lower_to_move=True)\n" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "kirin-workspace (3.12.13)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.12.13" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/demo/injected_decoder_determinism.ipynb b/demo/injected_decoder_determinism.ipynb new file mode 100644 index 00000000..9df1cd87 --- /dev/null +++ b/demo/injected_decoder_determinism.ipynb @@ -0,0 +1,572 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Injected Decoder Determinism\\n\n", + "\\n\n", + "This notebook checks the deterministic single-qubit injection-decoder kernels used for the corrected `injected_baseline(...)` path.\\n\n", + "\\n\n", + "Those kernels now use `U3`-based initialization surrogates in Gemini logical:\\n\n", + "- `X`: a `U3` parameterization whose initialized state is equivalent to `H|0> = |+>`\\n\n", + "- `Y`: a `U3` parameterization whose initialized state is equivalent to `S H|0>` under the notebook's tomography convention\\n\n", + "- `Z`: prepare `|0>` and measure in `Z`\\n\n", + "\\n\n", + "In noiseless detector-sampler mode, all detector bits and observable bits should be zero for every shot." + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "import sys\n", + "from pathlib import Path\n", + "\n", + "import numpy as np\n", + "\n", + "PROJECT_ROOT_CANDIDATES = [Path.cwd(), Path.cwd().parent]\n", + "for candidate in PROJECT_ROOT_CANDIDATES:\n", + " candidate = candidate.resolve()\n", + " if (candidate / 'demo' / 'msd_utils').exists():\n", + " sys.path.insert(0, str(candidate))\n", + " break\n", + "else:\n", + " raise FileNotFoundError('Could not locate repo root containing demo/msd_utils.')\n", + "\n", + "from bloqade.lanes import GeminiLogicalSimulator\n", + "from bloqade.lanes.steane_defaults import steane7_m2dets, steane7_m2obs\n", + "\n", + "from demo.msd_utils.circuits import (\n", + " build_injected_decoder_kernel_map,\n", + " build_task_map,\n", + " make_noisy_steane7_initializer,\n", + ")\n", + "from demo.msd_utils.core import run_task" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "['X', 'Y', 'Z']" + ] + }, + "execution_count": 2, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "SHOTS = 4096\n", + "\n", + "sim = GeminiLogicalSimulator()\n", + "noisy_steane7_initialize = make_noisy_steane7_initializer(sim)\n", + "\n", + "injected_decoder_tasks = build_task_map(\n", + " sim,\n", + " build_injected_decoder_kernel_map(),\n", + " m2dets=steane7_m2dets(1),\n", + " m2obs=steane7_m2obs(1),\n", + " noisy_initializer=noisy_steane7_initialize,\n", + " append_measurements=False,\n", + ")\n", + "\n", + "list(injected_decoder_tasks)" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "31624702", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "\n", + "
\n", + "
\n", + " \n", + "\n", + "\n", + "q0\n", + "\n", + "q1\n", + "\n", + "q2\n", + "\n", + "q3\n", + "\n", + "q4\n", + "\n", + "q5\n", + "\n", + "q6\n", + "\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "LOSS0\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "LOSS\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "LOSS2\n", + "LOSS20\n", + "\n", + "\n", + "LOSS2\n", + "LOSS20\n", + "\n", + "\n", + "LOSS2\n", + "LOSS20\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "LOSS0\n", + "\n", + "√Y\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "LOSS0\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "DEP2\n", + "\n", + "LOSS20\n", + "\n", + "\n", + "DEP2\n", + "\n", + "LOSS20\n", + "\n", + "\n", + "DEP2\n", + "\n", + "LOSS20\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "LOSS0\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "LOSS2\n", + "LOSS20\n", + "\n", + "\n", + "LOSS2\n", + "LOSS20\n", + "\n", + "\n", + "LOSS2\n", + "LOSS20\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "LOSS0\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "X\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "LOSS0\n", + "\n", + "Z\n", + "\n", + "Z\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "M\n", + "0\n", + "rec[0]\n", + "\n", + "M\n", + "0\n", + "rec[1]\n", + "\n", + "M\n", + "0\n", + "rec[2]\n", + "\n", + "M\n", + "0\n", + "rec[3]\n", + "\n", + "M\n", + "0\n", + "rec[4]\n", + "\n", + "M\n", + "0\n", + "rec[5]\n", + "\n", + "M\n", + "0\n", + "rec[6]\n", + "\n", + "DETECTOR\n", + "coords=(0,0)\n", + "D0 = rec[0]*rec[1]*rec[2]*rec[3]\n", + "\n", + "DETECTOR\n", + "coords=(0,1)\n", + "D1 = rec[1]*rec[2]*rec[4]*rec[5]\n", + "\n", + "DETECTOR\n", + "coords=(0,2)\n", + "D2 = rec[2]*rec[3]*rec[4]*rec[6]\n", + "\n", + "OBS_INCLUDE(0)\n", + "L0 *= rec[0]*rec[1]*rec[5]\n", + "\n", + "
\n", + "
\n", + " " + ], + "text/plain": [ + "" + ] + }, + "execution_count": 3, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "injected_decoder_tasks[\"Z\"].tsim_circuit.diagram(height=500)" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "{'X': {'unique_detectors': [[0, 0, 0]],\n", + " 'unique_observables': [[0]],\n", + " 'all_zero_detectors': True,\n", + " 'all_zero_observables': True},\n", + " 'Y': {'unique_detectors': [[0, 0, 0]],\n", + " 'unique_observables': [[0]],\n", + " 'all_zero_detectors': True,\n", + " 'all_zero_observables': True},\n", + " 'Z': {'unique_detectors': [[0, 0, 0]],\n", + " 'unique_observables': [[0]],\n", + " 'all_zero_detectors': True,\n", + " 'all_zero_observables': True}}" + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "results = {}\n", + "for basis, task in injected_decoder_tasks.items():\n", + " data = run_task(task, SHOTS, with_noise=False)\n", + " results[basis] = {\n", + " 'unique_detectors': np.unique(data.detectors, axis=0).tolist(),\n", + " 'unique_observables': np.unique(data.observables, axis=0).tolist(),\n", + " 'all_zero_detectors': bool(np.all(data.detectors == 0)),\n", + " 'all_zero_observables': bool(np.all(data.observables == 0)),\n", + " }\n", + "\n", + "results" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "===== X =====\n", + "unique detectors: [[0, 0, 0]]\n", + "unique observables: [[0]]\n", + "all-zero detectors: True\n", + "all-zero observables: True\n", + "\n", + "===== Y =====\n", + "unique detectors: [[0, 0, 0]]\n", + "unique observables: [[0]]\n", + "all-zero detectors: True\n", + "all-zero observables: True\n", + "\n", + "===== Z =====\n", + "unique detectors: [[0, 0, 0]]\n", + "unique observables: [[0]]\n", + "all-zero detectors: True\n", + "all-zero observables: True\n", + "\n", + "Determinism check passed.\n" + ] + } + ], + "source": [ + "for basis in 'XYZ':\n", + " summary = results[basis]\n", + " print(f'===== {basis} =====')\n", + " print('unique detectors:', summary['unique_detectors'])\n", + " print('unique observables:', summary['unique_observables'])\n", + " print('all-zero detectors:', summary['all_zero_detectors'])\n", + " print('all-zero observables:', summary['all_zero_observables'])\n", + " print()\n", + "\n", + "assert all(results[basis]['all_zero_detectors'] for basis in 'XYZ')\n", + "assert all(results[basis]['all_zero_observables'] for basis in 'XYZ')\n", + "print('Determinism check passed.')" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "df9c3a26", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "kirin-workspace (3.12.13)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.12.13" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/demo/logical_noise_metrology.ipynb b/demo/logical_noise_metrology.ipynb new file mode 100644 index 00000000..2c4de37c --- /dev/null +++ b/demo/logical_noise_metrology.ipynb @@ -0,0 +1,17773 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "05e753e7", + "metadata": {}, + "source": [ + "# Logical noise metrology for Gemini logical kernels\n", + "\n", + "This notebook implements several logical-noise-metrology workflows at the user level, using `@logical.kernel` programs compiled through `GeminiLogicalSimulator`.\n", + "\n", + "The implementations below cover five practical paradigms:\n", + "\n", + "1. decode-first logical Pauli-rate estimation\n", + "2. benchmarking-style logical survival experiments\n", + "3. reduced logical process tomography\n", + "4. cycle-level effective transition models\n", + "5. a lightweight model-fitting / learning-style analysis\n", + "\n", + "A syndrome-conditioned analysis helper is also included because it is often the most immediately useful debug view when logical error rates are unexpectedly high.\n" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "id": "2ad0b33b", + "metadata": {}, + "outputs": [], + "source": [ + "from __future__ import annotations\n", + "\n", + "from collections import Counter, defaultdict\n", + "from time import perf_counter\n", + "from typing import Any, Callable\n", + "\n", + "import matplotlib.pyplot as plt\n", + "import numpy as np\n", + "import numpy.typing as npt\n", + "\n", + "from bloqade import qubit, squin\n", + "from bloqade.gemini import logical\n", + "from bloqade.lanes import GeminiLogicalSimulator\n", + "from bloqade.decoders import BpOsdDecoder, BpLsdDecoder, BaseDecoder\n", + "\n", + "\n", + "DecoderCtor = Callable[[Any], BaseDecoder]\n", + "sim = GeminiLogicalSimulator()\n" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "dc7adf70", + "metadata": {}, + "outputs": [], + "source": [ + "def _run_task(kernel, shots: int = 4000, *, with_noise: bool = True):\n", + " task = sim.task(kernel)\n", + " result = task.run(shots, with_noise=with_noise)\n", + " detectors = np.asarray(result.detectors, dtype=bool)\n", + " observables = np.asarray(result.observables, dtype=bool)\n", + " return task, result, detectors, observables\n", + "\n", + "\n", + "def _reference_target(task, kernel, reference_shots: int = 512) -> npt.NDArray[np.bool_]:\n", + " result = task.run(reference_shots, with_noise=False)\n", + " observables = np.asarray(result.observables, dtype=bool)\n", + " counts = Counter(map(lambda row: tuple(map(int, row)), observables.tolist()))\n", + " target, _ = counts.most_common(1)[0]\n", + " return np.asarray(target, dtype=bool)\n", + "\n", + "\n", + "def _decode_observables(\n", + " task,\n", + " detectors: npt.NDArray[np.bool_],\n", + " observables: npt.NDArray[np.bool_],\n", + " decoder_ctor: DecoderCtor,\n", + ") -> tuple[npt.NDArray[np.bool_], npt.NDArray[np.bool_]]:\n", + " decoder = decoder_ctor(task.detector_error_model)\n", + " flips = np.asarray(decoder.decode(detectors), dtype=bool)\n", + " corrected = observables ^ flips\n", + " return flips, corrected\n", + "\n", + "\n", + "def _logical_error_rate(corrected: npt.NDArray[np.bool_], target: npt.NDArray[np.bool_]) -> float:\n", + " target_rows = np.broadcast_to(target, corrected.shape)\n", + " failures = np.any(corrected != target_rows, axis=1)\n", + " return float(np.mean(failures))\n", + "\n", + "\n", + "def _observable_expectation(corrected: npt.NDArray[np.bool_]) -> float:\n", + " if corrected.ndim != 2 or corrected.shape[1] != 1:\n", + " raise ValueError(\"This helper expects a single logical observable bit.\")\n", + " bit_values = corrected[:, 0].astype(float)\n", + " return float(np.mean(1.0 - 2.0 * bit_values))\n", + "\n", + "\n", + "def _plot_matrix(matrix: npt.NDArray[np.float64], title: str, row_labels: list[str], col_labels: list[str], cmap: str = \"RdBu_r\"):\n", + " fig, ax = plt.subplots(figsize=(5, 4))\n", + " image = ax.imshow(matrix, cmap=cmap, vmin=np.min(matrix), vmax=np.max(matrix))\n", + " ax.set_title(title)\n", + " ax.set_xticks(range(len(col_labels)), labels=col_labels)\n", + " ax.set_yticks(range(len(row_labels)), labels=row_labels)\n", + " for i in range(matrix.shape[0]):\n", + " for j in range(matrix.shape[1]):\n", + " ax.text(j, i, f\"{matrix[i, j]:.3f}\", ha=\"center\", va=\"center\")\n", + " fig.colorbar(image, ax=ax, shrink=0.8)\n", + " plt.tight_layout()\n", + " plt.show()\n" + ] + }, + { + "cell_type": "markdown", + "id": "fd6e0a6f", + "metadata": {}, + "source": [ + "## Probe kernels\n", + "\n", + "All kernels here are written directly in the `@logical.kernel` dialect and use `logical.default_post_processing(reg)` to produce detector and logical-observable information.\n", + "\n", + "The three basis-preservation probes are the core building blocks for the metrology helpers below.\n" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "3b326a75", + "metadata": {}, + "outputs": [], + "source": [ + "@logical.kernel(aggressive_unroll=True, verify=True)\n", + "def z_memory_probe():\n", + " reg = qubit.qalloc(1)\n", + " logical.default_post_processing(reg)\n", + "\n", + "\n", + "@logical.kernel(aggressive_unroll=True, verify=True)\n", + "def x_memory_probe():\n", + " reg = qubit.qalloc(1)\n", + " squin.h(reg[0])\n", + " squin.h(reg[0])\n", + " logical.default_post_processing(reg)\n", + "\n", + "\n", + "@logical.kernel(aggressive_unroll=True, verify=True)\n", + "def y_memory_probe():\n", + " reg = qubit.qalloc(1)\n", + " squin.sqrt_x(reg[0])\n", + " squin.sqrt_x_adj(reg[0])\n", + " logical.default_post_processing(reg)\n", + "\n", + "\n", + "@logical.kernel(aggressive_unroll=True, verify=True)\n", + "def tomo_z_meas_z():\n", + " reg = qubit.qalloc(1)\n", + " logical.default_post_processing(reg)\n", + "\n", + "\n", + "@logical.kernel(aggressive_unroll=True, verify=True)\n", + "def tomo_z_meas_x():\n", + " reg = qubit.qalloc(1)\n", + " squin.h(reg[0])\n", + " logical.default_post_processing(reg)\n", + "\n", + "\n", + "@logical.kernel(aggressive_unroll=True, verify=True)\n", + "def tomo_z_meas_y():\n", + " reg = qubit.qalloc(1)\n", + " squin.sqrt_x_adj(reg[0])\n", + " logical.default_post_processing(reg)\n", + "\n", + "\n", + "@logical.kernel(aggressive_unroll=True, verify=True)\n", + "def tomo_x_meas_z():\n", + " reg = qubit.qalloc(1)\n", + " squin.h(reg[0])\n", + " logical.default_post_processing(reg)\n", + "\n", + "\n", + "@logical.kernel(aggressive_unroll=True, verify=True)\n", + "def tomo_x_meas_x():\n", + " reg = qubit.qalloc(1)\n", + " squin.h(reg[0])\n", + " squin.h(reg[0])\n", + " logical.default_post_processing(reg)\n", + "\n", + "\n", + "@logical.kernel(aggressive_unroll=True, verify=True)\n", + "def tomo_x_meas_y():\n", + " reg = qubit.qalloc(1)\n", + " squin.h(reg[0])\n", + " squin.sqrt_x_adj(reg[0])\n", + " logical.default_post_processing(reg)\n", + "\n", + "\n", + "@logical.kernel(aggressive_unroll=True, verify=True)\n", + "def tomo_y_meas_z():\n", + " reg = qubit.qalloc(1)\n", + " squin.sqrt_x(reg[0])\n", + " logical.default_post_processing(reg)\n", + "\n", + "\n", + "@logical.kernel(aggressive_unroll=True, verify=True)\n", + "def tomo_y_meas_x():\n", + " reg = qubit.qalloc(1)\n", + " squin.sqrt_x(reg[0])\n", + " squin.h(reg[0])\n", + " logical.default_post_processing(reg)\n", + "\n", + "\n", + "@logical.kernel(aggressive_unroll=True, verify=True)\n", + "def tomo_y_meas_y():\n", + " reg = qubit.qalloc(1)\n", + " squin.sqrt_x(reg[0])\n", + " squin.sqrt_x_adj(reg[0])\n", + " logical.default_post_processing(reg)\n", + "\n", + "\n", + "@logical.kernel(aggressive_unroll=True, verify=True)\n", + "def rb_depth_0():\n", + " reg = qubit.qalloc(1)\n", + " logical.default_post_processing(reg)\n", + "\n", + "\n", + "@logical.kernel(aggressive_unroll=True, verify=True)\n", + "def rb_depth_1():\n", + " reg = qubit.qalloc(1)\n", + " squin.h(reg[0])\n", + " squin.h(reg[0])\n", + " logical.default_post_processing(reg)\n", + "\n", + "\n", + "@logical.kernel(aggressive_unroll=True, verify=True)\n", + "def rb_depth_2():\n", + " reg = qubit.qalloc(1)\n", + " squin.h(reg[0])\n", + " squin.h(reg[0])\n", + " squin.z(reg[0])\n", + " squin.z(reg[0])\n", + " logical.default_post_processing(reg)\n", + "\n", + "\n", + "@logical.kernel(aggressive_unroll=True, verify=True)\n", + "def rb_depth_4():\n", + " reg = qubit.qalloc(1)\n", + " squin.h(reg[0])\n", + " squin.h(reg[0])\n", + " squin.z(reg[0])\n", + " squin.z(reg[0])\n", + " squin.h(reg[0])\n", + " squin.h(reg[0])\n", + " squin.z(reg[0])\n", + " squin.z(reg[0])\n", + " logical.default_post_processing(reg)\n", + "\n", + "\n", + "@logical.kernel(aggressive_unroll=True, verify=True)\n", + "def rb_depth_8():\n", + " reg = qubit.qalloc(1)\n", + " squin.h(reg[0])\n", + " squin.h(reg[0])\n", + " squin.z(reg[0])\n", + " squin.z(reg[0])\n", + " squin.h(reg[0])\n", + " squin.h(reg[0])\n", + " squin.z(reg[0])\n", + " squin.z(reg[0])\n", + " squin.h(reg[0])\n", + " squin.h(reg[0])\n", + " squin.z(reg[0])\n", + " squin.z(reg[0])\n", + " squin.h(reg[0])\n", + " squin.h(reg[0])\n", + " squin.z(reg[0])\n", + " squin.z(reg[0])\n", + " logical.default_post_processing(reg)\n", + "\n", + "\n", + "@logical.kernel(aggressive_unroll=True, verify=True)\n", + "def cycle_zero_depth_1():\n", + " reg = qubit.qalloc(1)\n", + " squin.h(reg[0])\n", + " squin.h(reg[0])\n", + " logical.default_post_processing(reg)\n", + "\n", + "\n", + "@logical.kernel(aggressive_unroll=True, verify=True)\n", + "def cycle_zero_depth_2():\n", + " reg = qubit.qalloc(1)\n", + " squin.h(reg[0])\n", + " squin.h(reg[0])\n", + " squin.z(reg[0])\n", + " squin.z(reg[0])\n", + " logical.default_post_processing(reg)\n", + "\n", + "\n", + "@logical.kernel(aggressive_unroll=True, verify=True)\n", + "def cycle_zero_depth_4():\n", + " reg = qubit.qalloc(1)\n", + " squin.h(reg[0])\n", + " squin.h(reg[0])\n", + " squin.z(reg[0])\n", + " squin.z(reg[0])\n", + " squin.h(reg[0])\n", + " squin.h(reg[0])\n", + " squin.z(reg[0])\n", + " squin.z(reg[0])\n", + " logical.default_post_processing(reg)\n", + "\n", + "\n", + "@logical.kernel(aggressive_unroll=True, verify=True)\n", + "def cycle_one_depth_1():\n", + " reg = qubit.qalloc(1)\n", + " squin.x(reg[0])\n", + " squin.h(reg[0])\n", + " squin.h(reg[0])\n", + " logical.default_post_processing(reg)\n", + "\n", + "\n", + "@logical.kernel(aggressive_unroll=True, verify=True)\n", + "def cycle_one_depth_2():\n", + " reg = qubit.qalloc(1)\n", + " squin.x(reg[0])\n", + " squin.h(reg[0])\n", + " squin.h(reg[0])\n", + " squin.z(reg[0])\n", + " squin.z(reg[0])\n", + " logical.default_post_processing(reg)\n", + "\n", + "\n", + "@logical.kernel(aggressive_unroll=True, verify=True)\n", + "def cycle_one_depth_4():\n", + " reg = qubit.qalloc(1)\n", + " squin.x(reg[0])\n", + " squin.h(reg[0])\n", + " squin.h(reg[0])\n", + " squin.z(reg[0])\n", + " squin.z(reg[0])\n", + " squin.h(reg[0])\n", + " squin.h(reg[0])\n", + " squin.z(reg[0])\n", + " squin.z(reg[0])\n", + " logical.default_post_processing(reg)\n" + ] + }, + { + "cell_type": "markdown", + "id": "5a6f715c", + "metadata": {}, + "source": [ + "## 1. Decode-first logical metrology\n", + "\n", + "This is the QEC-native workflow: run a noisy logical experiment, decode the syndromes, correct the logical observables, and infer effective logical error rates.\n", + "\n", + "For a single logical qubit, we can estimate Pauli-like logical noise rates by probing memory in the Z, X, and Y bases.\n" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "69b4d0e4", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "{'basis_error_rates': {'Z': 0.0, 'X': 0.0, 'Y': 0.0},\n", + " 'estimated_logical_pauli_rates': {'pX': 0.0, 'pY': 0.0, 'pZ': 0.0},\n", + " 'postselection_rates': {'Z': 1.0, 'X': 0.99675, 'Y': 0.99925},\n", + " 'average_flip_weights': {'Z': 0.0, 'X': 0.00125, 'Y': 0.0005}}" + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "def decode_first_logical_pauli_metrology(\n", + " decoder_ctor: DecoderCtor = BpOsdDecoder,\n", + " shots: int = 4000,\n", + ") -> dict[str, Any]:\n", + " basis_kernels = {\n", + " \"Z\": z_memory_probe,\n", + " \"X\": x_memory_probe,\n", + " \"Y\": y_memory_probe,\n", + " }\n", + " basis_error_rates: dict[str, float] = {}\n", + " postselection_rates: dict[str, float] = {}\n", + " avg_flip_weights: dict[str, float] = {}\n", + "\n", + " for axis, kernel in basis_kernels.items():\n", + " task, result, detectors, observables = _run_task(kernel, shots, with_noise=True)\n", + " target = _reference_target(task, kernel)\n", + " flips, corrected = _decode_observables(task, detectors, observables, decoder_ctor)\n", + " basis_error_rates[axis] = _logical_error_rate(corrected, target)\n", + " postselection_rates[axis] = float(np.mean(np.all(detectors == 0, axis=1)))\n", + " avg_flip_weights[axis] = float(np.mean(np.sum(flips, axis=1)))\n", + "\n", + " e_z = basis_error_rates[\"Z\"]\n", + " e_x = basis_error_rates[\"X\"]\n", + " e_y = basis_error_rates[\"Y\"]\n", + "\n", + " pauli_rates = {\n", + " \"pX\": max(0.0, 0.5 * (e_z + e_y - e_x)),\n", + " \"pY\": max(0.0, 0.5 * (e_z + e_x - e_y)),\n", + " \"pZ\": max(0.0, 0.5 * (e_x + e_y - e_z)),\n", + " }\n", + "\n", + " return {\n", + " \"basis_error_rates\": basis_error_rates,\n", + " \"estimated_logical_pauli_rates\": pauli_rates,\n", + " \"postselection_rates\": postselection_rates,\n", + " \"average_flip_weights\": avg_flip_weights,\n", + " }\n", + "\n", + "\n", + "decode_first_results = decode_first_logical_pauli_metrology()\n", + "decode_first_results\n" + ] + }, + { + "cell_type": "markdown", + "id": "71b82864", + "metadata": {}, + "source": [ + "## 2. Benchmarking-style logical survival experiments\n", + "\n", + "This is a logical-RB-style survival experiment. The kernels below use identity-preserving logical Clifford subcircuits of increasing depth, and we track the survival probability after decoding.\n" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "92d08404", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "{'depths': [0, 1, 2, 4, 8],\n", + " 'survival_probabilities': [1.0, 0.99975, 1.0, 1.0, 0.9995],\n", + " 'logical_error_rates': [0.0, 0.00025, 0.0, 0.0, 0.0005],\n", + " 'fit_intercept': 1.0000000109429712,\n", + " 'decay_constant': 0.9999499871832328,\n", + " 'logical_error_per_block_proxy': 5.00128167671976e-05}" + ] + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "def logical_survival_benchmark(\n", + " decoder_ctor: DecoderCtor = BpOsdDecoder,\n", + " shots: int = 4000,\n", + ") -> dict[str, Any]:\n", + " sequence_kernels = {\n", + " 0: rb_depth_0,\n", + " 1: rb_depth_1,\n", + " 2: rb_depth_2,\n", + " 4: rb_depth_4,\n", + " 8: rb_depth_8,\n", + " }\n", + "\n", + " depths: list[int] = []\n", + " survival_probabilities: list[float] = []\n", + " logical_error_rates: list[float] = []\n", + "\n", + " for depth, kernel in sequence_kernels.items():\n", + " task, _, detectors, observables = _run_task(kernel, shots, with_noise=True)\n", + " target = _reference_target(task, kernel)\n", + " _, corrected = _decode_observables(task, detectors, observables, decoder_ctor)\n", + " ler = _logical_error_rate(corrected, target)\n", + " survival = 1.0 - ler\n", + " depths.append(depth)\n", + " logical_error_rates.append(ler)\n", + " survival_probabilities.append(survival)\n", + "\n", + " safe_survival = np.clip(np.asarray(survival_probabilities), 1e-9, 1.0)\n", + " slope, intercept = np.polyfit(depths, np.log(safe_survival), 1)\n", + " decay_constant = float(np.exp(slope))\n", + "\n", + " return {\n", + " \"depths\": depths,\n", + " \"survival_probabilities\": survival_probabilities,\n", + " \"logical_error_rates\": logical_error_rates,\n", + " \"fit_intercept\": float(np.exp(intercept)),\n", + " \"decay_constant\": decay_constant,\n", + " \"logical_error_per_block_proxy\": float(1.0 - decay_constant),\n", + " }\n", + "\n", + "\n", + "rb_results = logical_survival_benchmark()\n", + "rb_results\n" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "1013b069", + "metadata": {}, + "outputs": [ + { + "data": { + "image/svg+xml": [ + "\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " 2026-03-18T23:27:50.747492\n", + " image/svg+xml\n", + " \n", + " \n", + " Matplotlib v3.10.8, https://matplotlib.org/\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n" + ], + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "plt.figure(figsize=(6, 4))\n", + "plt.plot(rb_results[\"depths\"], rb_results[\"survival_probabilities\"], marker=\"o\")\n", + "plt.xlabel(\"Identity-sequence depth\")\n", + "plt.ylabel(\"Logical survival probability\")\n", + "plt.title(\"Benchmarking-style logical survival experiment\")\n", + "plt.grid(True, alpha=0.3)\n", + "plt.show()\n" + ] + }, + { + "cell_type": "markdown", + "id": "bdb478d1", + "metadata": {}, + "source": [ + "## 3. Reduced logical process tomography\n", + "\n", + "This is a small-scale, single-logical-qubit tomography routine. It estimates a reduced Bloch-transfer matrix by preparing +Z, +X, and +Y logical states and measuring output expectations in the Z, X, and Y bases after decoding.\n", + "\n", + "This is not full tomography of an arbitrary affine channel, but it is a useful compact debugging view for a small logical system.\n" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "2009d747", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[ 1. , 0.0215, -0.0045],\n", + " [ 0.0055, 1. , 0.0005],\n", + " [ 0.0055, 0.0005, 1. ]])" + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "def reduced_logical_process_tomography(\n", + " decoder_ctor: DecoderCtor = BpOsdDecoder,\n", + " shots: int = 4000,\n", + ") -> dict[str, Any]:\n", + " kernels = {\n", + " (\"Z\", \"Z\"): tomo_z_meas_z,\n", + " (\"Z\", \"X\"): tomo_z_meas_x,\n", + " (\"Z\", \"Y\"): tomo_z_meas_y,\n", + " (\"X\", \"Z\"): tomo_x_meas_z,\n", + " (\"X\", \"X\"): tomo_x_meas_x,\n", + " (\"X\", \"Y\"): tomo_x_meas_y,\n", + " (\"Y\", \"Z\"): tomo_y_meas_z,\n", + " (\"Y\", \"X\"): tomo_y_meas_x,\n", + " (\"Y\", \"Y\"): tomo_y_meas_y,\n", + " }\n", + "\n", + " prep_axes = [\"Z\", \"X\", \"Y\"]\n", + " meas_axes = [\"Z\", \"X\", \"Y\"]\n", + " transfer = np.zeros((3, 3), dtype=float)\n", + "\n", + " for j, prep_axis in enumerate(prep_axes):\n", + " for i, meas_axis in enumerate(meas_axes):\n", + " kernel = kernels[(prep_axis, meas_axis)]\n", + " task, _, detectors, observables = _run_task(kernel, shots, with_noise=True)\n", + " _, corrected = _decode_observables(task, detectors, observables, decoder_ctor)\n", + " transfer[i, j] = _observable_expectation(corrected)\n", + "\n", + " return {\n", + " \"prep_axes\": prep_axes,\n", + " \"measurement_axes\": meas_axes,\n", + " \"reduced_bloch_transfer\": transfer,\n", + " }\n", + "\n", + "\n", + "tomo_results = reduced_logical_process_tomography()\n", + "tomo_results[\"reduced_bloch_transfer\"]\n" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "dcf99905", + "metadata": {}, + "outputs": [ + { + "data": { + "image/svg+xml": [ + "\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " 2026-03-18T23:27:54.747701\n", + " image/svg+xml\n", + " \n", + " \n", + " Matplotlib v3.10.8, https://matplotlib.org/\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n" + ], + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "_plot_matrix(\n", + " tomo_results[\"reduced_bloch_transfer\"],\n", + " title=\"Reduced logical Bloch-transfer matrix\",\n", + " row_labels=tomo_results[\"measurement_axes\"],\n", + " col_labels=tomo_results[\"prep_axes\"],\n", + ")\n" + ] + }, + { + "cell_type": "markdown", + "id": "59e94c39", + "metadata": {}, + "source": [ + "## 4. Cycle-level effective logical noise models\n", + "\n", + "Here we estimate a small Markov model for a repeated logical cycle by measuring the transition probabilities between logical 0 and logical 1 after increasingly deep identity-preserving logical subcircuits.\n" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "id": "8f073344", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "{1: array([[1., 0.],\n", + " [0., 1.]]),\n", + " 2: array([[1., 0.],\n", + " [0., 1.]]),\n", + " 4: array([[1. , 0. ],\n", + " [0.00025, 0.99975]])}" + ] + }, + "execution_count": 9, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "def cycle_level_transition_models(\n", + " decoder_ctor: DecoderCtor = BpOsdDecoder,\n", + " shots: int = 4000,\n", + ") -> dict[int, npt.NDArray[np.float64]]:\n", + " zero_kernels = {\n", + " 1: cycle_zero_depth_1,\n", + " 2: cycle_zero_depth_2,\n", + " 4: cycle_zero_depth_4,\n", + " }\n", + " one_kernels = {\n", + " 1: cycle_one_depth_1,\n", + " 2: cycle_one_depth_2,\n", + " 4: cycle_one_depth_4,\n", + " }\n", + "\n", + " models: dict[int, npt.NDArray[np.float64]] = {}\n", + " for depth in zero_kernels:\n", + " task0, _, detectors0, observables0 = _run_task(zero_kernels[depth], shots, with_noise=True)\n", + " target0 = _reference_target(task0, zero_kernels[depth])\n", + " _, corrected0 = _decode_observables(task0, detectors0, observables0, decoder_ctor)\n", + " p00 = float(np.mean(np.all(corrected0 == target0, axis=1)))\n", + " p01 = 1.0 - p00\n", + "\n", + " task1, _, detectors1, observables1 = _run_task(one_kernels[depth], shots, with_noise=True)\n", + " target1 = _reference_target(task1, one_kernels[depth])\n", + " _, corrected1 = _decode_observables(task1, detectors1, observables1, decoder_ctor)\n", + " p11 = float(np.mean(np.all(corrected1 == target1, axis=1)))\n", + " p10 = 1.0 - p11\n", + "\n", + " models[depth] = np.asarray([[p00, p01], [p10, p11]], dtype=float)\n", + "\n", + " return models\n", + "\n", + "\n", + "cycle_models = cycle_level_transition_models()\n", + "cycle_models\n" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "id": "49b8aa03", + "metadata": {}, + "outputs": [ + { + "data": { + "image/svg+xml": [ + "\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " 2026-03-18T23:27:58.572919\n", + " image/svg+xml\n", + " \n", + " \n", + " Matplotlib v3.10.8, https://matplotlib.org/\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n" + ], + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "image/svg+xml": [ + "\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " 2026-03-18T23:27:58.602899\n", + " image/svg+xml\n", + " \n", + " \n", + " Matplotlib v3.10.8, https://matplotlib.org/\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n" + ], + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "image/svg+xml": [ + "\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " 2026-03-18T23:27:58.633068\n", + " image/svg+xml\n", + " \n", + " \n", + " Matplotlib v3.10.8, https://matplotlib.org/\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n" + ], + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "for depth, matrix in cycle_models.items():\n", + " _plot_matrix(\n", + " matrix,\n", + " title=f\"Logical transition matrix after depth {depth}\",\n", + " row_labels=[\"input 0\", \"input 1\"],\n", + " col_labels=[\"output 0\", \"output 1\"],\n", + " cmap=\"Blues\",\n", + " )\n" + ] + }, + { + "cell_type": "markdown", + "id": "c48cbde5", + "metadata": {}, + "source": [ + "## 5. Syndrome-conditioned analysis\n", + "\n", + "This is often the most useful debug view after decode-first metrology: bucket shots by detector weight (or by specific detector patterns) and ask how the logical failure rate changes with syndrome evidence.\n" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "id": "19876d64", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "{'error_rate_by_detector_weight': {0: 0.0},\n", + " 'count_by_detector_weight': {0: 4000},\n", + " 'top_detector_patterns': [((0, 0, 0), 4000)]}" + ] + }, + "execution_count": 11, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "def syndrome_conditioned_analysis(\n", + " kernel=z_memory_probe,\n", + " decoder_ctor: DecoderCtor = BpOsdDecoder,\n", + " shots: int = 4000,\n", + ") -> dict[str, Any]:\n", + " task, _, detectors, observables = _run_task(kernel, shots, with_noise=True)\n", + " target = _reference_target(task, kernel)\n", + " _, corrected = _decode_observables(task, detectors, observables, decoder_ctor)\n", + " target_rows = np.broadcast_to(target, corrected.shape)\n", + " failures = np.any(corrected != target_rows, axis=1)\n", + " weights = np.sum(detectors, axis=1)\n", + "\n", + " error_rate_by_weight: dict[int, float] = {}\n", + " count_by_weight: dict[int, int] = {}\n", + " for weight in sorted(set(map(int, weights.tolist()))):\n", + " mask = weights == weight\n", + " error_rate_by_weight[weight] = float(np.mean(failures[mask]))\n", + " count_by_weight[weight] = int(np.sum(mask))\n", + "\n", + " top_patterns = Counter(map(lambda row: tuple(map(int, row)), detectors.tolist())).most_common(10)\n", + " return {\n", + " \"error_rate_by_detector_weight\": error_rate_by_weight,\n", + " \"count_by_detector_weight\": count_by_weight,\n", + " \"top_detector_patterns\": top_patterns,\n", + " }\n", + "\n", + "\n", + "syndrome_results = syndrome_conditioned_analysis()\n", + "syndrome_results\n" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "id": "41274837", + "metadata": {}, + "outputs": [ + { + "data": { + "image/svg+xml": [ + "\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " 2026-03-18T23:27:59.004233\n", + " image/svg+xml\n", + " \n", + " \n", + " Matplotlib v3.10.8, https://matplotlib.org/\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n" + ], + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "weights = list(syndrome_results[\"error_rate_by_detector_weight\"].keys())\n", + "rates = [syndrome_results[\"error_rate_by_detector_weight\"][w] for w in weights]\n", + "counts = [syndrome_results[\"count_by_detector_weight\"][w] for w in weights]\n", + "\n", + "fig, ax1 = plt.subplots(figsize=(6, 4))\n", + "ax1.plot(weights, rates, marker=\"o\", color=\"tab:red\")\n", + "ax1.set_xlabel(\"Detector weight\")\n", + "ax1.set_ylabel(\"Logical failure rate\", color=\"tab:red\")\n", + "ax1.tick_params(axis=\"y\", labelcolor=\"tab:red\")\n", + "\n", + "ax2 = ax1.twinx()\n", + "ax2.bar(weights, counts, alpha=0.2, color=\"tab:blue\")\n", + "ax2.set_ylabel(\"Shot count\", color=\"tab:blue\")\n", + "ax2.tick_params(axis=\"y\", labelcolor=\"tab:blue\")\n", + "plt.title(\"Syndrome-conditioned logical failure analysis\")\n", + "plt.tight_layout()\n", + "plt.show()\n" + ] + }, + { + "cell_type": "markdown", + "id": "2c5647e4", + "metadata": {}, + "source": [ + "## 6. Model-fitting / learning-style analysis\n", + "\n", + "This is a simple learning-style baseline: fit a small predictive model from syndrome-derived features to logical failure. It is intentionally lightweight and interpretable.\n" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "id": "d4d0d91d", + "metadata": {}, + "outputs": [], + "source": [ + "def fit_logical_failure_model(\n", + " kernel=z_memory_probe,\n", + " decoder_ctor: DecoderCtor = BpOsdDecoder,\n", + " shots: int = 4000,\n", + ") -> dict[str, Any]:\n", + " task, _, detectors, observables = _run_task(kernel, shots, with_noise=True)\n", + " target = _reference_target(task, kernel)\n", + " _, corrected = _decode_observables(task, detectors, observables, decoder_ctor)\n", + " target_rows = np.broadcast_to(target, corrected.shape)\n", + " failures = np.any(corrected != target_rows, axis=1).astype(np.float64)\n", + "\n", + " detector_weight = np.sum(detectors, axis=1).astype(int)\n", + "\n", + " failure_prob_by_weight = {}\n", + " predicted = np.zeros_like(failures, dtype=np.float64)\n", + "\n", + " for weight in sorted(set(detector_weight.tolist())):\n", + " mask = detector_weight == weight\n", + " prob = float(np.mean(failures[mask]))\n", + " failure_prob_by_weight[int(weight)] = prob\n", + " predicted[mask] = prob\n", + "\n", + " mse = float(np.mean((predicted - failures) ** 2))\n", + "\n", + " return {\n", + " \"model_type\": \"empirical_by_detector_weight\",\n", + " \"failure_probability_by_detector_weight\": failure_prob_by_weight,\n", + " \"mse\": mse,\n", + " \"predicted_failure_probability\": predicted,\n", + " \"observed_failure_indicator\": failures,\n", + " \"detector_weight\": detector_weight,\n", + " }\n", + "\n", + "\n", + "\n", + "# fit_results = fit_logical_failure_model()\n", + "# fit_results[\"coefficients\"], fit_results[\"mse\"]\n" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "id": "8056962b", + "metadata": {}, + "outputs": [ + { + "data": { + "image/svg+xml": [ + "\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " 2026-03-18T23:30:37.206693\n", + " image/svg+xml\n", + " \n", + " \n", + " Matplotlib v3.10.8, https://matplotlib.org/\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n" + ], + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "fit_results = fit_logical_failure_model()\n", + "\n", + "weights = fit_results[\"detector_weight\"]\n", + "observed = fit_results[\"observed_failure_indicator\"]\n", + "predicted = fit_results[\"predicted_failure_probability\"]\n", + "by_weight = fit_results[\"failure_probability_by_detector_weight\"]\n", + "\n", + "plt.figure(figsize=(6, 4))\n", + "plt.scatter(weights, observed, s=12, alpha=0.2, label=\"observed failure indicator\")\n", + "\n", + "sorted_weights = sorted(by_weight.keys())\n", + "plt.plot(\n", + " sorted_weights,\n", + " [by_weight[w] for w in sorted_weights],\n", + " marker=\"o\",\n", + " color=\"black\",\n", + " linewidth=2,\n", + " label=\"empirical failure probability\",\n", + ")\n", + "\n", + "plt.xlabel(\"Detector weight\")\n", + "plt.ylabel(\"Failure probability / indicator\")\n", + "plt.title(\"Logical failure model by detector weight\")\n", + "plt.legend()\n", + "plt.grid(True, alpha=0.3)\n", + "plt.show()\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "fa7e9ade", + "metadata": {}, + "outputs": [ + { + "data": { + "image/svg+xml": [ + "\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " 2026-03-18T16:52:57.657393\n", + " image/svg+xml\n", + " \n", + " \n", + " Matplotlib v3.10.8, https://matplotlib.org/\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n" + ], + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# plt.figure(figsize=(6, 4))\n", + "# plt.scatter(\n", + "# fit_results[\"detector_weight\"],\n", + "# fit_results[\"observed_failure_indicator\"],\n", + "# s=12,\n", + "# alpha=0.25,\n", + "# label=\"observed failure indicator\",\n", + "# )\n", + "# order = np.argsort(fit_results[\"detector_weight\"])\n", + "# plt.plot(\n", + "# fit_results[\"detector_weight\"][order],\n", + "# fit_results[\"predicted_failure_probability\"][order],\n", + "# color=\"black\",\n", + "# linewidth=2,\n", + "# label=\"fitted model\",\n", + "# )\n", + "# plt.xlabel(\"Detector weight\")\n", + "# plt.ylabel(\"Failure probability / indicator\")\n", + "# plt.title(\"Simple fitted logical-failure model\")\n", + "# plt.legend()\n", + "# plt.grid(True, alpha=0.3)\n", + "# plt.show()\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "a5069ac3", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "kirin-workspace (3.12.13)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.12.13" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/demo/magic_state_distillation.ipynb b/demo/magic_state_distillation.ipynb new file mode 100644 index 00000000..bdd65bb1 --- /dev/null +++ b/demo/magic_state_distillation.ipynb @@ -0,0 +1,6494 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "ee77d7cd", + "metadata": {}, + "source": [ + "# Logical magic state distillation" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "id": "fcaae162", + "metadata": {}, + "outputs": [], + "source": [ + "# fmt: off\n", + "import stim\n", + "import numpy as np\n", + "from typing import Literal\n", + "import matplotlib.pyplot as plt\n", + "\n", + "from bloqade import squin\n", + "from bloqade.squin import kernel\n", + "from bloqade.tsim import Circuit" + ] + }, + { + "cell_type": "markdown", + "id": "a790c19e", + "metadata": {}, + "source": [ + "In this tutorial, we will perform quantum circuit simulations with squin kernels. We will simulate the magic state distillation circuit used in [Rodriguez et al. (2025)](https://www.nature.com/articles/s41586-025-09367-3), showcasing that `bloqade-circuit` supports simulation of large non-Clifford circuits. For this, we will use Quera's TSIM package as a simulation backend." + ] + }, + { + "cell_type": "markdown", + "id": "4ad2fbfc", + "metadata": {}, + "source": [ + "### Magic states\n", + "\n", + "We start by preparing a particular magic state, the eigenstate of the \"SH\" operator. To simulate noise, we add a depolarizing channel after state preparation:" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "19701ede", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "\n", + "
\n", + "
\n", + " \n", + "\n", + "\n", + "q0\n", + "\n", + "\n", + "R\n", + "\n", + "RX-0.3041π\n", + "\n", + "T\n", + "DEP1\n", + "0.05\n", + "\n", + "
\n", + "
\n", + " " + ], + "text/plain": [ + "" + ] + }, + "execution_count": 2, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "theta = -np.arccos(np.sqrt(1 / 3)) # Distillation angle\n", + "p = 0.05 # Noise probability\n", + "\n", + "\n", + "@kernel\n", + "def main():\n", + " q = squin.qalloc(1)\n", + " squin.reset(q[0])\n", + " squin.rx(angle=theta, qubit=q[0])\n", + " squin.t_adj(qubit=q[0])\n", + " squin.depolarize(p=p, qubit=q[0])\n", + "\n", + "\n", + "Circuit(main).diagram(height=120)" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "83b3e8d7", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[0.88807383+0.j 0.32505758+0.32505758j]\n" + ] + } + ], + "source": [ + "import numpy as np\n", + "\n", + "def rx(theta):\n", + " c = np.cos(theta / 2)\n", + " s = np.sin(theta / 2)\n", + " return np.array([\n", + " [c, -1j * s],\n", + " [-1j * s, c],\n", + " ], dtype=complex)\n", + "\n", + "T_dag = np.array([\n", + " [1, 0],\n", + " [0, np.exp(-1j * np.pi / 4)],\n", + "], dtype=complex)\n", + "\n", + "ket0 = np.array([1, 0], dtype=complex)\n", + "\n", + "psi = T_dag @ rx(theta) @ ket0\n", + "print(psi)\n" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "ba933f5b", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Bloch vector: [0.57735027 0.57735027 0.57735027]\n" + ] + } + ], + "source": [ + "X = np.array([[0, 1], [1, 0]], dtype=complex)\n", + "Y = np.array([[0, -1j], [1j, 0]], dtype=complex)\n", + "Z = np.array([[1, 0], [0, -1]], dtype=complex)\n", + "\n", + "rho = np.outer(psi, psi.conj())\n", + "bloch = np.array([\n", + " np.real(np.trace(rho @ X)),\n", + " np.real(np.trace(rho @ Y)),\n", + " np.real(np.trace(rho @ Z)),\n", + "])\n", + "\n", + "print(\"Bloch vector:\", bloch)\n" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "1d56fead", + "metadata": {}, + "outputs": [], + "source": [ + "@kernel\n", + "def main_noiseless():\n", + " q = squin.qalloc(1)\n", + " squin.reset(q[0])\n", + " squin.rx(angle=theta, qubit=q[0])\n", + " squin.t_adj(qubit=q[0])\n", + " # squin.depolarize(p=p, qubit=q[0])" + ] + }, + { + "cell_type": "markdown", + "id": "1cd5619f", + "metadata": {}, + "source": [ + "By undoing the state preparation after the noisy channel, we build a kernel that measures the fidelity of the magic state:" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "d3a62842", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "\n", + "
\n", + "
\n", + " \n", + "\n", + "\n", + "q0\n", + "\n", + "\n", + "R\n", + "\n", + "RX-0.3041π\n", + "\n", + "T\n", + "DEP1\n", + "0.05\n", + "\n", + "T\n", + "RX0.3041π\n", + "\n", + "M\n", + "0\n", + "rec[0]\n", + "\n", + "
\n", + "
\n", + " " + ], + "text/plain": [ + "" + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "@kernel\n", + "def main():\n", + " q = squin.qalloc(1)\n", + " squin.reset(q[0])\n", + " squin.rx(angle=theta, qubit=q[0])\n", + " squin.t_adj(qubit=q[0])\n", + " squin.depolarize(p=p, qubit=q[0])\n", + " squin.t(qubit=q[0])\n", + " squin.rx(angle=-theta, qubit=q[0])\n", + " squin.measure(q[0])\n", + "\n", + "c = Circuit(main)\n", + "c.diagram(height=120)" + ] + }, + { + "cell_type": "markdown", + "id": "45cc38bd", + "metadata": {}, + "source": [ + "We simulate the circuit as follows:" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "fb8f0972", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Infidelity: 0.03355\n" + ] + } + ], + "source": [ + "sampler = c.compile_sampler(seed=0)\n", + "samples = sampler.sample(shots=100_000)\n", + "print(f\"Infidelity: {np.count_nonzero(samples) / len(samples)}\")" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "3a7e247f", + "metadata": {}, + "outputs": [], + "source": [ + "# import numpy as np\n", + "# from bloqade.lanes import GeminiLogicalSimulator\n", + "# from bloqade import squin\n", + "# from bloqade.qasm2 import kernel\n", + "\n", + "# theta = 0.7\n", + "# shots = 20000\n", + "# sim = GeminiLogicalSimulator()\n", + "\n", + "# @kernel\n", + "# def z_kernel():\n", + "# q = squin.qalloc(1)\n", + "# squin.reset(q[0])\n", + "# squin.rx(angle=theta, qubit=q[0])\n", + "# squin.t_adj(qubit=q[0])\n", + "# return squin.measure(q[0])\n", + "\n", + "# @kernel\n", + "# def x_kernel():\n", + "# q = squin.qalloc(1)\n", + "# squin.reset(q[0])\n", + "# squin.rx(angle=theta, qubit=q[0])\n", + "# squin.t_adj(qubit=q[0])\n", + "# squin.h(qubit=q[0])\n", + "# return squin.measure(q[0])\n", + "\n", + "# @kernel\n", + "# def y_kernel():\n", + "# q = squin.qalloc(1)\n", + "# squin.reset(q[0])\n", + "# squin.rx(angle=theta, qubit=q[0])\n", + "# squin.t_adj(qubit=q[0])\n", + "# squin.s_adj(qubit=q[0])\n", + "# squin.h(qubit=q[0])\n", + "# return squin.measure(q[0])\n", + "\n", + "# def expectation(task, shots):\n", + "# data = task.run(shots=shots)\n", + "# bits = np.asarray(data.observable_flips[:, 0], dtype=np.uint8)\n", + "# return 1.0 - 2.0 * bits.mean()\n", + "\n", + "# z_task = sim.task(z_kernel)\n", + "# x_task = sim.task(x_kernel)\n", + "# y_task = sim.task(y_kernel)\n", + "\n", + "# ex = expectation(x_task, shots)\n", + "# ey = expectation(y_task, shots)\n", + "# ez = expectation(z_task, shots)\n", + "\n", + "# expected = np.array([\n", + "# -np.sin(theta) / np.sqrt(2.0),\n", + "# np.sin(theta) / np.sqrt(2.0),\n", + "# np.cos(theta),\n", + "# ])\n", + "\n", + "# print(\"simulated :\", (ex, ey, ez))\n", + "# print(\"analytic :\", tuple(expected))\n" + ] + }, + { + "cell_type": "markdown", + "id": "4d527431", + "metadata": {}, + "source": [ + "The noisy state preparation process (modeled by a single `squin.depolarize` gate), leads to a magic state with 97% fidelity.\n" + ] + }, + { + "cell_type": "markdown", + "id": "e1670e96", + "metadata": {}, + "source": [ + "### Magic state distillation: The ideal case\n", + "\n", + "Given multiple noisy magic states of low fidelity, we can distill a single high-fidelity magic state using a distillation circuit:" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "id": "11f1cc78", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "\n", + "
\n", + "
\n", + " \n", + "\n", + "\n", + "q0\n", + "\n", + "q1\n", + "\n", + "q2\n", + "\n", + "q3\n", + "\n", + "q4\n", + "\n", + "\n", + "R\n", + "\n", + "R\n", + "\n", + "R\n", + "\n", + "R\n", + "\n", + "R\n", + "\n", + "RX-0.3041π\n", + "\n", + "RX-0.3041π\n", + "\n", + "RX-0.3041π\n", + "\n", + "RX-0.3041π\n", + "\n", + "RX-0.3041π\n", + "\n", + "T\n", + "T\n", + "T\n", + "T\n", + "T\n", + "DEP1\n", + "0.05\n", + "\n", + "DEP1\n", + "0.05\n", + "\n", + "DEP1\n", + "0.05\n", + "\n", + "DEP1\n", + "0.05\n", + "\n", + "DEP1\n", + "0.05\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "√X\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "T\n", + "RX0.3041π\n", + "\n", + "M\n", + "0\n", + "rec[0]\n", + "\n", + "M\n", + "0\n", + "rec[1]\n", + "\n", + "M\n", + "0\n", + "rec[2]\n", + "\n", + "M\n", + "0\n", + "rec[3]\n", + "\n", + "M\n", + "0\n", + "rec[4]\n", + "\n", + "
\n", + "
\n", + " " + ], + "text/plain": [ + "" + ] + }, + "execution_count": 9, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "def make_logical_distillation_kernel(angle: float, p: float):\n", + " @kernel\n", + " def distillation():\n", + " q = squin.qalloc(5)\n", + "\n", + " # initial state - prepare noisy magic states on all 5 qubits\n", + " squin.broadcast.reset(q)\n", + " squin.broadcast.rx(angle, q)\n", + " squin.broadcast.t_adj(q)\n", + " squin.broadcast.depolarize(p, q)\n", + "\n", + " # # distillation circuit\n", + " squin.broadcast.sqrt_x([q[0], q[1], q[4]])\n", + " squin.broadcast.cz([q[0], q[2]], [q[1], q[3]])\n", + " squin.broadcast.sqrt_y([q[0], q[3]])\n", + " squin.broadcast.cz([q[0], q[3]], [q[2], q[4]])\n", + " squin.broadcast.sqrt_x_adj([q[0]])\n", + " squin.broadcast.cz([q[0], q[1]], [q[4], q[3]])\n", + " squin.broadcast.sqrt_x_adj(q)\n", + "\n", + " # # undo magic state preparation on first qubit to measure infidelity\n", + " squin.t(qubit=q[0])\n", + " squin.rx(angle=-angle, qubit=q[0])\n", + "\n", + " squin.broadcast.measure(q)\n", + "\n", + " return distillation\n", + "\n", + "\n", + "distillation_kernel = make_logical_distillation_kernel(theta, p)\n", + "c = Circuit(distillation_kernel)\n", + "c.diagram(height=240)" + ] + }, + { + "cell_type": "markdown", + "id": "47db8e05", + "metadata": {}, + "source": [ + "In this distillation circuit, qubits `[q1,q2,q3,q4]` are the distillation syndrome.\n", + "If we measure them in the state `[1,0,1,1]`, we know that distillation was successful and the first qubit `q0` is in a magic state with higher fidelity.\n", + "\n", + "To measure the fidelity, we undo the magic state preparation on the first qubit before measurement." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We can also check the Clifford stabilizer flow of the logical distillation block itself. Since Stim flow generators only apply to Clifford circuits, this diagnostic removes the non-Clifford magic-state preparation and final undo gates, leaving just the distillation block plus the basis rotation used for tomography.\n" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "X basis: 5 flows\n", + "1 -> ____Z xor rec[4]\n", + "1 -> ___Z_ xor rec[3]\n", + "1 -> __Z__ xor rec[2]\n", + "1 -> _Z___ xor rec[1]\n", + "1 -> Z____ xor rec[0]\n", + "\n", + "Y basis: 5 flows\n", + "1 -> ____Z xor rec[4]\n", + "1 -> ___Z_ xor rec[3]\n", + "1 -> __Z__ xor rec[2]\n", + "1 -> _Z___ xor rec[1]\n", + "1 -> Z____ xor rec[0]\n", + "\n", + "Z basis: 6 flows\n", + "1 -> rec[0] xor rec[1] xor rec[3]\n", + "1 -> ____Z xor rec[4]\n", + "1 -> ___Z_ xor rec[3]\n", + "1 -> __Z__ xor rec[2]\n", + "1 -> _Z___ xor rec[1]\n", + "1 -> Z____ xor rec[1] xor rec[3]\n", + "\n" + ] + } + ], + "source": [ + "def make_logical_distillation_flow_kernel(basis: Literal[\"X\", \"Y\", \"Z\"] = \"Z\"):\n", + " @kernel\n", + " def distillation_flow():\n", + " q = squin.qalloc(5)\n", + " squin.broadcast.reset(q)\n", + "\n", + " squin.broadcast.sqrt_x([q[0], q[1], q[4]])\n", + " squin.broadcast.cz([q[0], q[2]], [q[1], q[3]])\n", + " squin.broadcast.sqrt_y([q[0], q[3]])\n", + " squin.broadcast.cz([q[0], q[3]], [q[2], q[4]])\n", + " squin.broadcast.sqrt_x_adj([q[0]])\n", + " squin.broadcast.cz([q[0], q[1]], [q[4], q[3]])\n", + " squin.broadcast.sqrt_x_adj(q)\n", + "\n", + " if basis == \"X\":\n", + " squin.h(q[0])\n", + " elif basis == \"Y\":\n", + " squin.s_adj(q[0])\n", + " squin.h(q[0])\n", + "\n", + " squin.broadcast.measure(q)\n", + "\n", + " return distillation_flow\n", + "\n", + "LOGICAL_DISTILLATION_FLOWS = {\n", + " basis: stim.Circuit(str(Circuit(make_logical_distillation_flow_kernel(basis)))).flow_generators()\n", + " for basis in [\"X\", \"Y\", \"Z\"]\n", + "}\n", + "\n", + "for basis in [\"X\", \"Y\", \"Z\"]:\n", + " print(f\"{basis} basis: {len(LOGICAL_DISTILLATION_FLOWS[basis])} flows\")\n", + " for flow in LOGICAL_DISTILLATION_FLOWS[basis]:\n", + " print(flow)\n", + " print()\n" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "id": "2902ca1b", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Infidelity: 0.00683\n", + "Percentage of post-selected samples: 14.34%\n" + ] + } + ], + "source": [ + "samples = c.compile_sampler(seed=0).sample(shots=50_000, batch_size=10_000)\n", + "\n", + "def post_select(samples: np.ndarray):\n", + " distilled_output = samples[:, 0]\n", + " distillation_syndromes = samples[:, 1:]\n", + " sel = np.all(distillation_syndromes == np.array([1, 0, 1, 1]), axis=1)\n", + " return distilled_output[sel]\n", + "\n", + "\n", + "post_selected_samples = post_select(samples)\n", + "print(\n", + " f\"Infidelity: {np.count_nonzero(post_selected_samples) / len(post_selected_samples):.5f}\"\n", + ")\n", + "print(\n", + " f\"Percentage of post-selected samples: {len(post_selected_samples) / len(samples) * 100:.2f}%\"\n", + ")" + ] + }, + { + "cell_type": "markdown", + "id": "c23d4d28", + "metadata": {}, + "source": [ + "After distillation, the fidelity has increased to 99.7%. This is much better than the original 97% of the individual input magic states. A downside is that the distillation process is only successful 14% of the time. This means, we have to repeat the distillation process multiple times until we get a good output state.\n", + "\n", + "We can study other properties of the distillation circuit. For example, we analyze the dependence of the fidelity on the rotation angle of the RX gate:" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "id": "60c07c0e", + "metadata": {}, + "outputs": [], + "source": [ + "angles = np.linspace(-0.4, 0.4, 7) + theta\n", + "fidelities = []\n", + "post_selection_rate = []\n", + "for angle in angles:\n", + " distillation_kernel = make_logical_distillation_kernel(angle, p)\n", + " c = Circuit(distillation_kernel)\n", + " samples = c.compile_sampler(seed=0).sample(shots=4_096)\n", + "\n", + " post_selected_samples = post_select(samples)\n", + " post_selection_rate.append(len(post_selected_samples) / len(samples))\n", + " f = np.count_nonzero(post_selected_samples) / len(post_selected_samples)\n", + " fidelities.append(1 - f)" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "id": "d0c6c733", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 13, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/svg+xml": [ + "\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " 2026-03-31T15:08:33.105134\n", + " image/svg+xml\n", + " \n", + " \n", + " Matplotlib v3.10.8, https://matplotlib.org/\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n" + ], + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "fig, ax1 = plt.subplots()\n", + "\n", + "(line1,) = ax1.semilogy(angles - theta, 1 - np.array(fidelities), \"*-\", c=\"g\", lw=0.5, label=\"Infidelity\")\n", + "ax1.axvline(0, linestyle=\"--\", lw=0.5)\n", + "ax1.set_xlabel(r\"$(\\theta - \\theta^*)/\\pi$\")\n", + "ax1.set_ylabel(\"Infidelity\")\n", + "\n", + "ax2 = ax1.twinx()\n", + "(line2,) = ax2.plot(angles - theta, post_selection_rate, \".-\", c=\"orange\", lw=0.5, label=\"Post-selection rate\")\n", + "ax2.set_ylabel(\"Post-selection rate\")\n", + "ax2.legend(handles=[line1, line2], loc=\"lower right\")" + ] + }, + { + "cell_type": "markdown", + "id": "16c04d9c", + "metadata": {}, + "source": [ + "We see that the output fidelity and post-selection rate are peaked at the distillation angle $\\theta^*$. This is expected, as the distillation circuit is designed to distill only one particular state." + ] + }, + { + "cell_type": "markdown", + "id": "8bc247ee", + "metadata": {}, + "source": [ + "### Magic state distillation: The realistic case (with noise)\n", + "\n", + "On a real quantum computer, the distillation circuit is noisy itself. Here, the benefit of distillation is\n", + "generally outweighed by the noise in the distillation circuit.\n", + "\n", + "We can explicitly see this using a simulation, where we add noise to the distillation circuit. Note that we consider two different noise scales:\n", + "- `p` is the noise that captures the magic state preparation process.\n", + "- `noise` is the noise strength of the depolarizing noise in the distillation circuit.\n" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "id": "76e14678", + "metadata": {}, + "outputs": [], + "source": [ + "noise = p / 5\n", + "\n", + "@kernel\n", + "def noisy_distillation():\n", + " q = squin.qalloc(5)\n", + "\n", + " # initial state - prepare noisy magic states on all 5 qubits\n", + " squin.broadcast.reset(q)\n", + " squin.broadcast.rx(theta, q)\n", + " squin.broadcast.t_adj(q)\n", + " squin.broadcast.depolarize(p, q)\n", + "\n", + " # distillation circuit\n", + " squin.broadcast.depolarize(noise, q)\n", + " squin.broadcast.sqrt_x([q[0], q[1], q[4]])\n", + " squin.broadcast.depolarize(noise, [q[0], q[1], q[4]])\n", + " squin.broadcast.cz([q[0], q[2]], [q[1], q[3]])\n", + " squin.broadcast.depolarize2(noise, [q[0], q[2]], [q[1], q[3]])\n", + " squin.broadcast.sqrt_y([q[0], q[3]])\n", + " squin.broadcast.depolarize(noise, [q[0], q[3]])\n", + " squin.broadcast.cz([q[0], q[3]], [q[2], q[4]])\n", + " squin.broadcast.depolarize2(noise, [q[0], q[3]], [q[2], q[4]])\n", + " squin.broadcast.sqrt_x_adj([q[0]])\n", + " squin.broadcast.depolarize(noise, [q[0]])\n", + " squin.broadcast.cz([q[0], q[1]], [q[4], q[3]])\n", + " squin.broadcast.depolarize2(noise, [q[0], q[1]], [q[4], q[3]])\n", + " squin.broadcast.sqrt_x_adj(q)\n", + " squin.broadcast.depolarize(noise, q)\n", + "\n", + " # undo magic state preparation on first qubit to measure infidelity\n", + " squin.t(qubit=q[0])\n", + " squin.rx(angle=-theta, qubit=q[0])\n", + "\n", + " squin.broadcast.measure(q)" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "id": "b7ded3a3", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Infidelity: 0.04128\n", + "Percentage of post-selected samples: 12.78%\n" + ] + } + ], + "source": [ + "c = Circuit(noisy_distillation)\n", + "samples = c.compile_sampler(seed=0).sample(shots=40_000, batch_size=10_000)\n", + "\n", + "def post_select(samples: np.ndarray):\n", + " distilled_output = samples[:, 0]\n", + " distillation_syndromes = samples[:, 1:]\n", + " sel = np.all(distillation_syndromes == np.array([1, 0, 1, 1]), axis=1)\n", + " return distilled_output[sel]\n", + "\n", + "\n", + "post_selected_samples = post_select(samples)\n", + "print(f\"Infidelity: {np.count_nonzero(post_selected_samples) / len(post_selected_samples):.5f}\")\n", + "print(f\"Percentage of post-selected samples: {len(post_selected_samples) / len(samples) * 100:.2f}%\")" + ] + }, + { + "cell_type": "markdown", + "id": "5539d192", + "metadata": {}, + "source": [ + "We see that the addition of noise has reduced the output fidelity to ~96%. This is worse than the input state!" + ] + }, + { + "cell_type": "markdown", + "id": "52723db5", + "metadata": {}, + "source": [ + "# Encoding the distillation circuit\n", + "\n", + "To address this issue, we need to make our distillation circuit resilient to noise.\n", + "We do this by encoding it using a quantum error correction code, specifically the [17,1,5] color code.\n", + "\n", + "The following kernel takes a physical qubit with an arbitrary state at qubit `q[7]` and returns a logical qubit in the same (but now logical) state as `q[7]`:" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "id": "30130981", + "metadata": {}, + "outputs": [], + "source": [ + "@kernel\n", + "def encode(q):\n", + " squin.broadcast.reset([q[0], q[1], q[2], q[3], q[4], q[5], q[6], q[8], q[9], q[10], q[11], q[12], q[13], q[14], q[15], q[16]])\n", + " squin.broadcast.sqrt_y([q[0], q[1], q[2], q[3], q[4], q[5], q[6], q[8], q[9], q[10], q[11], q[12], q[13], q[14], q[15], q[16]])\n", + " squin.broadcast.cz([q[1], q[7], q[12], q[13]], [q[3], q[10], q[14], q[16]])\n", + " squin.broadcast.sqrt_y_adj([q[7], q[16]])\n", + " squin.broadcast.cz([q[4], q[8], q[11], q[15]], [q[7], q[10], q[14], q[16]])\n", + " squin.broadcast.sqrt_y_adj([q[4], q[10], q[14], q[16]])\n", + " squin.broadcast.cz([q[2], q[6], q[7], q[10], q[14]], [q[4], q[8], q[9], q[13], q[16]])\n", + " squin.broadcast.sqrt_y([q[3], q[6], q[9], q[10], q[12], q[13]])\n", + " squin.broadcast.cz([q[0], q[3], q[5], q[10], q[11]], [q[2], q[6], q[8], q[12], q[13]])\n", + " squin.broadcast.sqrt_y([q[1], q[2], q[3], q[4], q[6], q[7], q[8], q[9], q[11], q[12], q[14]])\n", + " squin.broadcast.cz([q[0], q[2], q[4], q[6], q[8], q[12]], [q[1], q[3], q[5], q[7], q[9], q[15]])\n", + " squin.broadcast.sqrt_y_adj([q[0], q[2], q[5], q[6], q[8], q[10], q[12]])\n", + " squin.broadcast.x([q[14], q[7], q[5], q[2], q[1], q[4]])\n", + " squin.broadcast.z([q[11], q[6], q[4], q[2]])" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "id": "3eaa3995", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "\n", + "
\n", + "
\n", + " \n", + "\n", + "\n", + "q0\n", + "\n", + "q1\n", + "\n", + "q2\n", + "\n", + "q3\n", + "\n", + "q4\n", + "\n", + "q5\n", + "\n", + "q6\n", + "\n", + "q7\n", + "\n", + "q8\n", + "\n", + "q9\n", + "\n", + "q10\n", + "\n", + "q11\n", + "\n", + "q12\n", + "\n", + "q13\n", + "\n", + "q14\n", + "\n", + "q15\n", + "\n", + "q16\n", + "\n", + "\n", + "R\n", + "\n", + "R\n", + "\n", + "R\n", + "\n", + "R\n", + "\n", + "R\n", + "\n", + "R\n", + "\n", + "R\n", + "\n", + "R\n", + "\n", + "R\n", + "\n", + "R\n", + "\n", + "R\n", + "\n", + "R\n", + "\n", + "R\n", + "\n", + "R\n", + "\n", + "R\n", + "\n", + "R\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "X\n", + "\n", + "X\n", + "\n", + "X\n", + "\n", + "X\n", + "\n", + "X\n", + "\n", + "X\n", + "\n", + "Z\n", + "\n", + "Z\n", + "\n", + "Z\n", + "\n", + "Z\n", + "\n", + "
\n", + "
\n", + " " + ], + "text/plain": [ + "" + ] + }, + "execution_count": 17, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "@kernel\n", + "def main():\n", + " q = squin.qalloc(17)\n", + " encode(q)\n", + "c = Circuit(main)\n", + "c.diagram(height=400)" + ] + }, + { + "cell_type": "markdown", + "id": "16f19836", + "metadata": {}, + "source": [ + "While the encoding kernel may look complex, we can verify its correctness by checking its stabilizer flow:" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "id": "a5bd57f0", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "[stim.Flow(\"1 -> ____________X_XXX\"),\n", + " stim.Flow(\"1 -> ____________Z_ZZZ\"),\n", + " stim.Flow(\"1 -> ___________X_XX_X\"),\n", + " stim.Flow(\"1 -> ___________Z_ZZ_Z\"),\n", + " stim.Flow(\"1 -> __________X__XXX_\"),\n", + " stim.Flow(\"1 -> __________Z__ZZZ_\"),\n", + " stim.Flow(\"1 -> ______XXXX_______\"),\n", + " stim.Flow(\"1 -> ______ZZZZ_______\"),\n", + " stim.Flow(\"1 -> ____XX__XX_______\"),\n", + " stim.Flow(\"1 -> ____ZZ__ZZ_______\"),\n", + " stim.Flow(\"1 -> __XX_X_X_X___X_XX\"),\n", + " stim.Flow(\"1 -> __ZZ_Z_Z_Z___Z_ZZ\"),\n", + " stim.Flow(\"1 -> _X_X____XX_______\"),\n", + " stim.Flow(\"1 -> _Z_Z____ZZ_______\"),\n", + " stim.Flow(\"1 -> X__X_X_XX____X_XX\"),\n", + " stim.Flow(\"1 -> Z__Z_Z_ZZ____Z_ZZ\"),\n", + " stim.Flow(\"_______X_________ -> ________XX___X_XX\"),\n", + " stim.Flow(\"_______Z_________ -> ________ZZ___Z_ZZ\")]" + ] + }, + "execution_count": 18, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "stim.Circuit(str(c)).flow_generators()" + ] + }, + { + "cell_type": "markdown", + "id": "507a65b9", + "metadata": {}, + "source": [ + "The encoding kernel takes an arbitrary input state at `q[7]`. The physical Pauli operators of this qubit are encoded into logical operators of the [17,1,5] code: $X_8X_9 X_{13} X_{15}X_{16}$ (`________XX___X_XX`) and $Z_8Z_9Z_{13}Z_{15}Z_{16}$ (`________ZZ___Z_ZZ`).\n", + "\n", + "Additionally, the stabilizer flow shows the 16 stabilizer generators that stabilize the output state." + ] + }, + { + "cell_type": "markdown", + "id": "e97c4bb7", + "metadata": {}, + "source": [ + "## The fully encoded protocol\n", + "\n", + "Now we are ready to construct the full kernel of the encoded distillation experiment. This will be a kernel with 85 qubits (5 logical qubits, constructed from 17 physical qubits each).\n", + "\n", + "Let us summarize the protocol we are going to simulate:\n", + "- **Prepare 5 encoded magic states at 97% fidelity.** The input magic states are noisy, and we assume the encoding process to be noiseless. While this is a simplification for this tutorial, it does not introduce any qualitative changes. We can think of this as an abstract preparation protocol that produces 5 encoded magic states, each with 97% fidelity.\n", + "- **Distill 5 encoded magic states into a single logical qubit.** We use a transversal encoding of the distillation circuit we studied above. We will also add full circuit-level noise.\n", + "- **Perform post-selection** We will perform two stages of post-selection: (a) post-select on the perfect stabilizers, and (b) post-select on the [1,0,1,1] distillation syndrome of logical bits.\n", + "- **Quantum state tomography** We will perform quantum state tomography on the output logical qubit to estimate its magic state fidelity." + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "id": "53bc58fe", + "metadata": {}, + "outputs": [], + "source": [ + "@kernel\n", + "def measure_and_annotate(q):\n", + " m = squin.broadcast.measure(q)\n", + " squin.set_detector([m[0], m[1], m[2], m[3]], coordinates=[0])\n", + " squin.set_detector([m[0], m[2], m[4], m[5]], coordinates=[1])\n", + " squin.set_detector([m[4], m[5], m[6], m[7]], coordinates=[2])\n", + " squin.set_detector([m[6], m[7], m[8], m[9]], coordinates=[3])\n", + " squin.set_detector([m[11], m[13], m[14], m[16]], coordinates=[4])\n", + " squin.set_detector([m[10], m[11], m[12], m[14]], coordinates=[5])\n", + " squin.set_detector([m[12], m[14], m[15], m[16]], coordinates=[6])\n", + " squin.set_detector([m[2], m[3], m[5], m[6], m[8], m[10], m[11], m[13]], coordinates=[7])\n", + " squin.set_observable([m[1], m[3], m[10], m[12], m[15]])" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "id": "ca566e41", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "\n", + "
\n", + " \n", + "
\n", + "
\n", + " \n", + "\n", + "\n", + "q0\n", + "\n", + "q1\n", + "\n", + "q2\n", + "\n", + "q3\n", + "\n", + "q4\n", + "\n", + "q5\n", + "\n", + "q6\n", + "\n", + "q7\n", + "\n", + "q8\n", + "\n", + "q9\n", + "\n", + "q10\n", + "\n", + "q11\n", + "\n", + "q12\n", + "\n", + "q13\n", + "\n", + "q14\n", + "\n", + "q15\n", + "\n", + "q16\n", + "\n", + "q17\n", + "\n", + "q18\n", + "\n", + "q19\n", + "\n", + "q20\n", + "\n", + "q21\n", + "\n", + "q22\n", + "\n", + "q23\n", + "\n", + "q24\n", + "\n", + "q25\n", + "\n", + "q26\n", + "\n", + "q27\n", + "\n", + "q28\n", + "\n", + "q29\n", + "\n", + "q30\n", + "\n", + "q31\n", + "\n", + "q32\n", + "\n", + "q33\n", + "\n", + "q34\n", + "\n", + "q35\n", + "\n", + "q36\n", + "\n", + "q37\n", + "\n", + "q38\n", + "\n", + "q39\n", + "\n", + "q40\n", + "\n", + "q41\n", + "\n", + "q42\n", + "\n", + "q43\n", + "\n", + "q44\n", + "\n", + "q45\n", + "\n", + "q46\n", + "\n", + "q47\n", + "\n", + "q48\n", + "\n", + "q49\n", + "\n", + "q50\n", + "\n", + "q51\n", + "\n", + "q52\n", + "\n", + "q53\n", + "\n", + "q54\n", + "\n", + "q55\n", + "\n", + "q56\n", + "\n", + "q57\n", + "\n", + "q58\n", + "\n", + "q59\n", + "\n", + "q60\n", + "\n", + "q61\n", + "\n", + "q62\n", + "\n", + "q63\n", + "\n", + "q64\n", + "\n", + "q65\n", + "\n", + "q66\n", + "\n", + "q67\n", + "\n", + "q68\n", + "\n", + "q69\n", + "\n", + "q70\n", + "\n", + "q71\n", + "\n", + "q72\n", + "\n", + "q73\n", + "\n", + "q74\n", + "\n", + "q75\n", + "\n", + "q76\n", + "\n", + "q77\n", + "\n", + "q78\n", + "\n", + "q79\n", + "\n", + "q80\n", + "\n", + "q81\n", + "\n", + "q82\n", + "\n", + "q83\n", + "\n", + "q84\n", + "\n", + "\n", + "RX-0.3041π\n", + "\n", + "T\n", + "DEP1\n", + "0.05\n", + "\n", + "R\n", + "\n", + "R\n", + "\n", + "R\n", + "\n", + "R\n", + "\n", + "R\n", + "\n", + "R\n", + "\n", + "R\n", + "\n", + "R\n", + "\n", + "R\n", + "\n", + "R\n", + "\n", + "R\n", + "\n", + "R\n", + "\n", + "R\n", + "\n", + "R\n", + "\n", + "R\n", + "\n", + "R\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "X\n", + "\n", + "X\n", + "\n", + "X\n", + "\n", + "X\n", + "\n", + "X\n", + "\n", + "X\n", + "\n", + "Z\n", + "\n", + "Z\n", + "\n", + "Z\n", + "\n", + "Z\n", + "\n", + "RX-0.3041π\n", + "\n", + "T\n", + "DEP1\n", + "0.05\n", + "\n", + "R\n", + "\n", + "R\n", + "\n", + "R\n", + "\n", + "R\n", + "\n", + "R\n", + "\n", + "R\n", + "\n", + "R\n", + "\n", + "R\n", + "\n", + "R\n", + "\n", + "R\n", + "\n", + "R\n", + "\n", + "R\n", + "\n", + "R\n", + "\n", + "R\n", + "\n", + "R\n", + "\n", + "R\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "X\n", + "\n", + "X\n", + "\n", + "X\n", + "\n", + "X\n", + "\n", + "X\n", + "\n", + "X\n", + "\n", + "Z\n", + "\n", + "Z\n", + "\n", + "Z\n", + "\n", + "Z\n", + "\n", + "RX-0.3041π\n", + "\n", + "T\n", + "DEP1\n", + "0.05\n", + "\n", + "R\n", + "\n", + "R\n", + "\n", + "R\n", + "\n", + "R\n", + "\n", + "R\n", + "\n", + "R\n", + "\n", + "R\n", + "\n", + "R\n", + "\n", + "R\n", + "\n", + "R\n", + "\n", + "R\n", + "\n", + "R\n", + "\n", + "R\n", + "\n", + "R\n", + "\n", + "R\n", + "\n", + "R\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "X\n", + "\n", + "X\n", + "\n", + "X\n", + "\n", + "X\n", + "\n", + "X\n", + "\n", + "X\n", + "\n", + "Z\n", + "\n", + "Z\n", + "\n", + "Z\n", + "\n", + "Z\n", + "\n", + "RX-0.3041π\n", + "\n", + "T\n", + "DEP1\n", + "0.05\n", + "\n", + "R\n", + "\n", + "R\n", + "\n", + "R\n", + "\n", + "R\n", + "\n", + "R\n", + "\n", + "R\n", + "\n", + "R\n", + "\n", + "R\n", + "\n", + "R\n", + "\n", + "R\n", + "\n", + "R\n", + "\n", + "R\n", + "\n", + "R\n", + "\n", + "R\n", + "\n", + "R\n", + "\n", + "R\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "X\n", + "\n", + "X\n", + "\n", + "X\n", + "\n", + "X\n", + "\n", + "X\n", + "\n", + "X\n", + "\n", + "Z\n", + "\n", + "Z\n", + "\n", + "Z\n", + "\n", + "Z\n", + "\n", + "RX-0.3041π\n", + "\n", + "T\n", + "DEP1\n", + "0.05\n", + "\n", + "R\n", + "\n", + "R\n", + "\n", + "R\n", + "\n", + "R\n", + "\n", + "R\n", + "\n", + "R\n", + "\n", + "R\n", + "\n", + "R\n", + "\n", + "R\n", + "\n", + "R\n", + "\n", + "R\n", + "\n", + "R\n", + "\n", + "R\n", + "\n", + "R\n", + "\n", + "R\n", + "\n", + "R\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "X\n", + "\n", + "X\n", + "\n", + "X\n", + "\n", + "X\n", + "\n", + "X\n", + "\n", + "X\n", + "\n", + "Z\n", + "\n", + "Z\n", + "\n", + "Z\n", + "\n", + "Z\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "DEP1\n", + "0.005\n", + "\n", + "DEP1\n", + "0.005\n", + "\n", + "DEP1\n", + "0.005\n", + "\n", + "DEP1\n", + "0.005\n", + "\n", + "DEP1\n", + "0.005\n", + "\n", + "DEP1\n", + "0.005\n", + "\n", + "DEP1\n", + "0.005\n", + "\n", + "DEP1\n", + "0.005\n", + "\n", + "DEP1\n", + "0.005\n", + "\n", + "DEP1\n", + "0.005\n", + "\n", + "DEP1\n", + "0.005\n", + "\n", + "DEP1\n", + "0.005\n", + "\n", + "DEP1\n", + "0.005\n", + "\n", + "DEP1\n", + "0.005\n", + "\n", + "DEP1\n", + "0.005\n", + "\n", + "DEP1\n", + "0.005\n", + "\n", + "DEP1\n", + "0.005\n", + "\n", + "DEP1\n", + "0.005\n", + "\n", + "DEP1\n", + "0.005\n", + "\n", + "DEP1\n", + "0.005\n", + "\n", + "DEP1\n", + "0.005\n", + "\n", + "DEP1\n", + "0.005\n", + "\n", + "DEP1\n", + "0.005\n", + "\n", + "DEP1\n", + "0.005\n", + "\n", + "DEP1\n", + "0.005\n", + "\n", + "DEP1\n", + "0.005\n", + "\n", + "DEP1\n", + "0.005\n", + "\n", + "DEP1\n", + "0.005\n", + "\n", + "DEP1\n", + "0.005\n", + "\n", + "DEP1\n", + "0.005\n", + "\n", + "DEP1\n", + "0.005\n", + "\n", + "DEP1\n", + "0.005\n", + "\n", + "DEP1\n", + "0.005\n", + "\n", + "DEP1\n", + "0.005\n", + "\n", + "DEP1\n", + "0.005\n", + "\n", + "DEP1\n", + "0.005\n", + "\n", + "DEP1\n", + "0.005\n", + "\n", + "DEP1\n", + "0.005\n", + "\n", + "DEP1\n", + "0.005\n", + "\n", + "DEP1\n", + "0.005\n", + "\n", + "DEP1\n", + "0.005\n", + "\n", + "DEP1\n", + "0.005\n", + "\n", + "DEP1\n", + "0.005\n", + "\n", + "DEP1\n", + "0.005\n", + "\n", + "DEP1\n", + "0.005\n", + "\n", + "DEP1\n", + "0.005\n", + "\n", + "DEP1\n", + "0.005\n", + "\n", + "DEP1\n", + "0.005\n", + "\n", + "DEP1\n", + "0.005\n", + "\n", + "DEP1\n", + "0.005\n", + "\n", + "DEP1\n", + "0.005\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "DEP2\n", + "\n", + "DEP2\n", + "0.005\n", + "\n", + "\n", + "DEP2\n", + "\n", + "DEP2\n", + "0.005\n", + "\n", + "\n", + "DEP2\n", + "\n", + "DEP2\n", + "0.005\n", + "\n", + "\n", + "DEP2\n", + "\n", + "DEP2\n", + "0.005\n", + "\n", + "\n", + "DEP2\n", + "\n", + "DEP2\n", + "0.005\n", + "\n", + "\n", + "DEP2\n", + "\n", + "DEP2\n", + "0.005\n", + "\n", + "\n", + "DEP2\n", + "\n", + "DEP2\n", + "0.005\n", + "\n", + "\n", + "DEP2\n", + "\n", + "DEP2\n", + "0.005\n", + "\n", + "\n", + "DEP2\n", + "\n", + "DEP2\n", + "0.005\n", + "\n", + "\n", + "DEP2\n", + "\n", + "DEP2\n", + "0.005\n", + "\n", + "\n", + "DEP2\n", + "\n", + "DEP2\n", + "0.005\n", + "\n", + "\n", + "DEP2\n", + "\n", + "DEP2\n", + "0.005\n", + "\n", + "\n", + "DEP2\n", + "\n", + "DEP2\n", + "0.005\n", + "\n", + "\n", + "DEP2\n", + "\n", + "DEP2\n", + "0.005\n", + "\n", + "\n", + "DEP2\n", + "\n", + "DEP2\n", + "0.005\n", + "\n", + "\n", + "DEP2\n", + "\n", + "DEP2\n", + "0.005\n", + "\n", + "\n", + "DEP2\n", + "\n", + "DEP2\n", + "0.005\n", + "\n", + "\n", + "DEP2\n", + "\n", + "DEP2\n", + "0.005\n", + "\n", + "\n", + "DEP2\n", + "\n", + "DEP2\n", + "0.005\n", + "\n", + "\n", + "DEP2\n", + "\n", + "DEP2\n", + "0.005\n", + "\n", + "\n", + "DEP2\n", + "\n", + "DEP2\n", + "0.005\n", + "\n", + "\n", + "DEP2\n", + "\n", + "DEP2\n", + "0.005\n", + "\n", + "\n", + "DEP2\n", + "\n", + "DEP2\n", + "0.005\n", + "\n", + "\n", + "DEP2\n", + "\n", + "DEP2\n", + "0.005\n", + "\n", + "\n", + "DEP2\n", + "\n", + "DEP2\n", + "0.005\n", + "\n", + "\n", + "DEP2\n", + "\n", + "DEP2\n", + "0.005\n", + "\n", + "\n", + "DEP2\n", + "\n", + "DEP2\n", + "0.005\n", + "\n", + "\n", + "DEP2\n", + "\n", + "DEP2\n", + "0.005\n", + "\n", + "\n", + "DEP2\n", + "\n", + "DEP2\n", + "0.005\n", + "\n", + "\n", + "DEP2\n", + "\n", + "DEP2\n", + "0.005\n", + "\n", + "\n", + "DEP2\n", + "\n", + "DEP2\n", + "0.005\n", + "\n", + "\n", + "DEP2\n", + "\n", + "DEP2\n", + "0.005\n", + "\n", + "\n", + "DEP2\n", + "\n", + "DEP2\n", + "0.005\n", + "\n", + "\n", + "DEP2\n", + "\n", + "DEP2\n", + "0.005\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "DEP1\n", + "0.005\n", + "\n", + "DEP1\n", + "0.005\n", + "\n", + "DEP1\n", + "0.005\n", + "\n", + "DEP1\n", + "0.005\n", + "\n", + "DEP1\n", + "0.005\n", + "\n", + "DEP1\n", + "0.005\n", + "\n", + "DEP1\n", + "0.005\n", + "\n", + "DEP1\n", + "0.005\n", + "\n", + "DEP1\n", + "0.005\n", + "\n", + "DEP1\n", + "0.005\n", + "\n", + "DEP1\n", + "0.005\n", + "\n", + "DEP1\n", + "0.005\n", + "\n", + "DEP1\n", + "0.005\n", + "\n", + "DEP1\n", + "0.005\n", + "\n", + "DEP1\n", + "0.005\n", + "\n", + "DEP1\n", + "0.005\n", + "\n", + "DEP1\n", + "0.005\n", + "\n", + "DEP1\n", + "0.005\n", + "\n", + "DEP1\n", + "0.005\n", + "\n", + "DEP1\n", + "0.005\n", + "\n", + "DEP1\n", + "0.005\n", + "\n", + "DEP1\n", + "0.005\n", + "\n", + "DEP1\n", + "0.005\n", + "\n", + "DEP1\n", + "0.005\n", + "\n", + "DEP1\n", + "0.005\n", + "\n", + "DEP1\n", + "0.005\n", + "\n", + "DEP1\n", + "0.005\n", + "\n", + "DEP1\n", + "0.005\n", + "\n", + "DEP1\n", + "0.005\n", + "\n", + "DEP1\n", + "0.005\n", + "\n", + "DEP1\n", + "0.005\n", + "\n", + "DEP1\n", + "0.005\n", + "\n", + "DEP1\n", + "0.005\n", + "\n", + "DEP1\n", + "0.005\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "DEP2\n", + "\n", + "DEP2\n", + "0.005\n", + "\n", + "\n", + "DEP2\n", + "\n", + "DEP2\n", + "0.005\n", + "\n", + "\n", + "DEP2\n", + "\n", + "DEP2\n", + "0.005\n", + "\n", + "\n", + "DEP2\n", + "\n", + "DEP2\n", + "0.005\n", + "\n", + "\n", + "DEP2\n", + "\n", + "DEP2\n", + "0.005\n", + "\n", + "\n", + "DEP2\n", + "\n", + "DEP2\n", + "0.005\n", + "\n", + "\n", + "DEP2\n", + "\n", + "DEP2\n", + "0.005\n", + "\n", + "\n", + "DEP2\n", + "\n", + "DEP2\n", + "0.005\n", + "\n", + "\n", + "DEP2\n", + "\n", + "DEP2\n", + "0.005\n", + "\n", + "\n", + "DEP2\n", + "\n", + "DEP2\n", + "0.005\n", + "\n", + "\n", + "DEP2\n", + "\n", + "DEP2\n", + "0.005\n", + "\n", + "\n", + "DEP2\n", + "\n", + "DEP2\n", + "0.005\n", + "\n", + "\n", + "DEP2\n", + "\n", + "DEP2\n", + "0.005\n", + "\n", + "\n", + "DEP2\n", + "\n", + "DEP2\n", + "0.005\n", + "\n", + "\n", + "DEP2\n", + "\n", + "DEP2\n", + "0.005\n", + "\n", + "\n", + "DEP2\n", + "\n", + "DEP2\n", + "0.005\n", + "\n", + "\n", + "DEP2\n", + "\n", + "DEP2\n", + "0.005\n", + "\n", + "\n", + "DEP2\n", + "\n", + "DEP2\n", + "0.005\n", + "\n", + "\n", + "DEP2\n", + "\n", + "DEP2\n", + "0.005\n", + "\n", + "\n", + "DEP2\n", + "\n", + "DEP2\n", + "0.005\n", + "\n", + "\n", + "DEP2\n", + "\n", + "DEP2\n", + "0.005\n", + "\n", + "\n", + "DEP2\n", + "\n", + "DEP2\n", + "0.005\n", + "\n", + "\n", + "DEP2\n", + "\n", + "DEP2\n", + "0.005\n", + "\n", + "\n", + "DEP2\n", + "\n", + "DEP2\n", + "0.005\n", + "\n", + "\n", + "DEP2\n", + "\n", + "DEP2\n", + "0.005\n", + "\n", + "\n", + "DEP2\n", + "\n", + "DEP2\n", + "0.005\n", + "\n", + "\n", + "DEP2\n", + "\n", + "DEP2\n", + "0.005\n", + "\n", + "\n", + "DEP2\n", + "\n", + "DEP2\n", + "0.005\n", + "\n", + "\n", + "DEP2\n", + "\n", + "DEP2\n", + "0.005\n", + "\n", + "\n", + "DEP2\n", + "\n", + "DEP2\n", + "0.005\n", + "\n", + "\n", + "DEP2\n", + "\n", + "DEP2\n", + "0.005\n", + "\n", + "\n", + "DEP2\n", + "\n", + "DEP2\n", + "0.005\n", + "\n", + "\n", + "DEP2\n", + "\n", + "DEP2\n", + "0.005\n", + "\n", + "\n", + "DEP2\n", + "\n", + "DEP2\n", + "0.005\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "DEP1\n", + "0.005\n", + "\n", + "DEP1\n", + "0.005\n", + "\n", + "DEP1\n", + "0.005\n", + "\n", + "DEP1\n", + "0.005\n", + "\n", + "DEP1\n", + "0.005\n", + "\n", + "DEP1\n", + "0.005\n", + "\n", + "DEP1\n", + "0.005\n", + "\n", + "DEP1\n", + "0.005\n", + "\n", + "DEP1\n", + "0.005\n", + "\n", + "DEP1\n", + "0.005\n", + "\n", + "DEP1\n", + "0.005\n", + "\n", + "DEP1\n", + "0.005\n", + "\n", + "DEP1\n", + "0.005\n", + "\n", + "DEP1\n", + "0.005\n", + "\n", + "DEP1\n", + "0.005\n", + "\n", + "DEP1\n", + "0.005\n", + "\n", + "DEP1\n", + "0.005\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "DEP2\n", + "\n", + "DEP2\n", + "0.005\n", + "\n", + "\n", + "DEP2\n", + "\n", + "DEP2\n", + "0.005\n", + "\n", + "\n", + "DEP2\n", + "\n", + "DEP2\n", + "0.005\n", + "\n", + "\n", + "DEP2\n", + "\n", + "DEP2\n", + "0.005\n", + "\n", + "\n", + "DEP2\n", + "\n", + "DEP2\n", + "0.005\n", + "\n", + "\n", + "DEP2\n", + "\n", + "DEP2\n", + "0.005\n", + "\n", + "\n", + "DEP2\n", + "\n", + "DEP2\n", + "0.005\n", + "\n", + "\n", + "DEP2\n", + "\n", + "DEP2\n", + "0.005\n", + "\n", + "\n", + "DEP2\n", + "\n", + "DEP2\n", + "0.005\n", + "\n", + "\n", + "DEP2\n", + "\n", + "DEP2\n", + "0.005\n", + "\n", + "\n", + "DEP2\n", + "\n", + "DEP2\n", + "0.005\n", + "\n", + "\n", + "DEP2\n", + "\n", + "DEP2\n", + "0.005\n", + "\n", + "\n", + "DEP2\n", + "\n", + "DEP2\n", + "0.005\n", + "\n", + "\n", + "DEP2\n", + "\n", + "DEP2\n", + "0.005\n", + "\n", + "\n", + "DEP2\n", + "\n", + "DEP2\n", + "0.005\n", + "\n", + "\n", + "DEP2\n", + "\n", + "DEP2\n", + "0.005\n", + "\n", + "\n", + "DEP2\n", + "\n", + "DEP2\n", + "0.005\n", + "\n", + "\n", + "DEP2\n", + "\n", + "DEP2\n", + "0.005\n", + "\n", + "\n", + "DEP2\n", + "\n", + "DEP2\n", + "0.005\n", + "\n", + "\n", + "DEP2\n", + "\n", + "DEP2\n", + "0.005\n", + "\n", + "\n", + "DEP2\n", + "\n", + "DEP2\n", + "0.005\n", + "\n", + "\n", + "DEP2\n", + "\n", + "DEP2\n", + "0.005\n", + "\n", + "\n", + "DEP2\n", + "\n", + "DEP2\n", + "0.005\n", + "\n", + "\n", + "DEP2\n", + "\n", + "DEP2\n", + "0.005\n", + "\n", + "\n", + "DEP2\n", + "\n", + "DEP2\n", + "0.005\n", + "\n", + "\n", + "DEP2\n", + "\n", + "DEP2\n", + "0.005\n", + "\n", + "\n", + "DEP2\n", + "\n", + "DEP2\n", + "0.005\n", + "\n", + "\n", + "DEP2\n", + "\n", + "DEP2\n", + "0.005\n", + "\n", + "\n", + "DEP2\n", + "\n", + "DEP2\n", + "0.005\n", + "\n", + "\n", + "DEP2\n", + "\n", + "DEP2\n", + "0.005\n", + "\n", + "\n", + "DEP2\n", + "\n", + "DEP2\n", + "0.005\n", + "\n", + "\n", + "DEP2\n", + "\n", + "DEP2\n", + "0.005\n", + "\n", + "\n", + "DEP2\n", + "\n", + "DEP2\n", + "0.005\n", + "\n", + "\n", + "DEP2\n", + "\n", + "DEP2\n", + "0.005\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "DEP1\n", + "0.005\n", + "\n", + "DEP1\n", + "0.005\n", + "\n", + "DEP1\n", + "0.005\n", + "\n", + "DEP1\n", + "0.005\n", + "\n", + "DEP1\n", + "0.005\n", + "\n", + "DEP1\n", + "0.005\n", + "\n", + "DEP1\n", + "0.005\n", + "\n", + "DEP1\n", + "0.005\n", + "\n", + "DEP1\n", + "0.005\n", + "\n", + "DEP1\n", + "0.005\n", + "\n", + "DEP1\n", + "0.005\n", + "\n", + "DEP1\n", + "0.005\n", + "\n", + "DEP1\n", + "0.005\n", + "\n", + "DEP1\n", + "0.005\n", + "\n", + "DEP1\n", + "0.005\n", + "\n", + "DEP1\n", + "0.005\n", + "\n", + "DEP1\n", + "0.005\n", + "\n", + "DEP1\n", + "0.005\n", + "\n", + "DEP1\n", + "0.005\n", + "\n", + "DEP1\n", + "0.005\n", + "\n", + "DEP1\n", + "0.005\n", + "\n", + "DEP1\n", + "0.005\n", + "\n", + "DEP1\n", + "0.005\n", + "\n", + "DEP1\n", + "0.005\n", + "\n", + "DEP1\n", + "0.005\n", + "\n", + "DEP1\n", + "0.005\n", + "\n", + "DEP1\n", + "0.005\n", + "\n", + "DEP1\n", + "0.005\n", + "\n", + "DEP1\n", + "0.005\n", + "\n", + "DEP1\n", + "0.005\n", + "\n", + "DEP1\n", + "0.005\n", + "\n", + "DEP1\n", + "0.005\n", + "\n", + "DEP1\n", + "0.005\n", + "\n", + "DEP1\n", + "0.005\n", + "\n", + "DEP1\n", + "0.005\n", + "\n", + "DEP1\n", + "0.005\n", + "\n", + "DEP1\n", + "0.005\n", + "\n", + "DEP1\n", + "0.005\n", + "\n", + "DEP1\n", + "0.005\n", + "\n", + "DEP1\n", + "0.005\n", + "\n", + "DEP1\n", + "0.005\n", + "\n", + "DEP1\n", + "0.005\n", + "\n", + "DEP1\n", + "0.005\n", + "\n", + "DEP1\n", + "0.005\n", + "\n", + "DEP1\n", + "0.005\n", + "\n", + "DEP1\n", + "0.005\n", + "\n", + "DEP1\n", + "0.005\n", + "\n", + "DEP1\n", + "0.005\n", + "\n", + "DEP1\n", + "0.005\n", + "\n", + "DEP1\n", + "0.005\n", + "\n", + "DEP1\n", + "0.005\n", + "\n", + "DEP1\n", + "0.005\n", + "\n", + "DEP1\n", + "0.005\n", + "\n", + "DEP1\n", + "0.005\n", + "\n", + "DEP1\n", + "0.005\n", + "\n", + "DEP1\n", + "0.005\n", + "\n", + "DEP1\n", + "0.005\n", + "\n", + "DEP1\n", + "0.005\n", + "\n", + "DEP1\n", + "0.005\n", + "\n", + "DEP1\n", + "0.005\n", + "\n", + "DEP1\n", + "0.005\n", + "\n", + "DEP1\n", + "0.005\n", + "\n", + "DEP1\n", + "0.005\n", + "\n", + "DEP1\n", + "0.005\n", + "\n", + "DEP1\n", + "0.005\n", + "\n", + "DEP1\n", + "0.005\n", + "\n", + "DEP1\n", + "0.005\n", + "\n", + "DEP1\n", + "0.005\n", + "\n", + "DEP1\n", + "0.005\n", + "\n", + "DEP1\n", + "0.005\n", + "\n", + "DEP1\n", + "0.005\n", + "\n", + "DEP1\n", + "0.005\n", + "\n", + "DEP1\n", + "0.005\n", + "\n", + "DEP1\n", + "0.005\n", + "\n", + "DEP1\n", + "0.005\n", + "\n", + "DEP1\n", + "0.005\n", + "\n", + "DEP1\n", + "0.005\n", + "\n", + "DEP1\n", + "0.005\n", + "\n", + "DEP1\n", + "0.005\n", + "\n", + "DEP1\n", + "0.005\n", + "\n", + "DEP1\n", + "0.005\n", + "\n", + "DEP1\n", + "0.005\n", + "\n", + "DEP1\n", + "0.005\n", + "\n", + "DEP1\n", + "0.005\n", + "\n", + "DEP1\n", + "0.005\n", + "\n", + "M\n", + "0\n", + "rec[0]\n", + "\n", + "M\n", + "0\n", + "rec[1]\n", + "\n", + "M\n", + "0\n", + "rec[2]\n", + "\n", + "M\n", + "0\n", + "rec[3]\n", + "\n", + "M\n", + "0\n", + "rec[4]\n", + "\n", + "M\n", + "0\n", + "rec[5]\n", + "\n", + "M\n", + "0\n", + "rec[6]\n", + "\n", + "M\n", + "0\n", + "rec[7]\n", + "\n", + "M\n", + "0\n", + "rec[8]\n", + "\n", + "M\n", + "0\n", + "rec[9]\n", + "\n", + "M\n", + "0\n", + "rec[10]\n", + "\n", + "M\n", + "0\n", + "rec[11]\n", + "\n", + "M\n", + "0\n", + "rec[12]\n", + "\n", + "M\n", + "0\n", + "rec[13]\n", + "\n", + "M\n", + "0\n", + "rec[14]\n", + "\n", + "M\n", + "0\n", + "rec[15]\n", + "\n", + "M\n", + "0\n", + "rec[16]\n", + "\n", + "DETECTOR\n", + "coords=(0)\n", + "D0 = rec[0]*rec[1]*rec[2]*rec[3]\n", + "\n", + "DETECTOR\n", + "coords=(1)\n", + "D1 = rec[0]*rec[2]*rec[4]*rec[5]\n", + "\n", + "DETECTOR\n", + "coords=(2)\n", + "D2 = rec[4]*rec[5]*rec[6]*rec[7]\n", + "\n", + "DETECTOR\n", + "coords=(3)\n", + "D3 = rec[6]*rec[7]*rec[8]*rec[9]\n", + "\n", + "DETECTOR\n", + "coords=(4)\n", + "D4 = rec[11]*rec[13]*rec[14]*rec[16]\n", + "\n", + "DETECTOR\n", + "coords=(5)\n", + "D5 = rec[10]*rec[11]*rec[12]*rec[14]\n", + "\n", + "DETECTOR\n", + "coords=(6)\n", + "D6 = rec[12]*rec[14]*rec[15]*rec[16]\n", + "\n", + "DETECTOR\n", + "coords=(7)\n", + "D7 = rec[2]*rec[3]*rec[5]*rec[6]*rec[8]*rec[10]*rec[11]*rec[13]\n", + "\n", + "OBS_INCLUDE(0)\n", + "L0 *= rec[1]*rec[3]*rec[10]*rec[12]*rec[15]\n", + "\n", + "M\n", + "0\n", + "rec[17]\n", + "\n", + "M\n", + "0\n", + "rec[18]\n", + "\n", + "M\n", + "0\n", + "rec[19]\n", + "\n", + "M\n", + "0\n", + "rec[20]\n", + "\n", + "M\n", + "0\n", + "rec[21]\n", + "\n", + "M\n", + "0\n", + "rec[22]\n", + "\n", + "M\n", + "0\n", + "rec[23]\n", + "\n", + "M\n", + "0\n", + "rec[24]\n", + "\n", + "M\n", + "0\n", + "rec[25]\n", + "\n", + "M\n", + "0\n", + "rec[26]\n", + "\n", + "M\n", + "0\n", + "rec[27]\n", + "\n", + "M\n", + "0\n", + "rec[28]\n", + "\n", + "M\n", + "0\n", + "rec[29]\n", + "\n", + "M\n", + "0\n", + "rec[30]\n", + "\n", + "M\n", + "0\n", + "rec[31]\n", + "\n", + "M\n", + "0\n", + "rec[32]\n", + "\n", + "M\n", + "0\n", + "rec[33]\n", + "\n", + "DETECTOR\n", + "coords=(0)\n", + "D8 = rec[17]*rec[18]*rec[19]*rec[20]\n", + "\n", + "DETECTOR\n", + "coords=(1)\n", + "D9 = rec[17]*rec[19]*rec[21]*rec[22]\n", + "\n", + "DETECTOR\n", + "coords=(2)\n", + "D10 = rec[21]*rec[22]*rec[23]*rec[24]\n", + "\n", + "DETECTOR\n", + "coords=(3)\n", + "D11 = rec[23]*rec[24]*rec[25]*rec[26]\n", + "\n", + "DETECTOR\n", + "coords=(4)\n", + "D12 = rec[28]*rec[30]*rec[31]*rec[33]\n", + "\n", + "DETECTOR\n", + "coords=(5)\n", + "D13 = rec[27]*rec[28]*rec[29]*rec[31]\n", + "\n", + "DETECTOR\n", + "coords=(6)\n", + "D14 = rec[29]*rec[31]*rec[32]*rec[33]\n", + "\n", + "DETECTOR\n", + "coords=(7)\n", + "D15 = rec[19]*rec[20]*rec[22]*rec[23]*rec[25]*rec[27]*rec[28]*rec[30]\n", + "\n", + "OBS_INCLUDE(1)\n", + "L1 *= rec[18]*rec[20]*rec[27]*rec[29]*rec[32]\n", + "\n", + "M\n", + "0\n", + "rec[34]\n", + "\n", + "M\n", + "0\n", + "rec[35]\n", + "\n", + "M\n", + "0\n", + "rec[36]\n", + "\n", + "M\n", + "0\n", + "rec[37]\n", + "\n", + "M\n", + "0\n", + "rec[38]\n", + "\n", + "M\n", + "0\n", + "rec[39]\n", + "\n", + "M\n", + "0\n", + "rec[40]\n", + "\n", + "M\n", + "0\n", + "rec[41]\n", + "\n", + "M\n", + "0\n", + "rec[42]\n", + "\n", + "M\n", + "0\n", + "rec[43]\n", + "\n", + "M\n", + "0\n", + "rec[44]\n", + "\n", + "M\n", + "0\n", + "rec[45]\n", + "\n", + "M\n", + "0\n", + "rec[46]\n", + "\n", + "M\n", + "0\n", + "rec[47]\n", + "\n", + "M\n", + "0\n", + "rec[48]\n", + "\n", + "M\n", + "0\n", + "rec[49]\n", + "\n", + "M\n", + "0\n", + "rec[50]\n", + "\n", + "DETECTOR\n", + "coords=(0)\n", + "D16 = rec[34]*rec[35]*rec[36]*rec[37]\n", + "\n", + "DETECTOR\n", + "coords=(1)\n", + "D17 = rec[34]*rec[36]*rec[38]*rec[39]\n", + "\n", + "DETECTOR\n", + "coords=(2)\n", + "D18 = rec[38]*rec[39]*rec[40]*rec[41]\n", + "\n", + "DETECTOR\n", + "coords=(3)\n", + "D19 = rec[40]*rec[41]*rec[42]*rec[43]\n", + "\n", + "DETECTOR\n", + "coords=(4)\n", + "D20 = rec[45]*rec[47]*rec[48]*rec[50]\n", + "\n", + "DETECTOR\n", + "coords=(5)\n", + "D21 = rec[44]*rec[45]*rec[46]*rec[48]\n", + "\n", + "DETECTOR\n", + "coords=(6)\n", + "D22 = rec[46]*rec[48]*rec[49]*rec[50]\n", + "\n", + "DETECTOR\n", + "coords=(7)\n", + "D23 = rec[36]*rec[37]*rec[39]*rec[40]*rec[42]*rec[44]*rec[45]*rec[47]\n", + "\n", + "OBS_INCLUDE(2)\n", + "L2 *= rec[35]*rec[37]*rec[44]*rec[46]*rec[49]\n", + "\n", + "M\n", + "0\n", + "rec[51]\n", + "\n", + "M\n", + "0\n", + "rec[52]\n", + "\n", + "M\n", + "0\n", + "rec[53]\n", + "\n", + "M\n", + "0\n", + "rec[54]\n", + "\n", + "M\n", + "0\n", + "rec[55]\n", + "\n", + "M\n", + "0\n", + "rec[56]\n", + "\n", + "M\n", + "0\n", + "rec[57]\n", + "\n", + "M\n", + "0\n", + "rec[58]\n", + "\n", + "M\n", + "0\n", + "rec[59]\n", + "\n", + "M\n", + "0\n", + "rec[60]\n", + "\n", + "M\n", + "0\n", + "rec[61]\n", + "\n", + "M\n", + "0\n", + "rec[62]\n", + "\n", + "M\n", + "0\n", + "rec[63]\n", + "\n", + "M\n", + "0\n", + "rec[64]\n", + "\n", + "M\n", + "0\n", + "rec[65]\n", + "\n", + "M\n", + "0\n", + "rec[66]\n", + "\n", + "M\n", + "0\n", + "rec[67]\n", + "\n", + "DETECTOR\n", + "coords=(0)\n", + "D24 = rec[51]*rec[52]*rec[53]*rec[54]\n", + "\n", + "DETECTOR\n", + "coords=(1)\n", + "D25 = rec[51]*rec[53]*rec[55]*rec[56]\n", + "\n", + "DETECTOR\n", + "coords=(2)\n", + "D26 = rec[55]*rec[56]*rec[57]*rec[58]\n", + "\n", + "DETECTOR\n", + "coords=(3)\n", + "D27 = rec[57]*rec[58]*rec[59]*rec[60]\n", + "\n", + "DETECTOR\n", + "coords=(4)\n", + "D28 = rec[62]*rec[64]*rec[65]*rec[67]\n", + "\n", + "DETECTOR\n", + "coords=(5)\n", + "D29 = rec[61]*rec[62]*rec[63]*rec[65]\n", + "\n", + "DETECTOR\n", + "coords=(6)\n", + "D30 = rec[63]*rec[65]*rec[66]*rec[67]\n", + "\n", + "DETECTOR\n", + "coords=(7)\n", + "D31 = rec[53]*rec[54]*rec[56]*rec[57]*rec[59]*rec[61]*rec[62]*rec[64]\n", + "\n", + "OBS_INCLUDE(3)\n", + "L3 *= rec[52]*rec[54]*rec[61]*rec[63]*rec[66]\n", + "\n", + "M\n", + "0\n", + "rec[68]\n", + "\n", + "M\n", + "0\n", + "rec[69]\n", + "\n", + "M\n", + "0\n", + "rec[70]\n", + "\n", + "M\n", + "0\n", + "rec[71]\n", + "\n", + "M\n", + "0\n", + "rec[72]\n", + "\n", + "M\n", + "0\n", + "rec[73]\n", + "\n", + "M\n", + "0\n", + "rec[74]\n", + "\n", + "M\n", + "0\n", + "rec[75]\n", + "\n", + "M\n", + "0\n", + "rec[76]\n", + "\n", + "M\n", + "0\n", + "rec[77]\n", + "\n", + "M\n", + "0\n", + "rec[78]\n", + "\n", + "M\n", + "0\n", + "rec[79]\n", + "\n", + "M\n", + "0\n", + "rec[80]\n", + "\n", + "M\n", + "0\n", + "rec[81]\n", + "\n", + "M\n", + "0\n", + "rec[82]\n", + "\n", + "M\n", + "0\n", + "rec[83]\n", + "\n", + "M\n", + "0\n", + "rec[84]\n", + "\n", + "DETECTOR\n", + "coords=(0)\n", + "D32 = rec[68]*rec[69]*rec[70]*rec[71]\n", + "\n", + "DETECTOR\n", + "coords=(1)\n", + "D33 = rec[68]*rec[70]*rec[72]*rec[73]\n", + "\n", + "DETECTOR\n", + "coords=(2)\n", + "D34 = rec[72]*rec[73]*rec[74]*rec[75]\n", + "\n", + "DETECTOR\n", + "coords=(3)\n", + "D35 = rec[74]*rec[75]*rec[76]*rec[77]\n", + "\n", + "DETECTOR\n", + "coords=(4)\n", + "D36 = rec[79]*rec[81]*rec[82]*rec[84]\n", + "\n", + "DETECTOR\n", + "coords=(5)\n", + "D37 = rec[78]*rec[79]*rec[80]*rec[82]\n", + "\n", + "DETECTOR\n", + "coords=(6)\n", + "D38 = rec[80]*rec[82]*rec[83]*rec[84]\n", + "\n", + "DETECTOR\n", + "coords=(7)\n", + "D39 = rec[70]*rec[71]*rec[73]*rec[74]*rec[76]*rec[78]*rec[79]*rec[81]\n", + "\n", + "OBS_INCLUDE(4)\n", + "L4 *= rec[69]*rec[71]*rec[78]*rec[80]*rec[83]\n", + "\n", + "
\n", + "
\n", + " \n", + "
\n" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "def make_encoded_distillation_kernel(\n", + " basis: Literal[\"X\", \"Y\", \"Z\"], p_prep: float, noise: float = 0.0\n", + "):\n", + " @kernel\n", + " def encoded_distillation():\n", + " q = squin.qalloc(85)\n", + " q0 = q[:17]\n", + " q1 = q[17:34]\n", + " q2 = q[34:51]\n", + " q3 = q[51:68]\n", + " q4 = q[68:85]\n", + " qs = [q0, q1, q2, q3, q4]\n", + "\n", + " # Initialize: prepare noisy magic states on all logical qubits (transversally)\n", + " for i in range(5):\n", + " squin.rx(theta, q[7 + i*17])\n", + " squin.t_adj(q[7 + i*17])\n", + " squin.depolarize(p_prep, q[7 + i*17])\n", + " encode(qs[i])\n", + "\n", + " # Distillation circuit with transversal gates and noise\n", + " squin.broadcast.sqrt_x(q0 + q1 + q4)\n", + " squin.broadcast.depolarize(noise, q0 + q1 + q4)\n", + "\n", + " squin.broadcast.cz(q0 + q2, q1 + q3)\n", + " squin.broadcast.depolarize2(noise, q0 + q2, q1 + q3)\n", + "\n", + " squin.broadcast.sqrt_y(q0 + q3)\n", + " squin.broadcast.depolarize(noise, q0 + q3)\n", + "\n", + " squin.broadcast.cz(q0 + q3, q2 + q4)\n", + " squin.broadcast.depolarize2(noise, q0 + q3, q2 + q4)\n", + "\n", + " squin.broadcast.sqrt_x_adj(q0)\n", + " squin.broadcast.depolarize(noise, q0)\n", + "\n", + " squin.broadcast.cz(q0 + q1, q4 + q3)\n", + " squin.broadcast.depolarize2(noise, q0 + q1, q4 + q3)\n", + "\n", + " squin.broadcast.sqrt_x_adj(q0 + q1 + q2 + q3 + q4)\n", + " squin.broadcast.depolarize(noise, q0 + q1 + q2 + q3 + q4)\n", + "\n", + " # Basis rotation for measurement on logical qubit 0\n", + " if basis == \"X\":\n", + " squin.broadcast.h(q0)\n", + " elif basis == \"Y\":\n", + " squin.broadcast.s_adj(q0)\n", + " squin.broadcast.h(q0)\n", + "\n", + " # Readout: measurements and detector and observable annotations\n", + " for i in range(5):\n", + " measure_and_annotate(qs[i])\n", + "\n", + " return encoded_distillation\n", + "\n", + "\n", + "encoded_kernel = make_encoded_distillation_kernel(\"Z\", p_prep=p, noise=p / 10)\n", + "encoded_circuit = Circuit(encoded_kernel)\n", + "from IPython.display import HTML, display\n", + "\n", + "diagram = encoded_circuit.diagram(height=500)\n", + "display(HTML(f\"\"\"\n", + "
\n", + " {diagram}\n", + "
\n", + "\"\"\"))" + ] + }, + { + "cell_type": "markdown", + "id": "e4afca56", + "metadata": {}, + "source": [ + "We will perform quantum state tomography on the first logical qubit to estimate its magic state fidelity. For this, we will simulate three different versions of the circuit, where the first logical qubit is measured in the $X$, $Y$, and $Z$ basis, respectively.\n", + "\n", + "Then, we will perform two stages of post-selection:\n", + "- First, post-select all shots on perfect stabilizers (i.e. only keep shots where all detectors are measured as 0)\n", + "- Then, post-select on the [1,0,1,1] distillation syndrome." + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "id": "6f93d4bc", + "metadata": {}, + "outputs": [], + "source": [ + "def sample_and_post_select(encoded_kernel, shots: int = 10_000, batch_size=10000):\n", + " c = Circuit(encoded_kernel)\n", + " sampler = c.compile_detector_sampler(seed=1)\n", + " det_samples, obs_samples = sampler.sample(\n", + " shots=shots, batch_size=batch_size, separate_observables=True\n", + " )\n", + "\n", + " # post-select on perfect stabilizers\n", + " perfect_stabilizers = np.all(det_samples == 0, axis=1)\n", + " obs_samples = obs_samples[perfect_stabilizers]\n", + "\n", + " # post-select on the [1,0,1,1] distillation syndrome of logical bits\n", + " post_selected_observables = post_select(obs_samples)\n", + " p1 = np.count_nonzero(post_selected_observables) / len(post_selected_observables)\n", + " eval = 1 - 2 * p1\n", + " print(\n", + " f\"Expectation value: {eval:.4f}, percentage kept: {len(post_selected_observables) / shots * 100:.2f}%\"\n", + " )\n", + " return eval" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "id": "6c1a5f94", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "0.05" + ] + }, + "execution_count": 22, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "p" + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "id": "a7300dd3", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Expectation value: 0.5487, percentage kept: 1.30%\n", + "Expectation value: 0.6531, percentage kept: 1.31%\n", + "Expectation value: 0.5812, percentage kept: 1.27%\n" + ] + } + ], + "source": [ + "kernel_x = make_encoded_distillation_kernel(\"X\", p, p / 5)\n", + "kernel_y = make_encoded_distillation_kernel(\"Y\", p, p / 5)\n", + "kernel_z = make_encoded_distillation_kernel(\"Z\", p, p / 5)\n", + "\n", + "vx = sample_and_post_select(kernel_x, shots=15_000)\n", + "vy = sample_and_post_select(kernel_y, shots=15_000)\n", + "vz = sample_and_post_select(kernel_z, shots=15_000)" + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "id": "76d0bd1f", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Expectation value: 0.5792, percentage kept: 16.65%\n", + "Expectation value: 0.5808, percentage kept: 16.61%\n", + "Expectation value: 0.5792, percentage kept: 16.68%\n" + ] + } + ], + "source": [ + "kernel_x = make_encoded_distillation_kernel(\"X\", 0.0, 0.0)\n", + "kernel_y = make_encoded_distillation_kernel(\"Y\", 0.0, 0.0)\n", + "kernel_z = make_encoded_distillation_kernel(\"Z\", 0.0, 0.0)\n", + "\n", + "vx = sample_and_post_select(kernel_x, shots=1000000)\n", + "vy = sample_and_post_select(kernel_y, shots=1000000)\n", + "vz = sample_and_post_select(kernel_z, shots=1000000)" + ] + }, + { + "cell_type": "markdown", + "id": "52499a8b", + "metadata": {}, + "source": [ + "It would be impossible to simulate an 85-qubit circuit using a state vector simulator. Yet, `bloqade.tsim.SamplingSimulator` can compute hundreds of thousands of shots in a few seconds. TSIM also supports GPU acceleration that can speed up simulation time by more than two orders of magnitude.\n", + "\n", + "Finally, we construct a density matrix from the measured logical expectation values:" + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "id": "d18910c6", + "metadata": {}, + "outputs": [], + "source": [ + "id = np.eye(2)\n", + "x = np.array([[0, 1], [1, 0]])\n", + "y = np.array([[0, -1j], [1j, 0]])\n", + "z = np.array([[1, 0], [0, -1]])\n", + "\n", + "rho = (id + vx * x + vy * y + vz * z) / 2" + ] + }, + { + "cell_type": "markdown", + "id": "375a63ee", + "metadata": {}, + "source": [ + "This density matrix should be compared to the expected quantum state, for which we construct a statevector:" + ] + }, + { + "cell_type": "code", + "execution_count": 26, + "id": "5f6580f4", + "metadata": {}, + "outputs": [], + "source": [ + "rx = np.array(\n", + " [[np.cos(theta / 2), -1j * np.sin(theta / 2)], [-1j * np.sin(theta / 2), np.cos(theta / 2)]]\n", + ")\n", + "t_dag = np.array([[1, 0], [0, np.exp(-1j * np.pi / 4)]])\n", + "psi_expected = t_dag @ rx @ np.array([1, 0])" + ] + }, + { + "cell_type": "markdown", + "id": "774daba8", + "metadata": {}, + "source": [ + "We compute the fidelity as $\\langle\\psi_{expected}|\\rho|\\psi_{expected}\\rangle$:" + ] + }, + { + "cell_type": "code", + "execution_count": 27, + "id": "c8b85f56", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Infidelity: -0.00206\n" + ] + } + ], + "source": [ + "fidelity = psi_expected.conj().T @ rho @ psi_expected\n", + "print(f\"Infidelity: {1 - fidelity.real:.5f}\")" + ] + }, + { + "cell_type": "markdown", + "id": "8643c584", + "metadata": {}, + "source": [ + "We find that the overall fidelity has been increased from 97% of the individual encoded magic states to ~99% of the output logical qubit, despite the presence of noise in the distillation circuit. This is an exciting result of quantum error correction!\n", + "\n", + "This concludes our tutorial. We have learned:\n", + "- how to model noisy magic states and **simulate fidelities** using `bloqade-circuit`\n", + "- how to perform **magic state distillation** and **post-selection**\n", + "- how to **encode a distillation circuit** using the [17,1,5] color code\n", + "- how to **simulate hundreds of thousands of shots** of this 85-qubit circuit within seconds on a laptop\n", + "- how magic state distillation can improve the fidelity of noisy magic states, **even when the distillation circuit is noisy itself**" + ] + }, + { + "cell_type": "markdown", + "id": "56c88548", + "metadata": {}, + "source": [] + }, + { + "cell_type": "markdown", + "id": "caa29e13", + "metadata": {}, + "source": [] + }, + { + "cell_type": "markdown", + "id": "867d4954", + "metadata": {}, + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "kirin-workspace (3.12.13)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.12.13" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/demo/magic_state_distillation.py b/demo/magic_state_distillation.py new file mode 100644 index 00000000..62a6b0a6 --- /dev/null +++ b/demo/magic_state_distillation.py @@ -0,0 +1,463 @@ +# --- +# jupyter: +# jupytext: +# text_representation: +# extension: .py +# format_name: percent +# format_version: '1.3' +# jupytext_version: 1.19.1 +# kernelspec: +# display_name: .venv +# language: python +# name: python3 +# --- + +# %% [markdown] +# # Logical magic state distillation + +from typing import Literal + +import matplotlib.pyplot as plt +import numpy as np + +# %% +# fmt: off +import stim +from bloqade.squin import kernel +from bloqade.tsim import Circuit + +from bloqade import squin + +# %% [markdown] +# In this tutorial, we will perform quantum circuit simulations with squin kernels. We will simulate the magic state distillation circuit used in [Rodriguez et al. (2025)](https://www.nature.com/articles/s41586-025-09367-3), showcasing that `bloqade-circuit` supports simulation of large non-Clifford circuits. For this, we will use Quera's TSIM package as a simulation backend. + +# %% [markdown] +# ### Magic states +# +# We start by preparing a particular magic state, the eigenstate of the "SH" operator. To simulate noise, we add a depolarizing channel after state preparation: + +# %% +theta = -np.arccos(np.sqrt(1 / 3)) # Distillation angle +p = 0.05 # Noise probability + + +@kernel +def main(): + q = squin.qalloc(1) + squin.reset(q[0]) + squin.rx(angle=theta, qubit=q[0]) + squin.t_adj(qubit=q[0]) + squin.depolarize(p=p, qubit=q[0]) + + +Circuit(main).diagram(height=120) + + +# %% [markdown] +# By undoing the state preparation after the noisy channel, we build a kernel that measures the fidelity of the magic state: + +# %% +@kernel +def main(): + q = squin.qalloc(1) + squin.reset(q[0]) + squin.rx(angle=theta, qubit=q[0]) + squin.t_adj(qubit=q[0]) + squin.depolarize(p=p, qubit=q[0]) + squin.t(qubit=q[0]) + squin.rx(angle=-theta, qubit=q[0]) + squin.measure(q[0]) + +c = Circuit(main) +c.diagram(height=120) + +# %% [markdown] +# We simulate the circuit as follows: + +# %% +sampler = c.compile_sampler(seed=0) +samples = sampler.sample(shots=100_000) +print(f"Infidelity: {np.count_nonzero(samples) / len(samples)}") + + +# %% [markdown] +# The noisy state preparation process (modeled by a single `squin.depolarize` gate), leads to a magic state with 97% fidelity. +# + +# %% [markdown] +# ### Magic state distillation: The ideal case +# +# Given multiple noisy magic states of low fidelity, we can distill a single high-fidelity magic state using a distillation circuit: + +# %% +def make_logical_distillation_kernel(angle: float, p: float): + @kernel + def distillation(): + q = squin.qalloc(5) + + # initial state - prepare noisy magic states on all 5 qubits + squin.broadcast.reset(q) + squin.broadcast.rx(angle, q) + squin.broadcast.t_adj(q) + squin.broadcast.depolarize(p, q) + + # # distillation circuit + squin.broadcast.sqrt_x([q[0], q[1], q[4]]) + squin.broadcast.cz([q[0], q[2]], [q[1], q[3]]) + squin.broadcast.sqrt_y([q[0], q[3]]) + squin.broadcast.cz([q[0], q[3]], [q[2], q[4]]) + squin.broadcast.sqrt_x_adj([q[0]]) + squin.broadcast.cz([q[0], q[1]], [q[4], q[3]]) + squin.broadcast.sqrt_x_adj(q) + + # # undo magic state preparation on first qubit to measure infidelity + squin.t(qubit=q[0]) + squin.rx(angle=-angle, qubit=q[0]) + + squin.broadcast.measure(q) + + return distillation + + +distillation_kernel = make_logical_distillation_kernel(theta, p) +c = Circuit(distillation_kernel) +c.diagram(height=240) + +# %% [markdown] +# In this distillation circuit, qubits `[q1,q2,q3,q4]` are the distillation syndrome. +# If we measure them in the state `[1,0,1,1]`, we know that distillation was successful and the first qubit `q0` is in a magic state with higher fidelity. +# +# To measure the fidelity, we undo the magic state preparation on the first qubit before measurement. + +# %% +samples = c.compile_sampler(seed=0).sample(shots=50_000, batch_size=10_000) + +def post_select(samples: np.ndarray): + distilled_output = samples[:, 0] + distillation_syndromes = samples[:, 1:] + sel = np.all(distillation_syndromes == np.array([1, 0, 1, 1]), axis=1) + return distilled_output[sel] + + +post_selected_samples = post_select(samples) +print( + f"Infidelity: {np.count_nonzero(post_selected_samples) / len(post_selected_samples):.5f}" +) +print( + f"Percentage of post-selected samples: {len(post_selected_samples) / len(samples) * 100:.2f}%" +) + +# %% [markdown] +# After distillation, the fidelity has increased to 99.7%. This is much better than the original 97% of the individual input magic states. A downside is that the distillation process is only successful 14% of the time. This means, we have to repeat the distillation process multiple times until we get a good output state. +# +# We can study other properties of the distillation circuit. For example, we analyze the dependence of the fidelity on the rotation angle of the RX gate: + +# %% +angles = np.linspace(-0.4, 0.4, 7) + theta +fidelities = [] +post_selection_rate = [] +for angle in angles: + distillation_kernel = make_logical_distillation_kernel(angle, p) + c = Circuit(distillation_kernel) + samples = c.compile_sampler(seed=0).sample(shots=4_096) + + post_selected_samples = post_select(samples) + post_selection_rate.append(len(post_selected_samples) / len(samples)) + f = np.count_nonzero(post_selected_samples) / len(post_selected_samples) + fidelities.append(1 - f) + +# %% +fig, ax1 = plt.subplots() + +(line1,) = ax1.semilogy(angles - theta, 1 - np.array(fidelities), "*-", c="g", lw=0.5, label="Infidelity") +ax1.axvline(0, linestyle="--", lw=0.5) +ax1.set_xlabel(r"$(\theta - \theta^*)/\pi$") +ax1.set_ylabel("Infidelity") + +ax2 = ax1.twinx() +(line2,) = ax2.plot(angles - theta, post_selection_rate, ".-", c="orange", lw=0.5, label="Post-selection rate") +ax2.set_ylabel("Post-selection rate") +ax2.legend(handles=[line1, line2], loc="lower right") + +# %% [markdown] +# We see that the output fidelity and post-selection rate are peaked at the distillation angle $\theta^*$. This is expected, as the distillation circuit is designed to distill only one particular state. + +# %% [markdown] +# ### Magic state distillation: The realistic case (with noise) +# +# On a real quantum computer, the distillation circuit is noisy itself. Here, the benefit of distillation is +# generally outweighed by the noise in the distillation circuit. +# +# We can explicitly see this using a simulation, where we add noise to the distillation circuit. Note that we consider two different noise scales: +# - `p` is the noise that captures the magic state preparation process. +# - `noise` is the noise strength of the depolarizing noise in the distillation circuit. +# + +# %% +noise = p / 5 + +@kernel +def noisy_distillation(): + q = squin.qalloc(5) + + # initial state - prepare noisy magic states on all 5 qubits + squin.broadcast.reset(q) + squin.broadcast.rx(theta, q) + squin.broadcast.t_adj(q) + squin.broadcast.depolarize(p, q) + + # distillation circuit + squin.broadcast.depolarize(noise, q) + squin.broadcast.sqrt_x([q[0], q[1], q[4]]) + squin.broadcast.depolarize(noise, [q[0], q[1], q[4]]) + squin.broadcast.cz([q[0], q[2]], [q[1], q[3]]) + squin.broadcast.depolarize2(noise, [q[0], q[2]], [q[1], q[3]]) + squin.broadcast.sqrt_y([q[0], q[3]]) + squin.broadcast.depolarize(noise, [q[0], q[3]]) + squin.broadcast.cz([q[0], q[3]], [q[2], q[4]]) + squin.broadcast.depolarize2(noise, [q[0], q[3]], [q[2], q[4]]) + squin.broadcast.sqrt_x_adj([q[0]]) + squin.broadcast.depolarize(noise, [q[0]]) + squin.broadcast.cz([q[0], q[1]], [q[4], q[3]]) + squin.broadcast.depolarize2(noise, [q[0], q[1]], [q[4], q[3]]) + squin.broadcast.sqrt_x_adj(q) + squin.broadcast.depolarize(noise, q) + + # undo magic state preparation on first qubit to measure infidelity + squin.t(qubit=q[0]) + squin.rx(angle=-theta, qubit=q[0]) + + squin.broadcast.measure(q) + + +# %% +c = Circuit(noisy_distillation) +samples = c.compile_sampler(seed=0).sample(shots=40_000, batch_size=10_000) + +def post_select(samples: np.ndarray): + distilled_output = samples[:, 0] + distillation_syndromes = samples[:, 1:] + sel = np.all(distillation_syndromes == np.array([1, 0, 1, 1]), axis=1) + return distilled_output[sel] + + +post_selected_samples = post_select(samples) +print(f"Infidelity: {np.count_nonzero(post_selected_samples) / len(post_selected_samples):.5f}") +print(f"Percentage of post-selected samples: {len(post_selected_samples) / len(samples) * 100:.2f}%") + + +# %% [markdown] +# We see that the addition of noise has reduced the output fidelity to ~96%. This is worse than the input state! + +# %% [markdown] +# # Encoding the distillation circuit +# +# To address this issue, we need to make our distillation circuit resilient to noise. +# We do this by encoding it using a quantum error correction code, specifically the [17,1,5] color code. +# +# The following kernel takes a physical qubit with an arbitrary state at qubit `q[7]` and returns a logical qubit in the same (but now logical) state as `q[7]`: + +# %% +@kernel +def encode(q): + squin.broadcast.reset([q[0], q[1], q[2], q[3], q[4], q[5], q[6], q[8], q[9], q[10], q[11], q[12], q[13], q[14], q[15], q[16]]) + squin.broadcast.sqrt_y([q[0], q[1], q[2], q[3], q[4], q[5], q[6], q[8], q[9], q[10], q[11], q[12], q[13], q[14], q[15], q[16]]) + squin.broadcast.cz([q[1], q[7], q[12], q[13]], [q[3], q[10], q[14], q[16]]) + squin.broadcast.sqrt_y_adj([q[7], q[16]]) + squin.broadcast.cz([q[4], q[8], q[11], q[15]], [q[7], q[10], q[14], q[16]]) + squin.broadcast.sqrt_y_adj([q[4], q[10], q[14], q[16]]) + squin.broadcast.cz([q[2], q[6], q[7], q[10], q[14]], [q[4], q[8], q[9], q[13], q[16]]) + squin.broadcast.sqrt_y([q[3], q[6], q[9], q[10], q[12], q[13]]) + squin.broadcast.cz([q[0], q[3], q[5], q[10], q[11]], [q[2], q[6], q[8], q[12], q[13]]) + squin.broadcast.sqrt_y([q[1], q[2], q[3], q[4], q[6], q[7], q[8], q[9], q[11], q[12], q[14]]) + squin.broadcast.cz([q[0], q[2], q[4], q[6], q[8], q[12]], [q[1], q[3], q[5], q[7], q[9], q[15]]) + squin.broadcast.sqrt_y_adj([q[0], q[2], q[5], q[6], q[8], q[10], q[12]]) + squin.broadcast.x([q[14], q[7], q[5], q[2], q[1], q[4]]) + squin.broadcast.z([q[11], q[6], q[4], q[2]]) + + +# %% +@kernel +def main(): + q = squin.qalloc(17) + encode(q) +c = Circuit(main) +c.diagram(height=400) + +# %% [markdown] +# While the encoding kernel may look complex, we can verify its correctness by checking its stabilizer flow: + +# %% +stim.Circuit(str(c)).flow_generators() + + +# %% [markdown] +# The encoding kernel takes an arbitrary input state at `q[7]`. The physical Pauli operators of this qubit are encoded into logical operators of the [17,1,5] code: $X_8X_9 X_{13} X_{15}X_{16}$ (`________XX___X_XX`) and $Z_8Z_9Z_{13}Z_{15}Z_{16}$ (`________ZZ___Z_ZZ`). +# +# Additionally, the stabilizer flow shows the 16 stabilizer generators that stabilize the output state. + +# %% [markdown] +# ## The fully encoded protocol +# +# Now we are ready to construct the full kernel of the encoded distillation experiment. This will be a kernel with 85 qubits (5 logical qubits, constructed from 17 physical qubits each). +# +# Let us summarize the protocol we are going to simulate: +# - **Prepare 5 encoded magic states at 97% fidelity.** The input magic states are noisy, and we assume the encoding process to be noiseless. While this is a simplification for this tutorial, it does not introduce any qualitative changes. We can think of this as an abstract preparation protocol that produces 5 encoded magic states, each with 97% fidelity. +# - **Distill 5 encoded magic states into a single logical qubit.** We use a transversal encoding of the distillation circuit we studied above. We will also add full circuit-level noise. +# - **Perform post-selection** We will perform two stages of post-selection: (a) post-select on the perfect stabilizers, and (b) post-select on the [1,0,1,1] distillation syndrome of logical bits. +# - **Quantum state tomography** We will perform quantum state tomography on the output logical qubit to estimate its magic state fidelity. + +# %% +@kernel +def measure_and_annotate(q): + m = squin.broadcast.measure(q) + squin.set_detector([m[0], m[1], m[2], m[3]], coordinates=[0]) + squin.set_detector([m[0], m[2], m[4], m[5]], coordinates=[1]) + squin.set_detector([m[4], m[5], m[6], m[7]], coordinates=[2]) + squin.set_detector([m[6], m[7], m[8], m[9]], coordinates=[3]) + squin.set_detector([m[11], m[13], m[14], m[16]], coordinates=[4]) + squin.set_detector([m[10], m[11], m[12], m[14]], coordinates=[5]) + squin.set_detector([m[12], m[14], m[15], m[16]], coordinates=[6]) + squin.set_detector([m[2], m[3], m[5], m[6], m[8], m[10], m[11], m[13]], coordinates=[7]) + squin.set_observable([m[1], m[3], m[10], m[12], m[15]]) + + +# %% +def make_encoded_distillation_kernel( + basis: Literal["X", "Y", "Z"], p_prep: float, noise: float = 0.0 +): + @kernel + def encoded_distillation(): + q = squin.qalloc(85) + q0 = q[:17] + q1 = q[17:34] + q2 = q[34:51] + q3 = q[51:68] + q4 = q[68:85] + qs = [q0, q1, q2, q3, q4] + + # Initialize: prepare noisy magic states on all logical qubits (transversally) + for i in range(5): + squin.rx(theta, q[7 + i*17]) + squin.t_adj(q[7 + i*17]) + squin.depolarize(p_prep, q[7 + i*17]) + encode(qs[i]) + + # Distillation circuit with transversal gates and noise + squin.broadcast.sqrt_x(q0 + q1 + q4) + squin.broadcast.depolarize(noise, q0 + q1 + q4) + + squin.broadcast.cz(q0 + q2, q1 + q3) + squin.broadcast.depolarize2(noise, q0 + q2, q1 + q3) + + squin.broadcast.sqrt_y(q0 + q3) + squin.broadcast.depolarize(noise, q0 + q3) + + squin.broadcast.cz(q0 + q3, q2 + q4) + squin.broadcast.depolarize2(noise, q0 + q3, q2 + q4) + + squin.broadcast.sqrt_x_adj(q0) + squin.broadcast.depolarize(noise, q0) + + squin.broadcast.cz(q0 + q1, q4 + q3) + squin.broadcast.depolarize2(noise, q0 + q1, q4 + q3) + + squin.broadcast.sqrt_x_adj(q0 + q1 + q2 + q3 + q4) + squin.broadcast.depolarize(noise, q0 + q1 + q2 + q3 + q4) + + # Basis rotation for measurement on logical qubit 0 + if basis == "X": + squin.broadcast.h(q0) + elif basis == "Y": + squin.broadcast.s_adj(q0) + squin.broadcast.h(q0) + + # Readout: measurements and detector and observable annotations + for i in range(5): + measure_and_annotate(qs[i]) + + return encoded_distillation + + +encoded_kernel = make_encoded_distillation_kernel("Z", p_prep=p, noise=p / 10) +encoded_circuit = Circuit(encoded_kernel) +encoded_circuit.diagram(height=500) + + +# %% [markdown] +# We will perform quantum state tomography on the first logical qubit to estimate its magic state fidelity. For this, we will simulate three different versions of the circuit, where the first logical qubit is measured in the $X$, $Y$, and $Z$ basis, respectively. +# +# Then, we will perform two stages of post-selection: +# - First, post-select all shots on perfect stabilizers (i.e. only keep shots where all detectors are measured as 0) +# - Then, post-select on the [1,0,1,1] distillation syndrome. + +# %% +def sample_and_post_select(encoded_kernel, shots: int = 10_000): + c = Circuit(encoded_kernel) + sampler = c.compile_detector_sampler(seed=1) + det_samples, obs_samples = sampler.sample( + shots=shots, batch_size=shots, separate_observables=True + ) + + # post-select on perfect stabilizers + perfect_stabilizers = np.all(det_samples == 0, axis=1) + obs_samples = obs_samples[perfect_stabilizers] + + # post-select on the [1,0,1,1] distillation syndrome of logical bits + post_selected_observables = post_select(obs_samples) + p1 = np.count_nonzero(post_selected_observables) / len(post_selected_observables) + eval = 1 - 2 * p1 + print( + f"Expectation value: {eval:.4f}, percentage kept: {len(post_selected_observables) / shots * 100:.2f}%" + ) + return eval + + +# %% +kernel_x = make_encoded_distillation_kernel("X", p, p / 5) +kernel_y = make_encoded_distillation_kernel("Y", p, p / 5) +kernel_z = make_encoded_distillation_kernel("Z", p, p / 5) + +vx = sample_and_post_select(kernel_x, shots=15_000) +vy = sample_and_post_select(kernel_y, shots=15_000) +vz = sample_and_post_select(kernel_z, shots=15_000) + +# %% [markdown] +# It would be impossible to simulate an 85-qubit circuit using a state vector simulator. Yet, `bloqade.tsim.SamplingSimulator` can compute hundreds of thousands of shots in a few seconds. TSIM also supports GPU acceleration that can speed up simulation time by more than two orders of magnitude. +# +# Finally, we construct a density matrix from the measured logical expectation values: + +# %% +id = np.eye(2) +x = np.array([[0, 1], [1, 0]]) +y = np.array([[0, -1j], [1j, 0]]) +z = np.array([[1, 0], [0, -1]]) + +rho = (id + vx * x + vy * y + vz * z) / 2 + +# %% [markdown] +# This density matrix should be compared to the expected quantum state, for which we construct a statevector: + +# %% +rx = np.array( + [[np.cos(theta / 2), -1j * np.sin(theta / 2)], [-1j * np.sin(theta / 2), np.cos(theta / 2)]] +) +t_dag = np.array([[1, 0], [0, np.exp(-1j * np.pi / 4)]]) +psi_expected = t_dag @ rx @ np.array([1, 0]) + +# %% [markdown] +# We compute the fidelity as $\langle\psi_{expected}|\rho|\psi_{expected}\rangle$: + +# %% +fidelity = psi_expected.conj().T @ rho @ psi_expected +print(f"Infidelity: {1 - fidelity.real:.5f}") + +# %% [markdown] +# We find that the overall fidelity has been increased from 97% of the individual encoded magic states to ~99% of the output logical qubit, despite the presence of noise in the distillation circuit. This is an exciting result of quantum error correction! +# +# This concludes our tutorial. We have learned: +# - how to model noisy magic states and **simulate fidelities** using `bloqade-circuit` +# - how to perform **magic state distillation** and **post-selection** +# - how to **encode a distillation circuit** using the [17,1,5] color code +# - how to **simulate hundreds of thousands of shots** of this 85-qubit circuit within seconds on a laptop +# - how magic state distillation can improve the fidelity of noisy magic states, **even when the distillation circuit is noisy itself** diff --git a/demo/magic_state_distillation_reprod.ipynb b/demo/magic_state_distillation_reprod.ipynb new file mode 100644 index 00000000..ee3ec67f --- /dev/null +++ b/demo/magic_state_distillation_reprod.ipynb @@ -0,0 +1,12018 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "bacec9ca", + "metadata": {}, + "source": [ + "# Gemini-Logical Reproduction of Magic-State Distillation\n", + "\n", + "This notebook reproduces the **encoded distillation** part of [`magic_state_distillation.py`](/Users/jasonhan/Downloads/magic_state_distillation.py), but uses `@gemini.logical.kernel` so that each logical qubit is realized as a `[[7,1,3]]` Steane block by the Gemini logical lowering pipeline.\n", + "\n", + "The goal here is intentionally modest:\n", + "- mirror the logical 5-to-1 MSD circuit and tomography branches,\n", + "- avoid decoders entirely,\n", + "- test whether simple postselection alone can improve over the injected logical magic-state fidelity.\n", + "\n", + "Because Gemini's raw logical-observable convention is not identical to the reference script's convention, the notebook empirically calibrates:\n", + "- the raw factory-acceptance branch in the current observable convention,\n", + "- the sign frame of the distilled output Bloch vector.\n", + "\n", + "This keeps the notebook focused on the Steane-encoded Gemini analogue of the reference implementation." + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "id": "162cd404", + "metadata": {}, + "outputs": [], + "source": [ + "import math\n", + "import sys\n", + "from pathlib import Path\n", + "\n", + "import matplotlib.pyplot as plt\n", + "import numpy as np\n", + "\n", + "# NOTE: this is kind of a hack because the msd_utils code isn't incorporated into the actual lib code yet.\n", + "PROJECT_ROOT_CANDIDATES = [Path.cwd(), Path.cwd().parent]\n", + "for candidate in PROJECT_ROOT_CANDIDATES:\n", + " candidate = candidate.resolve()\n", + " if (candidate / 'demo' / 'msd_utils').exists():\n", + " sys.path.insert(0, str(candidate))\n", + " break\n", + "else:\n", + " raise FileNotFoundError('Could not locate repo root containing demo/msd_utils.')\n", + "\n", + "from bloqade.lanes import GeminiLogicalSimulator\n", + "from bloqade.lanes.steane_defaults import steane7_m2dets, steane7_m2obs\n", + "\n", + "from demo.msd_utils.core import (\n", + " DEFAULT_BASIS_LABELS,\n", + " DEFAULT_IDEAL_FACTORY_ACCEPTANCE,\n", + " DEFAULT_TARGET_BLOCH,\n", + " infer_distilled_sign_vector,\n", + " infer_factory_target,\n", + " naive_distilled_summary,\n", + " naive_injected_summary,\n", + ")\n", + "from demo.msd_utils.circuits import (\n", + " build_naive_kernel_bundle,\n", + " build_task_map,\n", + " make_noisy_steane7_initializer,\n", + ")\n" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "b0d9d036", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "('X', 'Y', 'Z')" + ] + }, + "execution_count": 2, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "DEFAULT_BASIS_LABELS" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "328163b1", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "0.16666666666666666" + ] + }, + "execution_count": 3, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "DEFAULT_IDEAL_FACTORY_ACCEPTANCE" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "5ade39a1", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([0.57735027, 0.57735027, 0.57735027])" + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "DEFAULT_TARGET_BLOCH" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "98a0d42a", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "np.float64(0.9553166181245093)" + ] + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "np.arccos(np.sqrt(1 / 3))" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "282851d3", + "metadata": {}, + "outputs": [], + "source": [ + "# This should give the state (1, 1, 1)\n", + "THETA = np.arccos(np.sqrt(1 / 3))\n", + "PHI = 0.25 * np.pi\n", + "LAM = 0.0\n", + "\n", + "# P_PREP = 0.05\n", + "FAST_SHOTS = 200_000\n", + "POSTERIOR_SAMPLES = 20_000\n", + "\n", + "BASIS_LABELS = DEFAULT_BASIS_LABELS\n", + "OUTPUT_QUBIT = 0\n", + "ANCILLA_QUBITS = (1, 2, 3, 4)\n", + "IDEAL_FACTORY_ACCEPTANCE = DEFAULT_IDEAL_FACTORY_ACCEPTANCE\n", + "TARGET_BLOCH = DEFAULT_TARGET_BLOCH\n", + "\n", + "M2DETS_5 = steane7_m2dets(5)\n", + "M2OBS_5 = steane7_m2obs(5)\n", + "M2DETS_1 = steane7_m2dets(1)\n", + "M2OBS_1 = steane7_m2obs(1)\n" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "51f11510", + "metadata": {}, + "outputs": [], + "source": [ + "# M2DETS_5" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "ae42972e", + "metadata": {}, + "outputs": [], + "source": [ + "# M2DETS_1" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "id": "85aae41d", + "metadata": {}, + "outputs": [], + "source": [ + "# M2OBS_5" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "id": "6d3f5546", + "metadata": {}, + "outputs": [], + "source": [ + "# M2OBS_1" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "id": "109dac6b", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "0" + ] + }, + "execution_count": 11, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "OUTPUT_QUBIT" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "id": "0ddf98ae", + "metadata": {}, + "outputs": [], + "source": [ + "kernel_bundle = build_naive_kernel_bundle(THETA, PHI, LAM, output_qubit=OUTPUT_QUBIT)\n", + "DISTILLED_KERNELS = kernel_bundle.distilled\n", + "INJECTED_KERNELS = kernel_bundle.injected\n" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "id": "a118a056", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "NaiveKernelBundle(distilled={'X': Method(\"distilled_x\"), 'Y': Method(\"distilled_y\"), 'Z': Method(\"distilled_z\")}, injected={'X': Method(\"injected_x\"), 'Y': Method(\"injected_y\"), 'Z': Method(\"injected_z\")})" + ] + }, + "execution_count": 13, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "kernel_bundle" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "id": "315f3f48", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31mfunc\u001b[0m\u001b[31m \u001b[0m\u001b[36m@distilled_z\u001b[0m()\u001b[90m -> \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m \u001b[0m{\n", + "\u001b[90m \u001b[0m^0(%distilled_z_self):\n", + "\u001b[90m │ \u001b[0m %qubit = \u001b[34mqubit\u001b[0m.new()\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m %0 = \u001b[34mqubit\u001b[0m.new()\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m %1 = \u001b[34mqubit\u001b[0m.new()\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m %2 = \u001b[34mqubit\u001b[0m.new()\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m %3 = \u001b[34mqubit\u001b[0m.new()\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m %reg = \u001b[34mpy.ilist\u001b[0m.new(\u001b[33mvalues=\u001b[0m(%qubit, %0, %1, %2, %3)){\u001b[33melem_type\u001b[0m=!Any}\u001b[30m : \u001b[0m\u001b[30m!py.IList\u001b[0m\u001b[30m[\u001b[0m\u001b[30m!py.Qubit\u001b[0m\u001b[30m, \u001b[0m\u001b[30mLiteral(5,int)\u001b[0m\u001b[30m]\u001b[0m\n", + "\u001b[90m │ \u001b[0m %4 = \u001b[34mpy.constant\u001b[0m.constant np.float64(0.1520433619923482)\u001b[90m : \u001b[0m\u001b[90m!py.float64\u001b[0m\n", + "\u001b[90m │ \u001b[0m %5 = \u001b[34mpy.constant\u001b[0m.constant 0.125\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m %6 = \u001b[34mpy.constant\u001b[0m.constant 0.0\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m \u001b[34msquin.gate\u001b[0m.u3(\u001b[33mtheta=\u001b[0m%4, \u001b[33mphi=\u001b[0m%5, \u001b[33mlam=\u001b[0m%6, \u001b[33mqubits=\u001b[0m%reg)\n", + "\u001b[90m │ \u001b[0m %qubits = \u001b[34mpy.ilist\u001b[0m.new(\u001b[33mvalues=\u001b[0m(%qubit, %0, %3)){\u001b[33melem_type\u001b[0m=!Any}\u001b[30m : \u001b[0m\u001b[30m!py.IList\u001b[0m\u001b[30m[\u001b[0m\u001b[30m!py.Qubit\u001b[0m\u001b[30m, \u001b[0m\u001b[30mLiteral(3,int)\u001b[0m\u001b[30m]\u001b[0m\n", + "\u001b[90m │ \u001b[0m \u001b[34msquin.gate\u001b[0m.sqrt_x(\u001b[33mqubits=\u001b[0m%qubits){\u001b[33madjoint\u001b[0m=\u001b[3;91mFalse\u001b[0m\u001b[90m : \u001b[0m\u001b[90m!py.bool\u001b[0m}\n", + "\u001b[90m │ \u001b[0m %controls = \u001b[34mpy.ilist\u001b[0m.new(\u001b[33mvalues=\u001b[0m(%qubit, %1)){\u001b[33melem_type\u001b[0m=!Any}\u001b[30m : \u001b[0m\u001b[30m!py.IList\u001b[0m\u001b[30m[\u001b[0m\u001b[30m!py.Qubit\u001b[0m\u001b[30m, \u001b[0m\u001b[30mLiteral(2,int)\u001b[0m\u001b[30m]\u001b[0m\n", + "\u001b[90m │ \u001b[0m %targets = \u001b[34mpy.ilist\u001b[0m.new(\u001b[33mvalues=\u001b[0m(%0, %2)){\u001b[33melem_type\u001b[0m=!Any}\u001b[30m : \u001b[0m\u001b[30m!py.IList\u001b[0m\u001b[30m[\u001b[0m\u001b[30m!py.Qubit\u001b[0m\u001b[30m, \u001b[0m\u001b[30mLiteral(2,int)\u001b[0m\u001b[30m]\u001b[0m\n", + "\u001b[90m │ \u001b[0m \u001b[34msquin.gate\u001b[0m.cz(\u001b[33mcontrols=\u001b[0m%controls, \u001b[33mtargets=\u001b[0m%targets)\n", + "\u001b[90m │ \u001b[0m %qubits_1 = \u001b[34mpy.ilist\u001b[0m.new(\u001b[33mvalues=\u001b[0m(%qubit, %2)){\u001b[33melem_type\u001b[0m=!Any}\u001b[30m : \u001b[0m\u001b[30m!py.IList\u001b[0m\u001b[30m[\u001b[0m\u001b[30m!py.Qubit\u001b[0m\u001b[30m, \u001b[0m\u001b[30mLiteral(2,int)\u001b[0m\u001b[30m]\u001b[0m\n", + "\u001b[90m │ \u001b[0m \u001b[34msquin.gate\u001b[0m.sqrt_y(\u001b[33mqubits=\u001b[0m%qubits_1){\u001b[33madjoint\u001b[0m=\u001b[3;91mFalse\u001b[0m\u001b[90m : \u001b[0m\u001b[90m!py.bool\u001b[0m}\n", + "\u001b[90m │ \u001b[0m %targets_1 = \u001b[34mpy.ilist\u001b[0m.new(\u001b[33mvalues=\u001b[0m(%1, %3)){\u001b[33melem_type\u001b[0m=!Any}\u001b[30m : \u001b[0m\u001b[30m!py.IList\u001b[0m\u001b[30m[\u001b[0m\u001b[30m!py.Qubit\u001b[0m\u001b[30m, \u001b[0m\u001b[30mLiteral(2,int)\u001b[0m\u001b[30m]\u001b[0m\n", + "\u001b[90m │ \u001b[0m \u001b[34msquin.gate\u001b[0m.cz(\u001b[33mcontrols=\u001b[0m%qubits_1, \u001b[33mtargets=\u001b[0m%targets_1)\n", + "\u001b[90m │ \u001b[0m %qubits_2 = \u001b[34mpy.ilist\u001b[0m.new(\u001b[33mvalues=\u001b[0m(%qubit)){\u001b[33melem_type\u001b[0m=!py.Qubit}\u001b[30m : \u001b[0m\u001b[30m!py.IList\u001b[0m\u001b[30m[\u001b[0m\u001b[30m!py.Qubit\u001b[0m\u001b[30m, \u001b[0m\u001b[30mLiteral(1,int)\u001b[0m\u001b[30m]\u001b[0m\n", + "\u001b[90m │ \u001b[0m \u001b[34msquin.gate\u001b[0m.sqrt_x(\u001b[33mqubits=\u001b[0m%qubits_2){\u001b[33madjoint\u001b[0m=\u001b[3;92mTrue\u001b[0m\u001b[90m : \u001b[0m\u001b[90m!py.bool\u001b[0m}\n", + "\u001b[90m │ \u001b[0m%controls_1 = \u001b[34mpy.ilist\u001b[0m.new(\u001b[33mvalues=\u001b[0m(%qubit, %0)){\u001b[33melem_type\u001b[0m=!Any}\u001b[30m : \u001b[0m\u001b[30m!py.IList\u001b[0m\u001b[30m[\u001b[0m\u001b[30m!py.Qubit\u001b[0m\u001b[30m, \u001b[0m\u001b[30mLiteral(2,int)\u001b[0m\u001b[30m]\u001b[0m\n", + "\u001b[90m │ \u001b[0m %targets_2 = \u001b[34mpy.ilist\u001b[0m.new(\u001b[33mvalues=\u001b[0m(%3, %2)){\u001b[33melem_type\u001b[0m=!Any}\u001b[30m : \u001b[0m\u001b[30m!py.IList\u001b[0m\u001b[30m[\u001b[0m\u001b[30m!py.Qubit\u001b[0m\u001b[30m, \u001b[0m\u001b[30mLiteral(2,int)\u001b[0m\u001b[30m]\u001b[0m\n", + "\u001b[90m │ \u001b[0m \u001b[34msquin.gate\u001b[0m.cz(\u001b[33mcontrols=\u001b[0m%controls_1, \u001b[33mtargets=\u001b[0m%targets_2)\n", + "\u001b[90m │ \u001b[0m \u001b[34msquin.gate\u001b[0m.sqrt_x(\u001b[33mqubits=\u001b[0m%reg){\u001b[33madjoint\u001b[0m=\u001b[3;92mTrue\u001b[0m\u001b[90m : \u001b[0m\u001b[90m!py.bool\u001b[0m}\n", + "\u001b[90m │ \u001b[0m %7 = \u001b[34mfunc\u001b[0m.const.none()\u001b[30m : \u001b[0m\u001b[30m!py.NoneType\u001b[0m\n", + "\u001b[90m │ \u001b[0m \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31mreturn\u001b[0m %7\n", + "}\u001b[90m // func.func distilled_z\u001b[0m\n" + ] + } + ], + "source": [ + "kernel_bundle.distilled[\"Z\"].print()" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "id": "1dee5de0", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31mfunc\u001b[0m\u001b[31m \u001b[0m\u001b[36m@injected_z\u001b[0m()\u001b[90m -> \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m \u001b[0m{\n", + "\u001b[90m \u001b[0m^0(%injected_z_self):\n", + "\u001b[90m │ \u001b[0m %qubit = \u001b[34mqubit\u001b[0m.new()\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n", + "\u001b[90m │ \u001b[0m%qubits = \u001b[34mpy.ilist\u001b[0m.new(\u001b[33mvalues=\u001b[0m(%qubit)){\u001b[33melem_type\u001b[0m=!py.Qubit}\u001b[30m : \u001b[0m\u001b[30m!py.IList\u001b[0m\u001b[30m[\u001b[0m\u001b[30m!py.Qubit\u001b[0m\u001b[30m, \u001b[0m\u001b[30mLiteral(1,int)\u001b[0m\u001b[30m]\u001b[0m\n", + "\u001b[90m │ \u001b[0m %0 = \u001b[34mpy.constant\u001b[0m.constant np.float64(0.1520433619923482)\u001b[90m : \u001b[0m\u001b[90m!py.float64\u001b[0m\n", + "\u001b[90m │ \u001b[0m %1 = \u001b[34mpy.constant\u001b[0m.constant 0.125\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m %2 = \u001b[34mpy.constant\u001b[0m.constant 0.0\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m \u001b[34msquin.gate\u001b[0m.u3(\u001b[33mtheta=\u001b[0m%0, \u001b[33mphi=\u001b[0m%1, \u001b[33mlam=\u001b[0m%2, \u001b[33mqubits=\u001b[0m%qubits)\n", + "\u001b[90m │ \u001b[0m %3 = \u001b[34mfunc\u001b[0m.const.none()\u001b[30m : \u001b[0m\u001b[30m!py.NoneType\u001b[0m\n", + "\u001b[90m │ \u001b[0m \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31mreturn\u001b[0m %3\n", + "}\u001b[90m // func.func injected_z\u001b[0m\n" + ] + } + ], + "source": [ + "kernel_bundle.injected[\"Z\"].print()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "0d09f0ca", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": 16, + "id": "c8c504b1", + "metadata": {}, + "outputs": [], + "source": [ + "# DISTILLED_KERNELS[\"X\"].print()" + ] + }, + { + "cell_type": "markdown", + "id": "538b0897", + "metadata": {}, + "source": [ + "### Clifford Flow Check\n", + "\n", + "Stim flow generators only work for Clifford circuits, so this diagnostic strips off the non-Clifford magic-state preparation and checks the stabilizer flow of the logical distillation block itself. This is a good sanity check that the distilled logical circuit skeleton matches the expected 5-to-1 MSD Clifford.\n" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "id": "c064aa7d", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "X basis: 5 flows\n", + "1 -> ____Z xor rec[4]\n", + "1 -> ___Z_ xor rec[3]\n", + "1 -> __Z__ xor rec[2]\n", + "1 -> _Z___ xor rec[1]\n", + "1 -> Z____ xor rec[0]\n", + "\n", + "Y basis: 5 flows\n", + "1 -> ____Z xor rec[4]\n", + "1 -> ___Z_ xor rec[3]\n", + "1 -> __Z__ xor rec[2]\n", + "1 -> _Z___ xor rec[1]\n", + "1 -> Z____ xor rec[0]\n", + "\n", + "Z basis: 6 flows\n", + "1 -> rec[0] xor rec[1] xor rec[3]\n", + "1 -> ____Z xor rec[4]\n", + "1 -> ___Z_ xor rec[3]\n", + "1 -> __Z__ xor rec[2]\n", + "1 -> _Z___ xor rec[1]\n", + "1 -> Z____ xor rec[1] xor rec[3]\n", + "\n" + ] + } + ], + "source": [ + "import stim\n", + "from bloqade import squin\n", + "from bloqade.squin import kernel\n", + "from bloqade.tsim import Circuit\n", + "\n", + "def make_reprod_clifford_flow_kernel(basis: str = \"Z\"):\n", + " @kernel\n", + " def flow_kernel():\n", + " reg = squin.qalloc(5)\n", + " squin.broadcast.reset(reg)\n", + " squin.broadcast.sqrt_x([reg[0], reg[1], reg[4]])\n", + " squin.broadcast.cz([reg[0], reg[2]], [reg[1], reg[3]])\n", + " squin.broadcast.sqrt_y([reg[0], reg[3]])\n", + " squin.broadcast.cz([reg[0], reg[3]], [reg[2], reg[4]])\n", + " squin.broadcast.sqrt_x_adj([reg[0]])\n", + " squin.broadcast.cz([reg[0], reg[1]], [reg[4], reg[3]])\n", + " squin.broadcast.sqrt_x_adj(reg)\n", + "\n", + " if basis == \"X\":\n", + " squin.h(reg[0])\n", + " elif basis == \"Y\":\n", + " squin.sqrt_z_adj(reg[0])\n", + " squin.h(reg[0])\n", + "\n", + " squin.broadcast.measure(reg)\n", + "\n", + " return flow_kernel\n", + "\n", + "REPROD_LOGICAL_DISTILLATION_FLOWS = {\n", + " basis: stim.Circuit(str(Circuit(make_reprod_clifford_flow_kernel(basis)))).flow_generators()\n", + " for basis in BASIS_LABELS\n", + "}\n", + "\n", + "for basis in BASIS_LABELS:\n", + " print(f\"{basis} basis: {len(REPROD_LOGICAL_DISTILLATION_FLOWS[basis])} flows\")\n", + " for flow in REPROD_LOGICAL_DISTILLATION_FLOWS[basis]:\n", + " print(flow)\n", + " print()\n" + ] + }, + { + "cell_type": "markdown", + "id": "45c9e701", + "metadata": {}, + "source": [ + "### adding noise to state init circ" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "id": "0d0b6aea", + "metadata": {}, + "outputs": [], + "source": [ + "# from bloqade.lanes.transform import MoveToSquin\n", + "# from bloqade.lanes.arch.gemini.impls import generate_arch_hypercube" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "id": "1c666675", + "metadata": {}, + "outputs": [], + "source": [ + "sim = GeminiLogicalSimulator()" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "id": "9555f7dc", + "metadata": {}, + "outputs": [], + "source": [ + "sim = GeminiLogicalSimulator()\n", + "noisy_steane7_initialize = make_noisy_steane7_initializer(sim)\n" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "id": "c2871bb5", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31mfunc\u001b[0m\u001b[31m \u001b[0m\u001b[36m@noisy_steane7_initialize\u001b[0m(\u001b[36mtheta\u001b[0m\u001b[30m : \u001b[0m\u001b[30m!\u001b[0m\u001b[30mAny\u001b[0m, \u001b[36mphi\u001b[0m\u001b[30m : \u001b[0m\u001b[30m!\u001b[0m\u001b[30mAny\u001b[0m, \u001b[36mlam\u001b[0m\u001b[30m : \u001b[0m\u001b[30m!\u001b[0m\u001b[30mAny\u001b[0m, \u001b[36mqubits\u001b[0m\u001b[30m : \u001b[0m\u001b[30m!\u001b[0m\u001b[30mAny\u001b[0m)\u001b[90m -> \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m \u001b[0m{\n", + "\u001b[90m \u001b[0m^0(%noisy_steane7_initialize_self, %theta, %phi, %lam, %qubits):\n", + "\u001b[90m │ \u001b[0m %0 = \u001b[34mpy.constant\u001b[0m.constant slice(None, None, 2)\u001b[90m : \u001b[0m\u001b[90m!py.slice\u001b[0m\n", + "\u001b[90m │ \u001b[0m %evens = \u001b[34mpy.indexing\u001b[0m.getitem(%qubits, %0)\u001b[30m : \u001b[0m\u001b[30m!\u001b[0m\u001b[30mAny\u001b[0m\n", + "\u001b[90m │ \u001b[0m %1 = \u001b[34mpy.constant\u001b[0m.constant slice(1, None, 2)\u001b[90m : \u001b[0m\u001b[90m!py.slice\u001b[0m\n", + "\u001b[90m │ \u001b[0m %odds = \u001b[34mpy.indexing\u001b[0m.getitem(%qubits, %1)\u001b[30m : \u001b[0m\u001b[30m!\u001b[0m\u001b[30mAny\u001b[0m\n", + "\u001b[90m │ \u001b[0m %2 = \u001b[34mpy.constant\u001b[0m.constant 6\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m %3 = \u001b[34mpy.indexing\u001b[0m.getitem(%qubits, %2)\u001b[30m : \u001b[0m\u001b[30m!\u001b[0m\u001b[30mAny\u001b[0m\n", + "\u001b[90m │ \u001b[0m %4 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m u3(%theta, %phi, %lam, %3)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m %5 = \u001b[34mpy.constant\u001b[0m.constant 6\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m %6 = \u001b[34mpy.indexing\u001b[0m.getitem(%qubits, %5)\u001b[30m : \u001b[0m\u001b[30m!\u001b[0m\u001b[30mAny\u001b[0m\n", + "\u001b[90m │ \u001b[0m %7 = \u001b[34mpy.ilist\u001b[0m.new(\u001b[33mvalues=\u001b[0m(%6)){\u001b[33melem_type\u001b[0m=!Any}\u001b[30m : \u001b[0m\u001b[30m!py.IList\u001b[0m\u001b[30m[\u001b[0m\u001b[30m!\u001b[0m\u001b[30mAny\u001b[0m\u001b[30m, \u001b[0m\u001b[30mLiteral(1,int)\u001b[0m\u001b[30m]\u001b[0m\n", + "\u001b[90m │ \u001b[0m %8 = \u001b[34mpy.constant\u001b[0m.constant 0.0\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m %9 = \u001b[34mpy.constant\u001b[0m.constant 0.5\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m %10 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m local_r_noise(%7, %8, %9)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m %11 = \u001b[34mpy.constant\u001b[0m.constant slice(None, 6, None)\u001b[90m : \u001b[0m\u001b[90m!py.slice\u001b[0m\n", + "\u001b[90m │ \u001b[0m %first6 = \u001b[34mpy.indexing\u001b[0m.getitem(%qubits, %11)\u001b[30m : \u001b[0m\u001b[30m!\u001b[0m\u001b[30mAny\u001b[0m\n", + "\u001b[90m │ \u001b[0m %12 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m sqrt_y_adj(%first6)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m %13 = \u001b[34mpy.constant\u001b[0m.constant 0.25\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m %14 = \u001b[34mpy.constant\u001b[0m.constant 0.25\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m %15 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m local_r_noise(%first6, %13, %14)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m %16 = \u001b[34mpy.constant\u001b[0m.constant slice(1, None, None)\u001b[90m : \u001b[0m\u001b[90m!py.slice\u001b[0m\n", + "\u001b[90m │ \u001b[0m %targets1 = \u001b[34mpy.indexing\u001b[0m.getitem(%evens, %16)\u001b[30m : \u001b[0m\u001b[30m!\u001b[0m\u001b[30mAny\u001b[0m\n", + "\u001b[90m │ \u001b[0m %17 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m cz(%odds, %targets1)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m %18 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m cz_paired_noise(%odds, %targets1)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m %19 = \u001b[34mpy.constant\u001b[0m.constant 0\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m %20 = \u001b[34mpy.indexing\u001b[0m.getitem(%qubits, %19)\u001b[30m : \u001b[0m\u001b[30m!\u001b[0m\u001b[30mAny\u001b[0m\n", + "\u001b[90m │ \u001b[0m %21 = \u001b[34mpy.ilist\u001b[0m.new(\u001b[33mvalues=\u001b[0m(%20)){\u001b[33melem_type\u001b[0m=!Any}\u001b[30m : \u001b[0m\u001b[30m!py.IList\u001b[0m\u001b[30m[\u001b[0m\u001b[30m!\u001b[0m\u001b[30mAny\u001b[0m\u001b[30m, \u001b[0m\u001b[30mLiteral(1,int)\u001b[0m\u001b[30m]\u001b[0m\n", + "\u001b[90m │ \u001b[0m %22 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m cz_unpaired_noise(%21)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m %23 = \u001b[34mpy.constant\u001b[0m.constant 6\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m %24 = \u001b[34mpy.indexing\u001b[0m.getitem(%qubits, %23)\u001b[30m : \u001b[0m\u001b[30m!\u001b[0m\u001b[30mAny\u001b[0m\n", + "\u001b[90m │ \u001b[0m %25 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m sqrt_y(%24)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m %26 = \u001b[34mpy.constant\u001b[0m.constant 6\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m %27 = \u001b[34mpy.indexing\u001b[0m.getitem(%qubits, %26)\u001b[30m : \u001b[0m\u001b[30m!\u001b[0m\u001b[30mAny\u001b[0m\n", + "\u001b[90m │ \u001b[0m %28 = \u001b[34mpy.ilist\u001b[0m.new(\u001b[33mvalues=\u001b[0m(%27)){\u001b[33melem_type\u001b[0m=!Any}\u001b[30m : \u001b[0m\u001b[30m!py.IList\u001b[0m\u001b[30m[\u001b[0m\u001b[30m!\u001b[0m\u001b[30mAny\u001b[0m\u001b[30m, \u001b[0m\u001b[30mLiteral(1,int)\u001b[0m\u001b[30m]\u001b[0m\n", + "\u001b[90m │ \u001b[0m %29 = \u001b[34mpy.constant\u001b[0m.constant 0.25\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m %30 = \u001b[34mpy.constant\u001b[0m.constant 0.25\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m %31 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m local_r_noise(%28, %29, %30)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m %32 = \u001b[34mpy.constant\u001b[0m.constant slice(None, -1, None)\u001b[90m : \u001b[0m\u001b[90m!py.slice\u001b[0m\n", + "\u001b[90m │ \u001b[0m%controls2 = \u001b[34mpy.indexing\u001b[0m.getitem(%evens, %32)\u001b[30m : \u001b[0m\u001b[30m!\u001b[0m\u001b[30mAny\u001b[0m\n", + "\u001b[90m │ \u001b[0m %33 = \u001b[34mpy.constant\u001b[0m.constant 3\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m %34 = \u001b[34mpy.indexing\u001b[0m.getitem(%qubits, %33)\u001b[30m : \u001b[0m\u001b[30m!\u001b[0m\u001b[30mAny\u001b[0m\n", + "\u001b[90m │ \u001b[0m %35 = \u001b[34mpy.constant\u001b[0m.constant 5\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m %36 = \u001b[34mpy.indexing\u001b[0m.getitem(%qubits, %35)\u001b[30m : \u001b[0m\u001b[30m!\u001b[0m\u001b[30mAny\u001b[0m\n", + "\u001b[90m │ \u001b[0m %37 = \u001b[34mpy.constant\u001b[0m.constant 6\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m %38 = \u001b[34mpy.indexing\u001b[0m.getitem(%qubits, %37)\u001b[30m : \u001b[0m\u001b[30m!\u001b[0m\u001b[30mAny\u001b[0m\n", + "\u001b[90m │ \u001b[0m %targets2 = \u001b[34mpy.ilist\u001b[0m.new(\u001b[33mvalues=\u001b[0m(%34, %36, %38)){\u001b[33melem_type\u001b[0m=!Any}\u001b[30m : \u001b[0m\u001b[30m!py.IList\u001b[0m\u001b[30m[\u001b[0m\u001b[30m!\u001b[0m\u001b[30mAny\u001b[0m\u001b[30m, \u001b[0m\u001b[30mLiteral(3,int)\u001b[0m\u001b[30m]\u001b[0m\n", + "\u001b[90m │ \u001b[0m %39 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m cz(%controls2, %targets2)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m %40 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m cz_paired_noise(%controls2, %targets2)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m %41 = \u001b[34mpy.constant\u001b[0m.constant 1\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m %42 = \u001b[34mpy.indexing\u001b[0m.getitem(%qubits, %41)\u001b[30m : \u001b[0m\u001b[30m!\u001b[0m\u001b[30mAny\u001b[0m\n", + "\u001b[90m │ \u001b[0m %43 = \u001b[34mpy.ilist\u001b[0m.new(\u001b[33mvalues=\u001b[0m(%42)){\u001b[33melem_type\u001b[0m=!Any}\u001b[30m : \u001b[0m\u001b[30m!py.IList\u001b[0m\u001b[30m[\u001b[0m\u001b[30m!\u001b[0m\u001b[30mAny\u001b[0m\u001b[30m, \u001b[0m\u001b[30mLiteral(1,int)\u001b[0m\u001b[30m]\u001b[0m\n", + "\u001b[90m │ \u001b[0m %44 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m cz_unpaired_noise(%43)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m %45 = \u001b[34mpy.constant\u001b[0m.constant slice(2, None, None)\u001b[90m : \u001b[0m\u001b[90m!py.slice\u001b[0m\n", + "\u001b[90m │ \u001b[0m %tail = \u001b[34mpy.indexing\u001b[0m.getitem(%qubits, %45)\u001b[30m : \u001b[0m\u001b[30m!\u001b[0m\u001b[30mAny\u001b[0m\n", + "\u001b[90m │ \u001b[0m %46 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m sqrt_y(%tail)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m %47 = \u001b[34mpy.constant\u001b[0m.constant 0.25\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m %48 = \u001b[34mpy.constant\u001b[0m.constant 0.25\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m %49 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m local_r_noise(%tail, %47, %48)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m %50 = \u001b[34mpy.constant\u001b[0m.constant slice(None, -1, None)\u001b[90m : \u001b[0m\u001b[90m!py.slice\u001b[0m\n", + "\u001b[90m │ \u001b[0m%controls3 = \u001b[34mpy.indexing\u001b[0m.getitem(%evens, %50)\u001b[30m : \u001b[0m\u001b[30m!\u001b[0m\u001b[30mAny\u001b[0m\n", + "\u001b[90m │ \u001b[0m %targets3 = \u001b[34mpy.assign\u001b[0m.alias \u001b[36mtargets3\u001b[0m\u001b[31m = \u001b[0m%odds\n", + "\u001b[90m │ \u001b[0m %51 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m cz(%controls3, %targets3)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m %52 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m cz_paired_noise(%controls3, %targets3)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m %53 = \u001b[34mpy.constant\u001b[0m.constant 6\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m %54 = \u001b[34mpy.indexing\u001b[0m.getitem(%qubits, %53)\u001b[30m : \u001b[0m\u001b[30m!\u001b[0m\u001b[30mAny\u001b[0m\n", + "\u001b[90m │ \u001b[0m %55 = \u001b[34mpy.ilist\u001b[0m.new(\u001b[33mvalues=\u001b[0m(%54)){\u001b[33melem_type\u001b[0m=!Any}\u001b[30m : \u001b[0m\u001b[30m!py.IList\u001b[0m\u001b[30m[\u001b[0m\u001b[30m!\u001b[0m\u001b[30mAny\u001b[0m\u001b[30m, \u001b[0m\u001b[30mLiteral(1,int)\u001b[0m\u001b[30m]\u001b[0m\n", + "\u001b[90m │ \u001b[0m %56 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m cz_unpaired_noise(%55)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m %57 = \u001b[34mpy.constant\u001b[0m.constant 1\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m %58 = \u001b[34mpy.indexing\u001b[0m.getitem(%qubits, %57)\u001b[30m : \u001b[0m\u001b[30m!\u001b[0m\u001b[30mAny\u001b[0m\n", + "\u001b[90m │ \u001b[0m %59 = \u001b[34mpy.constant\u001b[0m.constant 2\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m %60 = \u001b[34mpy.indexing\u001b[0m.getitem(%qubits, %59)\u001b[30m : \u001b[0m\u001b[30m!\u001b[0m\u001b[30mAny\u001b[0m\n", + "\u001b[90m │ \u001b[0m %61 = \u001b[34mpy.constant\u001b[0m.constant 4\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m %62 = \u001b[34mpy.indexing\u001b[0m.getitem(%qubits, %61)\u001b[30m : \u001b[0m\u001b[30m!\u001b[0m\u001b[30mAny\u001b[0m\n", + "\u001b[90m │ \u001b[0m %subset = \u001b[34mpy.ilist\u001b[0m.new(\u001b[33mvalues=\u001b[0m(%58, %60, %62)){\u001b[33melem_type\u001b[0m=!Any}\u001b[30m : \u001b[0m\u001b[30m!py.IList\u001b[0m\u001b[30m[\u001b[0m\u001b[30m!\u001b[0m\u001b[30mAny\u001b[0m\u001b[30m, \u001b[0m\u001b[30mLiteral(3,int)\u001b[0m\u001b[30m]\u001b[0m\n", + "\u001b[90m │ \u001b[0m %63 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m sqrt_y(%subset)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m %64 = \u001b[34mpy.constant\u001b[0m.constant 0.25\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m %65 = \u001b[34mpy.constant\u001b[0m.constant 0.25\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m %66 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m local_r_noise(%subset, %64, %65)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m %67 = \u001b[34mpy.constant\u001b[0m.constant 3\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m %68 = \u001b[34mpy.indexing\u001b[0m.getitem(%qubits, %67)\u001b[30m : \u001b[0m\u001b[30m!\u001b[0m\u001b[30mAny\u001b[0m\n", + "\u001b[90m │ \u001b[0m %69 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m x(%68)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m %70 = \u001b[34mpy.constant\u001b[0m.constant 3\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m %71 = \u001b[34mpy.indexing\u001b[0m.getitem(%qubits, %70)\u001b[30m : \u001b[0m\u001b[30m!\u001b[0m\u001b[30mAny\u001b[0m\n", + "\u001b[90m │ \u001b[0m %72 = \u001b[34mpy.ilist\u001b[0m.new(\u001b[33mvalues=\u001b[0m(%71)){\u001b[33melem_type\u001b[0m=!Any}\u001b[30m : \u001b[0m\u001b[30m!py.IList\u001b[0m\u001b[30m[\u001b[0m\u001b[30m!\u001b[0m\u001b[30mAny\u001b[0m\u001b[30m, \u001b[0m\u001b[30mLiteral(1,int)\u001b[0m\u001b[30m]\u001b[0m\n", + "\u001b[90m │ \u001b[0m %73 = \u001b[34mpy.constant\u001b[0m.constant 0.0\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m %74 = \u001b[34mpy.constant\u001b[0m.constant 0.5\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m %75 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m local_r_noise(%72, %73, %74)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m %76 = \u001b[34mpy.constant\u001b[0m.constant 1\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m %77 = \u001b[34mpy.indexing\u001b[0m.getitem(%qubits, %76)\u001b[30m : \u001b[0m\u001b[30m!\u001b[0m\u001b[30mAny\u001b[0m\n", + "\u001b[90m │ \u001b[0m %78 = \u001b[34mpy.constant\u001b[0m.constant 5\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m %79 = \u001b[34mpy.indexing\u001b[0m.getitem(%qubits, %78)\u001b[30m : \u001b[0m\u001b[30m!\u001b[0m\u001b[30mAny\u001b[0m\n", + "\u001b[90m │ \u001b[0m %z_subset = \u001b[34mpy.ilist\u001b[0m.new(\u001b[33mvalues=\u001b[0m(%77, %79)){\u001b[33melem_type\u001b[0m=!Any}\u001b[30m : \u001b[0m\u001b[30m!py.IList\u001b[0m\u001b[30m[\u001b[0m\u001b[30m!\u001b[0m\u001b[30mAny\u001b[0m\u001b[30m, \u001b[0m\u001b[30mLiteral(2,int)\u001b[0m\u001b[30m]\u001b[0m\n", + "\u001b[90m │ \u001b[0m %80 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m z(%z_subset)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m %81 = \u001b[34mpy.constant\u001b[0m.constant 0.5\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m %82 = \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31minvoke\u001b[0m local_rz_noise(%z_subset, %81)\u001b[90m : \u001b[0m\u001b[90m!py.NoneType\u001b[0m\u001b[90m maybe_pure=False\u001b[0m\n", + "\u001b[90m │ \u001b[0m %83 = \u001b[34mfunc\u001b[0m.const.none()\u001b[30m : \u001b[0m\u001b[30m!py.NoneType\u001b[0m\n", + "\u001b[90m │ \u001b[0m \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31mreturn\u001b[0m %83\n", + "}\u001b[90m // func.func noisy_steane7_initialize\u001b[0m\n" + ] + } + ], + "source": [ + "noisy_steane7_initialize.print()" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "id": "48047441", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Built tasks: ['X', 'Y', 'Z'] ['X', 'Y', 'Z']\n" + ] + } + ], + "source": [ + "distilled_tasks = build_task_map(\n", + " sim,\n", + " DISTILLED_KERNELS,\n", + " m2dets=M2DETS_5,\n", + " m2obs=M2OBS_5,\n", + " noisy_initializer=noisy_steane7_initialize,\n", + " append_measurements=True,\n", + ")\n", + "injected_tasks = build_task_map(\n", + " sim,\n", + " INJECTED_KERNELS,\n", + " m2dets=M2DETS_1,\n", + " m2obs=M2OBS_1,\n", + " noisy_initializer=noisy_steane7_initialize,\n", + " append_measurements=True,\n", + ")\n", + "\n", + "print(\"Built tasks:\", list(distilled_tasks), list(injected_tasks))\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "b57bbb09", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": 23, + "id": "a6b5f159", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "{'X': GeminiLogicalSimulatorTask(logical_squin_kernel=Method(\"distilled_x\"), noise_model=SimpleNoiseModel(lane_noise=Method(\"lane_noise\"), idle_noise=Method(\"idle_noise\"), cz_unpaired_noise=Method(\"cz_unpaired_noise\"), cz_paired_noise=Method(\"cz_paired_noise\"), global_rz_noise=Method(\"global_rz_noise\"), local_rz_noise=Method(\"local_rz_noise\"), global_r_noise=Method(\"global_r_noise\"), local_r_noise=Method(\"local_r_noise\")), _thread_pool_executor=),\n", + " 'Y': GeminiLogicalSimulatorTask(logical_squin_kernel=Method(\"distilled_y\"), noise_model=SimpleNoiseModel(lane_noise=Method(\"lane_noise\"), idle_noise=Method(\"idle_noise\"), cz_unpaired_noise=Method(\"cz_unpaired_noise\"), cz_paired_noise=Method(\"cz_paired_noise\"), global_rz_noise=Method(\"global_rz_noise\"), local_rz_noise=Method(\"local_rz_noise\"), global_r_noise=Method(\"global_r_noise\"), local_r_noise=Method(\"local_r_noise\")), _thread_pool_executor=),\n", + " 'Z': GeminiLogicalSimulatorTask(logical_squin_kernel=Method(\"distilled_z\"), noise_model=SimpleNoiseModel(lane_noise=Method(\"lane_noise\"), idle_noise=Method(\"idle_noise\"), cz_unpaired_noise=Method(\"cz_unpaired_noise\"), cz_paired_noise=Method(\"cz_paired_noise\"), global_rz_noise=Method(\"global_rz_noise\"), local_rz_noise=Method(\"local_rz_noise\"), global_r_noise=Method(\"global_r_noise\"), local_r_noise=Method(\"local_r_noise\")), _thread_pool_executor=)}" + ] + }, + "execution_count": 23, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "distilled_tasks" + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "id": "d524120a", + "metadata": {}, + "outputs": [], + "source": [ + "# %matplotlib qt" + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "id": "cccb6474", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31mfunc\u001b[0m\u001b[31m \u001b[0m\u001b[36m@distilled_x\u001b[0m()\u001b[90m -> \u001b[0m\u001b[90m!\u001b[0m\u001b[90mBottom\u001b[0m\u001b[90m \u001b[0m{\n", + "\u001b[90m \u001b[0m^0(%distilled_x_self):\n", + "\u001b[90m │ \u001b[0m %0 = \u001b[34mlanes.move\u001b[0m.load()\u001b[30m : \u001b[0m\u001b[30m!py.State\u001b[0m\n", + "\u001b[90m │ \u001b[0m %1 = \u001b[34mlanes.move\u001b[0m.fill(\u001b[33mcurrent_state=\u001b[0m%0){\u001b[33mlocation_addresses\u001b[0m=\u001b[1m(\u001b[0m\u001b[1;36m0x0000000000000000\u001b[0m, \u001b[1;36m0x0000000000010000\u001b[0m, \u001b[1;36m0x0000000000020000\u001b[0m, \u001b[1;36m0x0000000000030000\u001b[0m, \u001b[1;36m0x0000000000040000\u001b[0m, \u001b[1;36m0x0000000000050000\u001b[0m, \u001b[1;36m0x0000000000060000\u001b[0m, \u001b[1;36m0x0000000000000001\u001b[0m, \u001b[1;36m0x0000000000010001\u001b[0m, \u001b[1;36m0x0000000000020001\u001b[0m, \u001b[1;36m0x0000000000030001\u001b[0m, \u001b[1;36m0x0000000000040001\u001b[0m, \u001b[1;36m0x0000000000050001\u001b[0m, \u001b[1;36m0x0000000000060001\u001b[0m, \u001b[1;36m0x0000000000000002\u001b[0m, \u001b[1;36m0x0000000000010002\u001b[0m, \u001b[1;36m0x0000000000020002\u001b[0m, \u001b[1;36m0x0000000000030002\u001b[0m, \u001b[1;36m0x0000000000040002\u001b[0m, \u001b[1;36m0x0000000000050002\u001b[0m, \u001b[1;36m0x0000000000060002\u001b[0m, \u001b[1;36m0x0000000000000003\u001b[0m, \u001b[1;36m0x0000000000010003\u001b[0m, \u001b[1;36m0x0000000000020003\u001b[0m, \u001b[1;36m0x0000000000030003\u001b[0m, \u001b[1;36m0x0000000000040003\u001b[0m, \u001b[1;36m0x0000000000050003\u001b[0m, \u001b[1;36m0x0000000000060003\u001b[0m, \u001b[1;36m0x0000000000000004\u001b[0m, \u001b[1;36m0x0000000000010004\u001b[0m, \u001b[1;36m0x0000000000020004\u001b[0m, \u001b[1;36m0x0000000000030004\u001b[0m, \u001b[1;36m0x0000000000040004\u001b[0m, \u001b[1;36m0x0000000000050004\u001b[0m, \u001b[1;36m0x0000000000060004\u001b[0m\u001b[1m)\u001b[0m\u001b[90m : \u001b[0m\u001b[90m!py.tuple\u001b[0m\u001b[90m[\u001b[0m\u001b[90m!py.LocationAddress\u001b[0m\u001b[90m, ...\u001b[0m\u001b[90m]\u001b[0m}\u001b[30m : \u001b[0m\u001b[30m!py.State\u001b[0m\n", + "\u001b[90m │ \u001b[0m \u001b[34mlanes.move\u001b[0m.store(\u001b[33mcurrent_state=\u001b[0m%1)\n", + "\u001b[90m │ \u001b[0m %2 = \u001b[34mpy.constant\u001b[0m.constant np.float64(0.1520433619923482)\u001b[90m : \u001b[0m\u001b[90m!py.float64\u001b[0m\n", + "\u001b[90m │ \u001b[0m %3 = \u001b[34mpy.constant\u001b[0m.constant 0.125\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m %4 = \u001b[34mpy.constant\u001b[0m.constant 0.0\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m %5 = \u001b[34mlanes.move\u001b[0m.physical_initialize(\u001b[33mcurrent_state=\u001b[0m%1, \u001b[33mthetas=\u001b[0m(%2, %2, %2, %2, %2), \u001b[33mphis=\u001b[0m(%3, %3, %3, %3, %3), \u001b[33mlams=\u001b[0m(%4, %4, %4, %4, %4)){\u001b[33mlocation_addresses\u001b[0m=\u001b[1m(\u001b[0m\u001b[1m(\u001b[0m\u001b[1;36m0x0000000000000000\u001b[0m, \u001b[1;36m0x0000000000010000\u001b[0m, \u001b[1;36m0x0000000000020000\u001b[0m, \u001b[1;36m0x0000000000030000\u001b[0m, \u001b[1;36m0x0000000000040000\u001b[0m, \u001b[1;36m0x0000000000050000\u001b[0m, \u001b[1;36m0x0000000000060000\u001b[0m\u001b[1m)\u001b[0m, \u001b[1m(\u001b[0m\u001b[1;36m0x0000000000000001\u001b[0m, \u001b[1;36m0x0000000000010001\u001b[0m, \u001b[1;36m0x0000000000020001\u001b[0m, \u001b[1;36m0x0000000000030001\u001b[0m, \u001b[1;36m0x0000000000040001\u001b[0m, \u001b[1;36m0x0000000000050001\u001b[0m, \u001b[1;36m0x0000000000060001\u001b[0m\u001b[1m)\u001b[0m, \u001b[1m(\u001b[0m\u001b[1;36m0x0000000000000002\u001b[0m, \u001b[1;36m0x0000000000010002\u001b[0m, \u001b[1;36m0x0000000000020002\u001b[0m, \u001b[1;36m0x0000000000030002\u001b[0m, \u001b[1;36m0x0000000000040002\u001b[0m, \u001b[1;36m0x0000000000050002\u001b[0m, \u001b[1;36m0x0000000000060002\u001b[0m\u001b[1m)\u001b[0m, \u001b[1m(\u001b[0m\u001b[1;36m0x0000000000000003\u001b[0m, \u001b[1;36m0x0000000000010003\u001b[0m, \u001b[1;36m0x0000000000020003\u001b[0m, \u001b[1;36m0x0000000000030003\u001b[0m, \u001b[1;36m0x0000000000040003\u001b[0m, \u001b[1;36m0x0000000000050003\u001b[0m, \u001b[1;36m0x0000000000060003\u001b[0m\u001b[1m)\u001b[0m, \u001b[1m(\u001b[0m\u001b[1;36m0x0000000000000004\u001b[0m, \u001b[1;36m0x0000000000010004\u001b[0m, \u001b[1;36m0x0000000000020004\u001b[0m, \u001b[1;36m0x0000000000030004\u001b[0m, \u001b[1;36m0x0000000000040004\u001b[0m, \u001b[1;36m0x0000000000050004\u001b[0m, \u001b[1;36m0x0000000000060004\u001b[0m\u001b[1m)\u001b[0m\u001b[1m)\u001b[0m\u001b[90m : \u001b[0m\u001b[90m!py.tuple\u001b[0m\u001b[90m[\u001b[0m\u001b[90m!py.tuple\u001b[0m\u001b[90m[\u001b[0m\u001b[90m!py.LocationAddress\u001b[0m\u001b[90m, ...\u001b[0m\u001b[90m]\u001b[0m\u001b[90m, ...\u001b[0m\u001b[90m]\u001b[0m}\u001b[30m : \u001b[0m\u001b[30m!py.State\u001b[0m\n", + "\u001b[90m │ \u001b[0m \u001b[34mlanes.move\u001b[0m.store(\u001b[33mcurrent_state=\u001b[0m%5)\n", + "\u001b[90m │ \u001b[0m %angle = \u001b[34mpy.constant\u001b[0m.constant 0.25\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m%angle_1 = \u001b[34mpy.constant\u001b[0m.constant -0.25\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n", + "\u001b[90m │ \u001b[0m %6 = \u001b[34mpy.constant\u001b[0m.constant 0\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m %7 = \u001b[34mpy.constant\u001b[0m.constant 1\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m %8 = \u001b[34mpy.constant\u001b[0m.constant 2\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m %9 = \u001b[34mpy.constant\u001b[0m.constant 3\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m %10 = \u001b[34mpy.constant\u001b[0m.constant IList([0.0, 0.0])\u001b[90m : \u001b[0m\u001b[90m!py.IList\u001b[0m\u001b[90m[\u001b[0m\u001b[90m!py.float\u001b[0m\u001b[90m, \u001b[0m\u001b[90mLiteral(2,int)\u001b[0m\u001b[90m]\u001b[0m\n", + "\u001b[90m │ \u001b[0m %11 = \u001b[34mpy.constant\u001b[0m.constant 4\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m %12 = \u001b[34mpy.constant\u001b[0m.constant 5\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m %13 = \u001b[34mpy.constant\u001b[0m.constant IList([0.0, 1.0])\u001b[90m : \u001b[0m\u001b[90m!py.IList\u001b[0m\u001b[90m[\u001b[0m\u001b[90m!py.float\u001b[0m\u001b[90m, \u001b[0m\u001b[90mLiteral(2,int)\u001b[0m\u001b[90m]\u001b[0m\n", + "\u001b[90m │ \u001b[0m %14 = \u001b[34mpy.constant\u001b[0m.constant 6\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m\n", + "\u001b[90m │ \u001b[0m %15 = \u001b[34mpy.constant\u001b[0m.constant IList([0.0, 2.0])\u001b[90m : \u001b[0m\u001b[90m!py.IList\u001b[0m\u001b[90m[\u001b[0m\u001b[90m!py.float\u001b[0m\u001b[90m, \u001b[0m\u001b[90mLiteral(2,int)\u001b[0m\u001b[90m]\u001b[0m\n", + "\u001b[90m │ \u001b[0m %16 = \u001b[34mpy.constant\u001b[0m.constant IList([0.0, 3.0])\u001b[90m : \u001b[0m\u001b[90m!py.IList\u001b[0m\u001b[90m[\u001b[0m\u001b[90m!py.float\u001b[0m\u001b[90m, \u001b[0m\u001b[90mLiteral(2,int)\u001b[0m\u001b[90m]\u001b[0m\n", + "\u001b[90m │ \u001b[0m %17 = \u001b[34mpy.constant\u001b[0m.constant IList([0.0, 4.0])\u001b[90m : \u001b[0m\u001b[90m!py.IList\u001b[0m\u001b[90m[\u001b[0m\u001b[90m!py.float\u001b[0m\u001b[90m, \u001b[0m\u001b[90mLiteral(2,int)\u001b[0m\u001b[90m]\u001b[0m\n", + "\u001b[90m │ \u001b[0m %18 = \u001b[34mpy.constant\u001b[0m.constant IList([0.0, 5.0])\u001b[90m : \u001b[0m\u001b[90m!py.IList\u001b[0m\u001b[90m[\u001b[0m\u001b[90m!py.float\u001b[0m\u001b[90m, \u001b[0m\u001b[90mLiteral(2,int)\u001b[0m\u001b[90m]\u001b[0m\n", + "\u001b[90m │ \u001b[0m %19 = \u001b[34mpy.constant\u001b[0m.constant IList([0.0, 6.0])\u001b[90m : \u001b[0m\u001b[90m!py.IList\u001b[0m\u001b[90m[\u001b[0m\u001b[90m!py.float\u001b[0m\u001b[90m, \u001b[0m\u001b[90mLiteral(2,int)\u001b[0m\u001b[90m]\u001b[0m\n", + "\u001b[90m │ \u001b[0m %20 = \u001b[34mpy.constant\u001b[0m.constant IList([0.0, 7.0])\u001b[90m : \u001b[0m\u001b[90m!py.IList\u001b[0m\u001b[90m[\u001b[0m\u001b[90m!py.float\u001b[0m\u001b[90m, \u001b[0m\u001b[90mLiteral(2,int)\u001b[0m\u001b[90m]\u001b[0m\n", + "\u001b[90m │ \u001b[0m %21 = \u001b[34mpy.constant\u001b[0m.constant IList([0.0, 8.0])\u001b[90m : \u001b[0m\u001b[90m!py.IList\u001b[0m\u001b[90m[\u001b[0m\u001b[90m!py.float\u001b[0m\u001b[90m, \u001b[0m\u001b[90mLiteral(2,int)\u001b[0m\u001b[90m]\u001b[0m\n", + "\u001b[90m │ \u001b[0m %22 = \u001b[34mpy.constant\u001b[0m.constant IList([0.0, 9.0])\u001b[90m : \u001b[0m\u001b[90m!py.IList\u001b[0m\u001b[90m[\u001b[0m\u001b[90m!py.float\u001b[0m\u001b[90m, \u001b[0m\u001b[90mLiteral(2,int)\u001b[0m\u001b[90m]\u001b[0m\n", + "\u001b[90m │ \u001b[0m %23 = \u001b[34mpy.constant\u001b[0m.constant IList([0.0, 10.0])\u001b[90m : \u001b[0m\u001b[90m!py.IList\u001b[0m\u001b[90m[\u001b[0m\u001b[90m!py.float\u001b[0m\u001b[90m, \u001b[0m\u001b[90mLiteral(2,int)\u001b[0m\u001b[90m]\u001b[0m\n", + "\u001b[90m │ \u001b[0m %24 = \u001b[34mpy.constant\u001b[0m.constant IList([0.0, 11.0])\u001b[90m : \u001b[0m\u001b[90m!py.IList\u001b[0m\u001b[90m[\u001b[0m\u001b[90m!py.float\u001b[0m\u001b[90m, \u001b[0m\u001b[90mLiteral(2,int)\u001b[0m\u001b[90m]\u001b[0m\n", + "\u001b[90m │ \u001b[0m %25 = \u001b[34mpy.constant\u001b[0m.constant IList([0.0, 12.0])\u001b[90m : \u001b[0m\u001b[90m!py.IList\u001b[0m\u001b[90m[\u001b[0m\u001b[90m!py.float\u001b[0m\u001b[90m, \u001b[0m\u001b[90mLiteral(2,int)\u001b[0m\u001b[90m]\u001b[0m\n", + "\u001b[90m │ \u001b[0m %26 = \u001b[34mpy.constant\u001b[0m.constant IList([0.0, 13.0])\u001b[90m : \u001b[0m\u001b[90m!py.IList\u001b[0m\u001b[90m[\u001b[0m\u001b[90m!py.float\u001b[0m\u001b[90m, \u001b[0m\u001b[90mLiteral(2,int)\u001b[0m\u001b[90m]\u001b[0m\n", + "\u001b[90m │ \u001b[0m %27 = \u001b[34mpy.constant\u001b[0m.constant IList([0.0, 14.0])\u001b[90m : \u001b[0m\u001b[90m!py.IList\u001b[0m\u001b[90m[\u001b[0m\u001b[90m!py.float\u001b[0m\u001b[90m, \u001b[0m\u001b[90mLiteral(2,int)\u001b[0m\u001b[90m]\u001b[0m\n", + "\u001b[90m │ \u001b[0m %28 = \u001b[34mlanes.move\u001b[0m.local_r(\u001b[33mcurrent_state=\u001b[0m%5, \u001b[33maxis_angle=\u001b[0m%4, \u001b[33mrotation_angle=\u001b[0m%angle){\u001b[33mlocation_addresses\u001b[0m=\u001b[1m(\u001b[0m\u001b[1;36m0x0000000000000000\u001b[0m, \u001b[1;36m0x0000000000010000\u001b[0m, \u001b[1;36m0x0000000000020000\u001b[0m, \u001b[1;36m0x0000000000030000\u001b[0m, \u001b[1;36m0x0000000000040000\u001b[0m, \u001b[1;36m0x0000000000050000\u001b[0m, \u001b[1;36m0x0000000000060000\u001b[0m, \u001b[1;36m0x0000000000000001\u001b[0m, \u001b[1;36m0x0000000000010001\u001b[0m, \u001b[1;36m0x0000000000020001\u001b[0m, \u001b[1;36m0x0000000000030001\u001b[0m, \u001b[1;36m0x0000000000040001\u001b[0m, \u001b[1;36m0x0000000000050001\u001b[0m, \u001b[1;36m0x0000000000060001\u001b[0m, \u001b[1;36m0x0000000000000004\u001b[0m, \u001b[1;36m0x0000000000010004\u001b[0m, \u001b[1;36m0x0000000000020004\u001b[0m, \u001b[1;36m0x0000000000030004\u001b[0m, \u001b[1;36m0x0000000000040004\u001b[0m, \u001b[1;36m0x0000000000050004\u001b[0m, \u001b[1;36m0x0000000000060004\u001b[0m\u001b[1m)\u001b[0m\u001b[90m : \u001b[0m\u001b[90m!py.tuple\u001b[0m\u001b[90m[\u001b[0m\u001b[90m!py.LocationAddress\u001b[0m\u001b[90m, ...\u001b[0m\u001b[90m]\u001b[0m}\u001b[30m : \u001b[0m\u001b[30m!py.State\u001b[0m\n", + "\u001b[90m │ \u001b[0m \u001b[34mlanes.move\u001b[0m.store(\u001b[33mcurrent_state=\u001b[0m%28)\n", + "\u001b[90m │ \u001b[0m %29 = \u001b[34mlanes.move\u001b[0m.move(\u001b[33mcurrent_state=\u001b[0m%28){\u001b[33mlanes\u001b[0m=\u001b[1m(\u001b[0m\u001b[1;36m0x0000000100000000\u001b[0m, \u001b[1;36m0x0000000100010000\u001b[0m, \u001b[1;36m0x0000000100020000\u001b[0m, \u001b[1;36m0x0000000100030000\u001b[0m, \u001b[1;36m0x0000000100040000\u001b[0m, \u001b[1;36m0x0000000100050000\u001b[0m, \u001b[1;36m0x0000000100060000\u001b[0m, \u001b[1;36m0x0000000100000002\u001b[0m, \u001b[1;36m0x0000000100010002\u001b[0m, \u001b[1;36m0x0000000100020002\u001b[0m, \u001b[1;36m0x0000000100030002\u001b[0m, \u001b[1;36m0x0000000100040002\u001b[0m, \u001b[1;36m0x0000000100050002\u001b[0m, \u001b[1;36m0x0000000100060002\u001b[0m\u001b[1m)\u001b[0m\u001b[90m : \u001b[0m\u001b[90m!py.tuple\u001b[0m\u001b[90m[\u001b[0m\u001b[90m!py.LaneAddress\u001b[0m\u001b[90m, ...\u001b[0m\u001b[90m]\u001b[0m}\u001b[30m : \u001b[0m\u001b[30m!py.State\u001b[0m\n", + "\u001b[90m │ \u001b[0m \u001b[34mlanes.move\u001b[0m.store(\u001b[33mcurrent_state=\u001b[0m%29)\n", + "\u001b[90m │ \u001b[0m %30 = \u001b[34mlanes.move\u001b[0m.c_z(\u001b[33mcurrent_state=\u001b[0m%29){\u001b[33mzone_address\u001b[0m=\u001b[1;36m0x0000000000000000\u001b[0m}\u001b[30m : \u001b[0m\u001b[30m!py.State\u001b[0m\n", + "\u001b[90m │ \u001b[0m \u001b[34mlanes.move\u001b[0m.store(\u001b[33mcurrent_state=\u001b[0m%30)\n", + "\u001b[90m │ \u001b[0m %31 = \u001b[34mlanes.move\u001b[0m.move(\u001b[33mcurrent_state=\u001b[0m%30){\u001b[33mlanes\u001b[0m=\u001b[1m(\u001b[0m\u001b[1;36m0x8000000100000000\u001b[0m, \u001b[1;36m0x8000000100010000\u001b[0m, \u001b[1;36m0x8000000100020000\u001b[0m, \u001b[1;36m0x8000000100030000\u001b[0m, \u001b[1;36m0x8000000100040000\u001b[0m, \u001b[1;36m0x8000000100050000\u001b[0m, \u001b[1;36m0x8000000100060000\u001b[0m, \u001b[1;36m0x8000000100000002\u001b[0m, \u001b[1;36m0x8000000100010002\u001b[0m, \u001b[1;36m0x8000000100020002\u001b[0m, \u001b[1;36m0x8000000100030002\u001b[0m, \u001b[1;36m0x8000000100040002\u001b[0m, \u001b[1;36m0x8000000100050002\u001b[0m, \u001b[1;36m0x8000000100060002\u001b[0m\u001b[1m)\u001b[0m\u001b[90m : \u001b[0m\u001b[90m!py.tuple\u001b[0m\u001b[90m[\u001b[0m\u001b[90m!py.LaneAddress\u001b[0m\u001b[90m, ...\u001b[0m\u001b[90m]\u001b[0m}\u001b[30m : \u001b[0m\u001b[30m!py.State\u001b[0m\n", + "\u001b[90m │ \u001b[0m \u001b[34mlanes.move\u001b[0m.store(\u001b[33mcurrent_state=\u001b[0m%31)\n", + "\u001b[90m │ \u001b[0m %32 = \u001b[34mlanes.move\u001b[0m.local_r(\u001b[33mcurrent_state=\u001b[0m%31, \u001b[33maxis_angle=\u001b[0m%angle, \u001b[33mrotation_angle=\u001b[0m%angle){\u001b[33mlocation_addresses\u001b[0m=\u001b[1m(\u001b[0m\u001b[1;36m0x0000000000000000\u001b[0m, \u001b[1;36m0x0000000000010000\u001b[0m, \u001b[1;36m0x0000000000020000\u001b[0m, \u001b[1;36m0x0000000000030000\u001b[0m, \u001b[1;36m0x0000000000040000\u001b[0m, \u001b[1;36m0x0000000000050000\u001b[0m, \u001b[1;36m0x0000000000060000\u001b[0m, \u001b[1;36m0x0000000000000003\u001b[0m, \u001b[1;36m0x0000000000010003\u001b[0m, \u001b[1;36m0x0000000000020003\u001b[0m, \u001b[1;36m0x0000000000030003\u001b[0m, \u001b[1;36m0x0000000000040003\u001b[0m, \u001b[1;36m0x0000000000050003\u001b[0m, \u001b[1;36m0x0000000000060003\u001b[0m\u001b[1m)\u001b[0m\u001b[90m : \u001b[0m\u001b[90m!py.tuple\u001b[0m\u001b[90m[\u001b[0m\u001b[90m!py.LocationAddress\u001b[0m\u001b[90m, ...\u001b[0m\u001b[90m]\u001b[0m}\u001b[30m : \u001b[0m\u001b[30m!py.State\u001b[0m\n", + "\u001b[90m │ \u001b[0m \u001b[34mlanes.move\u001b[0m.store(\u001b[33mcurrent_state=\u001b[0m%32)\n", + "\u001b[90m │ \u001b[0m %33 = \u001b[34mlanes.move\u001b[0m.move(\u001b[33mcurrent_state=\u001b[0m%32){\u001b[33mlanes\u001b[0m=\u001b[1m(\u001b[0m\u001b[1;36m0x0000000700000002\u001b[0m, \u001b[1;36m0x0000000700010002\u001b[0m, \u001b[1;36m0x0000000700020002\u001b[0m, \u001b[1;36m0x0000000700030002\u001b[0m, \u001b[1;36m0x0000000700040002\u001b[0m, \u001b[1;36m0x0000000700050002\u001b[0m, \u001b[1;36m0x0000000700060002\u001b[0m\u001b[1m)\u001b[0m\u001b[90m : \u001b[0m\u001b[90m!py.tuple\u001b[0m\u001b[90m[\u001b[0m\u001b[90m!py.LaneAddress\u001b[0m\u001b[90m, ...\u001b[0m\u001b[90m]\u001b[0m}\u001b[30m : \u001b[0m\u001b[30m!py.State\u001b[0m\n", + "\u001b[90m │ \u001b[0m %34 = \u001b[34mlanes.move\u001b[0m.move(\u001b[33mcurrent_state=\u001b[0m%33){\u001b[33mlanes\u001b[0m=\u001b[1m(\u001b[0m\u001b[1;36m0x0000000800000004\u001b[0m, \u001b[1;36m0x0000000800010004\u001b[0m, \u001b[1;36m0x0000000800020004\u001b[0m, \u001b[1;36m0x0000000800030004\u001b[0m, \u001b[1;36m0x0000000800040004\u001b[0m, \u001b[1;36m0x0000000800050004\u001b[0m, \u001b[1;36m0x0000000800060004\u001b[0m\u001b[1m)\u001b[0m\u001b[90m : \u001b[0m\u001b[90m!py.tuple\u001b[0m\u001b[90m[\u001b[0m\u001b[90m!py.LaneAddress\u001b[0m\u001b[90m, ...\u001b[0m\u001b[90m]\u001b[0m}\u001b[30m : \u001b[0m\u001b[30m!py.State\u001b[0m\n", + "\u001b[90m │ \u001b[0m \u001b[34mlanes.move\u001b[0m.store(\u001b[33mcurrent_state=\u001b[0m%34)\n", + "\u001b[90m │ \u001b[0m %35 = \u001b[34mlanes.move\u001b[0m.c_z(\u001b[33mcurrent_state=\u001b[0m%34){\u001b[33mzone_address\u001b[0m=\u001b[1;36m0x0000000000000000\u001b[0m}\u001b[30m : \u001b[0m\u001b[30m!py.State\u001b[0m\n", + "\u001b[90m │ \u001b[0m \u001b[34mlanes.move\u001b[0m.store(\u001b[33mcurrent_state=\u001b[0m%35)\n", + "\u001b[90m │ \u001b[0m %36 = \u001b[34mlanes.move\u001b[0m.move(\u001b[33mcurrent_state=\u001b[0m%35){\u001b[33mlanes\u001b[0m=\u001b[1m(\u001b[0m\u001b[1;36m0x8000000800000004\u001b[0m, \u001b[1;36m0x8000000800010004\u001b[0m, \u001b[1;36m0x8000000800020004\u001b[0m, \u001b[1;36m0x8000000800030004\u001b[0m, \u001b[1;36m0x8000000800040004\u001b[0m, \u001b[1;36m0x8000000800050004\u001b[0m, \u001b[1;36m0x8000000800060004\u001b[0m\u001b[1m)\u001b[0m\u001b[90m : \u001b[0m\u001b[90m!py.tuple\u001b[0m\u001b[90m[\u001b[0m\u001b[90m!py.LaneAddress\u001b[0m\u001b[90m, ...\u001b[0m\u001b[90m]\u001b[0m}\u001b[30m : \u001b[0m\u001b[30m!py.State\u001b[0m\n", + "\u001b[90m │ \u001b[0m %37 = \u001b[34mlanes.move\u001b[0m.move(\u001b[33mcurrent_state=\u001b[0m%36){\u001b[33mlanes\u001b[0m=\u001b[1m(\u001b[0m\u001b[1;36m0x8000000700000002\u001b[0m, \u001b[1;36m0x8000000700010002\u001b[0m, \u001b[1;36m0x8000000700020002\u001b[0m, \u001b[1;36m0x8000000700030002\u001b[0m, \u001b[1;36m0x8000000700040002\u001b[0m, \u001b[1;36m0x8000000700050002\u001b[0m, \u001b[1;36m0x8000000700060002\u001b[0m\u001b[1m)\u001b[0m\u001b[90m : \u001b[0m\u001b[90m!py.tuple\u001b[0m\u001b[90m[\u001b[0m\u001b[90m!py.LaneAddress\u001b[0m\u001b[90m, ...\u001b[0m\u001b[90m]\u001b[0m}\u001b[30m : \u001b[0m\u001b[30m!py.State\u001b[0m\n", + "\u001b[90m │ \u001b[0m \u001b[34mlanes.move\u001b[0m.store(\u001b[33mcurrent_state=\u001b[0m%37)\n", + "\u001b[90m │ \u001b[0m %38 = \u001b[34mlanes.move\u001b[0m.local_r(\u001b[33mcurrent_state=\u001b[0m%37, \u001b[33maxis_angle=\u001b[0m%4, \u001b[33mrotation_angle=\u001b[0m%angle_1){\u001b[33mlocation_addresses\u001b[0m=\u001b[1m(\u001b[0m\u001b[1;36m0x0000000000000000\u001b[0m, \u001b[1;36m0x0000000000010000\u001b[0m, \u001b[1;36m0x0000000000020000\u001b[0m, \u001b[1;36m0x0000000000030000\u001b[0m, \u001b[1;36m0x0000000000040000\u001b[0m, \u001b[1;36m0x0000000000050000\u001b[0m, \u001b[1;36m0x0000000000060000\u001b[0m\u001b[1m)\u001b[0m\u001b[90m : \u001b[0m\u001b[90m!py.tuple\u001b[0m\u001b[90m[\u001b[0m\u001b[90m!py.LocationAddress\u001b[0m\u001b[90m, ...\u001b[0m\u001b[90m]\u001b[0m}\u001b[30m : \u001b[0m\u001b[30m!py.State\u001b[0m\n", + "\u001b[90m │ \u001b[0m \u001b[34mlanes.move\u001b[0m.store(\u001b[33mcurrent_state=\u001b[0m%38)\n", + "\u001b[90m │ \u001b[0m %39 = \u001b[34mlanes.move\u001b[0m.move(\u001b[33mcurrent_state=\u001b[0m%38){\u001b[33mlanes\u001b[0m=\u001b[1m(\u001b[0m\u001b[1;36m0x0000000500000004\u001b[0m, \u001b[1;36m0x0000000500010004\u001b[0m, \u001b[1;36m0x0000000500020004\u001b[0m, \u001b[1;36m0x0000000500030004\u001b[0m, \u001b[1;36m0x0000000500040004\u001b[0m, \u001b[1;36m0x0000000500050004\u001b[0m, \u001b[1;36m0x0000000500060004\u001b[0m\u001b[1m)\u001b[0m\u001b[90m : \u001b[0m\u001b[90m!py.tuple\u001b[0m\u001b[90m[\u001b[0m\u001b[90m!py.LaneAddress\u001b[0m\u001b[90m, ...\u001b[0m\u001b[90m]\u001b[0m}\u001b[30m : \u001b[0m\u001b[30m!py.State\u001b[0m\n", + "\u001b[90m │ \u001b[0m %40 = \u001b[34mlanes.move\u001b[0m.move(\u001b[33mcurrent_state=\u001b[0m%39){\u001b[33mlanes\u001b[0m=\u001b[1m(\u001b[0m\u001b[1;36m0x0000000700000003\u001b[0m, \u001b[1;36m0x0000000700010003\u001b[0m, \u001b[1;36m0x0000000700020003\u001b[0m, \u001b[1;36m0x0000000700030003\u001b[0m, \u001b[1;36m0x0000000700040003\u001b[0m, \u001b[1;36m0x0000000700050003\u001b[0m, \u001b[1;36m0x0000000700060003\u001b[0m\u001b[1m)\u001b[0m\u001b[90m : \u001b[0m\u001b[90m!py.tuple\u001b[0m\u001b[90m[\u001b[0m\u001b[90m!py.LaneAddress\u001b[0m\u001b[90m, ...\u001b[0m\u001b[90m]\u001b[0m}\u001b[30m : \u001b[0m\u001b[30m!py.State\u001b[0m\n", + "\u001b[90m │ \u001b[0m \u001b[34mlanes.move\u001b[0m.store(\u001b[33mcurrent_state=\u001b[0m%40)\n", + "\u001b[90m │ \u001b[0m %41 = \u001b[34mlanes.move\u001b[0m.c_z(\u001b[33mcurrent_state=\u001b[0m%40){\u001b[33mzone_address\u001b[0m=\u001b[1;36m0x0000000000000000\u001b[0m}\u001b[30m : \u001b[0m\u001b[30m!py.State\u001b[0m\n", + "\u001b[90m │ \u001b[0m \u001b[34mlanes.move\u001b[0m.store(\u001b[33mcurrent_state=\u001b[0m%41)\n", + "\u001b[90m │ \u001b[0m %42 = \u001b[34mlanes.move\u001b[0m.move(\u001b[33mcurrent_state=\u001b[0m%41){\u001b[33mlanes\u001b[0m=\u001b[1m(\u001b[0m\u001b[1;36m0x8000000700000003\u001b[0m, \u001b[1;36m0x8000000700010003\u001b[0m, \u001b[1;36m0x8000000700020003\u001b[0m, \u001b[1;36m0x8000000700030003\u001b[0m, \u001b[1;36m0x8000000700040003\u001b[0m, \u001b[1;36m0x8000000700050003\u001b[0m, \u001b[1;36m0x8000000700060003\u001b[0m\u001b[1m)\u001b[0m\u001b[90m : \u001b[0m\u001b[90m!py.tuple\u001b[0m\u001b[90m[\u001b[0m\u001b[90m!py.LaneAddress\u001b[0m\u001b[90m, ...\u001b[0m\u001b[90m]\u001b[0m}\u001b[30m : \u001b[0m\u001b[30m!py.State\u001b[0m\n", + "\u001b[90m │ \u001b[0m %43 = \u001b[34mlanes.move\u001b[0m.move(\u001b[33mcurrent_state=\u001b[0m%42){\u001b[33mlanes\u001b[0m=\u001b[1m(\u001b[0m\u001b[1;36m0x8000000500000004\u001b[0m, \u001b[1;36m0x8000000500010004\u001b[0m, \u001b[1;36m0x8000000500020004\u001b[0m, \u001b[1;36m0x8000000500030004\u001b[0m, \u001b[1;36m0x8000000500040004\u001b[0m, \u001b[1;36m0x8000000500050004\u001b[0m, \u001b[1;36m0x8000000500060004\u001b[0m\u001b[1m)\u001b[0m\u001b[90m : \u001b[0m\u001b[90m!py.tuple\u001b[0m\u001b[90m[\u001b[0m\u001b[90m!py.LaneAddress\u001b[0m\u001b[90m, ...\u001b[0m\u001b[90m]\u001b[0m}\u001b[30m : \u001b[0m\u001b[30m!py.State\u001b[0m\n", + "\u001b[90m │ \u001b[0m \u001b[34mlanes.move\u001b[0m.store(\u001b[33mcurrent_state=\u001b[0m%43)\n", + "\u001b[90m │ \u001b[0m %44 = \u001b[34mlanes.move\u001b[0m.global_r(\u001b[33mcurrent_state=\u001b[0m%43, \u001b[33maxis_angle=\u001b[0m%4, \u001b[33mrotation_angle=\u001b[0m%angle_1)\u001b[30m : \u001b[0m\u001b[30m!py.State\u001b[0m\n", + "\u001b[90m │ \u001b[0m \u001b[34mlanes.move\u001b[0m.store(\u001b[33mcurrent_state=\u001b[0m%44)\n", + "\u001b[90m │ \u001b[0m %45 = \u001b[34mlanes.move\u001b[0m.local_rz(\u001b[33mcurrent_state=\u001b[0m%44, \u001b[33mrotation_angle=\u001b[0m%angle){\u001b[33mlocation_addresses\u001b[0m=\u001b[1m(\u001b[0m\u001b[1;36m0x0000000000000000\u001b[0m, \u001b[1;36m0x0000000000010000\u001b[0m, \u001b[1;36m0x0000000000020000\u001b[0m, \u001b[1;36m0x0000000000030000\u001b[0m, \u001b[1;36m0x0000000000040000\u001b[0m, \u001b[1;36m0x0000000000050000\u001b[0m, \u001b[1;36m0x0000000000060000\u001b[0m\u001b[1m)\u001b[0m\u001b[90m : \u001b[0m\u001b[90m!py.tuple\u001b[0m\u001b[90m[\u001b[0m\u001b[90m!py.LocationAddress\u001b[0m\u001b[90m, ...\u001b[0m\u001b[90m]\u001b[0m}\u001b[30m : \u001b[0m\u001b[30m!py.State\u001b[0m\n", + "\u001b[90m │ \u001b[0m \u001b[34mlanes.move\u001b[0m.store(\u001b[33mcurrent_state=\u001b[0m%45)\n", + "\u001b[90m │ \u001b[0m %46 = \u001b[34mlanes.move\u001b[0m.local_r(\u001b[33mcurrent_state=\u001b[0m%45, \u001b[33maxis_angle=\u001b[0m%4, \u001b[33mrotation_angle=\u001b[0m%angle){\u001b[33mlocation_addresses\u001b[0m=\u001b[1m(\u001b[0m\u001b[1;36m0x0000000000000000\u001b[0m, \u001b[1;36m0x0000000000010000\u001b[0m, \u001b[1;36m0x0000000000020000\u001b[0m, \u001b[1;36m0x0000000000030000\u001b[0m, \u001b[1;36m0x0000000000040000\u001b[0m, \u001b[1;36m0x0000000000050000\u001b[0m, \u001b[1;36m0x0000000000060000\u001b[0m\u001b[1m)\u001b[0m\u001b[90m : \u001b[0m\u001b[90m!py.tuple\u001b[0m\u001b[90m[\u001b[0m\u001b[90m!py.LocationAddress\u001b[0m\u001b[90m, ...\u001b[0m\u001b[90m]\u001b[0m}\u001b[30m : \u001b[0m\u001b[30m!py.State\u001b[0m\n", + "\u001b[90m │ \u001b[0m \u001b[34mlanes.move\u001b[0m.store(\u001b[33mcurrent_state=\u001b[0m%46)\n", + "\u001b[90m │ \u001b[0m %47 = \u001b[34mlanes.move\u001b[0m.local_rz(\u001b[33mcurrent_state=\u001b[0m%46, \u001b[33mrotation_angle=\u001b[0m%angle){\u001b[33mlocation_addresses\u001b[0m=\u001b[1m(\u001b[0m\u001b[1;36m0x0000000000000000\u001b[0m, \u001b[1;36m0x0000000000010000\u001b[0m, \u001b[1;36m0x0000000000020000\u001b[0m, \u001b[1;36m0x0000000000030000\u001b[0m, \u001b[1;36m0x0000000000040000\u001b[0m, \u001b[1;36m0x0000000000050000\u001b[0m, \u001b[1;36m0x0000000000060000\u001b[0m\u001b[1m)\u001b[0m\u001b[90m : \u001b[0m\u001b[90m!py.tuple\u001b[0m\u001b[90m[\u001b[0m\u001b[90m!py.LocationAddress\u001b[0m\u001b[90m, ...\u001b[0m\u001b[90m]\u001b[0m}\u001b[30m : \u001b[0m\u001b[30m!py.State\u001b[0m\n", + "\u001b[90m │ \u001b[0m \u001b[34mlanes.move\u001b[0m.store(\u001b[33mcurrent_state=\u001b[0m%47)\n", + "\u001b[90m │ \u001b[0m %48 = \u001b[34mfunc\u001b[0m.const.none()\u001b[30m : \u001b[0m\u001b[30m!py.NoneType\u001b[0m\n", + "\u001b[90m │ \u001b[0m %49 = \u001b[34mlanes.move\u001b[0m.end_measure(\u001b[33mcurrent_state=\u001b[0m%47){\u001b[33mzone_addresses\u001b[0m=\u001b[1m(\u001b[0m\u001b[1;36m0x0000000000000000\u001b[0m,\u001b[1m)\u001b[0m\u001b[90m : \u001b[0m\u001b[90m!py.tuple\u001b[0m\u001b[90m[\u001b[0m\u001b[90m!py.ZoneAddress\u001b[0m\u001b[90m, ...\u001b[0m\u001b[90m]\u001b[0m}\u001b[30m : \u001b[0m\u001b[30m!py.MeasurementFuture\u001b[0m\n", + "\u001b[90m │ \u001b[0m %50 = \u001b[34mlanes.move\u001b[0m.get_future_result(\u001b[33mmeasurement_future=\u001b[0m%49){\u001b[33mzone_address\u001b[0m=\u001b[1;36m0x0000000000000000\u001b[0m, \u001b[33mlocation_address\u001b[0m=\u001b[1;36m0x0000000000000000\u001b[0m}\u001b[30m : \u001b[0m\u001b[30m!py.MeasurementResult\u001b[0m\n", + "\u001b[90m │ \u001b[0m %51 = \u001b[34mlanes.move\u001b[0m.get_future_result(\u001b[33mmeasurement_future=\u001b[0m%49){\u001b[33mzone_address\u001b[0m=\u001b[1;36m0x0000000000000000\u001b[0m, \u001b[33mlocation_address\u001b[0m=\u001b[1;36m0x0000000000010000\u001b[0m}\u001b[30m : \u001b[0m\u001b[30m!py.MeasurementResult\u001b[0m\n", + "\u001b[90m │ \u001b[0m %52 = \u001b[34mlanes.move\u001b[0m.get_future_result(\u001b[33mmeasurement_future=\u001b[0m%49){\u001b[33mzone_address\u001b[0m=\u001b[1;36m0x0000000000000000\u001b[0m, \u001b[33mlocation_address\u001b[0m=\u001b[1;36m0x0000000000020000\u001b[0m}\u001b[30m : \u001b[0m\u001b[30m!py.MeasurementResult\u001b[0m\n", + "\u001b[90m │ \u001b[0m %53 = \u001b[34mlanes.move\u001b[0m.get_future_result(\u001b[33mmeasurement_future=\u001b[0m%49){\u001b[33mzone_address\u001b[0m=\u001b[1;36m0x0000000000000000\u001b[0m, \u001b[33mlocation_address\u001b[0m=\u001b[1;36m0x0000000000030000\u001b[0m}\u001b[30m : \u001b[0m\u001b[30m!py.MeasurementResult\u001b[0m\n", + "\u001b[90m │ \u001b[0m %54 = \u001b[34mlanes.move\u001b[0m.get_future_result(\u001b[33mmeasurement_future=\u001b[0m%49){\u001b[33mzone_address\u001b[0m=\u001b[1;36m0x0000000000000000\u001b[0m, \u001b[33mlocation_address\u001b[0m=\u001b[1;36m0x0000000000040000\u001b[0m}\u001b[30m : \u001b[0m\u001b[30m!py.MeasurementResult\u001b[0m\n", + "\u001b[90m │ \u001b[0m %55 = \u001b[34mlanes.move\u001b[0m.get_future_result(\u001b[33mmeasurement_future=\u001b[0m%49){\u001b[33mzone_address\u001b[0m=\u001b[1;36m0x0000000000000000\u001b[0m, \u001b[33mlocation_address\u001b[0m=\u001b[1;36m0x0000000000050000\u001b[0m}\u001b[30m : \u001b[0m\u001b[30m!py.MeasurementResult\u001b[0m\n", + "\u001b[90m │ \u001b[0m %56 = \u001b[34mlanes.move\u001b[0m.get_future_result(\u001b[33mmeasurement_future=\u001b[0m%49){\u001b[33mzone_address\u001b[0m=\u001b[1;36m0x0000000000000000\u001b[0m, \u001b[33mlocation_address\u001b[0m=\u001b[1;36m0x0000000000060000\u001b[0m}\u001b[30m : \u001b[0m\u001b[30m!py.MeasurementResult\u001b[0m\n", + "\u001b[90m │ \u001b[0m %57 = \u001b[34mpy.ilist\u001b[0m.new(\u001b[33mvalues=\u001b[0m(%50, %51, %52, %53, %54, %55, %56)){\u001b[33melem_type\u001b[0m=!py.MeasurementResult}\u001b[30m : \u001b[0m\u001b[30m!py.IList\u001b[0m\u001b[30m[\u001b[0m\u001b[30m!py.MeasurementResult\u001b[0m\u001b[30m, \u001b[0m\u001b[30mLiteral(7,int)\u001b[0m\u001b[30m]\u001b[0m\n", + "\u001b[90m │ \u001b[0m %58 = \u001b[34mlanes.move\u001b[0m.get_future_result(\u001b[33mmeasurement_future=\u001b[0m%49){\u001b[33mzone_address\u001b[0m=\u001b[1;36m0x0000000000000000\u001b[0m, \u001b[33mlocation_address\u001b[0m=\u001b[1;36m0x0000000000000001\u001b[0m}\u001b[30m : \u001b[0m\u001b[30m!py.MeasurementResult\u001b[0m\n", + "\u001b[90m │ \u001b[0m %59 = \u001b[34mlanes.move\u001b[0m.get_future_result(\u001b[33mmeasurement_future=\u001b[0m%49){\u001b[33mzone_address\u001b[0m=\u001b[1;36m0x0000000000000000\u001b[0m, \u001b[33mlocation_address\u001b[0m=\u001b[1;36m0x0000000000010001\u001b[0m}\u001b[30m : \u001b[0m\u001b[30m!py.MeasurementResult\u001b[0m\n", + "\u001b[90m │ \u001b[0m %60 = \u001b[34mlanes.move\u001b[0m.get_future_result(\u001b[33mmeasurement_future=\u001b[0m%49){\u001b[33mzone_address\u001b[0m=\u001b[1;36m0x0000000000000000\u001b[0m, \u001b[33mlocation_address\u001b[0m=\u001b[1;36m0x0000000000020001\u001b[0m}\u001b[30m : \u001b[0m\u001b[30m!py.MeasurementResult\u001b[0m\n", + "\u001b[90m │ \u001b[0m %61 = \u001b[34mlanes.move\u001b[0m.get_future_result(\u001b[33mmeasurement_future=\u001b[0m%49){\u001b[33mzone_address\u001b[0m=\u001b[1;36m0x0000000000000000\u001b[0m, \u001b[33mlocation_address\u001b[0m=\u001b[1;36m0x0000000000030001\u001b[0m}\u001b[30m : \u001b[0m\u001b[30m!py.MeasurementResult\u001b[0m\n", + "\u001b[90m │ \u001b[0m %62 = \u001b[34mlanes.move\u001b[0m.get_future_result(\u001b[33mmeasurement_future=\u001b[0m%49){\u001b[33mzone_address\u001b[0m=\u001b[1;36m0x0000000000000000\u001b[0m, \u001b[33mlocation_address\u001b[0m=\u001b[1;36m0x0000000000040001\u001b[0m}\u001b[30m : \u001b[0m\u001b[30m!py.MeasurementResult\u001b[0m\n", + "\u001b[90m │ \u001b[0m %63 = \u001b[34mlanes.move\u001b[0m.get_future_result(\u001b[33mmeasurement_future=\u001b[0m%49){\u001b[33mzone_address\u001b[0m=\u001b[1;36m0x0000000000000000\u001b[0m, \u001b[33mlocation_address\u001b[0m=\u001b[1;36m0x0000000000050001\u001b[0m}\u001b[30m : \u001b[0m\u001b[30m!py.MeasurementResult\u001b[0m\n", + "\u001b[90m │ \u001b[0m %64 = \u001b[34mlanes.move\u001b[0m.get_future_result(\u001b[33mmeasurement_future=\u001b[0m%49){\u001b[33mzone_address\u001b[0m=\u001b[1;36m0x0000000000000000\u001b[0m, \u001b[33mlocation_address\u001b[0m=\u001b[1;36m0x0000000000060001\u001b[0m}\u001b[30m : \u001b[0m\u001b[30m!py.MeasurementResult\u001b[0m\n", + "\u001b[90m │ \u001b[0m %65 = \u001b[34mpy.ilist\u001b[0m.new(\u001b[33mvalues=\u001b[0m(%58, %59, %60, %61, %62, %63, %64)){\u001b[33melem_type\u001b[0m=!py.MeasurementResult}\u001b[30m : \u001b[0m\u001b[30m!py.IList\u001b[0m\u001b[30m[\u001b[0m\u001b[30m!py.MeasurementResult\u001b[0m\u001b[30m, \u001b[0m\u001b[30mLiteral(7,int)\u001b[0m\u001b[30m]\u001b[0m\n", + "\u001b[90m │ \u001b[0m %66 = \u001b[34mlanes.move\u001b[0m.get_future_result(\u001b[33mmeasurement_future=\u001b[0m%49){\u001b[33mzone_address\u001b[0m=\u001b[1;36m0x0000000000000000\u001b[0m, \u001b[33mlocation_address\u001b[0m=\u001b[1;36m0x0000000000000002\u001b[0m}\u001b[30m : \u001b[0m\u001b[30m!py.MeasurementResult\u001b[0m\n", + "\u001b[90m │ \u001b[0m %67 = \u001b[34mlanes.move\u001b[0m.get_future_result(\u001b[33mmeasurement_future=\u001b[0m%49){\u001b[33mzone_address\u001b[0m=\u001b[1;36m0x0000000000000000\u001b[0m, \u001b[33mlocation_address\u001b[0m=\u001b[1;36m0x0000000000010002\u001b[0m}\u001b[30m : \u001b[0m\u001b[30m!py.MeasurementResult\u001b[0m\n", + "\u001b[90m │ \u001b[0m %68 = \u001b[34mlanes.move\u001b[0m.get_future_result(\u001b[33mmeasurement_future=\u001b[0m%49){\u001b[33mzone_address\u001b[0m=\u001b[1;36m0x0000000000000000\u001b[0m, \u001b[33mlocation_address\u001b[0m=\u001b[1;36m0x0000000000020002\u001b[0m}\u001b[30m : \u001b[0m\u001b[30m!py.MeasurementResult\u001b[0m\n", + "\u001b[90m │ \u001b[0m %69 = \u001b[34mlanes.move\u001b[0m.get_future_result(\u001b[33mmeasurement_future=\u001b[0m%49){\u001b[33mzone_address\u001b[0m=\u001b[1;36m0x0000000000000000\u001b[0m, \u001b[33mlocation_address\u001b[0m=\u001b[1;36m0x0000000000030002\u001b[0m}\u001b[30m : \u001b[0m\u001b[30m!py.MeasurementResult\u001b[0m\n", + "\u001b[90m │ \u001b[0m %70 = \u001b[34mlanes.move\u001b[0m.get_future_result(\u001b[33mmeasurement_future=\u001b[0m%49){\u001b[33mzone_address\u001b[0m=\u001b[1;36m0x0000000000000000\u001b[0m, \u001b[33mlocation_address\u001b[0m=\u001b[1;36m0x0000000000040002\u001b[0m}\u001b[30m : \u001b[0m\u001b[30m!py.MeasurementResult\u001b[0m\n", + "\u001b[90m │ \u001b[0m %71 = \u001b[34mlanes.move\u001b[0m.get_future_result(\u001b[33mmeasurement_future=\u001b[0m%49){\u001b[33mzone_address\u001b[0m=\u001b[1;36m0x0000000000000000\u001b[0m, \u001b[33mlocation_address\u001b[0m=\u001b[1;36m0x0000000000050002\u001b[0m}\u001b[30m : \u001b[0m\u001b[30m!py.MeasurementResult\u001b[0m\n", + "\u001b[90m │ \u001b[0m %72 = \u001b[34mlanes.move\u001b[0m.get_future_result(\u001b[33mmeasurement_future=\u001b[0m%49){\u001b[33mzone_address\u001b[0m=\u001b[1;36m0x0000000000000000\u001b[0m, \u001b[33mlocation_address\u001b[0m=\u001b[1;36m0x0000000000060002\u001b[0m}\u001b[30m : \u001b[0m\u001b[30m!py.MeasurementResult\u001b[0m\n", + "\u001b[90m │ \u001b[0m %73 = \u001b[34mpy.ilist\u001b[0m.new(\u001b[33mvalues=\u001b[0m(%66, %67, %68, %69, %70, %71, %72)){\u001b[33melem_type\u001b[0m=!py.MeasurementResult}\u001b[30m : \u001b[0m\u001b[30m!py.IList\u001b[0m\u001b[30m[\u001b[0m\u001b[30m!py.MeasurementResult\u001b[0m\u001b[30m, \u001b[0m\u001b[30mLiteral(7,int)\u001b[0m\u001b[30m]\u001b[0m\n", + "\u001b[90m │ \u001b[0m %74 = \u001b[34mlanes.move\u001b[0m.get_future_result(\u001b[33mmeasurement_future=\u001b[0m%49){\u001b[33mzone_address\u001b[0m=\u001b[1;36m0x0000000000000000\u001b[0m, \u001b[33mlocation_address\u001b[0m=\u001b[1;36m0x0000000000000003\u001b[0m}\u001b[30m : \u001b[0m\u001b[30m!py.MeasurementResult\u001b[0m\n", + "\u001b[90m │ \u001b[0m %75 = \u001b[34mlanes.move\u001b[0m.get_future_result(\u001b[33mmeasurement_future=\u001b[0m%49){\u001b[33mzone_address\u001b[0m=\u001b[1;36m0x0000000000000000\u001b[0m, \u001b[33mlocation_address\u001b[0m=\u001b[1;36m0x0000000000010003\u001b[0m}\u001b[30m : \u001b[0m\u001b[30m!py.MeasurementResult\u001b[0m\n", + "\u001b[90m │ \u001b[0m %76 = \u001b[34mlanes.move\u001b[0m.get_future_result(\u001b[33mmeasurement_future=\u001b[0m%49){\u001b[33mzone_address\u001b[0m=\u001b[1;36m0x0000000000000000\u001b[0m, \u001b[33mlocation_address\u001b[0m=\u001b[1;36m0x0000000000020003\u001b[0m}\u001b[30m : \u001b[0m\u001b[30m!py.MeasurementResult\u001b[0m\n", + "\u001b[90m │ \u001b[0m %77 = \u001b[34mlanes.move\u001b[0m.get_future_result(\u001b[33mmeasurement_future=\u001b[0m%49){\u001b[33mzone_address\u001b[0m=\u001b[1;36m0x0000000000000000\u001b[0m, \u001b[33mlocation_address\u001b[0m=\u001b[1;36m0x0000000000030003\u001b[0m}\u001b[30m : \u001b[0m\u001b[30m!py.MeasurementResult\u001b[0m\n", + "\u001b[90m │ \u001b[0m %78 = \u001b[34mlanes.move\u001b[0m.get_future_result(\u001b[33mmeasurement_future=\u001b[0m%49){\u001b[33mzone_address\u001b[0m=\u001b[1;36m0x0000000000000000\u001b[0m, \u001b[33mlocation_address\u001b[0m=\u001b[1;36m0x0000000000040003\u001b[0m}\u001b[30m : \u001b[0m\u001b[30m!py.MeasurementResult\u001b[0m\n", + "\u001b[90m │ \u001b[0m %79 = \u001b[34mlanes.move\u001b[0m.get_future_result(\u001b[33mmeasurement_future=\u001b[0m%49){\u001b[33mzone_address\u001b[0m=\u001b[1;36m0x0000000000000000\u001b[0m, \u001b[33mlocation_address\u001b[0m=\u001b[1;36m0x0000000000050003\u001b[0m}\u001b[30m : \u001b[0m\u001b[30m!py.MeasurementResult\u001b[0m\n", + "\u001b[90m │ \u001b[0m %80 = \u001b[34mlanes.move\u001b[0m.get_future_result(\u001b[33mmeasurement_future=\u001b[0m%49){\u001b[33mzone_address\u001b[0m=\u001b[1;36m0x0000000000000000\u001b[0m, \u001b[33mlocation_address\u001b[0m=\u001b[1;36m0x0000000000060003\u001b[0m}\u001b[30m : \u001b[0m\u001b[30m!py.MeasurementResult\u001b[0m\n", + "\u001b[90m │ \u001b[0m %81 = \u001b[34mpy.ilist\u001b[0m.new(\u001b[33mvalues=\u001b[0m(%74, %75, %76, %77, %78, %79, %80)){\u001b[33melem_type\u001b[0m=!py.MeasurementResult}\u001b[30m : \u001b[0m\u001b[30m!py.IList\u001b[0m\u001b[30m[\u001b[0m\u001b[30m!py.MeasurementResult\u001b[0m\u001b[30m, \u001b[0m\u001b[30mLiteral(7,int)\u001b[0m\u001b[30m]\u001b[0m\n", + "\u001b[90m │ \u001b[0m %82 = \u001b[34mlanes.move\u001b[0m.get_future_result(\u001b[33mmeasurement_future=\u001b[0m%49){\u001b[33mzone_address\u001b[0m=\u001b[1;36m0x0000000000000000\u001b[0m, \u001b[33mlocation_address\u001b[0m=\u001b[1;36m0x0000000000000004\u001b[0m}\u001b[30m : \u001b[0m\u001b[30m!py.MeasurementResult\u001b[0m\n", + "\u001b[90m │ \u001b[0m %83 = \u001b[34mlanes.move\u001b[0m.get_future_result(\u001b[33mmeasurement_future=\u001b[0m%49){\u001b[33mzone_address\u001b[0m=\u001b[1;36m0x0000000000000000\u001b[0m, \u001b[33mlocation_address\u001b[0m=\u001b[1;36m0x0000000000010004\u001b[0m}\u001b[30m : \u001b[0m\u001b[30m!py.MeasurementResult\u001b[0m\n", + "\u001b[90m │ \u001b[0m %84 = \u001b[34mlanes.move\u001b[0m.get_future_result(\u001b[33mmeasurement_future=\u001b[0m%49){\u001b[33mzone_address\u001b[0m=\u001b[1;36m0x0000000000000000\u001b[0m, \u001b[33mlocation_address\u001b[0m=\u001b[1;36m0x0000000000020004\u001b[0m}\u001b[30m : \u001b[0m\u001b[30m!py.MeasurementResult\u001b[0m\n", + "\u001b[90m │ \u001b[0m %85 = \u001b[34mlanes.move\u001b[0m.get_future_result(\u001b[33mmeasurement_future=\u001b[0m%49){\u001b[33mzone_address\u001b[0m=\u001b[1;36m0x0000000000000000\u001b[0m, \u001b[33mlocation_address\u001b[0m=\u001b[1;36m0x0000000000030004\u001b[0m}\u001b[30m : \u001b[0m\u001b[30m!py.MeasurementResult\u001b[0m\n", + "\u001b[90m │ \u001b[0m %86 = \u001b[34mlanes.move\u001b[0m.get_future_result(\u001b[33mmeasurement_future=\u001b[0m%49){\u001b[33mzone_address\u001b[0m=\u001b[1;36m0x0000000000000000\u001b[0m, \u001b[33mlocation_address\u001b[0m=\u001b[1;36m0x0000000000040004\u001b[0m}\u001b[30m : \u001b[0m\u001b[30m!py.MeasurementResult\u001b[0m\n", + "\u001b[90m │ \u001b[0m %87 = \u001b[34mlanes.move\u001b[0m.get_future_result(\u001b[33mmeasurement_future=\u001b[0m%49){\u001b[33mzone_address\u001b[0m=\u001b[1;36m0x0000000000000000\u001b[0m, \u001b[33mlocation_address\u001b[0m=\u001b[1;36m0x0000000000050004\u001b[0m}\u001b[30m : \u001b[0m\u001b[30m!py.MeasurementResult\u001b[0m\n", + "\u001b[90m │ \u001b[0m %88 = \u001b[34mlanes.move\u001b[0m.get_future_result(\u001b[33mmeasurement_future=\u001b[0m%49){\u001b[33mzone_address\u001b[0m=\u001b[1;36m0x0000000000000000\u001b[0m, \u001b[33mlocation_address\u001b[0m=\u001b[1;36m0x0000000000060004\u001b[0m}\u001b[30m : \u001b[0m\u001b[30m!py.MeasurementResult\u001b[0m\n", + "\u001b[90m │ \u001b[0m %89 = \u001b[34mpy.ilist\u001b[0m.new(\u001b[33mvalues=\u001b[0m(%82, %83, %84, %85, %86, %87, %88)){\u001b[33melem_type\u001b[0m=!py.MeasurementResult}\u001b[30m : \u001b[0m\u001b[30m!py.IList\u001b[0m\u001b[30m[\u001b[0m\u001b[30m!py.MeasurementResult\u001b[0m\u001b[30m, \u001b[0m\u001b[30mLiteral(7,int)\u001b[0m\u001b[30m]\u001b[0m\n", + "\u001b[90m │ \u001b[0m %90 = \u001b[34mlanes.move\u001b[0m.load()\u001b[30m : \u001b[0m\u001b[30m!py.State\u001b[0m\n", + "\u001b[90m │ \u001b[0m \u001b[34mlanes.move\u001b[0m.store(\u001b[33mcurrent_state=\u001b[0m%90)\n", + "\u001b[90m │ \u001b[0m %91 = \u001b[34mpy.ilist\u001b[0m.new(\u001b[33mvalues=\u001b[0m(%57, %65, %73, %81, %89)){\u001b[33melem_type\u001b[0m=!py.IList\u001b[1m[\u001b[0m!py.MeasurementResult, \u001b[1;35mLiteral\u001b[0m\u001b[1m(\u001b[0m\u001b[1;36m7\u001b[0m,int\u001b[1m)\u001b[0m\u001b[1m]\u001b[0m}\u001b[30m : \u001b[0m\u001b[30m!py.IList\u001b[0m\u001b[30m[\u001b[0m\u001b[30m!py.IList\u001b[0m\u001b[30m[\u001b[0m\u001b[30m!py.MeasurementResult\u001b[0m\u001b[30m, \u001b[0m\u001b[30mLiteral(7,int)\u001b[0m\u001b[30m]\u001b[0m\u001b[30m, \u001b[0m\u001b[30mLiteral(5,int)\u001b[0m\u001b[30m]\u001b[0m\n", + "\u001b[90m │ \u001b[0m %92 = \u001b[34mpy.indexing\u001b[0m.getitem(%91, %6)\u001b[30m : \u001b[0m\u001b[30m!py.IList\u001b[0m\u001b[30m[\u001b[0m\u001b[30m!py.MeasurementResult\u001b[0m\u001b[30m, \u001b[0m\u001b[30m~ListLen\u001b[0m\u001b[30m]\u001b[0m\n", + "\u001b[90m │ \u001b[0m %93 = \u001b[34mpy.indexing\u001b[0m.getitem(%92, %6)\u001b[30m : \u001b[0m\u001b[30m!py.MeasurementResult\u001b[0m\n", + "\u001b[90m │ \u001b[0m %94 = \u001b[34mpy.indexing\u001b[0m.getitem(%92, %7)\u001b[30m : \u001b[0m\u001b[30m!py.MeasurementResult\u001b[0m\n", + "\u001b[90m │ \u001b[0m %95 = \u001b[34mpy.indexing\u001b[0m.getitem(%92, %8)\u001b[30m : \u001b[0m\u001b[30m!py.MeasurementResult\u001b[0m\n", + "\u001b[90m │ \u001b[0m %96 = \u001b[34mpy.indexing\u001b[0m.getitem(%92, %9)\u001b[30m : \u001b[0m\u001b[30m!py.MeasurementResult\u001b[0m\n", + "\u001b[90m │ \u001b[0m %97 = \u001b[34mpy.ilist\u001b[0m.new(\u001b[33mvalues=\u001b[0m(%93, %94, %95, %96)){\u001b[33melem_type\u001b[0m=!Any}\u001b[30m : \u001b[0m\u001b[30m!py.IList\u001b[0m\u001b[30m[\u001b[0m\u001b[30m!py.MeasurementResult\u001b[0m\u001b[30m, \u001b[0m\u001b[30mLiteral(4,int)\u001b[0m\u001b[30m]\u001b[0m\n", + "\u001b[90m │ \u001b[0m %98 = \u001b[34mdecoders.annotate\u001b[0m.set_detector(\u001b[33mmeasurements=\u001b[0m%97, \u001b[33mcoordinates=\u001b[0m%10)\u001b[30m : \u001b[0m\u001b[30m!py.Detector\u001b[0m\n", + "\u001b[90m │ \u001b[0m %99 = \u001b[34mpy.indexing\u001b[0m.getitem(%92, %11)\u001b[30m : \u001b[0m\u001b[30m!py.MeasurementResult\u001b[0m\n", + "\u001b[90m │ \u001b[0m %100 = \u001b[34mpy.indexing\u001b[0m.getitem(%92, %12)\u001b[30m : \u001b[0m\u001b[30m!py.MeasurementResult\u001b[0m\n", + "\u001b[90m │ \u001b[0m %101 = \u001b[34mpy.ilist\u001b[0m.new(\u001b[33mvalues=\u001b[0m(%94, %95, %99, %100)){\u001b[33melem_type\u001b[0m=!Any}\u001b[30m : \u001b[0m\u001b[30m!py.IList\u001b[0m\u001b[30m[\u001b[0m\u001b[30m!py.MeasurementResult\u001b[0m\u001b[30m, \u001b[0m\u001b[30mLiteral(4,int)\u001b[0m\u001b[30m]\u001b[0m\n", + "\u001b[90m │ \u001b[0m %102 = \u001b[34mdecoders.annotate\u001b[0m.set_detector(\u001b[33mmeasurements=\u001b[0m%101, \u001b[33mcoordinates=\u001b[0m%13)\u001b[30m : \u001b[0m\u001b[30m!py.Detector\u001b[0m\n", + "\u001b[90m │ \u001b[0m %103 = \u001b[34mpy.indexing\u001b[0m.getitem(%92, %14)\u001b[30m : \u001b[0m\u001b[30m!py.MeasurementResult\u001b[0m\n", + "\u001b[90m │ \u001b[0m %104 = \u001b[34mpy.ilist\u001b[0m.new(\u001b[33mvalues=\u001b[0m(%95, %96, %99, %103)){\u001b[33melem_type\u001b[0m=!Any}\u001b[30m : \u001b[0m\u001b[30m!py.IList\u001b[0m\u001b[30m[\u001b[0m\u001b[30m!py.MeasurementResult\u001b[0m\u001b[30m, \u001b[0m\u001b[30mLiteral(4,int)\u001b[0m\u001b[30m]\u001b[0m\n", + "\u001b[90m │ \u001b[0m %105 = \u001b[34mdecoders.annotate\u001b[0m.set_detector(\u001b[33mmeasurements=\u001b[0m%104, \u001b[33mcoordinates=\u001b[0m%15)\u001b[30m : \u001b[0m\u001b[30m!py.Detector\u001b[0m\n", + "\u001b[90m │ \u001b[0m %106 = \u001b[34mpy.indexing\u001b[0m.getitem(%91, %7)\u001b[30m : \u001b[0m\u001b[30m!py.IList\u001b[0m\u001b[30m[\u001b[0m\u001b[30m!py.MeasurementResult\u001b[0m\u001b[30m, \u001b[0m\u001b[30m~ListLen\u001b[0m\u001b[30m]\u001b[0m\n", + "\u001b[90m │ \u001b[0m %107 = \u001b[34mpy.indexing\u001b[0m.getitem(%106, %6)\u001b[30m : \u001b[0m\u001b[30m!py.MeasurementResult\u001b[0m\n", + "\u001b[90m │ \u001b[0m %108 = \u001b[34mpy.indexing\u001b[0m.getitem(%106, %7)\u001b[30m : \u001b[0m\u001b[30m!py.MeasurementResult\u001b[0m\n", + "\u001b[90m │ \u001b[0m %109 = \u001b[34mpy.indexing\u001b[0m.getitem(%106, %8)\u001b[30m : \u001b[0m\u001b[30m!py.MeasurementResult\u001b[0m\n", + "\u001b[90m │ \u001b[0m %110 = \u001b[34mpy.indexing\u001b[0m.getitem(%106, %9)\u001b[30m : \u001b[0m\u001b[30m!py.MeasurementResult\u001b[0m\n", + "\u001b[90m │ \u001b[0m %111 = \u001b[34mpy.ilist\u001b[0m.new(\u001b[33mvalues=\u001b[0m(%107, %108, %109, %110)){\u001b[33melem_type\u001b[0m=!Any}\u001b[30m : \u001b[0m\u001b[30m!py.IList\u001b[0m\u001b[30m[\u001b[0m\u001b[30m!py.MeasurementResult\u001b[0m\u001b[30m, \u001b[0m\u001b[30mLiteral(4,int)\u001b[0m\u001b[30m]\u001b[0m\n", + "\u001b[90m │ \u001b[0m %112 = \u001b[34mdecoders.annotate\u001b[0m.set_detector(\u001b[33mmeasurements=\u001b[0m%111, \u001b[33mcoordinates=\u001b[0m%16)\u001b[30m : \u001b[0m\u001b[30m!py.Detector\u001b[0m\n", + "\u001b[90m │ \u001b[0m %113 = \u001b[34mpy.indexing\u001b[0m.getitem(%106, %11)\u001b[30m : \u001b[0m\u001b[30m!py.MeasurementResult\u001b[0m\n", + "\u001b[90m │ \u001b[0m %114 = \u001b[34mpy.indexing\u001b[0m.getitem(%106, %12)\u001b[30m : \u001b[0m\u001b[30m!py.MeasurementResult\u001b[0m\n", + "\u001b[90m │ \u001b[0m %115 = \u001b[34mpy.ilist\u001b[0m.new(\u001b[33mvalues=\u001b[0m(%108, %109, %113, %114)){\u001b[33melem_type\u001b[0m=!Any}\u001b[30m : \u001b[0m\u001b[30m!py.IList\u001b[0m\u001b[30m[\u001b[0m\u001b[30m!py.MeasurementResult\u001b[0m\u001b[30m, \u001b[0m\u001b[30mLiteral(4,int)\u001b[0m\u001b[30m]\u001b[0m\n", + "\u001b[90m │ \u001b[0m %116 = \u001b[34mdecoders.annotate\u001b[0m.set_detector(\u001b[33mmeasurements=\u001b[0m%115, \u001b[33mcoordinates=\u001b[0m%17)\u001b[30m : \u001b[0m\u001b[30m!py.Detector\u001b[0m\n", + "\u001b[90m │ \u001b[0m %117 = \u001b[34mpy.indexing\u001b[0m.getitem(%106, %14)\u001b[30m : \u001b[0m\u001b[30m!py.MeasurementResult\u001b[0m\n", + "\u001b[90m │ \u001b[0m %118 = \u001b[34mpy.ilist\u001b[0m.new(\u001b[33mvalues=\u001b[0m(%109, %110, %113, %117)){\u001b[33melem_type\u001b[0m=!Any}\u001b[30m : \u001b[0m\u001b[30m!py.IList\u001b[0m\u001b[30m[\u001b[0m\u001b[30m!py.MeasurementResult\u001b[0m\u001b[30m, \u001b[0m\u001b[30mLiteral(4,int)\u001b[0m\u001b[30m]\u001b[0m\n", + "\u001b[90m │ \u001b[0m %119 = \u001b[34mdecoders.annotate\u001b[0m.set_detector(\u001b[33mmeasurements=\u001b[0m%118, \u001b[33mcoordinates=\u001b[0m%18)\u001b[30m : \u001b[0m\u001b[30m!py.Detector\u001b[0m\n", + "\u001b[90m │ \u001b[0m %120 = \u001b[34mpy.indexing\u001b[0m.getitem(%91, %8)\u001b[30m : \u001b[0m\u001b[30m!py.IList\u001b[0m\u001b[30m[\u001b[0m\u001b[30m!py.MeasurementResult\u001b[0m\u001b[30m, \u001b[0m\u001b[30m~ListLen\u001b[0m\u001b[30m]\u001b[0m\n", + "\u001b[90m │ \u001b[0m %121 = \u001b[34mpy.indexing\u001b[0m.getitem(%120, %6)\u001b[30m : \u001b[0m\u001b[30m!py.MeasurementResult\u001b[0m\n", + "\u001b[90m │ \u001b[0m %122 = \u001b[34mpy.indexing\u001b[0m.getitem(%120, %7)\u001b[30m : \u001b[0m\u001b[30m!py.MeasurementResult\u001b[0m\n", + "\u001b[90m │ \u001b[0m %123 = \u001b[34mpy.indexing\u001b[0m.getitem(%120, %8)\u001b[30m : \u001b[0m\u001b[30m!py.MeasurementResult\u001b[0m\n", + "\u001b[90m │ \u001b[0m %124 = \u001b[34mpy.indexing\u001b[0m.getitem(%120, %9)\u001b[30m : \u001b[0m\u001b[30m!py.MeasurementResult\u001b[0m\n", + "\u001b[90m │ \u001b[0m %125 = \u001b[34mpy.ilist\u001b[0m.new(\u001b[33mvalues=\u001b[0m(%121, %122, %123, %124)){\u001b[33melem_type\u001b[0m=!Any}\u001b[30m : \u001b[0m\u001b[30m!py.IList\u001b[0m\u001b[30m[\u001b[0m\u001b[30m!py.MeasurementResult\u001b[0m\u001b[30m, \u001b[0m\u001b[30mLiteral(4,int)\u001b[0m\u001b[30m]\u001b[0m\n", + "\u001b[90m │ \u001b[0m %126 = \u001b[34mdecoders.annotate\u001b[0m.set_detector(\u001b[33mmeasurements=\u001b[0m%125, \u001b[33mcoordinates=\u001b[0m%19)\u001b[30m : \u001b[0m\u001b[30m!py.Detector\u001b[0m\n", + "\u001b[90m │ \u001b[0m %127 = \u001b[34mpy.indexing\u001b[0m.getitem(%120, %11)\u001b[30m : \u001b[0m\u001b[30m!py.MeasurementResult\u001b[0m\n", + "\u001b[90m │ \u001b[0m %128 = \u001b[34mpy.indexing\u001b[0m.getitem(%120, %12)\u001b[30m : \u001b[0m\u001b[30m!py.MeasurementResult\u001b[0m\n", + "\u001b[90m │ \u001b[0m %129 = \u001b[34mpy.ilist\u001b[0m.new(\u001b[33mvalues=\u001b[0m(%122, %123, %127, %128)){\u001b[33melem_type\u001b[0m=!Any}\u001b[30m : \u001b[0m\u001b[30m!py.IList\u001b[0m\u001b[30m[\u001b[0m\u001b[30m!py.MeasurementResult\u001b[0m\u001b[30m, \u001b[0m\u001b[30mLiteral(4,int)\u001b[0m\u001b[30m]\u001b[0m\n", + "\u001b[90m │ \u001b[0m %130 = \u001b[34mdecoders.annotate\u001b[0m.set_detector(\u001b[33mmeasurements=\u001b[0m%129, \u001b[33mcoordinates=\u001b[0m%20)\u001b[30m : \u001b[0m\u001b[30m!py.Detector\u001b[0m\n", + "\u001b[90m │ \u001b[0m %131 = \u001b[34mpy.indexing\u001b[0m.getitem(%120, %14)\u001b[30m : \u001b[0m\u001b[30m!py.MeasurementResult\u001b[0m\n", + "\u001b[90m │ \u001b[0m %132 = \u001b[34mpy.ilist\u001b[0m.new(\u001b[33mvalues=\u001b[0m(%123, %124, %127, %131)){\u001b[33melem_type\u001b[0m=!Any}\u001b[30m : \u001b[0m\u001b[30m!py.IList\u001b[0m\u001b[30m[\u001b[0m\u001b[30m!py.MeasurementResult\u001b[0m\u001b[30m, \u001b[0m\u001b[30mLiteral(4,int)\u001b[0m\u001b[30m]\u001b[0m\n", + "\u001b[90m │ \u001b[0m %133 = \u001b[34mdecoders.annotate\u001b[0m.set_detector(\u001b[33mmeasurements=\u001b[0m%132, \u001b[33mcoordinates=\u001b[0m%21)\u001b[30m : \u001b[0m\u001b[30m!py.Detector\u001b[0m\n", + "\u001b[90m │ \u001b[0m %134 = \u001b[34mpy.indexing\u001b[0m.getitem(%91, %9)\u001b[30m : \u001b[0m\u001b[30m!py.IList\u001b[0m\u001b[30m[\u001b[0m\u001b[30m!py.MeasurementResult\u001b[0m\u001b[30m, \u001b[0m\u001b[30m~ListLen\u001b[0m\u001b[30m]\u001b[0m\n", + "\u001b[90m │ \u001b[0m %135 = \u001b[34mpy.indexing\u001b[0m.getitem(%134, %6)\u001b[30m : \u001b[0m\u001b[30m!py.MeasurementResult\u001b[0m\n", + "\u001b[90m │ \u001b[0m %136 = \u001b[34mpy.indexing\u001b[0m.getitem(%134, %7)\u001b[30m : \u001b[0m\u001b[30m!py.MeasurementResult\u001b[0m\n", + "\u001b[90m │ \u001b[0m %137 = \u001b[34mpy.indexing\u001b[0m.getitem(%134, %8)\u001b[30m : \u001b[0m\u001b[30m!py.MeasurementResult\u001b[0m\n", + "\u001b[90m │ \u001b[0m %138 = \u001b[34mpy.indexing\u001b[0m.getitem(%134, %9)\u001b[30m : \u001b[0m\u001b[30m!py.MeasurementResult\u001b[0m\n", + "\u001b[90m │ \u001b[0m %139 = \u001b[34mpy.ilist\u001b[0m.new(\u001b[33mvalues=\u001b[0m(%135, %136, %137, %138)){\u001b[33melem_type\u001b[0m=!Any}\u001b[30m : \u001b[0m\u001b[30m!py.IList\u001b[0m\u001b[30m[\u001b[0m\u001b[30m!py.MeasurementResult\u001b[0m\u001b[30m, \u001b[0m\u001b[30mLiteral(4,int)\u001b[0m\u001b[30m]\u001b[0m\n", + "\u001b[90m │ \u001b[0m %140 = \u001b[34mdecoders.annotate\u001b[0m.set_detector(\u001b[33mmeasurements=\u001b[0m%139, \u001b[33mcoordinates=\u001b[0m%22)\u001b[30m : \u001b[0m\u001b[30m!py.Detector\u001b[0m\n", + "\u001b[90m │ \u001b[0m %141 = \u001b[34mpy.indexing\u001b[0m.getitem(%134, %11)\u001b[30m : \u001b[0m\u001b[30m!py.MeasurementResult\u001b[0m\n", + "\u001b[90m │ \u001b[0m %142 = \u001b[34mpy.indexing\u001b[0m.getitem(%134, %12)\u001b[30m : \u001b[0m\u001b[30m!py.MeasurementResult\u001b[0m\n", + "\u001b[90m │ \u001b[0m %143 = \u001b[34mpy.ilist\u001b[0m.new(\u001b[33mvalues=\u001b[0m(%136, %137, %141, %142)){\u001b[33melem_type\u001b[0m=!Any}\u001b[30m : \u001b[0m\u001b[30m!py.IList\u001b[0m\u001b[30m[\u001b[0m\u001b[30m!py.MeasurementResult\u001b[0m\u001b[30m, \u001b[0m\u001b[30mLiteral(4,int)\u001b[0m\u001b[30m]\u001b[0m\n", + "\u001b[90m │ \u001b[0m %144 = \u001b[34mdecoders.annotate\u001b[0m.set_detector(\u001b[33mmeasurements=\u001b[0m%143, \u001b[33mcoordinates=\u001b[0m%23)\u001b[30m : \u001b[0m\u001b[30m!py.Detector\u001b[0m\n", + "\u001b[90m │ \u001b[0m %145 = \u001b[34mpy.indexing\u001b[0m.getitem(%134, %14)\u001b[30m : \u001b[0m\u001b[30m!py.MeasurementResult\u001b[0m\n", + "\u001b[90m │ \u001b[0m %146 = \u001b[34mpy.ilist\u001b[0m.new(\u001b[33mvalues=\u001b[0m(%137, %138, %141, %145)){\u001b[33melem_type\u001b[0m=!Any}\u001b[30m : \u001b[0m\u001b[30m!py.IList\u001b[0m\u001b[30m[\u001b[0m\u001b[30m!py.MeasurementResult\u001b[0m\u001b[30m, \u001b[0m\u001b[30mLiteral(4,int)\u001b[0m\u001b[30m]\u001b[0m\n", + "\u001b[90m │ \u001b[0m %147 = \u001b[34mdecoders.annotate\u001b[0m.set_detector(\u001b[33mmeasurements=\u001b[0m%146, \u001b[33mcoordinates=\u001b[0m%24)\u001b[30m : \u001b[0m\u001b[30m!py.Detector\u001b[0m\n", + "\u001b[90m │ \u001b[0m %148 = \u001b[34mpy.indexing\u001b[0m.getitem(%91, %11)\u001b[30m : \u001b[0m\u001b[30m!py.IList\u001b[0m\u001b[30m[\u001b[0m\u001b[30m!py.MeasurementResult\u001b[0m\u001b[30m, \u001b[0m\u001b[30m~ListLen\u001b[0m\u001b[30m]\u001b[0m\n", + "\u001b[90m │ \u001b[0m %149 = \u001b[34mpy.indexing\u001b[0m.getitem(%148, %6)\u001b[30m : \u001b[0m\u001b[30m!py.MeasurementResult\u001b[0m\n", + "\u001b[90m │ \u001b[0m %150 = \u001b[34mpy.indexing\u001b[0m.getitem(%148, %7)\u001b[30m : \u001b[0m\u001b[30m!py.MeasurementResult\u001b[0m\n", + "\u001b[90m │ \u001b[0m %151 = \u001b[34mpy.indexing\u001b[0m.getitem(%148, %8)\u001b[30m : \u001b[0m\u001b[30m!py.MeasurementResult\u001b[0m\n", + "\u001b[90m │ \u001b[0m %152 = \u001b[34mpy.indexing\u001b[0m.getitem(%148, %9)\u001b[30m : \u001b[0m\u001b[30m!py.MeasurementResult\u001b[0m\n", + "\u001b[90m │ \u001b[0m %153 = \u001b[34mpy.ilist\u001b[0m.new(\u001b[33mvalues=\u001b[0m(%149, %150, %151, %152)){\u001b[33melem_type\u001b[0m=!Any}\u001b[30m : \u001b[0m\u001b[30m!py.IList\u001b[0m\u001b[30m[\u001b[0m\u001b[30m!py.MeasurementResult\u001b[0m\u001b[30m, \u001b[0m\u001b[30mLiteral(4,int)\u001b[0m\u001b[30m]\u001b[0m\n", + "\u001b[90m │ \u001b[0m %154 = \u001b[34mdecoders.annotate\u001b[0m.set_detector(\u001b[33mmeasurements=\u001b[0m%153, \u001b[33mcoordinates=\u001b[0m%25)\u001b[30m : \u001b[0m\u001b[30m!py.Detector\u001b[0m\n", + "\u001b[90m │ \u001b[0m %155 = \u001b[34mpy.indexing\u001b[0m.getitem(%148, %11)\u001b[30m : \u001b[0m\u001b[30m!py.MeasurementResult\u001b[0m\n", + "\u001b[90m │ \u001b[0m %156 = \u001b[34mpy.indexing\u001b[0m.getitem(%148, %12)\u001b[30m : \u001b[0m\u001b[30m!py.MeasurementResult\u001b[0m\n", + "\u001b[90m │ \u001b[0m %157 = \u001b[34mpy.ilist\u001b[0m.new(\u001b[33mvalues=\u001b[0m(%150, %151, %155, %156)){\u001b[33melem_type\u001b[0m=!Any}\u001b[30m : \u001b[0m\u001b[30m!py.IList\u001b[0m\u001b[30m[\u001b[0m\u001b[30m!py.MeasurementResult\u001b[0m\u001b[30m, \u001b[0m\u001b[30mLiteral(4,int)\u001b[0m\u001b[30m]\u001b[0m\n", + "\u001b[90m │ \u001b[0m %158 = \u001b[34mdecoders.annotate\u001b[0m.set_detector(\u001b[33mmeasurements=\u001b[0m%157, \u001b[33mcoordinates=\u001b[0m%26)\u001b[30m : \u001b[0m\u001b[30m!py.Detector\u001b[0m\n", + "\u001b[90m │ \u001b[0m %159 = \u001b[34mpy.indexing\u001b[0m.getitem(%148, %14)\u001b[30m : \u001b[0m\u001b[30m!py.MeasurementResult\u001b[0m\n", + "\u001b[90m │ \u001b[0m %160 = \u001b[34mpy.ilist\u001b[0m.new(\u001b[33mvalues=\u001b[0m(%151, %152, %155, %159)){\u001b[33melem_type\u001b[0m=!Any}\u001b[30m : \u001b[0m\u001b[30m!py.IList\u001b[0m\u001b[30m[\u001b[0m\u001b[30m!py.MeasurementResult\u001b[0m\u001b[30m, \u001b[0m\u001b[30mLiteral(4,int)\u001b[0m\u001b[30m]\u001b[0m\n", + "\u001b[90m │ \u001b[0m %161 = \u001b[34mdecoders.annotate\u001b[0m.set_detector(\u001b[33mmeasurements=\u001b[0m%160, \u001b[33mcoordinates=\u001b[0m%27)\u001b[30m : \u001b[0m\u001b[30m!py.Detector\u001b[0m\n", + "\u001b[90m │ \u001b[0m %162 = \u001b[34mpy.ilist\u001b[0m.new(\u001b[33mvalues=\u001b[0m(%93, %94, %100)){\u001b[33melem_type\u001b[0m=!Any}\u001b[30m : \u001b[0m\u001b[30m!py.IList\u001b[0m\u001b[30m[\u001b[0m\u001b[30m!py.MeasurementResult\u001b[0m\u001b[30m, \u001b[0m\u001b[30mLiteral(3,int)\u001b[0m\u001b[30m]\u001b[0m\n", + "\u001b[90m │ \u001b[0m %163 = \u001b[34mdecoders.annotate\u001b[0m.set_observable(\u001b[33mmeasurements=\u001b[0m%162)\u001b[30m : \u001b[0m\u001b[30m!py.Observable\u001b[0m\n", + "\u001b[90m │ \u001b[0m %164 = \u001b[34mpy.ilist\u001b[0m.new(\u001b[33mvalues=\u001b[0m(%107, %108, %114)){\u001b[33melem_type\u001b[0m=!Any}\u001b[30m : \u001b[0m\u001b[30m!py.IList\u001b[0m\u001b[30m[\u001b[0m\u001b[30m!py.MeasurementResult\u001b[0m\u001b[30m, \u001b[0m\u001b[30mLiteral(3,int)\u001b[0m\u001b[30m]\u001b[0m\n", + "\u001b[90m │ \u001b[0m %165 = \u001b[34mdecoders.annotate\u001b[0m.set_observable(\u001b[33mmeasurements=\u001b[0m%164)\u001b[30m : \u001b[0m\u001b[30m!py.Observable\u001b[0m\n", + "\u001b[90m │ \u001b[0m %166 = \u001b[34mpy.ilist\u001b[0m.new(\u001b[33mvalues=\u001b[0m(%121, %122, %128)){\u001b[33melem_type\u001b[0m=!Any}\u001b[30m : \u001b[0m\u001b[30m!py.IList\u001b[0m\u001b[30m[\u001b[0m\u001b[30m!py.MeasurementResult\u001b[0m\u001b[30m, \u001b[0m\u001b[30mLiteral(3,int)\u001b[0m\u001b[30m]\u001b[0m\n", + "\u001b[90m │ \u001b[0m %167 = \u001b[34mdecoders.annotate\u001b[0m.set_observable(\u001b[33mmeasurements=\u001b[0m%166)\u001b[30m : \u001b[0m\u001b[30m!py.Observable\u001b[0m\n", + "\u001b[90m │ \u001b[0m %168 = \u001b[34mpy.ilist\u001b[0m.new(\u001b[33mvalues=\u001b[0m(%135, %136, %142)){\u001b[33melem_type\u001b[0m=!Any}\u001b[30m : \u001b[0m\u001b[30m!py.IList\u001b[0m\u001b[30m[\u001b[0m\u001b[30m!py.MeasurementResult\u001b[0m\u001b[30m, \u001b[0m\u001b[30mLiteral(3,int)\u001b[0m\u001b[30m]\u001b[0m\n", + "\u001b[90m │ \u001b[0m %169 = \u001b[34mdecoders.annotate\u001b[0m.set_observable(\u001b[33mmeasurements=\u001b[0m%168)\u001b[30m : \u001b[0m\u001b[30m!py.Observable\u001b[0m\n", + "\u001b[90m │ \u001b[0m %170 = \u001b[34mpy.ilist\u001b[0m.new(\u001b[33mvalues=\u001b[0m(%149, %150, %156)){\u001b[33melem_type\u001b[0m=!Any}\u001b[30m : \u001b[0m\u001b[30m!py.IList\u001b[0m\u001b[30m[\u001b[0m\u001b[30m!py.MeasurementResult\u001b[0m\u001b[30m, \u001b[0m\u001b[30mLiteral(3,int)\u001b[0m\u001b[30m]\u001b[0m\n", + "\u001b[90m │ \u001b[0m %171 = \u001b[34mdecoders.annotate\u001b[0m.set_observable(\u001b[33mmeasurements=\u001b[0m%170)\u001b[30m : \u001b[0m\u001b[30m!py.Observable\u001b[0m\n", + "\u001b[90m │ \u001b[0m \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31mreturn\u001b[0m %48\n", + "}\u001b[90m // func.func distilled_x\u001b[0m\n" + ] + } + ], + "source": [ + "distilled_tasks[\"X\"].physical_move_kernel.print()" + ] + }, + { + "cell_type": "code", + "execution_count": 26, + "id": "5abeef61", + "metadata": {}, + "outputs": [], + "source": [ + "from IPython.display import HTML, display\n", + "\n", + "def display_circ(diagram):\n", + "\n", + " # diagram = distilled_tasks[\"X\"].tsim_circuit.diagram(height=500)\n", + " display(HTML(f\"\"\"\n", + "
\n", + " {diagram}\n", + "
\n", + " \"\"\"))" + ] + }, + { + "cell_type": "code", + "execution_count": 27, + "id": "cfd82c52", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "\n", + "
\n", + " \n", + "
\n", + "
\n", + " \n", + "\n", + "\n", + "q0\n", + "\n", + "q1\n", + "\n", + "q2\n", + "\n", + "q3\n", + "\n", + "q4\n", + "\n", + "q5\n", + "\n", + "q6\n", + "\n", + "q7\n", + "\n", + "q8\n", + "\n", + "q9\n", + "\n", + "q10\n", + "\n", + "q11\n", + "\n", + "q12\n", + "\n", + "q13\n", + "\n", + "q14\n", + "\n", + "q15\n", + "\n", + "q16\n", + "\n", + "q17\n", + "\n", + "q18\n", + "\n", + "q19\n", + "\n", + "q20\n", + "\n", + "q21\n", + "\n", + "q22\n", + "\n", + "q23\n", + "\n", + "q24\n", + "\n", + "q25\n", + "\n", + "q26\n", + "\n", + "q27\n", + "\n", + "q28\n", + "\n", + "q29\n", + "\n", + "q30\n", + "\n", + "q31\n", + "\n", + "q32\n", + "\n", + "q33\n", + "\n", + "q34\n", + "\n", + "\n", + "DEP1\n", + "0\n", + "\n", + "DEP1\n", + "0\n", + "\n", + "DEP1\n", + "0\n", + "\n", + "DEP1\n", + "0\n", + "\n", + "DEP1\n", + "0\n", + "\n", + "DEP1\n", + "0\n", + "\n", + "DEP1\n", + "0\n", + "\n", + "DEP1\n", + "0\n", + "\n", + "DEP1\n", + "0\n", + "\n", + "DEP1\n", + "0\n", + "\n", + "DEP1\n", + "0\n", + "\n", + "DEP1\n", + "0\n", + "\n", + "DEP1\n", + "0\n", + "\n", + "DEP1\n", + "0\n", + "\n", + "DEP1\n", + "0\n", + "\n", + "DEP1\n", + "0\n", + "\n", + "DEP1\n", + "0\n", + "\n", + "DEP1\n", + "0\n", + "\n", + "DEP1\n", + "0\n", + "\n", + "DEP1\n", + "0\n", + "\n", + "DEP1\n", + "0\n", + "\n", + "DEP1\n", + "0\n", + "\n", + "DEP1\n", + "0\n", + "\n", + "DEP1\n", + "0\n", + "\n", + "DEP1\n", + "0\n", + "\n", + "DEP1\n", + "0\n", + "\n", + "DEP1\n", + "0\n", + "\n", + "DEP1\n", + "0\n", + "\n", + "DEP1\n", + "0\n", + "\n", + "DEP1\n", + "0\n", + "\n", + "DEP1\n", + "0\n", + "\n", + "DEP1\n", + "0\n", + "\n", + "DEP1\n", + "0\n", + "\n", + "DEP1\n", + "0\n", + "\n", + "DEP1\n", + "0\n", + "\n", + "U3\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "√Y\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "X\n", + "\n", + "Z\n", + "\n", + "Z\n", + "\n", + "U3\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "√Y\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "X\n", + "\n", + "Z\n", + "\n", + "Z\n", + "\n", + "U3\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "√Y\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "X\n", + "\n", + "Z\n", + "\n", + "Z\n", + "\n", + "U3\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "√Y\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "X\n", + "\n", + "Z\n", + "\n", + "Z\n", + "\n", + "U3\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "√Y\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "X\n", + "\n", + "Z\n", + "\n", + "Z\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "S\n", + "\n", + "S\n", + "\n", + "S\n", + "\n", + "S\n", + "\n", + "S\n", + "\n", + "S\n", + "\n", + "S\n", + "\n", + "S\n", + "\n", + "S\n", + "\n", + "S\n", + "\n", + "S\n", + "\n", + "S\n", + "\n", + "S\n", + "\n", + "S\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "S\n", + "\n", + "S\n", + "\n", + "S\n", + "\n", + "S\n", + "\n", + "S\n", + "\n", + "S\n", + "\n", + "S\n", + "\n", + "M\n", + "rec[0]\n", + "\n", + "M\n", + "rec[1]\n", + "\n", + "M\n", + "rec[2]\n", + "\n", + "M\n", + "rec[3]\n", + "\n", + "M\n", + "rec[4]\n", + "\n", + "M\n", + "rec[5]\n", + "\n", + "M\n", + "rec[6]\n", + "\n", + "M\n", + "rec[7]\n", + "\n", + "M\n", + "rec[8]\n", + "\n", + "M\n", + "rec[9]\n", + "\n", + "M\n", + "rec[10]\n", + "\n", + "M\n", + "rec[11]\n", + "\n", + "M\n", + "rec[12]\n", + "\n", + "M\n", + "rec[13]\n", + "\n", + "M\n", + "rec[14]\n", + "\n", + "M\n", + "rec[15]\n", + "\n", + "M\n", + "rec[16]\n", + "\n", + "M\n", + "rec[17]\n", + "\n", + "M\n", + "rec[18]\n", + "\n", + "M\n", + "rec[19]\n", + "\n", + "M\n", + "rec[20]\n", + "\n", + "M\n", + "rec[21]\n", + "\n", + "M\n", + "rec[22]\n", + "\n", + "M\n", + "rec[23]\n", + "\n", + "M\n", + "rec[24]\n", + "\n", + "M\n", + "rec[25]\n", + "\n", + "M\n", + "rec[26]\n", + "\n", + "M\n", + "rec[27]\n", + "\n", + "M\n", + "rec[28]\n", + "\n", + "M\n", + "rec[29]\n", + "\n", + "M\n", + "rec[30]\n", + "\n", + "M\n", + "rec[31]\n", + "\n", + "M\n", + "rec[32]\n", + "\n", + "M\n", + "rec[33]\n", + "\n", + "M\n", + "rec[34]\n", + "\n", + "DETECTOR\n", + "coords=(0,0)\n", + "D0 = rec[0]*rec[1]*rec[2]*rec[3]\n", + "\n", + "DETECTOR\n", + "coords=(0,1)\n", + "D1 = rec[1]*rec[2]*rec[4]*rec[5]\n", + "\n", + "DETECTOR\n", + "coords=(0,2)\n", + "D2 = rec[2]*rec[3]*rec[4]*rec[6]\n", + "\n", + "DETECTOR\n", + "coords=(0,3)\n", + "D3 = rec[7]*rec[8]*rec[9]*rec[10]\n", + "\n", + "DETECTOR\n", + "coords=(0,4)\n", + "D4 = rec[8]*rec[9]*rec[11]*rec[12]\n", + "\n", + "DETECTOR\n", + "coords=(0,5)\n", + "D5 = rec[9]*rec[10]*rec[11]*rec[13]\n", + "\n", + "DETECTOR\n", + "coords=(0,6)\n", + "D6 = rec[14]*rec[15]*rec[16]*rec[17]\n", + "\n", + "DETECTOR\n", + "coords=(0,7)\n", + "D7 = rec[15]*rec[16]*rec[18]*rec[19]\n", + "\n", + "DETECTOR\n", + "coords=(0,8)\n", + "D8 = rec[16]*rec[17]*rec[18]*rec[20]\n", + "\n", + "DETECTOR\n", + "coords=(0,9)\n", + "D9 = rec[21]*rec[22]*rec[23]*rec[24]\n", + "\n", + "DETECTOR\n", + "coords=(0,10)\n", + "D10 = rec[22]*rec[23]*rec[25]*rec[26]\n", + "\n", + "DETECTOR\n", + "coords=(0,11)\n", + "D11 = rec[23]*rec[24]*rec[25]*rec[27]\n", + "\n", + "DETECTOR\n", + "coords=(0,12)\n", + "D12 = rec[28]*rec[29]*rec[30]*rec[31]\n", + "\n", + "DETECTOR\n", + "coords=(0,13)\n", + "D13 = rec[29]*rec[30]*rec[32]*rec[33]\n", + "\n", + "DETECTOR\n", + "coords=(0,14)\n", + "D14 = rec[30]*rec[31]*rec[32]*rec[34]\n", + "\n", + "OBS_INCLUDE(0)\n", + "L0 *= rec[0]*rec[1]*rec[5]\n", + "\n", + "OBS_INCLUDE(1)\n", + "L1 *= rec[7]*rec[8]*rec[12]\n", + "\n", + "OBS_INCLUDE(2)\n", + "L2 *= rec[14]*rec[15]*rec[19]\n", + "\n", + "OBS_INCLUDE(3)\n", + "L3 *= rec[21]*rec[22]*rec[26]\n", + "\n", + "OBS_INCLUDE(4)\n", + "L4 *= rec[28]*rec[29]*rec[33]\n", + "\n", + "
\n", + "
\n", + " \n", + "
\n", + " " + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "\n", + "display_circ(distilled_tasks[\"Y\"].noiseless_tsim_circuit.diagram(height=500))" + ] + }, + { + "cell_type": "code", + "execution_count": 28, + "id": "31f7b08b", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "tsim.Circuit('''\n", + "DEPOLARIZE1(0) 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\n", + "U3(0.30408672, 0.25, 0.0) 6\n", + "SQRT_Y_DAG 0 1 2 3 4 5\n", + "CZ 1 2 3 4 5 6\n", + "SQRT_Y 6\n", + "CZ 0 3 2 5 4 6\n", + "SQRT_Y 2 3 4 5 6\n", + "CZ 0 1 2 3 4 5\n", + "SQRT_Y 1 2 4\n", + "X 3\n", + "Z 1 5\n", + "U3(0.30408672, 0.25, 0.0) 13\n", + "SQRT_Y_DAG 7 8 9 10 11 12\n", + "CZ 8 9 10 11 12 13\n", + "SQRT_Y 13\n", + "CZ 7 10 9 12 11 13\n", + "SQRT_Y 9 10 11 12 13\n", + "CZ 7 8 9 10 11 12\n", + "SQRT_Y 8 9 11\n", + "X 10\n", + "Z 8 12\n", + "U3(0.30408672, 0.25, 0.0) 20\n", + "SQRT_Y_DAG 14 15 16 17 18 19\n", + "CZ 15 16 17 18 19 20\n", + "SQRT_Y 20\n", + "CZ 14 17 16 19 18 20\n", + "SQRT_Y 16 17 18 19 20\n", + "CZ 14 15 16 17 18 19\n", + "SQRT_Y 15 16 18\n", + "X 17\n", + "Z 15 19\n", + "U3(0.30408672, 0.25, 0.0) 27\n", + "SQRT_Y_DAG 21 22 23 24 25 26\n", + "CZ 22 23 24 25 26 27\n", + "SQRT_Y 27\n", + "CZ 21 24 23 26 25 27\n", + "SQRT_Y 23 24 25 26 27\n", + "CZ 21 22 23 24 25 26\n", + "SQRT_Y 22 23 25\n", + "X 24\n", + "Z 22 26\n", + "U3(0.30408672, 0.25, 0.0) 34\n", + "SQRT_Y_DAG 28 29 30 31 32 33\n", + "CZ 29 30 31 32 33 34\n", + "SQRT_Y 34\n", + "CZ 28 31 30 33 32 34\n", + "SQRT_Y 30 31 32 33 34\n", + "CZ 28 29 30 31 32 33\n", + "SQRT_Y 29 30 32\n", + "X 31\n", + "Z 29 33\n", + "SQRT_X 0 1 2 3 4 5 6 7 8 9 10 11 12 13 28 29 30 31 32 33 34\n", + "CZ 0 7 1 8 2 9 3 10 4 11 5 12 6 13 14 21 15 22 16 23 17 24 18 25 19 26 20 27\n", + "SQRT_Y 0 1 2 3 4 5 6 21 22 23 24 25 26 27\n", + "CZ 0 14 1 15 2 16 3 17 4 18 5 19 6 20 21 28 22 29 23 30 24 31 25 32 26 33 27 34\n", + "SQRT_X_DAG 0 1 2 3 4 5 6\n", + "CZ 0 28 1 29 2 30 3 31 4 32 5 33 6 34 7 21 8 22 9 23 10 24 11 25 12 26 13 27\n", + "SQRT_X_DAG 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\n", + "S_DAG 0 1 2 3 4 5 6\n", + "S 0 1 2 3 4 5 6\n", + "SQRT_X 0 1 2 3 4 5 6\n", + "S 0 1 2 3 4 5 6\n", + "M 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\n", + "DETECTOR(0, 0) rec[-35] rec[-34] rec[-33] rec[-32]\n", + "DETECTOR(0, 1) rec[-34] rec[-33] rec[-31] rec[-30]\n", + "DETECTOR(0, 2) rec[-33] rec[-32] rec[-31] rec[-29]\n", + "DETECTOR(0, 3) rec[-28] rec[-27] rec[-26] rec[-25]\n", + "DETECTOR(0, 4) rec[-27] rec[-26] rec[-24] rec[-23]\n", + "DETECTOR(0, 5) rec[-26] rec[-25] rec[-24] rec[-22]\n", + "DETECTOR(0, 6) rec[-21] rec[-20] rec[-19] rec[-18]\n", + "DETECTOR(0, 7) rec[-20] rec[-19] rec[-17] rec[-16]\n", + "DETECTOR(0, 8) rec[-19] rec[-18] rec[-17] rec[-15]\n", + "DETECTOR(0, 9) rec[-14] rec[-13] rec[-12] rec[-11]\n", + "DETECTOR(0, 10) rec[-13] rec[-12] rec[-10] rec[-9]\n", + "DETECTOR(0, 11) rec[-12] rec[-11] rec[-10] rec[-8]\n", + "DETECTOR(0, 12) rec[-7] rec[-6] rec[-5] rec[-4]\n", + "DETECTOR(0, 13) rec[-6] rec[-5] rec[-3] rec[-2]\n", + "DETECTOR(0, 14) rec[-5] rec[-4] rec[-3] rec[-1]\n", + "OBSERVABLE_INCLUDE(0) rec[-35] rec[-34] rec[-30]\n", + "OBSERVABLE_INCLUDE(1) rec[-28] rec[-27] rec[-23]\n", + "OBSERVABLE_INCLUDE(2) rec[-21] rec[-20] rec[-16]\n", + "OBSERVABLE_INCLUDE(3) rec[-14] rec[-13] rec[-9]\n", + "OBSERVABLE_INCLUDE(4) rec[-7] rec[-6] rec[-2]\n", + "''')" + ] + }, + "execution_count": 28, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "distilled_tasks[\"Y\"].noiseless_tsim_circuit" + ] + }, + { + "cell_type": "code", + "execution_count": 29, + "id": "3a8cdd0d", + "metadata": {}, + "outputs": [], + "source": [ + "# import tsim" + ] + }, + { + "cell_type": "code", + "execution_count": 30, + "id": "718366d7", + "metadata": {}, + "outputs": [], + "source": [ + "# noiseless_circ_injnoise = tsim.Circuit(\"DEPOLARIZE1(0) 0 1 2 3 4 5 6\") + distilled_tasks[\"X\"].noiseless_tsim_circuit" + ] + }, + { + "cell_type": "code", + "execution_count": 31, + "id": "5011f1a0", + "metadata": {}, + "outputs": [], + "source": [ + "# noiseless_circ_injnoise.append_from_stim_program_text()" + ] + }, + { + "cell_type": "code", + "execution_count": 32, + "id": "24260fbc", + "metadata": {}, + "outputs": [], + "source": [ + "# # HACK: for now, to add noise gate at the beginning, for tsim bug temporary hack.\n", + "# distilled_tasks[\"X\"].__dict__[\"noiseless_tsim_circuit\"] = noiseless_circ_injnoise" + ] + }, + { + "cell_type": "code", + "execution_count": 33, + "id": "fff3594f", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "tsim.Circuit('''\n", + "DEPOLARIZE1(0) 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\n", + "U3(0.30408672, 0.25, 0.0) 6\n", + "SQRT_Y_DAG 0 1 2 3 4 5\n", + "CZ 1 2 3 4 5 6\n", + "SQRT_Y 6\n", + "CZ 0 3 2 5 4 6\n", + "SQRT_Y 2 3 4 5 6\n", + "CZ 0 1 2 3 4 5\n", + "SQRT_Y 1 2 4\n", + "X 3\n", + "Z 1 5\n", + "U3(0.30408672, 0.25, 0.0) 13\n", + "SQRT_Y_DAG 7 8 9 10 11 12\n", + "CZ 8 9 10 11 12 13\n", + "SQRT_Y 13\n", + "CZ 7 10 9 12 11 13\n", + "SQRT_Y 9 10 11 12 13\n", + "CZ 7 8 9 10 11 12\n", + "SQRT_Y 8 9 11\n", + "X 10\n", + "Z 8 12\n", + "U3(0.30408672, 0.25, 0.0) 20\n", + "SQRT_Y_DAG 14 15 16 17 18 19\n", + "CZ 15 16 17 18 19 20\n", + "SQRT_Y 20\n", + "CZ 14 17 16 19 18 20\n", + "SQRT_Y 16 17 18 19 20\n", + "CZ 14 15 16 17 18 19\n", + "SQRT_Y 15 16 18\n", + "X 17\n", + "Z 15 19\n", + "U3(0.30408672, 0.25, 0.0) 27\n", + "SQRT_Y_DAG 21 22 23 24 25 26\n", + "CZ 22 23 24 25 26 27\n", + "SQRT_Y 27\n", + "CZ 21 24 23 26 25 27\n", + "SQRT_Y 23 24 25 26 27\n", + "CZ 21 22 23 24 25 26\n", + "SQRT_Y 22 23 25\n", + "X 24\n", + "Z 22 26\n", + "U3(0.30408672, 0.25, 0.0) 34\n", + "SQRT_Y_DAG 28 29 30 31 32 33\n", + "CZ 29 30 31 32 33 34\n", + "SQRT_Y 34\n", + "CZ 28 31 30 33 32 34\n", + "SQRT_Y 30 31 32 33 34\n", + "CZ 28 29 30 31 32 33\n", + "SQRT_Y 29 30 32\n", + "X 31\n", + "Z 29 33\n", + "SQRT_X 0 1 2 3 4 5 6 7 8 9 10 11 12 13 28 29 30 31 32 33 34\n", + "CZ 0 7 1 8 2 9 3 10 4 11 5 12 6 13 14 21 15 22 16 23 17 24 18 25 19 26 20 27\n", + "SQRT_Y 0 1 2 3 4 5 6 21 22 23 24 25 26 27\n", + "CZ 0 14 1 15 2 16 3 17 4 18 5 19 6 20 21 28 22 29 23 30 24 31 25 32 26 33 27 34\n", + "SQRT_X_DAG 0 1 2 3 4 5 6\n", + "CZ 0 28 1 29 2 30 3 31 4 32 5 33 6 34 7 21 8 22 9 23 10 24 11 25 12 26 13 27\n", + "SQRT_X_DAG 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\n", + "S 0 1 2 3 4 5 6\n", + "SQRT_X 0 1 2 3 4 5 6\n", + "S 0 1 2 3 4 5 6\n", + "M 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\n", + "DETECTOR(0, 0) rec[-35] rec[-34] rec[-33] rec[-32]\n", + "DETECTOR(0, 1) rec[-34] rec[-33] rec[-31] rec[-30]\n", + "DETECTOR(0, 2) rec[-33] rec[-32] rec[-31] rec[-29]\n", + "DETECTOR(0, 3) rec[-28] rec[-27] rec[-26] rec[-25]\n", + "DETECTOR(0, 4) rec[-27] rec[-26] rec[-24] rec[-23]\n", + "DETECTOR(0, 5) rec[-26] rec[-25] rec[-24] rec[-22]\n", + "DETECTOR(0, 6) rec[-21] rec[-20] rec[-19] rec[-18]\n", + "DETECTOR(0, 7) rec[-20] rec[-19] rec[-17] rec[-16]\n", + "DETECTOR(0, 8) rec[-19] rec[-18] rec[-17] rec[-15]\n", + "DETECTOR(0, 9) rec[-14] rec[-13] rec[-12] rec[-11]\n", + "DETECTOR(0, 10) rec[-13] rec[-12] rec[-10] rec[-9]\n", + "DETECTOR(0, 11) rec[-12] rec[-11] rec[-10] rec[-8]\n", + "DETECTOR(0, 12) rec[-7] rec[-6] rec[-5] rec[-4]\n", + "DETECTOR(0, 13) rec[-6] rec[-5] rec[-3] rec[-2]\n", + "DETECTOR(0, 14) rec[-5] rec[-4] rec[-3] rec[-1]\n", + "OBSERVABLE_INCLUDE(0) rec[-35] rec[-34] rec[-30]\n", + "OBSERVABLE_INCLUDE(1) rec[-28] rec[-27] rec[-23]\n", + "OBSERVABLE_INCLUDE(2) rec[-21] rec[-20] rec[-16]\n", + "OBSERVABLE_INCLUDE(3) rec[-14] rec[-13] rec[-9]\n", + "OBSERVABLE_INCLUDE(4) rec[-7] rec[-6] rec[-2]\n", + "''')" + ] + }, + "execution_count": 33, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "distilled_tasks[\"X\"].noiseless_tsim_circuit" + ] + }, + { + "cell_type": "code", + "execution_count": 34, + "id": "c92dde31", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Noiseless , , = (0.18788, -0.1946, 0.19002)\n" + ] + } + ], + "source": [ + "from demo.msd_utils.core import logical_expectation, run_task\n", + "\n", + "shots = 100000\n", + "\n", + "x_data = run_task(distilled_tasks[\"X\"], shots, with_noise=False, chunk_size=10000)\n", + "y_data = run_task(distilled_tasks[\"Y\"], shots, with_noise=False, chunk_size=10000)\n", + "z_data = run_task(distilled_tasks[\"Z\"], shots, with_noise=False, chunk_size=10000)\n", + "\n", + "ex = logical_expectation(x_data.observables[:, 0])\n", + "ey = logical_expectation(y_data.observables[:, 0])\n", + "ez = logical_expectation(z_data.observables[:, 0])\n", + "\n", + "print(\"Noiseless , , =\", (ex, ey, ez))" + ] + }, + { + "cell_type": "code", + "execution_count": 35, + "id": "67a12b44", + "metadata": {}, + "outputs": [], + "source": [ + "FACTORY_TARGET = np.array([0, 0, 0, 0])" + ] + }, + { + "cell_type": "code", + "execution_count": 36, + "id": "e0c137b6", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Accepted noiseless , , = (0.5746047131519961, -0.5863309352517986, 0.5838289181233856)\n", + "Total postselection rates = (0.16507, 0.1668, 0.16647)\n", + "Perfect stabilizer rates = (1.0, 1.0, 1.0)\n", + "Syndrome rates given perfect stabilizers = (0.16507, 0.1668, 0.16647)\n" + ] + } + ], + "source": [ + "def accepted_output_bits(data, factory_target):\n", + " perfect_stabilizers = np.all(data.detectors == 0, axis=1)\n", + " correct_syndrome = np.all(data.observables[:, 1:] == factory_target, axis=1)\n", + " mask = perfect_stabilizers & correct_syndrome\n", + " return {\n", + " \"bits\": data.observables[mask, 0].astype(np.uint8),\n", + " \"rate_total\": float(mask.mean()),\n", + " \"rate_stabilizers\": float(perfect_stabilizers.mean()),\n", + " \"rate_syndrome_given_stabilizers\": (\n", + " float(mask.sum() / perfect_stabilizers.sum())\n", + " if perfect_stabilizers.sum() > 0\n", + " else float(\"nan\")\n", + " ),\n", + " }\n", + "\n", + "x = accepted_output_bits(x_data, FACTORY_TARGET)\n", + "y = accepted_output_bits(y_data, FACTORY_TARGET)\n", + "z = accepted_output_bits(z_data, FACTORY_TARGET)\n", + "\n", + "print(\n", + " \"Accepted noiseless , , =\",\n", + " (\n", + " logical_expectation(x[\"bits\"]),\n", + " logical_expectation(y[\"bits\"]),\n", + " logical_expectation(z[\"bits\"]),\n", + " ),\n", + ")\n", + "\n", + "print(\"Total postselection rates =\", (x[\"rate_total\"], y[\"rate_total\"], z[\"rate_total\"]))\n", + "print(\n", + " \"Perfect stabilizer rates =\",\n", + " (x[\"rate_stabilizers\"], y[\"rate_stabilizers\"], z[\"rate_stabilizers\"]),\n", + ")\n", + "print(\n", + " \"Syndrome rates given perfect stabilizers =\",\n", + " (\n", + " x[\"rate_syndrome_given_stabilizers\"],\n", + " y[\"rate_syndrome_given_stabilizers\"],\n", + " z[\"rate_syndrome_given_stabilizers\"],\n", + " ),\n", + ")" + ] + }, + { + "cell_type": "markdown", + "id": "fb313ab6", + "metadata": {}, + "source": [ + "### Noiseless Factory-Branch Debugging\n", + "\n", + "This section helps compare the **reported Steane ancilla observable bits** in this notebook against the bare logical MSD branch you may expect from the unencoded 5-qubit circuit. It prints the dominant noiseless ancilla branches for each tomography basis and gives a helper for checking candidate targets such as `1011` and `0000`.\n" + ] + }, + { + "cell_type": "code", + "execution_count": 37, + "id": "1bec13af", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "Top noiseless ancilla branches for X:\n", + " (0, 0, 0, 0): 0.16507\n", + " (1, 0, 0, 1): 0.05694\n", + " (0, 0, 1, 0): 0.05676\n", + " (0, 1, 1, 1): 0.05611\n", + " (1, 1, 0, 0): 0.05598\n", + " (0, 0, 0, 1): 0.05585\n", + " (0, 1, 1, 0): 0.05575\n", + " (0, 1, 0, 1): 0.05562\n", + "\n", + "Top noiseless ancilla branches for Y:\n", + " (0, 0, 0, 0): 0.16680\n", + " (1, 0, 0, 0): 0.05704\n", + " (0, 1, 1, 0): 0.05665\n", + " (0, 1, 1, 1): 0.05616\n", + " (0, 0, 1, 1): 0.05596\n", + " (1, 1, 0, 0): 0.05565\n", + " (0, 0, 0, 1): 0.05561\n", + " (0, 1, 0, 1): 0.05548\n", + "\n", + "Top noiseless ancilla branches for Z:\n", + " (0, 0, 0, 0): 0.16647\n", + " (0, 1, 1, 1): 0.05702\n", + " (0, 0, 1, 0): 0.05663\n", + " (1, 1, 0, 1): 0.05618\n", + " (1, 0, 1, 0): 0.05611\n", + " (0, 1, 0, 1): 0.05608\n", + " (1, 1, 1, 1): 0.05592\n", + " (1, 1, 1, 0): 0.05568\n", + "\n", + "Factory target (1, 0, 1, 1)\n", + " X: accepted_fraction=0.05498, raw_expectation=0.584576, shots=5498\n", + " Y: accepted_fraction=0.05536, raw_expectation=-0.560694, shots=5536\n", + " Z: accepted_fraction=0.05539, raw_expectation=0.567792, shots=5539\n", + "\n", + "Factory target (0, 0, 0, 0)\n", + " X: accepted_fraction=0.16507, raw_expectation=0.574605, shots=16507\n", + " Y: accepted_fraction=0.16680, raw_expectation=-0.586331, shots=16680\n", + " Z: accepted_fraction=0.16647, raw_expectation=0.583829, shots=16647\n" + ] + } + ], + "source": [ + "from collections import Counter\n", + "\n", + "\n", + "def branch_histogram(data):\n", + " counts = Counter(tuple(int(x) for x in row) for row in data.observables[:, 1:])\n", + " total = len(data.observables)\n", + " return [(pattern, count / total) for pattern, count in counts.most_common()]\n", + "\n", + "\n", + "def accepted_output_bits_and_fraction(data, factory_target):\n", + " target = np.asarray(factory_target, dtype=np.uint8)\n", + " mask = np.all(data.observables[:, 1:] == target, axis=1)\n", + " return data.observables[mask, 0].astype(np.uint8), float(mask.mean())\n", + "\n", + "\n", + "def summarize_factory_target(factory_target):\n", + " print(f\"\\nFactory target {tuple(int(x) for x in factory_target)}\")\n", + " for basis, data in [(\"X\", x_data), (\"Y\", y_data), (\"Z\", z_data)]:\n", + " bits, frac = accepted_output_bits_and_fraction(data, factory_target)\n", + " exp = logical_expectation(bits) if len(bits) else float(\"nan\")\n", + " print(f\" {basis}: accepted_fraction={frac:.5f}, raw_expectation={exp:.6f}, shots={len(bits)}\")\n", + "\n", + "\n", + "for basis, data in [(\"X\", x_data), (\"Y\", y_data), (\"Z\", z_data)]:\n", + " print(f\"\\nTop noiseless ancilla branches for {basis}:\")\n", + " for pattern, frac in branch_histogram(data)[:8]:\n", + " print(f\" {pattern}: {frac:.5f}\")\n", + "\n", + "for candidate in [\n", + " np.array([1, 0, 1, 1], dtype=np.uint8),\n", + " np.array([0, 0, 0, 0], dtype=np.uint8),\n", + "]:\n", + " summarize_factory_target(candidate)\n" + ] + }, + { + "cell_type": "code", + "execution_count": 38, + "id": "fd759715", + "metadata": {}, + "outputs": [ + { + "data": { + "image/svg+xml": [ + "\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " 2026-04-03T13:33:37.721491\n", + " image/svg+xml\n", + " \n", + " \n", + " Matplotlib v3.10.8, https://matplotlib.org/\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n" + ], + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Highlighted factory target: 0000\n" + ] + } + ], + "source": [ + "def all_syndrome_patterns(num_bits=4):\n", + " return [tuple((value >> shift) & 1 for shift in range(num_bits - 1, -1, -1)) for value in range(2**num_bits)]\n", + "\n", + "\n", + "def syndrome_fractions(data, patterns):\n", + " counts = Counter(tuple(int(x) for x in row) for row in np.asarray(data.observables[:, 1:], dtype=np.uint8))\n", + " total = len(data.observables)\n", + " return np.array([counts[pattern] / total for pattern in patterns], dtype=np.float64)\n", + "\n", + "\n", + "patterns = all_syndrome_patterns(4)\n", + "labels = [''.join(str(bit) for bit in pattern) for pattern in patterns]\n", + "target_label = ''.join(str(int(bit)) for bit in FACTORY_TARGET.tolist())\n", + "\n", + "fig, axes = plt.subplots(3, 1, figsize=(12, 8), sharex=True, constrained_layout=True)\n", + "\n", + "for ax, (basis, data) in zip(axes, [('X', x_data), ('Y', y_data), ('Z', z_data)]):\n", + " fractions = syndrome_fractions(data, patterns)\n", + " colors = ['#D55E00' if label == target_label else '#4C78A8' for label in labels]\n", + " ax.bar(labels, fractions, color=colors, alpha=0.9)\n", + " ax.set_ylabel('Shot fraction')\n", + " ax.set_title(f'Noiseless 4-bit distillation syndrome distribution ({basis} basis)')\n", + " ax.grid(True, axis='y', alpha=0.25)\n", + "\n", + "axes[-1].set_xlabel('Distillation syndrome')\n", + "fig.suptitle('Noiseless distillation syndrome histogram', fontsize=14)\n", + "plt.show()\n", + "\n", + "print('Highlighted factory target:', target_label)\n" + ] + }, + { + "cell_type": "code", + "execution_count": 39, + "id": "40a6e5a7", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "{'X': GeminiLogicalSimulatorTask(logical_squin_kernel=Method(\"injected_x\"), noise_model=SimpleNoiseModel(lane_noise=Method(\"lane_noise\"), idle_noise=Method(\"idle_noise\"), cz_unpaired_noise=Method(\"cz_unpaired_noise\"), cz_paired_noise=Method(\"cz_paired_noise\"), global_rz_noise=Method(\"global_rz_noise\"), local_rz_noise=Method(\"local_rz_noise\"), global_r_noise=Method(\"global_r_noise\"), local_r_noise=Method(\"local_r_noise\")), _thread_pool_executor=),\n", + " 'Y': GeminiLogicalSimulatorTask(logical_squin_kernel=Method(\"injected_y\"), noise_model=SimpleNoiseModel(lane_noise=Method(\"lane_noise\"), idle_noise=Method(\"idle_noise\"), cz_unpaired_noise=Method(\"cz_unpaired_noise\"), cz_paired_noise=Method(\"cz_paired_noise\"), global_rz_noise=Method(\"global_rz_noise\"), local_rz_noise=Method(\"local_rz_noise\"), global_r_noise=Method(\"global_r_noise\"), local_r_noise=Method(\"local_r_noise\")), _thread_pool_executor=),\n", + " 'Z': GeminiLogicalSimulatorTask(logical_squin_kernel=Method(\"injected_z\"), noise_model=SimpleNoiseModel(lane_noise=Method(\"lane_noise\"), idle_noise=Method(\"idle_noise\"), cz_unpaired_noise=Method(\"cz_unpaired_noise\"), cz_paired_noise=Method(\"cz_paired_noise\"), global_rz_noise=Method(\"global_rz_noise\"), local_rz_noise=Method(\"local_rz_noise\"), global_r_noise=Method(\"global_r_noise\"), local_r_noise=Method(\"local_r_noise\")), _thread_pool_executor=)}" + ] + }, + "execution_count": 39, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "injected_tasks" + ] + }, + { + "cell_type": "code", + "execution_count": 40, + "id": "4d511430", + "metadata": {}, + "outputs": [], + "source": [ + "# injected_tasks[\"X\"].physical_squin_kernel.print()" + ] + }, + { + "cell_type": "code", + "execution_count": 41, + "id": "0230d2e4", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "\n", + "
\n", + " \n", + "
\n", + "
\n", + " \n", + "\n", + "\n", + "q0\n", + "\n", + "q1\n", + "\n", + "q2\n", + "\n", + "q3\n", + "\n", + "q4\n", + "\n", + "q5\n", + "\n", + "q6\n", + "\n", + "q7\n", + "\n", + "q8\n", + "\n", + "q9\n", + "\n", + "q10\n", + "\n", + "q11\n", + "\n", + "q12\n", + "\n", + "q13\n", + "\n", + "q14\n", + "\n", + "q15\n", + "\n", + "q16\n", + "\n", + "q17\n", + "\n", + "q18\n", + "\n", + "q19\n", + "\n", + "q20\n", + "\n", + "q21\n", + "\n", + "q22\n", + "\n", + "q23\n", + "\n", + "q24\n", + "\n", + "q25\n", + "\n", + "q26\n", + "\n", + "q27\n", + "\n", + "q28\n", + "\n", + "q29\n", + "\n", + "q30\n", + "\n", + "q31\n", + "\n", + "q32\n", + "\n", + "q33\n", + "\n", + "q34\n", + "\n", + "\n", + "U3\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "√Y\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "X\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "Z\n", + "\n", + "Z\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "U3\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "√Y\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "X\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "Z\n", + "\n", + "Z\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "U3\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "√Y\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "X\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "Z\n", + "\n", + "Z\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "U3\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "√Y\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "X\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "Z\n", + "\n", + "Z\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "U3\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "√Y\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "X\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "Z\n", + "\n", + "Z\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "S\n", + "\n", + "S\n", + "\n", + "S\n", + "\n", + "S\n", + "\n", + "S\n", + "\n", + "S\n", + "\n", + "S\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "S\n", + "\n", + "S\n", + "\n", + "S\n", + "\n", + "S\n", + "\n", + "S\n", + "\n", + "S\n", + "\n", + "S\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "M\n", + "0\n", + "rec[0]\n", + "\n", + "M\n", + "0\n", + "rec[1]\n", + "\n", + "M\n", + "0\n", + "rec[2]\n", + "\n", + "M\n", + "0\n", + "rec[3]\n", + "\n", + "M\n", + "0\n", + "rec[4]\n", + "\n", + "M\n", + "0\n", + "rec[5]\n", + "\n", + "M\n", + "0\n", + "rec[6]\n", + "\n", + "M\n", + "0\n", + "rec[7]\n", + "\n", + "M\n", + "0\n", + "rec[8]\n", + "\n", + "M\n", + "0\n", + "rec[9]\n", + "\n", + "M\n", + "0\n", + "rec[10]\n", + "\n", + "M\n", + "0\n", + "rec[11]\n", + "\n", + "M\n", + "0\n", + "rec[12]\n", + "\n", + "M\n", + "0\n", + "rec[13]\n", + "\n", + "M\n", + "0\n", + "rec[14]\n", + "\n", + "M\n", + "0\n", + "rec[15]\n", + "\n", + "M\n", + "0\n", + "rec[16]\n", + "\n", + "M\n", + "0\n", + "rec[17]\n", + "\n", + "M\n", + "0\n", + "rec[18]\n", + "\n", + "M\n", + "0\n", + "rec[19]\n", + "\n", + "M\n", + "0\n", + "rec[20]\n", + "\n", + "M\n", + "0\n", + "rec[21]\n", + "\n", + "M\n", + "0\n", + "rec[22]\n", + "\n", + "M\n", + "0\n", + "rec[23]\n", + "\n", + "M\n", + "0\n", + "rec[24]\n", + "\n", + "M\n", + "0\n", + "rec[25]\n", + "\n", + "M\n", + "0\n", + "rec[26]\n", + "\n", + "M\n", + "0\n", + "rec[27]\n", + "\n", + "M\n", + "0\n", + "rec[28]\n", + "\n", + "M\n", + "0\n", + "rec[29]\n", + "\n", + "M\n", + "0\n", + "rec[30]\n", + "\n", + "M\n", + "0\n", + "rec[31]\n", + "\n", + "M\n", + "0\n", + "rec[32]\n", + "\n", + "M\n", + "0\n", + "rec[33]\n", + "\n", + "M\n", + "0\n", + "rec[34]\n", + "\n", + "DETECTOR\n", + "coords=(0,0)\n", + "D0 = rec[0]*rec[1]*rec[2]*rec[3]\n", + "\n", + "DETECTOR\n", + "coords=(0,1)\n", + "D1 = rec[1]*rec[2]*rec[4]*rec[5]\n", + "\n", + "DETECTOR\n", + "coords=(0,2)\n", + "D2 = rec[2]*rec[3]*rec[4]*rec[6]\n", + "\n", + "DETECTOR\n", + "coords=(0,3)\n", + "D3 = rec[7]*rec[8]*rec[9]*rec[10]\n", + "\n", + "DETECTOR\n", + "coords=(0,4)\n", + "D4 = rec[8]*rec[9]*rec[11]*rec[12]\n", + "\n", + "DETECTOR\n", + "coords=(0,5)\n", + "D5 = rec[9]*rec[10]*rec[11]*rec[13]\n", + "\n", + "DETECTOR\n", + "coords=(0,6)\n", + "D6 = rec[14]*rec[15]*rec[16]*rec[17]\n", + "\n", + "DETECTOR\n", + "coords=(0,7)\n", + "D7 = rec[15]*rec[16]*rec[18]*rec[19]\n", + "\n", + "DETECTOR\n", + "coords=(0,8)\n", + "D8 = rec[16]*rec[17]*rec[18]*rec[20]\n", + "\n", + "DETECTOR\n", + "coords=(0,9)\n", + "D9 = rec[21]*rec[22]*rec[23]*rec[24]\n", + "\n", + "DETECTOR\n", + "coords=(0,10)\n", + "D10 = rec[22]*rec[23]*rec[25]*rec[26]\n", + "\n", + "DETECTOR\n", + "coords=(0,11)\n", + "D11 = rec[23]*rec[24]*rec[25]*rec[27]\n", + "\n", + "DETECTOR\n", + "coords=(0,12)\n", + "D12 = rec[28]*rec[29]*rec[30]*rec[31]\n", + "\n", + "DETECTOR\n", + "coords=(0,13)\n", + "D13 = rec[29]*rec[30]*rec[32]*rec[33]\n", + "\n", + "DETECTOR\n", + "coords=(0,14)\n", + "D14 = rec[30]*rec[31]*rec[32]*rec[34]\n", + "\n", + "OBS_INCLUDE(0)\n", + "L0 *= rec[0]*rec[1]*rec[5]\n", + "\n", + "OBS_INCLUDE(1)\n", + "L1 *= rec[7]*rec[8]*rec[12]\n", + "\n", + "OBS_INCLUDE(2)\n", + "L2 *= rec[14]*rec[15]*rec[19]\n", + "\n", + "OBS_INCLUDE(3)\n", + "L3 *= rec[21]*rec[22]*rec[26]\n", + "\n", + "OBS_INCLUDE(4)\n", + "L4 *= rec[28]*rec[29]*rec[33]\n", + "\n", + "
\n", + "
\n", + " \n", + "
\n" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "from IPython.display import HTML, display\n", + "\n", + "diagram = distilled_tasks[\"X\"].tsim_circuit.diagram(height=500)\n", + "display(HTML(f\"\"\"\n", + "
\n", + " {diagram}\n", + "
\n", + "\"\"\"))" + ] + }, + { + "cell_type": "code", + "execution_count": 42, + "id": "1df45970", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Top noiseless ancilla branches:\n", + "(0, 0, 0, 0) 0.1629722222222222\n", + "(1, 1, 1, 1) 0.057666666666666665\n", + "(0, 1, 0, 1) 0.057\n", + "(0, 1, 1, 1) 0.05688888888888889\n", + "(1, 1, 0, 1) 0.05686111111111111\n", + "(0, 0, 0, 1) 0.05619444444444444\n", + "(1, 0, 0, 1) 0.05588888888888889\n", + "(0, 0, 1, 0) 0.05575\n", + "Noiseless accepted-branch Bloch: [ 0.59736308 -0.55432036 0.57230143]\n", + "Chosen distilled sign vector: [ 1. -1. 1.] score: 0.995343130301199\n", + "Using factory target: (0, 0, 0, 0)\n" + ] + } + ], + "source": [ + "# NOTE: infer.. is also kind of a hack.. you can also presupply the target of the distillation factory; this \"brute-forces search\" it over all possible distillation syndromes\n", + "# and tries to find the syndrome that appears \"close\" to the ideal factory acceptance. Could be useful, but is not tractable for larger distillation circuits\n", + "# (should be OK for up to 10 logical qubit circuits, like on Gemini Logical)\n", + "FACTORY_TARGET = infer_factory_target(\n", + " distilled_tasks,\n", + " shots=12_000,\n", + " basis_labels=BASIS_LABELS,\n", + " ideal_factory_acceptance=IDEAL_FACTORY_ACCEPTANCE,\n", + ")\n", + "DISTILLED_SIGN_VECTOR = infer_distilled_sign_vector(\n", + " distilled_tasks,\n", + " FACTORY_TARGET,\n", + " shots=12_000,\n", + " basis_labels=BASIS_LABELS,\n", + " target_bloch=TARGET_BLOCH,\n", + ")\n", + "INJECTED_SIGN_VECTOR = np.array([1.0, -1.0, 1.0], dtype=np.float64)\n", + "\n", + "print(\"Using factory target:\", tuple(int(x) for x in FACTORY_TARGET.tolist()))\n" + ] + }, + { + "cell_type": "code", + "execution_count": 43, + "id": "974f11f9", + "metadata": {}, + "outputs": [], + "source": [ + "# FACTORY_TARGET" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "68c69eea", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": 44, + "id": "a2dfeafe", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Injected raw\n", + "{'point': 0.9650643020862815, 'median': 0.95, 'low': 0.9432, 'high': 0.9568, 'bloch': (0.53735, 0.52293, 0.55075), 'accepted_fraction': 1.0, 'accepted_fraction_by_basis': {'X': 1.0, 'Y': 1.0, 'Z': 1.0}}\n", + "\n", + "Injected perfect-stabilizer\n", + "{'point': 0.9950516628053923, 'median': 0.99, 'low': 0.9832, 'high': 0.9968, 'bloch': (0.5697358742187624, 0.5695664925105635, 0.5756068979714644), 'accepted_fraction': 0.93756, 'accepted_fraction_by_basis': {'X': 0.944815, 'Y': 0.92063, 'Z': 0.947235}}\n", + "\n", + "Distilled raw branch\n", + "{'point': 0.9110320739977837, 'median': 0.9099998690244094, 'low': 0.9031997793396543, 'high': 0.9167999587091645, 'bloch': (0.4624078195226251, 0.48717039663195216, 0.4742786552545663), 'accepted_fraction': 0.11358, 'accepted_fraction_by_basis': {'X': 0.114585, 'Y': 0.112825, 'Z': 0.11333}, 'factory_target': (0, 0, 0, 0)}\n", + "\n", + "Distilled + zero ancilla detectors\n", + "{'point': 0.9681554860634951, 'median': 0.9500002885234698, 'low': 0.9432000923275105, 'high': 0.9568004847194294, 'bloch': (0.5378111789572569, 0.5442520442520442, 0.5396749521988528), 'accepted_fraction': 0.042, 'accepted_fraction_by_basis': {'X': 0.04258, 'Y': 0.04158, 'Z': 0.04184}, 'factory_target': (0, 0, 0, 0)}\n", + "\n" + ] + } + ], + "source": [ + "# QUESTION: why is injected perfect stabilizer fid so high?\n", + "inj_raw = naive_injected_summary(\n", + " injected_tasks,\n", + " sign_vector=INJECTED_SIGN_VECTOR,\n", + " posterior_samples=POSTERIOR_SAMPLES,\n", + " shots=FAST_SHOTS,\n", + " require_zero_detectors=False,\n", + " basis_labels=BASIS_LABELS,\n", + " target_bloch=TARGET_BLOCH,\n", + ")\n", + "inj_ps = naive_injected_summary(\n", + " injected_tasks,\n", + " sign_vector=INJECTED_SIGN_VECTOR,\n", + " posterior_samples=POSTERIOR_SAMPLES,\n", + " shots=FAST_SHOTS,\n", + " require_zero_detectors=True,\n", + " basis_labels=BASIS_LABELS,\n", + " target_bloch=TARGET_BLOCH,\n", + ")\n", + "dist_raw = naive_distilled_summary(\n", + " distilled_tasks,\n", + " FACTORY_TARGET,\n", + " sign_vector=DISTILLED_SIGN_VECTOR,\n", + " posterior_samples=POSTERIOR_SAMPLES,\n", + " shots=FAST_SHOTS,\n", + " require_zero_ancilla_detectors=False,\n", + " basis_labels=BASIS_LABELS,\n", + " target_bloch=TARGET_BLOCH,\n", + ")\n", + "dist_flagged = naive_distilled_summary(\n", + " distilled_tasks,\n", + " FACTORY_TARGET,\n", + " sign_vector=DISTILLED_SIGN_VECTOR,\n", + " posterior_samples=POSTERIOR_SAMPLES,\n", + " shots=FAST_SHOTS,\n", + " require_zero_ancilla_detectors=True,\n", + " basis_labels=BASIS_LABELS,\n", + " target_bloch=TARGET_BLOCH,\n", + ")\n", + "\n", + "for name, summary in [\n", + " (\"Injected raw\", inj_raw),\n", + " (\"Injected perfect-stabilizer\", inj_ps),\n", + " (\"Distilled raw branch\", dist_raw),\n", + " (\"Distilled + zero ancilla detectors\", dist_flagged),\n", + "]:\n", + " print(name)\n", + " print(summary)\n", + " print()\n" + ] + }, + { + "cell_type": "code", + "execution_count": 45, + "id": "d0826686", + "metadata": {}, + "outputs": [ + { + "data": { + "image/svg+xml": [ + "\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " 2026-04-03T13:34:15.011353\n", + " image/svg+xml\n", + " \n", + " \n", + " Matplotlib v3.10.8, https://matplotlib.org/\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n" + ], + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "labels = [\n", + " \"Injected\",\n", + " \"Injected + zero dets\",\n", + " \"Distilled\",\n", + " \"Distilled + zero ancilla dets\",\n", + "]\n", + "summaries = [inj_raw, inj_ps, dist_raw, dist_flagged]\n", + "medians = [summary[\"median\"] for summary in summaries]\n", + "lows = [summary[\"median\"] - summary[\"low\"] for summary in summaries]\n", + "highs = [summary[\"high\"] - summary[\"median\"] for summary in summaries]\n", + "accepted = [summary[\"accepted_fraction\"] for summary in summaries]\n", + "\n", + "fig, ax = plt.subplots(figsize=(8, 4.5))\n", + "x = np.arange(len(labels))\n", + "ax.bar(x, medians, color=[\"#2A9D8F\", \"#52B788\", \"#457B9D\", \"#1D3557\"], alpha=0.8)\n", + "ax.errorbar(x, medians, yerr=[lows, highs], fmt=\"none\", ecolor=\"black\", capsize=4, linewidth=1.2)\n", + "ax.set_xticks(x)\n", + "ax.set_xticklabels(labels, rotation=15, ha=\"right\")\n", + "ax.set_ylabel(\"Magic-state fidelity\")\n", + "ax.set_title(\"Naive postselection on Gemini logical Steane blocks\")\n", + "ax.set_ylim(0.5, 1.01)\n", + "ax.grid(True, axis=\"y\", alpha=0.25)\n", + "\n", + "for xi, fidelity, frac in zip(x, medians, accepted):\n", + " ax.text(xi, fidelity + 0.004, f\"acc={frac:.3f}\", ha=\"center\", va=\"bottom\", fontsize=9)\n", + "\n", + "plt.tight_layout()\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "c6bf401a", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "kirin-workspace (3.12.13)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.12.13" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/demo/magic_state_distillation_reprod_coherr.ipynb b/demo/magic_state_distillation_reprod_coherr.ipynb new file mode 100644 index 00000000..af3d10c7 --- /dev/null +++ b/demo/magic_state_distillation_reprod_coherr.ipynb @@ -0,0 +1,813 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Gemini-Logical MSD Reproduction with Overrotated Input Preparation\n", + "\n", + "This notebook reproduces the logical MSD demo using the Gemini logical simulator, but models input-state infidelity by **overrotating the logical `u3` preparation** instead of injecting explicit noise instructions into a custom logical initializer.\n", + "\n", + "Key differences from [`/Users/jasonhan/Desktop/qmain/kirin-workspace/bloqade-lanes/demo/magic_state_distillation_reprod.ipynb`](/Users/jasonhan/Desktop/qmain/kirin-workspace/bloqade-lanes/demo/magic_state_distillation_reprod.ipynb):\n", + "- no custom `build_task(...)` wrapper\n", + "- tasks are created directly with `GeminiLogicalSimulator.task(...)`\n", + "- no manual noise instructions in the MSD input-prep kernel\n", + "- all analysis below uses the **full logical post-processing** path (`run_detectors=False`)\n" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "id": "69852a2d", + "metadata": {}, + "outputs": [], + "source": [ + "import math\n", + "import sys\n", + "from pathlib import Path\n", + "\n", + "import numpy as np\n", + "\n", + "PROJECT_ROOT_CANDIDATES = [Path.cwd(), Path.cwd().parent]\n", + "for candidate in PROJECT_ROOT_CANDIDATES:\n", + " candidate = candidate.resolve()\n", + " if (candidate / 'demo' / 'msd_utils').exists():\n", + " sys.path.insert(0, str(candidate))\n", + " break\n", + "else:\n", + " raise FileNotFoundError('Could not locate repo root containing demo/msd_utils.')\n", + "\n", + "from bloqade.lanes import GeminiLogicalSimulator\n", + "from bloqade.lanes.steane_defaults import steane7_m2dets, steane7_m2obs\n", + "\n", + "from demo.msd_utils.core import (\n", + " BasisDataset,\n", + " DEFAULT_BASIS_LABELS,\n", + " DEFAULT_IDEAL_FACTORY_ACCEPTANCE,\n", + " DEFAULT_TARGET_BLOCH,\n", + " fidelity_from_counts,\n", + " logical_expectation,\n", + ")\n", + "from demo.msd_utils.circuits import build_naive_kernel_bundle\n" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "32bad41c", + "metadata": {}, + "outputs": [], + "source": [ + "IDEAL_THETA = 0.3041 * math.pi\n", + "PHI = 0.25 * math.pi\n", + "LAM = 0.0\n", + "\n", + "TARGET_INPUT_FIDELITY = 0.97\n", + "POSTERIOR_SAMPLES = 20_000\n", + "CALIBRATION_SHOTS = 20_000\n", + "SUMMARY_SHOTS = 200_000\n", + "CHUNK_SIZE = 10_000\n", + "\n", + "BASIS_LABELS = DEFAULT_BASIS_LABELS\n", + "IDEAL_FACTORY_ACCEPTANCE = DEFAULT_IDEAL_FACTORY_ACCEPTANCE\n", + "TARGET_BLOCH = DEFAULT_TARGET_BLOCH\n", + "\n", + "M2DETS_5 = steane7_m2dets(5)\n", + "M2OBS_5 = steane7_m2obs(5)\n", + "M2DETS_1 = steane7_m2dets(1)\n", + "M2OBS_1 = steane7_m2obs(1)\n" + ] + }, + { + "cell_type": "markdown", + "id": "c410f910", + "metadata": {}, + "source": [ + "For a pure-state overrotation proxy with fixed `phi`, the fidelity to the ideal target changes as\n", + "\n", + "\\[\n", + "F = \\cos^2(\\delta\theta/2).\n", + "\\]\n", + "\n", + "So for a desired input fidelity `F`, we can choose\n", + "\n", + "\\[\n", + "\\delta\theta = 2\u0007rccos(\\sqrt{F}).\n", + "\\]\n" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "8297a9c5", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "ideal theta / pi = 0.3041\n", + "prep theta / pi = 0.41492468660445936\n", + "delta theta / pi = 0.11082468660445939\n", + "analytic prep bloch = (0.6820009252488507, 0.6820009252488506, 0.2641012607304692)\n", + "analytic prep fidelity = 0.9699928847680258\n" + ] + } + ], + "source": [ + "def theta_offset_for_fidelity(target_fidelity: float) -> float:\n", + " target_fidelity = float(np.clip(target_fidelity, 0.0, 1.0))\n", + " return 2.0 * math.acos(math.sqrt(target_fidelity))\n", + "\n", + "\n", + "def bloch_from_u3(theta: float, phi: float) -> np.ndarray:\n", + " return np.array(\n", + " [\n", + " math.sin(theta) * math.cos(phi),\n", + " math.sin(theta) * math.sin(phi),\n", + " math.cos(theta),\n", + " ],\n", + " dtype=np.float64,\n", + " )\n", + "\n", + "\n", + "PREP_DELTA_THETA = theta_offset_for_fidelity(TARGET_INPUT_FIDELITY)\n", + "PREP_THETA = IDEAL_THETA + PREP_DELTA_THETA\n", + "PREP_BLOCH = bloch_from_u3(PREP_THETA, PHI)\n", + "PREP_FIDELITY = 0.5 + float(np.dot(PREP_BLOCH, TARGET_BLOCH)) / 2.0\n", + "\n", + "print('ideal theta / pi =', IDEAL_THETA / math.pi)\n", + "print('prep theta / pi =', PREP_THETA / math.pi)\n", + "print('delta theta / pi =', PREP_DELTA_THETA / math.pi)\n", + "print('analytic prep bloch =', tuple(float(x) for x in PREP_BLOCH))\n", + "print('analytic prep fidelity =', PREP_FIDELITY)\n" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "514e8927", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "NaiveKernelBundle(distilled={'X': Method(\"distilled_x\"), 'Y': Method(\"distilled_y\"), 'Z': Method(\"distilled_z\")}, injected={'X': Method(\"injected_x\"), 'Y': Method(\"injected_y\"), 'Z': Method(\"injected_z\")})" + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "kernel_bundle = build_naive_kernel_bundle(PREP_THETA, PHI, LAM, output_qubit=0)\n", + "DISTILLED_KERNELS = kernel_bundle.distilled\n", + "INJECTED_KERNELS = kernel_bundle.injected\n", + "\n", + "kernel_bundle\n" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "04373760", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "{'X': GeminiLogicalSimulatorTask(logical_squin_kernel=Method(\"distilled_x\"), noise_model=SimpleNoiseModel(lane_noise=Method(\"lane_noise\"), idle_noise=Method(\"idle_noise\"), cz_unpaired_noise=Method(\"cz_unpaired_noise\"), cz_paired_noise=Method(\"cz_paired_noise\"), global_rz_noise=Method(\"global_rz_noise\"), local_rz_noise=Method(\"local_rz_noise\"), global_r_noise=Method(\"global_r_noise\"), local_r_noise=Method(\"local_r_noise\")), _thread_pool_executor=),\n", + " 'Y': GeminiLogicalSimulatorTask(logical_squin_kernel=Method(\"distilled_y\"), noise_model=SimpleNoiseModel(lane_noise=Method(\"lane_noise\"), idle_noise=Method(\"idle_noise\"), cz_unpaired_noise=Method(\"cz_unpaired_noise\"), cz_paired_noise=Method(\"cz_paired_noise\"), global_rz_noise=Method(\"global_rz_noise\"), local_rz_noise=Method(\"local_rz_noise\"), global_r_noise=Method(\"global_r_noise\"), local_r_noise=Method(\"local_r_noise\")), _thread_pool_executor=),\n", + " 'Z': GeminiLogicalSimulatorTask(logical_squin_kernel=Method(\"distilled_z\"), noise_model=SimpleNoiseModel(lane_noise=Method(\"lane_noise\"), idle_noise=Method(\"idle_noise\"), cz_unpaired_noise=Method(\"cz_unpaired_noise\"), cz_paired_noise=Method(\"cz_paired_noise\"), global_rz_noise=Method(\"global_rz_noise\"), local_rz_noise=Method(\"local_rz_noise\"), global_r_noise=Method(\"global_r_noise\"), local_r_noise=Method(\"local_r_noise\")), _thread_pool_executor=)}" + ] + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "sim = GeminiLogicalSimulator()\n", + "\n", + "distilled_tasks = {\n", + " basis: sim.task(DISTILLED_KERNELS[basis], m2dets=M2DETS_5, m2obs=M2OBS_5)\n", + " for basis in BASIS_LABELS\n", + "}\n", + "injected_tasks = {\n", + " basis: sim.task(INJECTED_KERNELS[basis], m2dets=M2DETS_1, m2obs=M2OBS_1)\n", + " for basis in BASIS_LABELS\n", + "}\n", + "\n", + "distilled_tasks\n" + ] + }, + { + "cell_type": "markdown", + "id": "e90e8946", + "metadata": {}, + "source": [ + "The helper below intentionally uses `run_detectors=False`, so it samples raw measurements and then applies the task's full logical post-processing. That avoids the detector-sampler mismatch we saw in the other notebook while debugging noiseless logical observables.\n" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "931d1b56", + "metadata": {}, + "outputs": [], + "source": [ + "def run_task_full(\n", + " task,\n", + " shots: int,\n", + " *,\n", + " with_noise: bool = True,\n", + " chunk_size: int | None = None,\n", + ") -> BasisDataset:\n", + " if chunk_size is None or shots <= chunk_size:\n", + " result = task.run(shots, with_noise=with_noise, run_detectors=False)\n", + " return BasisDataset(\n", + " detectors=np.asarray(result.detectors, dtype=np.uint8),\n", + " observables=np.asarray(result.observables, dtype=np.uint8),\n", + " )\n", + "\n", + " det_chunks = []\n", + " obs_chunks = []\n", + " remaining = shots\n", + " while remaining > 0:\n", + " batch = min(chunk_size, remaining)\n", + " result = task.run(batch, with_noise=with_noise, run_detectors=False)\n", + " det_chunks.append(np.asarray(result.detectors, dtype=np.uint8))\n", + " obs_chunks.append(np.asarray(result.observables, dtype=np.uint8))\n", + " remaining -= batch\n", + "\n", + " return BasisDataset(\n", + " detectors=np.concatenate(det_chunks, axis=0),\n", + " observables=np.concatenate(obs_chunks, axis=0),\n", + " )\n", + "\n", + "\n", + "def best_sign_vector(raw_bloch: np.ndarray, target_bloch: np.ndarray = TARGET_BLOCH) -> np.ndarray:\n", + " sign_candidates = [\n", + " np.array([sx, sy, sz], dtype=np.float64)\n", + " for sx in (-1.0, 1.0)\n", + " for sy in (-1.0, 1.0)\n", + " for sz in (-1.0, 1.0)\n", + " ]\n", + " return max(sign_candidates, key=lambda sign: float(np.dot(raw_bloch * sign, target_bloch)))\n", + "\n", + "\n", + "def infer_factory_target_full(\n", + " task_map,\n", + " *,\n", + " shots: int = CALIBRATION_SHOTS,\n", + " basis_labels=BASIS_LABELS,\n", + " ideal_factory_acceptance: float = IDEAL_FACTORY_ACCEPTANCE,\n", + ") -> np.ndarray:\n", + " counts = {}\n", + " total = 0\n", + " for basis in basis_labels:\n", + " data = run_task_full(task_map[basis], shots, with_noise=False, chunk_size=CHUNK_SIZE)\n", + " for row in data.observables[:, 1:]:\n", + " key = tuple(int(x) for x in row)\n", + " counts[key] = counts.get(key, 0) + 1\n", + " total += 1\n", + "\n", + " ranked = sorted(\n", + " counts.items(),\n", + " key=lambda item: (abs(item[1] / total - ideal_factory_acceptance), -item[1]),\n", + " )\n", + " print('Top noiseless ancilla branches:')\n", + " for pattern, count in ranked[:8]:\n", + " print(pattern, count / total)\n", + " return np.asarray(ranked[0][0], dtype=np.uint8)\n", + "\n", + "\n", + "def infer_injected_sign_vector_full(task_map, *, shots: int = CALIBRATION_SHOTS) -> np.ndarray:\n", + " raw_bloch = []\n", + " for basis in BASIS_LABELS:\n", + " data = run_task_full(task_map[basis], shots, with_noise=False, chunk_size=CHUNK_SIZE)\n", + " raw_bloch.append(logical_expectation(data.observables[:, 0]))\n", + " raw_bloch = np.asarray(raw_bloch, dtype=np.float64)\n", + " sign = best_sign_vector(raw_bloch, TARGET_BLOCH)\n", + " print('Noiseless injected Bloch:', raw_bloch)\n", + " print('Chosen injected sign vector:', sign)\n", + " return sign\n", + "\n", + "\n", + "def infer_distilled_sign_vector_full(\n", + " task_map,\n", + " factory_target: np.ndarray,\n", + " *,\n", + " shots: int = CALIBRATION_SHOTS,\n", + ") -> np.ndarray:\n", + " raw_bloch = []\n", + " for basis in BASIS_LABELS:\n", + " data = run_task_full(task_map[basis], shots, with_noise=False, chunk_size=CHUNK_SIZE)\n", + " mask = np.all(data.observables[:, 1:] == factory_target, axis=1)\n", + " raw_bloch.append(logical_expectation(data.observables[mask, 0]))\n", + " raw_bloch = np.asarray(raw_bloch, dtype=np.float64)\n", + " sign = best_sign_vector(raw_bloch, TARGET_BLOCH)\n", + " print('Noiseless distilled accepted-branch Bloch:', raw_bloch)\n", + " print('Chosen distilled sign vector:', sign)\n", + " return sign\n", + "\n", + "\n", + "def summarize_injected(\n", + " task_map,\n", + " *,\n", + " shots: int,\n", + " with_noise: bool,\n", + " posterior_samples: int,\n", + " sign_vector,\n", + " require_zero_detectors: bool = False,\n", + "):\n", + " corrected = {}\n", + " accepted_fraction_by_basis = {}\n", + " for basis in BASIS_LABELS:\n", + " data = run_task_full(task_map[basis], shots, with_noise=with_noise, chunk_size=CHUNK_SIZE)\n", + " mask = np.ones(len(data.observables), dtype=bool)\n", + " if require_zero_detectors:\n", + " mask &= np.all(data.detectors == 0, axis=1)\n", + " corrected[basis] = data.observables[mask, 0].astype(np.uint8)\n", + " accepted_fraction_by_basis[basis] = float(np.mean(mask))\n", + "\n", + " summary = fidelity_from_counts(\n", + " corrected['X'],\n", + " corrected['Y'],\n", + " corrected['Z'],\n", + " posterior_samples,\n", + " sign_vector=sign_vector,\n", + " target_bloch=TARGET_BLOCH,\n", + " )\n", + " summary['accepted_fraction'] = float(np.mean(list(accepted_fraction_by_basis.values())))\n", + " summary['accepted_fraction_by_basis'] = accepted_fraction_by_basis\n", + " return summary\n", + "\n", + "\n", + "def summarize_distilled(\n", + " task_map,\n", + " factory_target: np.ndarray,\n", + " *,\n", + " shots: int,\n", + " with_noise: bool,\n", + " posterior_samples: int,\n", + " sign_vector,\n", + " require_zero_detectors: bool = True,\n", + "):\n", + " corrected = {}\n", + " accepted_fraction_by_basis = {}\n", + " total_kept = 0\n", + " total_shots = 0\n", + "\n", + " for basis in BASIS_LABELS:\n", + " data = run_task_full(task_map[basis], shots, with_noise=with_noise, chunk_size=CHUNK_SIZE)\n", + " mask = np.all(data.observables[:, 1:] == factory_target, axis=1)\n", + " if require_zero_detectors:\n", + " mask &= np.all(data.detectors == 0, axis=1)\n", + " corrected[basis] = data.observables[mask, 0].astype(np.uint8)\n", + " accepted_fraction_by_basis[basis] = float(np.mean(mask))\n", + " total_kept += int(mask.sum())\n", + " total_shots += len(mask)\n", + "\n", + " summary = fidelity_from_counts(\n", + " corrected['X'],\n", + " corrected['Y'],\n", + " corrected['Z'],\n", + " posterior_samples,\n", + " sign_vector=sign_vector,\n", + " target_bloch=TARGET_BLOCH,\n", + " )\n", + " summary['accepted_fraction'] = total_kept / total_shots\n", + " summary['accepted_fraction_by_basis'] = accepted_fraction_by_basis\n", + " summary['factory_target'] = tuple(int(x) for x in factory_target.tolist())\n", + " return summary\n" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "e5287c3a", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Top noiseless ancilla branches:\n", + "(0, 0, 0, 0) 0.14263333333333333\n", + "(0, 1, 1, 0) 0.0781\n", + "(1, 1, 1, 0) 0.07331666666666667\n", + "(1, 0, 0, 1) 0.07306666666666667\n", + "(0, 1, 0, 1) 0.07238333333333333\n", + "(0, 0, 1, 1) 0.07228333333333334\n", + "(1, 1, 1, 1) 0.0718\n", + "(1, 0, 0, 0) 0.07081666666666667\n", + "Noiseless injected Bloch: [ 0.6823 -0.679 0.2654]\n", + "Chosen injected sign vector: [ 1. -1. 1.]\n", + "Noiseless distilled accepted-branch Bloch: [ 0.51036455 -0.57354461 0.6587517 ]\n", + "Chosen distilled sign vector: [ 1. -1. 1.]\n", + "FACTORY_TARGET = [0 0 0 0]\n" + ] + } + ], + "source": [ + "FACTORY_TARGET = infer_factory_target_full(distilled_tasks)\n", + "INJECTED_SIGN_VECTOR = infer_injected_sign_vector_full(injected_tasks)\n", + "DISTILLED_SIGN_VECTOR = infer_distilled_sign_vector_full(distilled_tasks, FACTORY_TARGET)\n", + "\n", + "print('FACTORY_TARGET =', FACTORY_TARGET)\n" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "78548e6b", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Injected noiseless summary:\n" + ] + }, + { + "data": { + "text/plain": [ + "{'point': 0.971262157226032,\n", + " 'median': 0.97,\n", + " 'low': 0.9632,\n", + " 'high': 0.9768,\n", + " 'bloch': (0.68045, 0.68568, 0.26637),\n", + " 'accepted_fraction': 1.0,\n", + " 'accepted_fraction_by_basis': {'X': 1.0, 'Y': 1.0, 'Z': 1.0}}" + ] + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "injected_noiseless = summarize_injected(\n", + " injected_tasks,\n", + " shots=SUMMARY_SHOTS,\n", + " with_noise=False,\n", + " posterior_samples=POSTERIOR_SAMPLES,\n", + " sign_vector=INJECTED_SIGN_VECTOR,\n", + ")\n", + "distilled_noiseless = summarize_distilled(\n", + " distilled_tasks,\n", + " FACTORY_TARGET,\n", + " shots=SUMMARY_SHOTS,\n", + " with_noise=False,\n", + " posterior_samples=POSTERIOR_SAMPLES,\n", + " sign_vector=DISTILLED_SIGN_VECTOR,\n", + " require_zero_detectors=True,\n", + ")\n", + "\n", + "print('Injected noiseless summary:')\n", + "injected_noiseless\n" + ] + }, + { + "cell_type": "markdown", + "id": "80e37e7b", + "metadata": {}, + "source": [ + "## Ideal Injected Reference\n", + "\n", + "This section rebuilds the single-qubit injected kernels with the **ideal** preparation angle and reports the noiseless injected-state summary. It gives a direct reference for the fidelity you would get from perfect logical magic-state preparation before any overrotation proxy is applied.\n" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "id": "b785068a", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Noiseless injected Bloch: [ 0.58 -0.5709 0.5732]\n", + "Chosen injected sign vector: [ 1. -1. 1.]\n", + "Ideal injected noiseless summary:\n" + ] + }, + { + "data": { + "text/plain": [ + "{'point': 1.0015788198611792,\n", + " 'median': 0.99,\n", + " 'low': 0.9832,\n", + " 'high': 0.9968,\n", + " 'bloch': (0.57807, 0.58083, 0.57862),\n", + " 'accepted_fraction': 1.0,\n", + " 'accepted_fraction_by_basis': {'X': 1.0, 'Y': 1.0, 'Z': 1.0}}" + ] + }, + "execution_count": 9, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "ideal_kernel_bundle = build_naive_kernel_bundle(IDEAL_THETA, PHI, LAM, output_qubit=0)\n", + "ideal_injected_tasks = {\n", + " basis: sim.task(ideal_kernel_bundle.injected[basis], m2dets=M2DETS_1, m2obs=M2OBS_1)\n", + " for basis in BASIS_LABELS\n", + "}\n", + "IDEAL_INJECTED_SIGN_VECTOR = infer_injected_sign_vector_full(ideal_injected_tasks)\n", + "ideal_injected_noiseless = summarize_injected(\n", + " ideal_injected_tasks,\n", + " shots=SUMMARY_SHOTS,\n", + " with_noise=False,\n", + " posterior_samples=POSTERIOR_SAMPLES,\n", + " sign_vector=IDEAL_INJECTED_SIGN_VECTOR,\n", + ")\n", + "\n", + "print('Ideal injected noiseless summary:')\n", + "ideal_injected_noiseless\n" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "id": "cb3b7cd3", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Distilled noiseless summary:\n" + ] + }, + { + "data": { + "text/plain": [ + "{'point': 0.994715264054234,\n", + " 'median': 0.99,\n", + " 'low': 0.9832,\n", + " 'high': 0.9968,\n", + " 'bloch': (0.5001214476560603, 0.5555633555633556, 0.6580591420241566),\n", + " 'accepted_fraction': 0.143535,\n", + " 'accepted_fraction_by_basis': {'X': 0.144095, 'Y': 0.14245, 'Z': 0.14406},\n", + " 'factory_target': (0, 0, 0, 0)}" + ] + }, + "execution_count": 10, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "print('Distilled noiseless summary:')\n", + "distilled_noiseless\n" + ] + }, + { + "cell_type": "markdown", + "id": "3ef1f079", + "metadata": {}, + "source": [ + "If you want to include the simulator's default physical noise model on top of the overrotated input preparation, rerun the same summaries with `with_noise=True`.\n" + ] + }, + { + "cell_type": "markdown", + "id": "93efef70", + "metadata": {}, + "source": [ + "## Noiseless Distillation Expectations\n", + "\n", + "These cells estimate the raw and post-selected noiseless logical expectations of the distilled output qubit in the `X`, `Y`, and `Z` tomography bases, using the full logical post-processing path.\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "ed8b6bf5", + "metadata": {}, + "outputs": [], + "source": [ + "NOISELESS_EXPECTATION_SHOTS = 1_000_000\n", + "\n", + "x_data = run_task_full(\n", + " distilled_tasks['X'],\n", + " NOISELESS_EXPECTATION_SHOTS,\n", + " with_noise=False,\n", + " chunk_size=CHUNK_SIZE,\n", + ")\n", + "y_data = run_task_full(\n", + " distilled_tasks['Y'],\n", + " NOISELESS_EXPECTATION_SHOTS,\n", + " with_noise=False,\n", + " chunk_size=CHUNK_SIZE,\n", + ")\n", + "z_data = run_task_full(\n", + " distilled_tasks['Z'],\n", + " NOISELESS_EXPECTATION_SHOTS,\n", + " with_noise=False,\n", + " chunk_size=CHUNK_SIZE,\n", + ")\n", + "\n", + "ex = logical_expectation(x_data.observables[:, 0])\n", + "ey = logical_expectation(y_data.observables[:, 0])\n", + "ez = logical_expectation(z_data.observables[:, 0])\n", + "\n", + "print('Noiseless , , =', (ex, ey, ez))\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "7fadb158", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Accepted noiseless , , = (0.5052939130434783, -0.5584683173347997, 0.6636228115791298)\n", + "Total postselection rates = (0.14375, 0.143659, 0.144225)\n", + "Perfect stabilizer rates = (1.0, 0.999999, 1.0)\n", + "Syndrome rates given perfect stabilizers = (0.14375, 0.14365914365914365, 0.144225)\n" + ] + } + ], + "source": [ + "FACTORY_TARGET_NOISELESS = np.array(FACTORY_TARGET, dtype=np.uint8)\n", + "\n", + "def accepted_output_bits(data, factory_target):\n", + " perfect_stabilizers = np.all(data.detectors == 0, axis=1)\n", + " correct_syndrome = np.all(data.observables[:, 1:] == factory_target, axis=1)\n", + " mask = perfect_stabilizers & correct_syndrome\n", + " return {\n", + " 'bits': data.observables[mask, 0].astype(np.uint8),\n", + " 'rate_total': float(mask.mean()),\n", + " 'rate_stabilizers': float(perfect_stabilizers.mean()),\n", + " 'rate_syndrome_given_stabilizers': (\n", + " float(mask.sum() / perfect_stabilizers.sum())\n", + " if perfect_stabilizers.sum() > 0\n", + " else float('nan')\n", + " ),\n", + " }\n", + "\n", + "x = accepted_output_bits(x_data, FACTORY_TARGET_NOISELESS)\n", + "y = accepted_output_bits(y_data, FACTORY_TARGET_NOISELESS)\n", + "z = accepted_output_bits(z_data, FACTORY_TARGET_NOISELESS)\n", + "\n", + "print(\n", + " 'Accepted noiseless , , =',\n", + " (\n", + " logical_expectation(x['bits']),\n", + " logical_expectation(y['bits']),\n", + " logical_expectation(z['bits']),\n", + " ),\n", + ")\n", + "\n", + "print('Total postselection rates =', (x['rate_total'], y['rate_total'], z['rate_total']))\n", + "print(\n", + " 'Perfect stabilizer rates =',\n", + " (x['rate_stabilizers'], y['rate_stabilizers'], z['rate_stabilizers']),\n", + ")\n", + "print(\n", + " 'Syndrome rates given perfect stabilizers =',\n", + " (\n", + " x['rate_syndrome_given_stabilizers'],\n", + " y['rate_syndrome_given_stabilizers'],\n", + " z['rate_syndrome_given_stabilizers'],\n", + " ),\n", + ")\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "dcf502da", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Injected noisy summary:\n" + ] + }, + { + "data": { + "text/plain": [ + "{'point': 0.9733406181951147,\n", + " 'median': 0.96676161859599,\n", + " 'low': 0.9666673168890678,\n", + " 'high': 0.9668559203029121,\n", + " 'bloch': (0.6843, 0.6818, 0.2736),\n", + " 'accepted_fraction': 1.0,\n", + " 'accepted_fraction_by_basis': {'X': 1.0, 'Y': 1.0, 'Z': 1.0}}" + ] + }, + "execution_count": 13, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "injected_noisy = summarize_injected(\n", + " injected_tasks,\n", + " shots=CALIBRATION_SHOTS,\n", + " with_noise=True,\n", + " posterior_samples=POSTERIOR_SAMPLES,\n", + " sign_vector=INJECTED_SIGN_VECTOR,\n", + ")\n", + "distilled_noisy = summarize_distilled(\n", + " distilled_tasks,\n", + " FACTORY_TARGET,\n", + " shots=CALIBRATION_SHOTS,\n", + " with_noise=True,\n", + " posterior_samples=POSTERIOR_SAMPLES,\n", + " sign_vector=DISTILLED_SIGN_VECTOR,\n", + " require_zero_detectors=True,\n", + ")\n", + "\n", + "print('Injected noisy summary:')\n", + "injected_noisy\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "3be38729", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Distilled noisy summary:\n" + ] + }, + { + "data": { + "text/plain": [ + "{'point': 1.0059504033984261,\n", + " 'median': 0.985820192124505,\n", + " 'low': 0.9849795596196145,\n", + " 'high': 0.9949254281025228,\n", + " 'bloch': (0.47195357833655704, 0.603290676416819, 0.6774193548387096),\n", + " 'accepted_fraction': 0.053033333333333335,\n", + " 'accepted_fraction_by_basis': {'X': 0.0517, 'Y': 0.0547, 'Z': 0.0527},\n", + " 'factory_target': (0, 0, 0, 0)}" + ] + }, + "execution_count": 14, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "print('Distilled noisy summary:')\n", + "distilled_noisy\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "230071ce", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "bdfc8711", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "c344c2f3", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "kirin-workspace (3.12.13)", + "language": "python", + "name": "python3" + }, + "language_info": { + "name": "python", + "version": "3.12.13" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/demo/msd.ipynb b/demo/msd.ipynb new file mode 100644 index 00000000..5454c100 --- /dev/null +++ b/demo/msd.ipynb @@ -0,0 +1,26709 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "id": "7479fe80", + "metadata": {}, + "outputs": [], + "source": [ + "# from bloqade.gemini import logical as gemini_logical\n", + "# from bloqade import qubit, squin\n", + "# from bloqade.lanes.logical_mvp import (\n", + "# compile_to_physical_stim_program,\n", + "# kernel,\n", + "# set_detector,\n", + "# set_observable,\n", + "# TesseractDecoder,\n", + "# GeminiLogical,\n", + "# )\n", + "# import numpy as np\n", + "# from scipy.linalg import block_diag" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "01cf3626", + "metadata": {}, + "outputs": [], + "source": [ + "from bloqade.gemini import logical as gemini_logical\n", + "from bloqade import qubit, squin\n", + "from bloqade.gemini.logical.stdlib import set_detector, set_observable\n", + "from bloqade.decoders import TesseractDecoder, BpLsdDecoder\n", + "from bloqade.lanes import GeminiLogicalSimulator\n", + "from bloqade.lanes.logical_mvp import compile_to_stim_program\n", + "\n", + "import numpy as np\n", + "from scipy.linalg import block_diag" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "124bb66a", + "metadata": {}, + "outputs": [], + "source": [ + "@gemini_logical.kernel(aggressive_unroll=True, verify=True)\n", + "def main():\n", + " reg = qubit.qalloc(5)\n", + " squin.broadcast.t(reg)\n", + "\n", + " squin.broadcast.sqrt_x([reg[0], reg[1], reg[4]])\n", + " squin.broadcast.cz([reg[0], reg[2]], [reg[1], reg[3]])\n", + " squin.broadcast.sqrt_y([reg[0], reg[3]])\n", + " squin.broadcast.cz([reg[0], reg[3]], [reg[2], reg[4]])\n", + " squin.sqrt_x_adj(reg[0])\n", + " squin.broadcast.cz([reg[0], reg[1]], [reg[4], reg[3]])\n", + " squin.broadcast.sqrt_y_adj(reg)\n", + "\n", + " gemini_logical.default_post_processing(reg)" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "f624a272", + "metadata": {}, + "outputs": [], + "source": [ + "# @gemini_logical.kernel(aggressive_unroll=True, verify=True)\n", + "# def main():\n", + "# reg = qubit.qalloc(5)\n", + "# squin.broadcast.t(reg)\n", + "\n", + "# squin.broadcast.sqrt_x([reg[0], reg[1], reg[4]])\n", + "# squin.broadcast.cz([reg[0], reg[2]], [reg[1], reg[3]])\n", + "# squin.broadcast.sqrt_y([reg[0], reg[3]])\n", + "# squin.broadcast.cz([reg[0], reg[3]], [reg[2], reg[4]])\n", + "# squin.sqrt_x_adj(reg[0])\n", + "# squin.broadcast.cz([reg[0], reg[1]], [reg[4], reg[3]])\n", + "# squin.broadcast.sqrt_y_adj(reg)\n", + "\n", + "# gemini_logical.default_post_processing(reg)" + ] + }, + { + "cell_type": "markdown", + "id": "01a4232b", + "metadata": {}, + "source": [ + "Here, `measurements` is of type `list[list[MeasurementResult]]`. Thus, the `terminal_measure` statement introduces physical bits in the logical kernel. These physical bits are then accessed directly in the `set_detector` and `set_observable` statements to define the detectors and observables." + ] + }, + { + "cell_type": "markdown", + "id": "1f05b408", + "metadata": {}, + "source": [ + "Once a kernel is defined, it can be submitted for execution to the backend, using an API similar to the following:" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "11cfeeff", + "metadata": {}, + "outputs": [], + "source": [ + "sim = GeminiLogicalSimulator()\n", + "task = sim.task(main)\n", + "results = task.run(100)" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "ed4fd69f", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "tsim.Circuit('''\n", + "U3(0.0, 0.0, 0.25) 6\n", + "SQRT_Y_DAG 0 1 2 3 4 5\n", + "CZ 1 2 3 4 5 6\n", + "SQRT_Y 6\n", + "CZ 0 3 2 5 4 6\n", + "SQRT_Y 2 3 4 5 6\n", + "CZ 0 1 2 3 4 5\n", + "SQRT_Y 1 2 4\n", + "X 3\n", + "Z 1 5\n", + "U3(0.0, 0.0, 0.25) 13\n", + "SQRT_Y_DAG 7 8 9 10 11 12\n", + "CZ 8 9 10 11 12 13\n", + "SQRT_Y 13\n", + "CZ 7 10 9 12 11 13\n", + "SQRT_Y 9 10 11 12 13\n", + "CZ 7 8 9 10 11 12\n", + "SQRT_Y 8 9 11\n", + "X 10\n", + "Z 8 12\n", + "U3(0.0, 0.0, 0.25) 20\n", + "SQRT_Y_DAG 14 15 16 17 18 19\n", + "CZ 15 16 17 18 19 20\n", + "SQRT_Y 20\n", + "CZ 14 17 16 19 18 20\n", + "SQRT_Y 16 17 18 19 20\n", + "CZ 14 15 16 17 18 19\n", + "SQRT_Y 15 16 18\n", + "X 17\n", + "Z 15 19\n", + "U3(0.0, 0.0, 0.25) 27\n", + "SQRT_Y_DAG 21 22 23 24 25 26\n", + "CZ 22 23 24 25 26 27\n", + "SQRT_Y 27\n", + "CZ 21 24 23 26 25 27\n", + "SQRT_Y 23 24 25 26 27\n", + "CZ 21 22 23 24 25 26\n", + "SQRT_Y 22 23 25\n", + "X 24\n", + "Z 22 26\n", + "U3(0.0, 0.0, 0.25) 34\n", + "SQRT_Y_DAG 28 29 30 31 32 33\n", + "CZ 29 30 31 32 33 34\n", + "SQRT_Y 34\n", + "CZ 28 31 30 33 32 34\n", + "SQRT_Y 30 31 32 33 34\n", + "CZ 28 29 30 31 32 33\n", + "SQRT_Y 29 30 32\n", + "X 31\n", + "Z 29 33\n", + "SQRT_X 0 1 2 3 4 5 6 7 8 9 10 11 12 13 28 29 30 31 32 33 34\n", + "PAULI_CHANNEL_1(0.0004102, 0.0004102, 0.0004112) 0 1 2 3 4 5 6 7 8 9 10 11 12 13 28 29 30 31 32 33 34\n", + "I_ERROR[loss](0) 0 1 2 3 4 5 6 7 8 9 10 11 12 13 28 29 30 31 32 33 34\n", + "PAULI_CHANNEL_1(0.000806, 0.000806, 0.002458) 0\n", + "I_ERROR[loss](0) 0\n", + "PAULI_CHANNEL_1(0.000806, 0.000806, 0.002458) 1\n", + "I_ERROR[loss](0) 1\n", + "PAULI_CHANNEL_1(0.000806, 0.000806, 0.002458) 2\n", + "I_ERROR[loss](0) 2\n", + "PAULI_CHANNEL_1(0.000806, 0.000806, 0.002458) 3\n", + "I_ERROR[loss](0) 3\n", + "PAULI_CHANNEL_1(0.000806, 0.000806, 0.002458) 4\n", + "I_ERROR[loss](0) 4\n", + "PAULI_CHANNEL_1(0.000806, 0.000806, 0.002458) 5\n", + "I_ERROR[loss](0) 5\n", + "PAULI_CHANNEL_1(0.000806, 0.000806, 0.002458) 6\n", + "I_ERROR[loss](0) 6\n", + "PAULI_CHANNEL_1(0.000806, 0.000806, 0.002458) 14\n", + "I_ERROR[loss](0) 14\n", + "PAULI_CHANNEL_1(0.000806, 0.000806, 0.002458) 15\n", + "I_ERROR[loss](0) 15\n", + "PAULI_CHANNEL_1(0.000806, 0.000806, 0.002458) 16\n", + "I_ERROR[loss](0) 16\n", + "PAULI_CHANNEL_1(0.000806, 0.000806, 0.002458) 17\n", + "I_ERROR[loss](0) 17\n", + "PAULI_CHANNEL_1(0.000806, 0.000806, 0.002458) 18\n", + "I_ERROR[loss](0) 18\n", + "PAULI_CHANNEL_1(0.000806, 0.000806, 0.002458) 19\n", + "I_ERROR[loss](0) 19\n", + "PAULI_CHANNEL_1(0.000806, 0.000806, 0.002458) 20\n", + "I_ERROR[loss](0) 20\n", + "PAULI_CHANNEL_1(0.0003066, 0.0003066, 0.0004639) 7 8 9 10 11 12 13 21 22 23 24 25 26 27 28 29 30 31 32 33 34\n", + "I_ERROR[loss](0) 7 8 9 10 11 12 13 21 22 23 24 25 26 27 28 29 30 31 32 33 34\n", + "CZ 0 7 1 8 2 9 3 10 4 11 5 12 6 13 14 21 15 22 16 23 17 24 18 25 19 26 20 27\n", + "PAULI_CHANNEL_2(0.00022747, 0.00022747, 0.00151278, 0.00022747, 0.00014286, 0.00014286, 0.00014308, 0.00022747, 0.00014286, 0.00014286, 0.00014308, 0.00151278, 0.00014308, 0.00014308, 0.00142814) 0 7 1 8 2 9 3 10 4 11 5 12 6 13 14 21 15 22 16 23 17 24 18 25 19 26 20 27\n", + "I_ERROR[correlated_loss:0](0) 0 7\n", + "I_ERROR[correlated_loss:1](0) 1 8\n", + "I_ERROR[correlated_loss:2](0) 2 9\n", + "I_ERROR[correlated_loss:3](0) 3 10\n", + "I_ERROR[correlated_loss:4](0) 4 11\n", + "I_ERROR[correlated_loss:5](0) 5 12\n", + "I_ERROR[correlated_loss:6](0) 6 13\n", + "I_ERROR[correlated_loss:7](0) 14 21\n", + "I_ERROR[correlated_loss:8](0) 15 22\n", + "I_ERROR[correlated_loss:9](0) 16 23\n", + "I_ERROR[correlated_loss:10](0) 17 24\n", + "I_ERROR[correlated_loss:11](0) 18 25\n", + "I_ERROR[correlated_loss:12](0) 19 26\n", + "I_ERROR[correlated_loss:13](0) 20 27\n", + "PAULI_CHANNEL_1(0.0005149, 0.0005149, 0.002185) 28 29 30 31 32 33 34\n", + "I_ERROR[loss](0) 28 29 30 31 32 33 34\n", + "PAULI_CHANNEL_1(0.000806, 0.000806, 0.002458) 0\n", + "I_ERROR[loss](0) 0\n", + "PAULI_CHANNEL_1(0.000806, 0.000806, 0.002458) 1\n", + "I_ERROR[loss](0) 1\n", + "PAULI_CHANNEL_1(0.000806, 0.000806, 0.002458) 2\n", + "I_ERROR[loss](0) 2\n", + "PAULI_CHANNEL_1(0.000806, 0.000806, 0.002458) 3\n", + "I_ERROR[loss](0) 3\n", + "PAULI_CHANNEL_1(0.000806, 0.000806, 0.002458) 4\n", + "I_ERROR[loss](0) 4\n", + "PAULI_CHANNEL_1(0.000806, 0.000806, 0.002458) 5\n", + "I_ERROR[loss](0) 5\n", + "PAULI_CHANNEL_1(0.000806, 0.000806, 0.002458) 6\n", + "I_ERROR[loss](0) 6\n", + "PAULI_CHANNEL_1(0.000806, 0.000806, 0.002458) 14\n", + "I_ERROR[loss](0) 14\n", + "PAULI_CHANNEL_1(0.000806, 0.000806, 0.002458) 15\n", + "I_ERROR[loss](0) 15\n", + "PAULI_CHANNEL_1(0.000806, 0.000806, 0.002458) 16\n", + "I_ERROR[loss](0) 16\n", + "PAULI_CHANNEL_1(0.000806, 0.000806, 0.002458) 17\n", + "I_ERROR[loss](0) 17\n", + "PAULI_CHANNEL_1(0.000806, 0.000806, 0.002458) 18\n", + "I_ERROR[loss](0) 18\n", + "PAULI_CHANNEL_1(0.000806, 0.000806, 0.002458) 19\n", + "I_ERROR[loss](0) 19\n", + "PAULI_CHANNEL_1(0.000806, 0.000806, 0.002458) 20\n", + "I_ERROR[loss](0) 20\n", + "PAULI_CHANNEL_1(0.0003066, 0.0003066, 0.0004639) 7 8 9 10 11 12 13 21 22 23 24 25 26 27 28 29 30 31 32 33 34\n", + "I_ERROR[loss](0) 7 8 9 10 11 12 13 21 22 23 24 25 26 27 28 29 30 31 32 33 34\n", + "SQRT_Y 0 1 2 3 4 5 6 21 22 23 24 25 26 27\n", + "PAULI_CHANNEL_1(0.0004102, 0.0004102, 0.0004112) 0 1 2 3 4 5 6 21 22 23 24 25 26 27\n", + "I_ERROR[loss](0) 0 1 2 3 4 5 6 21 22 23 24 25 26 27\n", + "PAULI_CHANNEL_1(0.000806, 0.000806, 0.002458) 14\n", + "I_ERROR[loss](0) 14\n", + "PAULI_CHANNEL_1(0.000806, 0.000806, 0.002458) 15\n", + "I_ERROR[loss](0) 15\n", + "PAULI_CHANNEL_1(0.000806, 0.000806, 0.002458) 16\n", + "I_ERROR[loss](0) 16\n", + "PAULI_CHANNEL_1(0.000806, 0.000806, 0.002458) 17\n", + "I_ERROR[loss](0) 17\n", + "PAULI_CHANNEL_1(0.000806, 0.000806, 0.002458) 18\n", + "I_ERROR[loss](0) 18\n", + "PAULI_CHANNEL_1(0.000806, 0.000806, 0.002458) 19\n", + "I_ERROR[loss](0) 19\n", + "PAULI_CHANNEL_1(0.000806, 0.000806, 0.002458) 20\n", + "I_ERROR[loss](0) 20\n", + "PAULI_CHANNEL_1(0.0003066, 0.0003066, 0.0004639) 0 1 2 3 4 5 6 7 8 9 10 11 12 13 21 22 23 24 25 26 27 28 29 30 31 32 33 34\n", + "I_ERROR[loss](0) 0 1 2 3 4 5 6 7 8 9 10 11 12 13 21 22 23 24 25 26 27 28 29 30 31 32 33 34\n", + "PAULI_CHANNEL_1(0.000806, 0.000806, 0.002458) 28\n", + "I_ERROR[loss](0) 28\n", + "PAULI_CHANNEL_1(0.000806, 0.000806, 0.002458) 29\n", + "I_ERROR[loss](0) 29\n", + "PAULI_CHANNEL_1(0.000806, 0.000806, 0.002458) 30\n", + "I_ERROR[loss](0) 30\n", + "PAULI_CHANNEL_1(0.000806, 0.000806, 0.002458) 31\n", + "I_ERROR[loss](0) 31\n", + "PAULI_CHANNEL_1(0.000806, 0.000806, 0.002458) 32\n", + "I_ERROR[loss](0) 32\n", + "PAULI_CHANNEL_1(0.000806, 0.000806, 0.002458) 33\n", + "I_ERROR[loss](0) 33\n", + "PAULI_CHANNEL_1(0.000806, 0.000806, 0.002458) 34\n", + "I_ERROR[loss](0) 34\n", + "PAULI_CHANNEL_1(0.0003066, 0.0003066, 0.0004639) 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\n", + "I_ERROR[loss](0) 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\n", + "CZ 0 14 1 15 2 16 3 17 4 18 5 19 6 20 21 28 22 29 23 30 24 31 25 32 26 33 27 34\n", + "PAULI_CHANNEL_2(0.00022747, 0.00022747, 0.00151278, 0.00022747, 0.00014286, 0.00014286, 0.00014308, 0.00022747, 0.00014286, 0.00014286, 0.00014308, 0.00151278, 0.00014308, 0.00014308, 0.00142814) 0 14 1 15 2 16 3 17 4 18 5 19 6 20 21 28 22 29 23 30 24 31 25 32 26 33 27 34\n", + "I_ERROR[correlated_loss:14](0) 0 14\n", + "I_ERROR[correlated_loss:15](0) 1 15\n", + "I_ERROR[correlated_loss:16](0) 2 16\n", + "I_ERROR[correlated_loss:17](0) 3 17\n", + "I_ERROR[correlated_loss:18](0) 4 18\n", + "I_ERROR[correlated_loss:19](0) 5 19\n", + "I_ERROR[correlated_loss:20](0) 6 20\n", + "I_ERROR[correlated_loss:21](0) 21 28\n", + "I_ERROR[correlated_loss:22](0) 22 29\n", + "I_ERROR[correlated_loss:23](0) 23 30\n", + "I_ERROR[correlated_loss:24](0) 24 31\n", + "I_ERROR[correlated_loss:25](0) 25 32\n", + "I_ERROR[correlated_loss:26](0) 26 33\n", + "I_ERROR[correlated_loss:27](0) 27 34\n", + "PAULI_CHANNEL_1(0.0005149, 0.0005149, 0.002185) 7 8 9 10 11 12 13\n", + "I_ERROR[loss](0) 7 8 9 10 11 12 13\n", + "PAULI_CHANNEL_1(0.000806, 0.000806, 0.002458) 28\n", + "I_ERROR[loss](0) 28\n", + "PAULI_CHANNEL_1(0.000806, 0.000806, 0.002458) 29\n", + "I_ERROR[loss](0) 29\n", + "PAULI_CHANNEL_1(0.000806, 0.000806, 0.002458) 30\n", + "I_ERROR[loss](0) 30\n", + "PAULI_CHANNEL_1(0.000806, 0.000806, 0.002458) 31\n", + "I_ERROR[loss](0) 31\n", + "PAULI_CHANNEL_1(0.000806, 0.000806, 0.002458) 32\n", + "I_ERROR[loss](0) 32\n", + "PAULI_CHANNEL_1(0.000806, 0.000806, 0.002458) 33\n", + "I_ERROR[loss](0) 33\n", + "PAULI_CHANNEL_1(0.000806, 0.000806, 0.002458) 34\n", + "I_ERROR[loss](0) 34\n", + "PAULI_CHANNEL_1(0.0003066, 0.0003066, 0.0004639) 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\n", + "I_ERROR[loss](0) 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\n", + "PAULI_CHANNEL_1(0.000806, 0.000806, 0.002458) 14\n", + "I_ERROR[loss](0) 14\n", + "PAULI_CHANNEL_1(0.000806, 0.000806, 0.002458) 15\n", + "I_ERROR[loss](0) 15\n", + "PAULI_CHANNEL_1(0.000806, 0.000806, 0.002458) 16\n", + "I_ERROR[loss](0) 16\n", + "PAULI_CHANNEL_1(0.000806, 0.000806, 0.002458) 17\n", + "I_ERROR[loss](0) 17\n", + "PAULI_CHANNEL_1(0.000806, 0.000806, 0.002458) 18\n", + "I_ERROR[loss](0) 18\n", + "PAULI_CHANNEL_1(0.000806, 0.000806, 0.002458) 19\n", + "I_ERROR[loss](0) 19\n", + "PAULI_CHANNEL_1(0.000806, 0.000806, 0.002458) 20\n", + "I_ERROR[loss](0) 20\n", + "PAULI_CHANNEL_1(0.0003066, 0.0003066, 0.0004639) 0 1 2 3 4 5 6 7 8 9 10 11 12 13 21 22 23 24 25 26 27 28 29 30 31 32 33 34\n", + "I_ERROR[loss](0) 0 1 2 3 4 5 6 7 8 9 10 11 12 13 21 22 23 24 25 26 27 28 29 30 31 32 33 34\n", + "SQRT_X_DAG 0 1 2 3 4 5 6\n", + "PAULI_CHANNEL_1(0.0004102, 0.0004102, 0.0004112) 0 1 2 3 4 5 6\n", + "I_ERROR[loss](0) 0 1 2 3 4 5 6\n", + "PAULI_CHANNEL_1(0.000806, 0.000806, 0.002458) 28\n", + "I_ERROR[loss](0) 28\n", + "PAULI_CHANNEL_1(0.000806, 0.000806, 0.002458) 29\n", + "I_ERROR[loss](0) 29\n", + "PAULI_CHANNEL_1(0.000806, 0.000806, 0.002458) 30\n", + "I_ERROR[loss](0) 30\n", + "PAULI_CHANNEL_1(0.000806, 0.000806, 0.002458) 31\n", + "I_ERROR[loss](0) 31\n", + "PAULI_CHANNEL_1(0.000806, 0.000806, 0.002458) 32\n", + "I_ERROR[loss](0) 32\n", + "PAULI_CHANNEL_1(0.000806, 0.000806, 0.002458) 33\n", + "I_ERROR[loss](0) 33\n", + "PAULI_CHANNEL_1(0.000806, 0.000806, 0.002458) 34\n", + "I_ERROR[loss](0) 34\n", + "PAULI_CHANNEL_1(0.0003066, 0.0003066, 0.0004639) 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\n", + "I_ERROR[loss](0) 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\n", + "PAULI_CHANNEL_1(0.000806, 0.000806, 0.002458) 21\n", + "I_ERROR[loss](0) 21\n", + "PAULI_CHANNEL_1(0.000806, 0.000806, 0.002458) 22\n", + "I_ERROR[loss](0) 22\n", + "PAULI_CHANNEL_1(0.000806, 0.000806, 0.002458) 23\n", + "I_ERROR[loss](0) 23\n", + "PAULI_CHANNEL_1(0.000806, 0.000806, 0.002458) 24\n", + "I_ERROR[loss](0) 24\n", + "PAULI_CHANNEL_1(0.000806, 0.000806, 0.002458) 25\n", + "I_ERROR[loss](0) 25\n", + "PAULI_CHANNEL_1(0.000806, 0.000806, 0.002458) 26\n", + "I_ERROR[loss](0) 26\n", + "PAULI_CHANNEL_1(0.000806, 0.000806, 0.002458) 27\n", + "I_ERROR[loss](0) 27\n", + "PAULI_CHANNEL_1(0.0003066, 0.0003066, 0.0004639) 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 28 29 30 31 32 33 34\n", + "I_ERROR[loss](0) 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 28 29 30 31 32 33 34\n", + "CZ 0 28 1 29 2 30 3 31 4 32 5 33 6 34 7 21 8 22 9 23 10 24 11 25 12 26 13 27\n", + "PAULI_CHANNEL_2(0.00022747, 0.00022747, 0.00151278, 0.00022747, 0.00014286, 0.00014286, 0.00014308, 0.00022747, 0.00014286, 0.00014286, 0.00014308, 0.00151278, 0.00014308, 0.00014308, 0.00142814) 0 28 1 29 2 30 3 31 4 32 5 33 6 34 7 21 8 22 9 23 10 24 11 25 12 26 13 27\n", + "I_ERROR[correlated_loss:28](0) 0 28\n", + "I_ERROR[correlated_loss:29](0) 1 29\n", + "I_ERROR[correlated_loss:30](0) 2 30\n", + "I_ERROR[correlated_loss:31](0) 3 31\n", + "I_ERROR[correlated_loss:32](0) 4 32\n", + "I_ERROR[correlated_loss:33](0) 5 33\n", + "I_ERROR[correlated_loss:34](0) 6 34\n", + "I_ERROR[correlated_loss:35](0) 7 21\n", + "I_ERROR[correlated_loss:36](0) 8 22\n", + "I_ERROR[correlated_loss:37](0) 9 23\n", + "I_ERROR[correlated_loss:38](0) 10 24\n", + "I_ERROR[correlated_loss:39](0) 11 25\n", + "I_ERROR[correlated_loss:40](0) 12 26\n", + "I_ERROR[correlated_loss:41](0) 13 27\n", + "PAULI_CHANNEL_1(0.0005149, 0.0005149, 0.002185) 14 15 16 17 18 19 20\n", + "I_ERROR[loss](0) 14 15 16 17 18 19 20\n", + "PAULI_CHANNEL_1(0.000806, 0.000806, 0.002458) 21\n", + "I_ERROR[loss](0) 21\n", + "PAULI_CHANNEL_1(0.000806, 0.000806, 0.002458) 22\n", + "I_ERROR[loss](0) 22\n", + "PAULI_CHANNEL_1(0.000806, 0.000806, 0.002458) 23\n", + "I_ERROR[loss](0) 23\n", + "PAULI_CHANNEL_1(0.000806, 0.000806, 0.002458) 24\n", + "I_ERROR[loss](0) 24\n", + "PAULI_CHANNEL_1(0.000806, 0.000806, 0.002458) 25\n", + "I_ERROR[loss](0) 25\n", + "PAULI_CHANNEL_1(0.000806, 0.000806, 0.002458) 26\n", + "I_ERROR[loss](0) 26\n", + "PAULI_CHANNEL_1(0.000806, 0.000806, 0.002458) 27\n", + "I_ERROR[loss](0) 27\n", + "PAULI_CHANNEL_1(0.0003066, 0.0003066, 0.0004639) 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 28 29 30 31 32 33 34\n", + "I_ERROR[loss](0) 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 28 29 30 31 32 33 34\n", + "PAULI_CHANNEL_1(0.000806, 0.000806, 0.002458) 28\n", + "I_ERROR[loss](0) 28\n", + "PAULI_CHANNEL_1(0.000806, 0.000806, 0.002458) 29\n", + "I_ERROR[loss](0) 29\n", + "PAULI_CHANNEL_1(0.000806, 0.000806, 0.002458) 30\n", + "I_ERROR[loss](0) 30\n", + "PAULI_CHANNEL_1(0.000806, 0.000806, 0.002458) 31\n", + "I_ERROR[loss](0) 31\n", + "PAULI_CHANNEL_1(0.000806, 0.000806, 0.002458) 32\n", + "I_ERROR[loss](0) 32\n", + "PAULI_CHANNEL_1(0.000806, 0.000806, 0.002458) 33\n", + "I_ERROR[loss](0) 33\n", + "PAULI_CHANNEL_1(0.000806, 0.000806, 0.002458) 34\n", + "I_ERROR[loss](0) 34\n", + "PAULI_CHANNEL_1(0.0003066, 0.0003066, 0.0004639) 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\n", + "I_ERROR[loss](0) 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\n", + "SQRT_Y_DAG 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\n", + "PAULI_CHANNEL_1(6.5e-05, 6.5e-05, 6.5e-05) 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\n", + "I_ERROR[loss](0) 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\n", + "M(0) 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\n", + "DETECTOR(0, 0) rec[-35] rec[-34] rec[-33] rec[-32]\n", + "DETECTOR(0, 1) rec[-34] rec[-33] rec[-31] rec[-30]\n", + "DETECTOR(0, 2) rec[-33] rec[-32] rec[-31] rec[-29]\n", + "OBSERVABLE_INCLUDE(0) rec[-35] rec[-34] rec[-30]\n", + "DETECTOR(0, 0) rec[-28] rec[-27] rec[-26] rec[-25]\n", + "DETECTOR(0, 1) rec[-27] rec[-26] rec[-24] rec[-23]\n", + "DETECTOR(0, 2) rec[-26] rec[-25] rec[-24] rec[-22]\n", + "OBSERVABLE_INCLUDE(1) rec[-28] rec[-27] rec[-23]\n", + "DETECTOR(0, 0) rec[-21] rec[-20] rec[-19] rec[-18]\n", + "DETECTOR(0, 1) rec[-20] rec[-19] rec[-17] rec[-16]\n", + "DETECTOR(0, 2) rec[-19] rec[-18] rec[-17] rec[-15]\n", + "OBSERVABLE_INCLUDE(2) rec[-21] rec[-20] rec[-16]\n", + "DETECTOR(0, 0) rec[-14] rec[-13] rec[-12] rec[-11]\n", + "DETECTOR(0, 1) rec[-13] rec[-12] rec[-10] rec[-9]\n", + "DETECTOR(0, 2) rec[-12] rec[-11] rec[-10] rec[-8]\n", + "OBSERVABLE_INCLUDE(3) rec[-14] rec[-13] rec[-9]\n", + "DETECTOR(0, 0) rec[-7] rec[-6] rec[-5] rec[-4]\n", + "DETECTOR(0, 1) rec[-6] rec[-5] rec[-3] rec[-2]\n", + "DETECTOR(0, 2) rec[-5] rec[-4] rec[-3] rec[-1]\n", + "OBSERVABLE_INCLUDE(4) rec[-7] rec[-6] rec[-2]\n", + "''')" + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# TODO: this feels coupled to tsim\n", + "task.tsim_circuit\n" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "2ff8154e", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "\n", + "
\n", + " \n", + "
\n", + "
\n", + " \n", + "\n", + "\n", + "q0\n", + "\n", + "q1\n", + "\n", + "q2\n", + "\n", + "q3\n", + "\n", + "q4\n", + "\n", + "q5\n", + "\n", + "q6\n", + "\n", + "q7\n", + "\n", + "q8\n", + "\n", + "q9\n", + "\n", + "q10\n", + "\n", + "q11\n", + "\n", + "q12\n", + "\n", + "q13\n", + "\n", + "q14\n", + "\n", + "q15\n", + "\n", + "q16\n", + "\n", + "q17\n", + "\n", + "q18\n", + "\n", + "q19\n", + "\n", + "q20\n", + "\n", + "q21\n", + "\n", + "q22\n", + "\n", + "q23\n", + "\n", + "q24\n", + "\n", + "q25\n", + "\n", + "q26\n", + "\n", + "q27\n", + "\n", + "q28\n", + "\n", + "q29\n", + "\n", + "q30\n", + "\n", + "q31\n", + "\n", + "q32\n", + "\n", + "q33\n", + "\n", + "q34\n", + "\n", + "\n", + "DEP1\n", + "0\n", + "\n", + "DEP1\n", + "0\n", + "\n", + "DEP1\n", + "0\n", + "\n", + "DEP1\n", + "0\n", + "\n", + "DEP1\n", + "0\n", + "\n", + "DEP1\n", + "0\n", + "\n", + "DEP1\n", + "0\n", + "\n", + "DEP1\n", + "0\n", + "\n", + "DEP1\n", + "0\n", + "\n", + "DEP1\n", + "0\n", + "\n", + "DEP1\n", + "0\n", + "\n", + "DEP1\n", + "0\n", + "\n", + "DEP1\n", + "0\n", + "\n", + "DEP1\n", + "0\n", + "\n", + "DEP1\n", + "0\n", + "\n", + "DEP1\n", + "0\n", + "\n", + "DEP1\n", + "0\n", + "\n", + "DEP1\n", + "0\n", + "\n", + "DEP1\n", + "0\n", + "\n", + "DEP1\n", + "0\n", + "\n", + "DEP1\n", + "0\n", + "\n", + "DEP1\n", + "0\n", + "\n", + "DEP1\n", + "0\n", + "\n", + "DEP1\n", + "0\n", + "\n", + "DEP1\n", + "0\n", + "\n", + "DEP1\n", + "0\n", + "\n", + "DEP1\n", + "0\n", + "\n", + "DEP1\n", + "0\n", + "\n", + "DEP1\n", + "0\n", + "\n", + "DEP1\n", + "0\n", + "\n", + "DEP1\n", + "0\n", + "\n", + "DEP1\n", + "0\n", + "\n", + "DEP1\n", + "0\n", + "\n", + "DEP1\n", + "0\n", + "\n", + "DEP1\n", + "0\n", + "\n", + "U3\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "√Y\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "X\n", + "\n", + "Z\n", + "\n", + "Z\n", + "\n", + "U3\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "√Y\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "X\n", + "\n", + "Z\n", + "\n", + "Z\n", + "\n", + "U3\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "√Y\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "X\n", + "\n", + "Z\n", + "\n", + "Z\n", + "\n", + "U3\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "√Y\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "X\n", + "\n", + "Z\n", + "\n", + "Z\n", + "\n", + "U3\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "√Y\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "X\n", + "\n", + "Z\n", + "\n", + "Z\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "M\n", + "rec[0]\n", + "\n", + "M\n", + "rec[1]\n", + "\n", + "M\n", + "rec[2]\n", + "\n", + "M\n", + "rec[3]\n", + "\n", + "M\n", + "rec[4]\n", + "\n", + "M\n", + "rec[5]\n", + "\n", + "M\n", + "rec[6]\n", + "\n", + "M\n", + "rec[7]\n", + "\n", + "M\n", + "rec[8]\n", + "\n", + "M\n", + "rec[9]\n", + "\n", + "M\n", + "rec[10]\n", + "\n", + "M\n", + "rec[11]\n", + "\n", + "M\n", + "rec[12]\n", + "\n", + "M\n", + "rec[13]\n", + "\n", + "M\n", + "rec[14]\n", + "\n", + "M\n", + "rec[15]\n", + "\n", + "M\n", + "rec[16]\n", + "\n", + "M\n", + "rec[17]\n", + "\n", + "M\n", + "rec[18]\n", + "\n", + "M\n", + "rec[19]\n", + "\n", + "M\n", + "rec[20]\n", + "\n", + "M\n", + "rec[21]\n", + "\n", + "M\n", + "rec[22]\n", + "\n", + "M\n", + "rec[23]\n", + "\n", + "M\n", + "rec[24]\n", + "\n", + "M\n", + "rec[25]\n", + "\n", + "M\n", + "rec[26]\n", + "\n", + "M\n", + "rec[27]\n", + "\n", + "M\n", + "rec[28]\n", + "\n", + "M\n", + "rec[29]\n", + "\n", + "M\n", + "rec[30]\n", + "\n", + "M\n", + "rec[31]\n", + "\n", + "M\n", + "rec[32]\n", + "\n", + "M\n", + "rec[33]\n", + "\n", + "M\n", + "rec[34]\n", + "\n", + "DETECTOR\n", + "coords=(0,0)\n", + "D0 = rec[0]*rec[1]*rec[2]*rec[3]\n", + "\n", + "DETECTOR\n", + "coords=(0,1)\n", + "D1 = rec[1]*rec[2]*rec[4]*rec[5]\n", + "\n", + "DETECTOR\n", + "coords=(0,2)\n", + "D2 = rec[2]*rec[3]*rec[4]*rec[6]\n", + "\n", + "OBS_INCLUDE(0)\n", + "L0 *= rec[0]*rec[1]*rec[5]\n", + "\n", + "DETECTOR\n", + "coords=(0,0)\n", + "D3 = rec[7]*rec[8]*rec[9]*rec[10]\n", + "\n", + "DETECTOR\n", + "coords=(0,1)\n", + "D4 = rec[8]*rec[9]*rec[11]*rec[12]\n", + "\n", + "DETECTOR\n", + "coords=(0,2)\n", + "D5 = rec[9]*rec[10]*rec[11]*rec[13]\n", + "\n", + "OBS_INCLUDE(1)\n", + "L1 *= rec[7]*rec[8]*rec[12]\n", + "\n", + "DETECTOR\n", + "coords=(0,0)\n", + "D6 = rec[14]*rec[15]*rec[16]*rec[17]\n", + "\n", + "DETECTOR\n", + "coords=(0,1)\n", + "D7 = rec[15]*rec[16]*rec[18]*rec[19]\n", + "\n", + "DETECTOR\n", + "coords=(0,2)\n", + "D8 = rec[16]*rec[17]*rec[18]*rec[20]\n", + "\n", + "OBS_INCLUDE(2)\n", + "L2 *= rec[14]*rec[15]*rec[19]\n", + "\n", + "DETECTOR\n", + "coords=(0,0)\n", + "D9 = rec[21]*rec[22]*rec[23]*rec[24]\n", + "\n", + "DETECTOR\n", + "coords=(0,1)\n", + "D10 = rec[22]*rec[23]*rec[25]*rec[26]\n", + "\n", + "DETECTOR\n", + "coords=(0,2)\n", + "D11 = rec[23]*rec[24]*rec[25]*rec[27]\n", + "\n", + "OBS_INCLUDE(3)\n", + "L3 *= rec[21]*rec[22]*rec[26]\n", + "\n", + "DETECTOR\n", + "coords=(0,0)\n", + "D12 = rec[28]*rec[29]*rec[30]*rec[31]\n", + "\n", + "DETECTOR\n", + "coords=(0,1)\n", + "D13 = rec[29]*rec[30]*rec[32]*rec[33]\n", + "\n", + "DETECTOR\n", + "coords=(0,2)\n", + "D14 = rec[30]*rec[31]*rec[32]*rec[34]\n", + "\n", + "OBS_INCLUDE(4)\n", + "L4 *= rec[28]*rec[29]*rec[33]\n", + "\n", + "
\n", + "
\n", + " \n", + "
\n" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "from IPython.display import HTML, display\n", + "\n", + "diag = task.noiseless_tsim_circuit.diagram(\n", + " height=task.noiseless_tsim_circuit.num_qubits * 100\n", + ")\n", + "\n", + "display(HTML(f\"\"\"\n", + "
\n", + " {diag}\n", + "
\n", + "\"\"\"))\n" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "33b72ba9", + "metadata": {}, + "outputs": [], + "source": [ + "# program = compile_to_stim_program(main)\n", + "# print(program)\n" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "id": "1d7cc9b7", + "metadata": {}, + "outputs": [], + "source": [ + "# task.physical_squin_kernel.print()\n" + ] + }, + { + "cell_type": "markdown", + "id": "e6b6297d", + "metadata": {}, + "source": [ + "The results struct contains the following fields:\n", + "- `measurement_bits`: The measurement bits.\n", + "- `detector_bits`: The detector bits.\n", + "- `logical_bits`: The logical bits.\n", + "- `detector_error_model`: The detector error model.\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "id": "1f44e48e", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "stim.DetectorErrorModel('''\n", + " error(0.00841086) D0 D1 D2\n", + " error(0.00109209) D0 D1 D2 D3 D4 D5\n", + " error(0.00230601) D0 D1 D2 D3 D4 D5 D6 D7 D8\n", + " error(0.000285679) D0 D1 D2 D3 D4 D5 D6 D7 D8 D9 D10 D11\n", + " error(0.000285679) D0 D1 D2 D3 D4 D5 D9 D10 D11\n", + "''')" + ] + }, + "execution_count": 10, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "results.detector_error_model[:5]" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "id": "2b9d95d1", + "metadata": {}, + "outputs": [], + "source": [ + "decoder = BpLsdDecoder(results.detector_error_model)" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "id": "45f5ffbe", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "list" + ] + }, + "execution_count": 12, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "type(results.detectors)" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "id": "cbaea2de", + "metadata": {}, + "outputs": [], + "source": [ + "import numpy as np\n", + "\n", + "detectors = np.asarray(results.detectors, dtype=bool)\n", + "observables = np.asarray(results.observables, dtype=bool)\n", + "\n", + "flips = decoder.decode(detectors)\n", + "corrected_logical_bits = flips ^ observables\n" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "id": "0d6a97ac", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[0, 1, 1, 1, 1],\n", + " [1, 0, 1, 0, 1],\n", + " [1, 0, 1, 1, 1],\n", + " [1, 1, 0, 0, 0],\n", + " [0, 1, 1, 1, 1],\n", + " [1, 1, 1, 1, 0],\n", + " [0, 0, 1, 1, 0],\n", + " [0, 0, 1, 0, 0],\n", + " [0, 0, 0, 0, 0],\n", + " [0, 1, 0, 0, 1],\n", + " [0, 0, 1, 1, 0],\n", + " [0, 1, 0, 1, 1],\n", + " [0, 0, 0, 0, 0],\n", + " [0, 1, 0, 1, 1],\n", + " [0, 0, 1, 1, 1],\n", + " [1, 0, 0, 0, 1],\n", + " [0, 1, 1, 1, 1],\n", + " [0, 0, 1, 1, 0],\n", + " [1, 0, 1, 1, 1],\n", + " [0, 0, 1, 1, 0],\n", + " [0, 0, 1, 1, 0],\n", + " [1, 1, 1, 1, 0],\n", + " [1, 0, 1, 0, 1],\n", + " [0, 1, 1, 1, 1],\n", + " [1, 1, 1, 1, 0],\n", + " [0, 1, 1, 1, 1],\n", + " [0, 1, 1, 0, 1],\n", + " [1, 1, 1, 1, 0],\n", + " [0, 1, 1, 1, 1],\n", + " [1, 0, 1, 1, 1],\n", + " [1, 1, 0, 0, 0],\n", + " [1, 1, 0, 1, 0],\n", + " [1, 1, 0, 0, 0],\n", + " [1, 0, 0, 0, 1],\n", + " [1, 1, 0, 0, 0],\n", + " [0, 0, 1, 0, 0],\n", + " [0, 1, 1, 1, 1],\n", + " [0, 1, 0, 1, 1],\n", + " [0, 0, 0, 1, 0],\n", + " [1, 1, 1, 1, 0],\n", + " [0, 0, 1, 1, 0],\n", + " [0, 1, 0, 1, 1],\n", + " [1, 1, 1, 0, 0],\n", + " [0, 1, 1, 0, 1],\n", + " [1, 0, 0, 1, 1],\n", + " [0, 0, 1, 0, 0],\n", + " [0, 0, 0, 1, 1],\n", + " [1, 0, 1, 1, 1],\n", + " [0, 1, 1, 0, 1],\n", + " [1, 0, 0, 0, 1],\n", + " [0, 0, 1, 1, 0],\n", + " [0, 0, 0, 0, 0],\n", + " [1, 1, 1, 0, 0],\n", + " [0, 1, 1, 0, 1],\n", + " [1, 1, 1, 0, 0],\n", + " [0, 1, 1, 0, 1],\n", + " [1, 0, 1, 1, 1],\n", + " [0, 0, 0, 1, 0],\n", + " [0, 1, 0, 1, 1],\n", + " [1, 1, 0, 0, 0],\n", + " [1, 1, 1, 1, 0],\n", + " [0, 0, 0, 0, 0],\n", + " [0, 0, 1, 1, 0],\n", + " [0, 1, 0, 1, 1],\n", + " [0, 1, 1, 1, 1],\n", + " [1, 0, 1, 0, 1],\n", + " [0, 1, 1, 0, 1],\n", + " [0, 1, 1, 1, 1],\n", + " [0, 0, 1, 0, 0],\n", + " [1, 0, 1, 0, 1],\n", + " [0, 0, 1, 0, 0],\n", + " [1, 1, 1, 0, 0],\n", + " [0, 0, 0, 0, 0],\n", + " [0, 1, 1, 0, 1],\n", + " [1, 1, 0, 1, 0],\n", + " [1, 1, 0, 1, 1],\n", + " [0, 1, 1, 1, 1],\n", + " [1, 0, 1, 1, 1],\n", + " [0, 0, 1, 1, 1],\n", + " [1, 0, 0, 0, 1],\n", + " [1, 1, 1, 1, 0],\n", + " [0, 0, 0, 0, 0],\n", + " [1, 0, 1, 0, 1],\n", + " [1, 0, 0, 0, 1],\n", + " [1, 0, 1, 1, 1],\n", + " [1, 0, 1, 1, 1],\n", + " [0, 0, 0, 0, 0],\n", + " [1, 0, 0, 0, 1],\n", + " [0, 1, 1, 0, 1],\n", + " [0, 1, 1, 1, 0],\n", + " [0, 0, 1, 0, 0],\n", + " [0, 1, 0, 1, 1],\n", + " [1, 0, 1, 0, 1],\n", + " [0, 1, 0, 0, 1],\n", + " [0, 1, 1, 1, 1],\n", + " [1, 0, 0, 0, 1],\n", + " [0, 1, 0, 0, 1],\n", + " [0, 1, 0, 0, 1],\n", + " [0, 0, 0, 1, 0],\n", + " [0, 1, 1, 1, 1]], dtype=uint8)" + ] + }, + "execution_count": 14, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "corrected_logical_bits" + ] + }, + { + "cell_type": "markdown", + "id": "db65d7c9", + "metadata": {}, + "source": [ + "## Underlying pipeline" + ] + }, + { + "cell_type": "markdown", + "id": "3dabe9fd", + "metadata": {}, + "source": [ + "The noise model is generated by `compile_to_physical_stim_program` which consumes a logical kernel and produces a STIM circuit with noise annotations which are derived from the hardware-compiled kernel." + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "id": "e23f7b76", + "metadata": {}, + "outputs": [], + "source": [ + "program = compile_to_stim_program(main)" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "id": "becd0323", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "# Beg\n", + "...\n", + "c[-2]\n", + "\n" + ] + } + ], + "source": [ + "print(f\"\"\"\n", + "{program[:5]}\n", + "...\n", + "{program[-5:]}\n", + "\"\"\")" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "id": "72bc079e", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "# Begin Steane7 Initialize\n", + "I[U3(theta=0.0*pi, phi=0.0*pi, lambda=0.25*pi)] 6\n", + "SQRT_Y_DAG 0 1 2 3 4 5\n", + "CZ 1 2 3 4 5 6\n", + "SQRT_Y 6\n", + "CZ 0 3 2 5 4 6\n", + "SQRT_Y 2 3 4 5 6\n", + "CZ 0 1 2 3 4 5\n", + "SQRT_Y 1 2 4\n", + "X 3\n", + "Z 1 5\n", + "# End Steane7 Initialize\n", + "# Begin Steane7 Initialize\n", + "I[U3(theta=0.0*pi, phi=0.0*pi, lambda=0.25*pi)] 13\n", + "SQRT_Y_DAG 7 8 9 10 11 12\n", + "CZ 8 9 10 11 12 13\n", + "SQRT_Y 13\n", + "CZ 7 10 9 12 11 13\n", + "SQRT_Y 9 10 11 12 13\n", + "CZ 7 8 9 10 11 12\n", + "SQRT_Y 8 9 11\n", + "X 10\n", + "Z 8 12\n", + "# End Steane7 Initialize\n", + "# Begin Steane7 Initialize\n", + "I[U3(theta=0.0*pi, phi=0.0*pi, lambda=0.25*pi)] 20\n", + "SQRT_Y_DAG 14 15 16 17 18 19\n", + "CZ 15 16 17 18 19 20\n", + "SQRT_Y 20\n", + "CZ 14 17 16 19 18 20\n", + "SQRT_Y 16 17 18 19 20\n", + "CZ 14 15 16 17 18 19\n", + "SQRT_Y 15 16 18\n", + "X 17\n", + "Z 15 19\n", + "# End Steane7 Initialize\n", + "# Begin Steane7 Initialize\n", + "I[U3(theta=0.0*pi, phi=0.0*pi, lambda=0.25*pi)] 27\n", + "SQRT_Y_DAG 21 22 23 24 25 26\n", + "CZ 22 23 24 25 26 27\n", + "SQRT_Y 27\n", + "CZ 21 24 23 26 25 27\n", + "SQRT_Y 23 24 25 26 27\n", + "CZ 21 22 23 24 25 26\n", + "SQRT_Y 22 23 25\n", + "X 24\n", + "Z 22 26\n", + "# End Steane7 Initialize\n", + "# Begin Steane7 Initialize\n", + "I[U3(theta=0.0*pi, phi=0.0*pi, lambda=0.25*pi)] 34\n", + "SQRT_Y_DAG 28 29 30 31 32 33\n", + "CZ 29 30 31 32 33 34\n", + "SQRT_Y 34\n", + "CZ 28 31 30 33 32 34\n", + "SQRT_Y 30 31 32 33 34\n", + "CZ 28 29 30 31 32 33\n", + "SQRT_Y 29 30 32\n", + "X 31\n", + "Z 29 33\n", + "# End Steane7 Initialize\n", + "SQRT_X 0 1 2 3 4 5 6 7 8 9 10 11 12 13 28 29 30 31 32 33 34\n", + "# Local Gate Noise\n", + "PAULI_CHANNEL_1(0.00041020, 0.00041020, 0.00041120) 0 1 2 3 4 5 6 7 8 9 10 11 12 13 28 29 30 31 32 33 34\n", + "I_ERROR[loss](0.00000000) 0 1 2 3 4 5 6 7 8 9 10 11 12 13 28 29 30 31 32 33 34\n", + "# Lane Noise\n", + "PAULI_CHANNEL_1(0.00080600, 0.00080600, 0.00245800) 0\n", + "I_ERROR[loss](0.00000000) 0\n", + "# Lane Noise\n", + "PAULI_CHANNEL_1(0.00080600, 0.00080600, 0.00245800) 1\n", + "I_ERROR[loss](0.00000000) 1\n", + "# Lane Noise\n", + "PAULI_CHANNEL_1(0.00080600, 0.00080600, 0.00245800) 2\n", + "I_ERROR[loss](0.00000000) 2\n", + "# Lane Noise\n", + "PAULI_CHANNEL_1(0.00080600, 0.00080600, 0.00245800) 3\n", + "I_ERROR[loss](0.00000000) 3\n", + "# Lane Noise\n", + "PAULI_CHANNEL_1(0.00080600, 0.00080600, 0.00245800) 4\n", + "I_ERROR[loss](0.00000000) 4\n", + "# Lane Noise\n", + "PAULI_CHANNEL_1(0.00080600, 0.00080600, 0.00245800) 5\n", + "I_ERROR[loss](0.00000000) 5\n", + "# Lane Noise\n", + "PAULI_CHANNEL_1(0.00080600, 0.00080600, 0.00245800) 6\n", + "I_ERROR[loss](0.00000000) 6\n", + "# Lane Noise\n", + "PAULI_CHANNEL_1(0.00080600, 0.00080600, 0.00245800) 14\n", + "I_ERROR[loss](0.00000000) 14\n", + "# Lane Noise\n", + "PAULI_CHANNEL_1(0.00080600, 0.00080600, 0.00245800) 15\n", + "I_ERROR[loss](0.00000000) 15\n", + "# Lane Noise\n", + "PAULI_CHANNEL_1(0.00080600, 0.00080600, 0.00245800) 16\n", + "I_ERROR[loss](0.00000000) 16\n", + "# Lane Noise\n", + "PAULI_CHANNEL_1(0.00080600, 0.00080600, 0.00245800) 17\n", + "I_ERROR[loss](0.00000000) 17\n", + "# Lane Noise\n", + "PAULI_CHANNEL_1(0.00080600, 0.00080600, 0.00245800) 18\n", + "I_ERROR[loss](0.00000000) 18\n", + "# Lane Noise\n", + "PAULI_CHANNEL_1(0.00080600, 0.00080600, 0.00245800) 19\n", + "I_ERROR[loss](0.00000000) 19\n", + "# Lane Noise\n", + "PAULI_CHANNEL_1(0.00080600, 0.00080600, 0.00245800) 20\n", + "I_ERROR[loss](0.00000000) 20\n", + "# Idle Noise\n", + "PAULI_CHANNEL_1(0.00030660, 0.00030660, 0.00046390) 7 8 9 10 11 12 13 21 22 23 24 25 26 27 28 29 30 31 32 33 34\n", + "I_ERROR[loss](0.00000000) 7 8 9 10 11 12 13 21 22 23 24 25 26 27 28 29 30 31 32 33 34\n", + "CZ 0 7 1 8 2 9 3 10 4 11 5 12 6 13 14 21 15 22 16 23 17 24 18 25 19 26 20 27\n", + "# CZ Paired Noise\n", + "PAULI_CHANNEL_2(0.00022747, 0.00022747, 0.00151278, 0.00022747, 0.00014286, 0.00014286, 0.00014308, 0.00022747, 0.00014286, 0.00014286, 0.00014308, 0.00151278, 0.00014308, 0.00014308, 0.00142814) 0 7 1 8 2 9 3 10 4 11 5 12 6 13 14 21 15 22 16 23 17 24 18 25 19 26 20 27\n", + "I_ERROR[correlated_loss:0](0.00000000) 0 7\n", + "I_ERROR[correlated_loss:1](0.00000000) 1 8\n", + "I_ERROR[correlated_loss:2](0.00000000) 2 9\n", + "I_ERROR[correlated_loss:3](0.00000000) 3 10\n", + "I_ERROR[correlated_loss:4](0.00000000) 4 11\n", + "I_ERROR[correlated_loss:5](0.00000000) 5 12\n", + "I_ERROR[correlated_loss:6](0.00000000) 6 13\n", + "I_ERROR[correlated_loss:7](0.00000000) 14 21\n", + "I_ERROR[correlated_loss:8](0.00000000) 15 22\n", + "I_ERROR[correlated_loss:9](0.00000000) 16 23\n", + "I_ERROR[correlated_loss:10](0.00000000) 17 24\n", + "I_ERROR[correlated_loss:11](0.00000000) 18 25\n", + "I_ERROR[correlated_loss:12](0.00000000) 19 26\n", + "I_ERROR[correlated_loss:13](0.00000000) 20 27\n", + "# CZ Unpaired Noise\n", + "PAULI_CHANNEL_1(0.00051490, 0.00051490, 0.00218500) 28 29 30 31 32 33 34\n", + "I_ERROR[loss](0.00000000) 28 29 30 31 32 33 34\n", + "# Lane Noise\n", + "PAULI_CHANNEL_1(0.00080600, 0.00080600, 0.00245800) 0\n", + "I_ERROR[loss](0.00000000) 0\n", + "# Lane Noise\n", + "PAULI_CHANNEL_1(0.00080600, 0.00080600, 0.00245800) 1\n", + "I_ERROR[loss](0.00000000) 1\n", + "# Lane Noise\n", + "PAULI_CHANNEL_1(0.00080600, 0.00080600, 0.00245800) 2\n", + "I_ERROR[loss](0.00000000) 2\n", + "# Lane Noise\n", + "PAULI_CHANNEL_1(0.00080600, 0.00080600, 0.00245800) 3\n", + "I_ERROR[loss](0.00000000) 3\n", + "# Lane Noise\n", + "PAULI_CHANNEL_1(0.00080600, 0.00080600, 0.00245800) 4\n", + "I_ERROR[loss](0.00000000) 4\n", + "# Lane Noise\n", + "PAULI_CHANNEL_1(0.00080600, 0.00080600, 0.00245800) 5\n", + "I_ERROR[loss](0.00000000) 5\n", + "# Lane Noise\n", + "PAULI_CHANNEL_1(0.00080600, 0.00080600, 0.00245800) 6\n", + "I_ERROR[loss](0.00000000) 6\n", + "# Lane Noise\n", + "PAULI_CHANNEL_1(0.00080600, 0.00080600, 0.00245800) 14\n", + "I_ERROR[loss](0.00000000) 14\n", + "# Lane Noise\n", + "PAULI_CHANNEL_1(0.00080600, 0.00080600, 0.00245800) 15\n", + "I_ERROR[loss](0.00000000) 15\n", + "# Lane Noise\n", + "PAULI_CHANNEL_1(0.00080600, 0.00080600, 0.00245800) 16\n", + "I_ERROR[loss](0.00000000) 16\n", + "# Lane Noise\n", + "PAULI_CHANNEL_1(0.00080600, 0.00080600, 0.00245800) 17\n", + "I_ERROR[loss](0.00000000) 17\n", + "# Lane Noise\n", + "PAULI_CHANNEL_1(0.00080600, 0.00080600, 0.00245800) 18\n", + "I_ERROR[loss](0.00000000) 18\n", + "# Lane Noise\n", + "PAULI_CHANNEL_1(0.00080600, 0.00080600, 0.00245800) 19\n", + "I_ERROR[loss](0.00000000) 19\n", + "# Lane Noise\n", + "PAULI_CHANNEL_1(0.00080600, 0.00080600, 0.00245800) 20\n", + "I_ERROR[loss](0.00000000) 20\n", + "# Idle Noise\n", + "PAULI_CHANNEL_1(0.00030660, 0.00030660, 0.00046390) 7 8 9 10 11 12 13 21 22 23 24 25 26 27 28 29 30 31 32 33 34\n", + "I_ERROR[loss](0.00000000) 7 8 9 10 11 12 13 21 22 23 24 25 26 27 28 29 30 31 32 33 34\n", + "SQRT_Y 0 1 2 3 4 5 6 21 22 23 24 25 26 27\n", + "# Local Gate Noise\n", + "PAULI_CHANNEL_1(0.00041020, 0.00041020, 0.00041120) 0 1 2 3 4 5 6 21 22 23 24 25 26 27\n", + "I_ERROR[loss](0.00000000) 0 1 2 3 4 5 6 21 22 23 24 25 26 27\n", + "# Lane Noise\n", + "PAULI_CHANNEL_1(0.00080600, 0.00080600, 0.00245800) 14\n", + "I_ERROR[loss](0.00000000) 14\n", + "# Lane Noise\n", + "PAULI_CHANNEL_1(0.00080600, 0.00080600, 0.00245800) 15\n", + "I_ERROR[loss](0.00000000) 15\n", + "# Lane Noise\n", + "PAULI_CHANNEL_1(0.00080600, 0.00080600, 0.00245800) 16\n", + "I_ERROR[loss](0.00000000) 16\n", + "# Lane Noise\n", + "PAULI_CHANNEL_1(0.00080600, 0.00080600, 0.00245800) 17\n", + "I_ERROR[loss](0.00000000) 17\n", + "# Lane Noise\n", + "PAULI_CHANNEL_1(0.00080600, 0.00080600, 0.00245800) 18\n", + "I_ERROR[loss](0.00000000) 18\n", + "# Lane Noise\n", + "PAULI_CHANNEL_1(0.00080600, 0.00080600, 0.00245800) 19\n", + "I_ERROR[loss](0.00000000) 19\n", + "# Lane Noise\n", + "PAULI_CHANNEL_1(0.00080600, 0.00080600, 0.00245800) 20\n", + "I_ERROR[loss](0.00000000) 20\n", + "# Idle Noise\n", + "PAULI_CHANNEL_1(0.00030660, 0.00030660, 0.00046390) 0 1 2 3 4 5 6 7 8 9 10 11 12 13 21 22 23 24 25 26 27 28 29 30 31 32 33 34\n", + "I_ERROR[loss](0.00000000) 0 1 2 3 4 5 6 7 8 9 10 11 12 13 21 22 23 24 25 26 27 28 29 30 31 32 33 34\n", + "# Lane Noise\n", + "PAULI_CHANNEL_1(0.00080600, 0.00080600, 0.00245800) 28\n", + "I_ERROR[loss](0.00000000) 28\n", + "# Lane Noise\n", + "PAULI_CHANNEL_1(0.00080600, 0.00080600, 0.00245800) 29\n", + "I_ERROR[loss](0.00000000) 29\n", + "# Lane Noise\n", + "PAULI_CHANNEL_1(0.00080600, 0.00080600, 0.00245800) 30\n", + "I_ERROR[loss](0.00000000) 30\n", + "# Lane Noise\n", + "PAULI_CHANNEL_1(0.00080600, 0.00080600, 0.00245800) 31\n", + "I_ERROR[loss](0.00000000) 31\n", + "# Lane Noise\n", + "PAULI_CHANNEL_1(0.00080600, 0.00080600, 0.00245800) 32\n", + "I_ERROR[loss](0.00000000) 32\n", + "# Lane Noise\n", + "PAULI_CHANNEL_1(0.00080600, 0.00080600, 0.00245800) 33\n", + "I_ERROR[loss](0.00000000) 33\n", + "# Lane Noise\n", + "PAULI_CHANNEL_1(0.00080600, 0.00080600, 0.00245800) 34\n", + "I_ERROR[loss](0.00000000) 34\n", + "# Idle Noise\n", + "PAULI_CHANNEL_1(0.00030660, 0.00030660, 0.00046390) 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\n", + "I_ERROR[loss](0.00000000) 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\n", + "CZ 0 14 1 15 2 16 3 17 4 18 5 19 6 20 21 28 22 29 23 30 24 31 25 32 26 33 27 34\n", + "# CZ Paired Noise\n", + "PAULI_CHANNEL_2(0.00022747, 0.00022747, 0.00151278, 0.00022747, 0.00014286, 0.00014286, 0.00014308, 0.00022747, 0.00014286, 0.00014286, 0.00014308, 0.00151278, 0.00014308, 0.00014308, 0.00142814) 0 14 1 15 2 16 3 17 4 18 5 19 6 20 21 28 22 29 23 30 24 31 25 32 26 33 27 34\n", + "I_ERROR[correlated_loss:14](0.00000000) 0 14\n", + "I_ERROR[correlated_loss:15](0.00000000) 1 15\n", + "I_ERROR[correlated_loss:16](0.00000000) 2 16\n", + "I_ERROR[correlated_loss:17](0.00000000) 3 17\n", + "I_ERROR[correlated_loss:18](0.00000000) 4 18\n", + "I_ERROR[correlated_loss:19](0.00000000) 5 19\n", + "I_ERROR[correlated_loss:20](0.00000000) 6 20\n", + "I_ERROR[correlated_loss:21](0.00000000) 21 28\n", + "I_ERROR[correlated_loss:22](0.00000000) 22 29\n", + "I_ERROR[correlated_loss:23](0.00000000) 23 30\n", + "I_ERROR[correlated_loss:24](0.00000000) 24 31\n", + "I_ERROR[correlated_loss:25](0.00000000) 25 32\n", + "I_ERROR[correlated_loss:26](0.00000000) 26 33\n", + "I_ERROR[correlated_loss:27](0.00000000) 27 34\n", + "# CZ Unpaired Noise\n", + "PAULI_CHANNEL_1(0.00051490, 0.00051490, 0.00218500) 7 8 9 10 11 12 13\n", + "I_ERROR[loss](0.00000000) 7 8 9 10 11 12 13\n", + "# Lane Noise\n", + "PAULI_CHANNEL_1(0.00080600, 0.00080600, 0.00245800) 28\n", + "I_ERROR[loss](0.00000000) 28\n", + "# Lane Noise\n", + "PAULI_CHANNEL_1(0.00080600, 0.00080600, 0.00245800) 29\n", + "I_ERROR[loss](0.00000000) 29\n", + "# Lane Noise\n", + "PAULI_CHANNEL_1(0.00080600, 0.00080600, 0.00245800) 30\n", + "I_ERROR[loss](0.00000000) 30\n", + "# Lane Noise\n", + "PAULI_CHANNEL_1(0.00080600, 0.00080600, 0.00245800) 31\n", + "I_ERROR[loss](0.00000000) 31\n", + "# Lane Noise\n", + "PAULI_CHANNEL_1(0.00080600, 0.00080600, 0.00245800) 32\n", + "I_ERROR[loss](0.00000000) 32\n", + "# Lane Noise\n", + "PAULI_CHANNEL_1(0.00080600, 0.00080600, 0.00245800) 33\n", + "I_ERROR[loss](0.00000000) 33\n", + "# Lane Noise\n", + "PAULI_CHANNEL_1(0.00080600, 0.00080600, 0.00245800) 34\n", + "I_ERROR[loss](0.00000000) 34\n", + "# Idle Noise\n", + "PAULI_CHANNEL_1(0.00030660, 0.00030660, 0.00046390) 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\n", + "I_ERROR[loss](0.00000000) 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\n", + "# Lane Noise\n", + "PAULI_CHANNEL_1(0.00080600, 0.00080600, 0.00245800) 14\n", + "I_ERROR[loss](0.00000000) 14\n", + "# Lane Noise\n", + "PAULI_CHANNEL_1(0.00080600, 0.00080600, 0.00245800) 15\n", + "I_ERROR[loss](0.00000000) 15\n", + "# Lane Noise\n", + "PAULI_CHANNEL_1(0.00080600, 0.00080600, 0.00245800) 16\n", + "I_ERROR[loss](0.00000000) 16\n", + "# Lane Noise\n", + "PAULI_CHANNEL_1(0.00080600, 0.00080600, 0.00245800) 17\n", + "I_ERROR[loss](0.00000000) 17\n", + "# Lane Noise\n", + "PAULI_CHANNEL_1(0.00080600, 0.00080600, 0.00245800) 18\n", + "I_ERROR[loss](0.00000000) 18\n", + "# Lane Noise\n", + "PAULI_CHANNEL_1(0.00080600, 0.00080600, 0.00245800) 19\n", + "I_ERROR[loss](0.00000000) 19\n", + "# Lane Noise\n", + "PAULI_CHANNEL_1(0.00080600, 0.00080600, 0.00245800) 20\n", + "I_ERROR[loss](0.00000000) 20\n", + "# Idle Noise\n", + "PAULI_CHANNEL_1(0.00030660, 0.00030660, 0.00046390) 0 1 2 3 4 5 6 7 8 9 10 11 12 13 21 22 23 24 25 26 27 28 29 30 31 32 33 34\n", + "I_ERROR[loss](0.00000000) 0 1 2 3 4 5 6 7 8 9 10 11 12 13 21 22 23 24 25 26 27 28 29 30 31 32 33 34\n", + "SQRT_X_DAG 0 1 2 3 4 5 6\n", + "# Local Gate Noise\n", + "PAULI_CHANNEL_1(0.00041020, 0.00041020, 0.00041120) 0 1 2 3 4 5 6\n", + "I_ERROR[loss](0.00000000) 0 1 2 3 4 5 6\n", + "# Lane Noise\n", + "PAULI_CHANNEL_1(0.00080600, 0.00080600, 0.00245800) 28\n", + "I_ERROR[loss](0.00000000) 28\n", + "# Lane Noise\n", + "PAULI_CHANNEL_1(0.00080600, 0.00080600, 0.00245800) 29\n", + "I_ERROR[loss](0.00000000) 29\n", + "# Lane Noise\n", + "PAULI_CHANNEL_1(0.00080600, 0.00080600, 0.00245800) 30\n", + "I_ERROR[loss](0.00000000) 30\n", + "# Lane Noise\n", + "PAULI_CHANNEL_1(0.00080600, 0.00080600, 0.00245800) 31\n", + "I_ERROR[loss](0.00000000) 31\n", + "# Lane Noise\n", + "PAULI_CHANNEL_1(0.00080600, 0.00080600, 0.00245800) 32\n", + "I_ERROR[loss](0.00000000) 32\n", + "# Lane Noise\n", + "PAULI_CHANNEL_1(0.00080600, 0.00080600, 0.00245800) 33\n", + "I_ERROR[loss](0.00000000) 33\n", + "# Lane Noise\n", + "PAULI_CHANNEL_1(0.00080600, 0.00080600, 0.00245800) 34\n", + "I_ERROR[loss](0.00000000) 34\n", + "# Idle Noise\n", + "PAULI_CHANNEL_1(0.00030660, 0.00030660, 0.00046390) 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\n", + "I_ERROR[loss](0.00000000) 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\n", + "# Lane Noise\n", + "PAULI_CHANNEL_1(0.00080600, 0.00080600, 0.00245800) 21\n", + "I_ERROR[loss](0.00000000) 21\n", + "# Lane Noise\n", + "PAULI_CHANNEL_1(0.00080600, 0.00080600, 0.00245800) 22\n", + "I_ERROR[loss](0.00000000) 22\n", + "# Lane Noise\n", + "PAULI_CHANNEL_1(0.00080600, 0.00080600, 0.00245800) 23\n", + "I_ERROR[loss](0.00000000) 23\n", + "# Lane Noise\n", + "PAULI_CHANNEL_1(0.00080600, 0.00080600, 0.00245800) 24\n", + "I_ERROR[loss](0.00000000) 24\n", + "# Lane Noise\n", + "PAULI_CHANNEL_1(0.00080600, 0.00080600, 0.00245800) 25\n", + "I_ERROR[loss](0.00000000) 25\n", + "# Lane Noise\n", + "PAULI_CHANNEL_1(0.00080600, 0.00080600, 0.00245800) 26\n", + "I_ERROR[loss](0.00000000) 26\n", + "# Lane Noise\n", + "PAULI_CHANNEL_1(0.00080600, 0.00080600, 0.00245800) 27\n", + "I_ERROR[loss](0.00000000) 27\n", + "# Idle Noise\n", + "PAULI_CHANNEL_1(0.00030660, 0.00030660, 0.00046390) 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 28 29 30 31 32 33 34\n", + "I_ERROR[loss](0.00000000) 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 28 29 30 31 32 33 34\n", + "CZ 0 28 1 29 2 30 3 31 4 32 5 33 6 34 7 21 8 22 9 23 10 24 11 25 12 26 13 27\n", + "# CZ Paired Noise\n", + "PAULI_CHANNEL_2(0.00022747, 0.00022747, 0.00151278, 0.00022747, 0.00014286, 0.00014286, 0.00014308, 0.00022747, 0.00014286, 0.00014286, 0.00014308, 0.00151278, 0.00014308, 0.00014308, 0.00142814) 0 28 1 29 2 30 3 31 4 32 5 33 6 34 7 21 8 22 9 23 10 24 11 25 12 26 13 27\n", + "I_ERROR[correlated_loss:28](0.00000000) 0 28\n", + "I_ERROR[correlated_loss:29](0.00000000) 1 29\n", + "I_ERROR[correlated_loss:30](0.00000000) 2 30\n", + "I_ERROR[correlated_loss:31](0.00000000) 3 31\n", + "I_ERROR[correlated_loss:32](0.00000000) 4 32\n", + "I_ERROR[correlated_loss:33](0.00000000) 5 33\n", + "I_ERROR[correlated_loss:34](0.00000000) 6 34\n", + "I_ERROR[correlated_loss:35](0.00000000) 7 21\n", + "I_ERROR[correlated_loss:36](0.00000000) 8 22\n", + "I_ERROR[correlated_loss:37](0.00000000) 9 23\n", + "I_ERROR[correlated_loss:38](0.00000000) 10 24\n", + "I_ERROR[correlated_loss:39](0.00000000) 11 25\n", + "I_ERROR[correlated_loss:40](0.00000000) 12 26\n", + "I_ERROR[correlated_loss:41](0.00000000) 13 27\n", + "# CZ Unpaired Noise\n", + "PAULI_CHANNEL_1(0.00051490, 0.00051490, 0.00218500) 14 15 16 17 18 19 20\n", + "I_ERROR[loss](0.00000000) 14 15 16 17 18 19 20\n", + "# Lane Noise\n", + "PAULI_CHANNEL_1(0.00080600, 0.00080600, 0.00245800) 21\n", + "I_ERROR[loss](0.00000000) 21\n", + "# Lane Noise\n", + "PAULI_CHANNEL_1(0.00080600, 0.00080600, 0.00245800) 22\n", + "I_ERROR[loss](0.00000000) 22\n", + "# Lane Noise\n", + "PAULI_CHANNEL_1(0.00080600, 0.00080600, 0.00245800) 23\n", + "I_ERROR[loss](0.00000000) 23\n", + "# Lane Noise\n", + "PAULI_CHANNEL_1(0.00080600, 0.00080600, 0.00245800) 24\n", + "I_ERROR[loss](0.00000000) 24\n", + "# Lane Noise\n", + "PAULI_CHANNEL_1(0.00080600, 0.00080600, 0.00245800) 25\n", + "I_ERROR[loss](0.00000000) 25\n", + "# Lane Noise\n", + "PAULI_CHANNEL_1(0.00080600, 0.00080600, 0.00245800) 26\n", + "I_ERROR[loss](0.00000000) 26\n", + "# Lane Noise\n", + "PAULI_CHANNEL_1(0.00080600, 0.00080600, 0.00245800) 27\n", + "I_ERROR[loss](0.00000000) 27\n", + "# Idle Noise\n", + "PAULI_CHANNEL_1(0.00030660, 0.00030660, 0.00046390) 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 28 29 30 31 32 33 34\n", + "I_ERROR[loss](0.00000000) 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 28 29 30 31 32 33 34\n", + "# Lane Noise\n", + "PAULI_CHANNEL_1(0.00080600, 0.00080600, 0.00245800) 28\n", + "I_ERROR[loss](0.00000000) 28\n", + "# Lane Noise\n", + "PAULI_CHANNEL_1(0.00080600, 0.00080600, 0.00245800) 29\n", + "I_ERROR[loss](0.00000000) 29\n", + "# Lane Noise\n", + "PAULI_CHANNEL_1(0.00080600, 0.00080600, 0.00245800) 30\n", + "I_ERROR[loss](0.00000000) 30\n", + "# Lane Noise\n", + "PAULI_CHANNEL_1(0.00080600, 0.00080600, 0.00245800) 31\n", + "I_ERROR[loss](0.00000000) 31\n", + "# Lane Noise\n", + "PAULI_CHANNEL_1(0.00080600, 0.00080600, 0.00245800) 32\n", + "I_ERROR[loss](0.00000000) 32\n", + "# Lane Noise\n", + "PAULI_CHANNEL_1(0.00080600, 0.00080600, 0.00245800) 33\n", + "I_ERROR[loss](0.00000000) 33\n", + "# Lane Noise\n", + "PAULI_CHANNEL_1(0.00080600, 0.00080600, 0.00245800) 34\n", + "I_ERROR[loss](0.00000000) 34\n", + "# Idle Noise\n", + "PAULI_CHANNEL_1(0.00030660, 0.00030660, 0.00046390) 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\n", + "I_ERROR[loss](0.00000000) 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\n", + "SQRT_Y_DAG 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\n", + "# Global Gate Noise\n", + "PAULI_CHANNEL_1(0.00006500, 0.00006500, 0.00006500) 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\n", + "I_ERROR[loss](0.00000000) 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\n", + "MZ(0.00000000) 0\n", + "MZ(0.00000000) 1\n", + "MZ(0.00000000) 2\n", + "MZ(0.00000000) 3\n", + "MZ(0.00000000) 4\n", + "MZ(0.00000000) 5\n", + "MZ(0.00000000) 6\n", + "MZ(0.00000000) 7\n", + "MZ(0.00000000) 8\n", + "MZ(0.00000000) 9\n", + "MZ(0.00000000) 10\n", + "MZ(0.00000000) 11\n", + "MZ(0.00000000) 12\n", + "MZ(0.00000000) 13\n", + "MZ(0.00000000) 14\n", + "MZ(0.00000000) 15\n", + "MZ(0.00000000) 16\n", + "MZ(0.00000000) 17\n", + "MZ(0.00000000) 18\n", + "MZ(0.00000000) 19\n", + "MZ(0.00000000) 20\n", + "MZ(0.00000000) 21\n", + "MZ(0.00000000) 22\n", + "MZ(0.00000000) 23\n", + "MZ(0.00000000) 24\n", + "MZ(0.00000000) 25\n", + "MZ(0.00000000) 26\n", + "MZ(0.00000000) 27\n", + "MZ(0.00000000) 28\n", + "MZ(0.00000000) 29\n", + "MZ(0.00000000) 30\n", + "MZ(0.00000000) 31\n", + "MZ(0.00000000) 32\n", + "MZ(0.00000000) 33\n", + "MZ(0.00000000) 34\n", + "DETECTOR(0, 0) rec[-35] rec[-34] rec[-33] rec[-32]\n", + "DETECTOR(0, 1) rec[-34] rec[-33] rec[-31] rec[-30]\n", + "DETECTOR(0, 2) rec[-33] rec[-32] rec[-31] rec[-29]\n", + "OBSERVABLE_INCLUDE(0) rec[-35] rec[-34] rec[-30]\n", + "DETECTOR(0, 0) rec[-28] rec[-27] rec[-26] rec[-25]\n", + "DETECTOR(0, 1) rec[-27] rec[-26] rec[-24] rec[-23]\n", + "DETECTOR(0, 2) rec[-26] rec[-25] rec[-24] rec[-22]\n", + "OBSERVABLE_INCLUDE(1) rec[-28] rec[-27] rec[-23]\n", + "DETECTOR(0, 0) rec[-21] rec[-20] rec[-19] rec[-18]\n", + "DETECTOR(0, 1) rec[-20] rec[-19] rec[-17] rec[-16]\n", + "DETECTOR(0, 2) rec[-19] rec[-18] rec[-17] rec[-15]\n", + "OBSERVABLE_INCLUDE(2) rec[-21] rec[-20] rec[-16]\n", + "DETECTOR(0, 0) rec[-14] rec[-13] rec[-12] rec[-11]\n", + "DETECTOR(0, 1) rec[-13] rec[-12] rec[-10] rec[-9]\n", + "DETECTOR(0, 2) rec[-12] rec[-11] rec[-10] rec[-8]\n", + "OBSERVABLE_INCLUDE(3) rec[-14] rec[-13] rec[-9]\n", + "DETECTOR(0, 0) rec[-7] rec[-6] rec[-5] rec[-4]\n", + "DETECTOR(0, 1) rec[-6] rec[-5] rec[-3] rec[-2]\n", + "DETECTOR(0, 2) rec[-5] rec[-4] rec[-3] rec[-1]\n", + "OBSERVABLE_INCLUDE(4) rec[-7] rec[-6] rec[-2]\n" + ] + } + ], + "source": [ + "print(program)" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "id": "a13ef65d", + "metadata": {}, + "outputs": [], + "source": [ + "# TODO: implicitly uses stim as a dependency, which MAY be a problem.\n", + "import stim" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "id": "530264c8", + "metadata": {}, + "outputs": [], + "source": [ + "circuit = stim.Circuit(program)" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "id": "a50dbe4d", + "metadata": {}, + "outputs": [ + { + "data": { + "image/svg+xml": [ + "\n", + "\n", + "\n", + "q0\n", + "\n", + "q1\n", + "\n", + "q2\n", + "\n", + "q3\n", + "\n", + "q4\n", + "\n", + "q5\n", + "\n", + "q6\n", + "\n", + "q7\n", + "\n", + "q8\n", + "\n", + "q9\n", + "\n", + "q10\n", + "\n", + "q11\n", + "\n", + "q12\n", + "\n", + "q13\n", + "\n", + "q14\n", + "\n", + "q15\n", + "\n", + "q16\n", + "\n", + "q17\n", + "\n", + "q18\n", + "\n", + "q19\n", + "\n", + "q20\n", + "\n", + "q21\n", + "\n", + "q22\n", + "\n", + "q23\n", + "\n", + "q24\n", + "\n", + "q25\n", + "\n", + "q26\n", + "\n", + "q27\n", + "\n", + "q28\n", + "\n", + "q29\n", + "\n", + "q30\n", + "\n", + "q31\n", + "\n", + "q32\n", + "\n", + "q33\n", + "\n", + "q34\n", + "\n", + "\n", + "I\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "√Y\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "X\n", + "\n", + "Z\n", + "\n", + "Z\n", + "\n", + "I\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "√Y\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "X\n", + "\n", + "Z\n", + "\n", + "Z\n", + "\n", + "I\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "√Y\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "X\n", + "\n", + "Z\n", + "\n", + "Z\n", + "\n", + "I\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "√Y\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "X\n", + "\n", + "Z\n", + "\n", + "Z\n", + "\n", + "I\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "√Y\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "X\n", + "\n", + "Z\n", + "\n", + "Z\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "M\n", + "0\n", + "rec[0]\n", + "\n", + "M\n", + "0\n", + "rec[1]\n", + "\n", + "M\n", + "0\n", + "rec[2]\n", + "\n", + "M\n", + "0\n", + "rec[3]\n", + "\n", + "M\n", + "0\n", + "rec[4]\n", + "\n", + "M\n", + "0\n", + "rec[5]\n", + "\n", + "M\n", + "0\n", + "rec[6]\n", + "\n", + "M\n", + "0\n", + "rec[7]\n", + "\n", + "M\n", + "0\n", + "rec[8]\n", + "\n", + "M\n", + "0\n", + "rec[9]\n", + "\n", + "M\n", + "0\n", + "rec[10]\n", + "\n", + "M\n", + "0\n", + "rec[11]\n", + "\n", + "M\n", + "0\n", + "rec[12]\n", + "\n", + "M\n", + "0\n", + "rec[13]\n", + "\n", + "M\n", + "0\n", + "rec[14]\n", + "\n", + "M\n", + "0\n", + "rec[15]\n", + "\n", + "M\n", + "0\n", + "rec[16]\n", + "\n", + "M\n", + "0\n", + "rec[17]\n", + "\n", + "M\n", + "0\n", + "rec[18]\n", + "\n", + "M\n", + "0\n", + "rec[19]\n", + "\n", + "M\n", + "0\n", + "rec[20]\n", + "\n", + "M\n", + "0\n", + "rec[21]\n", + "\n", + "M\n", + "0\n", + "rec[22]\n", + "\n", + "M\n", + "0\n", + "rec[23]\n", + "\n", + "M\n", + "0\n", + "rec[24]\n", + "\n", + "M\n", + "0\n", + "rec[25]\n", + "\n", + "M\n", + "0\n", + "rec[26]\n", + "\n", + "M\n", + "0\n", + "rec[27]\n", + "\n", + "M\n", + "0\n", + "rec[28]\n", + "\n", + "M\n", + "0\n", + "rec[29]\n", + "\n", + "M\n", + "0\n", + "rec[30]\n", + "\n", + "M\n", + "0\n", + "rec[31]\n", + "\n", + "M\n", + "0\n", + "rec[32]\n", + "\n", + "M\n", + "0\n", + "rec[33]\n", + "\n", + "M\n", + "0\n", + "rec[34]\n", + "\n", + "DETECTOR\n", + "coords=(0,0)\n", + "D0 = rec[0]*rec[1]*rec[2]*rec[3]\n", + "\n", + "DETECTOR\n", + "coords=(0,1)\n", + "D1 = rec[1]*rec[2]*rec[4]*rec[5]\n", + "\n", + "DETECTOR\n", + "coords=(0,2)\n", + "D2 = rec[2]*rec[3]*rec[4]*rec[6]\n", + "\n", + "OBS_INCLUDE(0)\n", + "L0 *= rec[0]*rec[1]*rec[5]\n", + "\n", + "DETECTOR\n", + "coords=(0,0)\n", + "D3 = rec[7]*rec[8]*rec[9]*rec[10]\n", + "\n", + "DETECTOR\n", + "coords=(0,1)\n", + "D4 = rec[8]*rec[9]*rec[11]*rec[12]\n", + "\n", + "DETECTOR\n", + "coords=(0,2)\n", + "D5 = rec[9]*rec[10]*rec[11]*rec[13]\n", + "\n", + "OBS_INCLUDE(1)\n", + "L1 *= rec[7]*rec[8]*rec[12]\n", + "\n", + "DETECTOR\n", + "coords=(0,0)\n", + "D6 = rec[14]*rec[15]*rec[16]*rec[17]\n", + "\n", + "DETECTOR\n", + "coords=(0,1)\n", + "D7 = rec[15]*rec[16]*rec[18]*rec[19]\n", + "\n", + "DETECTOR\n", + "coords=(0,2)\n", + "D8 = rec[16]*rec[17]*rec[18]*rec[20]\n", + "\n", + "OBS_INCLUDE(2)\n", + "L2 *= rec[14]*rec[15]*rec[19]\n", + "\n", + "DETECTOR\n", + "coords=(0,0)\n", + "D9 = rec[21]*rec[22]*rec[23]*rec[24]\n", + "\n", + "DETECTOR\n", + "coords=(0,1)\n", + "D10 = rec[22]*rec[23]*rec[25]*rec[26]\n", + "\n", + "DETECTOR\n", + "coords=(0,2)\n", + "D11 = rec[23]*rec[24]*rec[25]*rec[27]\n", + "\n", + "OBS_INCLUDE(3)\n", + "L3 *= rec[21]*rec[22]*rec[26]\n", + "\n", + "DETECTOR\n", + "coords=(0,0)\n", + "D12 = rec[28]*rec[29]*rec[30]*rec[31]\n", + "\n", + "DETECTOR\n", + "coords=(0,1)\n", + "D13 = rec[29]*rec[30]*rec[32]*rec[33]\n", + "\n", + "DETECTOR\n", + "coords=(0,2)\n", + "D14 = rec[30]*rec[31]*rec[32]*rec[34]\n", + "\n", + "OBS_INCLUDE(4)\n", + "L4 *= rec[28]*rec[29]*rec[33]\n", + "" + ], + "text/plain": [ + "\n", + "\n", + "\n", + "q0\n", + "\n", + "q1\n", + "\n", + "q2\n", + "\n", + "q3\n", + "\n", + "q4\n", + "\n", + "q5\n", + "\n", + "q6\n", + "\n", + "q7\n", + "\n", + "q8\n", + "\n", + "q9\n", + "\n", + "q10\n", + "\n", + "q11\n", + "\n", + "q12\n", + "\n", + "q13\n", + "\n", + "q14\n", + "\n", + "q15\n", + "\n", + "q16\n", + "\n", + "q17\n", + "\n", + "q18\n", + "\n", + "q19\n", + "\n", + "q20\n", + "\n", + "q21\n", + "\n", + "q22\n", + "\n", + "q23\n", + "\n", + "q24\n", + "\n", + "q25\n", + "\n", + "q26\n", + "\n", + "q27\n", + "\n", + "q28\n", + "\n", + "q29\n", + "\n", + "q30\n", + "\n", + "q31\n", + "\n", + "q32\n", + "\n", + "q33\n", + "\n", + "q34\n", + "\n", + "\n", + "I\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "√Y\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "X\n", + "\n", + "Z\n", + "\n", + "Z\n", + "\n", + "I\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "√Y\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "X\n", + "\n", + "Z\n", + "\n", + "Z\n", + "\n", + "I\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "√Y\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "X\n", + "\n", + "Z\n", + "\n", + "Z\n", + "\n", + "I\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "√Y\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "X\n", + "\n", + "Z\n", + "\n", + "Z\n", + "\n", + "I\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "√Y\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "X\n", + "\n", + "Z\n", + "\n", + "Z\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "M\n", + "0\n", + "rec[0]\n", + "\n", + "M\n", + "0\n", + "rec[1]\n", + "\n", + "M\n", + "0\n", + "rec[2]\n", + "\n", + "M\n", + "0\n", + "rec[3]\n", + "\n", + "M\n", + "0\n", + "rec[4]\n", + "\n", + "M\n", + "0\n", + "rec[5]\n", + "\n", + "M\n", + "0\n", + "rec[6]\n", + "\n", + "M\n", + "0\n", + "rec[7]\n", + "\n", + "M\n", + "0\n", + "rec[8]\n", + "\n", + "M\n", + "0\n", + "rec[9]\n", + "\n", + "M\n", + "0\n", + "rec[10]\n", + "\n", + "M\n", + "0\n", + "rec[11]\n", + "\n", + "M\n", + "0\n", + "rec[12]\n", + "\n", + "M\n", + "0\n", + "rec[13]\n", + "\n", + "M\n", + "0\n", + "rec[14]\n", + "\n", + "M\n", + "0\n", + "rec[15]\n", + "\n", + "M\n", + "0\n", + "rec[16]\n", + "\n", + "M\n", + "0\n", + "rec[17]\n", + "\n", + "M\n", + "0\n", + "rec[18]\n", + "\n", + "M\n", + "0\n", + "rec[19]\n", + "\n", + "M\n", + "0\n", + "rec[20]\n", + "\n", + "M\n", + "0\n", + "rec[21]\n", + "\n", + "M\n", + "0\n", + "rec[22]\n", + "\n", + "M\n", + "0\n", + "rec[23]\n", + "\n", + "M\n", + "0\n", + "rec[24]\n", + "\n", + "M\n", + "0\n", + "rec[25]\n", + "\n", + "M\n", + "0\n", + "rec[26]\n", + "\n", + "M\n", + "0\n", + "rec[27]\n", + "\n", + "M\n", + "0\n", + "rec[28]\n", + "\n", + "M\n", + "0\n", + "rec[29]\n", + "\n", + "M\n", + "0\n", + "rec[30]\n", + "\n", + "M\n", + "0\n", + "rec[31]\n", + "\n", + "M\n", + "0\n", + "rec[32]\n", + "\n", + "M\n", + "0\n", + "rec[33]\n", + "\n", + "M\n", + "0\n", + "rec[34]\n", + "\n", + "DETECTOR\n", + "coords=(0,0)\n", + "D0 = rec[0]*rec[1]*rec[2]*rec[3]\n", + "\n", + "DETECTOR\n", + "coords=(0,1)\n", + "D1 = rec[1]*rec[2]*rec[4]*rec[5]\n", + "\n", + "DETECTOR\n", + "coords=(0,2)\n", + "D2 = rec[2]*rec[3]*rec[4]*rec[6]\n", + "\n", + "OBS_INCLUDE(0)\n", + "L0 *= rec[0]*rec[1]*rec[5]\n", + "\n", + "DETECTOR\n", + "coords=(0,0)\n", + "D3 = rec[7]*rec[8]*rec[9]*rec[10]\n", + "\n", + "DETECTOR\n", + "coords=(0,1)\n", + "D4 = rec[8]*rec[9]*rec[11]*rec[12]\n", + "\n", + "DETECTOR\n", + "coords=(0,2)\n", + "D5 = rec[9]*rec[10]*rec[11]*rec[13]\n", + "\n", + "OBS_INCLUDE(1)\n", + "L1 *= rec[7]*rec[8]*rec[12]\n", + "\n", + "DETECTOR\n", + "coords=(0,0)\n", + "D6 = rec[14]*rec[15]*rec[16]*rec[17]\n", + "\n", + "DETECTOR\n", + "coords=(0,1)\n", + "D7 = rec[15]*rec[16]*rec[18]*rec[19]\n", + "\n", + "DETECTOR\n", + "coords=(0,2)\n", + "D8 = rec[16]*rec[17]*rec[18]*rec[20]\n", + "\n", + "OBS_INCLUDE(2)\n", + "L2 *= rec[14]*rec[15]*rec[19]\n", + "\n", + "DETECTOR\n", + "coords=(0,0)\n", + "D9 = rec[21]*rec[22]*rec[23]*rec[24]\n", + "\n", + "DETECTOR\n", + "coords=(0,1)\n", + "D10 = rec[22]*rec[23]*rec[25]*rec[26]\n", + "\n", + "DETECTOR\n", + "coords=(0,2)\n", + "D11 = rec[23]*rec[24]*rec[25]*rec[27]\n", + "\n", + "OBS_INCLUDE(3)\n", + "L3 *= rec[21]*rec[22]*rec[26]\n", + "\n", + "DETECTOR\n", + "coords=(0,0)\n", + "D12 = rec[28]*rec[29]*rec[30]*rec[31]\n", + "\n", + "DETECTOR\n", + "coords=(0,1)\n", + "D13 = rec[29]*rec[30]*rec[32]*rec[33]\n", + "\n", + "DETECTOR\n", + "coords=(0,2)\n", + "D14 = rec[30]*rec[31]*rec[32]*rec[34]\n", + "\n", + "OBS_INCLUDE(4)\n", + "L4 *= rec[28]*rec[29]*rec[33]\n", + "" + ] + }, + "execution_count": 20, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "circuit.diagram(\"timeline-svg\")" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "id": "290548a7", + "metadata": {}, + "outputs": [ + { + "data": { + "image/svg+xml": [ + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "I\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "√Y\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "X\n", + "\n", + "Z\n", + "\n", + "Z\n", + "\n", + "I\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "√Y\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "X\n", + "\n", + "Z\n", + "\n", + "Z\n", + "\n", + "I\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "√Y\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "X\n", + "\n", + "Z\n", + "\n", + "Z\n", + "\n", + "I\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "√Y\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "X\n", + "\n", + "Z\n", + "\n", + "Z\n", + "\n", + "I\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "√Y\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "X\n", + "\n", + "Z\n", + "\n", + "Z\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "M\n", + "0\n", + "\n", + "M\n", + "0\n", + "\n", + "M\n", + "0\n", + "\n", + "M\n", + "0\n", + "\n", + "M\n", + "0\n", + "\n", + "M\n", + "0\n", + "\n", + "M\n", + "0\n", + "\n", + "M\n", + "0\n", + "\n", + "M\n", + "0\n", + "\n", + "M\n", + "0\n", + "\n", + "M\n", + "0\n", + "\n", + "M\n", + "0\n", + "\n", + "M\n", + "0\n", + "\n", + "M\n", + "0\n", + "\n", + "M\n", + "0\n", + "\n", + "M\n", + "0\n", + "\n", + "M\n", + "0\n", + "\n", + "M\n", + "0\n", + "\n", + "M\n", + "0\n", + "\n", + "M\n", + "0\n", + "\n", + "M\n", + "0\n", + "\n", + "M\n", + "0\n", + "\n", + "M\n", + "0\n", + "\n", + "M\n", + "0\n", + "\n", + "M\n", + "0\n", + "\n", + "M\n", + "0\n", + "\n", + "M\n", + "0\n", + "\n", + "M\n", + "0\n", + "\n", + "M\n", + "0\n", + "\n", + "M\n", + "0\n", + "\n", + "M\n", + "0\n", + "\n", + "M\n", + "0\n", + "\n", + "M\n", + "0\n", + "\n", + "M\n", + "0\n", + "\n", + "M\n", + "0\n", + "" + ], + "text/plain": [ + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "I\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "√Y\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "X\n", + "\n", + "Z\n", + "\n", + "Z\n", + "\n", + "I\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "√Y\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "X\n", + "\n", + "Z\n", + "\n", + "Z\n", + "\n", + "I\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "√Y\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "X\n", + "\n", + "Z\n", + "\n", + "Z\n", + "\n", + "I\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "√Y\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "X\n", + "\n", + "Z\n", + "\n", + "Z\n", + "\n", + "I\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "√Y\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "X\n", + "\n", + "Z\n", + "\n", + "Z\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "M\n", + "0\n", + "\n", + "M\n", + "0\n", + "\n", + "M\n", + "0\n", + "\n", + "M\n", + "0\n", + "\n", + "M\n", + "0\n", + "\n", + "M\n", + "0\n", + "\n", + "M\n", + "0\n", + "\n", + "M\n", + "0\n", + "\n", + "M\n", + "0\n", + "\n", + "M\n", + "0\n", + "\n", + "M\n", + "0\n", + "\n", + "M\n", + "0\n", + "\n", + "M\n", + "0\n", + "\n", + "M\n", + "0\n", + "\n", + "M\n", + "0\n", + "\n", + "M\n", + "0\n", + "\n", + "M\n", + "0\n", + "\n", + "M\n", + "0\n", + "\n", + "M\n", + "0\n", + "\n", + "M\n", + "0\n", + "\n", + "M\n", + "0\n", + "\n", + "M\n", + "0\n", + "\n", + "M\n", + "0\n", + "\n", + "M\n", + "0\n", + "\n", + "M\n", + "0\n", + "\n", + "M\n", + "0\n", + "\n", + "M\n", + "0\n", + "\n", + "M\n", + "0\n", + "\n", + "M\n", + "0\n", + "\n", + "M\n", + "0\n", + "\n", + "M\n", + "0\n", + "\n", + "M\n", + "0\n", + "\n", + "M\n", + "0\n", + "\n", + "M\n", + "0\n", + "\n", + "M\n", + "0\n", + "" + ] + }, + "execution_count": 21, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "circuit.diagram('detslice-with-ops-svg', tick=range(0, 5), filter_coords=['L0', 'L1', 'L2'])" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "id": "e7670d53", + "metadata": {}, + "outputs": [ + { + "data": { + "image/svg+xml": [ + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "I\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "√Y\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "X\n", + "\n", + "Z\n", + "\n", + "Z\n", + "\n", + "I\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "√Y\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "X\n", + "\n", + "Z\n", + "\n", + "Z\n", + "\n", + "I\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "√Y\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "X\n", + "\n", + "Z\n", + "\n", + "Z\n", + "\n", + "I\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "√Y\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "X\n", + "\n", + "Z\n", + "\n", + "Z\n", + "\n", + "I\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "√Y\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "X\n", + "\n", + "Z\n", + "\n", + "Z\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "M\n", + "0\n", + "\n", + "M\n", + "0\n", + "\n", + "M\n", + "0\n", + "\n", + "M\n", + "0\n", + "\n", + "M\n", + "0\n", + "\n", + "M\n", + "0\n", + "\n", + "M\n", + "0\n", + "\n", + "M\n", + "0\n", + "\n", + "M\n", + "0\n", + "\n", + "M\n", + "0\n", + "\n", + "M\n", + "0\n", + "\n", + "M\n", + "0\n", + "\n", + "M\n", + "0\n", + "\n", + "M\n", + "0\n", + "\n", + "M\n", + "0\n", + "\n", + "M\n", + "0\n", + "\n", + "M\n", + "0\n", + "\n", + "M\n", + "0\n", + "\n", + "M\n", + "0\n", + "\n", + "M\n", + "0\n", + "\n", + "M\n", + "0\n", + "\n", + "M\n", + "0\n", + "\n", + "M\n", + "0\n", + "\n", + "M\n", + "0\n", + "\n", + "M\n", + "0\n", + "\n", + "M\n", + "0\n", + "\n", + "M\n", + "0\n", + "\n", + "M\n", + "0\n", + "\n", + "M\n", + "0\n", + "\n", + "M\n", + "0\n", + "\n", + "M\n", + "0\n", + "\n", + "M\n", + "0\n", + "\n", + "M\n", + "0\n", + "\n", + "M\n", + "0\n", + "\n", + "M\n", + "0\n", + "" + ], + "text/plain": [ + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "I\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "√Y\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "X\n", + "\n", + "Z\n", + "\n", + "Z\n", + "\n", + "I\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "√Y\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "X\n", + "\n", + "Z\n", + "\n", + "Z\n", + "\n", + "I\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "√Y\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "X\n", + "\n", + "Z\n", + "\n", + "Z\n", + "\n", + "I\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "√Y\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "X\n", + "\n", + "Z\n", + "\n", + "Z\n", + "\n", + "I\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "√Y\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "X\n", + "\n", + "Z\n", + "\n", + "Z\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "M\n", + "0\n", + "\n", + "M\n", + "0\n", + "\n", + "M\n", + "0\n", + "\n", + "M\n", + "0\n", + "\n", + "M\n", + "0\n", + "\n", + "M\n", + "0\n", + "\n", + "M\n", + "0\n", + "\n", + "M\n", + "0\n", + "\n", + "M\n", + "0\n", + "\n", + "M\n", + "0\n", + "\n", + "M\n", + "0\n", + "\n", + "M\n", + "0\n", + "\n", + "M\n", + "0\n", + "\n", + "M\n", + "0\n", + "\n", + "M\n", + "0\n", + "\n", + "M\n", + "0\n", + "\n", + "M\n", + "0\n", + "\n", + "M\n", + "0\n", + "\n", + "M\n", + "0\n", + "\n", + "M\n", + "0\n", + "\n", + "M\n", + "0\n", + "\n", + "M\n", + "0\n", + "\n", + "M\n", + "0\n", + "\n", + "M\n", + "0\n", + "\n", + "M\n", + "0\n", + "\n", + "M\n", + "0\n", + "\n", + "M\n", + "0\n", + "\n", + "M\n", + "0\n", + "\n", + "M\n", + "0\n", + "\n", + "M\n", + "0\n", + "\n", + "M\n", + "0\n", + "\n", + "M\n", + "0\n", + "\n", + "M\n", + "0\n", + "\n", + "M\n", + "0\n", + "\n", + "M\n", + "0\n", + "" + ] + }, + "execution_count": 22, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "circuit.diagram('detslice-with-ops-svg', tick=range(0, 5), filter_coords=['L0', 'L1', 'L2', ])" + ] + }, + { + "cell_type": "markdown", + "id": "344c91f9", + "metadata": {}, + "source": [ + "We use STIM to generate a detector error model from the physical circuit." + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "id": "c4ea2204", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "stim.DetectorErrorModel('''\n", + " error(0.00841086) D0 D1 D2\n", + " error(0.00109209) D0 D1 D2 D3 D4 D5\n", + " error(0.00230601) D0 D1 D2 D3 D4 D5 D6 D7 D8\n", + " error(0.000285679) D0 D1 D2 D3 D4 D5 D6 D7 D8 D9 D10 D11\n", + " error(0.000285679) D0 D1 D2 D3 D4 D5 D9 D10 D11\n", + "''')" + ] + }, + "execution_count": 23, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# dem = circuit.detector_error_model(approximate_disjoint_errors=True)\n", + "dem = task.detector_error_model\n", + "dem[:5]" + ] + }, + { + "cell_type": "markdown", + "id": "a9771a29", + "metadata": {}, + "source": [ + "## Measurement-to-detector matrices" + ] + }, + { + "cell_type": "markdown", + "id": "552b85e0", + "metadata": {}, + "source": [ + "Alternatively, specify matrices `m2obs` and `m2dets` that convert measurements to detectors and observables, respectively.\n", + "\n", + "`detector_bits = measurement_bits @ m2dets`\n", + "\n", + "`observable_bits = measurement_bits @ m2obs`\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "id": "e554c9e3", + "metadata": {}, + "outputs": [], + "source": [ + "d = np.array([[1,1,1,1,0,0,0], [0,1,1,0,1,1,0], [0,0,1,1,1,0,1]])\n", + "o = np.array([[1,1,0,0,0,1,0]])\n", + "\n", + "m2obs = block_diag(*[o.T]*5) # shape (35, 5) - 35 measurements, 5 observables\n", + "m2dets = block_diag(*[d.T]*5) # shape (35, 15) - 35 measurements, 15 detectors" + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "id": "0e27e1c6", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[1, 0, 0, 0, 0],\n", + " [1, 0, 0, 0, 0],\n", + " [0, 0, 0, 0, 0],\n", + " [0, 0, 0, 0, 0],\n", + " [0, 0, 0, 0, 0],\n", + " [1, 0, 0, 0, 0],\n", + " [0, 0, 0, 0, 0],\n", + " [0, 1, 0, 0, 0],\n", + " [0, 1, 0, 0, 0],\n", + " [0, 0, 0, 0, 0],\n", + " [0, 0, 0, 0, 0],\n", + " [0, 0, 0, 0, 0],\n", + " [0, 1, 0, 0, 0],\n", + " [0, 0, 0, 0, 0],\n", + " [0, 0, 1, 0, 0],\n", + " [0, 0, 1, 0, 0],\n", + " [0, 0, 0, 0, 0],\n", + " [0, 0, 0, 0, 0],\n", + " [0, 0, 0, 0, 0],\n", + " [0, 0, 1, 0, 0],\n", + " [0, 0, 0, 0, 0],\n", + " [0, 0, 0, 1, 0],\n", + " [0, 0, 0, 1, 0],\n", + " [0, 0, 0, 0, 0],\n", + " [0, 0, 0, 0, 0],\n", + " [0, 0, 0, 0, 0],\n", + " [0, 0, 0, 1, 0],\n", + " [0, 0, 0, 0, 0],\n", + " [0, 0, 0, 0, 1],\n", + " [0, 0, 0, 0, 1],\n", + " [0, 0, 0, 0, 0],\n", + " [0, 0, 0, 0, 0],\n", + " [0, 0, 0, 0, 0],\n", + " [0, 0, 0, 0, 1],\n", + " [0, 0, 0, 0, 0]])" + ] + }, + "execution_count": 25, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "m2obs" + ] + }, + { + "cell_type": "code", + "execution_count": 26, + "id": "a180ab70", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[1, 1, 0, 0, 0, 1, 0]])" + ] + }, + "execution_count": 26, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "o" + ] + }, + { + "cell_type": "code", + "execution_count": 27, + "id": "de240a12", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[1, 1, 1, 1, 0, 0, 0],\n", + " [0, 1, 1, 0, 1, 1, 0],\n", + " [0, 0, 1, 1, 1, 0, 1]])" + ] + }, + "execution_count": 27, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "d" + ] + }, + { + "cell_type": "code", + "execution_count": 28, + "id": "8c6b12ac", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "((3, 7), (1, 7))" + ] + }, + "execution_count": 28, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "d.shape, o.shape" + ] + }, + { + "cell_type": "code", + "execution_count": 29, + "id": "9e5c18e5", + "metadata": {}, + "outputs": [], + "source": [ + "# *[o.T]*5" + ] + }, + { + "cell_type": "code", + "execution_count": 30, + "id": "8f325beb", + "metadata": {}, + "outputs": [], + "source": [ + "@gemini_logical.kernel(aggressive_unroll=True, verify=True)\n", + "def main2():\n", + " reg = qubit.qalloc(5)\n", + " squin.broadcast.t(reg)\n", + "\n", + " squin.broadcast.sqrt_x([reg[0], reg[1], reg[4]])\n", + " squin.broadcast.cz([reg[0], reg[2]], [reg[1], reg[3]])\n", + " squin.broadcast.sqrt_y([reg[0], reg[3]])\n", + " squin.broadcast.cz([reg[0], reg[3]], [reg[2], reg[4]])\n", + " squin.sqrt_x_adj(reg[0])\n", + " squin.broadcast.cz([reg[0], reg[1]], [reg[4], reg[3]])\n", + " squin.broadcast.sqrt_y_adj(reg)\n", + "\n", + " gemini_logical.default_post_processing(reg)\n" + ] + }, + { + "cell_type": "code", + "execution_count": 31, + "id": "ca172c2f", + "metadata": {}, + "outputs": [], + "source": [ + "# service = GeminiLogical()\n", + "# future = service.submit(main2, m2obs=m2obs, m2dets=m2dets, shots=100)\n", + "# results = future.get_results()\n", + "\n", + "sim = GeminiLogicalSimulator()\n", + "task = sim.task(main2, m2obs=m2obs, m2dets=m2dets)\n", + "results = task.run(100)" + ] + }, + { + "cell_type": "code", + "execution_count": 32, + "id": "4d3534fa", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "U3(0.0, 0.0, 0.25) 6\n", + "SQRT_Y_DAG 0 1 2 3 4 5\n", + "CZ 1 2 3 4 5 6\n", + "SQRT_Y 6\n", + "CZ 0 3 2 5 4 6\n", + "...\n", + "OBSERVABLE_INCLUDE(5) rec[-35] rec[-34] rec[-30]\n", + "OBSERVABLE_INCLUDE(6) rec[-28] rec[-27] rec[-23]\n", + "OBSERVABLE_INCLUDE(7) rec[-21] rec[-20] rec[-16]\n", + "OBSERVABLE_INCLUDE(8) rec[-14] rec[-13] rec[-9]\n", + "OBSERVABLE_INCLUDE(9) rec[-7] rec[-6] rec[-2]\n", + "\n" + ] + } + ], + "source": [ + "print(f\"\"\"\n", + "{task.tsim_circuit[:5]}\n", + "...\n", + "{task.tsim_circuit[-5:]}\n", + "\"\"\")" + ] + }, + { + "cell_type": "markdown", + "id": "7df28f6c", + "metadata": {}, + "source": [ + "## Memory Experiment" + ] + }, + { + "cell_type": "markdown", + "id": "f31129c2", + "metadata": {}, + "source": [ + "Different kernels require different detectors. Here, an example of a memory experiment. If transversal logic was present between stabilizer readout, detector definitions had to be adjusted (as transversal gate map stabilizers to different stabilizers)" + ] + }, + { + "cell_type": "code", + "execution_count": 33, + "id": "1a9b8a6c", + "metadata": {}, + "outputs": [], + "source": [ + "@gemini_logical.kernel(aggressive_unroll=True, verify=False)\n", + "def memory_main():\n", + " reg = qubit.qalloc(5)\n", + " data = reg[0]\n", + " aux_x = [reg[1], reg[3]]\n", + " aux_z = [reg[2], reg[4]]\n", + "\n", + " num_rounds = 2\n", + "\n", + " squin.broadcast.h(aux_x)\n", + " for i in range(num_rounds):\n", + " squin.cnot(aux_x[i], data)\n", + " squin.cnot(data, aux_z[i])\n", + " squin.broadcast.h(aux_x)\n", + "\n", + " measurements = gemini_logical.terminal_measure(reg)\n", + " m_data = measurements[0]\n", + " m_aux_x = [measurements[1], measurements[3]]\n", + " m_aux_z = [measurements[2], measurements[4]]\n", + "\n", + " squin.set_observable([m_data])\n", + "\n", + " squin.set_detector([m_aux_z[0]], coordinates=[0])\n", + " for i in range(num_rounds - 1):\n", + " squin.set_detector([m_aux_z[i], m_aux_z[i + 1]], coordinates=[1 + 2 * i])\n", + " squin.set_detector([m_aux_x[i], m_aux_x[i + 1]], coordinates=[2 + 2 * i])\n", + " squin.set_detector([m_data, m_aux_z[-1]], coordinates=[100])\n" + ] + }, + { + "cell_type": "code", + "execution_count": 34, + "id": "dc58a99c", + "metadata": {}, + "outputs": [], + "source": [ + "mem_task = sim.task(memory_main)" + ] + }, + { + "cell_type": "code", + "execution_count": 36, + "id": "cb5bd599", + "metadata": {}, + "outputs": [ + { + "ename": "AttributeError", + "evalue": "'BottomType' object has no attribute 'vars'", + "output_type": "error", + "traceback": [ + "\u001b[31m---------------------------------------------------------------------------\u001b[39m", + "\u001b[31mAttributeError\u001b[39m Traceback (most recent call last)", + "\u001b[36mCell\u001b[39m\u001b[36m \u001b[39m\u001b[32mIn[36]\u001b[39m\u001b[32m, line 1\u001b[39m\n\u001b[32m----> \u001b[39m\u001b[32m1\u001b[39m \u001b[43mmem_task\u001b[49m\u001b[43m.\u001b[49m\u001b[43mtsim_circuit\u001b[49m\n", + "\u001b[36mFile \u001b[39m\u001b[32m~/.local/share/uv/python/cpython-3.12.13-macos-aarch64-none/lib/python3.12/functools.py:998\u001b[39m, in \u001b[36mcached_property.__get__\u001b[39m\u001b[34m(self, instance, owner)\u001b[39m\n\u001b[32m 996\u001b[39m val = cache.get(\u001b[38;5;28mself\u001b[39m.attrname, _NOT_FOUND)\n\u001b[32m 997\u001b[39m \u001b[38;5;28;01mif\u001b[39;00m val \u001b[38;5;129;01mis\u001b[39;00m _NOT_FOUND:\n\u001b[32m--> \u001b[39m\u001b[32m998\u001b[39m val = \u001b[38;5;28;43mself\u001b[39;49m\u001b[43m.\u001b[49m\u001b[43mfunc\u001b[49m\u001b[43m(\u001b[49m\u001b[43minstance\u001b[49m\u001b[43m)\u001b[49m\n\u001b[32m 999\u001b[39m \u001b[38;5;28;01mtry\u001b[39;00m:\n\u001b[32m 1000\u001b[39m cache[\u001b[38;5;28mself\u001b[39m.attrname] = val\n", + "\u001b[36mFile \u001b[39m\u001b[32m~/Desktop/qmain/kirin-workspace/bloqade-lanes/python/bloqade/gemini/device.py:221\u001b[39m, in \u001b[36mGeminiLogicalSimulatorTask.tsim_circuit\u001b[39m\u001b[34m(self)\u001b[39m\n\u001b[32m 219\u001b[39m physical_squin_kernel = \u001b[38;5;28mself\u001b[39m.physical_squin_kernel.similar()\n\u001b[32m 220\u001b[39m rewrite.Walk(RemoveReturn()).rewrite(physical_squin_kernel.code)\n\u001b[32m--> \u001b[39m\u001b[32m221\u001b[39m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43mtsim\u001b[49m\u001b[43m.\u001b[49m\u001b[43mCircuit\u001b[49m\u001b[43m(\u001b[49m\u001b[43mphysical_squin_kernel\u001b[49m\u001b[43m)\u001b[49m\n", + "\u001b[36mFile \u001b[39m\u001b[32m~/Desktop/qmain/kirin-workspace/bloqade-circuit/src/bloqade/tsim/circuit.py:33\u001b[39m, in \u001b[36mCircuit.__init__\u001b[39m\u001b[34m(self, kernel)\u001b[39m\n\u001b[32m 22\u001b[39m \u001b[38;5;28;01mdef\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[34m__init__\u001b[39m(\u001b[38;5;28mself\u001b[39m, kernel: ir.Method):\n\u001b[32m 23\u001b[39m \u001b[38;5;250m \u001b[39m\u001b[33;03m\"\"\"Initialize tsim.Circuit from a kernel.\u001b[39;00m\n\u001b[32m 24\u001b[39m \n\u001b[32m 25\u001b[39m \u001b[33;03m This class inherits from `tsim.Circuit`. For the full API reference of\u001b[39;00m\n\u001b[32m (...)\u001b[39m\u001b[32m 31\u001b[39m \n\u001b[32m 32\u001b[39m \u001b[33;03m \"\"\"\u001b[39;00m\n\u001b[32m---> \u001b[39m\u001b[32m33\u001b[39m program_text = \u001b[43m_codegen\u001b[49m\u001b[43m(\u001b[49m\u001b[43mkernel\u001b[49m\u001b[43m)\u001b[49m\n\u001b[32m 34\u001b[39m \u001b[38;5;28msuper\u001b[39m().\u001b[34m__init__\u001b[39m(program_text)\n", + "\u001b[36mFile \u001b[39m\u001b[32m~/Desktop/qmain/kirin-workspace/bloqade-circuit/src/bloqade/stim/circuit.py:28\u001b[39m, in \u001b[36m_codegen\u001b[39m\u001b[34m(mt)\u001b[39m\n\u001b[32m 26\u001b[39m \u001b[38;5;250m\u001b[39m\u001b[33;03m\"\"\"Compile a kernel to STIM program string.\"\"\"\u001b[39;00m\n\u001b[32m 27\u001b[39m mt = mt.similar()\n\u001b[32m---> \u001b[39m\u001b[32m28\u001b[39m \u001b[43mSquinToStimPass\u001b[49m\u001b[43m(\u001b[49m\u001b[43mmt\u001b[49m\u001b[43m.\u001b[49m\u001b[43mdialects\u001b[49m\u001b[43m)\u001b[49m\u001b[43m(\u001b[49m\u001b[43mmt\u001b[49m\u001b[43m)\u001b[49m\n\u001b[32m 29\u001b[39m buf = io.StringIO()\n\u001b[32m 30\u001b[39m emit = EmitStimMain(dialects=bloqade_stim.main, io=buf)\n", + "\u001b[36mFile \u001b[39m\u001b[32m~/Desktop/qmain/kirin-workspace/kirin/src/kirin/passes/abc.py:30\u001b[39m, in \u001b[36mPass.__call__\u001b[39m\u001b[34m(self, mt)\u001b[39m\n\u001b[32m 29\u001b[39m \u001b[38;5;28;01mdef\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[34m__call__\u001b[39m(\u001b[38;5;28mself\u001b[39m, mt: Method) -> RewriteResult:\n\u001b[32m---> \u001b[39m\u001b[32m30\u001b[39m result = \u001b[38;5;28;43mself\u001b[39;49m\u001b[43m.\u001b[49m\u001b[43munsafe_run\u001b[49m\u001b[43m(\u001b[49m\u001b[43mmt\u001b[49m\u001b[43m)\u001b[49m\n\u001b[32m 31\u001b[39m mt.code.verify()\n\u001b[32m 32\u001b[39m \u001b[38;5;28;01mreturn\u001b[39;00m result\n", + "\u001b[36mFile \u001b[39m\u001b[32m~/Desktop/qmain/kirin-workspace/bloqade-circuit/src/bloqade/stim/passes/squin_to_stim.py:74\u001b[39m, in \u001b[36mSquinToStimPass.unsafe_run\u001b[39m\u001b[34m(self, mt)\u001b[39m\n\u001b[32m 59\u001b[39m rewrite_result = (\n\u001b[32m 60\u001b[39m Walk(WrapAddressAnalysis(address_analysis=address_analysis_frame.entries))\n\u001b[32m 61\u001b[39m .rewrite(mt.code)\n\u001b[32m 62\u001b[39m .join(rewrite_result)\n\u001b[32m 63\u001b[39m )\n\u001b[32m 65\u001b[39m \u001b[38;5;66;03m# --- partial rewrite (before analysis) ---\u001b[39;00m\n\u001b[32m 66\u001b[39m rewrite_result = (\n\u001b[32m 67\u001b[39m \u001b[43mWalk\u001b[49m\u001b[43m(\u001b[49m\n\u001b[32m 68\u001b[39m \u001b[43m \u001b[49m\u001b[43mChain\u001b[49m\u001b[43m(\u001b[49m\n\u001b[32m 69\u001b[39m \u001b[43m \u001b[49m\u001b[43mSetDetectorPartial\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 70\u001b[39m \u001b[43m \u001b[49m\u001b[43mSetObservablePartial\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 71\u001b[39m \u001b[43m \u001b[49m\u001b[43mIfToStimPartial\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 72\u001b[39m \u001b[43m \u001b[49m\u001b[43m)\u001b[49m\n\u001b[32m 73\u001b[39m \u001b[43m \u001b[49m\u001b[43m)\u001b[49m\n\u001b[32m---> \u001b[39m\u001b[32m74\u001b[39m \u001b[43m \u001b[49m\u001b[43m.\u001b[49m\u001b[43mrewrite\u001b[49m\u001b[43m(\u001b[49m\u001b[43mmt\u001b[49m\u001b[43m.\u001b[49m\u001b[43mcode\u001b[49m\u001b[43m)\u001b[49m\n\u001b[32m 75\u001b[39m .join(rewrite_result)\n\u001b[32m 76\u001b[39m )\n\u001b[32m 78\u001b[39m rewrite_result = Walk(SquinNoiseToStim()).rewrite(mt.code).join(rewrite_result)\n\u001b[32m 79\u001b[39m rewrite_result = Walk(SquinU3ToClifford()).rewrite(mt.code).join(rewrite_result)\n", + "\u001b[36mFile \u001b[39m\u001b[32m~/Desktop/qmain/kirin-workspace/kirin/src/kirin/rewrite/walk.py:40\u001b[39m, in \u001b[36mWalk.rewrite\u001b[39m\u001b[34m(self, node)\u001b[39m\n\u001b[32m 38\u001b[39m subnode = \u001b[38;5;28mself\u001b[39m.worklist.pop()\n\u001b[32m 39\u001b[39m \u001b[38;5;28;01mwhile\u001b[39;00m subnode \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m:\n\u001b[32m---> \u001b[39m\u001b[32m40\u001b[39m result = \u001b[38;5;28;43mself\u001b[39;49m\u001b[43m.\u001b[49m\u001b[43mrule\u001b[49m\u001b[43m.\u001b[49m\u001b[43mrewrite\u001b[49m\u001b[43m(\u001b[49m\u001b[43msubnode\u001b[49m\u001b[43m)\u001b[49m\n\u001b[32m 41\u001b[39m \u001b[38;5;28;01mif\u001b[39;00m result.terminated:\n\u001b[32m 42\u001b[39m \u001b[38;5;28;01mreturn\u001b[39;00m result\n", + "\u001b[36mFile \u001b[39m\u001b[32m~/Desktop/qmain/kirin-workspace/kirin/src/kirin/rewrite/chain.py:29\u001b[39m, in \u001b[36mChain.rewrite\u001b[39m\u001b[34m(self, node)\u001b[39m\n\u001b[32m 27\u001b[39m has_done_something = \u001b[38;5;28;01mFalse\u001b[39;00m\n\u001b[32m 28\u001b[39m \u001b[38;5;28;01mfor\u001b[39;00m rule \u001b[38;5;129;01min\u001b[39;00m \u001b[38;5;28mself\u001b[39m.rules:\n\u001b[32m---> \u001b[39m\u001b[32m29\u001b[39m result = \u001b[43mrule\u001b[49m\u001b[43m.\u001b[49m\u001b[43mrewrite\u001b[49m\u001b[43m(\u001b[49m\u001b[43mnode\u001b[49m\u001b[43m)\u001b[49m\n\u001b[32m 30\u001b[39m \u001b[38;5;28;01mif\u001b[39;00m result.terminated:\n\u001b[32m 31\u001b[39m \u001b[38;5;28;01mreturn\u001b[39;00m result\n", + "\u001b[36mFile \u001b[39m\u001b[32m~/Desktop/qmain/kirin-workspace/kirin/src/kirin/rewrite/abc.py:38\u001b[39m, in \u001b[36mRewriteRule.rewrite\u001b[39m\u001b[34m(self, node)\u001b[39m\n\u001b[32m 36\u001b[39m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28mself\u001b[39m.rewrite_Block(cast(Block, node))\n\u001b[32m 37\u001b[39m \u001b[38;5;28;01melif\u001b[39;00m node.IS_STATEMENT:\n\u001b[32m---> \u001b[39m\u001b[32m38\u001b[39m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28;43mself\u001b[39;49m\u001b[43m.\u001b[49m\u001b[43mrewrite_Statement\u001b[49m\u001b[43m(\u001b[49m\u001b[43mcast\u001b[49m\u001b[43m(\u001b[49m\u001b[43mStatement\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mnode\u001b[49m\u001b[43m)\u001b[49m\u001b[43m)\u001b[49m\n\u001b[32m 39\u001b[39m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[32m 40\u001b[39m \u001b[38;5;28;01mreturn\u001b[39;00m RewriteResult()\n", + "\u001b[36mFile \u001b[39m\u001b[32m~/Desktop/qmain/kirin-workspace/bloqade-circuit/src/bloqade/stim/rewrite/set_observable_partial.py:25\u001b[39m, in \u001b[36mSetObservablePartial.rewrite_Statement\u001b[39m\u001b[34m(self, node)\u001b[39m\n\u001b[32m 23\u001b[39m \u001b[38;5;28;01mdef\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[34mrewrite_Statement\u001b[39m(\u001b[38;5;28mself\u001b[39m, node: ir.Statement) -> RewriteResult:\n\u001b[32m 24\u001b[39m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28misinstance\u001b[39m(node, SetObservable):\n\u001b[32m---> \u001b[39m\u001b[32m25\u001b[39m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28;43mself\u001b[39;49m\u001b[43m.\u001b[49m\u001b[43mrewrite_SetObservable\u001b[49m\u001b[43m(\u001b[49m\u001b[43mnode\u001b[49m\u001b[43m)\u001b[49m\n\u001b[32m 26\u001b[39m \u001b[38;5;28;01mreturn\u001b[39;00m RewriteResult()\n", + "\u001b[36mFile \u001b[39m\u001b[32m~/Desktop/qmain/kirin-workspace/bloqade-circuit/src/bloqade/stim/rewrite/set_observable_partial.py:30\u001b[39m, in \u001b[36mSetObservablePartial.rewrite_SetObservable\u001b[39m\u001b[34m(self, node)\u001b[39m\n\u001b[32m 28\u001b[39m \u001b[38;5;28;01mdef\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[34mrewrite_SetObservable\u001b[39m(\u001b[38;5;28mself\u001b[39m, node: SetObservable) -> RewriteResult:\n\u001b[32m 29\u001b[39m measurements_type = node.measurements.type\n\u001b[32m---> \u001b[39m\u001b[32m30\u001b[39m num_measurements = \u001b[43mmeasurements_type\u001b[49m\u001b[43m.\u001b[49m\u001b[43mvars\u001b[49m[\u001b[32m1\u001b[39m]\n\u001b[32m 31\u001b[39m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m \u001b[38;5;28misinstance\u001b[39m(num_measurements, kirin_types.Literal):\n\u001b[32m 32\u001b[39m \u001b[38;5;28;01mreturn\u001b[39;00m RewriteResult()\n", + "\u001b[31mAttributeError\u001b[39m: 'BottomType' object has no attribute 'vars'" + ] + } + ], + "source": [ + "mem_task.tsim_circuit" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "0f343aca", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "kirin-workspace (3.12.13)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.12.13" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/demo/msd_default_post_processing_diagnostic.ipynb b/demo/msd_default_post_processing_diagnostic.ipynb new file mode 100644 index 00000000..ae44d4d1 --- /dev/null +++ b/demo/msd_default_post_processing_diagnostic.ipynb @@ -0,0 +1,244 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "207b6653", + "metadata": {}, + "source": [ + "# MSD Default Post-Processing Diagnostic\n", + "\n", + "This notebook reproduces the diagnostic run comparing the noiseless Steane/Gemini ancilla observable branches obtained through `default_post_processing(reg)` against candidate factory targets such as `1011` and `0000`.\n" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "id": "b65592f6", + "metadata": {}, + "outputs": [], + "source": [ + "import sys\n", + "from pathlib import Path\n", + "\n", + "import numpy as np\n", + "\n", + "PROJECT_ROOT_CANDIDATES = [Path.cwd(), Path.cwd().parent]\n", + "for candidate in PROJECT_ROOT_CANDIDATES:\n", + " candidate = candidate.resolve()\n", + " if (candidate / 'demo' / 'msd_utils').exists():\n", + " sys.path.insert(0, str(candidate))\n", + " break\n", + "else:\n", + " raise FileNotFoundError('Could not locate repo root containing demo/msd_utils.')\n", + "\n", + "from bloqade.lanes import GeminiLogicalSimulator\n", + "from demo.msd_utils.circuits import (\n", + " build_decoder_kernel_bundle,\n", + " build_task_map,\n", + " make_noisy_steane7_initializer,\n", + ")\n", + "from demo.msd_utils.core import logical_expectation, run_task\n" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "c05d2134", + "metadata": {}, + "outputs": [], + "source": [ + "THETA = 0.3041 * np.pi\n", + "PHI = 0.25 * np.pi\n", + "LAM = 0.0\n", + "SHOTS = 20_000\n" + ] + }, + { + "cell_type": "markdown", + "id": "c8c0607f", + "metadata": {}, + "source": [ + "## Build Steane/Gemini tasks using `default_post_processing`\n", + "\n", + "These kernels already return `default_post_processing(reg)`, so we intentionally do **not** append matrix-based detector/observable annotations here." + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "9bb0d25f", + "metadata": {}, + "outputs": [], + "source": [ + "sim = GeminiLogicalSimulator()\n", + "noisy_init = make_noisy_steane7_initializer(sim)\n", + "kernel_bundle = build_decoder_kernel_bundle(THETA, PHI, LAM, output_qubit=0)\n", + "\n", + "actual_tasks = build_task_map(\n", + " sim,\n", + " kernel_bundle.actual,\n", + " m2dets=None,\n", + " m2obs=None,\n", + " noisy_initializer=noisy_init,\n", + " append_measurements=False,\n", + ")\n" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "ce70c038", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Noiseless raw from default_post_processing path = (0.1932, -0.1901, 0.2005)\n" + ] + } + ], + "source": [ + "x_data = run_task(actual_tasks['X'], SHOTS, with_noise=False)\n", + "y_data = run_task(actual_tasks['Y'], SHOTS, with_noise=False)\n", + "z_data = run_task(actual_tasks['Z'], SHOTS, with_noise=False)\n", + "\n", + "print('Noiseless raw from default_post_processing path =', (\n", + " logical_expectation(x_data.observables[:, 0]),\n", + " logical_expectation(y_data.observables[:, 0]),\n", + " logical_expectation(z_data.observables[:, 0]),\n", + "))\n" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "18d63a2d", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "Top noiseless ancilla branches for X:\n", + " (0, 0, 0, 0): 0.16840\n", + " (1, 0, 1, 1): 0.05945\n", + " (1, 1, 0, 1): 0.05730\n", + " (0, 0, 0, 1): 0.05695\n", + " (0, 0, 1, 1): 0.05645\n", + " (1, 1, 1, 1): 0.05605\n", + " (1, 1, 1, 0): 0.05600\n", + " (0, 1, 0, 1): 0.05580\n", + "\n", + "Top noiseless ancilla branches for Y:\n", + " (0, 0, 0, 0): 0.15825\n", + " (1, 1, 1, 0): 0.11970\n", + " (1, 0, 1, 0): 0.07540\n", + " (0, 0, 1, 0): 0.07360\n", + " (0, 1, 0, 0): 0.06960\n", + " (0, 1, 0, 1): 0.05760\n", + " (1, 1, 0, 1): 0.05735\n", + " (1, 0, 0, 0): 0.05590\n", + "\n", + "Top noiseless ancilla branches for Z:\n", + " (0, 0, 0, 0): 0.16570\n", + " (0, 0, 1, 1): 0.06995\n", + " (0, 1, 0, 0): 0.06670\n", + " (1, 0, 0, 1): 0.06660\n", + " (0, 1, 1, 0): 0.05695\n", + " (0, 1, 1, 1): 0.05675\n", + " (1, 1, 1, 1): 0.05550\n", + " (1, 1, 0, 1): 0.05525\n" + ] + } + ], + "source": [ + "def top_branches(data, shots=SHOTS):\n", + " counts = {}\n", + " for row in data.observables[:, 1:]:\n", + " key = tuple(int(x) for x in row)\n", + " counts[key] = counts.get(key, 0) + 1\n", + " return [(key, value / shots) for key, value in sorted(counts.items(), key=lambda kv: kv[1], reverse=True)]\n", + "\n", + "for basis, data in [('X', x_data), ('Y', y_data), ('Z', z_data)]:\n", + " print(f'\\nTop noiseless ancilla branches for {basis}:')\n", + " for pattern, frac in top_branches(data)[:8]:\n", + " print(f' {pattern}: {frac:.5f}')\n" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "72934581", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "Target (1, 0, 1, 1)\n", + " X: accepted_fraction=0.05945, raw_expectation=0.597981, shots=1189\n", + " Y: accepted_fraction=0.04980, raw_expectation=-0.357430, shots=996\n", + " Z: accepted_fraction=0.05405, raw_expectation=0.587419, shots=1081\n", + "\n", + "Target (0, 0, 0, 0)\n", + " X: accepted_fraction=0.16840, raw_expectation=0.567696, shots=3368\n", + " Y: accepted_fraction=0.15825, raw_expectation=-0.862875, shots=3165\n", + " Z: accepted_fraction=0.16570, raw_expectation=0.585999, shots=3314\n" + ] + } + ], + "source": [ + "def summarize_target(factory_target):\n", + " target = np.asarray(factory_target, dtype=np.uint8)\n", + " print(f'\\nTarget {tuple(int(x) for x in target)}')\n", + " for basis, data in [('X', x_data), ('Y', y_data), ('Z', z_data)]:\n", + " mask = np.all(data.observables[:, 1:] == target, axis=1)\n", + " bits = data.observables[mask, 0].astype(np.uint8)\n", + " exp = float('nan') if len(bits) == 0 else logical_expectation(bits)\n", + " print(\n", + " f' {basis}: accepted_fraction={mask.mean():.5f}, raw_expectation={exp:.6f}, shots={len(bits)}'\n", + " )\n", + "\n", + "for candidate in [\n", + " np.array([1, 0, 1, 1], dtype=np.uint8),\n", + " np.array([0, 0, 0, 0], dtype=np.uint8),\n", + "]:\n", + " summarize_target(candidate)\n" + ] + }, + { + "cell_type": "markdown", + "id": "e7118898", + "metadata": {}, + "source": [ + "## Notes\n", + "\n", + "If this notebook still shows `0000` as the dominant ancilla branch in the Steane/Gemini observable frame while the bare 5-qubit logical MSD circuit prefers `1011`, then the mismatch is not coming from `append_measurements_and_annotations(...)`. It is coming from the encoded Steane/Gemini readout convention itself." + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "kirin-workspace (3.12.13)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.12.13" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/demo/msd_reprod.ipynb b/demo/msd_reprod.ipynb new file mode 100644 index 00000000..c21e2629 --- /dev/null +++ b/demo/msd_reprod.ipynb @@ -0,0 +1,686 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Fig. 3(b) MSD Reproduction\n", + "\n", + "This notebook reproduces the **shape and decoding workflow** of Fig. 3(b) from `arXiv:2412.15165v1`, using noisy `GeminiLogicalSimulator` runs of the d=3, 5-to-1 MSD circuit already encoded in `demo/msd.py`.\n", + "\n", + "Paper-aligned choices used here:\n", + "- `reg[0]` is treated as the distilled output logical qubit.\n", + "- `reg[1:5]` are the four distillation-syndrome logical qubits.\n", + "- Factory acceptance is performed on the **corrected ancilla logical outcome `0011`**.\n", + "- The MLD is implemented as a lookup-table decoder learned from simulator data using the paper's special-state trick.\n", + "- The MLE decoder is implemented as a mixed-integer program over the detector error model with a logical-gap confidence score.\n", + "\n", + "Notes:\n", + "- The paper uses very large training sample counts (up to `1e9`) for the MLD lookup table. This notebook exposes both fast and paper-scale settings, but defaults to a much smaller interactive configuration.\n", + "- The implementation uses the simulator's detector-error-model priors in place of external experimental calibrations.\n" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "id": "c5d3baee", + "metadata": {}, + "outputs": [], + "source": [ + "import math\n", + "from collections import Counter, defaultdict\n", + "from dataclasses import dataclass\n", + "from functools import lru_cache\n", + "from itertools import product\n", + "from typing import Any\n", + "\n", + "import matplotlib.pyplot as plt\n", + "import numpy as np\n", + "from beliefmatching import detector_error_model_to_check_matrices\n", + "from bloqade import qubit, squin\n", + "from bloqade.gemini import logical as gemini_logical\n", + "from bloqade.lanes import GeminiLogicalSimulator\n", + "from bloqade.lanes.steane_defaults import steane7_m2dets, steane7_m2obs\n", + "from kirin.dialects import ilist\n", + "from scipy.optimize import Bounds, LinearConstraint, milp\n", + "from scipy.special import logsumexp\n" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [], + "source": [ + "\n", + "FAST_CONFIG = {\n", + " \"mld_train_shots\": 20_000,\n", + " \"eval_shots\": 8_000,\n", + " \"posterior_samples\": 20_000,\n", + " \"mle_threshold_points\": 32,\n", + "}\n", + "\n", + "PAPER_SCALE_CONFIG = {\n", + " \"mld_train_shots\": 1_000_000_000,\n", + " \"eval_shots\": 250_000,\n", + " \"posterior_samples\": 200_000,\n", + " \"mle_threshold_points\": 64,\n", + "}\n", + "\n", + "CONFIG = FAST_CONFIG.copy()\n", + "\n", + "BASIS_LABELS = (\"X\", \"Y\", \"Z\")\n", + "OUTPUT_QUBIT = 0\n", + "ANCILLA_QUBITS = (1, 2, 3, 4)\n", + "FACTORY_TARGET = np.array([0, 0, 1, 1], dtype=np.uint8)\n", + "SQRT3 = np.sqrt(3.0)\n", + "\n", + "M2DETS_5 = steane7_m2dets(5)\n", + "M2OBS_5 = steane7_m2obs(5)\n", + "M2DETS_1 = steane7_m2dets(1)\n", + "M2OBS_1 = steane7_m2obs(1)\n", + "\n", + "def bits_to_key(bits: np.ndarray | list[bool] | list[int]) -> str:\n", + " return \"\".join(\"1\" if int(x) else \"0\" for x in bits)\n", + "\n", + "def key_to_bits(key: str) -> np.ndarray:\n", + " return np.fromiter((1 if c == \"1\" else 0 for c in key), dtype=np.uint8)\n", + "\n", + "def logical_expectation(bits: np.ndarray) -> float:\n", + " if len(bits) == 0:\n", + " return float(\"nan\")\n", + " return float(np.mean(1.0 - 2.0 * bits.astype(np.float64)))\n", + "\n", + "def msd_magic_prep(reg):\n", + " squin.broadcast.u3(0.3041 * math.pi, 0.25 * math.pi, 0.0, reg)\n", + "\n", + "def msd_forward(reg):\n", + " squin.broadcast.sqrt_x(ilist.IList([reg[0], reg[1], reg[4]]))\n", + " squin.broadcast.cz(ilist.IList([reg[0], reg[2]]), ilist.IList([reg[1], reg[3]]))\n", + " squin.broadcast.sqrt_y(ilist.IList([reg[0], reg[3]]))\n", + " squin.broadcast.cz(ilist.IList([reg[0], reg[3]]), ilist.IList([reg[2], reg[4]]))\n", + " squin.sqrt_x_adj(reg[0])\n", + " squin.broadcast.cz(ilist.IList([reg[0], reg[1]]), ilist.IList([reg[4], reg[3]]))\n", + " squin.broadcast.sqrt_y_adj(reg)\n", + "\n", + "def msd_inverse(reg):\n", + " squin.broadcast.sqrt_y(reg)\n", + " squin.broadcast.cz(ilist.IList([reg[0], reg[1]]), ilist.IList([reg[4], reg[3]]))\n", + " squin.sqrt_x(reg[0])\n", + " squin.broadcast.cz(ilist.IList([reg[0], reg[3]]), ilist.IList([reg[2], reg[4]]))\n", + " squin.broadcast.sqrt_y_adj(ilist.IList([reg[0], reg[3]]))\n", + " squin.broadcast.cz(ilist.IList([reg[0], reg[2]]), ilist.IList([reg[1], reg[3]]))\n", + " squin.broadcast.sqrt_x_adj(ilist.IList([reg[0], reg[1], reg[4]]))\n", + "\n", + "def prepare_special_state(reg, basis: str):\n", + " if basis == \"X\":\n", + " squin.h(reg[OUTPUT_QUBIT])\n", + " elif basis == \"Y\":\n", + " squin.sqrt_x(reg[OUTPUT_QUBIT])\n", + " elif basis == \"Z\":\n", + " pass\n", + " else:\n", + " raise ValueError(basis)\n", + " msd_inverse(reg)\n", + "\n", + "def apply_tomography_rotations(reg, basis: str):\n", + " squin.broadcast.h(ilist.IList([reg[i] for i in ANCILLA_QUBITS]))\n", + " if basis == \"X\":\n", + " return\n", + " if basis == \"Y\":\n", + " squin.sqrt_z_adj(reg[OUTPUT_QUBIT])\n", + " return\n", + " if basis == \"Z\":\n", + " squin.h(reg[OUTPUT_QUBIT])\n", + " return\n", + " raise ValueError(basis)\n", + "\n", + "def apply_injected_tomography_rotation(q, basis: str):\n", + " if basis == \"X\":\n", + " return\n", + " if basis == \"Y\":\n", + " squin.sqrt_z_adj(q)\n", + " return\n", + " if basis == \"Z\":\n", + " squin.h(q)\n", + " return\n", + " raise ValueError(basis)\n", + "\n", + "@gemini_logical.kernel(aggressive_unroll=True, verify=False)\n", + "def msd_actual_x():\n", + " reg = qubit.qalloc(5)\n", + " msd_magic_prep(reg)\n", + " msd_forward(reg)\n", + " apply_tomography_rotations(reg, \"X\")\n", + "\n", + "@gemini_logical.kernel(aggressive_unroll=True, verify=False)\n", + "def msd_actual_y():\n", + " reg = qubit.qalloc(5)\n", + " msd_magic_prep(reg)\n", + " msd_forward(reg)\n", + " apply_tomography_rotations(reg, \"Y\")\n", + "\n", + "@gemini_logical.kernel(aggressive_unroll=True, verify=False)\n", + "def msd_actual_z():\n", + " reg = qubit.qalloc(5)\n", + " msd_magic_prep(reg)\n", + " msd_forward(reg)\n", + " apply_tomography_rotations(reg, \"Z\")\n", + "\n", + "@gemini_logical.kernel(aggressive_unroll=True, verify=False)\n", + "def msd_special_x():\n", + " reg = qubit.qalloc(5)\n", + " prepare_special_state(reg, \"X\")\n", + " msd_forward(reg)\n", + " apply_tomography_rotations(reg, \"X\")\n", + "\n", + "@gemini_logical.kernel(aggressive_unroll=True, verify=False)\n", + "def msd_special_y():\n", + " reg = qubit.qalloc(5)\n", + " prepare_special_state(reg, \"Y\")\n", + " msd_forward(reg)\n", + " apply_tomography_rotations(reg, \"Y\")\n", + "\n", + "@gemini_logical.kernel(aggressive_unroll=True, verify=False)\n", + "def msd_special_z():\n", + " reg = qubit.qalloc(5)\n", + " prepare_special_state(reg, \"Z\")\n", + " msd_forward(reg)\n", + " apply_tomography_rotations(reg, \"Z\")\n", + "\n", + "@gemini_logical.kernel(aggressive_unroll=True, verify=False)\n", + "def injected_x():\n", + " reg = qubit.qalloc(1)\n", + " squin.u3(0.3041 * math.pi, 0.25 * math.pi, 0.0, reg[0])\n", + " apply_injected_tomography_rotation(reg[0], \"X\")\n", + "\n", + "@gemini_logical.kernel(aggressive_unroll=True, verify=False)\n", + "def injected_y():\n", + " reg = qubit.qalloc(1)\n", + " squin.u3(0.3041 * math.pi, 0.25 * math.pi, 0.0, reg[0])\n", + " apply_injected_tomography_rotation(reg[0], \"Y\")\n", + "\n", + "@gemini_logical.kernel(aggressive_unroll=True, verify=False)\n", + "def injected_z():\n", + " reg = qubit.qalloc(1)\n", + " squin.u3(0.3041 * math.pi, 0.25 * math.pi, 0.0, reg[0])\n", + " apply_injected_tomography_rotation(reg[0], \"Z\")\n", + "\n", + "ACTUAL_KERNELS = {\"X\": msd_actual_x, \"Y\": msd_actual_y, \"Z\": msd_actual_z}\n", + "SPECIAL_KERNELS = {\"X\": msd_special_x, \"Y\": msd_special_y, \"Z\": msd_special_z}\n", + "INJECTED_KERNELS = {\"X\": injected_x, \"Y\": injected_y, \"Z\": injected_z}\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "5c25ce41", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "f752a0b4", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [], + "source": [ + "@dataclass\n", + "class BasisDataset:\n", + " detectors: np.ndarray\n", + " observables: np.ndarray\n", + "\n", + "def run_task(task, shots: int, with_noise: bool = True):\n", + " result = task.run(shots, with_noise=with_noise, run_detectors=True)\n", + " det = np.asarray(result.detectors, dtype=np.uint8)\n", + " obs = np.asarray(result.observables, dtype=np.uint8)\n", + " return BasisDataset(det, obs)\n", + "\n", + "def split_factory_bits(detectors: np.ndarray, observables: np.ndarray):\n", + " anc_det = detectors[:, 3:]\n", + " anc_obs = observables[:, 1:]\n", + " return anc_det, anc_obs\n", + "\n", + "def build_mld_tables(dataset: BasisDataset):\n", + " full_counts: dict[str, Counter[str]] = defaultdict(Counter)\n", + " factory_counts: dict[str, Counter[str]] = defaultdict(Counter)\n", + " output_flip_by_pattern: dict[str, list[int]] = defaultdict(list)\n", + "\n", + " anc_det, anc_obs = split_factory_bits(dataset.detectors, dataset.observables)\n", + " for det, obs, a_det, a_obs in zip(dataset.detectors, dataset.observables, anc_det, anc_obs, strict=True):\n", + " full_counts[bits_to_key(det)][bits_to_key(obs)] += 1\n", + " factory_key = bits_to_key(a_det)\n", + " factory_counts[factory_key][bits_to_key(a_obs)] += 1\n", + " output_flip_by_pattern[factory_key].append(int(obs[0]))\n", + "\n", + " pattern_sign = {\n", + " key: 1.0 - 2.0 * (sum(values) / len(values))\n", + " for key, values in output_flip_by_pattern.items()\n", + " }\n", + " return {\n", + " \"full_counts\": full_counts,\n", + " \"factory_counts\": factory_counts,\n", + " \"pattern_sign\": pattern_sign,\n", + " }\n", + "\n", + "def counter_argmax(counter: Counter[str], width: int) -> np.ndarray:\n", + " if not counter:\n", + " return np.zeros(width, dtype=np.uint8)\n", + " best_key, _ = max(counter.items(), key=lambda kv: (kv[1], kv[0]))\n", + " return key_to_bits(best_key)\n", + "\n", + "def combine_pattern_scores(pattern_tables: dict[str, dict[str, Any]]) -> dict[str, float]:\n", + " all_keys = set()\n", + " for basis in BASIS_LABELS:\n", + " all_keys.update(pattern_tables[basis][\"pattern_sign\"].keys())\n", + " scores = {}\n", + " for key in all_keys:\n", + " basis_signs = []\n", + " for basis in BASIS_LABELS:\n", + " basis_signs.append(pattern_tables[basis][\"pattern_sign\"].get(key, 0.0))\n", + " scores[key] = 0.5 + sum(basis_signs) / (2.0 * SQRT3)\n", + " return scores\n", + "\n", + "def rank_patterns(pattern_scores: dict[str, float]) -> list[str]:\n", + " return [key for key, _ in sorted(pattern_scores.items(), key=lambda kv: (-kv[1], kv[0]))]\n", + "\n", + "def compute_dem_data(task):\n", + " dem_matrix = detector_error_model_to_check_matrices(\n", + " task.detector_error_model,\n", + " allow_undecomposed_hyperedges=True,\n", + " )\n", + " return {\n", + " \"H\": dem_matrix.check_matrix.toarray().astype(np.int64),\n", + " \"O\": dem_matrix.observables_matrix.toarray().astype(np.int64),\n", + " \"priors\": np.asarray(dem_matrix.priors, dtype=np.float64),\n", + " }\n", + "\n", + "def _milp_score(H: np.ndarray, O: np.ndarray, priors: np.ndarray, syndrome: np.ndarray, logical_bits: np.ndarray):\n", + " n_err = H.shape[1]\n", + " n_det = H.shape[0]\n", + " n_obs = O.shape[0]\n", + "\n", + " safe_priors = np.clip(priors, 1e-12, 1.0 - 1e-12)\n", + " weights = np.log((1.0 - safe_priors) / safe_priors)\n", + "\n", + " A_det = np.hstack([H, -2 * np.eye(n_det, dtype=np.int64), np.zeros((n_det, n_obs), dtype=np.int64)])\n", + " A_obs = np.hstack([O, np.zeros((n_obs, n_det), dtype=np.int64), -2 * np.eye(n_obs, dtype=np.int64)])\n", + " A = np.vstack([A_det, A_obs])\n", + " rhs = np.concatenate([syndrome.astype(np.int64), logical_bits.astype(np.int64)])\n", + " bounds = Bounds(\n", + " lb=np.concatenate([np.zeros(n_err, dtype=np.float64), np.zeros(n_det + n_obs, dtype=np.float64)]),\n", + " ub=np.concatenate([np.ones(n_err, dtype=np.float64), np.full(n_det + n_obs, float(n_err), dtype=np.float64)]),\n", + " )\n", + " objective = np.concatenate([-weights, np.zeros(n_det + n_obs, dtype=np.float64)])\n", + " integrality = np.ones(n_err + n_det + n_obs, dtype=np.uint8)\n", + " result = milp(\n", + " c=objective,\n", + " integrality=integrality,\n", + " bounds=bounds,\n", + " constraints=LinearConstraint(A, rhs, rhs),\n", + " )\n", + " if not result.success:\n", + " return None, -np.inf\n", + " score = float(np.dot(weights, np.rint(result.x[:n_err]).astype(np.int64)))\n", + " return np.rint(result.x[:n_err]).astype(np.uint8), score\n", + "\n", + "def make_mle_decoder(task):\n", + " dem = compute_dem_data(task)\n", + " H = dem[\"H\"]\n", + " O = dem[\"O\"]\n", + " priors = dem[\"priors\"]\n", + "\n", + " H_factory = H[3:, :]\n", + " O_factory = O[1:, :]\n", + "\n", + " @lru_cache(maxsize=None)\n", + " def decode_factory(syndrome_key: str):\n", + " syndrome = key_to_bits(syndrome_key)\n", + " scored = []\n", + " for bits in product([0, 1], repeat=4):\n", + " logical_bits = np.array(bits, dtype=np.uint8)\n", + " _, score = _milp_score(H_factory, O_factory, priors, syndrome, logical_bits)\n", + " if np.isfinite(score):\n", + " scored.append((logical_bits, score))\n", + " if not scored:\n", + " return np.zeros(4, dtype=np.uint8), -np.inf\n", + " scored.sort(key=lambda item: item[1], reverse=True)\n", + " best_bits, best_score = scored[0]\n", + " alt_score = next((score for bits, score in scored[1:] if not np.array_equal(bits, best_bits)), -np.inf)\n", + " gap = float(best_score - alt_score) if np.isfinite(alt_score) else float(\"inf\")\n", + " return best_bits, gap\n", + "\n", + " @lru_cache(maxsize=None)\n", + " def decode_full(syndrome_key: str):\n", + " syndrome = key_to_bits(syndrome_key)\n", + " scored = []\n", + " for bits in product([0, 1], repeat=5):\n", + " logical_bits = np.array(bits, dtype=np.uint8)\n", + " _, score = _milp_score(H, O, priors, syndrome, logical_bits)\n", + " if np.isfinite(score):\n", + " scored.append((logical_bits, score))\n", + " if not scored:\n", + " return np.zeros(5, dtype=np.uint8)\n", + " return max(scored, key=lambda item: item[1])[0]\n", + "\n", + " return decode_factory, decode_full\n", + "\n", + "def weighted_quantile(values: np.ndarray, quantiles: list[float], weights: np.ndarray):\n", + " order = np.argsort(values)\n", + " values = values[order]\n", + " weights = weights[order]\n", + " cdf = np.cumsum(weights)\n", + " cdf /= cdf[-1]\n", + " return np.interp(quantiles, cdf, values)\n", + "\n", + "def sample_bloch_ball(num_samples: int, seed: int = 1234) -> np.ndarray:\n", + " rng = np.random.default_rng(seed)\n", + " directions = rng.normal(size=(num_samples, 3))\n", + " directions /= np.linalg.norm(directions, axis=1, keepdims=True)\n", + " radii = rng.random(num_samples) ** (1.0 / 3.0)\n", + " return directions * radii[:, None]\n", + "\n", + "def fidelity_from_counts(x_bits: np.ndarray, y_bits: np.ndarray, z_bits: np.ndarray, posterior_samples: int):\n", + " ex = logical_expectation(x_bits)\n", + " ey = logical_expectation(y_bits)\n", + " ez = logical_expectation(z_bits)\n", + " point = 0.5 + (ex + ey + ez) / (2.0 * SQRT3)\n", + "\n", + " n = np.array([len(x_bits), len(y_bits), len(z_bits)], dtype=np.int64)\n", + " k = np.array([\n", + " int(np.sum(x_bits == 0)),\n", + " int(np.sum(y_bits == 0)),\n", + " int(np.sum(z_bits == 0)),\n", + " ], dtype=np.int64)\n", + "\n", + " points = sample_bloch_ball(posterior_samples)\n", + " probs = np.clip((1.0 + points) / 2.0, 1e-12, 1.0 - 1e-12)\n", + " log_weights = (k * np.log(probs) + (n - k) * np.log1p(-probs)).sum(axis=1)\n", + " weights = np.exp(log_weights - logsumexp(log_weights))\n", + " fidelities = 0.5 + np.sum(points, axis=1) / (2.0 * SQRT3)\n", + " q16, q50, q84 = weighted_quantile(fidelities, [0.16, 0.5, 0.84], weights)\n", + " return {\n", + " \"point\": float(point),\n", + " \"median\": float(q50),\n", + " \"low\": float(q16),\n", + " \"high\": float(q84),\n", + " \"bloch\": (float(ex), float(ey), float(ez)),\n", + " }\n", + "\n", + "def evaluate_mld_curve(actual_data, lookup_tables, ranked_patterns, posterior_samples: int):\n", + " accepted_fractions = []\n", + " fidelities = []\n", + " credibility = []\n", + "\n", + " for keep_count in range(1, len(ranked_patterns) + 1):\n", + " kept = set(ranked_patterns[:keep_count])\n", + " corrected = {}\n", + " total_kept = 0\n", + " total_shots = 0\n", + " for basis in BASIS_LABELS:\n", + " dataset = actual_data[basis]\n", + " anc_det, anc_obs = split_factory_bits(dataset.detectors, dataset.observables)\n", + " corrected_bits = []\n", + " for det, obs, a_det, a_obs in zip(dataset.detectors, dataset.observables, anc_det, anc_obs, strict=True):\n", + " factory_table = lookup_tables[basis][\"factory_counts\"]\n", + " full_table = lookup_tables[basis][\"full_counts\"]\n", + " anc_key = bits_to_key(a_det)\n", + " anc_flip = counter_argmax(factory_table.get(anc_key, Counter()), 4)\n", + " corrected_anc = a_obs ^ anc_flip\n", + " if not np.array_equal(corrected_anc, FACTORY_TARGET):\n", + " continue\n", + " if anc_key not in kept:\n", + " continue\n", + " full_key = bits_to_key(det)\n", + " full_flip = counter_argmax(full_table.get(full_key, Counter()), 5)\n", + " corrected_bits.append(int(obs[0] ^ full_flip[0]))\n", + " corrected[basis] = np.asarray(corrected_bits, dtype=np.uint8)\n", + " total_kept += len(corrected[basis])\n", + " total_shots += len(dataset.observables)\n", + " if min(len(corrected[b]) for b in BASIS_LABELS) == 0:\n", + " continue\n", + " accepted_fractions.append(total_kept / total_shots)\n", + " summary = fidelity_from_counts(corrected[\"X\"], corrected[\"Y\"], corrected[\"Z\"], posterior_samples)\n", + " fidelities.append(summary[\"point\"])\n", + " credibility.append((summary[\"low\"], summary[\"high\"]))\n", + " return {\n", + " \"accepted_fraction\": np.asarray(accepted_fractions, dtype=np.float64),\n", + " \"fidelity\": np.asarray(fidelities, dtype=np.float64),\n", + " \"credible\": np.asarray(credibility, dtype=np.float64),\n", + " }\n", + "\n", + "def evaluate_mle_curve(actual_data, decode_factory, decode_full, posterior_samples: int, threshold_points: int):\n", + " all_gaps = []\n", + " for basis in BASIS_LABELS:\n", + " dataset = actual_data[basis]\n", + " anc_det, anc_obs = split_factory_bits(dataset.detectors, dataset.observables)\n", + " for a_det, a_obs in zip(anc_det, anc_obs, strict=True):\n", + " anc_flip, gap = decode_factory(bits_to_key(a_det))\n", + " if np.array_equal(a_obs ^ anc_flip, FACTORY_TARGET) and np.isfinite(gap):\n", + " all_gaps.append(gap)\n", + " if not all_gaps:\n", + " raise RuntimeError(\"No factory-accepted shots found for MLE threshold sweep\")\n", + " thresholds = np.quantile(np.asarray(all_gaps), np.linspace(0.0, 1.0, threshold_points))\n", + "\n", + " accepted_fractions = []\n", + " fidelities = []\n", + " credibility = []\n", + " for threshold in thresholds:\n", + " corrected = {}\n", + " total_kept = 0\n", + " total_shots = 0\n", + " for basis in BASIS_LABELS:\n", + " dataset = actual_data[basis]\n", + " anc_det, anc_obs = split_factory_bits(dataset.detectors, dataset.observables)\n", + " corrected_bits = []\n", + " for det, obs, a_det, a_obs in zip(dataset.detectors, dataset.observables, anc_det, anc_obs, strict=True):\n", + " anc_flip, gap = decode_factory(bits_to_key(a_det))\n", + " corrected_anc = a_obs ^ anc_flip\n", + " if not np.array_equal(corrected_anc, FACTORY_TARGET):\n", + " continue\n", + " if gap < threshold:\n", + " continue\n", + " full_flip = decode_full(bits_to_key(det))\n", + " corrected_bits.append(int(obs[0] ^ full_flip[0]))\n", + " corrected[basis] = np.asarray(corrected_bits, dtype=np.uint8)\n", + " total_kept += len(corrected[basis])\n", + " total_shots += len(dataset.observables)\n", + " if min(len(corrected[b]) for b in BASIS_LABELS) == 0:\n", + " continue\n", + " accepted_fractions.append(total_kept / total_shots)\n", + " summary = fidelity_from_counts(corrected[\"X\"], corrected[\"Y\"], corrected[\"Z\"], posterior_samples)\n", + " fidelities.append(summary[\"point\"])\n", + " credibility.append((summary[\"low\"], summary[\"high\"]))\n", + " return {\n", + " \"accepted_fraction\": np.asarray(accepted_fractions, dtype=np.float64),\n", + " \"fidelity\": np.asarray(fidelities, dtype=np.float64),\n", + " \"credible\": np.asarray(credibility, dtype=np.float64),\n", + " }\n", + "\n", + "def injected_baseline(task_map, posterior_samples: int):\n", + " corrected = {}\n", + " for basis in BASIS_LABELS:\n", + " task = task_map[basis]\n", + " dataset = run_task(task, CONFIG[\"eval_shots\"], with_noise=True)\n", + " table = build_mld_tables(dataset)\n", + " bits = []\n", + " for det, obs in zip(dataset.detectors, dataset.observables, strict=True):\n", + " flip = counter_argmax(table[\"full_counts\"].get(bits_to_key(det), Counter()), 1)\n", + " bits.append(int(obs[0] ^ flip[0]))\n", + " corrected[basis] = np.asarray(bits, dtype=np.uint8)\n", + " return fidelity_from_counts(corrected[\"X\"], corrected[\"Y\"], corrected[\"Z\"], posterior_samples)\n" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n"
+            ],
+            "text/plain": []
+          },
+          "metadata": {},
+          "output_type": "display_data"
+        },
+        {
+          "ename": "ValidationErrorGroup",
+          "evalue": "\n\u001b[31mValidation failed with 1 violation(s):\u001b[0m\n\n\u001b[31mGemini Terminal Measurement Validation:\u001b[0m\n  - Validation pass 'Gemini Terminal Measurement Validation' failed: '_GeminiTerminalMeasurementValidationAnalysis' object has no attribute 'run_lattice'\nTraceback (most recent call last):\n  File \"/Users/jasonhan/Desktop/qmain/kirin-workspace/kirin/src/kirin/validation/validationpass.py\", line 98, in validate\n    frame, errors = validator.run(method)\n                    ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/jasonhan/Desktop/qmain/kirin-workspace/bloqade-circuit/src/bloqade/gemini/analysis/measurement_validation/analysis.py\", line 64, in run\n    frame, _ = analysis.run(method)\n               ^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/jasonhan/Desktop/qmain/kirin-workspace/kirin/src/kirin/analysis/forward.py\", line 41, in run\n    return self.call(method, self.method_self(method), *args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/jasonhan/Desktop/qmain/kirin-workspace/kirin/src/kirin/interp/abc.py\", line 106, in call\n    return self.__call_method(node, *args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/jasonhan/Desktop/qmain/kirin-workspace/kirin/src/kirin/interp/abc.py\", line 131, in __call_method\n    return self.call(node.code, *args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/jasonhan/Desktop/qmain/kirin-workspace/kirin/src/kirin/interp/abc.py\", line 109, in call\n    return frame, self.frame_call(frame, node, *args, **kwargs)\n                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/jasonhan/Desktop/qmain/kirin-workspace/kirin/src/kirin/interp/abc.py\", line 184, in frame_call\n    ret = self.frame_call_region(frame, node, region, *args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/jasonhan/Desktop/qmain/kirin-workspace/kirin/src/kirin/interp/abc.py\", line 242, in frame_call_region\n    return how(self, frame, region)\n           ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/jasonhan/Desktop/qmain/kirin-workspace/kirin/src/kirin/interp/table.py\", line 98, in __call__\n    return self.method(self.parent, interpreter, frame, node)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/jasonhan/Desktop/qmain/kirin-workspace/kirin/src/kirin/dialects/ssacfg.py\", line 59, in ssacfg\n    block_result = self.run_succ(interp_, frame, succ)\n                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/jasonhan/Desktop/qmain/kirin-workspace/kirin/src/kirin/dialects/ssacfg.py\", line 86, in run_succ\n    stmt_results = interp_.frame_eval(frame, stmt)\n                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/jasonhan/Desktop/qmain/kirin-workspace/kirin/src/kirin/interp/abc.py\", line 291, in frame_eval\n    results = method(self, frame, node)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/jasonhan/Desktop/qmain/kirin-workspace/kirin/src/kirin/interp/table.py\", line 98, in __call__\n    return self.method(self.parent, interpreter, frame, node)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/jasonhan/Desktop/qmain/kirin-workspace/bloqade-circuit/src/bloqade/analysis/address/impls.py\", line 216, in call\n    result = interp_.run_lattice(\n             ^^^^^^^^^^^^^^^^^^^\nAttributeError: '_GeminiTerminalMeasurementValidationAnalysis' object has no attribute 'run_lattice'\n\n      File \"/var/folders/4t/_g5ztpl96sg8j3_ztt9wgc400000gp/T/ipykernel_19018/3269586654.py\", line 99, col 36\n",
+          "output_type": "error",
+          "traceback": [
+            "\u001b[31m---------------------------------------------------------------------------\u001b[39m",
+            "\u001b[31mValidationErrorGroup\u001b[39m                      Traceback (most recent call last)",
+            "\u001b[36mCell\u001b[39m\u001b[36m \u001b[39m\u001b[32mIn[4]\u001b[39m\u001b[32m, line 3\u001b[39m\n\u001b[32m      1\u001b[39m sim = GeminiLogicalSimulator()\n\u001b[32m----> \u001b[39m\u001b[32m3\u001b[39m actual_tasks = {basis: \u001b[43msim\u001b[49m\u001b[43m.\u001b[49m\u001b[43mtask\u001b[49m\u001b[43m(\u001b[49m\u001b[43mkernel\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mm2dets\u001b[49m\u001b[43m=\u001b[49m\u001b[43mM2DETS_5\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mm2obs\u001b[49m\u001b[43m=\u001b[49m\u001b[43mM2OBS_5\u001b[49m\u001b[43m)\u001b[49m \u001b[38;5;28;01mfor\u001b[39;00m basis, kernel \u001b[38;5;129;01min\u001b[39;00m ACTUAL_KERNELS.items()}\n\u001b[32m      4\u001b[39m special_tasks = {basis: sim.task(kernel, m2dets=M2DETS_5, m2obs=M2OBS_5) \u001b[38;5;28;01mfor\u001b[39;00m basis, kernel \u001b[38;5;129;01min\u001b[39;00m SPECIAL_KERNELS.items()}\n\u001b[32m      5\u001b[39m injected_tasks = {basis: sim.task(kernel, m2dets=M2DETS_1, m2obs=M2OBS_1) \u001b[38;5;28;01mfor\u001b[39;00m basis, kernel \u001b[38;5;129;01min\u001b[39;00m INJECTED_KERNELS.items()}\n",
+            "\u001b[36mFile \u001b[39m\u001b[32m~/Desktop/qmain/kirin-workspace/bloqade-lanes/python/bloqade/lanes/device.py:470\u001b[39m, in \u001b[36mGeminiLogicalSimulator.task\u001b[39m\u001b[34m(self, logical_kernel, m2dets, m2obs)\u001b[39m\n\u001b[32m    467\u001b[39m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[32m    468\u001b[39m     \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;167;01mValueError\u001b[39;00m(\u001b[33mf\u001b[39m\u001b[33m\"\u001b[39m\u001b[33mUnknown kernel type \u001b[39m\u001b[38;5;132;01m{\u001b[39;00m\u001b[38;5;28mtype\u001b[39m(logical_kernel)\u001b[38;5;132;01m}\u001b[39;00m\u001b[33m\"\u001b[39m)\n\u001b[32m--> \u001b[39m\u001b[32m470\u001b[39m \u001b[43mrun_squin_kernel_validation\u001b[49m\u001b[43m(\u001b[49m\u001b[43mlogical_squin_kernel\u001b[49m\u001b[43m)\u001b[49m\u001b[43m.\u001b[49m\u001b[43mraise_if_invalid\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\n\u001b[32m    472\u001b[39m physical_arch_spec = generate_arch_hypercube(\u001b[32m4\u001b[39m)\n\u001b[32m    473\u001b[39m physical_move_kernel = compile_squin_to_move(\n\u001b[32m    474\u001b[39m     logical_squin_kernel, transversal_rewrite=\u001b[38;5;28;01mTrue\u001b[39;00m\n\u001b[32m    475\u001b[39m )\n",
+            "\u001b[36mFile \u001b[39m\u001b[32m~/Desktop/qmain/kirin-workspace/kirin/src/kirin/validation/validationpass.py:187\u001b[39m, in \u001b[36mValidationResult.raise_if_invalid\u001b[39m\u001b[34m(self)\u001b[39m\n\u001b[32m    184\u001b[39m     exceptions.extend(pass_errors)\n\u001b[32m    186\u001b[39m message = \u001b[38;5;28mself\u001b[39m._format_errors()\n\u001b[32m--> \u001b[39m\u001b[32m187\u001b[39m \u001b[38;5;28;01mraise\u001b[39;00m ValidationErrorGroup(message, errors=exceptions)\n",
+            "\u001b[31mValidationErrorGroup\u001b[39m: \n\u001b[31mValidation failed with 1 violation(s):\u001b[0m\n\n\u001b[31mGemini Terminal Measurement Validation:\u001b[0m\n  - Validation pass 'Gemini Terminal Measurement Validation' failed: '_GeminiTerminalMeasurementValidationAnalysis' object has no attribute 'run_lattice'\nTraceback (most recent call last):\n  File \"/Users/jasonhan/Desktop/qmain/kirin-workspace/kirin/src/kirin/validation/validationpass.py\", line 98, in validate\n    frame, errors = validator.run(method)\n                    ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/jasonhan/Desktop/qmain/kirin-workspace/bloqade-circuit/src/bloqade/gemini/analysis/measurement_validation/analysis.py\", line 64, in run\n    frame, _ = analysis.run(method)\n               ^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/jasonhan/Desktop/qmain/kirin-workspace/kirin/src/kirin/analysis/forward.py\", line 41, in run\n    return self.call(method, self.method_self(method), *args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/jasonhan/Desktop/qmain/kirin-workspace/kirin/src/kirin/interp/abc.py\", line 106, in call\n    return self.__call_method(node, *args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/jasonhan/Desktop/qmain/kirin-workspace/kirin/src/kirin/interp/abc.py\", line 131, in __call_method\n    return self.call(node.code, *args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/jasonhan/Desktop/qmain/kirin-workspace/kirin/src/kirin/interp/abc.py\", line 109, in call\n    return frame, self.frame_call(frame, node, *args, **kwargs)\n                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/jasonhan/Desktop/qmain/kirin-workspace/kirin/src/kirin/interp/abc.py\", line 184, in frame_call\n    ret = self.frame_call_region(frame, node, region, *args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/jasonhan/Desktop/qmain/kirin-workspace/kirin/src/kirin/interp/abc.py\", line 242, in frame_call_region\n    return how(self, frame, region)\n           ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/jasonhan/Desktop/qmain/kirin-workspace/kirin/src/kirin/interp/table.py\", line 98, in __call__\n    return self.method(self.parent, interpreter, frame, node)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/jasonhan/Desktop/qmain/kirin-workspace/kirin/src/kirin/dialects/ssacfg.py\", line 59, in ssacfg\n    block_result = self.run_succ(interp_, frame, succ)\n                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/jasonhan/Desktop/qmain/kirin-workspace/kirin/src/kirin/dialects/ssacfg.py\", line 86, in run_succ\n    stmt_results = interp_.frame_eval(frame, stmt)\n                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/jasonhan/Desktop/qmain/kirin-workspace/kirin/src/kirin/interp/abc.py\", line 291, in frame_eval\n    results = method(self, frame, node)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/jasonhan/Desktop/qmain/kirin-workspace/kirin/src/kirin/interp/table.py\", line 98, in __call__\n    return self.method(self.parent, interpreter, frame, node)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/jasonhan/Desktop/qmain/kirin-workspace/bloqade-circuit/src/bloqade/analysis/address/impls.py\", line 216, in call\n    result = interp_.run_lattice(\n             ^^^^^^^^^^^^^^^^^^^\nAttributeError: '_GeminiTerminalMeasurementValidationAnalysis' object has no attribute 'run_lattice'\n\n      File \"/var/folders/4t/_g5ztpl96sg8j3_ztt9wgc400000gp/T/ipykernel_19018/3269586654.py\", line 99, col 36\n"
+          ]
+        }
+      ],
+      "source": [
+        "sim = GeminiLogicalSimulator()\n",
+        "\n",
+        "actual_tasks = {basis: sim.task(kernel, m2dets=M2DETS_5, m2obs=M2OBS_5) for basis, kernel in ACTUAL_KERNELS.items()}\n",
+        "special_tasks = {basis: sim.task(kernel, m2dets=M2DETS_5, m2obs=M2OBS_5) for basis, kernel in SPECIAL_KERNELS.items()}\n",
+        "injected_tasks = {basis: sim.task(kernel, m2dets=M2DETS_1, m2obs=M2OBS_1) for basis, kernel in INJECTED_KERNELS.items()}\n",
+        "\n",
+        "print(\"Compiled tasks:\")\n",
+        "print(\" actual:\", list(actual_tasks))\n",
+        "print(\" special:\", list(special_tasks))\n",
+        "print(\" injected:\", list(injected_tasks))"
+      ]
+    },
+    {
+      "cell_type": "code",
+      "execution_count": null,
+      "metadata": {},
+      "outputs": [],
+      "source": [
+        "# Validation: special-state kernels should decode to all-zero logical error strings in the noiseless limit.\n",
+        "for basis, task in special_tasks.items():\n",
+        "    data = run_task(task, 256, with_noise=False)\n",
+        "    print(basis, \"special-state noiseless observables:\", sorted({tuple(row) for row in data.observables}))\n",
+        "\n",
+        "# Validation: the factory acceptance should be close to 1/6 in the noiseless limit after decoding ancilla outcomes.\n",
+        "noiseless_actual = {basis: run_task(task, 2048, with_noise=False) for basis, task in actual_tasks.items()}\n",
+        "for basis, dataset in noiseless_actual.items():\n",
+        "    anc_obs = dataset.observables[:, 1:]\n",
+        "    acceptance = np.mean(np.all(anc_obs == FACTORY_TARGET, axis=1))\n",
+        "    print(basis, \"raw noiseless factory acceptance (uncorrected ancilla observables):\", acceptance)\n"
+      ]
+    },
+    {
+      "cell_type": "code",
+      "execution_count": null,
+      "metadata": {},
+      "outputs": [],
+      "source": [
+        "mld_training = {}\n",
+        "for basis, task in special_tasks.items():\n",
+        "    print(f\"Sampling MLD training data for {basis} with {CONFIG['mld_train_shots']:,} shots...\")\n",
+        "    dataset = run_task(task, CONFIG[\"mld_train_shots\"], with_noise=True)\n",
+        "    mld_training[basis] = build_mld_tables(dataset)\n",
+        "\n",
+        "pattern_scores = combine_pattern_scores(mld_training)\n",
+        "ranked_patterns = rank_patterns(pattern_scores)\n",
+        "print(\"Unique factory patterns ranked:\", len(ranked_patterns))\n",
+        "\n",
+        "actual_data = {\n",
+        "    basis: run_task(task, CONFIG[\"eval_shots\"], with_noise=True)\n",
+        "    for basis, task in actual_tasks.items()\n",
+        "}\n",
+        "\n",
+        "decode_factory, decode_full = make_mle_decoder(actual_tasks[\"X\"])\n",
+        "\n",
+        "mld_curve = evaluate_mld_curve(actual_data, mld_training, ranked_patterns, CONFIG[\"posterior_samples\"])\n",
+        "mle_curve = evaluate_mle_curve(\n",
+        "    actual_data,\n",
+        "    decode_factory,\n",
+        "    decode_full,\n",
+        "    CONFIG[\"posterior_samples\"],\n",
+        "    CONFIG[\"mle_threshold_points\"],\n",
+        ")\n",
+        "injected_summary = injected_baseline(injected_tasks, CONFIG[\"posterior_samples\"])\n",
+        "\n",
+        "print(\"Injected baseline fidelity:\", injected_summary[\"point\"])\n",
+        "print(\"MLE curve points:\", len(mle_curve[\"accepted_fraction\"]))\n",
+        "print(\"MLD curve points:\", len(mld_curve[\"accepted_fraction\"]))"
+      ]
+    },
+    {
+      "cell_type": "code",
+      "execution_count": null,
+      "metadata": {},
+      "outputs": [],
+      "source": [
+        "fig, ax = plt.subplots(figsize=(7, 5))\n",
+        "\n",
+        "ax.plot(mle_curve[\"accepted_fraction\"], mle_curve[\"fidelity\"], color=\"tab:blue\", label=\"Distilled (MLE)\")\n",
+        "ax.fill_between(\n",
+        "    mle_curve[\"accepted_fraction\"],\n",
+        "    mle_curve[\"credible\"][:, 0],\n",
+        "    mle_curve[\"credible\"][:, 1],\n",
+        "    color=\"tab:blue\",\n",
+        "    alpha=0.15,\n",
+        ")\n",
+        "\n",
+        "ax.plot(mld_curve[\"accepted_fraction\"], mld_curve[\"fidelity\"], color=\"tab:orange\", label=\"Distilled (MLD)\")\n",
+        "ax.fill_between(\n",
+        "    mld_curve[\"accepted_fraction\"],\n",
+        "    mld_curve[\"credible\"][:, 0],\n",
+        "    mld_curve[\"credible\"][:, 1],\n",
+        "    color=\"tab:orange\",\n",
+        "    alpha=0.15,\n",
+        ")\n",
+        "\n",
+        "ax.axhline(injected_summary[\"point\"], color=\"tab:green\", linestyle=\"-\", label=\"Injected\")\n",
+        "ax.fill_between(\n",
+        "    [0.0, 1.0],\n",
+        "    injected_summary[\"low\"],\n",
+        "    injected_summary[\"high\"],\n",
+        "    color=\"tab:green\",\n",
+        "    alpha=0.1,\n",
+        ")\n",
+        "\n",
+        "ax.set_xlabel(\"Total accepted fraction\")\n",
+        "ax.set_ylabel(\"Magic state fidelity\")\n",
+        "ax.set_title(\"Reproduction of Fig. 3(b) on GeminiLogicalSimulator\")\n",
+        "ax.grid(alpha=0.25)\n",
+        "ax.legend()\n",
+        "plt.show()"
+      ]
+    }
+  ],
+  "metadata": {
+    "kernelspec": {
+      "display_name": "kirin-workspace (3.12.13)",
+      "language": "python",
+      "name": "python3"
+    },
+    "language_info": {
+      "codemirror_mode": {
+        "name": "ipython",
+        "version": 3
+      },
+      "file_extension": ".py",
+      "mimetype": "text/x-python",
+      "name": "python",
+      "nbconvert_exporter": "python",
+      "pygments_lexer": "ipython3",
+      "version": "3.12.13"
+    }
+  },
+  "nbformat": 4,
+  "nbformat_minor": 5
+}
diff --git a/demo/msd_reprod_bloqade_decoders.ipynb b/demo/msd_reprod_bloqade_decoders.ipynb
new file mode 100644
index 00000000..904e61ab
--- /dev/null
+++ b/demo/msd_reprod_bloqade_decoders.ipynb
@@ -0,0 +1,19041 @@
+{
+ "cells": [
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "# Fig. 3(b) Reproduction With `bloqade-decoders`\n",
+    "\n",
+    "This notebook reproduces the Gemini logical simulator workflow for Fig. 3(b) of `arXiv:2412.15165v1`, while using the decoder implementations from the local `bloqade-decoders` checkout instead of notebook-local decoder code.\n",
+    "\n",
+    "What is notebook-local vs decoder-local here:\n",
+    "- The Gemini logical hardware kernels, detector mappings, simulator tasks, tomography, and plotting live in this notebook.\n",
+    "- The MLE decoder is `GurobiDecoder` from the local `bloqade-decoders` repo, using its paper-style logical-gap confidence score.\n",
+    "- The MLD decoder is `TableDecoder` from the local `bloqade-decoders` repo, trained from simulator samples. Its confidence score here is the empirical posterior mass of the selected logical correction for a given detector syndrome.\n",
+    "\n",
+    "Notes:\n",
+    "- The paper's exact MLD postselection ranks syndrome patterns by the output fidelity they induce. In this notebook we instead use the decoder-native confidence available from `TableDecoder`'s learned counts.\n",
+    "- The notebook prepends the sibling `../bloqade-decoders/src` path so it uses the current working tree, including the new MLE logical-gap support.\n",
+    "- The default configuration is interactive rather than paper-scale.\n"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 1,
+   "id": "6744d283",
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "Using bloqade.decoders from: /Users/jasonhan/Desktop/qmain/kirin-workspace/bloqade-decoders/src/bloqade/decoders/__init__.py\n"
+     ]
+    }
+   ],
+   "source": [
+    "import math\n",
+    "import sys\n",
+    "from pathlib import Path\n",
+    "\n",
+    "import matplotlib.pyplot as plt\n",
+    "import numpy as np\n",
+    "# import stim\n",
+    "\n",
+    "PROJECT_ROOT_CANDIDATES = [Path.cwd(), Path.cwd().parent]\n",
+    "for candidate in PROJECT_ROOT_CANDIDATES:\n",
+    "    candidate = candidate.resolve()\n",
+    "    if (candidate / 'demo' / 'msd_utils').exists():\n",
+    "        sys.path.insert(0, str(candidate))\n",
+    "        break\n",
+    "else:\n",
+    "    raise FileNotFoundError('Could not locate repo root containing demo/msd_utils.')\n",
+    "\n",
+    "LOCAL_DECODER_SRC_CANDIDATES = [\n",
+    "    Path.cwd() / '..' / 'bloqade-decoders' / 'src',\n",
+    "    Path.cwd() / 'bloqade-decoders' / 'src',\n",
+    "    Path.cwd().parent / 'bloqade-decoders' / 'src',\n",
+    "    Path.cwd().parent.parent / 'bloqade-decoders' / 'src',\n",
+    "]\n",
+    "for candidate in LOCAL_DECODER_SRC_CANDIDATES:\n",
+    "    candidate = candidate.resolve()\n",
+    "    if candidate.exists():\n",
+    "        sys.path.insert(0, str(candidate))\n",
+    "        break\n",
+    "else:\n",
+    "    raise FileNotFoundError('Could not locate sibling bloqade-decoders/src checkout.')\n",
+    "\n",
+    "import bloqade.decoders as bloqade_decoders\n",
+    "from bloqade.decoders import GurobiDecoder, TableDecoder\n",
+    "from bloqade.lanes import GeminiLogicalSimulator\n",
+    "from bloqade.lanes.steane_defaults import steane7_m2dets, steane7_m2obs\n",
+    "\n",
+    "from demo.msd_utils.core import (\n",
+    "    BasisDataset,\n",
+    "    DEFAULT_BASIS_LABELS,\n",
+    "    DEFAULT_TARGET_BLOCH,\n",
+    "    bits_to_key,\n",
+    "    fidelity_from_counts,\n",
+    "    key_to_bits,\n",
+    "    logical_expectation,\n",
+    "    pack_boolean_array,\n",
+    "    run_task,\n",
+    "    split_factory_bits,\n",
+    ")\n",
+    "from demo.msd_utils.circuits import (\n",
+    "    build_decoder_kernel_bundle,\n",
+    "    build_injected_decoder_kernel_map,\n",
+    "    build_task_map,\n",
+    "    make_noisy_steane7_initializer,\n",
+    ")\n",
+    "from demo.msd_utils.decoders import (\n",
+    "    build_mld_decoders,\n",
+    "    build_mle_decoders,\n",
+    "    build_shared_mld_postselection_scores,\n",
+    "    compute_dem_data,\n",
+    "    evaluate_curve,\n",
+    "    evaluate_mld_curve,\n",
+    "    injected_baseline,\n",
+    "    make_shape_only_dem,\n",
+    "    matrix_to_dem,\n",
+    ")\n",
+    "\n",
+    "print('Using bloqade.decoders from:', Path(bloqade_decoders.__file__).resolve())\n"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 2,
+   "id": "6bce40e3",
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "FAST_CONFIG = {\n",
+    "    'mld_train_shots': 20_000,\n",
+    "    'eval_shots': 4_000,\n",
+    "    'posterior_samples': 20_000,\n",
+    "    'mle_threshold_points': 24,\n",
+    "    'mld_threshold_points': 24,\n",
+    "    # 'batch_size': 10_000,\n",
+    "}\n",
+    "\n",
+    "PAPER_SCALE_CONFIG = {\n",
+    "    'mld_train_shots': 1_000_000_000,\n",
+    "    'eval_shots': 250_000,\n",
+    "    'posterior_samples': 200_000,\n",
+    "    'mle_threshold_points': 64,\n",
+    "    'mld_threshold_points': 64,\n",
+    "    # 'batch_size': 50_000,\n",
+    "}\n",
+    "\n",
+    "# FAST_CONFIG['posterior_samples'] = 200_000\n",
+    "# FAST_CONFIG['eval_shots'] = 100_000\n",
+    "PAPER_SCALE_CONFIG['mld_train_shots'] = 1_000_000\n",
+    "CONFIG = PAPER_SCALE_CONFIG.copy()\n",
+    "\n",
+    "# Magic-state preparation knobs.\n",
+    "#\n",
+    "# The same U3 preparation is used for the injected reference and for each\n",
+    "# encoded magic state fed into the 5-to-1 distillation circuit. To add a\n",
+    "# simple coherent preparation error, edit the *_OFFSET values below.\n",
+    "IDEAL_THETA = 0.3041 * math.pi\n",
+    "IDEAL_PHI = 0.25 * math.pi\n",
+    "IDEAL_LAM = 0.0\n",
+    "\n",
+    "# TODO: instead of having theta just be an offset, have an alternative way/more systematic way to inject noise in the circuit.\n",
+    "THETA_OFFSET = 0.30\n",
+    "PHI_OFFSET = 0.0\n",
+    "LAM_OFFSET = 0.0\n",
+    "\n",
+    "THETA = IDEAL_THETA + THETA_OFFSET\n",
+    "PHI = IDEAL_PHI + PHI_OFFSET\n",
+    "LAM = IDEAL_LAM + LAM_OFFSET\n",
+    "\n",
+    "BASIS_LABELS = DEFAULT_BASIS_LABELS\n",
+    "OUTPUT_QUBIT = 0\n",
+    "ANCILLA_QUBITS = (1, 2, 3, 4)\n",
+    "FACTORY_TARGET = np.array([0, 0, 0, 0], dtype=np.uint8)\n",
+    "# TODO: better understand this MLE_SCORE_MODE ?\n",
+    "MLE_SCORE_MODE = 'best_available'\n",
+    "\n",
+    "# This notebook's tomography/sign conventions historically evaluated fidelity\n",
+    "# against the (1, 1, 1) direction after applying notebook-specific sign vectors.\n",
+    "FIDELITY_TARGET_BLOCH = np.ones(3, dtype=np.float64) / np.sqrt(3.0)\n",
+    "\n",
+    "def u3_prep_bloch(theta: float, phi: float) -> np.ndarray:\n",
+    "    return np.array([\n",
+    "        math.sin(theta) * math.cos(phi),\n",
+    "        math.sin(theta) * math.sin(phi),\n",
+    "        math.cos(theta),\n",
+    "    ], dtype=np.float64)\n",
+    "\n",
+    "PREP_BLOCH = u3_prep_bloch(THETA, PHI)\n",
+    "PREP_FIDELITY = 0.5 + float(np.dot(PREP_BLOCH, FIDELITY_TARGET_BLOCH)) / 2.0\n",
+    "\n",
+    "M2DETS_5 = steane7_m2dets(5)\n",
+    "M2OBS_5 = steane7_m2obs(5)\n",
+    "M2DETS_1 = steane7_m2dets(1)\n",
+    "M2OBS_1 = steane7_m2obs(1)\n",
+    "\n",
+    "kernel_bundle = build_decoder_kernel_bundle(THETA, PHI, LAM, output_qubit=OUTPUT_QUBIT)\n",
+    "ACTUAL_KERNELS = kernel_bundle.actual\n",
+    "SPECIAL_KERNELS = kernel_bundle.special\n",
+    "INJECTED_KERNELS = kernel_bundle.injected\n",
+    "INJECTED_DECODER_KERNELS = build_injected_decoder_kernel_map()\n",
+    "\n",
+    "# _shared_run_task = run_task\n",
+    "\n",
+    "# def run_task(task, shots, *, with_noise=True, chunk_size=None):\n",
+    "#     if chunk_size is None:\n",
+    "#         chunk_size = CONFIG['batch_size']\n",
+    "#     return _shared_run_task(\n",
+    "#         task,\n",
+    "#         shots,\n",
+    "#         with_noise=with_noise,\n",
+    "#         chunk_size=chunk_size,\n",
+    "#     )\n"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 3,
+   "id": "620bf508",
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "[[1, 0, 0], [1, 1, 0], [1, 1, 1], [1, 0, 1], [0, 1, 1], [0, 1, 0], [0, 0, 1]]"
+      ]
+     },
+     "execution_count": 3,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "M2DETS_1"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 4,
+   "id": "b8cda484",
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "[[1], [1], [0], [0], [0], [1], [0]]"
+      ]
+     },
+     "execution_count": 4,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "M2OBS_1"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 5,
+   "id": "cc25128b",
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "[[1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],\n",
+       " [1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],\n",
+       " [1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],\n",
+       " [1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],\n",
+       " [0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],\n",
+       " [0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],\n",
+       " [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],\n",
+       " [0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],\n",
+       " [0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],\n",
+       " [0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0],\n",
+       " [0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0],\n",
+       " [0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0],\n",
+       " [0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],\n",
+       " [0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0],\n",
+       " [0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0],\n",
+       " [0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0],\n",
+       " [0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0],\n",
+       " [0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0],\n",
+       " [0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0],\n",
+       " [0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0],\n",
+       " [0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0],\n",
+       " [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0],\n",
+       " [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0],\n",
+       " [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0],\n",
+       " [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0],\n",
+       " [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0],\n",
+       " [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0],\n",
+       " [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0],\n",
+       " [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0],\n",
+       " [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0],\n",
+       " [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1],\n",
+       " [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1],\n",
+       " [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1],\n",
+       " [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0],\n",
+       " [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1]]"
+      ]
+     },
+     "execution_count": 5,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "M2DETS_5"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 6,
+   "id": "10afbb1b",
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "[[1, 0, 0, 0, 0],\n",
+       " [1, 0, 0, 0, 0],\n",
+       " [0, 0, 0, 0, 0],\n",
+       " [0, 0, 0, 0, 0],\n",
+       " [0, 0, 0, 0, 0],\n",
+       " [1, 0, 0, 0, 0],\n",
+       " [0, 0, 0, 0, 0],\n",
+       " [0, 1, 0, 0, 0],\n",
+       " [0, 1, 0, 0, 0],\n",
+       " [0, 0, 0, 0, 0],\n",
+       " [0, 0, 0, 0, 0],\n",
+       " [0, 0, 0, 0, 0],\n",
+       " [0, 1, 0, 0, 0],\n",
+       " [0, 0, 0, 0, 0],\n",
+       " [0, 0, 1, 0, 0],\n",
+       " [0, 0, 1, 0, 0],\n",
+       " [0, 0, 0, 0, 0],\n",
+       " [0, 0, 0, 0, 0],\n",
+       " [0, 0, 0, 0, 0],\n",
+       " [0, 0, 1, 0, 0],\n",
+       " [0, 0, 0, 0, 0],\n",
+       " [0, 0, 0, 1, 0],\n",
+       " [0, 0, 0, 1, 0],\n",
+       " [0, 0, 0, 0, 0],\n",
+       " [0, 0, 0, 0, 0],\n",
+       " [0, 0, 0, 0, 0],\n",
+       " [0, 0, 0, 1, 0],\n",
+       " [0, 0, 0, 0, 0],\n",
+       " [0, 0, 0, 0, 1],\n",
+       " [0, 0, 0, 0, 1],\n",
+       " [0, 0, 0, 0, 0],\n",
+       " [0, 0, 0, 0, 0],\n",
+       " [0, 0, 0, 0, 0],\n",
+       " [0, 0, 0, 0, 1],\n",
+       " [0, 0, 0, 0, 0]]"
+      ]
+     },
+     "execution_count": 6,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "M2OBS_5"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 7,
+   "id": "a81c682c",
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "Magic-state prep parameters:\n",
+      "  ideal (theta, phi, lam) = (0.955358325956656, 0.7853981633974483, 0.0)\n",
+      "  offsets                  = (0.3, 0.0, 0.0)\n",
+      "  actual (theta, phi, lam) = (1.255358325956656, 0.7853981633974483, 0.0)\n",
+      "  prep Bloch vector        = (0.6722185482696245, 0.6722185482696243, 0.3102328911069188)\n",
+      "  prep fidelity vs target  = 0.9776620813937549\n"
+     ]
+    }
+   ],
+   "source": [
+    "print('Magic-state prep parameters:')\n",
+    "print('  ideal (theta, phi, lam) =', (IDEAL_THETA, IDEAL_PHI, IDEAL_LAM))\n",
+    "print('  offsets                  =', (THETA_OFFSET, PHI_OFFSET, LAM_OFFSET))\n",
+    "print('  actual (theta, phi, lam) =', (THETA, PHI, LAM))\n",
+    "print('  prep Bloch vector        =', tuple(float(x) for x in PREP_BLOCH))\n",
+    "print('  prep fidelity vs target  =', PREP_FIDELITY)\n"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 8,
+   "id": "32ed2f14",
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "MLD_SIGN_VECTOR = (1.0, -1.0, 1.0)\n",
+    "# Temporary d=3 frame fix for raw tomography. In this notebook's decoder-\n",
+    "# corrected injected path, the TableDecoder already restores Y to the\n",
+    "# positive frame, so the corrected baseline should use (+,+,+).\n",
+    "INJECTED_RAW_SIGN_VECTOR = (1.0, -1.0, 1.0)\n",
+    "INJECTED_CORRECTED_SIGN_VECTOR = (1.0, 1.0, 1.0)\n",
+    "DEFAULT_SIGN_VECTOR = MLD_SIGN_VECTOR\n",
+    "\n",
+    "_shared_fidelity_from_counts = fidelity_from_counts\n",
+    "\n",
+    "def fidelity_from_counts(x_bits, y_bits, z_bits, posterior_samples, sign_vector=(1.0, 1.0, 1.0)):\n",
+    "    return _shared_fidelity_from_counts(\n",
+    "        x_bits,\n",
+    "        y_bits,\n",
+    "        z_bits,\n",
+    "        posterior_samples,\n",
+    "        sign_vector=sign_vector,\n",
+    "        target_bloch=FIDELITY_TARGET_BLOCH,\n",
+    "    )\n"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 9,
+   "id": "de8d0054",
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "def injected_baseline_raw(task_map, posterior_samples: int):\n",
+    "    return injected_baseline(\n",
+    "        task_map,\n",
+    "        eval_shots=CONFIG['eval_shots'],\n",
+    "        posterior_samples=posterior_samples,\n",
+    "        table_decoder_cls=TableDecoder,\n",
+    "        sign_vector=INJECTED_RAW_SIGN_VECTOR,\n",
+    "        target_bloch=FIDELITY_TARGET_BLOCH,\n",
+    "        raw=True,\n",
+    "        basis_labels=BASIS_LABELS,\n",
+    "    )\n"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 10,
+   "id": "e9f873d9",
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "Compiled tasks:\n",
+      " actual: ['X', 'Y', 'Z']\n",
+      " special: ['X', 'Y', 'Z']\n",
+      " injected: ['X', 'Y', 'Z']\n",
+      " injected decoder: ['X', 'Y', 'Z']\n",
+      "Injected tomography diagnostic (noiseless ):\n",
+      "  X: 0.675000\n",
+      "  Y: -0.665000\n",
+      "  Z: 0.324500\n",
+      "X special-state noiseless observables: [(np.uint8(0), np.uint8(0), np.uint8(0), np.uint8(0), np.uint8(0))]\n",
+      "Y special-state noiseless observables: [(np.uint8(0), np.uint8(0), np.uint8(0), np.uint8(0), np.uint8(0))]\n",
+      "Z special-state noiseless observables: [(np.uint8(0), np.uint8(0), np.uint8(0), np.uint8(0), np.uint8(0))]\n"
+     ]
+    }
+   ],
+   "source": [
+    "sim = GeminiLogicalSimulator()\n",
+    "noisy_steane7_initialize = make_noisy_steane7_initializer(sim)\n",
+    "\n",
+    "actual_tasks = build_task_map(\n",
+    "    sim,\n",
+    "    ACTUAL_KERNELS,\n",
+    "    m2dets=M2DETS_5,\n",
+    "    m2obs=M2OBS_5,\n",
+    "    noisy_initializer=noisy_steane7_initialize,\n",
+    "    append_measurements=False,\n",
+    ")\n",
+    "special_tasks = build_task_map(\n",
+    "    sim,\n",
+    "    SPECIAL_KERNELS,\n",
+    "    m2dets=M2DETS_5,\n",
+    "    m2obs=M2OBS_5,\n",
+    "    noisy_initializer=noisy_steane7_initialize,\n",
+    "    append_measurements=False,\n",
+    ")\n",
+    "injected_tasks = build_task_map(\n",
+    "    sim,\n",
+    "    INJECTED_KERNELS,\n",
+    "    m2dets=M2DETS_1,\n",
+    "    m2obs=M2OBS_1,\n",
+    "    noisy_initializer=noisy_steane7_initialize,\n",
+    "    append_measurements=False,\n",
+    ")\n",
+    "injected_decoder_tasks = build_task_map(\n",
+    "    sim,\n",
+    "    INJECTED_DECODER_KERNELS,\n",
+    "    m2dets=M2DETS_1,\n",
+    "    m2obs=M2OBS_1,\n",
+    "    noisy_initializer=noisy_steane7_initialize,\n",
+    "    append_measurements=False,\n",
+    ")\n",
+    "\n",
+    "print('Compiled tasks:')\n",
+    "print(' actual:', list(actual_tasks))\n",
+    "print(' special:', list(special_tasks))\n",
+    "print(' injected:', list(injected_tasks))\n",
+    "print(' injected decoder:', list(injected_decoder_tasks))\n",
+    "\n",
+    "print('Injected tomography diagnostic (noiseless ):')\n",
+    "for basis, task in injected_tasks.items():\n",
+    "    data = run_task(task, 4000, with_noise=False)\n",
+    "    mean_value = float(np.mean(1.0 - 2.0 * np.asarray(data.observables, dtype=np.float64)[:, 0]))\n",
+    "    print(f'  {basis}: {mean_value:.6f}')\n",
+    "\n",
+    "for basis, task in special_tasks.items():\n",
+    "    data = run_task(task, 64, with_noise=False)\n",
+    "    print(basis, 'special-state noiseless observables:', sorted({tuple(row) for row in data.observables}))\n"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 11,
+   "id": "679d1c45",
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "X [[0]\n",
+      " [1]]\n",
+      "Y [[0]\n",
+      " [1]]\n",
+      "Z [[0]\n",
+      " [1]]\n"
+     ]
+    }
+   ],
+   "source": [
+    "for basis, task in injected_tasks.items():\n",
+    "    data = run_task(task, 256, with_noise=False)\n",
+    "    print(basis, np.unique(data.observables, axis=0))"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 11,
+   "id": "89226d46",
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "({'X': Method(\"msd_actual_x\"),\n",
+       "  'Y': Method(\"msd_actual_y\"),\n",
+       "  'Z': Method(\"msd_actual_z\")},\n",
+       " {'X': Method(\"msd_special_x\"),\n",
+       "  'Y': Method(\"msd_special_y\"),\n",
+       "  'Z': Method(\"msd_special_z\")},\n",
+       " {'X': Method(\"injected_x\"),\n",
+       "  'Y': Method(\"injected_y\"),\n",
+       "  'Z': Method(\"injected_z\")})"
+      ]
+     },
+     "execution_count": 11,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "ACTUAL_KERNELS, SPECIAL_KERNELS, INJECTED_KERNELS"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 65,
+   "id": "4afff0ed",
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/html": [
+       "\n",
+       "    
\n", + "
\n", + " \n", + "\n", + "\n", + "q0\n", + "\n", + "q1\n", + "\n", + "q2\n", + "\n", + "q3\n", + "\n", + "q4\n", + "\n", + "q5\n", + "\n", + "q6\n", + "\n", + "\n", + "DEP1\n", + "0\n", + "\n", + "DEP1\n", + "0\n", + "\n", + "DEP1\n", + "0\n", + "\n", + "DEP1\n", + "0\n", + "\n", + "DEP1\n", + "0\n", + "\n", + "DEP1\n", + "0\n", + "\n", + "DEP1\n", + "0\n", + "\n", + "U3\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "√Y\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "X\n", + "\n", + "Z\n", + "\n", + "Z\n", + "\n", + "S\n", + "\n", + "S\n", + "\n", + "S\n", + "\n", + "S\n", + "\n", + "S\n", + "\n", + "S\n", + "\n", + "S\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "S\n", + "\n", + "S\n", + "\n", + "S\n", + "\n", + "S\n", + "\n", + "S\n", + "\n", + "S\n", + "\n", + "S\n", + "\n", + "M\n", + "rec[0]\n", + "\n", + "M\n", + "rec[1]\n", + "\n", + "M\n", + "rec[2]\n", + "\n", + "M\n", + "rec[3]\n", + "\n", + "M\n", + "rec[4]\n", + "\n", + "M\n", + "rec[5]\n", + "\n", + "M\n", + "rec[6]\n", + "\n", + "DETECTOR\n", + "coords=(0,0)\n", + "D0 = rec[0]*rec[1]*rec[2]*rec[3]\n", + "\n", + "DETECTOR\n", + "coords=(0,1)\n", + "D1 = rec[1]*rec[2]*rec[4]*rec[5]\n", + "\n", + "DETECTOR\n", + "coords=(0,2)\n", + "D2 = rec[2]*rec[3]*rec[4]*rec[6]\n", + "\n", + "OBS_INCLUDE(0)\n", + "L0 *= rec[0]*rec[1]*rec[5]\n", + "\n", + "
\n", + "
\n", + " " + ], + "text/plain": [ + "" + ] + }, + "execution_count": 65, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "injected_tasks[\"X\"].noiseless_tsim_circuit.diagram(height=500)" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "id": "7f56fd0f", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "dict" + ] + }, + "execution_count": 12, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "type(special_tasks)" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "id": "1b919323", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "{'X': GeminiLogicalSimulatorTask(logical_squin_kernel=Method(\"msd_special_x\"), noise_model=SimpleNoiseModel(lane_noise=Method(\"lane_noise\"), idle_noise=Method(\"idle_noise\"), cz_unpaired_noise=Method(\"cz_unpaired_noise\"), cz_paired_noise=Method(\"cz_paired_noise\"), global_rz_noise=Method(\"global_rz_noise\"), local_rz_noise=Method(\"local_rz_noise\"), global_r_noise=Method(\"global_r_noise\"), local_r_noise=Method(\"local_r_noise\")), _thread_pool_executor=),\n", + " 'Y': GeminiLogicalSimulatorTask(logical_squin_kernel=Method(\"msd_special_y\"), noise_model=SimpleNoiseModel(lane_noise=Method(\"lane_noise\"), idle_noise=Method(\"idle_noise\"), cz_unpaired_noise=Method(\"cz_unpaired_noise\"), cz_paired_noise=Method(\"cz_paired_noise\"), global_rz_noise=Method(\"global_rz_noise\"), local_rz_noise=Method(\"local_rz_noise\"), global_r_noise=Method(\"global_r_noise\"), local_r_noise=Method(\"local_r_noise\")), _thread_pool_executor=),\n", + " 'Z': GeminiLogicalSimulatorTask(logical_squin_kernel=Method(\"msd_special_z\"), noise_model=SimpleNoiseModel(lane_noise=Method(\"lane_noise\"), idle_noise=Method(\"idle_noise\"), cz_unpaired_noise=Method(\"cz_unpaired_noise\"), cz_paired_noise=Method(\"cz_paired_noise\"), global_rz_noise=Method(\"global_rz_noise\"), local_rz_noise=Method(\"local_rz_noise\"), global_r_noise=Method(\"global_r_noise\"), local_r_noise=Method(\"local_r_noise\")), _thread_pool_executor=)}" + ] + }, + "execution_count": 13, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "special_tasks" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "id": "7269f5c9", + "metadata": {}, + "outputs": [], + "source": [ + "x_task_test = special_tasks[\"X\"]" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "id": "1640ae2c", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "\n", + "
\n", + " \n", + "
\n", + "
\n", + " \n", + "\n", + "\n", + "q0\n", + "\n", + "q1\n", + "\n", + "q2\n", + "\n", + "q3\n", + "\n", + "q4\n", + "\n", + "q5\n", + "\n", + "q6\n", + "\n", + "q7\n", + "\n", + "q8\n", + "\n", + "q9\n", + "\n", + "q10\n", + "\n", + "q11\n", + "\n", + "q12\n", + "\n", + "q13\n", + "\n", + "q14\n", + "\n", + "q15\n", + "\n", + "q16\n", + "\n", + "q17\n", + "\n", + "q18\n", + "\n", + "q19\n", + "\n", + "q20\n", + "\n", + "q21\n", + "\n", + "q22\n", + "\n", + "q23\n", + "\n", + "q24\n", + "\n", + "q25\n", + "\n", + "q26\n", + "\n", + "q27\n", + "\n", + "q28\n", + "\n", + "q29\n", + "\n", + "q30\n", + "\n", + "q31\n", + "\n", + "q32\n", + "\n", + "q33\n", + "\n", + "q34\n", + "\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "LOSS0\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "LOSS\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "LOSS2\n", + "LOSS20\n", + "\n", + "\n", + "LOSS2\n", + "LOSS20\n", + "\n", + "\n", + "LOSS2\n", + "LOSS20\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "LOSS0\n", + "\n", + "√Y\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "LOSS0\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "DEP2\n", + "\n", + "LOSS20\n", + "\n", + "\n", + "DEP2\n", + "\n", + "LOSS20\n", + "\n", + "\n", + "DEP2\n", + "\n", + "LOSS20\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "LOSS0\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "LOSS2\n", + "LOSS20\n", + "\n", + "\n", + "LOSS2\n", + "LOSS20\n", + "\n", + "\n", + "LOSS2\n", + "LOSS20\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "LOSS0\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "X\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "LOSS0\n", + "\n", + "Z\n", + "\n", + "Z\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "LOSS0\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "LOSS\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "LOSS2\n", + "LOSS20\n", + "\n", + "\n", + "LOSS2\n", + "LOSS20\n", + "\n", + "\n", + "LOSS2\n", + "LOSS20\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "LOSS0\n", + "\n", + "√Y\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "LOSS0\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "DEP2\n", + "\n", + "LOSS20\n", + "\n", + "\n", + "DEP2\n", + "\n", + "LOSS20\n", + "\n", + "\n", + "DEP2\n", + "\n", + "LOSS20\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "LOSS0\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "LOSS2\n", + "LOSS20\n", + "\n", + "\n", + "LOSS2\n", + "LOSS20\n", + "\n", + "\n", + "LOSS2\n", + "LOSS20\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "LOSS0\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "X\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "LOSS0\n", + "\n", + "Z\n", + "\n", + "Z\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "LOSS0\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "LOSS\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "LOSS2\n", + "LOSS20\n", + "\n", + "\n", + "LOSS2\n", + "LOSS20\n", + "\n", + "\n", + "LOSS2\n", + "LOSS20\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "LOSS0\n", + "\n", + "√Y\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "LOSS0\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "DEP2\n", + "\n", + "LOSS20\n", + "\n", + "\n", + "DEP2\n", + "\n", + "LOSS20\n", + "\n", + "\n", + "DEP2\n", + "\n", + "LOSS20\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "LOSS0\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "LOSS2\n", + "LOSS20\n", + "\n", + "\n", + "LOSS2\n", + "LOSS20\n", + "\n", + "\n", + "LOSS2\n", + "LOSS20\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "LOSS0\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "X\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "LOSS0\n", + "\n", + "Z\n", + "\n", + "Z\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "LOSS0\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "LOSS\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "LOSS2\n", + "LOSS20\n", + "\n", + "\n", + "LOSS2\n", + "LOSS20\n", + "\n", + "\n", + "LOSS2\n", + "LOSS20\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "LOSS0\n", + "\n", + "√Y\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "LOSS0\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "DEP2\n", + "\n", + "LOSS20\n", + "\n", + "\n", + "DEP2\n", + "\n", + "LOSS20\n", + "\n", + "\n", + "DEP2\n", + "\n", + "LOSS20\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "LOSS0\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "LOSS2\n", + "LOSS20\n", + "\n", + "\n", + "LOSS2\n", + "LOSS20\n", + "\n", + "\n", + "LOSS2\n", + "LOSS20\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "LOSS0\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "X\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "LOSS0\n", + "\n", + "Z\n", + "\n", + "Z\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "LOSS0\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "LOSS\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "LOSS2\n", + "LOSS20\n", + "\n", + "\n", + "LOSS2\n", + "LOSS20\n", + "\n", + "\n", + "LOSS2\n", + "LOSS20\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "LOSS0\n", + "\n", + "√Y\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "LOSS0\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "DEP2\n", + "\n", + "LOSS20\n", + "\n", + "\n", + "DEP2\n", + "\n", + "LOSS20\n", + "\n", + "\n", + "DEP2\n", + "\n", + "LOSS20\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "LOSS0\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "LOSS2\n", + "LOSS20\n", + "\n", + "\n", + "LOSS2\n", + "LOSS20\n", + "\n", + "\n", + "LOSS2\n", + "LOSS20\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "LOSS0\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "X\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "LOSS0\n", + "\n", + "Z\n", + "\n", + "Z\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "S\n", + "\n", + "S\n", + "\n", + "S\n", + "\n", + "S\n", + "\n", + "S\n", + "\n", + "S\n", + "\n", + "S\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "S\n", + "\n", + "S\n", + "\n", + "S\n", + "\n", + "S\n", + "\n", + "S\n", + "\n", + "S\n", + "\n", + "S\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "LOSS0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "LOSS0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "LOSS0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "LOSS0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "LOSS0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "LOSS0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "LOSS0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "LOSS0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "LOSS0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "LOSS0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "LOSS0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "LOSS0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "LOSS0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "LOSS0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "DEP2\n", + "\n", + "LOSS20\n", + "\n", + "\n", + "DEP2\n", + "\n", + "LOSS20\n", + "\n", + "\n", + "DEP2\n", + "\n", + "LOSS20\n", + "\n", + "\n", + "DEP2\n", + "\n", + "LOSS20\n", + "\n", + "\n", + "DEP2\n", + "\n", + "LOSS20\n", + "\n", + "\n", + "DEP2\n", + "\n", + "LOSS20\n", + "\n", + "\n", + "DEP2\n", + "\n", + "LOSS20\n", + "\n", + "\n", + "DEP2\n", + "\n", + "LOSS20\n", + "\n", + "\n", + "DEP2\n", + "\n", + "LOSS20\n", + "\n", + "\n", + "DEP2\n", + "\n", + "LOSS20\n", + "\n", + "\n", + "DEP2\n", + "\n", + "LOSS20\n", + "\n", + "\n", + "DEP2\n", + "\n", + "LOSS20\n", + "\n", + "\n", + "DEP2\n", + "\n", + "LOSS20\n", + "\n", + "\n", + "DEP2\n", + "\n", + "LOSS20\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "LOSS0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "LOSS0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "LOSS0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "LOSS0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "LOSS0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "LOSS0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "LOSS0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "LOSS0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "LOSS0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "LOSS0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "LOSS0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "LOSS0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "LOSS0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "LOSS0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "LOSS0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "LOSS0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "LOSS0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "LOSS0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "LOSS0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "LOSS0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "LOSS0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "LOSS0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "LOSS0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "LOSS0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "LOSS0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "LOSS0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "LOSS0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "LOSS0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "DEP2\n", + "\n", + "LOSS20\n", + "\n", + "\n", + "DEP2\n", + "\n", + "LOSS20\n", + "\n", + "\n", + "DEP2\n", + "\n", + "LOSS20\n", + "\n", + "\n", + "DEP2\n", + "\n", + "LOSS20\n", + "\n", + "\n", + "DEP2\n", + "\n", + "LOSS20\n", + "\n", + "\n", + "DEP2\n", + "\n", + "LOSS20\n", + "\n", + "\n", + "DEP2\n", + "\n", + "LOSS20\n", + "\n", + "\n", + "DEP2\n", + "\n", + "LOSS20\n", + "\n", + "\n", + "DEP2\n", + "\n", + "LOSS20\n", + "\n", + "\n", + "DEP2\n", + "\n", + "LOSS20\n", + "\n", + "\n", + "DEP2\n", + "\n", + "LOSS20\n", + "\n", + "\n", + "DEP2\n", + "\n", + "LOSS20\n", + "\n", + "\n", + "DEP2\n", + "\n", + "LOSS20\n", + "\n", + "\n", + "DEP2\n", + "\n", + "LOSS20\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "LOSS0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "LOSS0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "LOSS0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "LOSS0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "LOSS0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "LOSS0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "LOSS0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "LOSS0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "LOSS0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "LOSS0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "LOSS0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "LOSS0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "LOSS0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "LOSS0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "LOSS0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "LOSS0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "LOSS0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "LOSS0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "LOSS0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "LOSS0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "LOSS0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "LOSS0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "LOSS0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "LOSS0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "LOSS0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "LOSS0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "LOSS0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "LOSS0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "DEP2\n", + "\n", + "LOSS20\n", + "\n", + "\n", + "DEP2\n", + "\n", + "LOSS20\n", + "\n", + "\n", + "DEP2\n", + "\n", + "LOSS20\n", + "\n", + "\n", + "DEP2\n", + "\n", + "LOSS20\n", + "\n", + "\n", + "DEP2\n", + "\n", + "LOSS20\n", + "\n", + "\n", + "DEP2\n", + "\n", + "LOSS20\n", + "\n", + "\n", + "DEP2\n", + "\n", + "LOSS20\n", + "\n", + "\n", + "DEP2\n", + "\n", + "LOSS20\n", + "\n", + "\n", + "DEP2\n", + "\n", + "LOSS20\n", + "\n", + "\n", + "DEP2\n", + "\n", + "LOSS20\n", + "\n", + "\n", + "DEP2\n", + "\n", + "LOSS20\n", + "\n", + "\n", + "DEP2\n", + "\n", + "LOSS20\n", + "\n", + "\n", + "DEP2\n", + "\n", + "LOSS20\n", + "\n", + "\n", + "DEP2\n", + "\n", + "LOSS20\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "LOSS0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "LOSS0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "LOSS0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "LOSS0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "LOSS0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "LOSS0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "LOSS0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "LOSS0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "LOSS0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "LOSS0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "LOSS0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "LOSS0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "LOSS0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "LOSS0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "LOSS0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "LOSS0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "LOSS0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "LOSS0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "LOSS0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "LOSS0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "LOSS0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "LOSS0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "LOSS0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "LOSS0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "LOSS0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "LOSS0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "LOSS0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "LOSS0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "DEP2\n", + "\n", + "LOSS20\n", + "\n", + "\n", + "DEP2\n", + "\n", + "LOSS20\n", + "\n", + "\n", + "DEP2\n", + "\n", + "LOSS20\n", + "\n", + "\n", + "DEP2\n", + "\n", + "LOSS20\n", + "\n", + "\n", + "DEP2\n", + "\n", + "LOSS20\n", + "\n", + "\n", + "DEP2\n", + "\n", + "LOSS20\n", + "\n", + "\n", + "DEP2\n", + "\n", + "LOSS20\n", + "\n", + "\n", + "DEP2\n", + "\n", + "LOSS20\n", + "\n", + "\n", + "DEP2\n", + "\n", + "LOSS20\n", + "\n", + "\n", + "DEP2\n", + "\n", + "LOSS20\n", + "\n", + "\n", + "DEP2\n", + "\n", + "LOSS20\n", + "\n", + "\n", + "DEP2\n", + "\n", + "LOSS20\n", + "\n", + "\n", + "DEP2\n", + "\n", + "LOSS20\n", + "\n", + "\n", + "DEP2\n", + "\n", + "LOSS20\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "LOSS0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "LOSS0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "LOSS0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "LOSS0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "LOSS0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "LOSS0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "LOSS0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "LOSS0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "LOSS0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "LOSS0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "LOSS0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "LOSS0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "LOSS0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "LOSS0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "LOSS0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "LOSS0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "LOSS0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "LOSS0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "LOSS0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "LOSS0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "LOSS0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "LOSS0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "LOSS0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "LOSS0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "LOSS0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "LOSS0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "LOSS0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "LOSS0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "DEP2\n", + "\n", + "LOSS20\n", + "\n", + "\n", + "DEP2\n", + "\n", + "LOSS20\n", + "\n", + "\n", + "DEP2\n", + "\n", + "LOSS20\n", + "\n", + "\n", + "DEP2\n", + "\n", + "LOSS20\n", + "\n", + "\n", + "DEP2\n", + "\n", + "LOSS20\n", + "\n", + "\n", + "DEP2\n", + "\n", + "LOSS20\n", + "\n", + "\n", + "DEP2\n", + "\n", + "LOSS20\n", + "\n", + "\n", + "DEP2\n", + "\n", + "LOSS20\n", + "\n", + "\n", + "DEP2\n", + "\n", + "LOSS20\n", + "\n", + "\n", + "DEP2\n", + "\n", + "LOSS20\n", + "\n", + "\n", + "DEP2\n", + "\n", + "LOSS20\n", + "\n", + "\n", + "DEP2\n", + "\n", + "LOSS20\n", + "\n", + "\n", + "DEP2\n", + "\n", + "LOSS20\n", + "\n", + "\n", + "DEP2\n", + "\n", + "LOSS20\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "LOSS0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "LOSS0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "LOSS0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "LOSS0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "LOSS0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "LOSS0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "LOSS0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "LOSS0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "LOSS0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "LOSS0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "LOSS0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "LOSS0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "LOSS0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "LOSS0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "LOSS0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "LOSS0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "LOSS0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "LOSS0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "LOSS0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "LOSS0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "LOSS0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "LOSS0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "LOSS0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "LOSS0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "LOSS0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "LOSS0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "LOSS0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "LOSS0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "DEP2\n", + "\n", + "LOSS20\n", + "\n", + "\n", + "DEP2\n", + "\n", + "LOSS20\n", + "\n", + "\n", + "DEP2\n", + "\n", + "LOSS20\n", + "\n", + "\n", + "DEP2\n", + "\n", + "LOSS20\n", + "\n", + "\n", + "DEP2\n", + "\n", + "LOSS20\n", + "\n", + "\n", + "DEP2\n", + "\n", + "LOSS20\n", + "\n", + "\n", + "DEP2\n", + "\n", + "LOSS20\n", + "\n", + "\n", + "DEP2\n", + "\n", + "LOSS20\n", + "\n", + "\n", + "DEP2\n", + "\n", + "LOSS20\n", + "\n", + "\n", + "DEP2\n", + "\n", + "LOSS20\n", + "\n", + "\n", + "DEP2\n", + "\n", + "LOSS20\n", + "\n", + "\n", + "DEP2\n", + "\n", + "LOSS20\n", + "\n", + "\n", + "DEP2\n", + "\n", + "LOSS20\n", + "\n", + "\n", + "DEP2\n", + "\n", + "LOSS20\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "LOSS0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "LOSS0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "LOSS0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "LOSS0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "LOSS0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "LOSS0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "LOSS0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "LOSS0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "LOSS0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "LOSS0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "LOSS0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "LOSS0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "LOSS0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "LOSS0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "S\n", + "\n", + "S\n", + "\n", + "S\n", + "\n", + "S\n", + "\n", + "S\n", + "\n", + "S\n", + "\n", + "S\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "S\n", + "\n", + "S\n", + "\n", + "S\n", + "\n", + "S\n", + "\n", + "S\n", + "\n", + "S\n", + "\n", + "S\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "M\n", + "0\n", + "rec[0]\n", + "\n", + "M\n", + "0\n", + "rec[1]\n", + "\n", + "M\n", + "0\n", + "rec[2]\n", + "\n", + "M\n", + "0\n", + "rec[3]\n", + "\n", + "M\n", + "0\n", + "rec[4]\n", + "\n", + "M\n", + "0\n", + "rec[5]\n", + "\n", + "M\n", + "0\n", + "rec[6]\n", + "\n", + "M\n", + "0\n", + "rec[7]\n", + "\n", + "M\n", + "0\n", + "rec[8]\n", + "\n", + "M\n", + "0\n", + "rec[9]\n", + "\n", + "M\n", + "0\n", + "rec[10]\n", + "\n", + "M\n", + "0\n", + "rec[11]\n", + "\n", + "M\n", + "0\n", + "rec[12]\n", + "\n", + "M\n", + "0\n", + "rec[13]\n", + "\n", + "M\n", + "0\n", + "rec[14]\n", + "\n", + "M\n", + "0\n", + "rec[15]\n", + "\n", + "M\n", + "0\n", + "rec[16]\n", + "\n", + "M\n", + "0\n", + "rec[17]\n", + "\n", + "M\n", + "0\n", + "rec[18]\n", + "\n", + "M\n", + "0\n", + "rec[19]\n", + "\n", + "M\n", + "0\n", + "rec[20]\n", + "\n", + "M\n", + "0\n", + "rec[21]\n", + "\n", + "M\n", + "0\n", + "rec[22]\n", + "\n", + "M\n", + "0\n", + "rec[23]\n", + "\n", + "M\n", + "0\n", + "rec[24]\n", + "\n", + "M\n", + "0\n", + "rec[25]\n", + "\n", + "M\n", + "0\n", + "rec[26]\n", + "\n", + "M\n", + "0\n", + "rec[27]\n", + "\n", + "M\n", + "0\n", + "rec[28]\n", + "\n", + "M\n", + "0\n", + "rec[29]\n", + "\n", + "M\n", + "0\n", + "rec[30]\n", + "\n", + "M\n", + "0\n", + "rec[31]\n", + "\n", + "M\n", + "0\n", + "rec[32]\n", + "\n", + "M\n", + "0\n", + "rec[33]\n", + "\n", + "M\n", + "0\n", + "rec[34]\n", + "\n", + "DETECTOR\n", + "coords=(0,0)\n", + "D0 = rec[0]*rec[1]*rec[2]*rec[3]\n", + "\n", + "DETECTOR\n", + "coords=(0,1)\n", + "D1 = rec[1]*rec[2]*rec[4]*rec[5]\n", + "\n", + "DETECTOR\n", + "coords=(0,2)\n", + "D2 = rec[2]*rec[3]*rec[4]*rec[6]\n", + "\n", + "OBS_INCLUDE(0)\n", + "L0 *= rec[0]*rec[1]*rec[5]\n", + "\n", + "DETECTOR\n", + "coords=(0,0)\n", + "D3 = rec[7]*rec[8]*rec[9]*rec[10]\n", + "\n", + "DETECTOR\n", + "coords=(0,1)\n", + "D4 = rec[8]*rec[9]*rec[11]*rec[12]\n", + "\n", + "DETECTOR\n", + "coords=(0,2)\n", + "D5 = rec[9]*rec[10]*rec[11]*rec[13]\n", + "\n", + "OBS_INCLUDE(1)\n", + "L1 *= rec[7]*rec[8]*rec[12]\n", + "\n", + "DETECTOR\n", + "coords=(0,0)\n", + "D6 = rec[14]*rec[15]*rec[16]*rec[17]\n", + "\n", + "DETECTOR\n", + "coords=(0,1)\n", + "D7 = rec[15]*rec[16]*rec[18]*rec[19]\n", + "\n", + "DETECTOR\n", + "coords=(0,2)\n", + "D8 = rec[16]*rec[17]*rec[18]*rec[20]\n", + "\n", + "OBS_INCLUDE(2)\n", + "L2 *= rec[14]*rec[15]*rec[19]\n", + "\n", + "DETECTOR\n", + "coords=(0,0)\n", + "D9 = rec[21]*rec[22]*rec[23]*rec[24]\n", + "\n", + "DETECTOR\n", + "coords=(0,1)\n", + "D10 = rec[22]*rec[23]*rec[25]*rec[26]\n", + "\n", + "DETECTOR\n", + "coords=(0,2)\n", + "D11 = rec[23]*rec[24]*rec[25]*rec[27]\n", + "\n", + "OBS_INCLUDE(3)\n", + "L3 *= rec[21]*rec[22]*rec[26]\n", + "\n", + "DETECTOR\n", + "coords=(0,0)\n", + "D12 = rec[28]*rec[29]*rec[30]*rec[31]\n", + "\n", + "DETECTOR\n", + "coords=(0,1)\n", + "D13 = rec[29]*rec[30]*rec[32]*rec[33]\n", + "\n", + "DETECTOR\n", + "coords=(0,2)\n", + "D14 = rec[30]*rec[31]*rec[32]*rec[34]\n", + "\n", + "OBS_INCLUDE(4)\n", + "L4 *= rec[28]*rec[29]*rec[33]\n", + "\n", + "
\n", + "
\n", + " \n", + "
\n" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "from IPython.display import HTML, display\n", + "\n", + "diagram = x_task_test.tsim_circuit.diagram(height=500)\n", + "display(HTML(f\"\"\"\n", + "
\n", + " {diagram}\n", + "
\n", + "\"\"\"))" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "id": "e248c9cf", + "metadata": {}, + "outputs": [], + "source": [ + "# x_task_test.run(1, with_noise=False, run_detectors=True)" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "id": "2d7ce763", + "metadata": {}, + "outputs": [], + "source": [ + "# x_task_test.run(1, with_noise=True, run_detectors=True)" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "id": "d6f5b35b", + "metadata": {}, + "outputs": [], + "source": [ + "# result = x_task_test.run(20000, with_noise=False, run_detectors=True)" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "id": "a4105c45", + "metadata": {}, + "outputs": [], + "source": [ + "# det = np.asarray(result.detectors, dtype=np.uint8)" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "id": "45a72185", + "metadata": {}, + "outputs": [], + "source": [ + "# obs = np.asarray(result.observables, dtype=np.uint8)" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "id": "1571c183", + "metadata": {}, + "outputs": [], + "source": [ + "# result_noisy = x_task_test.run(20000, with_noise=True, run_detectors=True)" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "id": "e04a404b", + "metadata": {}, + "outputs": [], + "source": [ + "# det_noisy = np.asarray(result_noisy.detectors, dtype=np.uint8)" + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "id": "0a49f1dd", + "metadata": {}, + "outputs": [], + "source": [ + "# obs_noisy = np.asarray(result.observables, dtype=np.uint8)" + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "id": "d67ff93d", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "{'X': GeminiLogicalSimulatorTask(logical_squin_kernel=Method(\"msd_special_x\"), noise_model=SimpleNoiseModel(lane_noise=Method(\"lane_noise\"), idle_noise=Method(\"idle_noise\"), cz_unpaired_noise=Method(\"cz_unpaired_noise\"), cz_paired_noise=Method(\"cz_paired_noise\"), global_rz_noise=Method(\"global_rz_noise\"), local_rz_noise=Method(\"local_rz_noise\"), global_r_noise=Method(\"global_r_noise\"), local_r_noise=Method(\"local_r_noise\")), _thread_pool_executor=),\n", + " 'Y': GeminiLogicalSimulatorTask(logical_squin_kernel=Method(\"msd_special_y\"), noise_model=SimpleNoiseModel(lane_noise=Method(\"lane_noise\"), idle_noise=Method(\"idle_noise\"), cz_unpaired_noise=Method(\"cz_unpaired_noise\"), cz_paired_noise=Method(\"cz_paired_noise\"), global_rz_noise=Method(\"global_rz_noise\"), local_rz_noise=Method(\"local_rz_noise\"), global_r_noise=Method(\"global_r_noise\"), local_r_noise=Method(\"local_r_noise\")), _thread_pool_executor=),\n", + " 'Z': GeminiLogicalSimulatorTask(logical_squin_kernel=Method(\"msd_special_z\"), noise_model=SimpleNoiseModel(lane_noise=Method(\"lane_noise\"), idle_noise=Method(\"idle_noise\"), cz_unpaired_noise=Method(\"cz_unpaired_noise\"), cz_paired_noise=Method(\"cz_paired_noise\"), global_rz_noise=Method(\"global_rz_noise\"), local_rz_noise=Method(\"local_rz_noise\"), global_r_noise=Method(\"global_r_noise\"), local_r_noise=Method(\"local_r_noise\")), _thread_pool_executor=)}" + ] + }, + "execution_count": 24, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "special_tasks" + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "id": "9ddc3ff7", + "metadata": {}, + "outputs": [], + "source": [ + "# Conservative cell\n", + "# CONFIG['mld_train_shots'] = 5000" + ] + }, + { + "cell_type": "code", + "execution_count": 26, + "id": "8baf6dca", + "metadata": {}, + "outputs": [], + "source": [ + "def build_mld_decoders_debug(training_dataset: BasisDataset):\n", + " print(\"det shape/dtype:\", training_dataset.detectors.shape, training_dataset.detectors.dtype)\n", + " print(\"obs shape/dtype:\", training_dataset.observables.shape, training_dataset.observables.dtype)\n", + "\n", + " det = np.ascontiguousarray(training_dataset.detectors, dtype=bool)\n", + " obs = np.ascontiguousarray(training_dataset.observables, dtype=bool)\n", + " print(\"det contiguous:\", det.flags[\"C_CONTIGUOUS\"], det.nbytes)\n", + " print(\"obs contiguous:\", obs.flags[\"C_CONTIGUOUS\"], obs.nbytes)\n", + "\n", + " anc_det, anc_obs = split_factory_bits(det, obs)\n", + " print(\"anc det/obs:\", anc_det.shape, anc_obs.shape)\n", + "\n", + " full_dem = make_shape_only_dem(det.shape[1], obs.shape[1])\n", + " factory_dem = make_shape_only_dem(anc_det.shape[1], anc_obs.shape[1])\n", + " print(\"dem sizes:\", full_dem.num_detectors, full_dem.num_observables, factory_dem.num_detectors, factory_dem.num_observables)\n", + "\n", + " full_shots = np.ascontiguousarray(np.concatenate([det, obs], axis=1), dtype=bool)\n", + " factory_shots = np.ascontiguousarray(np.concatenate([anc_det, anc_obs], axis=1), dtype=bool)\n", + " print(\"full shots:\", full_shots.shape, full_shots.dtype, full_shots.nbytes)\n", + " print(\"factory shots:\", factory_shots.shape, factory_shots.dtype, factory_shots.nbytes)\n", + "\n", + " print(\"building full decoder...\")\n", + " full_decoder = TableDecoder.from_det_obs_shots(full_dem, full_shots)\n", + " print(\"built full decoder:\", full_decoder.det_obs_counts.shape, full_decoder.det_obs_counts.nbytes)\n", + "\n", + " print(\"building factory decoder...\")\n", + " factory_decoder = TableDecoder.from_det_obs_shots(factory_dem, factory_shots)\n", + " print(\"built factory decoder:\", factory_decoder.det_obs_counts.shape, factory_decoder.det_obs_counts.nbytes)\n", + "\n", + " return full_decoder, factory_decoder\n" + ] + }, + { + "cell_type": "code", + "execution_count": 27, + "id": "07c093f0", + "metadata": {}, + "outputs": [], + "source": [ + "# dataset = run_task(special_tasks[\"X\"], 20000, with_noise=True)\n", + "# full_decoder, factory_decoder = build_mld_decoders_debug(dataset)" + ] + }, + { + "cell_type": "code", + "execution_count": 28, + "id": "9b9a58f5", + "metadata": {}, + "outputs": [], + "source": [ + "# import time\n", + "\n", + "# task = special_tasks[\"X\"]\n", + "# for shots in [100, 1000, 5000, 10000, 100000, 500000, 1000000]:\n", + "# t0 = time.perf_counter()\n", + "# _ = run_task(task, shots, with_noise=True)\n", + "# dt = time.perf_counter() - t0\n", + "# rate = shots / dt\n", + "# print({\n", + "# \"shots\": shots,\n", + "# \"seconds\": dt,\n", + "# \"shots_per_sec\": rate,\n", + "# \"hours_for_1b\": 1_000_000_000 / rate / 3600,\n", + "# })\n" + ] + }, + { + "cell_type": "code", + "execution_count": 60, + "id": "a6647f73", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "\n", + "
\n", + "
\n", + " \n", + "\n", + "\n", + "q0\n", + "\n", + "q1\n", + "\n", + "q2\n", + "\n", + "q3\n", + "\n", + "q4\n", + "\n", + "q5\n", + "\n", + "q6\n", + "\n", + "\n", + "U3\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "LOSS0\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "LOSS\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "LOSS2\n", + "LOSS20\n", + "\n", + "\n", + "LOSS2\n", + "LOSS20\n", + "\n", + "\n", + "LOSS2\n", + "LOSS20\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "LOSS0\n", + "\n", + "√Y\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "LOSS0\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "DEP2\n", + "\n", + "LOSS20\n", + "\n", + "\n", + "DEP2\n", + "\n", + "LOSS20\n", + "\n", + "\n", + "DEP2\n", + "\n", + "LOSS20\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "LOSS0\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "LOSS2\n", + "LOSS20\n", + "\n", + "\n", + "LOSS2\n", + "LOSS20\n", + "\n", + "\n", + "LOSS2\n", + "LOSS20\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "LOSS0\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "X\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "LOSS0\n", + "\n", + "Z\n", + "\n", + "Z\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "S\n", + "\n", + "S\n", + "\n", + "S\n", + "\n", + "S\n", + "\n", + "S\n", + "\n", + "S\n", + "\n", + "S\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "S\n", + "\n", + "S\n", + "\n", + "S\n", + "\n", + "S\n", + "\n", + "S\n", + "\n", + "S\n", + "\n", + "S\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "M\n", + "0\n", + "rec[0]\n", + "\n", + "M\n", + "0\n", + "rec[1]\n", + "\n", + "M\n", + "0\n", + "rec[2]\n", + "\n", + "M\n", + "0\n", + "rec[3]\n", + "\n", + "M\n", + "0\n", + "rec[4]\n", + "\n", + "M\n", + "0\n", + "rec[5]\n", + "\n", + "M\n", + "0\n", + "rec[6]\n", + "\n", + "DETECTOR\n", + "coords=(0,0)\n", + "D0 = rec[0]*rec[1]*rec[2]*rec[3]\n", + "\n", + "DETECTOR\n", + "coords=(0,1)\n", + "D1 = rec[1]*rec[2]*rec[4]*rec[5]\n", + "\n", + "DETECTOR\n", + "coords=(0,2)\n", + "D2 = rec[2]*rec[3]*rec[4]*rec[6]\n", + "\n", + "OBS_INCLUDE(0)\n", + "L0 *= rec[0]*rec[1]*rec[5]\n", + "\n", + "
\n", + "
\n", + " " + ], + "text/plain": [ + "" + ] + }, + "execution_count": 60, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "injected_tasks[\"X\"].tsim_circuit.diagram(height=500)" + ] + }, + { + "cell_type": "code", + "execution_count": 29, + "id": "501815f1", + "metadata": {}, + "outputs": [], + "source": [ + "injected_summary_raw = injected_baseline_raw(injected_tasks, CONFIG['posterior_samples'])" + ] + }, + { + "cell_type": "code", + "execution_count": 30, + "id": "c9e80ca4", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "{'point': 0.9410748210511833,\n", + " 'median': 0.9411721355211176,\n", + " 'low': 0.9400466963998902,\n", + " 'high': 0.9411721355211176,\n", + " 'bloch': (0.623912, 0.6082, 0.295816)}" + ] + }, + "execution_count": 30, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "injected_summary_raw" + ] + }, + { + "cell_type": "code", + "execution_count": 31, + "id": "263bc652", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Sampling MLD training data for X with 1,000,000 shots...\n", + "dataset was created\n", + "cached MLD training data\n", + "Sampling MLD training data for Y with 1,000,000 shots...\n", + "dataset was created\n", + "cached MLD training data\n", + "Sampling MLD training data for Z with 1,000,000 shots...\n", + "dataset was created\n", + "cached MLD training data\n", + "built MLD decoders with shared ancilla-pattern fidelity scores\n" + ] + } + ], + "source": [ + "mld_training_data = {}\n", + "for basis, task in special_tasks.items():\n", + " print(f\"Sampling MLD training data for {basis} with {CONFIG['mld_train_shots']:,} shots...\")\n", + " dataset = run_task(task, CONFIG['mld_train_shots'], with_noise=True)\n", + " print(\"dataset was created\")\n", + " mld_training_data[basis] = dataset\n", + " print(\"cached MLD training data\")\n", + "\n", + "mld_ancilla_scores = build_shared_mld_postselection_scores(\n", + " mld_training_data,\n", + " table_decoder_cls=TableDecoder,\n", + " factory_target=FACTORY_TARGET,\n", + " basis_labels=BASIS_LABELS,\n", + " sign_vector=MLD_SIGN_VECTOR,\n", + " target_bloch=FIDELITY_TARGET_BLOCH,\n", + ")\n", + "mld_training = {\n", + " basis: build_mld_decoders(\n", + " dataset,\n", + " mld_ancilla_scores,\n", + " table_decoder_cls=TableDecoder,\n", + " )\n", + " for basis, dataset in mld_training_data.items()\n", + "}\n", + "print('built MLD decoders with shared ancilla-pattern fidelity scores')\n" + ] + }, + { + "cell_type": "code", + "execution_count": 32, + "id": "b3be41fd", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(1.0, -1.0, 1.0)" + ] + }, + "execution_count": 32, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "MLD_SIGN_VECTOR" + ] + }, + { + "cell_type": "code", + "execution_count": 33, + "id": "ead4632c", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Restricted license - for non-production use only - expires 2027-11-29\n", + "Injected raw baseline fidelity: 0.9409085441736567\n", + "Injected corrected baseline fidelity: 0.9605500003314877\n", + "MLE score mode: logical_gap\n", + "MLE curve points: 36\n", + "MLD curve points: 1415\n" + ] + } + ], + "source": [ + "# NOTE: this cell requires the gurobipy package to be installed\n", + "\n", + "actual_data = {\n", + " basis: run_task(task, CONFIG['eval_shots'], with_noise=True)\n", + " for basis, task in actual_tasks.items()\n", + "}\n", + "\n", + "mle_decoders = {\n", + " basis: build_mle_decoders(\n", + " task,\n", + " gurobi_decoder_cls=GurobiDecoder,\n", + " score_mode=MLE_SCORE_MODE,\n", + " )\n", + " for basis, task in actual_tasks.items()\n", + "}\n", + "\n", + "mld_curve = evaluate_mld_curve(\n", + " actual_data,\n", + " mld_training,\n", + " posterior_samples=CONFIG['posterior_samples'],\n", + " factory_target=FACTORY_TARGET,\n", + " sign_vector=MLD_SIGN_VECTOR,\n", + " target_bloch=FIDELITY_TARGET_BLOCH,\n", + " basis_labels=BASIS_LABELS,\n", + ")\n", + "mle_curve = evaluate_curve(\n", + " actual_data,\n", + " mle_decoders,\n", + " posterior_samples=CONFIG['posterior_samples'],\n", + " threshold_points=CONFIG['mle_threshold_points'],\n", + " metric='MLE logical gap',\n", + " factory_target=FACTORY_TARGET,\n", + " sign_vector=MLD_SIGN_VECTOR,\n", + " target_bloch=FIDELITY_TARGET_BLOCH,\n", + " basis_labels=BASIS_LABELS,\n", + ")\n", + "injected_summary_corrected = injected_baseline(\n", + " injected_decoder_tasks,\n", + " eval_shots=CONFIG['eval_shots'],\n", + " posterior_samples=CONFIG['posterior_samples'],\n", + " table_decoder_cls=TableDecoder,\n", + " sign_vector=INJECTED_CORRECTED_SIGN_VECTOR,\n", + " target_bloch=FIDELITY_TARGET_BLOCH,\n", + " basis_labels=BASIS_LABELS,\n", + ")\n", + "injected_summary_raw = injected_baseline_raw(injected_tasks, CONFIG['posterior_samples'])\n", + "\n", + "print('Injected raw baseline fidelity:', injected_summary_raw['point'])\n", + "print('Injected corrected baseline fidelity:', injected_summary_corrected['point'])\n", + "print('MLE score mode:', next(iter(mle_decoders.values())).factory_score_mode)\n", + "print('MLE curve points:', len(mle_curve['accepted_fraction']))\n", + "print('MLD curve points:', len(mld_curve['accepted_fraction']))\n" + ] + }, + { + "cell_type": "code", + "execution_count": 34, + "id": "b6f92958", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "((1.0, -1.0, 1.0), (1.0, 1.0, 1.0))" + ] + }, + "execution_count": 34, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "INJECTED_RAW_SIGN_VECTOR, INJECTED_CORRECTED_SIGN_VECTOR" + ] + }, + { + "cell_type": "code", + "execution_count": 35, + "id": "f9c09fac", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(1.0, -1.0, 1.0)" + ] + }, + "execution_count": 35, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "MLD_SIGN_VECTOR" + ] + }, + { + "cell_type": "code", + "execution_count": 36, + "id": "b28b1f42", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([0.57735027, 0.57735027, 0.57735027])" + ] + }, + "execution_count": 36, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "FIDELITY_TARGET_BLOCH" + ] + }, + { + "cell_type": "code", + "execution_count": 37, + "id": "38d2b80e", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "{'point': 0.9605500003314877,\n", + " 'median': 0.9603046005819823,\n", + " 'low': 0.9603046005819823,\n", + " 'high': 0.9614300397032096,\n", + " 'bloch': (0.648768, 0.639216, 0.307408)}" + ] + }, + "execution_count": 37, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "injected_summary_corrected" + ] + }, + { + "cell_type": "code", + "execution_count": 38, + "id": "99b0f4c3", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "{'X': GeminiLogicalSimulatorTask(logical_squin_kernel=Method(\"injected_x\"), noise_model=SimpleNoiseModel(lane_noise=Method(\"lane_noise\"), idle_noise=Method(\"idle_noise\"), cz_unpaired_noise=Method(\"cz_unpaired_noise\"), cz_paired_noise=Method(\"cz_paired_noise\"), global_rz_noise=Method(\"global_rz_noise\"), local_rz_noise=Method(\"local_rz_noise\"), global_r_noise=Method(\"global_r_noise\"), local_r_noise=Method(\"local_r_noise\")), _thread_pool_executor=),\n", + " 'Y': GeminiLogicalSimulatorTask(logical_squin_kernel=Method(\"injected_y\"), noise_model=SimpleNoiseModel(lane_noise=Method(\"lane_noise\"), idle_noise=Method(\"idle_noise\"), cz_unpaired_noise=Method(\"cz_unpaired_noise\"), cz_paired_noise=Method(\"cz_paired_noise\"), global_rz_noise=Method(\"global_rz_noise\"), local_rz_noise=Method(\"local_rz_noise\"), global_r_noise=Method(\"global_r_noise\"), local_r_noise=Method(\"local_r_noise\")), _thread_pool_executor=),\n", + " 'Z': GeminiLogicalSimulatorTask(logical_squin_kernel=Method(\"injected_z\"), noise_model=SimpleNoiseModel(lane_noise=Method(\"lane_noise\"), idle_noise=Method(\"idle_noise\"), cz_unpaired_noise=Method(\"cz_unpaired_noise\"), cz_paired_noise=Method(\"cz_paired_noise\"), global_rz_noise=Method(\"global_rz_noise\"), local_rz_noise=Method(\"local_rz_noise\"), global_r_noise=Method(\"global_r_noise\"), local_r_noise=Method(\"local_r_noise\")), _thread_pool_executor=)}" + ] + }, + "execution_count": 38, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "injected_tasks" + ] + }, + { + "cell_type": "code", + "execution_count": 39, + "id": "640f9bd6", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "\n", + "
\n", + " \n", + "
\n", + "
\n", + " \n", + "\n", + "\n", + "q0\n", + "\n", + "q1\n", + "\n", + "q2\n", + "\n", + "q3\n", + "\n", + "q4\n", + "\n", + "q5\n", + "\n", + "q6\n", + "\n", + "\n", + "U3\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "LOSS0\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "LOSS\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "LOSS2\n", + "LOSS20\n", + "\n", + "\n", + "LOSS2\n", + "LOSS20\n", + "\n", + "\n", + "LOSS2\n", + "LOSS20\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "LOSS0\n", + "\n", + "√Y\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "LOSS0\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "DEP2\n", + "\n", + "LOSS20\n", + "\n", + "\n", + "DEP2\n", + "\n", + "LOSS20\n", + "\n", + "\n", + "DEP2\n", + "\n", + "LOSS20\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "LOSS0\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "LOSS2\n", + "LOSS20\n", + "\n", + "\n", + "LOSS2\n", + "LOSS20\n", + "\n", + "\n", + "LOSS2\n", + "LOSS20\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "LOSS0\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "X\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "LOSS0\n", + "\n", + "Z\n", + "\n", + "Z\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "S\n", + "\n", + "S\n", + "\n", + "S\n", + "\n", + "S\n", + "\n", + "S\n", + "\n", + "S\n", + "\n", + "S\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "S\n", + "\n", + "S\n", + "\n", + "S\n", + "\n", + "S\n", + "\n", + "S\n", + "\n", + "S\n", + "\n", + "S\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "M\n", + "0\n", + "rec[0]\n", + "\n", + "M\n", + "0\n", + "rec[1]\n", + "\n", + "M\n", + "0\n", + "rec[2]\n", + "\n", + "M\n", + "0\n", + "rec[3]\n", + "\n", + "M\n", + "0\n", + "rec[4]\n", + "\n", + "M\n", + "0\n", + "rec[5]\n", + "\n", + "M\n", + "0\n", + "rec[6]\n", + "\n", + "DETECTOR\n", + "coords=(0,0)\n", + "D0 = rec[0]*rec[1]*rec[2]*rec[3]\n", + "\n", + "DETECTOR\n", + "coords=(0,1)\n", + "D1 = rec[1]*rec[2]*rec[4]*rec[5]\n", + "\n", + "DETECTOR\n", + "coords=(0,2)\n", + "D2 = rec[2]*rec[3]*rec[4]*rec[6]\n", + "\n", + "OBS_INCLUDE(0)\n", + "L0 *= rec[0]*rec[1]*rec[5]\n", + "\n", + "
\n", + "
\n", + " \n", + "
\n" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "from IPython.display import HTML, display\n", + "\n", + "diagram = injected_tasks['X'].tsim_circuit.diagram(height=500)\n", + "display(HTML(f\"\"\"\n", + "
\n", + " {diagram}\n", + "
\n", + "\"\"\"))" + ] + }, + { + "cell_type": "code", + "execution_count": 40, + "id": "8397c82e", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "{'point': 0.9605500003314877,\n", + " 'median': 0.9603046005819823,\n", + " 'low': 0.9603046005819823,\n", + " 'high': 0.9614300397032096,\n", + " 'bloch': (0.648768, 0.639216, 0.307408)}" + ] + }, + "execution_count": 40, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "injected_summary_corrected" + ] + }, + { + "cell_type": "code", + "execution_count": 41, + "id": "fdf27350", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "64" + ] + }, + "execution_count": 41, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "len(data.observables[:, 0])" + ] + }, + { + "cell_type": "code", + "execution_count": 42, + "id": "79f59194", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "X 0.684\n", + "Y -0.674\n", + "Z 0.294\n" + ] + } + ], + "source": [ + "for basis, task in injected_tasks.items():\n", + " data = run_task(task, 1000, with_noise=False)\n", + " print(basis, logical_expectation(data.observables[:, 0]))" + ] + }, + { + "cell_type": "code", + "execution_count": 43, + "id": "f81cb7c6", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "X [[0 0 0 0 0]]\n", + "Y [[0 0 0 0 0]]\n", + "Z [[0 0 0 0 0]]\n" + ] + } + ], + "source": [ + "for basis, task in special_tasks.items():\n", + " data = run_task(task, 256, with_noise=False)\n", + " print(basis, np.unique(data.observables, axis=0))" + ] + }, + { + "cell_type": "code", + "execution_count": 44, + "id": "387e033f", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "X output unique: [0]\n", + "X ancilla unique rows: [[0 0 0 0]]\n", + "Y output unique: [0]\n", + "Y ancilla unique rows: [[0 0 0 0]]\n", + "Z output unique: [0]\n", + "Z ancilla unique rows: [[0 0 0 0]]\n" + ] + } + ], + "source": [ + "for basis, task in special_tasks.items():\n", + " data = run_task(task, 256, with_noise=False)\n", + " print(basis, \"output unique:\", np.unique(data.observables[:, 0]))\n", + " print(basis, \"ancilla unique rows:\", np.unique(data.observables[:, 1:], axis=0))" + ] + }, + { + "cell_type": "code", + "execution_count": 45, + "id": "141a21e5", + "metadata": {}, + "outputs": [], + "source": [ + "# fig, ax = plt.subplots(figsize=(7, 5))\n", + "\n", + "# ax.plot(mle_curve['accepted_fraction'], mle_curve['fidelity'], color='tab:blue', label='Distilled (MLE)')\n", + "# ax.fill_between(\n", + "# mle_curve['accepted_fraction'],\n", + "# mle_curve['credible'][:, 0],\n", + "# mle_curve['credible'][:, 1],\n", + "# color='tab:blue',\n", + "# alpha=0.15,\n", + "# )\n", + "\n", + "# ax.plot(mld_curve['accepted_fraction'], mld_curve['fidelity'], color='tab:orange', label='Distilled (MLD)')\n", + "# ax.fill_between(\n", + "# mld_curve['accepted_fraction'],\n", + "# mld_curve['credible'][:, 0],\n", + "# mld_curve['credible'][:, 1],\n", + "# color='tab:orange',\n", + "# alpha=0.15,\n", + "# )\n", + "\n", + "# # ax.axhline(injected_summary['point'], color='tab:green', linestyle='-', label='Injected')\n", + "# plt.axhline(injected_summary['median'], color='green', label='Injected')\n", + "# plt.axhspan(\n", + "# injected_summary['low'],\n", + "# injected_summary['high'],\n", + "# color='green',\n", + "# alpha=0.12,\n", + "# )\n", + "\n", + "# ax.fill_between(\n", + "# [0.0, 1.0],\n", + "# injected_summary['low'],\n", + "# injected_summary['high'],\n", + "# color='tab:green',\n", + "# alpha=0.1,\n", + "# )\n", + "\n", + "# ax.set_xlabel('Total accepted fraction')\n", + "# ax.set_ylabel('Magic state fidelity')\n", + "# ax.set_title('Reproduction of Fig. 3(b) with bloqade-decoders on GeminiLogicalSimulator')\n", + "# ax.grid(alpha=0.25)\n", + "# ax.legend()\n", + "# plt.show()\n" + ] + }, + { + "cell_type": "code", + "execution_count": 46, + "id": "b68c2487", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Injected summary: {'point': 0.9605500003314877, 'median': 0.9603046005819823, 'low': 0.9603046005819823, 'high': 0.9614300397032096, 'bloch': (0.648768, 0.639216, 0.307408)}\n", + "MLE first few fidelities: [0.9861897 0.9805625 0.97943707 0.97943707 0.97831163]\n", + "MLD first few fidelities: [0.99294234 0.99294234 0.99294234 0.99294234 0.99294234]\n" + ] + } + ], + "source": [ + "print(\"Injected summary:\", injected_summary_corrected)\n", + "print(\"MLE first few fidelities:\", mle_curve['fidelity'][:5])\n", + "print(\"MLD first few fidelities:\", mld_curve['fidelity'][:5])\n" + ] + }, + { + "cell_type": "code", + "execution_count": 47, + "id": "9d91e65e", + "metadata": {}, + "outputs": [], + "source": [ + "# injected_summary_raw" + ] + }, + { + "cell_type": "code", + "execution_count": 48, + "id": "9e3b70d5", + "metadata": {}, + "outputs": [], + "source": [ + "# injected_summary_corr = injected_baseline(injected_tasks, CONFIG['posterior_samples'])" + ] + }, + { + "cell_type": "code", + "execution_count": 49, + "id": "79d08ae9", + "metadata": {}, + "outputs": [], + "source": [ + "# injected_summary_corr" + ] + }, + { + "cell_type": "code", + "execution_count": 50, + "id": "ffd99b3c", + "metadata": {}, + "outputs": [], + "source": [ + "injected_summary_raw = injected_baseline_raw(injected_tasks, CONFIG['posterior_samples'])" + ] + }, + { + "cell_type": "code", + "execution_count": 51, + "id": "74abf32b", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "{'point': 0.9418692550215882,\n", + " 'median': 0.942297574642345,\n", + " 'low': 0.9411721355211176,\n", + " 'high': 0.942297574642345,\n", + " 'bloch': (0.628016, 0.607536, 0.295128)}" + ] + }, + "execution_count": 51, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "injected_summary_raw" + ] + }, + { + "cell_type": "code", + "execution_count": 52, + "id": "c2cf3aa0", + "metadata": {}, + "outputs": [ + { + "data": { + "image/svg+xml": [ + "\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " 2026-04-09T11:06:11.687971\n", + " image/svg+xml\n", + " \n", + " \n", + " Matplotlib v3.10.8, https://matplotlib.org/\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n" + ], + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "plt.figure(figsize=(6, 4))\n", + "\n", + "plt.plot(\n", + " mle_curve['accepted_fraction'],\n", + " mle_curve['fidelity'],\n", + " marker='o',\n", + " label='Distilled (MLE)',\n", + ")\n", + "plt.fill_between(\n", + " mle_curve['accepted_fraction'],\n", + " mle_curve['credible'][:, 0],\n", + " mle_curve['credible'][:, 1],\n", + " alpha=0.15,\n", + ")\n", + "\n", + "plt.plot(\n", + " mld_curve['accepted_fraction'],\n", + " mld_curve['fidelity'],\n", + " marker='o',\n", + " label='Distilled (MLD)',\n", + ")\n", + "plt.fill_between(\n", + " mld_curve['accepted_fraction'],\n", + " mld_curve['credible'][:, 0],\n", + " mld_curve['credible'][:, 1],\n", + " alpha=0.15,\n", + ")\n", + "\n", + "plt.axhline(\n", + " injected_summary_corrected['median'],\n", + " color='green',\n", + " linewidth=2,\n", + " label='Injected',\n", + ")\n", + "plt.axhspan(\n", + " injected_summary_corrected['low'],\n", + " injected_summary_corrected['high'],\n", + " color='green',\n", + " alpha=0.12,\n", + ")\n", + "\n", + "plt.xlabel('Total accepted fraction')\n", + "plt.ylabel('Magic state fidelity')\n", + "plt.title('Reproduction of Fig. 3(b) with bloqade-decoders on GeminiLogicalSimulator')\n", + "plt.legend()\n", + "plt.grid(True, alpha=0.3)\n", + "plt.show()\n" + ] + }, + { + "cell_type": "markdown", + "id": "ebfab81a", + "metadata": {}, + "source": [ + "# Debugging why the plot is bad" + ] + }, + { + "cell_type": "code", + "execution_count": 53, + "id": "7ae588c6", + "metadata": {}, + "outputs": [], + "source": [ + "def summarize_noiseless(task, shots=256, label=\"\"):\n", + " data = run_task(task, shots, with_noise=False)\n", + " obs = data.observables.astype(np.uint8)\n", + " det = data.detectors.astype(np.uint8)\n", + " print(f\"{label} detectors shape:\", det.shape)\n", + " print(f\"{label} observables shape:\", obs.shape)\n", + " print(f\"{label} unique detector rows:\", len(np.unique(det, axis=0)))\n", + " print(f\"{label} unique observable rows:\", len(np.unique(obs, axis=0)))\n", + " print(f\"{label} output unique:\", np.unique(obs[:, 0]))\n", + " print(f\"{label} ancilla unique rows:\", np.unique(obs[:, 1:], axis=0))\n", + " return data\n" + ] + }, + { + "cell_type": "code", + "execution_count": 54, + "id": "a8a397ac", + "metadata": {}, + "outputs": [ + { + "ename": "NameError", + "evalue": "name 'gemini_logical' is not defined", + "output_type": "error", + "traceback": [ + "\u001b[31m---------------------------------------------------------------------------\u001b[39m", + "\u001b[31mNameError\u001b[39m Traceback (most recent call last)", + "\u001b[36mCell\u001b[39m\u001b[36m \u001b[39m\u001b[32mIn[54]\u001b[39m\u001b[32m, line 1\u001b[39m\n\u001b[32m----> \u001b[39m\u001b[32m1\u001b[39m \u001b[38;5;129m@gemini_logical\u001b[39m.kernel(aggressive_unroll=\u001b[38;5;28;01mTrue\u001b[39;00m)\n\u001b[32m 2\u001b[39m \u001b[38;5;28;01mdef\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[34mdbg_identity_5\u001b[39m():\n\u001b[32m 3\u001b[39m reg = qubit.qalloc(\u001b[32m5\u001b[39m)\n\u001b[32m 4\u001b[39m \u001b[38;5;28;01mreturn\u001b[39;00m default_post_processing(reg)\n", + "\u001b[31mNameError\u001b[39m: name 'gemini_logical' is not defined" + ] + } + ], + "source": [ + "@gemini_logical.kernel(aggressive_unroll=True)\n", + "def dbg_identity_5():\n", + " reg = qubit.qalloc(5)\n", + " return default_post_processing(reg)\n", + "\n", + "dbg_identity_task = build_task(sim, dbg_identity_5, m2dets=None, m2obs=None)\n", + "summarize_noiseless(dbg_identity_task, label=\"identity_5\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "ae780603", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "inverse_then_forward detectors shape: (256, 15)\n", + "inverse_then_forward observables shape: (256, 5)\n", + "inverse_then_forward unique detector rows: 1\n", + "inverse_then_forward unique observable rows: 1\n", + "inverse_then_forward output unique: [0]\n", + "inverse_then_forward ancilla unique rows: [[0 0 0 0]]\n" + ] + }, + { + "data": { + "text/plain": [ + "BasisDataset(detectors=array([[0, 0, 0, ..., 0, 0, 0],\n", + " [0, 0, 0, ..., 0, 0, 0],\n", + " [0, 0, 0, ..., 0, 0, 0],\n", + " ...,\n", + " [0, 0, 0, ..., 0, 0, 0],\n", + " [0, 0, 0, ..., 0, 0, 0],\n", + " [0, 0, 0, ..., 0, 0, 0]], shape=(256, 15), dtype=uint8), observables=array([[0, 0, 0, 0, 0],\n", + " [0, 0, 0, 0, 0],\n", + " [0, 0, 0, 0, 0],\n", + " ...,\n", + " [0, 0, 0, 0, 0],\n", + " [0, 0, 0, 0, 0],\n", + " [0, 0, 0, 0, 0]], shape=(256, 5), dtype=uint8))" + ] + }, + "execution_count": 39, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "@gemini_logical.kernel(aggressive_unroll=True)\n", + "def dbg_cancel():\n", + " reg = qubit.qalloc(5)\n", + " msd_inverse(reg)\n", + " msd_forward(reg)\n", + " return default_post_processing(reg)\n", + "\n", + "dbg_cancel_task = build_task(sim, dbg_cancel, m2dets=None, m2obs=None)\n", + "summarize_noiseless(dbg_cancel_task, label=\"inverse_then_forward\")\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "8e52b7e6", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "tomo_x detectors shape: (256, 15)\n", + "tomo_x observables shape: (256, 5)\n", + "tomo_x unique detector rows: 1\n", + "tomo_x unique observable rows: 2\n", + "tomo_x output unique: [0 1]\n", + "tomo_x ancilla unique rows: [[0 0 0 0]]\n", + "tomo_y detectors shape: (256, 15)\n", + "tomo_y observables shape: (256, 5)\n", + "tomo_y unique detector rows: 1\n", + "tomo_y unique observable rows: 2\n", + "tomo_y output unique: [0 1]\n", + "tomo_y ancilla unique rows: [[0 0 0 0]]\n", + "tomo_z detectors shape: (256, 15)\n", + "tomo_z observables shape: (256, 5)\n", + "tomo_z unique detector rows: 1\n", + "tomo_z unique observable rows: 1\n", + "tomo_z output unique: [0]\n", + "tomo_z ancilla unique rows: [[0 0 0 0]]\n" + ] + } + ], + "source": [ + "@gemini_logical.kernel(aggressive_unroll=True)\n", + "def dbg_tomo_x():\n", + " reg = qubit.qalloc(5)\n", + " tomography_x(reg)\n", + " return default_post_processing(reg)\n", + "\n", + "@gemini_logical.kernel(aggressive_unroll=True)\n", + "def dbg_tomo_y():\n", + " reg = qubit.qalloc(5)\n", + " tomography_y(reg)\n", + " return default_post_processing(reg)\n", + "\n", + "@gemini_logical.kernel(aggressive_unroll=True)\n", + "def dbg_tomo_z():\n", + " reg = qubit.qalloc(5)\n", + " tomography_z(reg)\n", + " return default_post_processing(reg)\n", + "\n", + "for name, kernel in [(\"tomo_x\", dbg_tomo_x), (\"tomo_y\", dbg_tomo_y), (\"tomo_z\", dbg_tomo_z)]:\n", + " task = build_task(sim, kernel, m2dets=None, m2obs=None)\n", + " summarize_noiseless(task, label=name)\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "3236528b", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "tomo_x detectors shape: (256, 15)\n", + "tomo_x observables shape: (256, 5)\n", + "tomo_x unique detector rows: 1\n", + "tomo_x unique observable rows: 2\n", + "tomo_x output unique: [0 1]\n", + "tomo_x ancilla unique rows: [[0 0 0 0]]\n", + "tomo_y detectors shape: (256, 15)\n", + "tomo_y observables shape: (256, 5)\n", + "tomo_y unique detector rows: 1\n", + "tomo_y unique observable rows: 2\n", + "tomo_y output unique: [0 1]\n", + "tomo_y ancilla unique rows: [[0 0 0 0]]\n", + "tomo_z detectors shape: (256, 15)\n", + "tomo_z observables shape: (256, 5)\n", + "tomo_z unique detector rows: 1\n", + "tomo_z unique observable rows: 1\n", + "tomo_z output unique: [0]\n", + "tomo_z ancilla unique rows: [[0 0 0 0]]\n" + ] + } + ], + "source": [ + "for name, kernel in [(\"tomo_x\", dbg_tomo_x), (\"tomo_y\", dbg_tomo_y), (\"tomo_z\", dbg_tomo_z)]:\n", + " task = build_task(sim, kernel, m2dets=None, m2obs=None)\n", + " summarize_noiseless(task, label=name)\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "c8e8f098", + "metadata": {}, + "outputs": [], + "source": [ + "@squin.kernel\n", + "def tomography_x_inv(reg):\n", + " squin.h(reg[OUTPUT_QUBIT])\n", + "\n", + "@squin.kernel\n", + "def tomography_y_inv(reg):\n", + " squin.h(reg[OUTPUT_QUBIT])\n", + " squin.sqrt_z(reg[OUTPUT_QUBIT])\n", + "\n", + "@squin.kernel\n", + "def tomography_z_inv(reg):\n", + " return\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "c1ca2be6", + "metadata": {}, + "outputs": [], + "source": [ + "@squin.kernel\n", + "def prepare_special_x_v2(reg):\n", + " tomography_x_inv(reg)\n", + " msd_inverse(reg)\n", + "\n", + "@squin.kernel\n", + "def prepare_special_y_v2(reg):\n", + " tomography_y_inv(reg)\n", + " msd_inverse(reg)\n", + "\n", + "@squin.kernel\n", + "def prepare_special_z_v2(reg):\n", + " tomography_z_inv(reg)\n", + " msd_inverse(reg)\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "3057d2a1", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "special_v2_X detectors shape: (256, 15)\n", + "special_v2_X observables shape: (256, 5)\n", + "special_v2_X unique detector rows: 1\n", + "special_v2_X unique observable rows: 1\n", + "special_v2_X output unique: [0]\n", + "special_v2_X ancilla unique rows: [[0 0 0 0]]\n", + "special_v2_Y detectors shape: (256, 15)\n", + "special_v2_Y observables shape: (256, 5)\n", + "special_v2_Y unique detector rows: 1\n", + "special_v2_Y unique observable rows: 1\n", + "special_v2_Y output unique: [0]\n", + "special_v2_Y ancilla unique rows: [[0 0 0 0]]\n", + "special_v2_Z detectors shape: (256, 15)\n", + "special_v2_Z observables shape: (256, 5)\n", + "special_v2_Z unique detector rows: 1\n", + "special_v2_Z unique observable rows: 1\n", + "special_v2_Z output unique: [0]\n", + "special_v2_Z ancilla unique rows: [[0 0 0 0]]\n" + ] + } + ], + "source": [ + "@gemini_logical.kernel(aggressive_unroll=True)\n", + "def msd_special_x_v2():\n", + " reg = qubit.qalloc(5)\n", + " prepare_special_x_v2(reg)\n", + " msd_forward(reg)\n", + " tomography_x(reg)\n", + " return default_post_processing(reg)\n", + "\n", + "@gemini_logical.kernel(aggressive_unroll=True)\n", + "def msd_special_y_v2():\n", + " reg = qubit.qalloc(5)\n", + " prepare_special_y_v2(reg)\n", + " msd_forward(reg)\n", + " tomography_y(reg)\n", + " return default_post_processing(reg)\n", + "\n", + "@gemini_logical.kernel(aggressive_unroll=True)\n", + "def msd_special_z_v2():\n", + " reg = qubit.qalloc(5)\n", + " prepare_special_z_v2(reg)\n", + " msd_forward(reg)\n", + " tomography_z(reg)\n", + " return default_post_processing(reg)\n", + "\n", + "special_v2_tasks = {\n", + " \"X\": build_task(sim, msd_special_x_v2, m2dets=None, m2obs=None),\n", + " \"Y\": build_task(sim, msd_special_y_v2, m2dets=None, m2obs=None),\n", + " \"Z\": build_task(sim, msd_special_z_v2, m2dets=None, m2obs=None),\n", + "}\n", + "\n", + "for basis, task in special_v2_tasks.items():\n", + " summarize_noiseless(task, label=f\"special_v2_{basis}\")\n" + ] + }, + { + "cell_type": "markdown", + "id": "908c0857", + "metadata": {}, + "source": [ + "# Additional debug on why plot is bad" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "83f49f41", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "X unique full obs: [[0 0 0 0 0]\n", + " [0 0 0 0 1]\n", + " [0 0 0 1 0]\n", + " [0 0 0 1 1]\n", + " [0 0 1 0 0]\n", + " [0 0 1 0 1]\n", + " [0 0 1 1 0]\n", + " [0 0 1 1 1]\n", + " [0 1 0 0 0]\n", + " [0 1 0 0 1]\n", + " [0 1 0 1 0]\n", + " [0 1 0 1 1]\n", + " [0 1 1 0 0]\n", + " [0 1 1 0 1]\n", + " [0 1 1 1 0]\n", + " [0 1 1 1 1]\n", + " [1 0 0 0 0]\n", + " [1 0 0 0 1]\n", + " [1 0 0 1 0]\n", + " [1 0 0 1 1]\n", + " [1 0 1 0 0]\n", + " [1 0 1 0 1]\n", + " [1 0 1 1 0]\n", + " [1 0 1 1 1]\n", + " [1 1 0 0 0]\n", + " [1 1 0 0 1]\n", + " [1 1 0 1 0]\n", + " [1 1 0 1 1]\n", + " [1 1 1 0 0]\n", + " [1 1 1 0 1]\n", + " [1 1 1 1 0]\n", + " [1 1 1 1 1]]\n", + "X unique ancilla obs: [[0 0 0 0]\n", + " [0 0 0 1]\n", + " [0 0 1 0]\n", + " [0 0 1 1]\n", + " [0 1 0 0]\n", + " [0 1 0 1]\n", + " [0 1 1 0]\n", + " [0 1 1 1]\n", + " [1 0 0 0]\n", + " [1 0 0 1]\n", + " [1 0 1 0]\n", + " [1 0 1 1]\n", + " [1 1 0 0]\n", + " [1 1 0 1]\n", + " [1 1 1 0]\n", + " [1 1 1 1]]\n", + "Y unique full obs: [[0 0 0 0 0]\n", + " [0 0 0 0 1]\n", + " [0 0 0 1 0]\n", + " [0 0 0 1 1]\n", + " [0 0 1 0 0]\n", + " [0 0 1 0 1]\n", + " [0 0 1 1 0]\n", + " [0 0 1 1 1]\n", + " [0 1 0 0 0]\n", + " [0 1 0 0 1]\n", + " [0 1 0 1 0]\n", + " [0 1 0 1 1]\n", + " [0 1 1 0 1]\n", + " [0 1 1 1 0]\n", + " [1 0 0 0 0]\n", + " [1 0 0 0 1]\n", + " [1 0 0 1 0]\n", + " [1 0 0 1 1]\n", + " [1 0 1 0 0]\n", + " [1 0 1 0 1]\n", + " [1 0 1 1 0]\n", + " [1 0 1 1 1]\n", + " [1 1 0 0 0]\n", + " [1 1 0 0 1]\n", + " [1 1 0 1 0]\n", + " [1 1 0 1 1]\n", + " [1 1 1 0 1]\n", + " [1 1 1 1 0]\n", + " [1 1 1 1 1]]\n", + "Y unique ancilla obs: [[0 0 0 0]\n", + " [0 0 0 1]\n", + " [0 0 1 0]\n", + " [0 0 1 1]\n", + " [0 1 0 0]\n", + " [0 1 0 1]\n", + " [0 1 1 0]\n", + " [0 1 1 1]\n", + " [1 0 0 0]\n", + " [1 0 0 1]\n", + " [1 0 1 0]\n", + " [1 0 1 1]\n", + " [1 1 0 1]\n", + " [1 1 1 0]\n", + " [1 1 1 1]]\n", + "Z unique full obs: [[0 0 0 0 0]\n", + " [0 0 0 0 1]\n", + " [0 0 0 1 1]\n", + " [0 0 1 0 0]\n", + " [0 0 1 0 1]\n", + " [0 0 1 1 0]\n", + " [0 0 1 1 1]\n", + " [0 1 0 0 0]\n", + " [0 1 0 0 1]\n", + " [0 1 0 1 0]\n", + " [0 1 0 1 1]\n", + " [0 1 1 0 0]\n", + " [0 1 1 0 1]\n", + " [0 1 1 1 0]\n", + " [0 1 1 1 1]\n", + " [1 0 0 0 0]\n", + " [1 0 0 0 1]\n", + " [1 0 0 1 0]\n", + " [1 0 0 1 1]\n", + " [1 0 1 0 0]\n", + " [1 0 1 0 1]\n", + " [1 0 1 1 0]\n", + " [1 0 1 1 1]\n", + " [1 1 0 0 1]\n", + " [1 1 0 1 0]\n", + " [1 1 0 1 1]\n", + " [1 1 1 0 0]\n", + " [1 1 1 0 1]\n", + " [1 1 1 1 0]\n", + " [1 1 1 1 1]]\n", + "Z unique ancilla obs: [[0 0 0 0]\n", + " [0 0 0 1]\n", + " [0 0 1 0]\n", + " [0 0 1 1]\n", + " [0 1 0 0]\n", + " [0 1 0 1]\n", + " [0 1 1 0]\n", + " [0 1 1 1]\n", + " [1 0 0 0]\n", + " [1 0 0 1]\n", + " [1 0 1 0]\n", + " [1 0 1 1]\n", + " [1 1 0 0]\n", + " [1 1 0 1]\n", + " [1 1 1 0]\n", + " [1 1 1 1]]\n" + ] + } + ], + "source": [ + "for basis, task in actual_tasks.items():\n", + " data = run_task(task, 256, with_noise=False)\n", + " print(basis, \"unique full obs:\", np.unique(data.observables, axis=0))\n", + " print(basis, \"unique ancilla obs:\", np.unique(data.observables[:, 1:], axis=0))\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "099b5b70", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + " X\n", + "(0, 0, 0, 0) 859 0.1718\n", + "(0, 1, 1, 1) 310 0.062\n", + "(1, 0, 0, 1) 307 0.0614\n", + "(1, 1, 0, 1) 305 0.061\n", + "(1, 1, 0, 0) 292 0.0584\n", + "(0, 1, 1, 0) 281 0.0562\n", + "(0, 0, 1, 0) 278 0.0556\n", + "(0, 0, 0, 1) 277 0.0554\n", + "(1, 1, 1, 0) 277 0.0554\n", + "(1, 0, 1, 0) 270 0.054\n", + "\n", + " Y\n", + "(0, 0, 0, 0) 792 0.1584\n", + "(1, 1, 1, 0) 634 0.1268\n", + "(0, 0, 1, 0) 393 0.0786\n", + "(1, 0, 1, 0) 370 0.074\n", + "(0, 1, 0, 0) 335 0.067\n", + "(0, 1, 0, 1) 304 0.0608\n", + "(1, 1, 0, 1) 276 0.0552\n", + "(0, 1, 1, 1) 262 0.0524\n", + "(0, 0, 0, 1) 260 0.052\n", + "(1, 0, 1, 1) 248 0.0496\n", + "\n", + " Z\n", + "(0, 0, 0, 0) 816 0.1632\n", + "(0, 1, 0, 0) 361 0.0722\n", + "(1, 0, 0, 1) 342 0.0684\n", + "(0, 0, 1, 1) 319 0.0638\n", + "(1, 1, 0, 1) 302 0.0604\n", + "(0, 1, 1, 1) 287 0.0574\n", + "(0, 0, 0, 1) 283 0.0566\n", + "(1, 0, 1, 1) 280 0.056\n", + "(1, 1, 1, 0) 276 0.0552\n", + "(1, 0, 1, 0) 274 0.0548\n" + ] + } + ], + "source": [ + "from collections import Counter\n", + "\n", + "for basis, task in actual_tasks.items():\n", + " data = run_task(task, 5000, with_noise=False)\n", + " anc = data.observables[:, 1:]\n", + " counts = Counter(tuple(map(int, row)) for row in anc)\n", + " print(\"\\n\", basis)\n", + " for bitstring, count in counts.most_common(10):\n", + " print(bitstring, count, count / len(anc))\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "323f3341", + "metadata": {}, + "outputs": [], + "source": [ + "def injected_baseline_debug(task_map, posterior_samples: int, shots: int = 4000):\n", + " print(\"Evaluating injected baseline with SAME data for train and test\")\n", + " corrected = {}\n", + "\n", + " for basis in BASIS_LABELS:\n", + " dataset = run_task(task_map[basis], shots, with_noise=True)\n", + "\n", + " print(f\"\\nBasis {basis}\")\n", + " print(\"det shape:\", dataset.detectors.shape, \"obs shape:\", dataset.observables.shape)\n", + "\n", + " train_det_obs = np.concatenate(\n", + " [dataset.detectors, dataset.observables], axis=1\n", + " ).astype(bool)\n", + "\n", + " decoder = TableDecoder.from_det_obs_shots(\n", + " make_shape_only_dem(dataset.detectors.shape[1], dataset.observables.shape[1]),\n", + " train_det_obs,\n", + " )\n", + "\n", + " bits = []\n", + " for det, obs in zip(dataset.detectors, dataset.observables, strict=True):\n", + " flip = np.asarray(decoder.decode(det.astype(bool)), dtype=np.uint8)\n", + " bits.append(int(obs[0] ^ flip[0]))\n", + "\n", + " bits = np.asarray(bits, dtype=np.uint8)\n", + " corrected[basis] = bits\n", + "\n", + " print(\"post-decoding logical mean:\", logical_expectation(bits))\n", + " print(\"logical ones fraction:\", float(np.mean(bits)))\n", + "\n", + " summary = fidelity_from_counts(\n", + " corrected[\"X\"], corrected[\"Y\"], corrected[\"Z\"], posterior_samples, sign_vector=INJECTED_CORRECTED_SIGN_VECTOR\n", + " )\n", + " print(\"\\nLeaky injected summary:\", summary)\n", + " return summary\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "88b09e7a", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Evaluating injected baseline with SAME data for train and test\n", + "\n", + "Basis X\n", + "det shape: (4000, 3) obs shape: (4000, 1)\n", + "post-decoding logical mean: 0.556\n", + "logical ones fraction: 0.222\n", + "\n", + "Basis Y\n", + "det shape: (4000, 3) obs shape: (4000, 1)\n", + "post-decoding logical mean: 0.5725\n", + "logical ones fraction: 0.21375\n", + "\n", + "Basis Z\n", + "det shape: (4000, 3) obs shape: (4000, 1)\n", + "post-decoding logical mean: 0.572\n", + "logical ones fraction: 0.214\n", + "\n", + "Leaky injected summary: {'point': 0.9908920663784793, 'median': 0.9552346034004552, 'low': 0.9551410483069397, 'high': 0.9553281584939706, 'bloch': (0.556, 0.5725, 0.572)}\n" + ] + } + ], + "source": [ + "_ = injected_baseline_debug(injected_tasks, posterior_samples=5000, shots=4000)\n" + ] + }, + { + "cell_type": "markdown", + "id": "215afb83", + "metadata": {}, + "source": [ + "# Check naive postselection" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "e221af37", + "metadata": {}, + "outputs": [], + "source": [ + "def naive_injected_baseline(\n", + " task_map,\n", + " posterior_samples: int,\n", + " shots: int | None = None,\n", + " require_zero_detectors: bool = False,\n", + " min_accepted_per_basis: int = 50,\n", + "):\n", + " if shots is None:\n", + " shots = CONFIG[\"eval_shots\"]\n", + "\n", + " corrected = {}\n", + " accepted_fractions = {}\n", + "\n", + " for basis in BASIS_LABELS:\n", + " dataset = run_task(task_map[basis], shots, with_noise=True)\n", + "\n", + " mask = np.ones(len(dataset.observables), dtype=bool)\n", + " if require_zero_detectors:\n", + " mask &= np.all(dataset.detectors == 0, axis=1)\n", + "\n", + " corrected[basis] = dataset.observables[mask, 0].astype(np.uint8)\n", + " accepted_fractions[basis] = float(np.mean(mask))\n", + "\n", + " if min(len(corrected[b]) for b in BASIS_LABELS) < min_accepted_per_basis:\n", + " raise RuntimeError(\"Too few accepted injected shots in at least one basis.\")\n", + "\n", + " summary = fidelity_from_counts(\n", + " corrected[\"X\"],\n", + " corrected[\"Y\"],\n", + " corrected[\"Z\"],\n", + " posterior_samples,\n", + " sign_vector=INJECTED_RAW_SIGN_VECTOR\n", + " )\n", + " summary[\"accepted_fraction\"] = float(np.mean(list(accepted_fractions.values())))\n", + " summary[\"accepted_fraction_by_basis\"] = accepted_fractions\n", + " return summary\n", + "\n", + "\n", + "def naive_distilled_summary(\n", + " actual_data,\n", + " factory_target,\n", + " posterior_samples: int,\n", + " require_zero_ancilla_detectors: bool = True,\n", + " require_zero_all_detectors: bool = False,\n", + " min_accepted_per_basis: int = 50,\n", + "):\n", + " factory_target = np.asarray(factory_target, dtype=np.uint8)\n", + "\n", + " corrected = {}\n", + " accepted_fractions = {}\n", + " total_kept = 0\n", + " total_shots = 0\n", + "\n", + " for basis in BASIS_LABELS:\n", + " dataset = actual_data[basis]\n", + " anc_det, anc_obs = split_factory_bits(dataset.detectors, dataset.observables)\n", + "\n", + " mask = np.all(anc_obs == factory_target, axis=1)\n", + "\n", + " if require_zero_ancilla_detectors:\n", + " mask &= np.all(anc_det == 0, axis=1)\n", + "\n", + " if require_zero_all_detectors:\n", + " mask &= np.all(dataset.detectors == 0, axis=1)\n", + "\n", + " corrected[basis] = dataset.observables[mask, 0].astype(np.uint8)\n", + " accepted_fractions[basis] = float(np.mean(mask))\n", + "\n", + " total_kept += int(np.sum(mask))\n", + " total_shots += len(mask)\n", + "\n", + " if min(len(corrected[b]) for b in BASIS_LABELS) < min_accepted_per_basis:\n", + " raise RuntimeError(\"Too few accepted distilled shots in at least one basis.\")\n", + "\n", + " summary = fidelity_from_counts(\n", + " corrected[\"X\"],\n", + " corrected[\"Y\"],\n", + " corrected[\"Z\"],\n", + " posterior_samples,\n", + " sign_vector=(1.0, -1.0, 1.0)\n", + " )\n", + " summary[\"accepted_fraction\"] = total_kept / total_shots\n", + " summary[\"accepted_fraction_by_basis\"] = accepted_fractions\n", + " summary[\"factory_target\"] = tuple(int(x) for x in factory_target.tolist())\n", + " return summary\n", + "\n", + "\n", + "def scan_naive_factory_targets(\n", + " actual_data,\n", + " posterior_samples: int,\n", + " require_zero_ancilla_detectors: bool = True,\n", + " require_zero_all_detectors: bool = False,\n", + " min_accepted_per_basis: int = 50,\n", + "):\n", + " patterns = sorted(\n", + " {\n", + " tuple(map(int, row))\n", + " for basis in BASIS_LABELS\n", + " for row in actual_data[basis].observables[:, 1:]\n", + " }\n", + " )\n", + "\n", + " rows = []\n", + " for pattern in patterns:\n", + " try:\n", + " summary = naive_distilled_summary(\n", + " actual_data,\n", + " pattern,\n", + " posterior_samples=posterior_samples,\n", + " require_zero_ancilla_detectors=require_zero_ancilla_detectors,\n", + " require_zero_all_detectors=require_zero_all_detectors,\n", + " min_accepted_per_basis=min_accepted_per_basis,\n", + " )\n", + " except RuntimeError:\n", + " continue\n", + "\n", + " rows.append(\n", + " {\n", + " \"pattern\": pattern,\n", + " \"accepted_fraction\": summary[\"accepted_fraction\"],\n", + " \"median\": summary[\"median\"],\n", + " \"low\": summary[\"low\"],\n", + " \"high\": summary[\"high\"],\n", + " \"bloch\": summary[\"bloch\"],\n", + " }\n", + " )\n", + "\n", + " rows.sort(key=lambda row: row[\"median\"], reverse=True)\n", + " return rows\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "64bbe614", + "metadata": {}, + "outputs": [], + "source": [ + "actual_data = {\n", + " basis: run_task(task, CONFIG[\"eval_shots\"], with_noise=True)\n", + " for basis, task in actual_tasks.items()\n", + "}\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "88cfecb0", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Injected raw: {'point': 0.9741489085719802, 'median': 0.9704260230235915, 'low': 0.9704210426386828, 'high': 0.9704310034085002, 'bloch': (0.576, 0.533, 0.5335), 'accepted_fraction': 1.0, 'accepted_fraction_by_basis': {'X': 1.0, 'Y': 1.0, 'Z': 1.0}}\n", + "Injected perfect-stabilizer: {'point': 1.0009205840668491, 'median': 0.9875185113564718, 'low': 0.9870927532570705, 'high': 0.9879442694558733, 'bloch': (0.5934182590233545, 0.5741969737191399, 0.5676245715792249), 'accepted_fraction': 0.944, 'accepted_fraction_by_basis': {'X': 0.942, 'Y': 0.94175, 'Z': 0.94825}}\n" + ] + } + ], + "source": [ + "inj_raw = naive_injected_baseline(\n", + " injected_tasks,\n", + " posterior_samples=CONFIG[\"posterior_samples\"],\n", + " require_zero_detectors=False,\n", + ")\n", + "inj_ps = naive_injected_baseline(\n", + " injected_tasks,\n", + " posterior_samples=CONFIG[\"posterior_samples\"],\n", + " require_zero_detectors=True,\n", + ")\n", + "\n", + "print(\"Injected raw:\", inj_raw)\n", + "print(\"Injected perfect-stabilizer:\", inj_ps)\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "366e0947", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "{'pattern': (0, 0, 0, 0), 'accepted_fraction': 0.04375, 'median': 0.9817131793333097, 'low': 0.9674312321432712, 'high': 0.9916459752827427, 'bloch': (0.5340909090909091, 0.6949152542372882, 0.6395348837209303)}\n", + "{'pattern': (0, 1, 1, 0), 'accepted_fraction': 0.015166666666666667, 'median': 0.9491190811247133, 'low': 0.9062597865935383, 'high': 0.9748811413337901, 'bloch': (0.5666666666666667, 0.46875, 0.6551724137931034)}\n", + "{'pattern': (1, 0, 1, 1), 'accepted_fraction': 0.01525, 'median': 0.8912681174694763, 'low': 0.8387219601720576, 'high': 0.9381894419746841, 'bloch': (0.4084507042253521, 0.6140350877192983, 0.38181818181818183)}\n", + "{'pattern': (0, 0, 1, 1), 'accepted_fraction': 0.014, 'median': 0.39932180274369916, 'low': 0.3471235701315568, 'high': 0.4583071168590332, 'bloch': (-0.41818181818181815, 0.5925925925925926, -0.5254237288135594)}\n", + "{'pattern': (1, 0, 0, 1), 'accepted_fraction': 0.01375, 'median': 0.38111396958289556, 'low': 0.33360856047786436, 'high': 0.44816922492239863, 'bloch': (-0.43333333333333335, -0.5769230769230769, 0.5849056603773585)}\n", + "{'pattern': (1, 1, 1, 1), 'accepted_fraction': 0.014083333333333333, 'median': 0.3608346013034275, 'low': 0.32003592689597254, 'high': 0.4184137238136515, 'bloch': (0.6071428571428571, -0.5471698113207547, -0.6)}\n", + "{'pattern': (1, 1, 1, 0), 'accepted_fraction': 0.0165, 'median': 0.3336060918990876, 'low': 0.2812377792360711, 'high': 0.38005510317670443, 'bloch': (-0.5362318840579711, -0.5833333333333334, 0.5087719298245614)}\n", + "{'pattern': (0, 1, 0, 1), 'accepted_fraction': 0.014833333333333334, 'median': 0.30265506838973716, 'low': 0.2461936101271034, 'high': 0.3594102746650842, 'bloch': (0.3225806451612903, -0.5185185185185185, -0.5161290322580645)}\n" + ] + } + ], + "source": [ + "naive_rows = scan_naive_factory_targets(\n", + " actual_data,\n", + " posterior_samples=CONFIG[\"posterior_samples\"],\n", + " require_zero_ancilla_detectors=True,\n", + " require_zero_all_detectors=False,\n", + " min_accepted_per_basis=50,\n", + ")\n", + "\n", + "for row in naive_rows[:10]:\n", + " print(row)\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "0a3f78a6", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Best naive distilled summary: {'point': 1.0394013382528395, 'median': 0.9817131793333097, 'low': 0.9674312321432712, 'high': 0.9916459752827427, 'bloch': (0.5340909090909091, 0.6949152542372882, 0.6395348837209303), 'accepted_fraction': 0.04375, 'accepted_fraction_by_basis': {'X': 0.044, 'Y': 0.04425, 'Z': 0.043}, 'factory_target': (0, 0, 0, 0)}\n" + ] + } + ], + "source": [ + "best_pattern = naive_rows[0][\"pattern\"]\n", + "naive_best = naive_distilled_summary(\n", + " actual_data,\n", + " best_pattern,\n", + " posterior_samples=CONFIG[\"posterior_samples\"],\n", + " require_zero_ancilla_detectors=True,\n", + " require_zero_all_detectors=False,\n", + " min_accepted_per_basis=50,\n", + ")\n", + "\n", + "print(\"Best naive distilled summary:\", naive_best)\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "a81591c3", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "{'pattern': (0, 0, 0, 0), 'accepted_fraction': 0.11175, 'median': 0.944368551182286, 'low': 0.927203088733682, 'high': 0.9688138858782762, 'bloch': (0.45701357466063347, 0.5550660792951542, 0.5550561797752809)}\n", + "{'pattern': (0, 1, 1, 0), 'accepted_fraction': 0.059416666666666666, 'median': 0.8094035434138406, 'low': 0.7721516002960754, 'high': 0.8382959857812478, 'bloch': (0.33613445378151263, 0.3939393939393939, 0.32786885245901637)}\n", + "{'pattern': (0, 1, 0, 0), 'accepted_fraction': 0.06458333333333334, 'median': 0.7766093773492896, 'low': 0.7432994840542628, 'high': 0.796086594359255, 'bloch': (0.34275618374558303, 0.3524590163934426, 0.25806451612903225)}\n", + "{'pattern': (0, 0, 0, 1), 'accepted_fraction': 0.06308333333333334, 'median': 0.7380337843590304, 'low': 0.7112364578397804, 'high': 0.7642865383546738, 'bloch': (0.2788104089219331, 0.22088353413654618, 0.3389121338912134)}\n", + "{'pattern': (1, 0, 0, 0), 'accepted_fraction': 0.058583333333333334, 'median': 0.7365898441195489, 'low': 0.7130046095269186, 'high': 0.7661605556849881, 'bloch': (0.19823788546255505, 0.336, 0.3185840707964602)}\n", + "{'pattern': (1, 0, 1, 1), 'accepted_fraction': 0.056916666666666664, 'median': 0.7146157734795998, 'low': 0.6801333739301687, 'high': 0.7380284699979777, 'bloch': (0.21739130434782608, 0.23214285714285715, 0.2912621359223301)}\n", + "{'pattern': (1, 1, 0, 1), 'accepted_fraction': 0.05608333333333333, 'median': 0.7099919386830946, 'low': 0.6619297499616268, 'high': 0.7287848458407788, 'bloch': (0.3870967741935484, 0.0873015873015873, 0.23404255319148937)}\n", + "{'pattern': (1, 0, 0, 1), 'accepted_fraction': 0.05608333333333333, 'median': 0.47921177556234, 'low': 0.4520740738239267, 'high': 0.5097854475486503, 'bloch': (-0.1826086956521739, -0.24528301886792453, 0.36796536796536794)}\n", + "{'pattern': (0, 0, 1, 0), 'accepted_fraction': 0.06225, 'median': 0.47794494980372, 'low': 0.44981839520535577, 'high': 0.4950151933766581, 'bloch': (-0.250996015936255, 0.3684210526315789, -0.20149253731343283)}\n", + "{'pattern': (1, 0, 1, 0), 'accepted_fraction': 0.05775, 'median': 0.47676422679325225, 'low': 0.4468079489461576, 'high': 0.5024193483390618, 'bloch': (-0.19838056680161945, -0.2413793103448276, 0.3644859813084112)}\n" + ] + } + ], + "source": [ + "naive_rows_no_flags = scan_naive_factory_targets(\n", + " actual_data,\n", + " posterior_samples=CONFIG[\"posterior_samples\"],\n", + " require_zero_ancilla_detectors=False,\n", + " require_zero_all_detectors=False,\n", + " min_accepted_per_basis=50,\n", + ")\n", + "\n", + "for row in naive_rows_no_flags[:10]:\n", + " print(row)\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "a179cbc0", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "{'pattern': (1, 1, 0, 1), 'fraction': 0.05463333333333333, 'median': 0.9908060338274673, 'bloch': (0.6112084063047285, 0.6746987951807228, 0.6035087719298246)}\n", + "{'pattern': (0, 0, 0, 0), 'fraction': 0.16296666666666668, 'median': 0.978361991238159, 'bloch': (0.6091954022988506, 0.8580097087378641, 0.6045340050377834)}\n", + "{'pattern': (0, 0, 0, 1), 'fraction': 0.053033333333333335, 'median': 0.9724193231971388, 'bloch': (0.5774134790528234, 0.536, 0.6309963099630996)}\n", + "{'pattern': (1, 0, 1, 1), 'fraction': 0.05533333333333333, 'median': 0.9303820470897423, 'bloch': (0.5582608695652174, 0.35372848948374763, 0.5444839857651246)}\n", + "{'pattern': (0, 1, 1, 0), 'fraction': 0.052, 'median': 0.8726119426250339, 'bloch': (0.5709090909090909, 0.07692307692307693, 0.5731497418244407)}\n", + "{'pattern': (0, 1, 0, 0), 'fraction': 0.061766666666666664, 'median': 0.8550840566191722, 'bloch': (0.600739371534196, 0.30074074074074075, 0.28414442700156983)}\n", + "{'pattern': (1, 0, 0, 0), 'fraction': 0.0496, 'median': 0.8012707824447942, 'bloch': (0.6014362657091562, -0.16532258064516128, 1.0)}\n", + "{'pattern': (1, 0, 1, 0), 'fraction': 0.06016666666666667, 'median': 0.5480680844178298, 'bloch': (-0.5542635658914729, 0.0533515731874145, 0.6487455197132617)}\n", + "{'pattern': (1, 1, 1, 1), 'fraction': 0.0538, 'median': 0.5307396029127786, 'bloch': (0.5595026642984015, 0.10714285714285714, -0.5941499085923218)}\n", + "{'pattern': (0, 1, 0, 1), 'fraction': 0.052333333333333336, 'median': 0.5268219729249157, 'bloch': (0.5587703435804702, -0.04990757855822551, -0.4789915966386555)}\n" + ] + } + ], + "source": [ + "def scan_noiseless_actual_patterns(task_map, shots: int = 10000):\n", + " from collections import Counter, defaultdict\n", + "\n", + " rows = []\n", + " pattern_output = defaultdict(lambda: {\"X\": [], \"Y\": [], \"Z\": []})\n", + " pattern_counts = Counter()\n", + "\n", + " for basis in BASIS_LABELS:\n", + " data = run_task(task_map[basis], shots, with_noise=False)\n", + " anc = data.observables[:, 1:]\n", + " out = data.observables[:, 0]\n", + " for a, o in zip(anc, out, strict=True):\n", + " key = tuple(int(x) for x in a)\n", + " pattern_counts[key] += 1\n", + " pattern_output[key][basis].append(int(o))\n", + "\n", + " total = sum(pattern_counts.values())\n", + "\n", + " for key, count in pattern_counts.items():\n", + " if min(len(pattern_output[key][b]) for b in BASIS_LABELS) == 0:\n", + " continue\n", + " x_bits = np.asarray(pattern_output[key][\"X\"], dtype=np.uint8)\n", + " y_bits = np.asarray(pattern_output[key][\"Y\"], dtype=np.uint8)\n", + " z_bits = np.asarray(pattern_output[key][\"Z\"], dtype=np.uint8)\n", + " summary = fidelity_from_counts(x_bits, y_bits, z_bits, posterior_samples=5000, sign_vector=(1.0, -1.0, 1.0))\n", + " rows.append({\n", + " \"pattern\": key,\n", + " \"fraction\": count / total,\n", + " \"median\": summary[\"median\"],\n", + " \"bloch\": summary[\"bloch\"],\n", + " })\n", + "\n", + " rows.sort(key=lambda row: row[\"median\"], reverse=True)\n", + " return rows\n", + "\n", + "rows_noiseless = scan_noiseless_actual_patterns(actual_tasks, shots=10000)\n", + "for row in rows_noiseless[:10]:\n", + " print(row)\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "3c2f2b07", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "score: 1.1835717226405835 candidate: [ 0.57735027 -0.57735027 0.57735027]\n", + "score: 0.5000657090462775 candidate: [-0.57735027 -0.57735027 0.57735027]\n", + "score: 0.4976451332077477 candidate: [ 0.57735027 -0.57735027 -0.57735027]\n", + "score: 0.1858608803865584 candidate: [0.57735027 0.57735027 0.57735027]\n", + "score: -0.1858608803865584 candidate: [-0.57735027 -0.57735027 -0.57735027]\n" + ] + } + ], + "source": [ + "import itertools\n", + "import numpy as np\n", + "\n", + "def clifford_images_of_magic():\n", + " base = np.array([1.0, 1.0, 1.0]) / np.sqrt(3.0)\n", + " images = []\n", + " for perm in itertools.permutations(range(3)):\n", + " for signs in itertools.product([-1, 1], repeat=3):\n", + " vec = np.array([signs[i] * base[perm[i]] for i in range(3)])\n", + " # Keep proper signed permutations from the single-qubit Clifford group\n", + " mat = np.zeros((3, 3), dtype=int)\n", + " for i in range(3):\n", + " mat[i, perm[i]] = signs[i]\n", + " if round(np.linalg.det(mat)) == 1:\n", + " images.append(tuple(np.round(vec, 8)))\n", + " images = sorted(set(images))\n", + " return [np.array(v) for v in images]\n", + "\n", + "def nearest_magic_image(bloch):\n", + " bloch = np.array(bloch, dtype=float)\n", + " candidates = clifford_images_of_magic()\n", + " scored = []\n", + " for cand in candidates:\n", + " scored.append((float(np.dot(bloch, cand)), cand))\n", + " scored.sort(key=lambda x: x[0], reverse=True)\n", + " return scored[:5]\n", + "\n", + "# Example: inspect the suspected accepted branch\n", + "bloch = np.array([0.5919335705812574, -0.8640429338103757, 0.5940298507462687])\n", + "for score, cand in nearest_magic_image(bloch):\n", + " print(\"score:\", score, \"candidate:\", cand)\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "cceee650", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "X 0.5756\n", + "Y 0.57\n", + "Z 0.5824\n" + ] + } + ], + "source": [ + "for basis, task in injected_tasks.items():\n", + " data = run_task(task, 5000, with_noise=False)\n", + " bits = data.observables[:, 0].astype(np.uint8)\n", + " print(basis, logical_expectation(bits))\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "fc821e82", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "X 0.574\n", + "Y 0.5748\n", + "Z 0.5768\n" + ] + } + ], + "source": [ + "for basis, task in injected_tasks.items():\n", + " data = run_task(task, 5000, with_noise=False)\n", + " bits = data.observables[:, 0].astype(np.uint8)\n", + " print(basis, logical_expectation(bits))\n" + ] + }, + { + "cell_type": "markdown", + "id": "ac018467", + "metadata": {}, + "source": [ + "# Test naive postselection" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "1940abdc", + "metadata": {}, + "outputs": [], + "source": [ + "def naive_injected_summary(\n", + " task_map,\n", + " posterior_samples: int,\n", + " shots: int | None = None,\n", + " require_zero_detectors: bool = False,\n", + " min_accepted_per_basis: int = 50,\n", + "):\n", + " if shots is None:\n", + " shots = CONFIG[\"eval_shots\"]\n", + "\n", + " corrected = {}\n", + " accepted_fraction_by_basis = {}\n", + "\n", + " for basis in BASIS_LABELS:\n", + " data = run_task(task_map[basis], shots, with_noise=True)\n", + " mask = np.ones(len(data.observables), dtype=bool)\n", + "\n", + " if require_zero_detectors:\n", + " mask &= np.all(data.detectors == 0, axis=1)\n", + "\n", + " corrected[basis] = data.observables[mask, 0].astype(np.uint8)\n", + " accepted_fraction_by_basis[basis] = float(np.mean(mask))\n", + "\n", + " if min(len(corrected[b]) for b in BASIS_LABELS) < min_accepted_per_basis:\n", + " raise RuntimeError(\"Too few accepted injected shots.\")\n", + "\n", + " summary = fidelity_from_counts(\n", + " corrected[\"X\"],\n", + " corrected[\"Y\"],\n", + " corrected[\"Z\"],\n", + " posterior_samples,\n", + " sign_vector=INJECTED_RAW_SIGN_VECTOR,\n", + " )\n", + " summary[\"accepted_fraction\"] = float(np.mean(list(accepted_fraction_by_basis.values())))\n", + " summary[\"accepted_fraction_by_basis\"] = accepted_fraction_by_basis\n", + " return summary\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "43ad9e34", + "metadata": {}, + "outputs": [], + "source": [ + "def naive_distilled_summary(\n", + " actual_data,\n", + " factory_target,\n", + " posterior_samples: int,\n", + " require_zero_ancilla_detectors: bool = False,\n", + " require_zero_all_detectors: bool = False,\n", + " min_accepted_per_basis: int = 50,\n", + "):\n", + " factory_target = np.asarray(factory_target, dtype=np.uint8)\n", + "\n", + " corrected = {}\n", + " accepted_fraction_by_basis = {}\n", + " total_kept = 0\n", + " total_shots = 0\n", + "\n", + " for basis in BASIS_LABELS:\n", + " data = actual_data[basis]\n", + " anc_det, anc_obs = split_factory_bits(data.detectors, data.observables)\n", + "\n", + " mask = np.all(anc_obs == factory_target, axis=1)\n", + "\n", + " if require_zero_ancilla_detectors:\n", + " mask &= np.all(anc_det == 0, axis=1)\n", + "\n", + " if require_zero_all_detectors:\n", + " mask &= np.all(data.detectors == 0, axis=1)\n", + "\n", + " corrected[basis] = data.observables[mask, 0].astype(np.uint8)\n", + " accepted_fraction_by_basis[basis] = float(np.mean(mask))\n", + " total_kept += int(np.sum(mask))\n", + " total_shots += len(mask)\n", + "\n", + " if min(len(corrected[b]) for b in BASIS_LABELS) < min_accepted_per_basis:\n", + " raise RuntimeError(\"Too few accepted distilled shots.\")\n", + "\n", + " summary = fidelity_from_counts(\n", + " corrected[\"X\"],\n", + " corrected[\"Y\"],\n", + " corrected[\"Z\"],\n", + " posterior_samples,\n", + " sign_vector=(1.0, -1.0, 1.0),\n", + " )\n", + " summary[\"accepted_fraction\"] = total_kept / total_shots\n", + " summary[\"accepted_fraction_by_basis\"] = accepted_fraction_by_basis\n", + " summary[\"factory_target\"] = tuple(int(x) for x in factory_target.tolist())\n", + " return summary\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "c37025a4", + "metadata": {}, + "outputs": [], + "source": [ + "def scan_naive_patterns(\n", + " actual_data,\n", + " posterior_samples: int,\n", + " require_zero_ancilla_detectors: bool = False,\n", + " require_zero_all_detectors: bool = False,\n", + " min_accepted_per_basis: int = 50,\n", + "):\n", + " patterns = sorted({\n", + " tuple(map(int, row))\n", + " for basis in BASIS_LABELS\n", + " for row in actual_data[basis].observables[:, 1:]\n", + " })\n", + "\n", + " rows = []\n", + " for pattern in patterns:\n", + " try:\n", + " s = naive_distilled_summary(\n", + " actual_data,\n", + " pattern,\n", + " posterior_samples=posterior_samples,\n", + " require_zero_ancilla_detectors=require_zero_ancilla_detectors,\n", + " require_zero_all_detectors=require_zero_all_detectors,\n", + " min_accepted_per_basis=min_accepted_per_basis,\n", + " )\n", + " except RuntimeError:\n", + " continue\n", + "\n", + " rows.append({\n", + " \"pattern\": pattern,\n", + " \"accepted_fraction\": s[\"accepted_fraction\"],\n", + " \"median\": s[\"median\"],\n", + " \"low\": s[\"low\"],\n", + " \"high\": s[\"high\"],\n", + " \"bloch\": s[\"bloch\"],\n", + " })\n", + "\n", + " rows.sort(key=lambda r: r[\"median\"], reverse=True)\n", + " return rows\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "0f6bde87", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Injected raw: {'point': 0.9747262588411698, 'median': 0.9704263596178496, 'low': 0.9704211495631299, 'high': 0.9704315696725695, 'bloch': (0.5665, 0.5355, 0.5425), 'accepted_fraction': 1.0, 'accepted_fraction_by_basis': {'X': 1.0, 'Y': 1.0, 'Z': 1.0}}\n", + "Injected perfect-stabilizer: {'point': 0.9972448260701532, 'median': 0.9875354022747292, 'low': 0.987097238990323, 'high': 0.9879735655591355, 'bloch': (0.5660676532769556, 0.5814323607427055, 0.5750065910888479), 'accepted_fraction': 0.9455833333333334, 'accepted_fraction_by_basis': {'X': 0.946, 'Y': 0.9425, 'Z': 0.94825}}\n" + ] + } + ], + "source": [ + "actual_data = {\n", + " basis: run_task(task, CONFIG[\"eval_shots\"], with_noise=True)\n", + " for basis, task in actual_tasks.items()\n", + "}\n", + "\n", + "inj_raw = naive_injected_summary(\n", + " injected_tasks,\n", + " posterior_samples=CONFIG[\"posterior_samples\"],\n", + " require_zero_detectors=False,\n", + ")\n", + "\n", + "inj_ps = naive_injected_summary(\n", + " injected_tasks,\n", + " posterior_samples=CONFIG[\"posterior_samples\"],\n", + " require_zero_detectors=True,\n", + ")\n", + "\n", + "print(\"Injected raw:\", inj_raw)\n", + "print(\"Injected perfect-stabilizer:\", inj_ps)\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "3b1e713b", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "{'pattern': (0, 0, 0, 0), 'accepted_fraction': 0.11766666666666667, 'median': 0.8908388158723001, 'low': 0.8730759876555113, 'high': 0.9217434921489279, 'bloch': (0.3922413793103448, 0.48360655737704916, 0.508695652173913)}\n", + "{'pattern': (0, 1, 0, 0), 'accepted_fraction': 0.06125, 'median': 0.7643026950256093, 'low': 0.7380422757550135, 'high': 0.8019697490144492, 'bloch': (0.3412698412698413, 0.256198347107438, 0.3278008298755187)}\n", + "{'pattern': (1, 0, 0, 0), 'accepted_fraction': 0.058416666666666665, 'median': 0.7636971644244785, 'low': 0.7320294534466029, 'high': 0.8050350460826139, 'bloch': (0.28, 0.36929460580912865, 0.3021276595744681)}\n", + "{'pattern': (1, 1, 0, 1), 'accepted_fraction': 0.057833333333333334, 'median': 0.7487829462211736, 'low': 0.7233833212476017, 'high': 0.7874681047922902, 'bloch': (0.30973451327433627, 0.2631578947368421, 0.30833333333333335)}\n", + "{'pattern': (0, 0, 0, 1), 'accepted_fraction': 0.06458333333333334, 'median': 0.7350523217303757, 'low': 0.7130043508442669, 'high': 0.765989341657292, 'bloch': (0.2713178294573643, 0.3208955223880597, 0.25301204819277107)}\n", + "{'pattern': (1, 0, 1, 1), 'accepted_fraction': 0.05516666666666667, 'median': 0.7205586051503434, 'low': 0.6874174295064975, 'high': 0.7485445315088144, 'bloch': (0.2641509433962264, 0.2914798206278027, 0.21585903083700442)}\n", + "{'pattern': (0, 1, 1, 0), 'accepted_fraction': 0.057166666666666664, 'median': 0.6723124662431477, 'low': 0.6437010552686995, 'high': 0.7064148476950689, 'bloch': (0.21052631578947367, 0.20512820512820512, 0.19642857142857142)}\n", + "{'pattern': (0, 0, 1, 0), 'accepted_fraction': 0.06566666666666666, 'median': 0.5436583037778485, 'low': 0.5176466146586834, 'high': 0.5758007136417355, 'bloch': (-0.13970588235294118, 0.4099616858237548, -0.12156862745098039)}\n", + "{'pattern': (1, 0, 0, 1), 'accepted_fraction': 0.05425, 'median': 0.5050340596953425, 'low': 0.476767978702283, 'high': 0.544456088015097, 'bloch': (-0.20930232558139536, -0.18552036199095023, 0.4232558139534884)}\n", + "{'pattern': (1, 1, 1, 1), 'accepted_fraction': 0.057666666666666665, 'median': 0.472841380011716, 'low': 0.43943847074186065, 'high': 0.5074782112472326, 'bloch': (0.32142857142857145, -0.2511415525114155, -0.17269076305220885)}\n" + ] + } + ], + "source": [ + "rows_no_decoder = scan_naive_patterns(\n", + " actual_data,\n", + " posterior_samples=CONFIG[\"posterior_samples\"],\n", + " require_zero_ancilla_detectors=False,\n", + " require_zero_all_detectors=False,\n", + " min_accepted_per_basis=50,\n", + ")\n", + "\n", + "for row in rows_no_decoder[:10]:\n", + " print(row)\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "58325011", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "{'pattern': (0, 0, 0, 1), 'accepted_fraction': 0.016083333333333335, 'median': 0.9588369266780795, 'low': 0.9201995851578567, 'high': 0.9793112239320428, 'bloch': (0.46153846153846156, 0.7096774193548387, 0.5949367088607594)}\n", + "{'pattern': (0, 0, 0, 0), 'accepted_fraction': 0.042916666666666665, 'median': 0.9553268512368959, 'low': 0.9217013798502305, 'high': 0.9811161020997131, 'bloch': (0.48148148148148145, 0.5647058823529412, 0.5519125683060109)}\n", + "{'pattern': (1, 1, 0, 1), 'accepted_fraction': 0.01475, 'median': 0.9064671563340316, 'low': 0.8548014080978614, 'high': 0.9579387949057443, 'bloch': (0.5692307692307692, 0.4117647058823529, 0.47540983606557374)}\n", + "{'pattern': (1, 0, 0, 0), 'accepted_fraction': 0.013083333333333334, 'median': 0.8937049110120252, 'low': 0.8326000853576615, 'high': 0.9505201531762592, 'bloch': (0.6, 0.46153846153846156, 0.36)}\n", + "{'pattern': (0, 1, 0, 1), 'accepted_fraction': 0.014833333333333334, 'median': 0.44208004293236164, 'low': 0.38618626114770066, 'high': 0.4977186634883681, 'bloch': (0.6206896551724138, -0.41818181818181815, -0.4153846153846154)}\n", + "{'pattern': (0, 0, 1, 0), 'accepted_fraction': 0.015833333333333335, 'median': 0.4000906111079397, 'low': 0.3471094630914494, 'high': 0.45517882472974114, 'bloch': (-0.3783783783783784, 0.5483870967741935, -0.5185185185185185)}\n", + "{'pattern': (1, 1, 1, 0), 'accepted_fraction': 0.014333333333333333, 'median': 0.39770260473233904, 'low': 0.3407393652683576, 'high': 0.45688352943609756, 'bloch': (-0.6226415094339622, -0.35384615384615387, 0.5925925925925926)}\n", + "{'pattern': (1, 1, 1, 1), 'accepted_fraction': 0.014583333333333334, 'median': 0.33681884934801515, 'low': 0.2845390213649609, 'high': 0.3771048505774043, 'bloch': (0.6296296296296297, -0.7142857142857143, -0.6)}\n", + "{'pattern': (1, 0, 1, 0), 'accepted_fraction': 0.015416666666666667, 'median': 0.3279689345585365, 'low': 0.27276729540504807, 'high': 0.3757580890351304, 'bloch': (-0.5522388059701493, -0.6721311475409836, 0.543859649122807)}\n", + "{'pattern': (0, 0, 1, 1), 'accepted_fraction': 0.014833333333333334, 'median': 0.2888160251914308, 'low': 0.24407598101276187, 'high': 0.34581411210292134, 'bloch': (-0.6666666666666666, 0.5087719298245614, -0.6363636363636364)}\n" + ] + } + ], + "source": [ + "rows_no_decoder_flagged = scan_naive_patterns(\n", + " actual_data,\n", + " posterior_samples=CONFIG[\"posterior_samples\"],\n", + " require_zero_ancilla_detectors=True,\n", + " require_zero_all_detectors=False,\n", + " min_accepted_per_basis=50,\n", + ")\n", + "\n", + "for row in rows_no_decoder_flagged[:10]:\n", + " print(row)\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "a37c42f8", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Best naive raw branch: {'pattern': (0, 0, 0, 0), 'accepted_fraction': 0.11766666666666667, 'median': 0.8908388158723001, 'low': 0.8730759876555113, 'high': 0.9217434921489279, 'bloch': (0.3922413793103448, 0.48360655737704916, 0.508695652173913)}\n", + "Best naive flagged branch: {'pattern': (0, 0, 0, 1), 'accepted_fraction': 0.016083333333333335, 'median': 0.9588369266780795, 'low': 0.9201995851578567, 'high': 0.9793112239320428, 'bloch': (0.46153846153846156, 0.7096774193548387, 0.5949367088607594)}\n", + "Injected raw median: 0.9704263596178496\n", + "Injected perfect-stabilizer median: 0.9875354022747292\n" + ] + } + ], + "source": [ + "best_raw = rows_no_decoder[0]\n", + "best_flagged = rows_no_decoder_flagged[0]\n", + "\n", + "print(\"Best naive raw branch:\", best_raw)\n", + "print(\"Best naive flagged branch:\", best_flagged)\n", + "print(\"Injected raw median:\", inj_raw[\"median\"])\n", + "print(\"Injected perfect-stabilizer median:\", inj_ps[\"median\"])\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "7ea372b6", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "166b1c63", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "88d44075", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "kirin-workspace (3.12.13)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.12.13" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/demo/msd_reprod_bloqade_decoders_copy.ipynb b/demo/msd_reprod_bloqade_decoders_copy.ipynb new file mode 100644 index 00000000..d9144f18 --- /dev/null +++ b/demo/msd_reprod_bloqade_decoders_copy.ipynb @@ -0,0 +1,23356 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Fig. 3(b) Reproduction With `bloqade-decoders`\n", + "\n", + "This notebook reproduces the Gemini logical simulator workflow for Fig. 3(b) of `arXiv:2412.15165v1`, while using the decoder implementations from the local `bloqade-decoders` checkout instead of notebook-local decoder code.\n", + "\n", + "What is notebook-local vs decoder-local here:\n", + "- The Gemini logical hardware kernels, detector mappings, simulator tasks, tomography, and plotting live in this notebook.\n", + "- The MLE decoder is `GurobiDecoder` from the local `bloqade-decoders` repo, using its paper-style logical-gap confidence score.\n", + "- The MLD decoder is `TableDecoder` from the local `bloqade-decoders` repo, trained from simulator samples. Its confidence score here is the empirical posterior mass of the selected logical correction for a given detector syndrome.\n", + "\n", + "Notes:\n", + "- The paper's exact MLD postselection ranks syndrome patterns by the output fidelity they induce. In this notebook we instead use the decoder-native confidence available from `TableDecoder`'s learned counts.\n", + "- The notebook prepends the sibling `../bloqade-decoders/src` path so it uses the current working tree, including the new MLE logical-gap support.\n", + "- The default configuration is interactive rather than paper-scale.\n" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "id": "6744d283", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Using bloqade.decoders from: /Users/jasonhan/Desktop/qmain/kirin-workspace/bloqade-decoders/src/bloqade/decoders/__init__.py\n" + ] + } + ], + "source": [ + "import math\n", + "import sys\n", + "from pathlib import Path\n", + "\n", + "import matplotlib.pyplot as plt\n", + "import numpy as np\n", + "# import stim\n", + "\n", + "PROJECT_ROOT_CANDIDATES = [Path.cwd(), Path.cwd().parent]\n", + "for candidate in PROJECT_ROOT_CANDIDATES:\n", + " candidate = candidate.resolve()\n", + " if (candidate / 'demo' / 'msd_utils').exists():\n", + " sys.path.insert(0, str(candidate))\n", + " break\n", + "else:\n", + " raise FileNotFoundError('Could not locate repo root containing demo/msd_utils.')\n", + "\n", + "LOCAL_DECODER_SRC_CANDIDATES = [\n", + " Path.cwd() / '..' / 'bloqade-decoders' / 'src',\n", + " Path.cwd() / 'bloqade-decoders' / 'src',\n", + " Path.cwd().parent / 'bloqade-decoders' / 'src',\n", + " Path.cwd().parent.parent / 'bloqade-decoders' / 'src',\n", + "]\n", + "for candidate in LOCAL_DECODER_SRC_CANDIDATES:\n", + " candidate = candidate.resolve()\n", + " if candidate.exists():\n", + " sys.path.insert(0, str(candidate))\n", + " break\n", + "else:\n", + " raise FileNotFoundError('Could not locate sibling bloqade-decoders/src checkout.')\n", + "\n", + "import bloqade.decoders as bloqade_decoders\n", + "from bloqade.decoders import GurobiDecoder, TableDecoder\n", + "from bloqade.lanes import GeminiLogicalSimulator\n", + "from bloqade.lanes.steane_defaults import steane7_m2dets, steane7_m2obs\n", + "\n", + "from demo.msd_utils.core import (\n", + " BasisDataset,\n", + " DEFAULT_BASIS_LABELS,\n", + " DEFAULT_TARGET_BLOCH,\n", + " bits_to_key,\n", + " fidelity_from_counts,\n", + " key_to_bits,\n", + " logical_expectation,\n", + " pack_boolean_array,\n", + " run_task,\n", + " split_factory_bits,\n", + ")\n", + "from demo.msd_utils.circuits import (\n", + " build_decoder_kernel_bundle,\n", + " build_task_map,\n", + " make_noisy_steane7_initializer,\n", + ")\n", + "from demo.msd_utils.decoders import (\n", + " build_mld_decoders,\n", + " build_mle_decoders,\n", + " build_shared_mld_postselection_scores,\n", + " compute_dem_data,\n", + " evaluate_curve,\n", + " evaluate_mld_curve,\n", + " injected_baseline,\n", + " make_shape_only_dem,\n", + " matrix_to_dem,\n", + ")\n", + "\n", + "print('Using bloqade.decoders from:', Path(bloqade_decoders.__file__).resolve())\n" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "6bce40e3", + "metadata": {}, + "outputs": [], + "source": [ + "FAST_CONFIG = {\n", + " 'mld_train_shots': 20_000,\n", + " 'eval_shots': 4_000,\n", + " 'posterior_samples': 20_000,\n", + " 'mle_threshold_points': 24,\n", + " 'mld_threshold_points': 24,\n", + " # 'batch_size': 10_000,\n", + "}\n", + "\n", + "PAPER_SCALE_CONFIG = {\n", + " 'mld_train_shots': 1_000_000_000,\n", + " 'eval_shots': 1_000_000,\n", + " 'posterior_samples': 200_000,\n", + " 'mle_threshold_points': 64,\n", + " 'mld_threshold_points': 64,\n", + " # 'batch_size': 50_000,\n", + "}\n", + "\n", + "# FAST_CONFIG['posterior_samples'] = 200_000\n", + "# FAST_CONFIG['eval_shots'] = 100_000\n", + "PAPER_SCALE_CONFIG['mld_train_shots'] = 10_000_000\n", + "CONFIG = PAPER_SCALE_CONFIG.copy()\n", + "\n", + "# Magic-state preparation knobs.\n", + "#\n", + "# The same U3 preparation is used for the injected reference and for each\n", + "# encoded magic state fed into the 5-to-1 distillation circuit. To add a\n", + "# simple coherent preparation error, edit the *_OFFSET values below.\n", + "IDEAL_THETA = 0.3041 * math.pi\n", + "IDEAL_PHI = 0.25 * math.pi\n", + "IDEAL_LAM = 0.0\n", + "\n", + "# TODO: instead of having theta just be an offset, have an alternative way/more systematic way to inject noise in the circuit.\n", + "THETA_OFFSET = 0.30\n", + "PHI_OFFSET = 0.0\n", + "LAM_OFFSET = 0.0\n", + "\n", + "THETA = IDEAL_THETA + THETA_OFFSET\n", + "PHI = IDEAL_PHI + PHI_OFFSET\n", + "LAM = IDEAL_LAM + LAM_OFFSET\n", + "\n", + "BASIS_LABELS = DEFAULT_BASIS_LABELS\n", + "OUTPUT_QUBIT = 0\n", + "ANCILLA_QUBITS = (1, 2, 3, 4)\n", + "FACTORY_TARGET = np.array([0, 0, 0, 0], dtype=np.uint8)\n", + "# TODO: better understand this MLE_SCORE_MODE ?\n", + "MLE_SCORE_MODE = 'best_available'\n", + "\n", + "# This notebook's tomography/sign conventions historically evaluated fidelity\n", + "# against the (1, 1, 1) direction after applying notebook-specific sign vectors.\n", + "FIDELITY_TARGET_BLOCH = np.ones(3, dtype=np.float64) / np.sqrt(3.0)\n", + "\n", + "def u3_prep_bloch(theta: float, phi: float) -> np.ndarray:\n", + " return np.array([\n", + " math.sin(theta) * math.cos(phi),\n", + " math.sin(theta) * math.sin(phi),\n", + " math.cos(theta),\n", + " ], dtype=np.float64)\n", + "\n", + "PREP_BLOCH = u3_prep_bloch(THETA, PHI)\n", + "PREP_FIDELITY = 0.5 + float(np.dot(PREP_BLOCH, FIDELITY_TARGET_BLOCH)) / 2.0\n", + "\n", + "M2DETS_5 = steane7_m2dets(5)\n", + "M2OBS_5 = steane7_m2obs(5)\n", + "M2DETS_1 = steane7_m2dets(1)\n", + "M2OBS_1 = steane7_m2obs(1)\n", + "\n", + "kernel_bundle = build_decoder_kernel_bundle(THETA, PHI, LAM, output_qubit=OUTPUT_QUBIT)\n", + "ACTUAL_KERNELS = kernel_bundle.actual\n", + "SPECIAL_KERNELS = kernel_bundle.special\n", + "INJECTED_KERNELS = kernel_bundle.injected\n", + "\n", + "# _shared_run_task = run_task\n", + "\n", + "# def run_task(task, shots, *, with_noise=True, chunk_size=None):\n", + "# if chunk_size is None:\n", + "# chunk_size = CONFIG['batch_size']\n", + "# return _shared_run_task(\n", + "# task,\n", + "# shots,\n", + "# with_noise=with_noise,\n", + "# chunk_size=chunk_size,\n", + "# )\n" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "a81c682c", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Magic-state prep parameters:\n", + " ideal (theta, phi, lam) = (0.955358325956656, 0.7853981633974483, 0.0)\n", + " offsets = (0.3, 0.0, 0.0)\n", + " actual (theta, phi, lam) = (1.255358325956656, 0.7853981633974483, 0.0)\n", + " prep Bloch vector = (0.6722185482696245, 0.6722185482696243, 0.3102328911069188)\n", + " prep fidelity vs target = 0.9776620813937549\n" + ] + } + ], + "source": [ + "print('Magic-state prep parameters:')\n", + "print(' ideal (theta, phi, lam) =', (IDEAL_THETA, IDEAL_PHI, IDEAL_LAM))\n", + "print(' offsets =', (THETA_OFFSET, PHI_OFFSET, LAM_OFFSET))\n", + "print(' actual (theta, phi, lam) =', (THETA, PHI, LAM))\n", + "print(' prep Bloch vector =', tuple(float(x) for x in PREP_BLOCH))\n", + "print(' prep fidelity vs target =', PREP_FIDELITY)\n" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "32ed2f14", + "metadata": {}, + "outputs": [], + "source": [ + "MLD_SIGN_VECTOR = (1.0, -1.0, 1.0)\n", + "# Temporary d=3 frame fix for raw tomography. In this notebook's decoder-\n", + "# corrected injected path, the TableDecoder already restores Y to the\n", + "# positive frame, so the corrected baseline should use (+,+,+).\n", + "INJECTED_RAW_SIGN_VECTOR = (1.0, -1.0, 1.0)\n", + "INJECTED_CORRECTED_SIGN_VECTOR = (1.0, 1.0, 1.0)\n", + "DEFAULT_SIGN_VECTOR = MLD_SIGN_VECTOR\n", + "\n", + "_shared_fidelity_from_counts = fidelity_from_counts\n", + "\n", + "def fidelity_from_counts(x_bits, y_bits, z_bits, posterior_samples, sign_vector=(1.0, 1.0, 1.0)):\n", + " return _shared_fidelity_from_counts(\n", + " x_bits,\n", + " y_bits,\n", + " z_bits,\n", + " posterior_samples,\n", + " sign_vector=sign_vector,\n", + " target_bloch=FIDELITY_TARGET_BLOCH,\n", + " )\n" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "de8d0054", + "metadata": {}, + "outputs": [], + "source": [ + "def injected_baseline_raw(task_map, posterior_samples: int):\n", + " return injected_baseline(\n", + " task_map,\n", + " eval_shots=CONFIG['eval_shots'],\n", + " posterior_samples=posterior_samples,\n", + " table_decoder_cls=TableDecoder,\n", + " sign_vector=INJECTED_RAW_SIGN_VECTOR,\n", + " target_bloch=FIDELITY_TARGET_BLOCH,\n", + " raw=True,\n", + " basis_labels=BASIS_LABELS,\n", + " )\n" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "e9f873d9", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Compiled tasks:\n", + " actual: ['X', 'Y', 'Z']\n", + " special: ['X', 'Y', 'Z']\n", + " injected: ['X', 'Y', 'Z']\n", + "Injected tomography diagnostic (noiseless ):\n", + " X: 0.676000\n", + " Y: -0.673000\n", + " Z: 0.341000\n", + "X special-state noiseless observables: [(np.uint8(0), np.uint8(0), np.uint8(0), np.uint8(0), np.uint8(0))]\n", + "Y special-state noiseless observables: [(np.uint8(0), np.uint8(0), np.uint8(0), np.uint8(0), np.uint8(0))]\n", + "Z special-state noiseless observables: [(np.uint8(0), np.uint8(0), np.uint8(0), np.uint8(0), np.uint8(0))]\n" + ] + } + ], + "source": [ + "sim = GeminiLogicalSimulator()\n", + "noisy_steane7_initialize = make_noisy_steane7_initializer(sim)\n", + "\n", + "actual_tasks = build_task_map(\n", + " sim,\n", + " ACTUAL_KERNELS,\n", + " m2dets=M2DETS_5,\n", + " m2obs=M2OBS_5,\n", + " noisy_initializer=noisy_steane7_initialize,\n", + " append_measurements=False,\n", + ")\n", + "special_tasks = build_task_map(\n", + " sim,\n", + " SPECIAL_KERNELS,\n", + " m2dets=M2DETS_5,\n", + " m2obs=M2OBS_5,\n", + " noisy_initializer=noisy_steane7_initialize,\n", + " append_measurements=False,\n", + ")\n", + "injected_tasks = build_task_map(\n", + " sim,\n", + " INJECTED_KERNELS,\n", + " m2dets=M2DETS_1,\n", + " m2obs=M2OBS_1,\n", + " noisy_initializer=noisy_steane7_initialize,\n", + " append_measurements=False,\n", + ")\n", + "\n", + "print('Compiled tasks:')\n", + "print(' actual:', list(actual_tasks))\n", + "print(' special:', list(special_tasks))\n", + "print(' injected:', list(injected_tasks))\n", + "\n", + "print('Injected tomography diagnostic (noiseless ):')\n", + "for basis, task in injected_tasks.items():\n", + " data = run_task(task, 4000, with_noise=False)\n", + " mean_value = float(np.mean(1.0 - 2.0 * np.asarray(data.observables, dtype=np.float64)[:, 0]))\n", + " print(f' {basis}: {mean_value:.6f}')\n", + "\n", + "for basis, task in special_tasks.items():\n", + " data = run_task(task, 64, with_noise=False)\n", + " print(basis, 'special-state noiseless observables:', sorted({tuple(row) for row in data.observables}))\n" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "89226d46", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "({'X': Method(\"msd_actual_x\"),\n", + " 'Y': Method(\"msd_actual_y\"),\n", + " 'Z': Method(\"msd_actual_z\")},\n", + " {'X': Method(\"msd_special_x\"),\n", + " 'Y': Method(\"msd_special_y\"),\n", + " 'Z': Method(\"msd_special_z\")},\n", + " {'X': Method(\"injected_x\"),\n", + " 'Y': Method(\"injected_y\"),\n", + " 'Z': Method(\"injected_z\")})" + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "ACTUAL_KERNELS, SPECIAL_KERNELS, INJECTED_KERNELS" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "7f56fd0f", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "dict" + ] + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "type(special_tasks)" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "id": "1b919323", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "{'X': GeminiLogicalSimulatorTask(logical_squin_kernel=Method(\"msd_special_x\"), noise_model=SimpleNoiseModel(lane_noise=Method(\"lane_noise\"), idle_noise=Method(\"idle_noise\"), cz_unpaired_noise=Method(\"cz_unpaired_noise\"), cz_paired_noise=Method(\"cz_paired_noise\"), global_rz_noise=Method(\"global_rz_noise\"), local_rz_noise=Method(\"local_rz_noise\"), global_r_noise=Method(\"global_r_noise\"), local_r_noise=Method(\"local_r_noise\")), _thread_pool_executor=),\n", + " 'Y': GeminiLogicalSimulatorTask(logical_squin_kernel=Method(\"msd_special_y\"), noise_model=SimpleNoiseModel(lane_noise=Method(\"lane_noise\"), idle_noise=Method(\"idle_noise\"), cz_unpaired_noise=Method(\"cz_unpaired_noise\"), cz_paired_noise=Method(\"cz_paired_noise\"), global_rz_noise=Method(\"global_rz_noise\"), local_rz_noise=Method(\"local_rz_noise\"), global_r_noise=Method(\"global_r_noise\"), local_r_noise=Method(\"local_r_noise\")), _thread_pool_executor=),\n", + " 'Z': GeminiLogicalSimulatorTask(logical_squin_kernel=Method(\"msd_special_z\"), noise_model=SimpleNoiseModel(lane_noise=Method(\"lane_noise\"), idle_noise=Method(\"idle_noise\"), cz_unpaired_noise=Method(\"cz_unpaired_noise\"), cz_paired_noise=Method(\"cz_paired_noise\"), global_rz_noise=Method(\"global_rz_noise\"), local_rz_noise=Method(\"local_rz_noise\"), global_r_noise=Method(\"global_r_noise\"), local_r_noise=Method(\"local_r_noise\")), _thread_pool_executor=)}" + ] + }, + "execution_count": 9, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "special_tasks" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "id": "7269f5c9", + "metadata": {}, + "outputs": [], + "source": [ + "x_task_test = special_tasks[\"X\"]" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "id": "1640ae2c", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "\n", + "
\n", + " \n", + "
\n", + "
\n", + " \n", + "\n", + "\n", + "q0\n", + "\n", + "q1\n", + "\n", + "q2\n", + "\n", + "q3\n", + "\n", + "q4\n", + "\n", + "q5\n", + "\n", + "q6\n", + "\n", + "q7\n", + "\n", + "q8\n", + "\n", + "q9\n", + "\n", + "q10\n", + "\n", + "q11\n", + "\n", + "q12\n", + "\n", + "q13\n", + "\n", + "q14\n", + "\n", + "q15\n", + "\n", + "q16\n", + "\n", + "q17\n", + "\n", + "q18\n", + "\n", + "q19\n", + "\n", + "q20\n", + "\n", + "q21\n", + "\n", + "q22\n", + "\n", + "q23\n", + "\n", + "q24\n", + "\n", + "q25\n", + "\n", + "q26\n", + "\n", + "q27\n", + "\n", + "q28\n", + "\n", + "q29\n", + "\n", + "q30\n", + "\n", + "q31\n", + "\n", + "q32\n", + "\n", + "q33\n", + "\n", + "q34\n", + "\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "√Y\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "X\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "Z\n", + "\n", + "Z\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "√Y\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "X\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "Z\n", + "\n", + "Z\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "√Y\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "X\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "Z\n", + "\n", + "Z\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "√Y\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "X\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "Z\n", + "\n", + "Z\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "√Y\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "X\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "Z\n", + "\n", + "Z\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "S\n", + "\n", + "S\n", + "\n", + "S\n", + "\n", + "S\n", + "\n", + "S\n", + "\n", + "S\n", + "\n", + "S\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "S\n", + "\n", + "S\n", + "\n", + "S\n", + "\n", + "S\n", + "\n", + "S\n", + "\n", + "S\n", + "\n", + "S\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.000806,0.000806,0.002458\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0003066,0.0003066,0.0004639\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "S\n", + "\n", + "S\n", + "\n", + "S\n", + "\n", + "S\n", + "\n", + "S\n", + "\n", + "S\n", + "\n", + "S\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "S\n", + "\n", + "S\n", + "\n", + "S\n", + "\n", + "S\n", + "\n", + "S\n", + "\n", + "S\n", + "\n", + "S\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "M\n", + "0\n", + "rec[0]\n", + "\n", + "M\n", + "0\n", + "rec[1]\n", + "\n", + "M\n", + "0\n", + "rec[2]\n", + "\n", + "M\n", + "0\n", + "rec[3]\n", + "\n", + "M\n", + "0\n", + "rec[4]\n", + "\n", + "M\n", + "0\n", + "rec[5]\n", + "\n", + "M\n", + "0\n", + "rec[6]\n", + "\n", + "M\n", + "0\n", + "rec[7]\n", + "\n", + "M\n", + "0\n", + "rec[8]\n", + "\n", + "M\n", + "0\n", + "rec[9]\n", + "\n", + "M\n", + "0\n", + "rec[10]\n", + "\n", + "M\n", + "0\n", + "rec[11]\n", + "\n", + "M\n", + "0\n", + "rec[12]\n", + "\n", + "M\n", + "0\n", + "rec[13]\n", + "\n", + "M\n", + "0\n", + "rec[14]\n", + "\n", + "M\n", + "0\n", + "rec[15]\n", + "\n", + "M\n", + "0\n", + "rec[16]\n", + "\n", + "M\n", + "0\n", + "rec[17]\n", + "\n", + "M\n", + "0\n", + "rec[18]\n", + "\n", + "M\n", + "0\n", + "rec[19]\n", + "\n", + "M\n", + "0\n", + "rec[20]\n", + "\n", + "M\n", + "0\n", + "rec[21]\n", + "\n", + "M\n", + "0\n", + "rec[22]\n", + "\n", + "M\n", + "0\n", + "rec[23]\n", + "\n", + "M\n", + "0\n", + "rec[24]\n", + "\n", + "M\n", + "0\n", + "rec[25]\n", + "\n", + "M\n", + "0\n", + "rec[26]\n", + "\n", + "M\n", + "0\n", + "rec[27]\n", + "\n", + "M\n", + "0\n", + "rec[28]\n", + "\n", + "M\n", + "0\n", + "rec[29]\n", + "\n", + "M\n", + "0\n", + "rec[30]\n", + "\n", + "M\n", + "0\n", + "rec[31]\n", + "\n", + "M\n", + "0\n", + "rec[32]\n", + "\n", + "M\n", + "0\n", + "rec[33]\n", + "\n", + "M\n", + "0\n", + "rec[34]\n", + "\n", + "DETECTOR\n", + "coords=(0,0)\n", + "D0 = rec[0]*rec[1]*rec[2]*rec[3]\n", + "\n", + "DETECTOR\n", + "coords=(0,1)\n", + "D1 = rec[1]*rec[2]*rec[4]*rec[5]\n", + "\n", + "DETECTOR\n", + "coords=(0,2)\n", + "D2 = rec[2]*rec[3]*rec[4]*rec[6]\n", + "\n", + "OBS_INCLUDE(0)\n", + "L0 *= rec[0]*rec[1]*rec[5]\n", + "\n", + "DETECTOR\n", + "coords=(0,0)\n", + "D3 = rec[7]*rec[8]*rec[9]*rec[10]\n", + "\n", + "DETECTOR\n", + "coords=(0,1)\n", + "D4 = rec[8]*rec[9]*rec[11]*rec[12]\n", + "\n", + "DETECTOR\n", + "coords=(0,2)\n", + "D5 = rec[9]*rec[10]*rec[11]*rec[13]\n", + "\n", + "OBS_INCLUDE(1)\n", + "L1 *= rec[7]*rec[8]*rec[12]\n", + "\n", + "DETECTOR\n", + "coords=(0,0)\n", + "D6 = rec[14]*rec[15]*rec[16]*rec[17]\n", + "\n", + "DETECTOR\n", + "coords=(0,1)\n", + "D7 = rec[15]*rec[16]*rec[18]*rec[19]\n", + "\n", + "DETECTOR\n", + "coords=(0,2)\n", + "D8 = rec[16]*rec[17]*rec[18]*rec[20]\n", + "\n", + "OBS_INCLUDE(2)\n", + "L2 *= rec[14]*rec[15]*rec[19]\n", + "\n", + "DETECTOR\n", + "coords=(0,0)\n", + "D9 = rec[21]*rec[22]*rec[23]*rec[24]\n", + "\n", + "DETECTOR\n", + "coords=(0,1)\n", + "D10 = rec[22]*rec[23]*rec[25]*rec[26]\n", + "\n", + "DETECTOR\n", + "coords=(0,2)\n", + "D11 = rec[23]*rec[24]*rec[25]*rec[27]\n", + "\n", + "OBS_INCLUDE(3)\n", + "L3 *= rec[21]*rec[22]*rec[26]\n", + "\n", + "DETECTOR\n", + "coords=(0,0)\n", + "D12 = rec[28]*rec[29]*rec[30]*rec[31]\n", + "\n", + "DETECTOR\n", + "coords=(0,1)\n", + "D13 = rec[29]*rec[30]*rec[32]*rec[33]\n", + "\n", + "DETECTOR\n", + "coords=(0,2)\n", + "D14 = rec[30]*rec[31]*rec[32]*rec[34]\n", + "\n", + "OBS_INCLUDE(4)\n", + "L4 *= rec[28]*rec[29]*rec[33]\n", + "\n", + "
\n", + "
\n", + " \n", + "
\n" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "from IPython.display import HTML, display\n", + "\n", + "diagram = x_task_test.tsim_circuit.diagram(height=500)\n", + "display(HTML(f\"\"\"\n", + "
\n", + " {diagram}\n", + "
\n", + "\"\"\"))" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "id": "e248c9cf", + "metadata": {}, + "outputs": [], + "source": [ + "# x_task_test.run(1, with_noise=False, run_detectors=True)" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "id": "2d7ce763", + "metadata": {}, + "outputs": [], + "source": [ + "# x_task_test.run(1, with_noise=True, run_detectors=True)" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "id": "d6f5b35b", + "metadata": {}, + "outputs": [], + "source": [ + "# result = x_task_test.run(20000, with_noise=False, run_detectors=True)" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "id": "a4105c45", + "metadata": {}, + "outputs": [], + "source": [ + "# det = np.asarray(result.detectors, dtype=np.uint8)" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "id": "45a72185", + "metadata": {}, + "outputs": [], + "source": [ + "# obs = np.asarray(result.observables, dtype=np.uint8)" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "id": "1571c183", + "metadata": {}, + "outputs": [], + "source": [ + "# result_noisy = x_task_test.run(20000, with_noise=True, run_detectors=True)" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "id": "e04a404b", + "metadata": {}, + "outputs": [], + "source": [ + "# det_noisy = np.asarray(result_noisy.detectors, dtype=np.uint8)" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "id": "0a49f1dd", + "metadata": {}, + "outputs": [], + "source": [ + "# obs_noisy = np.asarray(result.observables, dtype=np.uint8)" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "id": "d67ff93d", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "{'X': GeminiLogicalSimulatorTask(logical_squin_kernel=Method(\"msd_special_x\"), noise_model=SimpleNoiseModel(lane_noise=Method(\"lane_noise\"), idle_noise=Method(\"idle_noise\"), cz_unpaired_noise=Method(\"cz_unpaired_noise\"), cz_paired_noise=Method(\"cz_paired_noise\"), global_rz_noise=Method(\"global_rz_noise\"), local_rz_noise=Method(\"local_rz_noise\"), global_r_noise=Method(\"global_r_noise\"), local_r_noise=Method(\"local_r_noise\")), _thread_pool_executor=),\n", + " 'Y': GeminiLogicalSimulatorTask(logical_squin_kernel=Method(\"msd_special_y\"), noise_model=SimpleNoiseModel(lane_noise=Method(\"lane_noise\"), idle_noise=Method(\"idle_noise\"), cz_unpaired_noise=Method(\"cz_unpaired_noise\"), cz_paired_noise=Method(\"cz_paired_noise\"), global_rz_noise=Method(\"global_rz_noise\"), local_rz_noise=Method(\"local_rz_noise\"), global_r_noise=Method(\"global_r_noise\"), local_r_noise=Method(\"local_r_noise\")), _thread_pool_executor=),\n", + " 'Z': GeminiLogicalSimulatorTask(logical_squin_kernel=Method(\"msd_special_z\"), noise_model=SimpleNoiseModel(lane_noise=Method(\"lane_noise\"), idle_noise=Method(\"idle_noise\"), cz_unpaired_noise=Method(\"cz_unpaired_noise\"), cz_paired_noise=Method(\"cz_paired_noise\"), global_rz_noise=Method(\"global_rz_noise\"), local_rz_noise=Method(\"local_rz_noise\"), global_r_noise=Method(\"global_r_noise\"), local_r_noise=Method(\"local_r_noise\")), _thread_pool_executor=)}" + ] + }, + "execution_count": 20, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "special_tasks" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "id": "9ddc3ff7", + "metadata": {}, + "outputs": [], + "source": [ + "# Conservative cell\n", + "# CONFIG['mld_train_shots'] = 5000" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "id": "8baf6dca", + "metadata": {}, + "outputs": [], + "source": [ + "def build_mld_decoders_debug(training_dataset: BasisDataset):\n", + " print(\"det shape/dtype:\", training_dataset.detectors.shape, training_dataset.detectors.dtype)\n", + " print(\"obs shape/dtype:\", training_dataset.observables.shape, training_dataset.observables.dtype)\n", + "\n", + " det = np.ascontiguousarray(training_dataset.detectors, dtype=bool)\n", + " obs = np.ascontiguousarray(training_dataset.observables, dtype=bool)\n", + " print(\"det contiguous:\", det.flags[\"C_CONTIGUOUS\"], det.nbytes)\n", + " print(\"obs contiguous:\", obs.flags[\"C_CONTIGUOUS\"], obs.nbytes)\n", + "\n", + " anc_det, anc_obs = split_factory_bits(det, obs)\n", + " print(\"anc det/obs:\", anc_det.shape, anc_obs.shape)\n", + "\n", + " full_dem = make_shape_only_dem(det.shape[1], obs.shape[1])\n", + " factory_dem = make_shape_only_dem(anc_det.shape[1], anc_obs.shape[1])\n", + " print(\"dem sizes:\", full_dem.num_detectors, full_dem.num_observables, factory_dem.num_detectors, factory_dem.num_observables)\n", + "\n", + " full_shots = np.ascontiguousarray(np.concatenate([det, obs], axis=1), dtype=bool)\n", + " factory_shots = np.ascontiguousarray(np.concatenate([anc_det, anc_obs], axis=1), dtype=bool)\n", + " print(\"full shots:\", full_shots.shape, full_shots.dtype, full_shots.nbytes)\n", + " print(\"factory shots:\", factory_shots.shape, factory_shots.dtype, factory_shots.nbytes)\n", + "\n", + " print(\"building full decoder...\")\n", + " full_decoder = TableDecoder.from_det_obs_shots(full_dem, full_shots)\n", + " print(\"built full decoder:\", full_decoder.det_obs_counts.shape, full_decoder.det_obs_counts.nbytes)\n", + "\n", + " print(\"building factory decoder...\")\n", + " factory_decoder = TableDecoder.from_det_obs_shots(factory_dem, factory_shots)\n", + " print(\"built factory decoder:\", factory_decoder.det_obs_counts.shape, factory_decoder.det_obs_counts.nbytes)\n", + "\n", + " return full_decoder, factory_decoder\n" + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "id": "07c093f0", + "metadata": {}, + "outputs": [], + "source": [ + "# dataset = run_task(special_tasks[\"X\"], 20000, with_noise=True)\n", + "# full_decoder, factory_decoder = build_mld_decoders_debug(dataset)" + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "id": "9b9a58f5", + "metadata": {}, + "outputs": [], + "source": [ + "# import time\n", + "\n", + "# task = special_tasks[\"X\"]\n", + "# for shots in [100, 1000, 5000, 10000, 100000, 500000, 1000000]:\n", + "# t0 = time.perf_counter()\n", + "# _ = run_task(task, shots, with_noise=True)\n", + "# dt = time.perf_counter() - t0\n", + "# rate = shots / dt\n", + "# print({\n", + "# \"shots\": shots,\n", + "# \"seconds\": dt,\n", + "# \"shots_per_sec\": rate,\n", + "# \"hours_for_1b\": 1_000_000_000 / rate / 3600,\n", + "# })\n" + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "id": "501815f1", + "metadata": {}, + "outputs": [], + "source": [ + "injected_summary_raw = injected_baseline_raw(injected_tasks, CONFIG['posterior_samples'])" + ] + }, + { + "cell_type": "code", + "execution_count": 26, + "id": "c9e80ca4", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "{'point': 0.9404847690760715,\n", + " 'median': 0.9400466963998902,\n", + " 'low': 0.9400466963998902,\n", + " 'high': 0.9400466963998902,\n", + " 'bloch': (0.6247, 0.608078, 0.293106)}" + ] + }, + "execution_count": 26, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "injected_summary_raw" + ] + }, + { + "cell_type": "code", + "execution_count": 27, + "id": "263bc652", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Sampling MLD training data for X with 10,000,000 shots...\n", + "dataset was created\n", + "cached MLD training data\n", + "Sampling MLD training data for Y with 10,000,000 shots...\n", + "dataset was created\n", + "cached MLD training data\n", + "Sampling MLD training data for Z with 10,000,000 shots...\n", + "dataset was created\n", + "cached MLD training data\n", + "built MLD decoders with shared ancilla-pattern fidelity scores\n" + ] + } + ], + "source": [ + "mld_training_data = {}\n", + "for basis, task in special_tasks.items():\n", + " print(f\"Sampling MLD training data for {basis} with {CONFIG['mld_train_shots']:,} shots...\")\n", + " dataset = run_task(task, CONFIG['mld_train_shots'], with_noise=True)\n", + " print(\"dataset was created\")\n", + " mld_training_data[basis] = dataset\n", + " print(\"cached MLD training data\")\n", + "\n", + "mld_ancilla_scores = build_shared_mld_postselection_scores(\n", + " mld_training_data,\n", + " table_decoder_cls=TableDecoder,\n", + " factory_target=FACTORY_TARGET,\n", + " basis_labels=BASIS_LABELS,\n", + " sign_vector=MLD_SIGN_VECTOR,\n", + " target_bloch=FIDELITY_TARGET_BLOCH,\n", + ")\n", + "mld_training = {\n", + " basis: build_mld_decoders(\n", + " dataset,\n", + " mld_ancilla_scores,\n", + " table_decoder_cls=TableDecoder,\n", + " )\n", + " for basis, dataset in mld_training_data.items()\n", + "}\n", + "print('built MLD decoders with shared ancilla-pattern fidelity scores')\n" + ] + }, + { + "cell_type": "code", + "execution_count": 28, + "id": "b3be41fd", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(1.0, -1.0, 1.0)" + ] + }, + "execution_count": 28, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "MLD_SIGN_VECTOR" + ] + }, + { + "cell_type": "code", + "execution_count": 29, + "id": "ead4632c", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Restricted license - for non-production use only - expires 2027-11-29\n", + "Injected raw baseline fidelity: 0.9412191586184807\n", + "Injected corrected baseline fidelity: 0.9603433089351179\n", + "MLE score mode: logical_gap\n", + "MLE curve points: 36\n", + "MLD curve points: 3037\n" + ] + } + ], + "source": [ + "# NOTE: this cell requires the gurobipy package to be installed\n", + "\n", + "actual_data = {\n", + " basis: run_task(task, CONFIG['eval_shots'], with_noise=True)\n", + " for basis, task in actual_tasks.items()\n", + "}\n", + "\n", + "mle_decoders = {\n", + " basis: build_mle_decoders(\n", + " task,\n", + " gurobi_decoder_cls=GurobiDecoder,\n", + " score_mode=MLE_SCORE_MODE,\n", + " )\n", + " for basis, task in actual_tasks.items()\n", + "}\n", + "\n", + "mld_curve = evaluate_mld_curve(\n", + " actual_data,\n", + " mld_training,\n", + " posterior_samples=CONFIG['posterior_samples'],\n", + " factory_target=FACTORY_TARGET,\n", + " sign_vector=MLD_SIGN_VECTOR,\n", + " target_bloch=FIDELITY_TARGET_BLOCH,\n", + " basis_labels=BASIS_LABELS,\n", + ")\n", + "mle_curve = evaluate_curve(\n", + " actual_data,\n", + " mle_decoders,\n", + " posterior_samples=CONFIG['posterior_samples'],\n", + " threshold_points=CONFIG['mle_threshold_points'],\n", + " metric='MLE logical gap',\n", + " factory_target=FACTORY_TARGET,\n", + " sign_vector=MLD_SIGN_VECTOR,\n", + " target_bloch=FIDELITY_TARGET_BLOCH,\n", + " basis_labels=BASIS_LABELS,\n", + ")\n", + "injected_summary_corrected = injected_baseline(\n", + " injected_tasks,\n", + " eval_shots=CONFIG['eval_shots'],\n", + " posterior_samples=CONFIG['posterior_samples'],\n", + " table_decoder_cls=TableDecoder,\n", + " sign_vector=INJECTED_CORRECTED_SIGN_VECTOR,\n", + " target_bloch=FIDELITY_TARGET_BLOCH,\n", + " basis_labels=BASIS_LABELS,\n", + ")\n", + "injected_summary_raw = injected_baseline_raw(injected_tasks, CONFIG['posterior_samples'])\n", + "\n", + "print('Injected raw baseline fidelity:', injected_summary_raw['point'])\n", + "print('Injected corrected baseline fidelity:', injected_summary_corrected['point'])\n", + "print('MLE score mode:', next(iter(mle_decoders.values())).factory_score_mode)\n", + "print('MLE curve points:', len(mle_curve['accepted_fraction']))\n", + "print('MLD curve points:', len(mld_curve['accepted_fraction']))\n" + ] + }, + { + "cell_type": "code", + "execution_count": 30, + "id": "b6f92958", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "((1.0, -1.0, 1.0), (1.0, 1.0, 1.0))" + ] + }, + "execution_count": 30, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "INJECTED_RAW_SIGN_VECTOR, INJECTED_CORRECTED_SIGN_VECTOR" + ] + }, + { + "cell_type": "code", + "execution_count": 31, + "id": "f9c09fac", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(1.0, -1.0, 1.0)" + ] + }, + "execution_count": 31, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "MLD_SIGN_VECTOR" + ] + }, + { + "cell_type": "code", + "execution_count": 32, + "id": "b28b1f42", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([0.57735027, 0.57735027, 0.57735027])" + ] + }, + "execution_count": 32, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "FIDELITY_TARGET_BLOCH" + ] + }, + { + "cell_type": "code", + "execution_count": 33, + "id": "38d2b80e", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "{'point': 0.9603433089351179,\n", + " 'median': 0.9603046005819823,\n", + " 'low': 0.9603046005819823,\n", + " 'high': 0.9603046005819823,\n", + " 'bloch': (0.650428, 0.639984, 0.304264)}" + ] + }, + "execution_count": 33, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "injected_summary_corrected" + ] + }, + { + "cell_type": "code", + "execution_count": 34, + "id": "99b0f4c3", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "{'X': GeminiLogicalSimulatorTask(logical_squin_kernel=Method(\"injected_x\"), noise_model=SimpleNoiseModel(lane_noise=Method(\"lane_noise\"), idle_noise=Method(\"idle_noise\"), cz_unpaired_noise=Method(\"cz_unpaired_noise\"), cz_paired_noise=Method(\"cz_paired_noise\"), global_rz_noise=Method(\"global_rz_noise\"), local_rz_noise=Method(\"local_rz_noise\"), global_r_noise=Method(\"global_r_noise\"), local_r_noise=Method(\"local_r_noise\")), _thread_pool_executor=),\n", + " 'Y': GeminiLogicalSimulatorTask(logical_squin_kernel=Method(\"injected_y\"), noise_model=SimpleNoiseModel(lane_noise=Method(\"lane_noise\"), idle_noise=Method(\"idle_noise\"), cz_unpaired_noise=Method(\"cz_unpaired_noise\"), cz_paired_noise=Method(\"cz_paired_noise\"), global_rz_noise=Method(\"global_rz_noise\"), local_rz_noise=Method(\"local_rz_noise\"), global_r_noise=Method(\"global_r_noise\"), local_r_noise=Method(\"local_r_noise\")), _thread_pool_executor=),\n", + " 'Z': GeminiLogicalSimulatorTask(logical_squin_kernel=Method(\"injected_z\"), noise_model=SimpleNoiseModel(lane_noise=Method(\"lane_noise\"), idle_noise=Method(\"idle_noise\"), cz_unpaired_noise=Method(\"cz_unpaired_noise\"), cz_paired_noise=Method(\"cz_paired_noise\"), global_rz_noise=Method(\"global_rz_noise\"), local_rz_noise=Method(\"local_rz_noise\"), global_r_noise=Method(\"global_r_noise\"), local_r_noise=Method(\"local_r_noise\")), _thread_pool_executor=)}" + ] + }, + "execution_count": 34, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "injected_tasks" + ] + }, + { + "cell_type": "code", + "execution_count": 35, + "id": "640f9bd6", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "\n", + "
\n", + " \n", + "
\n", + "
\n", + " \n", + "\n", + "\n", + "q0\n", + "\n", + "q1\n", + "\n", + "q2\n", + "\n", + "q3\n", + "\n", + "q4\n", + "\n", + "q5\n", + "\n", + "q6\n", + "\n", + "\n", + "U3\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "√Y\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "\n", + "PAULI_CHANNEL_20\n", + "\n", + "PAULI_CHANNEL_21\n", + "0.00022747,0.00022747,0.00151278,0.00022747,0.00014286,0.00014286,0.00014308,0.00022747,0.00014286,0.00014286,0.00014308,0.00151278,0.00014308,0.00014308,0.00142814\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0005149,0.0005149,0.002185\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "√Y\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "X\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "Z\n", + "\n", + "Z\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "PAULI_CHANNEL_1\n", + "0.0004102,0.0004102,0.0004112\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "S\n", + "\n", + "S\n", + "\n", + "S\n", + "\n", + "S\n", + "\n", + "S\n", + "\n", + "S\n", + "\n", + "S\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "√X\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "S\n", + "\n", + "S\n", + "\n", + "S\n", + "\n", + "S\n", + "\n", + "S\n", + "\n", + "S\n", + "\n", + "S\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "PAULI_CHANNEL_1\n", + "6.5e-05,6.5e-05,6.5e-05\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "ERRI\n", + "0\n", + "\n", + "M\n", + "0\n", + "rec[0]\n", + "\n", + "M\n", + "0\n", + "rec[1]\n", + "\n", + "M\n", + "0\n", + "rec[2]\n", + "\n", + "M\n", + "0\n", + "rec[3]\n", + "\n", + "M\n", + "0\n", + "rec[4]\n", + "\n", + "M\n", + "0\n", + "rec[5]\n", + "\n", + "M\n", + "0\n", + "rec[6]\n", + "\n", + "DETECTOR\n", + "coords=(0,0)\n", + "D0 = rec[0]*rec[1]*rec[2]*rec[3]\n", + "\n", + "DETECTOR\n", + "coords=(0,1)\n", + "D1 = rec[1]*rec[2]*rec[4]*rec[5]\n", + "\n", + "DETECTOR\n", + "coords=(0,2)\n", + "D2 = rec[2]*rec[3]*rec[4]*rec[6]\n", + "\n", + "OBS_INCLUDE(0)\n", + "L0 *= rec[0]*rec[1]*rec[5]\n", + "\n", + "
\n", + "
\n", + " \n", + "
\n" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "from IPython.display import HTML, display\n", + "\n", + "diagram = injected_tasks['X'].tsim_circuit.diagram(height=500)\n", + "display(HTML(f\"\"\"\n", + "
\n", + " {diagram}\n", + "
\n", + "\"\"\"))" + ] + }, + { + "cell_type": "code", + "execution_count": 36, + "id": "8397c82e", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "{'point': 0.9603433089351179,\n", + " 'median': 0.9603046005819823,\n", + " 'low': 0.9603046005819823,\n", + " 'high': 0.9603046005819823,\n", + " 'bloch': (0.650428, 0.639984, 0.304264)}" + ] + }, + "execution_count": 36, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "injected_summary_corrected" + ] + }, + { + "cell_type": "code", + "execution_count": 37, + "id": "fdf27350", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "64" + ] + }, + "execution_count": 37, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "len(data.observables[:, 0])" + ] + }, + { + "cell_type": "code", + "execution_count": 38, + "id": "79f59194", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "X 0.682\n", + "Y -0.616\n", + "Z 0.272\n" + ] + } + ], + "source": [ + "for basis, task in injected_tasks.items():\n", + " data = run_task(task, 1000, with_noise=False)\n", + " print(basis, logical_expectation(data.observables[:, 0]))" + ] + }, + { + "cell_type": "code", + "execution_count": 39, + "id": "f81cb7c6", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "X [[0 0 0 0 0]]\n", + "Y [[0 0 0 0 0]]\n", + "Z [[0 0 0 0 0]]\n" + ] + } + ], + "source": [ + "for basis, task in special_tasks.items():\n", + " data = run_task(task, 256, with_noise=False)\n", + " print(basis, np.unique(data.observables, axis=0))" + ] + }, + { + "cell_type": "code", + "execution_count": 40, + "id": "387e033f", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "X output unique: [0]\n", + "X ancilla unique rows: [[0 0 0 0]]\n", + "Y output unique: [0]\n", + "Y ancilla unique rows: [[0 0 0 0]]\n", + "Z output unique: [0]\n", + "Z ancilla unique rows: [[0 0 0 0]]\n" + ] + } + ], + "source": [ + "for basis, task in special_tasks.items():\n", + " data = run_task(task, 256, with_noise=False)\n", + " print(basis, \"output unique:\", np.unique(data.observables[:, 0]))\n", + " print(basis, \"ancilla unique rows:\", np.unique(data.observables[:, 1:], axis=0))" + ] + }, + { + "cell_type": "code", + "execution_count": 41, + "id": "141a21e5", + "metadata": {}, + "outputs": [], + "source": [ + "# fig, ax = plt.subplots(figsize=(7, 5))\n", + "\n", + "# ax.plot(mle_curve['accepted_fraction'], mle_curve['fidelity'], color='tab:blue', label='Distilled (MLE)')\n", + "# ax.fill_between(\n", + "# mle_curve['accepted_fraction'],\n", + "# mle_curve['credible'][:, 0],\n", + "# mle_curve['credible'][:, 1],\n", + "# color='tab:blue',\n", + "# alpha=0.15,\n", + "# )\n", + "\n", + "# ax.plot(mld_curve['accepted_fraction'], mld_curve['fidelity'], color='tab:orange', label='Distilled (MLD)')\n", + "# ax.fill_between(\n", + "# mld_curve['accepted_fraction'],\n", + "# mld_curve['credible'][:, 0],\n", + "# mld_curve['credible'][:, 1],\n", + "# color='tab:orange',\n", + "# alpha=0.15,\n", + "# )\n", + "\n", + "# # ax.axhline(injected_summary['point'], color='tab:green', linestyle='-', label='Injected')\n", + "# plt.axhline(injected_summary['median'], color='green', label='Injected')\n", + "# plt.axhspan(\n", + "# injected_summary['low'],\n", + "# injected_summary['high'],\n", + "# color='green',\n", + "# alpha=0.12,\n", + "# )\n", + "\n", + "# ax.fill_between(\n", + "# [0.0, 1.0],\n", + "# injected_summary['low'],\n", + "# injected_summary['high'],\n", + "# color='tab:green',\n", + "# alpha=0.1,\n", + "# )\n", + "\n", + "# ax.set_xlabel('Total accepted fraction')\n", + "# ax.set_ylabel('Magic state fidelity')\n", + "# ax.set_title('Reproduction of Fig. 3(b) with bloqade-decoders on GeminiLogicalSimulator')\n", + "# ax.grid(alpha=0.25)\n", + "# ax.legend()\n", + "# plt.show()\n" + ] + }, + { + "cell_type": "code", + "execution_count": 42, + "id": "b68c2487", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Injected summary: {'point': 0.9603433089351179, 'median': 0.9603046005819823, 'low': 0.9603046005819823, 'high': 0.9603046005819823, 'bloch': (0.650428, 0.639984, 0.304264)}\n", + "MLE first few fidelities: [0.97831163 0.98844058 0.9861897 0.9861897 0.98393882]\n", + "MLD first few fidelities: [0.99294234 0.99294234 0.99294234 0.99294234 0.99406777]\n" + ] + } + ], + "source": [ + "print(\"Injected summary:\", injected_summary_corrected)\n", + "print(\"MLE first few fidelities:\", mle_curve['fidelity'][:5])\n", + "print(\"MLD first few fidelities:\", mld_curve['fidelity'][:5])\n" + ] + }, + { + "cell_type": "code", + "execution_count": 43, + "id": "9d91e65e", + "metadata": {}, + "outputs": [], + "source": [ + "# injected_summary_raw" + ] + }, + { + "cell_type": "code", + "execution_count": 44, + "id": "9e3b70d5", + "metadata": {}, + "outputs": [], + "source": [ + "# injected_summary_corr = injected_baseline(injected_tasks, CONFIG['posterior_samples'])" + ] + }, + { + "cell_type": "code", + "execution_count": 45, + "id": "79d08ae9", + "metadata": {}, + "outputs": [], + "source": [ + "# injected_summary_corr" + ] + }, + { + "cell_type": "code", + "execution_count": 46, + "id": "ffd99b3c", + "metadata": {}, + "outputs": [], + "source": [ + "injected_summary_raw = injected_baseline_raw(injected_tasks, CONFIG['posterior_samples'])" + ] + }, + { + "cell_type": "code", + "execution_count": 47, + "id": "74abf32b", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "{'point': 0.94052864769653,\n", + " 'median': 0.9400466963998902,\n", + " 'low': 0.9400466963998902,\n", + " 'high': 0.9411721355211176,\n", + " 'bloch': (0.623784, 0.60801, 0.294242)}" + ] + }, + "execution_count": 47, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "injected_summary_raw" + ] + }, + { + "cell_type": "code", + "execution_count": 48, + "id": "c2cf3aa0", + "metadata": {}, + "outputs": [ + { + "data": { + "image/svg+xml": [ + "\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " 2026-04-06T09:34:38.554688\n", + " image/svg+xml\n", + " \n", + " \n", + " Matplotlib v3.10.8, https://matplotlib.org/\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n" + ], + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "plt.figure(figsize=(6, 4))\n", + "\n", + "plt.plot(\n", + " mle_curve['accepted_fraction'],\n", + " mle_curve['fidelity'],\n", + " marker='o',\n", + " label='Distilled (MLE)',\n", + ")\n", + "plt.fill_between(\n", + " mle_curve['accepted_fraction'],\n", + " mle_curve['credible'][:, 0],\n", + " mle_curve['credible'][:, 1],\n", + " alpha=0.15,\n", + ")\n", + "\n", + "plt.plot(\n", + " mld_curve['accepted_fraction'],\n", + " mld_curve['fidelity'],\n", + " marker='o',\n", + " label='Distilled (MLD)',\n", + ")\n", + "plt.fill_between(\n", + " mld_curve['accepted_fraction'],\n", + " mld_curve['credible'][:, 0],\n", + " mld_curve['credible'][:, 1],\n", + " alpha=0.15,\n", + ")\n", + "\n", + "plt.axhline(\n", + " injected_summary_corrected['median'],\n", + " color='green',\n", + " linewidth=2,\n", + " label='Injected',\n", + ")\n", + "plt.axhspan(\n", + " injected_summary_corrected['low'],\n", + " injected_summary_corrected['high'],\n", + " color='green',\n", + " alpha=0.12,\n", + ")\n", + "\n", + "plt.xlabel('Total accepted fraction')\n", + "plt.ylabel('Magic state fidelity')\n", + "plt.title('Reproduction of Fig. 3(b) with bloqade-decoders on GeminiLogicalSimulator')\n", + "plt.legend()\n", + "plt.grid(True, alpha=0.3)\n", + "plt.show()\n" + ] + }, + { + "cell_type": "markdown", + "id": "ebfab81a", + "metadata": {}, + "source": [ + "# Debugging why the plot is bad" + ] + }, + { + "cell_type": "code", + "execution_count": 49, + "id": "7ae588c6", + "metadata": {}, + "outputs": [], + "source": [ + "def summarize_noiseless(task, shots=256, label=\"\"):\n", + " data = run_task(task, shots, with_noise=False)\n", + " obs = data.observables.astype(np.uint8)\n", + " det = data.detectors.astype(np.uint8)\n", + " print(f\"{label} detectors shape:\", det.shape)\n", + " print(f\"{label} observables shape:\", obs.shape)\n", + " print(f\"{label} unique detector rows:\", len(np.unique(det, axis=0)))\n", + " print(f\"{label} unique observable rows:\", len(np.unique(obs, axis=0)))\n", + " print(f\"{label} output unique:\", np.unique(obs[:, 0]))\n", + " print(f\"{label} ancilla unique rows:\", np.unique(obs[:, 1:], axis=0))\n", + " return data\n" + ] + }, + { + "cell_type": "code", + "execution_count": 50, + "id": "a8a397ac", + "metadata": {}, + "outputs": [ + { + "ename": "NameError", + "evalue": "name 'gemini_logical' is not defined", + "output_type": "error", + "traceback": [ + "\u001b[31m---------------------------------------------------------------------------\u001b[39m", + "\u001b[31mNameError\u001b[39m Traceback (most recent call last)", + "\u001b[36mCell\u001b[39m\u001b[36m \u001b[39m\u001b[32mIn[50]\u001b[39m\u001b[32m, line 1\u001b[39m\n\u001b[32m----> \u001b[39m\u001b[32m1\u001b[39m \u001b[38;5;129m@gemini_logical\u001b[39m.kernel(aggressive_unroll=\u001b[38;5;28;01mTrue\u001b[39;00m)\n\u001b[32m 2\u001b[39m \u001b[38;5;28;01mdef\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[34mdbg_identity_5\u001b[39m():\n\u001b[32m 3\u001b[39m reg = qubit.qalloc(\u001b[32m5\u001b[39m)\n\u001b[32m 4\u001b[39m \u001b[38;5;28;01mreturn\u001b[39;00m default_post_processing(reg)\n", + "\u001b[31mNameError\u001b[39m: name 'gemini_logical' is not defined" + ] + } + ], + "source": [ + "@gemini_logical.kernel(aggressive_unroll=True)\n", + "def dbg_identity_5():\n", + " reg = qubit.qalloc(5)\n", + " return default_post_processing(reg)\n", + "\n", + "dbg_identity_task = build_task(sim, dbg_identity_5, m2dets=None, m2obs=None)\n", + "summarize_noiseless(dbg_identity_task, label=\"identity_5\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "ae780603", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "inverse_then_forward detectors shape: (256, 15)\n", + "inverse_then_forward observables shape: (256, 5)\n", + "inverse_then_forward unique detector rows: 1\n", + "inverse_then_forward unique observable rows: 1\n", + "inverse_then_forward output unique: [0]\n", + "inverse_then_forward ancilla unique rows: [[0 0 0 0]]\n" + ] + }, + { + "data": { + "text/plain": [ + "BasisDataset(detectors=array([[0, 0, 0, ..., 0, 0, 0],\n", + " [0, 0, 0, ..., 0, 0, 0],\n", + " [0, 0, 0, ..., 0, 0, 0],\n", + " ...,\n", + " [0, 0, 0, ..., 0, 0, 0],\n", + " [0, 0, 0, ..., 0, 0, 0],\n", + " [0, 0, 0, ..., 0, 0, 0]], shape=(256, 15), dtype=uint8), observables=array([[0, 0, 0, 0, 0],\n", + " [0, 0, 0, 0, 0],\n", + " [0, 0, 0, 0, 0],\n", + " ...,\n", + " [0, 0, 0, 0, 0],\n", + " [0, 0, 0, 0, 0],\n", + " [0, 0, 0, 0, 0]], shape=(256, 5), dtype=uint8))" + ] + }, + "execution_count": 39, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "@gemini_logical.kernel(aggressive_unroll=True)\n", + "def dbg_cancel():\n", + " reg = qubit.qalloc(5)\n", + " msd_inverse(reg)\n", + " msd_forward(reg)\n", + " return default_post_processing(reg)\n", + "\n", + "dbg_cancel_task = build_task(sim, dbg_cancel, m2dets=None, m2obs=None)\n", + "summarize_noiseless(dbg_cancel_task, label=\"inverse_then_forward\")\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "8e52b7e6", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "tomo_x detectors shape: (256, 15)\n", + "tomo_x observables shape: (256, 5)\n", + "tomo_x unique detector rows: 1\n", + "tomo_x unique observable rows: 2\n", + "tomo_x output unique: [0 1]\n", + "tomo_x ancilla unique rows: [[0 0 0 0]]\n", + "tomo_y detectors shape: (256, 15)\n", + "tomo_y observables shape: (256, 5)\n", + "tomo_y unique detector rows: 1\n", + "tomo_y unique observable rows: 2\n", + "tomo_y output unique: [0 1]\n", + "tomo_y ancilla unique rows: [[0 0 0 0]]\n", + "tomo_z detectors shape: (256, 15)\n", + "tomo_z observables shape: (256, 5)\n", + "tomo_z unique detector rows: 1\n", + "tomo_z unique observable rows: 1\n", + "tomo_z output unique: [0]\n", + "tomo_z ancilla unique rows: [[0 0 0 0]]\n" + ] + } + ], + "source": [ + "@gemini_logical.kernel(aggressive_unroll=True)\n", + "def dbg_tomo_x():\n", + " reg = qubit.qalloc(5)\n", + " tomography_x(reg)\n", + " return default_post_processing(reg)\n", + "\n", + "@gemini_logical.kernel(aggressive_unroll=True)\n", + "def dbg_tomo_y():\n", + " reg = qubit.qalloc(5)\n", + " tomography_y(reg)\n", + " return default_post_processing(reg)\n", + "\n", + "@gemini_logical.kernel(aggressive_unroll=True)\n", + "def dbg_tomo_z():\n", + " reg = qubit.qalloc(5)\n", + " tomography_z(reg)\n", + " return default_post_processing(reg)\n", + "\n", + "for name, kernel in [(\"tomo_x\", dbg_tomo_x), (\"tomo_y\", dbg_tomo_y), (\"tomo_z\", dbg_tomo_z)]:\n", + " task = build_task(sim, kernel, m2dets=None, m2obs=None)\n", + " summarize_noiseless(task, label=name)\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "3236528b", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "tomo_x detectors shape: (256, 15)\n", + "tomo_x observables shape: (256, 5)\n", + "tomo_x unique detector rows: 1\n", + "tomo_x unique observable rows: 2\n", + "tomo_x output unique: [0 1]\n", + "tomo_x ancilla unique rows: [[0 0 0 0]]\n", + "tomo_y detectors shape: (256, 15)\n", + "tomo_y observables shape: (256, 5)\n", + "tomo_y unique detector rows: 1\n", + "tomo_y unique observable rows: 2\n", + "tomo_y output unique: [0 1]\n", + "tomo_y ancilla unique rows: [[0 0 0 0]]\n", + "tomo_z detectors shape: (256, 15)\n", + "tomo_z observables shape: (256, 5)\n", + "tomo_z unique detector rows: 1\n", + "tomo_z unique observable rows: 1\n", + "tomo_z output unique: [0]\n", + "tomo_z ancilla unique rows: [[0 0 0 0]]\n" + ] + } + ], + "source": [ + "for name, kernel in [(\"tomo_x\", dbg_tomo_x), (\"tomo_y\", dbg_tomo_y), (\"tomo_z\", dbg_tomo_z)]:\n", + " task = build_task(sim, kernel, m2dets=None, m2obs=None)\n", + " summarize_noiseless(task, label=name)\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "c8e8f098", + "metadata": {}, + "outputs": [], + "source": [ + "@squin.kernel\n", + "def tomography_x_inv(reg):\n", + " squin.h(reg[OUTPUT_QUBIT])\n", + "\n", + "@squin.kernel\n", + "def tomography_y_inv(reg):\n", + " squin.h(reg[OUTPUT_QUBIT])\n", + " squin.sqrt_z(reg[OUTPUT_QUBIT])\n", + "\n", + "@squin.kernel\n", + "def tomography_z_inv(reg):\n", + " return\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "c1ca2be6", + "metadata": {}, + "outputs": [], + "source": [ + "@squin.kernel\n", + "def prepare_special_x_v2(reg):\n", + " tomography_x_inv(reg)\n", + " msd_inverse(reg)\n", + "\n", + "@squin.kernel\n", + "def prepare_special_y_v2(reg):\n", + " tomography_y_inv(reg)\n", + " msd_inverse(reg)\n", + "\n", + "@squin.kernel\n", + "def prepare_special_z_v2(reg):\n", + " tomography_z_inv(reg)\n", + " msd_inverse(reg)\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "3057d2a1", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "special_v2_X detectors shape: (256, 15)\n", + "special_v2_X observables shape: (256, 5)\n", + "special_v2_X unique detector rows: 1\n", + "special_v2_X unique observable rows: 1\n", + "special_v2_X output unique: [0]\n", + "special_v2_X ancilla unique rows: [[0 0 0 0]]\n", + "special_v2_Y detectors shape: (256, 15)\n", + "special_v2_Y observables shape: (256, 5)\n", + "special_v2_Y unique detector rows: 1\n", + "special_v2_Y unique observable rows: 1\n", + "special_v2_Y output unique: [0]\n", + "special_v2_Y ancilla unique rows: [[0 0 0 0]]\n", + "special_v2_Z detectors shape: (256, 15)\n", + "special_v2_Z observables shape: (256, 5)\n", + "special_v2_Z unique detector rows: 1\n", + "special_v2_Z unique observable rows: 1\n", + "special_v2_Z output unique: [0]\n", + "special_v2_Z ancilla unique rows: [[0 0 0 0]]\n" + ] + } + ], + "source": [ + "@gemini_logical.kernel(aggressive_unroll=True)\n", + "def msd_special_x_v2():\n", + " reg = qubit.qalloc(5)\n", + " prepare_special_x_v2(reg)\n", + " msd_forward(reg)\n", + " tomography_x(reg)\n", + " return default_post_processing(reg)\n", + "\n", + "@gemini_logical.kernel(aggressive_unroll=True)\n", + "def msd_special_y_v2():\n", + " reg = qubit.qalloc(5)\n", + " prepare_special_y_v2(reg)\n", + " msd_forward(reg)\n", + " tomography_y(reg)\n", + " return default_post_processing(reg)\n", + "\n", + "@gemini_logical.kernel(aggressive_unroll=True)\n", + "def msd_special_z_v2():\n", + " reg = qubit.qalloc(5)\n", + " prepare_special_z_v2(reg)\n", + " msd_forward(reg)\n", + " tomography_z(reg)\n", + " return default_post_processing(reg)\n", + "\n", + "special_v2_tasks = {\n", + " \"X\": build_task(sim, msd_special_x_v2, m2dets=None, m2obs=None),\n", + " \"Y\": build_task(sim, msd_special_y_v2, m2dets=None, m2obs=None),\n", + " \"Z\": build_task(sim, msd_special_z_v2, m2dets=None, m2obs=None),\n", + "}\n", + "\n", + "for basis, task in special_v2_tasks.items():\n", + " summarize_noiseless(task, label=f\"special_v2_{basis}\")\n" + ] + }, + { + "cell_type": "markdown", + "id": "908c0857", + "metadata": {}, + "source": [ + "# Additional debug on why plot is bad" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "83f49f41", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "X unique full obs: [[0 0 0 0 0]\n", + " [0 0 0 0 1]\n", + " [0 0 0 1 0]\n", + " [0 0 0 1 1]\n", + " [0 0 1 0 0]\n", + " [0 0 1 0 1]\n", + " [0 0 1 1 0]\n", + " [0 0 1 1 1]\n", + " [0 1 0 0 0]\n", + " [0 1 0 0 1]\n", + " [0 1 0 1 0]\n", + " [0 1 0 1 1]\n", + " [0 1 1 0 0]\n", + " [0 1 1 0 1]\n", + " [0 1 1 1 0]\n", + " [0 1 1 1 1]\n", + " [1 0 0 0 0]\n", + " [1 0 0 0 1]\n", + " [1 0 0 1 0]\n", + " [1 0 0 1 1]\n", + " [1 0 1 0 0]\n", + " [1 0 1 0 1]\n", + " [1 0 1 1 0]\n", + " [1 0 1 1 1]\n", + " [1 1 0 0 0]\n", + " [1 1 0 0 1]\n", + " [1 1 0 1 0]\n", + " [1 1 0 1 1]\n", + " [1 1 1 0 0]\n", + " [1 1 1 0 1]\n", + " [1 1 1 1 0]\n", + " [1 1 1 1 1]]\n", + "X unique ancilla obs: [[0 0 0 0]\n", + " [0 0 0 1]\n", + " [0 0 1 0]\n", + " [0 0 1 1]\n", + " [0 1 0 0]\n", + " [0 1 0 1]\n", + " [0 1 1 0]\n", + " [0 1 1 1]\n", + " [1 0 0 0]\n", + " [1 0 0 1]\n", + " [1 0 1 0]\n", + " [1 0 1 1]\n", + " [1 1 0 0]\n", + " [1 1 0 1]\n", + " [1 1 1 0]\n", + " [1 1 1 1]]\n", + "Y unique full obs: [[0 0 0 0 0]\n", + " [0 0 0 0 1]\n", + " [0 0 0 1 0]\n", + " [0 0 0 1 1]\n", + " [0 0 1 0 0]\n", + " [0 0 1 0 1]\n", + " [0 0 1 1 0]\n", + " [0 0 1 1 1]\n", + " [0 1 0 0 0]\n", + " [0 1 0 0 1]\n", + " [0 1 0 1 0]\n", + " [0 1 0 1 1]\n", + " [0 1 1 0 1]\n", + " [0 1 1 1 0]\n", + " [1 0 0 0 0]\n", + " [1 0 0 0 1]\n", + " [1 0 0 1 0]\n", + " [1 0 0 1 1]\n", + " [1 0 1 0 0]\n", + " [1 0 1 0 1]\n", + " [1 0 1 1 0]\n", + " [1 0 1 1 1]\n", + " [1 1 0 0 0]\n", + " [1 1 0 0 1]\n", + " [1 1 0 1 0]\n", + " [1 1 0 1 1]\n", + " [1 1 1 0 1]\n", + " [1 1 1 1 0]\n", + " [1 1 1 1 1]]\n", + "Y unique ancilla obs: [[0 0 0 0]\n", + " [0 0 0 1]\n", + " [0 0 1 0]\n", + " [0 0 1 1]\n", + " [0 1 0 0]\n", + " [0 1 0 1]\n", + " [0 1 1 0]\n", + " [0 1 1 1]\n", + " [1 0 0 0]\n", + " [1 0 0 1]\n", + " [1 0 1 0]\n", + " [1 0 1 1]\n", + " [1 1 0 1]\n", + " [1 1 1 0]\n", + " [1 1 1 1]]\n", + "Z unique full obs: [[0 0 0 0 0]\n", + " [0 0 0 0 1]\n", + " [0 0 0 1 1]\n", + " [0 0 1 0 0]\n", + " [0 0 1 0 1]\n", + " [0 0 1 1 0]\n", + " [0 0 1 1 1]\n", + " [0 1 0 0 0]\n", + " [0 1 0 0 1]\n", + " [0 1 0 1 0]\n", + " [0 1 0 1 1]\n", + " [0 1 1 0 0]\n", + " [0 1 1 0 1]\n", + " [0 1 1 1 0]\n", + " [0 1 1 1 1]\n", + " [1 0 0 0 0]\n", + " [1 0 0 0 1]\n", + " [1 0 0 1 0]\n", + " [1 0 0 1 1]\n", + " [1 0 1 0 0]\n", + " [1 0 1 0 1]\n", + " [1 0 1 1 0]\n", + " [1 0 1 1 1]\n", + " [1 1 0 0 1]\n", + " [1 1 0 1 0]\n", + " [1 1 0 1 1]\n", + " [1 1 1 0 0]\n", + " [1 1 1 0 1]\n", + " [1 1 1 1 0]\n", + " [1 1 1 1 1]]\n", + "Z unique ancilla obs: [[0 0 0 0]\n", + " [0 0 0 1]\n", + " [0 0 1 0]\n", + " [0 0 1 1]\n", + " [0 1 0 0]\n", + " [0 1 0 1]\n", + " [0 1 1 0]\n", + " [0 1 1 1]\n", + " [1 0 0 0]\n", + " [1 0 0 1]\n", + " [1 0 1 0]\n", + " [1 0 1 1]\n", + " [1 1 0 0]\n", + " [1 1 0 1]\n", + " [1 1 1 0]\n", + " [1 1 1 1]]\n" + ] + } + ], + "source": [ + "for basis, task in actual_tasks.items():\n", + " data = run_task(task, 256, with_noise=False)\n", + " print(basis, \"unique full obs:\", np.unique(data.observables, axis=0))\n", + " print(basis, \"unique ancilla obs:\", np.unique(data.observables[:, 1:], axis=0))\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "099b5b70", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + " X\n", + "(0, 0, 0, 0) 859 0.1718\n", + "(0, 1, 1, 1) 310 0.062\n", + "(1, 0, 0, 1) 307 0.0614\n", + "(1, 1, 0, 1) 305 0.061\n", + "(1, 1, 0, 0) 292 0.0584\n", + "(0, 1, 1, 0) 281 0.0562\n", + "(0, 0, 1, 0) 278 0.0556\n", + "(0, 0, 0, 1) 277 0.0554\n", + "(1, 1, 1, 0) 277 0.0554\n", + "(1, 0, 1, 0) 270 0.054\n", + "\n", + " Y\n", + "(0, 0, 0, 0) 792 0.1584\n", + "(1, 1, 1, 0) 634 0.1268\n", + "(0, 0, 1, 0) 393 0.0786\n", + "(1, 0, 1, 0) 370 0.074\n", + "(0, 1, 0, 0) 335 0.067\n", + "(0, 1, 0, 1) 304 0.0608\n", + "(1, 1, 0, 1) 276 0.0552\n", + "(0, 1, 1, 1) 262 0.0524\n", + "(0, 0, 0, 1) 260 0.052\n", + "(1, 0, 1, 1) 248 0.0496\n", + "\n", + " Z\n", + "(0, 0, 0, 0) 816 0.1632\n", + "(0, 1, 0, 0) 361 0.0722\n", + "(1, 0, 0, 1) 342 0.0684\n", + "(0, 0, 1, 1) 319 0.0638\n", + "(1, 1, 0, 1) 302 0.0604\n", + "(0, 1, 1, 1) 287 0.0574\n", + "(0, 0, 0, 1) 283 0.0566\n", + "(1, 0, 1, 1) 280 0.056\n", + "(1, 1, 1, 0) 276 0.0552\n", + "(1, 0, 1, 0) 274 0.0548\n" + ] + } + ], + "source": [ + "from collections import Counter\n", + "\n", + "for basis, task in actual_tasks.items():\n", + " data = run_task(task, 5000, with_noise=False)\n", + " anc = data.observables[:, 1:]\n", + " counts = Counter(tuple(map(int, row)) for row in anc)\n", + " print(\"\\n\", basis)\n", + " for bitstring, count in counts.most_common(10):\n", + " print(bitstring, count, count / len(anc))\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "323f3341", + "metadata": {}, + "outputs": [], + "source": [ + "def injected_baseline_debug(task_map, posterior_samples: int, shots: int = 4000):\n", + " print(\"Evaluating injected baseline with SAME data for train and test\")\n", + " corrected = {}\n", + "\n", + " for basis in BASIS_LABELS:\n", + " dataset = run_task(task_map[basis], shots, with_noise=True)\n", + "\n", + " print(f\"\\nBasis {basis}\")\n", + " print(\"det shape:\", dataset.detectors.shape, \"obs shape:\", dataset.observables.shape)\n", + "\n", + " train_det_obs = np.concatenate(\n", + " [dataset.detectors, dataset.observables], axis=1\n", + " ).astype(bool)\n", + "\n", + " decoder = TableDecoder.from_det_obs_shots(\n", + " make_shape_only_dem(dataset.detectors.shape[1], dataset.observables.shape[1]),\n", + " train_det_obs,\n", + " )\n", + "\n", + " bits = []\n", + " for det, obs in zip(dataset.detectors, dataset.observables, strict=True):\n", + " flip = np.asarray(decoder.decode(det.astype(bool)), dtype=np.uint8)\n", + " bits.append(int(obs[0] ^ flip[0]))\n", + "\n", + " bits = np.asarray(bits, dtype=np.uint8)\n", + " corrected[basis] = bits\n", + "\n", + " print(\"post-decoding logical mean:\", logical_expectation(bits))\n", + " print(\"logical ones fraction:\", float(np.mean(bits)))\n", + "\n", + " summary = fidelity_from_counts(\n", + " corrected[\"X\"], corrected[\"Y\"], corrected[\"Z\"], posterior_samples, sign_vector=INJECTED_CORRECTED_SIGN_VECTOR\n", + " )\n", + " print(\"\\nLeaky injected summary:\", summary)\n", + " return summary\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "88b09e7a", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Evaluating injected baseline with SAME data for train and test\n", + "\n", + "Basis X\n", + "det shape: (4000, 3) obs shape: (4000, 1)\n", + "post-decoding logical mean: 0.556\n", + "logical ones fraction: 0.222\n", + "\n", + "Basis Y\n", + "det shape: (4000, 3) obs shape: (4000, 1)\n", + "post-decoding logical mean: 0.5725\n", + "logical ones fraction: 0.21375\n", + "\n", + "Basis Z\n", + "det shape: (4000, 3) obs shape: (4000, 1)\n", + "post-decoding logical mean: 0.572\n", + "logical ones fraction: 0.214\n", + "\n", + "Leaky injected summary: {'point': 0.9908920663784793, 'median': 0.9552346034004552, 'low': 0.9551410483069397, 'high': 0.9553281584939706, 'bloch': (0.556, 0.5725, 0.572)}\n" + ] + } + ], + "source": [ + "_ = injected_baseline_debug(injected_tasks, posterior_samples=5000, shots=4000)\n" + ] + }, + { + "cell_type": "markdown", + "id": "215afb83", + "metadata": {}, + "source": [ + "# Check naive postselection" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "e221af37", + "metadata": {}, + "outputs": [], + "source": [ + "def naive_injected_baseline(\n", + " task_map,\n", + " posterior_samples: int,\n", + " shots: int | None = None,\n", + " require_zero_detectors: bool = False,\n", + " min_accepted_per_basis: int = 50,\n", + "):\n", + " if shots is None:\n", + " shots = CONFIG[\"eval_shots\"]\n", + "\n", + " corrected = {}\n", + " accepted_fractions = {}\n", + "\n", + " for basis in BASIS_LABELS:\n", + " dataset = run_task(task_map[basis], shots, with_noise=True)\n", + "\n", + " mask = np.ones(len(dataset.observables), dtype=bool)\n", + " if require_zero_detectors:\n", + " mask &= np.all(dataset.detectors == 0, axis=1)\n", + "\n", + " corrected[basis] = dataset.observables[mask, 0].astype(np.uint8)\n", + " accepted_fractions[basis] = float(np.mean(mask))\n", + "\n", + " if min(len(corrected[b]) for b in BASIS_LABELS) < min_accepted_per_basis:\n", + " raise RuntimeError(\"Too few accepted injected shots in at least one basis.\")\n", + "\n", + " summary = fidelity_from_counts(\n", + " corrected[\"X\"],\n", + " corrected[\"Y\"],\n", + " corrected[\"Z\"],\n", + " posterior_samples,\n", + " sign_vector=INJECTED_RAW_SIGN_VECTOR\n", + " )\n", + " summary[\"accepted_fraction\"] = float(np.mean(list(accepted_fractions.values())))\n", + " summary[\"accepted_fraction_by_basis\"] = accepted_fractions\n", + " return summary\n", + "\n", + "\n", + "def naive_distilled_summary(\n", + " actual_data,\n", + " factory_target,\n", + " posterior_samples: int,\n", + " require_zero_ancilla_detectors: bool = True,\n", + " require_zero_all_detectors: bool = False,\n", + " min_accepted_per_basis: int = 50,\n", + "):\n", + " factory_target = np.asarray(factory_target, dtype=np.uint8)\n", + "\n", + " corrected = {}\n", + " accepted_fractions = {}\n", + " total_kept = 0\n", + " total_shots = 0\n", + "\n", + " for basis in BASIS_LABELS:\n", + " dataset = actual_data[basis]\n", + " anc_det, anc_obs = split_factory_bits(dataset.detectors, dataset.observables)\n", + "\n", + " mask = np.all(anc_obs == factory_target, axis=1)\n", + "\n", + " if require_zero_ancilla_detectors:\n", + " mask &= np.all(anc_det == 0, axis=1)\n", + "\n", + " if require_zero_all_detectors:\n", + " mask &= np.all(dataset.detectors == 0, axis=1)\n", + "\n", + " corrected[basis] = dataset.observables[mask, 0].astype(np.uint8)\n", + " accepted_fractions[basis] = float(np.mean(mask))\n", + "\n", + " total_kept += int(np.sum(mask))\n", + " total_shots += len(mask)\n", + "\n", + " if min(len(corrected[b]) for b in BASIS_LABELS) < min_accepted_per_basis:\n", + " raise RuntimeError(\"Too few accepted distilled shots in at least one basis.\")\n", + "\n", + " summary = fidelity_from_counts(\n", + " corrected[\"X\"],\n", + " corrected[\"Y\"],\n", + " corrected[\"Z\"],\n", + " posterior_samples,\n", + " sign_vector=(1.0, -1.0, 1.0)\n", + " )\n", + " summary[\"accepted_fraction\"] = total_kept / total_shots\n", + " summary[\"accepted_fraction_by_basis\"] = accepted_fractions\n", + " summary[\"factory_target\"] = tuple(int(x) for x in factory_target.tolist())\n", + " return summary\n", + "\n", + "\n", + "def scan_naive_factory_targets(\n", + " actual_data,\n", + " posterior_samples: int,\n", + " require_zero_ancilla_detectors: bool = True,\n", + " require_zero_all_detectors: bool = False,\n", + " min_accepted_per_basis: int = 50,\n", + "):\n", + " patterns = sorted(\n", + " {\n", + " tuple(map(int, row))\n", + " for basis in BASIS_LABELS\n", + " for row in actual_data[basis].observables[:, 1:]\n", + " }\n", + " )\n", + "\n", + " rows = []\n", + " for pattern in patterns:\n", + " try:\n", + " summary = naive_distilled_summary(\n", + " actual_data,\n", + " pattern,\n", + " posterior_samples=posterior_samples,\n", + " require_zero_ancilla_detectors=require_zero_ancilla_detectors,\n", + " require_zero_all_detectors=require_zero_all_detectors,\n", + " min_accepted_per_basis=min_accepted_per_basis,\n", + " )\n", + " except RuntimeError:\n", + " continue\n", + "\n", + " rows.append(\n", + " {\n", + " \"pattern\": pattern,\n", + " \"accepted_fraction\": summary[\"accepted_fraction\"],\n", + " \"median\": summary[\"median\"],\n", + " \"low\": summary[\"low\"],\n", + " \"high\": summary[\"high\"],\n", + " \"bloch\": summary[\"bloch\"],\n", + " }\n", + " )\n", + "\n", + " rows.sort(key=lambda row: row[\"median\"], reverse=True)\n", + " return rows\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "64bbe614", + "metadata": {}, + "outputs": [], + "source": [ + "actual_data = {\n", + " basis: run_task(task, CONFIG[\"eval_shots\"], with_noise=True)\n", + " for basis, task in actual_tasks.items()\n", + "}\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "88cfecb0", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Injected raw: {'point': 0.9741489085719802, 'median': 0.9704260230235915, 'low': 0.9704210426386828, 'high': 0.9704310034085002, 'bloch': (0.576, 0.533, 0.5335), 'accepted_fraction': 1.0, 'accepted_fraction_by_basis': {'X': 1.0, 'Y': 1.0, 'Z': 1.0}}\n", + "Injected perfect-stabilizer: {'point': 1.0009205840668491, 'median': 0.9875185113564718, 'low': 0.9870927532570705, 'high': 0.9879442694558733, 'bloch': (0.5934182590233545, 0.5741969737191399, 0.5676245715792249), 'accepted_fraction': 0.944, 'accepted_fraction_by_basis': {'X': 0.942, 'Y': 0.94175, 'Z': 0.94825}}\n" + ] + } + ], + "source": [ + "inj_raw = naive_injected_baseline(\n", + " injected_tasks,\n", + " posterior_samples=CONFIG[\"posterior_samples\"],\n", + " require_zero_detectors=False,\n", + ")\n", + "inj_ps = naive_injected_baseline(\n", + " injected_tasks,\n", + " posterior_samples=CONFIG[\"posterior_samples\"],\n", + " require_zero_detectors=True,\n", + ")\n", + "\n", + "print(\"Injected raw:\", inj_raw)\n", + "print(\"Injected perfect-stabilizer:\", inj_ps)\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "366e0947", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "{'pattern': (0, 0, 0, 0), 'accepted_fraction': 0.04375, 'median': 0.9817131793333097, 'low': 0.9674312321432712, 'high': 0.9916459752827427, 'bloch': (0.5340909090909091, 0.6949152542372882, 0.6395348837209303)}\n", + "{'pattern': (0, 1, 1, 0), 'accepted_fraction': 0.015166666666666667, 'median': 0.9491190811247133, 'low': 0.9062597865935383, 'high': 0.9748811413337901, 'bloch': (0.5666666666666667, 0.46875, 0.6551724137931034)}\n", + "{'pattern': (1, 0, 1, 1), 'accepted_fraction': 0.01525, 'median': 0.8912681174694763, 'low': 0.8387219601720576, 'high': 0.9381894419746841, 'bloch': (0.4084507042253521, 0.6140350877192983, 0.38181818181818183)}\n", + "{'pattern': (0, 0, 1, 1), 'accepted_fraction': 0.014, 'median': 0.39932180274369916, 'low': 0.3471235701315568, 'high': 0.4583071168590332, 'bloch': (-0.41818181818181815, 0.5925925925925926, -0.5254237288135594)}\n", + "{'pattern': (1, 0, 0, 1), 'accepted_fraction': 0.01375, 'median': 0.38111396958289556, 'low': 0.33360856047786436, 'high': 0.44816922492239863, 'bloch': (-0.43333333333333335, -0.5769230769230769, 0.5849056603773585)}\n", + "{'pattern': (1, 1, 1, 1), 'accepted_fraction': 0.014083333333333333, 'median': 0.3608346013034275, 'low': 0.32003592689597254, 'high': 0.4184137238136515, 'bloch': (0.6071428571428571, -0.5471698113207547, -0.6)}\n", + "{'pattern': (1, 1, 1, 0), 'accepted_fraction': 0.0165, 'median': 0.3336060918990876, 'low': 0.2812377792360711, 'high': 0.38005510317670443, 'bloch': (-0.5362318840579711, -0.5833333333333334, 0.5087719298245614)}\n", + "{'pattern': (0, 1, 0, 1), 'accepted_fraction': 0.014833333333333334, 'median': 0.30265506838973716, 'low': 0.2461936101271034, 'high': 0.3594102746650842, 'bloch': (0.3225806451612903, -0.5185185185185185, -0.5161290322580645)}\n" + ] + } + ], + "source": [ + "naive_rows = scan_naive_factory_targets(\n", + " actual_data,\n", + " posterior_samples=CONFIG[\"posterior_samples\"],\n", + " require_zero_ancilla_detectors=True,\n", + " require_zero_all_detectors=False,\n", + " min_accepted_per_basis=50,\n", + ")\n", + "\n", + "for row in naive_rows[:10]:\n", + " print(row)\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "0a3f78a6", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Best naive distilled summary: {'point': 1.0394013382528395, 'median': 0.9817131793333097, 'low': 0.9674312321432712, 'high': 0.9916459752827427, 'bloch': (0.5340909090909091, 0.6949152542372882, 0.6395348837209303), 'accepted_fraction': 0.04375, 'accepted_fraction_by_basis': {'X': 0.044, 'Y': 0.04425, 'Z': 0.043}, 'factory_target': (0, 0, 0, 0)}\n" + ] + } + ], + "source": [ + "best_pattern = naive_rows[0][\"pattern\"]\n", + "naive_best = naive_distilled_summary(\n", + " actual_data,\n", + " best_pattern,\n", + " posterior_samples=CONFIG[\"posterior_samples\"],\n", + " require_zero_ancilla_detectors=True,\n", + " require_zero_all_detectors=False,\n", + " min_accepted_per_basis=50,\n", + ")\n", + "\n", + "print(\"Best naive distilled summary:\", naive_best)\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "a81591c3", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "{'pattern': (0, 0, 0, 0), 'accepted_fraction': 0.11175, 'median': 0.944368551182286, 'low': 0.927203088733682, 'high': 0.9688138858782762, 'bloch': (0.45701357466063347, 0.5550660792951542, 0.5550561797752809)}\n", + "{'pattern': (0, 1, 1, 0), 'accepted_fraction': 0.059416666666666666, 'median': 0.8094035434138406, 'low': 0.7721516002960754, 'high': 0.8382959857812478, 'bloch': (0.33613445378151263, 0.3939393939393939, 0.32786885245901637)}\n", + "{'pattern': (0, 1, 0, 0), 'accepted_fraction': 0.06458333333333334, 'median': 0.7766093773492896, 'low': 0.7432994840542628, 'high': 0.796086594359255, 'bloch': (0.34275618374558303, 0.3524590163934426, 0.25806451612903225)}\n", + "{'pattern': (0, 0, 0, 1), 'accepted_fraction': 0.06308333333333334, 'median': 0.7380337843590304, 'low': 0.7112364578397804, 'high': 0.7642865383546738, 'bloch': (0.2788104089219331, 0.22088353413654618, 0.3389121338912134)}\n", + "{'pattern': (1, 0, 0, 0), 'accepted_fraction': 0.058583333333333334, 'median': 0.7365898441195489, 'low': 0.7130046095269186, 'high': 0.7661605556849881, 'bloch': (0.19823788546255505, 0.336, 0.3185840707964602)}\n", + "{'pattern': (1, 0, 1, 1), 'accepted_fraction': 0.056916666666666664, 'median': 0.7146157734795998, 'low': 0.6801333739301687, 'high': 0.7380284699979777, 'bloch': (0.21739130434782608, 0.23214285714285715, 0.2912621359223301)}\n", + "{'pattern': (1, 1, 0, 1), 'accepted_fraction': 0.05608333333333333, 'median': 0.7099919386830946, 'low': 0.6619297499616268, 'high': 0.7287848458407788, 'bloch': (0.3870967741935484, 0.0873015873015873, 0.23404255319148937)}\n", + "{'pattern': (1, 0, 0, 1), 'accepted_fraction': 0.05608333333333333, 'median': 0.47921177556234, 'low': 0.4520740738239267, 'high': 0.5097854475486503, 'bloch': (-0.1826086956521739, -0.24528301886792453, 0.36796536796536794)}\n", + "{'pattern': (0, 0, 1, 0), 'accepted_fraction': 0.06225, 'median': 0.47794494980372, 'low': 0.44981839520535577, 'high': 0.4950151933766581, 'bloch': (-0.250996015936255, 0.3684210526315789, -0.20149253731343283)}\n", + "{'pattern': (1, 0, 1, 0), 'accepted_fraction': 0.05775, 'median': 0.47676422679325225, 'low': 0.4468079489461576, 'high': 0.5024193483390618, 'bloch': (-0.19838056680161945, -0.2413793103448276, 0.3644859813084112)}\n" + ] + } + ], + "source": [ + "naive_rows_no_flags = scan_naive_factory_targets(\n", + " actual_data,\n", + " posterior_samples=CONFIG[\"posterior_samples\"],\n", + " require_zero_ancilla_detectors=False,\n", + " require_zero_all_detectors=False,\n", + " min_accepted_per_basis=50,\n", + ")\n", + "\n", + "for row in naive_rows_no_flags[:10]:\n", + " print(row)\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "a179cbc0", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "{'pattern': (1, 1, 0, 1), 'fraction': 0.05463333333333333, 'median': 0.9908060338274673, 'bloch': (0.6112084063047285, 0.6746987951807228, 0.6035087719298246)}\n", + "{'pattern': (0, 0, 0, 0), 'fraction': 0.16296666666666668, 'median': 0.978361991238159, 'bloch': (0.6091954022988506, 0.8580097087378641, 0.6045340050377834)}\n", + "{'pattern': (0, 0, 0, 1), 'fraction': 0.053033333333333335, 'median': 0.9724193231971388, 'bloch': (0.5774134790528234, 0.536, 0.6309963099630996)}\n", + "{'pattern': (1, 0, 1, 1), 'fraction': 0.05533333333333333, 'median': 0.9303820470897423, 'bloch': (0.5582608695652174, 0.35372848948374763, 0.5444839857651246)}\n", + "{'pattern': (0, 1, 1, 0), 'fraction': 0.052, 'median': 0.8726119426250339, 'bloch': (0.5709090909090909, 0.07692307692307693, 0.5731497418244407)}\n", + "{'pattern': (0, 1, 0, 0), 'fraction': 0.061766666666666664, 'median': 0.8550840566191722, 'bloch': (0.600739371534196, 0.30074074074074075, 0.28414442700156983)}\n", + "{'pattern': (1, 0, 0, 0), 'fraction': 0.0496, 'median': 0.8012707824447942, 'bloch': (0.6014362657091562, -0.16532258064516128, 1.0)}\n", + "{'pattern': (1, 0, 1, 0), 'fraction': 0.06016666666666667, 'median': 0.5480680844178298, 'bloch': (-0.5542635658914729, 0.0533515731874145, 0.6487455197132617)}\n", + "{'pattern': (1, 1, 1, 1), 'fraction': 0.0538, 'median': 0.5307396029127786, 'bloch': (0.5595026642984015, 0.10714285714285714, -0.5941499085923218)}\n", + "{'pattern': (0, 1, 0, 1), 'fraction': 0.052333333333333336, 'median': 0.5268219729249157, 'bloch': (0.5587703435804702, -0.04990757855822551, -0.4789915966386555)}\n" + ] + } + ], + "source": [ + "def scan_noiseless_actual_patterns(task_map, shots: int = 10000):\n", + " from collections import Counter, defaultdict\n", + "\n", + " rows = []\n", + " pattern_output = defaultdict(lambda: {\"X\": [], \"Y\": [], \"Z\": []})\n", + " pattern_counts = Counter()\n", + "\n", + " for basis in BASIS_LABELS:\n", + " data = run_task(task_map[basis], shots, with_noise=False)\n", + " anc = data.observables[:, 1:]\n", + " out = data.observables[:, 0]\n", + " for a, o in zip(anc, out, strict=True):\n", + " key = tuple(int(x) for x in a)\n", + " pattern_counts[key] += 1\n", + " pattern_output[key][basis].append(int(o))\n", + "\n", + " total = sum(pattern_counts.values())\n", + "\n", + " for key, count in pattern_counts.items():\n", + " if min(len(pattern_output[key][b]) for b in BASIS_LABELS) == 0:\n", + " continue\n", + " x_bits = np.asarray(pattern_output[key][\"X\"], dtype=np.uint8)\n", + " y_bits = np.asarray(pattern_output[key][\"Y\"], dtype=np.uint8)\n", + " z_bits = np.asarray(pattern_output[key][\"Z\"], dtype=np.uint8)\n", + " summary = fidelity_from_counts(x_bits, y_bits, z_bits, posterior_samples=5000, sign_vector=(1.0, -1.0, 1.0))\n", + " rows.append({\n", + " \"pattern\": key,\n", + " \"fraction\": count / total,\n", + " \"median\": summary[\"median\"],\n", + " \"bloch\": summary[\"bloch\"],\n", + " })\n", + "\n", + " rows.sort(key=lambda row: row[\"median\"], reverse=True)\n", + " return rows\n", + "\n", + "rows_noiseless = scan_noiseless_actual_patterns(actual_tasks, shots=10000)\n", + "for row in rows_noiseless[:10]:\n", + " print(row)\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "3c2f2b07", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "score: 1.1835717226405835 candidate: [ 0.57735027 -0.57735027 0.57735027]\n", + "score: 0.5000657090462775 candidate: [-0.57735027 -0.57735027 0.57735027]\n", + "score: 0.4976451332077477 candidate: [ 0.57735027 -0.57735027 -0.57735027]\n", + "score: 0.1858608803865584 candidate: [0.57735027 0.57735027 0.57735027]\n", + "score: -0.1858608803865584 candidate: [-0.57735027 -0.57735027 -0.57735027]\n" + ] + } + ], + "source": [ + "import itertools\n", + "import numpy as np\n", + "\n", + "def clifford_images_of_magic():\n", + " base = np.array([1.0, 1.0, 1.0]) / np.sqrt(3.0)\n", + " images = []\n", + " for perm in itertools.permutations(range(3)):\n", + " for signs in itertools.product([-1, 1], repeat=3):\n", + " vec = np.array([signs[i] * base[perm[i]] for i in range(3)])\n", + " # Keep proper signed permutations from the single-qubit Clifford group\n", + " mat = np.zeros((3, 3), dtype=int)\n", + " for i in range(3):\n", + " mat[i, perm[i]] = signs[i]\n", + " if round(np.linalg.det(mat)) == 1:\n", + " images.append(tuple(np.round(vec, 8)))\n", + " images = sorted(set(images))\n", + " return [np.array(v) for v in images]\n", + "\n", + "def nearest_magic_image(bloch):\n", + " bloch = np.array(bloch, dtype=float)\n", + " candidates = clifford_images_of_magic()\n", + " scored = []\n", + " for cand in candidates:\n", + " scored.append((float(np.dot(bloch, cand)), cand))\n", + " scored.sort(key=lambda x: x[0], reverse=True)\n", + " return scored[:5]\n", + "\n", + "# Example: inspect the suspected accepted branch\n", + "bloch = np.array([0.5919335705812574, -0.8640429338103757, 0.5940298507462687])\n", + "for score, cand in nearest_magic_image(bloch):\n", + " print(\"score:\", score, \"candidate:\", cand)\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "cceee650", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "X 0.5756\n", + "Y 0.57\n", + "Z 0.5824\n" + ] + } + ], + "source": [ + "for basis, task in injected_tasks.items():\n", + " data = run_task(task, 5000, with_noise=False)\n", + " bits = data.observables[:, 0].astype(np.uint8)\n", + " print(basis, logical_expectation(bits))\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "fc821e82", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "X 0.574\n", + "Y 0.5748\n", + "Z 0.5768\n" + ] + } + ], + "source": [ + "for basis, task in injected_tasks.items():\n", + " data = run_task(task, 5000, with_noise=False)\n", + " bits = data.observables[:, 0].astype(np.uint8)\n", + " print(basis, logical_expectation(bits))\n" + ] + }, + { + "cell_type": "markdown", + "id": "ac018467", + "metadata": {}, + "source": [ + "# Test naive postselection" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "1940abdc", + "metadata": {}, + "outputs": [], + "source": [ + "def naive_injected_summary(\n", + " task_map,\n", + " posterior_samples: int,\n", + " shots: int | None = None,\n", + " require_zero_detectors: bool = False,\n", + " min_accepted_per_basis: int = 50,\n", + "):\n", + " if shots is None:\n", + " shots = CONFIG[\"eval_shots\"]\n", + "\n", + " corrected = {}\n", + " accepted_fraction_by_basis = {}\n", + "\n", + " for basis in BASIS_LABELS:\n", + " data = run_task(task_map[basis], shots, with_noise=True)\n", + " mask = np.ones(len(data.observables), dtype=bool)\n", + "\n", + " if require_zero_detectors:\n", + " mask &= np.all(data.detectors == 0, axis=1)\n", + "\n", + " corrected[basis] = data.observables[mask, 0].astype(np.uint8)\n", + " accepted_fraction_by_basis[basis] = float(np.mean(mask))\n", + "\n", + " if min(len(corrected[b]) for b in BASIS_LABELS) < min_accepted_per_basis:\n", + " raise RuntimeError(\"Too few accepted injected shots.\")\n", + "\n", + " summary = fidelity_from_counts(\n", + " corrected[\"X\"],\n", + " corrected[\"Y\"],\n", + " corrected[\"Z\"],\n", + " posterior_samples,\n", + " sign_vector=INJECTED_RAW_SIGN_VECTOR,\n", + " )\n", + " summary[\"accepted_fraction\"] = float(np.mean(list(accepted_fraction_by_basis.values())))\n", + " summary[\"accepted_fraction_by_basis\"] = accepted_fraction_by_basis\n", + " return summary\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "43ad9e34", + "metadata": {}, + "outputs": [], + "source": [ + "def naive_distilled_summary(\n", + " actual_data,\n", + " factory_target,\n", + " posterior_samples: int,\n", + " require_zero_ancilla_detectors: bool = False,\n", + " require_zero_all_detectors: bool = False,\n", + " min_accepted_per_basis: int = 50,\n", + "):\n", + " factory_target = np.asarray(factory_target, dtype=np.uint8)\n", + "\n", + " corrected = {}\n", + " accepted_fraction_by_basis = {}\n", + " total_kept = 0\n", + " total_shots = 0\n", + "\n", + " for basis in BASIS_LABELS:\n", + " data = actual_data[basis]\n", + " anc_det, anc_obs = split_factory_bits(data.detectors, data.observables)\n", + "\n", + " mask = np.all(anc_obs == factory_target, axis=1)\n", + "\n", + " if require_zero_ancilla_detectors:\n", + " mask &= np.all(anc_det == 0, axis=1)\n", + "\n", + " if require_zero_all_detectors:\n", + " mask &= np.all(data.detectors == 0, axis=1)\n", + "\n", + " corrected[basis] = data.observables[mask, 0].astype(np.uint8)\n", + " accepted_fraction_by_basis[basis] = float(np.mean(mask))\n", + " total_kept += int(np.sum(mask))\n", + " total_shots += len(mask)\n", + "\n", + " if min(len(corrected[b]) for b in BASIS_LABELS) < min_accepted_per_basis:\n", + " raise RuntimeError(\"Too few accepted distilled shots.\")\n", + "\n", + " summary = fidelity_from_counts(\n", + " corrected[\"X\"],\n", + " corrected[\"Y\"],\n", + " corrected[\"Z\"],\n", + " posterior_samples,\n", + " sign_vector=(1.0, -1.0, 1.0),\n", + " )\n", + " summary[\"accepted_fraction\"] = total_kept / total_shots\n", + " summary[\"accepted_fraction_by_basis\"] = accepted_fraction_by_basis\n", + " summary[\"factory_target\"] = tuple(int(x) for x in factory_target.tolist())\n", + " return summary\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "c37025a4", + "metadata": {}, + "outputs": [], + "source": [ + "def scan_naive_patterns(\n", + " actual_data,\n", + " posterior_samples: int,\n", + " require_zero_ancilla_detectors: bool = False,\n", + " require_zero_all_detectors: bool = False,\n", + " min_accepted_per_basis: int = 50,\n", + "):\n", + " patterns = sorted({\n", + " tuple(map(int, row))\n", + " for basis in BASIS_LABELS\n", + " for row in actual_data[basis].observables[:, 1:]\n", + " })\n", + "\n", + " rows = []\n", + " for pattern in patterns:\n", + " try:\n", + " s = naive_distilled_summary(\n", + " actual_data,\n", + " pattern,\n", + " posterior_samples=posterior_samples,\n", + " require_zero_ancilla_detectors=require_zero_ancilla_detectors,\n", + " require_zero_all_detectors=require_zero_all_detectors,\n", + " min_accepted_per_basis=min_accepted_per_basis,\n", + " )\n", + " except RuntimeError:\n", + " continue\n", + "\n", + " rows.append({\n", + " \"pattern\": pattern,\n", + " \"accepted_fraction\": s[\"accepted_fraction\"],\n", + " \"median\": s[\"median\"],\n", + " \"low\": s[\"low\"],\n", + " \"high\": s[\"high\"],\n", + " \"bloch\": s[\"bloch\"],\n", + " })\n", + "\n", + " rows.sort(key=lambda r: r[\"median\"], reverse=True)\n", + " return rows\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "0f6bde87", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Injected raw: {'point': 0.9747262588411698, 'median': 0.9704263596178496, 'low': 0.9704211495631299, 'high': 0.9704315696725695, 'bloch': (0.5665, 0.5355, 0.5425), 'accepted_fraction': 1.0, 'accepted_fraction_by_basis': {'X': 1.0, 'Y': 1.0, 'Z': 1.0}}\n", + "Injected perfect-stabilizer: {'point': 0.9972448260701532, 'median': 0.9875354022747292, 'low': 0.987097238990323, 'high': 0.9879735655591355, 'bloch': (0.5660676532769556, 0.5814323607427055, 0.5750065910888479), 'accepted_fraction': 0.9455833333333334, 'accepted_fraction_by_basis': {'X': 0.946, 'Y': 0.9425, 'Z': 0.94825}}\n" + ] + } + ], + "source": [ + "actual_data = {\n", + " basis: run_task(task, CONFIG[\"eval_shots\"], with_noise=True)\n", + " for basis, task in actual_tasks.items()\n", + "}\n", + "\n", + "inj_raw = naive_injected_summary(\n", + " injected_tasks,\n", + " posterior_samples=CONFIG[\"posterior_samples\"],\n", + " require_zero_detectors=False,\n", + ")\n", + "\n", + "inj_ps = naive_injected_summary(\n", + " injected_tasks,\n", + " posterior_samples=CONFIG[\"posterior_samples\"],\n", + " require_zero_detectors=True,\n", + ")\n", + "\n", + "print(\"Injected raw:\", inj_raw)\n", + "print(\"Injected perfect-stabilizer:\", inj_ps)\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "3b1e713b", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "{'pattern': (0, 0, 0, 0), 'accepted_fraction': 0.11766666666666667, 'median': 0.8908388158723001, 'low': 0.8730759876555113, 'high': 0.9217434921489279, 'bloch': (0.3922413793103448, 0.48360655737704916, 0.508695652173913)}\n", + "{'pattern': (0, 1, 0, 0), 'accepted_fraction': 0.06125, 'median': 0.7643026950256093, 'low': 0.7380422757550135, 'high': 0.8019697490144492, 'bloch': (0.3412698412698413, 0.256198347107438, 0.3278008298755187)}\n", + "{'pattern': (1, 0, 0, 0), 'accepted_fraction': 0.058416666666666665, 'median': 0.7636971644244785, 'low': 0.7320294534466029, 'high': 0.8050350460826139, 'bloch': (0.28, 0.36929460580912865, 0.3021276595744681)}\n", + "{'pattern': (1, 1, 0, 1), 'accepted_fraction': 0.057833333333333334, 'median': 0.7487829462211736, 'low': 0.7233833212476017, 'high': 0.7874681047922902, 'bloch': (0.30973451327433627, 0.2631578947368421, 0.30833333333333335)}\n", + "{'pattern': (0, 0, 0, 1), 'accepted_fraction': 0.06458333333333334, 'median': 0.7350523217303757, 'low': 0.7130043508442669, 'high': 0.765989341657292, 'bloch': (0.2713178294573643, 0.3208955223880597, 0.25301204819277107)}\n", + "{'pattern': (1, 0, 1, 1), 'accepted_fraction': 0.05516666666666667, 'median': 0.7205586051503434, 'low': 0.6874174295064975, 'high': 0.7485445315088144, 'bloch': (0.2641509433962264, 0.2914798206278027, 0.21585903083700442)}\n", + "{'pattern': (0, 1, 1, 0), 'accepted_fraction': 0.057166666666666664, 'median': 0.6723124662431477, 'low': 0.6437010552686995, 'high': 0.7064148476950689, 'bloch': (0.21052631578947367, 0.20512820512820512, 0.19642857142857142)}\n", + "{'pattern': (0, 0, 1, 0), 'accepted_fraction': 0.06566666666666666, 'median': 0.5436583037778485, 'low': 0.5176466146586834, 'high': 0.5758007136417355, 'bloch': (-0.13970588235294118, 0.4099616858237548, -0.12156862745098039)}\n", + "{'pattern': (1, 0, 0, 1), 'accepted_fraction': 0.05425, 'median': 0.5050340596953425, 'low': 0.476767978702283, 'high': 0.544456088015097, 'bloch': (-0.20930232558139536, -0.18552036199095023, 0.4232558139534884)}\n", + "{'pattern': (1, 1, 1, 1), 'accepted_fraction': 0.057666666666666665, 'median': 0.472841380011716, 'low': 0.43943847074186065, 'high': 0.5074782112472326, 'bloch': (0.32142857142857145, -0.2511415525114155, -0.17269076305220885)}\n" + ] + } + ], + "source": [ + "rows_no_decoder = scan_naive_patterns(\n", + " actual_data,\n", + " posterior_samples=CONFIG[\"posterior_samples\"],\n", + " require_zero_ancilla_detectors=False,\n", + " require_zero_all_detectors=False,\n", + " min_accepted_per_basis=50,\n", + ")\n", + "\n", + "for row in rows_no_decoder[:10]:\n", + " print(row)\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "58325011", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "{'pattern': (0, 0, 0, 1), 'accepted_fraction': 0.016083333333333335, 'median': 0.9588369266780795, 'low': 0.9201995851578567, 'high': 0.9793112239320428, 'bloch': (0.46153846153846156, 0.7096774193548387, 0.5949367088607594)}\n", + "{'pattern': (0, 0, 0, 0), 'accepted_fraction': 0.042916666666666665, 'median': 0.9553268512368959, 'low': 0.9217013798502305, 'high': 0.9811161020997131, 'bloch': (0.48148148148148145, 0.5647058823529412, 0.5519125683060109)}\n", + "{'pattern': (1, 1, 0, 1), 'accepted_fraction': 0.01475, 'median': 0.9064671563340316, 'low': 0.8548014080978614, 'high': 0.9579387949057443, 'bloch': (0.5692307692307692, 0.4117647058823529, 0.47540983606557374)}\n", + "{'pattern': (1, 0, 0, 0), 'accepted_fraction': 0.013083333333333334, 'median': 0.8937049110120252, 'low': 0.8326000853576615, 'high': 0.9505201531762592, 'bloch': (0.6, 0.46153846153846156, 0.36)}\n", + "{'pattern': (0, 1, 0, 1), 'accepted_fraction': 0.014833333333333334, 'median': 0.44208004293236164, 'low': 0.38618626114770066, 'high': 0.4977186634883681, 'bloch': (0.6206896551724138, -0.41818181818181815, -0.4153846153846154)}\n", + "{'pattern': (0, 0, 1, 0), 'accepted_fraction': 0.015833333333333335, 'median': 0.4000906111079397, 'low': 0.3471094630914494, 'high': 0.45517882472974114, 'bloch': (-0.3783783783783784, 0.5483870967741935, -0.5185185185185185)}\n", + "{'pattern': (1, 1, 1, 0), 'accepted_fraction': 0.014333333333333333, 'median': 0.39770260473233904, 'low': 0.3407393652683576, 'high': 0.45688352943609756, 'bloch': (-0.6226415094339622, -0.35384615384615387, 0.5925925925925926)}\n", + "{'pattern': (1, 1, 1, 1), 'accepted_fraction': 0.014583333333333334, 'median': 0.33681884934801515, 'low': 0.2845390213649609, 'high': 0.3771048505774043, 'bloch': (0.6296296296296297, -0.7142857142857143, -0.6)}\n", + "{'pattern': (1, 0, 1, 0), 'accepted_fraction': 0.015416666666666667, 'median': 0.3279689345585365, 'low': 0.27276729540504807, 'high': 0.3757580890351304, 'bloch': (-0.5522388059701493, -0.6721311475409836, 0.543859649122807)}\n", + "{'pattern': (0, 0, 1, 1), 'accepted_fraction': 0.014833333333333334, 'median': 0.2888160251914308, 'low': 0.24407598101276187, 'high': 0.34581411210292134, 'bloch': (-0.6666666666666666, 0.5087719298245614, -0.6363636363636364)}\n" + ] + } + ], + "source": [ + "rows_no_decoder_flagged = scan_naive_patterns(\n", + " actual_data,\n", + " posterior_samples=CONFIG[\"posterior_samples\"],\n", + " require_zero_ancilla_detectors=True,\n", + " require_zero_all_detectors=False,\n", + " min_accepted_per_basis=50,\n", + ")\n", + "\n", + "for row in rows_no_decoder_flagged[:10]:\n", + " print(row)\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "a37c42f8", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Best naive raw branch: {'pattern': (0, 0, 0, 0), 'accepted_fraction': 0.11766666666666667, 'median': 0.8908388158723001, 'low': 0.8730759876555113, 'high': 0.9217434921489279, 'bloch': (0.3922413793103448, 0.48360655737704916, 0.508695652173913)}\n", + "Best naive flagged branch: {'pattern': (0, 0, 0, 1), 'accepted_fraction': 0.016083333333333335, 'median': 0.9588369266780795, 'low': 0.9201995851578567, 'high': 0.9793112239320428, 'bloch': (0.46153846153846156, 0.7096774193548387, 0.5949367088607594)}\n", + "Injected raw median: 0.9704263596178496\n", + "Injected perfect-stabilizer median: 0.9875354022747292\n" + ] + } + ], + "source": [ + "best_raw = rows_no_decoder[0]\n", + "best_flagged = rows_no_decoder_flagged[0]\n", + "\n", + "print(\"Best naive raw branch:\", best_raw)\n", + "print(\"Best naive flagged branch:\", best_flagged)\n", + "print(\"Injected raw median:\", inj_raw[\"median\"])\n", + "print(\"Injected perfect-stabilizer median:\", inj_ps[\"median\"])\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "7ea372b6", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "166b1c63", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "88d44075", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "kirin-workspace (3.12.13)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.12.13" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/demo/msd_smoke.py b/demo/msd_smoke.py new file mode 100644 index 00000000..3cf04dbc --- /dev/null +++ b/demo/msd_smoke.py @@ -0,0 +1,54 @@ +import math + +import numpy as np +from demo.msd_utils.circuits import ( + build_naive_kernel_bundle, + build_task_map, + make_noisy_steane7_initializer, +) + +from bloqade.lanes import GeminiLogicalSimulator +from bloqade.lanes.steane_defaults import steane7_m2dets, steane7_m2obs + +THETA = 0.3041 * math.pi +PHI = 0.25 * math.pi +LAM = 0.0 +TARGET = np.array([0, 0, 0, 0], dtype=np.uint8) + +sim = GeminiLogicalSimulator() +kb = build_naive_kernel_bundle(THETA, PHI, LAM, output_qubit=0) + +custom_tasks = build_task_map( + sim, + kb.distilled, + m2dets=steane7_m2dets(5), + m2obs=steane7_m2obs(5), + noisy_initializer=make_noisy_steane7_initializer(sim), +) + +plain_tasks = { + basis: sim.task( + kb.distilled[basis], + m2dets=steane7_m2dets(5), + m2obs=steane7_m2obs(5), + ) + for basis in ["X", "Y", "Z"] +} + + +def summarize(tasks, name): + print(f"\nPATH {name}") + for basis in ["X", "Y", "Z"]: + res = tasks[basis].run(3000, with_noise=False, run_detectors=False) + obs = np.asarray(res.observables, dtype=np.uint8) + det = np.asarray(res.detectors, dtype=np.uint8) + + mask = np.all(obs[:, 1:] == TARGET, axis=1) & np.all(det == 0, axis=1) + bits = obs[mask, 0].astype(np.float64) + exp = np.mean(1.0 - 2.0 * bits) if len(bits) else float("nan") + + print(basis, "rate", mask.mean(), "exp", exp) + + +summarize(custom_tasks, "custom") +summarize(plain_tasks, "plain") diff --git a/demo/msd_utils/__init__.py b/demo/msd_utils/__init__.py new file mode 100644 index 00000000..92d9a8d0 --- /dev/null +++ b/demo/msd_utils/__init__.py @@ -0,0 +1,85 @@ +"""Utilities shared by the magic-state distillation demo notebooks.""" + +from .circuits import ( + DecoderKernelBundle, + NaiveKernelBundle, + build_decoder_kernel_bundle, + build_injected_decoder_kernel_map, + build_naive_kernel_bundle, + build_task, + build_task_map, + make_noisy_steane7_initializer, +) +from .core import ( + DEFAULT_BASIS_LABELS, + DEFAULT_IDEAL_FACTORY_ACCEPTANCE, + DEFAULT_TARGET_BLOCH, + BasisDataset, + bits_to_key, + fidelity_from_counts, + infer_distilled_sign_vector, + infer_factory_target, + key_to_bits, + logical_expectation, + magic_state_fidelity_point_from_counts, + naive_distilled_summary, + naive_injected_summary, + pack_boolean_array, + run_task, + split_factory_bits, +) +from .decoders import ( + DecoderAdapter, + build_mld_decoders, + build_mle_decoders, + build_shared_mld_postselection_scores, + compute_dem_data, + evaluate_curve, + evaluate_mld_curve, + injected_baseline, + make_shape_only_dem, + matrix_to_dem, +) +from .noise import ( + DistillationSimNoiseConfig, + build_distillation_sim_noise_model, +) + +__all__ = [ + "BasisDataset", + "DEFAULT_BASIS_LABELS", + "DEFAULT_IDEAL_FACTORY_ACCEPTANCE", + "DEFAULT_TARGET_BLOCH", + "DecoderAdapter", + "DecoderKernelBundle", + "DistillationSimNoiseConfig", + "NaiveKernelBundle", + "bits_to_key", + "build_decoder_kernel_bundle", + "build_injected_decoder_kernel_map", + "build_mld_decoders", + "build_mle_decoders", + "build_naive_kernel_bundle", + "build_distillation_sim_noise_model", + "build_shared_mld_postselection_scores", + "build_task", + "build_task_map", + "compute_dem_data", + "evaluate_curve", + "evaluate_mld_curve", + "fidelity_from_counts", + "infer_distilled_sign_vector", + "infer_factory_target", + "injected_baseline", + "key_to_bits", + "logical_expectation", + "magic_state_fidelity_point_from_counts", + "make_noisy_steane7_initializer", + "make_shape_only_dem", + "matrix_to_dem", + "naive_distilled_summary", + "naive_injected_summary", + "pack_boolean_array", + "run_task", + "split_factory_bits", +] diff --git a/demo/msd_utils/circuits.py b/demo/msd_utils/circuits.py new file mode 100644 index 00000000..4a013427 --- /dev/null +++ b/demo/msd_utils/circuits.py @@ -0,0 +1,435 @@ +from __future__ import annotations + +from dataclasses import dataclass +from typing import Any, Mapping + +from kirin.dialects import ilist + +from bloqade import qubit, squin +from bloqade.gemini import logical as gemini_logical +from bloqade.gemini.device import GeminiLogicalSimulatorTask +from bloqade.gemini.logical.stdlib import default_post_processing +from bloqade.lanes import GeminiLogicalSimulator +from bloqade.lanes.analysis import atom +from bloqade.lanes.arch.gemini.impls import generate_arch_hypercube +from bloqade.lanes.logical_mvp import ( + append_measurements_and_annotations, + compile_squin_to_move, +) +from bloqade.lanes.transform import MoveToSquin + + +@dataclass(frozen=True) +class NaiveKernelBundle: + distilled: dict[str, Any] + injected: dict[str, Any] + + +@dataclass(frozen=True) +class DecoderKernelBundle: + actual: dict[str, Any] + special: dict[str, Any] + injected: dict[str, Any] + + +def _build_primitives(theta: float, phi: float, lam: float, *, output_qubit: int): + @squin.kernel + def msd_magic_prep(reg): + squin.broadcast.u3(theta, phi, lam, reg) + + @squin.kernel + def msd_forward(reg): + squin.broadcast.sqrt_x(ilist.IList([reg[0], reg[1], reg[4]])) + squin.broadcast.cz(ilist.IList([reg[0], reg[2]]), ilist.IList([reg[1], reg[3]])) + squin.broadcast.sqrt_y(ilist.IList([reg[0], reg[3]])) + squin.broadcast.cz(ilist.IList([reg[0], reg[3]]), ilist.IList([reg[2], reg[4]])) + squin.sqrt_x_adj(reg[0]) + squin.broadcast.cz(ilist.IList([reg[0], reg[1]]), ilist.IList([reg[4], reg[3]])) + squin.broadcast.sqrt_x_adj(reg) + + @squin.kernel + def msd_inverse(reg): + squin.broadcast.sqrt_x(reg) + squin.broadcast.cz(ilist.IList([reg[0], reg[1]]), ilist.IList([reg[4], reg[3]])) + squin.sqrt_x(reg[0]) + squin.broadcast.cz(ilist.IList([reg[0], reg[3]]), ilist.IList([reg[2], reg[4]])) + squin.broadcast.sqrt_y_adj(ilist.IList([reg[0], reg[3]])) + squin.broadcast.cz(ilist.IList([reg[0], reg[2]]), ilist.IList([reg[1], reg[3]])) + squin.broadcast.sqrt_x_adj(ilist.IList([reg[0], reg[1], reg[4]])) + + @squin.kernel + def tomography_x(reg): + squin.h(reg[output_qubit]) + + @squin.kernel + def tomography_y(reg): + squin.sqrt_z_adj(reg[output_qubit]) + squin.h(reg[output_qubit]) + + @squin.kernel + def tomography_z(reg): + return + + @squin.kernel + def tomography_x_inv(reg): + squin.h(reg[output_qubit]) + + @squin.kernel + def tomography_y_inv(reg): + squin.h(reg[output_qubit]) + squin.sqrt_z(reg[output_qubit]) + + @squin.kernel + def tomography_z_inv(reg): + return + + return { + "msd_magic_prep": msd_magic_prep, + "msd_forward": msd_forward, + "msd_inverse": msd_inverse, + "tomography_x": tomography_x, + "tomography_y": tomography_y, + "tomography_z": tomography_z, + "tomography_x_inv": tomography_x_inv, + "tomography_y_inv": tomography_y_inv, + "tomography_z_inv": tomography_z_inv, + } + + +def build_naive_kernel_bundle( + theta: float, + phi: float, + lam: float, + *, + output_qubit: int = 0, +) -> NaiveKernelBundle: + primitives = _build_primitives(theta, phi, lam, output_qubit=output_qubit) + msd_magic_prep = primitives["msd_magic_prep"] + msd_forward = primitives["msd_forward"] + tomography_x = primitives["tomography_x"] + tomography_y = primitives["tomography_y"] + tomography_z = primitives["tomography_z"] + + @gemini_logical.kernel(aggressive_unroll=True) + def distilled_x(): + reg = qubit.qalloc(5) + msd_magic_prep(reg) + msd_forward(reg) + tomography_x(reg) + return + + @gemini_logical.kernel(aggressive_unroll=True) + def distilled_y(): + reg = qubit.qalloc(5) + msd_magic_prep(reg) + msd_forward(reg) + tomography_y(reg) + return + + @gemini_logical.kernel(aggressive_unroll=True) + def distilled_z(): + reg = qubit.qalloc(5) + msd_magic_prep(reg) + msd_forward(reg) + tomography_z(reg) + return + + @gemini_logical.kernel(aggressive_unroll=True) + def injected_x(): + reg = qubit.qalloc(1) + squin.u3(theta, phi, lam, reg[0]) + tomography_x(reg) + return + + @gemini_logical.kernel(aggressive_unroll=True) + def injected_y(): + reg = qubit.qalloc(1) + squin.u3(theta, phi, lam, reg[0]) + tomography_y(reg) + return + + @gemini_logical.kernel(aggressive_unroll=True) + def injected_z(): + reg = qubit.qalloc(1) + squin.u3(theta, phi, lam, reg[0]) + tomography_z(reg) + return + + return NaiveKernelBundle( + distilled={"X": distilled_x, "Y": distilled_y, "Z": distilled_z}, + injected={"X": injected_x, "Y": injected_y, "Z": injected_z}, + ) + + +def build_decoder_kernel_bundle( + theta: float, + phi: float, + lam: float, + *, + output_qubit: int = 0, +) -> DecoderKernelBundle: + primitives = _build_primitives(theta, phi, lam, output_qubit=output_qubit) + msd_magic_prep = primitives["msd_magic_prep"] + msd_forward = primitives["msd_forward"] + msd_inverse = primitives["msd_inverse"] + tomography_x = primitives["tomography_x"] + tomography_y = primitives["tomography_y"] + tomography_z = primitives["tomography_z"] + tomography_x_inv = primitives["tomography_x_inv"] + tomography_y_inv = primitives["tomography_y_inv"] + tomography_z_inv = primitives["tomography_z_inv"] + + @squin.kernel + def prepare_special_x(reg): + tomography_x_inv(reg) + msd_inverse(reg) + + @squin.kernel + def prepare_special_y(reg): + tomography_y_inv(reg) + msd_inverse(reg) + + @squin.kernel + def prepare_special_z(reg): + tomography_z_inv(reg) + msd_inverse(reg) + + @gemini_logical.kernel(aggressive_unroll=True) + def msd_actual_x(): + reg = qubit.qalloc(5) + msd_magic_prep(reg) + msd_forward(reg) + tomography_x(reg) + return default_post_processing(reg) + + @gemini_logical.kernel(aggressive_unroll=True) + def msd_actual_y(): + reg = qubit.qalloc(5) + msd_magic_prep(reg) + msd_forward(reg) + tomography_y(reg) + return default_post_processing(reg) + + @gemini_logical.kernel(aggressive_unroll=True) + def msd_actual_z(): + reg = qubit.qalloc(5) + msd_magic_prep(reg) + msd_forward(reg) + tomography_z(reg) + return default_post_processing(reg) + + @gemini_logical.kernel(aggressive_unroll=True) + def msd_special_x(): + reg = qubit.qalloc(5) + prepare_special_x(reg) + msd_forward(reg) + tomography_x(reg) + return default_post_processing(reg) + + @gemini_logical.kernel(aggressive_unroll=True) + def msd_special_y(): + reg = qubit.qalloc(5) + prepare_special_y(reg) + msd_forward(reg) + tomography_y(reg) + return default_post_processing(reg) + + @gemini_logical.kernel(aggressive_unroll=True) + def msd_special_z(): + reg = qubit.qalloc(5) + prepare_special_z(reg) + msd_forward(reg) + tomography_z(reg) + return default_post_processing(reg) + + @gemini_logical.kernel(aggressive_unroll=True) + def injected_x(): + reg = qubit.qalloc(1) + squin.u3(theta, phi, lam, reg[0]) + tomography_x(reg) + return default_post_processing(reg) + + @gemini_logical.kernel(aggressive_unroll=True) + def injected_y(): + reg = qubit.qalloc(1) + squin.u3(theta, phi, lam, reg[0]) + tomography_y(reg) + return default_post_processing(reg) + + @gemini_logical.kernel(aggressive_unroll=True) + def injected_z(): + reg = qubit.qalloc(1) + squin.u3(theta, phi, lam, reg[0]) + tomography_z(reg) + return default_post_processing(reg) + + return DecoderKernelBundle( + actual={"X": msd_actual_x, "Y": msd_actual_y, "Z": msd_actual_z}, + special={"X": msd_special_x, "Y": msd_special_y, "Z": msd_special_z}, + injected={"X": injected_x, "Y": injected_y, "Z": injected_z}, + ) + + +def build_injected_decoder_kernel_map() -> dict[str, Any]: + h_theta = 0.5 * 3.141592653589793 + h_phi = 0.0 + hs_theta = 0.5 * 3.141592653589793 + hs_phi = -0.5 * 3.141592653589793 + lam = 0.0 + + @gemini_logical.kernel(aggressive_unroll=True) + def injected_decoder_x(): + reg = qubit.qalloc(1) + squin.u3(h_theta, h_phi, lam, reg[0]) + squin.h(reg[0]) + return default_post_processing(reg) + + @gemini_logical.kernel(aggressive_unroll=True) + def injected_decoder_y(): + reg = qubit.qalloc(1) + squin.u3(hs_theta, hs_phi, lam, reg[0]) + squin.sqrt_z_adj(reg[0]) + squin.h(reg[0]) + return default_post_processing(reg) + + @gemini_logical.kernel(aggressive_unroll=True) + def injected_decoder_z(): + reg = qubit.qalloc(1) + squin.u3(0.0, 0.0, 0.0, reg[0]) + return default_post_processing(reg) + + return { + "X": injected_decoder_x, + "Y": injected_decoder_y, + "Z": injected_decoder_z, + } + + +def make_noisy_steane7_initializer(simulator: GeminiLogicalSimulator): + local_r_noise = simulator.noise_model.local_r_noise + local_rz_noise = simulator.noise_model.local_rz_noise + cz_paired_noise = simulator.noise_model.cz_paired_noise + cz_unpaired_noise = simulator.noise_model.cz_unpaired_noise + + x_axis = 0.0 + y_axis = 0.25 + half_turn = 0.5 + quarter_turn = 0.25 + + @squin.kernel + def noisy_steane7_initialize(theta, phi, lam, qubits): + evens = qubits[::2] + odds = qubits[1::2] + + squin.u3(theta, phi, lam, qubits[6]) + local_r_noise(ilist.IList([qubits[6]]), x_axis, half_turn) + + first6 = qubits[:6] + squin.broadcast.sqrt_y_adj(first6) + local_r_noise(first6, y_axis, quarter_turn) + + targets1 = evens[1:] + squin.broadcast.cz(odds, targets1) + cz_paired_noise(odds, targets1) + cz_unpaired_noise(ilist.IList([qubits[0]])) + + squin.sqrt_y(qubits[6]) + local_r_noise(ilist.IList([qubits[6]]), y_axis, quarter_turn) + + controls2 = evens[:-1] + targets2 = ilist.IList([qubits[3], qubits[5], qubits[6]]) + squin.broadcast.cz(controls2, targets2) + cz_paired_noise(controls2, targets2) + cz_unpaired_noise(ilist.IList([qubits[1]])) + + tail = qubits[2:] + squin.broadcast.sqrt_y(tail) + local_r_noise(tail, y_axis, quarter_turn) + + controls3 = evens[:-1] + targets3 = odds + squin.broadcast.cz(controls3, targets3) + cz_paired_noise(controls3, targets3) + cz_unpaired_noise(ilist.IList([qubits[6]])) + + subset = ilist.IList([qubits[1], qubits[2], qubits[4]]) + squin.broadcast.sqrt_y(subset) + local_r_noise(subset, y_axis, quarter_turn) + + squin.x(qubits[3]) + local_r_noise(ilist.IList([qubits[3]]), x_axis, half_turn) + + z_subset = ilist.IList([qubits[1], qubits[5]]) + squin.broadcast.z(z_subset) + local_rz_noise(z_subset, half_turn) + + return noisy_steane7_initialize + + +def build_task( + simulator: GeminiLogicalSimulator, + kernel: Any, + *, + m2dets: Any, + m2obs: Any, + noisy_initializer: Any | None = None, + append_measurements: bool = True, + physical_hypercube_dims: int = 4, + transversal_rewrite: bool = True, +) -> GeminiLogicalSimulatorTask: + logical_kernel = kernel.similar() + if append_measurements: + append_measurements_and_annotations(logical_kernel, m2dets, m2obs) + + physical_arch_spec = generate_arch_hypercube(physical_hypercube_dims) + physical_move_kernel = compile_squin_to_move( + logical_kernel, + transversal_rewrite=transversal_rewrite, + ) + post_processing = atom.AtomInterpreter( + physical_move_kernel.dialects, + arch_spec=physical_arch_spec, + ).get_post_processing(physical_move_kernel) + + task = GeminiLogicalSimulatorTask( + logical_kernel, + simulator.noise_model, + physical_arch_spec, + physical_move_kernel, + post_processing, + ) + + if noisy_initializer is not None: + task.__dict__["physical_squin_kernel"] = MoveToSquin( + physical_arch_spec, + logical_initialization=noisy_initializer, + noise_model=simulator.noise_model, + ).emit(physical_move_kernel) + + return task + + +def build_task_map( + simulator: GeminiLogicalSimulator, + kernel_map: Mapping[str, Any], + *, + m2dets: Any, + m2obs: Any, + noisy_initializer: Any | None = None, + append_measurements: bool = True, + physical_hypercube_dims: int = 4, + transversal_rewrite: bool = True, +) -> dict[str, GeminiLogicalSimulatorTask]: + return { + basis: build_task( + simulator, + kernel, + m2dets=m2dets, + m2obs=m2obs, + noisy_initializer=noisy_initializer, + append_measurements=append_measurements, + physical_hypercube_dims=physical_hypercube_dims, + transversal_rewrite=transversal_rewrite, + ) + for basis, kernel in kernel_map.items() + } diff --git a/demo/msd_utils/core.py b/demo/msd_utils/core.py new file mode 100644 index 00000000..1e83bc1b --- /dev/null +++ b/demo/msd_utils/core.py @@ -0,0 +1,461 @@ +from __future__ import annotations + +from collections import Counter +from dataclasses import dataclass +from functools import lru_cache +from typing import Any, Mapping, Sequence + +import numpy as np +from scipy.special import logsumexp + +DEFAULT_BASIS_LABELS = ("X", "Y", "Z") +DEFAULT_IDEAL_FACTORY_ACCEPTANCE = 1.0 / 6.0 +DEFAULT_TARGET_BLOCH = np.ones(3, dtype=np.float64) / np.sqrt(3.0) + + +@dataclass(frozen=True) +class BasisDataset: + detectors: np.ndarray + observables: np.ndarray + + +def bits_to_key(bits: np.ndarray | Sequence[bool] | Sequence[int]) -> str: + return "".join("1" if int(x) else "0" for x in bits) + + +def key_to_bits(key: str) -> np.ndarray: + return np.fromiter((1 if c == "1" else 0 for c in key), dtype=np.uint8) + + +def pack_boolean_array(arr: np.ndarray) -> np.ndarray: + arr = np.asarray(arr, dtype=np.uint64) + if arr.ndim == 1: + arr = arr.reshape(1, -1) + return np.sum(arr << np.arange(arr.shape[1], dtype=np.uint64), axis=1) + + +def logical_expectation(bits: np.ndarray) -> float: + if len(bits) == 0: + return float("nan") + return float(np.mean(1.0 - 2.0 * np.asarray(bits, dtype=np.float64))) + + +def weighted_quantile( + values: np.ndarray, + quantiles: Sequence[float], + weights: np.ndarray, +) -> np.ndarray: + order = np.argsort(values) + values = values[order] + weights = weights[order] + cdf = np.cumsum(weights) + cdf /= cdf[-1] + return np.interp(np.asarray(quantiles, dtype=np.float64), cdf, values) + + +def _bures_measure(points: np.ndarray) -> np.ndarray: + radii_sq = np.sum(points * points, axis=1) + weights = np.zeros(len(points), dtype=np.float64) + mask = radii_sq < 1.0 + weights[mask] = 1.0 / (np.pi**2 * np.sqrt(np.maximum(1.0 - radii_sq[mask], 1e-12))) + return weights + + +def _grid_axis_points(posterior_samples: int) -> int: + # Use a much finer 1D grid than the previous cube-root heuristic, closer in + # spirit to the paper's binary-precision Bloch grid. We keep the total work + # manageable later by adaptively cropping around the measured expectations. + binary_precision = max( + 4, + int(round(np.log2(float(max(posterior_samples, 1))) / 2.0)), + ) + return min(513, 2**binary_precision + 1) + + +@lru_cache(maxsize=None) +def _grid_axis_values(axis_points: int) -> np.ndarray: + # Use cell centers instead of endpoints so the Bures prior stays finite. + edges = np.linspace(-1.0, 1.0, axis_points + 1, dtype=np.float64) + return (edges[:-1] + edges[1:]) / 2.0 + + +def _axis_window( + values: np.ndarray, n_i: int, k_i: int, *, min_points: int = 33 +) -> np.ndarray: + if n_i <= 0 or len(values) <= min_points: + return values + + p = float(np.clip(k_i / n_i, 1e-6, 1.0 - 1e-6)) + mean = 2.0 * p - 1.0 + sigma = 2.0 * np.sqrt(max(p * (1.0 - p), 1.0 / max(4 * n_i, 1)) / n_i) + half_width = max(0.08, 8.0 * sigma) + low = max(-1.0, mean - half_width) + high = min(1.0, mean + half_width) + + mask = (values >= low) & (values <= high) + if int(mask.sum()) >= min_points: + return values[mask] + + center = int(np.argmin(np.abs(values - mean))) + radius = min_points // 2 + start = max(0, center - radius) + stop = min(len(values), center + radius + 1) + if stop - start < min_points: + if start == 0: + stop = min(len(values), min_points) + else: + start = max(0, len(values) - min_points) + return values[start:stop] + + +def _downsample_axis(values: np.ndarray, keep: int) -> np.ndarray: + if len(values) <= keep: + return values + indices = np.linspace(0, len(values) - 1, num=keep, dtype=int) + return values[np.unique(indices)] + + +def _adaptive_bloch_ball_grid( + axis_points: int, n: np.ndarray, k: np.ndarray +) -> np.ndarray: + axis_values = _grid_axis_values(axis_points) + subsets = [ + _axis_window(axis_values, int(n_i), int(k_i)) + for n_i, k_i in zip(n, k, strict=True) + ] + + max_grid_points = 1_500_000 + total_points = len(subsets[0]) * len(subsets[1]) * len(subsets[2]) + if total_points > max_grid_points: + scale = (total_points / max_grid_points) ** (1.0 / 3.0) + subsets = [ + _downsample_axis(values, max(33, int(round(len(values) / scale)))) + for values in subsets + ] + + x, y, z = np.meshgrid(*subsets, indexing="ij") + points = np.stack([x.ravel(), y.ravel(), z.ravel()], axis=1) + points = points[np.sum(points * points, axis=1) <= 1.0] + if len(points): + return points + + # Rare edge case: with very few accepted shots, the empirical expectations + # can sit near +/-1 on all three axes. A tight crop around that corner of + # the cube can miss the physical Bloch ball entirely and spuriously drive + # the posterior fallback to fidelity 0.5. When that happens, fall back to a + # broad but still downsampled full-axis grid. + broad_axis = _downsample_axis(axis_values, min(len(axis_values), 113)) + x, y, z = np.meshgrid(broad_axis, broad_axis, broad_axis, indexing="ij") + broad_points = np.stack([x.ravel(), y.ravel(), z.ravel()], axis=1) + return broad_points[np.sum(broad_points * broad_points, axis=1) <= 1.0] + + +def _histogram_quantiles( + edges: np.ndarray, + probabilities: np.ndarray, + quantiles: Sequence[float], +) -> np.ndarray: + cdf = np.cumsum(probabilities) + values = [] + for quantile in quantiles: + idx = int(np.searchsorted(cdf, quantile, side="left")) + idx = min(max(idx, 0), len(probabilities) - 1) + low = cdf[idx - 1] if idx > 0 else 0.0 + high = cdf[idx] + frac = 0.0 if high <= low else (quantile - low) / (high - low) + values.append(edges[idx] + (edges[idx + 1] - edges[idx]) * frac) + return np.asarray(values, dtype=np.float64) + + +def _posterior_fidelity_quantiles( + n: np.ndarray, + k: np.ndarray, + *, + sign: np.ndarray, + target_bloch: np.ndarray, + posterior_samples: int, +) -> np.ndarray: + axis_points = _grid_axis_points(posterior_samples) + points = _adaptive_bloch_ball_grid(axis_points, n, k) + + probs = np.clip((1.0 + points) / 2.0, 1e-12, 1.0 - 1e-12) + log_likelihood = (k * np.log(probs) + (n - k) * np.log1p(-probs)).sum(axis=1) + + prior = _bures_measure(points) + log_prior = np.full(len(points), -np.inf, dtype=np.float64) + positive_prior = prior > 0.0 + log_prior[positive_prior] = np.log(prior[positive_prior]) + + log_weights = log_likelihood + log_prior + finite = np.isfinite(log_weights) + if not np.any(finite): + point = 0.5 + return np.array([point, point, point], dtype=np.float64) + + weights = np.exp(log_weights[finite] - logsumexp(log_weights[finite])) + corrected_points = points[finite] * sign + fidelities = np.clip( + 0.5 + np.sum(corrected_points * target_bloch.reshape(1, 3), axis=1) / 2.0, + 0.0, + 1.0, + ) + if weights.sum() <= 0.0: + point = 0.5 + return np.array([point, point, point], dtype=np.float64) + return weighted_quantile(fidelities, [0.16, 0.5, 0.84], weights) + + +def fidelity_from_counts( + x_bits: np.ndarray, + y_bits: np.ndarray, + z_bits: np.ndarray, + posterior_samples: int, + *, + sign_vector: Sequence[float] = (1.0, 1.0, 1.0), + target_bloch: np.ndarray = DEFAULT_TARGET_BLOCH, +) -> dict[str, Any]: + ex = logical_expectation(x_bits) + ey = logical_expectation(y_bits) + ez = logical_expectation(z_bits) + + sign = np.asarray(sign_vector, dtype=np.float64) + bloch = np.array([ex, ey, ez], dtype=np.float64) * sign + point = 0.5 + float(np.dot(bloch, target_bloch)) / 2.0 + + n = np.array([len(x_bits), len(y_bits), len(z_bits)], dtype=np.int64) + k = np.array( + [ + int(np.sum(np.asarray(x_bits) == 0)), + int(np.sum(np.asarray(y_bits) == 0)), + int(np.sum(np.asarray(z_bits) == 0)), + ], + dtype=np.int64, + ) + + q16, q50, q84 = _posterior_fidelity_quantiles( + n, + k, + sign=sign, + target_bloch=np.asarray(target_bloch, dtype=np.float64), + posterior_samples=posterior_samples, + ) + return { + "point": float(point), + "median": float(q50), + "low": float(q16), + "high": float(q84), + "bloch": tuple(float(x) for x in bloch), + } + + +def magic_state_fidelity_point_from_counts( + x_bits: np.ndarray, + y_bits: np.ndarray, + z_bits: np.ndarray, + *, + sign_vector: Sequence[float] = (1.0, -1.0, 1.0), + target_bloch: np.ndarray = DEFAULT_TARGET_BLOCH, +) -> float: + return float( + fidelity_from_counts( + x_bits, + y_bits, + z_bits, + posterior_samples=4096, + sign_vector=sign_vector, + target_bloch=target_bloch, + )["point"] + ) + + +def run_task( + task: Any, + shots: int, + *, + with_noise: bool = True, + chunk_size: int | None = 1_000_000, +) -> BasisDataset: + if chunk_size is None or shots <= chunk_size: + result = task.run(shots, with_noise=with_noise, run_detectors=True) + return BasisDataset( + detectors=np.asarray(result.detectors, dtype=np.uint8), + observables=np.asarray(result.observables, dtype=np.uint8), + ) + + det_chunks = [] + obs_chunks = [] + remaining = shots + while remaining > 0: + batch = min(chunk_size, remaining) + result = task.run(batch, with_noise=with_noise, run_detectors=True) + det_chunks.append(np.asarray(result.detectors, dtype=np.uint8)) + obs_chunks.append(np.asarray(result.observables, dtype=np.uint8)) + remaining -= batch + + return BasisDataset( + detectors=np.concatenate(det_chunks, axis=0), + observables=np.concatenate(obs_chunks, axis=0), + ) + + +def split_factory_bits( + detectors: np.ndarray, + observables: np.ndarray, + *, + detector_prefix: int = 3, + observable_prefix: int = 1, +) -> tuple[np.ndarray, np.ndarray]: + return detectors[:, detector_prefix:], observables[:, observable_prefix:] + + +def infer_factory_target( + task_map: Mapping[str, Any], + *, + shots: int = 12_000, + basis_labels: Sequence[str] = DEFAULT_BASIS_LABELS, + ideal_factory_acceptance: float = DEFAULT_IDEAL_FACTORY_ACCEPTANCE, +) -> np.ndarray: + counts: Counter[tuple[int, ...]] = Counter() + for basis in basis_labels: + data = run_task(task_map[basis], shots, with_noise=False) + for row in data.observables[:, 1:]: + counts[tuple(map(int, row))] += 1 + + total = sum(counts.values()) + ranked = sorted( + counts.items(), + key=lambda item: (abs(item[1] / total - ideal_factory_acceptance), -item[1]), + ) + print("Top noiseless ancilla branches:") + for pattern, count in ranked[:8]: + print(pattern, count / total) + return np.asarray(ranked[0][0], dtype=np.uint8) + + +def infer_distilled_sign_vector( + task_map: Mapping[str, Any], + factory_target: np.ndarray, + *, + shots: int = 12_000, + basis_labels: Sequence[str] = DEFAULT_BASIS_LABELS, + target_bloch: np.ndarray = DEFAULT_TARGET_BLOCH, +) -> np.ndarray: + corrected: dict[str, np.ndarray] = {} + for basis in basis_labels: + data = run_task(task_map[basis], shots, with_noise=False) + mask = np.all(data.observables[:, 1:] == factory_target, axis=1) + corrected[basis] = data.observables[mask, 0].astype(np.uint8) + + raw_bloch = np.array( + [ + logical_expectation(corrected["X"]), + logical_expectation(corrected["Y"]), + logical_expectation(corrected["Z"]), + ] + ) + + sign_candidates = [ + np.array([sx, sy, sz], dtype=np.float64) + for sx in (-1.0, 1.0) + for sy in (-1.0, 1.0) + for sz in (-1.0, 1.0) + ] + scored = sorted( + ( + (float(np.dot(raw_bloch * sign, target_bloch)), sign) + for sign in sign_candidates + ), + key=lambda item: item[0], + reverse=True, + ) + + print("Noiseless accepted-branch Bloch:", raw_bloch) + print("Chosen distilled sign vector:", scored[0][1], "score:", scored[0][0]) + return scored[0][1] + + +def naive_injected_summary( + task_map: Mapping[str, Any], + *, + sign_vector: Sequence[float], + posterior_samples: int, + shots: int, + require_zero_detectors: bool = False, + min_accepted_per_basis: int = 50, + basis_labels: Sequence[str] = DEFAULT_BASIS_LABELS, + target_bloch: np.ndarray = DEFAULT_TARGET_BLOCH, +) -> dict[str, Any]: + corrected: dict[str, np.ndarray] = {} + accepted_fraction_by_basis: dict[str, float] = {} + + for basis in basis_labels: + data = run_task(task_map[basis], shots, with_noise=True) + mask = np.ones(len(data.observables), dtype=bool) + if require_zero_detectors: + mask &= np.all(data.detectors == 0, axis=1) + + corrected[basis] = data.observables[mask, 0].astype(np.uint8) + accepted_fraction_by_basis[basis] = float(np.mean(mask)) + + if min(len(corrected[basis]) for basis in basis_labels) < min_accepted_per_basis: + raise RuntimeError("Too few accepted injected shots.") + + summary = fidelity_from_counts( + corrected["X"], + corrected["Y"], + corrected["Z"], + posterior_samples, + sign_vector=sign_vector, + target_bloch=target_bloch, + ) + summary["accepted_fraction"] = float( + np.mean(list(accepted_fraction_by_basis.values())) + ) + summary["accepted_fraction_by_basis"] = accepted_fraction_by_basis + return summary + + +def naive_distilled_summary( + task_map: Mapping[str, Any], + factory_target: np.ndarray, + *, + sign_vector: Sequence[float], + posterior_samples: int, + shots: int, + require_zero_ancilla_detectors: bool = False, + min_accepted_per_basis: int = 50, + basis_labels: Sequence[str] = DEFAULT_BASIS_LABELS, + target_bloch: np.ndarray = DEFAULT_TARGET_BLOCH, +) -> dict[str, Any]: + corrected: dict[str, np.ndarray] = {} + accepted_fraction_by_basis: dict[str, float] = {} + total_kept = 0 + total_shots = 0 + + for basis in basis_labels: + data = run_task(task_map[basis], shots, with_noise=True) + anc_det, anc_obs = split_factory_bits(data.detectors, data.observables) + mask = np.all(anc_obs == factory_target, axis=1) + if require_zero_ancilla_detectors: + mask &= np.all(anc_det == 0, axis=1) + + corrected[basis] = data.observables[mask, 0].astype(np.uint8) + accepted_fraction_by_basis[basis] = float(np.mean(mask)) + total_kept += int(np.sum(mask)) + total_shots += len(mask) + + if min(len(corrected[basis]) for basis in basis_labels) < min_accepted_per_basis: + raise RuntimeError("Too few accepted distilled shots.") + + summary = fidelity_from_counts( + corrected["X"], + corrected["Y"], + corrected["Z"], + posterior_samples, + sign_vector=sign_vector, + target_bloch=target_bloch, + ) + summary["accepted_fraction"] = total_kept / total_shots + summary["accepted_fraction_by_basis"] = accepted_fraction_by_basis + summary["factory_target"] = tuple(int(x) for x in factory_target.tolist()) + return summary diff --git a/demo/msd_utils/decoders.py b/demo/msd_utils/decoders.py new file mode 100644 index 00000000..bdf18344 --- /dev/null +++ b/demo/msd_utils/decoders.py @@ -0,0 +1,561 @@ +from __future__ import annotations + +import inspect +from collections import defaultdict +from dataclasses import dataclass +from functools import lru_cache +from typing import Any, Callable, Mapping, Sequence + +import numpy as np +import stim +from beliefmatching import detector_error_model_to_check_matrices + +from .core import ( + DEFAULT_BASIS_LABELS, + DEFAULT_TARGET_BLOCH, + BasisDataset, + bits_to_key, + fidelity_from_counts, + key_to_bits, + magic_state_fidelity_point_from_counts, + pack_boolean_array, + run_task, + split_factory_bits, +) + + +@dataclass(frozen=True) +class DecoderAdapter: + full_decoder: Any + factory_decoder: Any + decode_factory: Callable[[str], tuple[tuple[int, ...], float]] + decode_full: Callable[[str], tuple[int, ...]] + factory_score_mode: str + + +def make_shape_only_dem( + num_detectors: int, num_observables: int +) -> stim.DetectorErrorModel: + terms = [] + if num_detectors: + terms.append(" ".join(f"D{i}" for i in range(num_detectors))) + if num_observables: + terms.append(" ".join(f"L{i}" for i in range(num_observables))) + if not terms: + raise ValueError("Need at least one detector or observable.") + return stim.DetectorErrorModel("\n".join(f"error(0.5) {term}" for term in terms)) + + +def matrix_to_dem( + check_matrix: np.ndarray, + observables_matrix: np.ndarray, + priors: np.ndarray, +) -> stim.DetectorErrorModel: + lines = [] + for col, prior in enumerate(np.asarray(priors, dtype=np.float64)): + det_targets = [f"D{i}" for i in np.flatnonzero(check_matrix[:, col])] + obs_targets = [f"L{i}" for i in np.flatnonzero(observables_matrix[:, col])] + if not det_targets and not obs_targets: + continue + safe_prior = float(np.clip(prior, 1e-12, 1.0 - 1e-12)) + lines.append(f"error({safe_prior:.16g}) " + " ".join(det_targets + obs_targets)) + if not lines: + raise ValueError("Matrix reduction produced an empty DEM.") + return stim.DetectorErrorModel("\n".join(lines)) + + +def compute_dem_data(task: Any) -> dict[str, np.ndarray]: + dem_matrix = detector_error_model_to_check_matrices( + task.detector_error_model, + allow_undecomposed_hyperedges=True, + ) + return { + "H": dem_matrix.check_matrix.toarray().astype(np.int64), + "O": dem_matrix.observables_matrix.toarray().astype(np.int64), + "priors": np.asarray(dem_matrix.priors, dtype=np.float64), + } + + +def build_shared_mld_postselection_scores( + training_data_by_basis: Mapping[str, BasisDataset], + *, + table_decoder_cls: type, + factory_target: np.ndarray, + basis_labels: Sequence[str] = DEFAULT_BASIS_LABELS, + sign_vector: Sequence[float] = (1.0, -1.0, 1.0), + target_bloch: np.ndarray = DEFAULT_TARGET_BLOCH, +) -> np.ndarray: + if set(training_data_by_basis) != set(basis_labels): + raise ValueError( + "Need X/Y/Z training datasets to build shared MLD postselection scores." + ) + + corrected_by_pattern = {basis: defaultdict(list) for basis in basis_labels} + ancilla_detectors: int | None = None + + for basis in basis_labels: + training_dataset = training_data_by_basis[basis] + anc_det, anc_obs = split_factory_bits( + training_dataset.detectors, training_dataset.observables + ) + if ancilla_detectors is None: + ancilla_detectors = anc_det.shape[1] + elif ancilla_detectors != anc_det.shape[1]: + raise ValueError( + "Inconsistent ancilla detector counts across MLD training datasets." + ) + + full_decoder = table_decoder_cls.from_det_obs_shots( + make_shape_only_dem( + training_dataset.detectors.shape[1], + training_dataset.observables.shape[1], + ), + np.concatenate( + [training_dataset.detectors, training_dataset.observables], axis=1 + ).astype(bool), + ) + factory_decoder = table_decoder_cls.from_det_obs_shots( + make_shape_only_dem(anc_det.shape[1], anc_obs.shape[1]), + np.concatenate([anc_det, anc_obs], axis=1).astype(bool), + ) + + for det, obs, a_det, a_obs in zip( + training_dataset.detectors, + training_dataset.observables, + anc_det, + anc_obs, + strict=True, + ): + anc_flip = np.asarray( + factory_decoder.decode(a_det.astype(bool)), dtype=np.uint8 + ) + corrected_anc = a_obs ^ anc_flip + if not np.array_equal(corrected_anc, factory_target): + continue + full_flip = np.asarray( + full_decoder.decode(det.astype(bool)), dtype=np.uint8 + ) + packed = int(pack_boolean_array(a_det)[0]) + corrected_by_pattern[basis][packed].append(int(obs[0] ^ full_flip[0])) + + assert ancilla_detectors is not None + scores = np.full(1 << ancilla_detectors, np.nan, dtype=np.float64) + all_patterns = set() + for basis in basis_labels: + all_patterns.update(corrected_by_pattern[basis].keys()) + + for packed in all_patterns: + basis_counts = { + basis: np.asarray( + corrected_by_pattern[basis].get(packed, ()), dtype=np.uint8 + ) + for basis in basis_labels + } + if min(len(basis_counts[basis]) for basis in basis_labels) == 0: + continue + scores[packed] = magic_state_fidelity_point_from_counts( + basis_counts["X"], + basis_counts["Y"], + basis_counts["Z"], + sign_vector=sign_vector, + target_bloch=target_bloch, + ) + return scores + + +def build_mld_decoders( + training_dataset: BasisDataset, + ancilla_scores: np.ndarray, + *, + table_decoder_cls: type, +) -> DecoderAdapter: + anc_det, anc_obs = split_factory_bits( + training_dataset.detectors, training_dataset.observables + ) + + full_decoder = table_decoder_cls.from_det_obs_shots( + make_shape_only_dem( + training_dataset.detectors.shape[1], training_dataset.observables.shape[1] + ), + np.concatenate( + [training_dataset.detectors, training_dataset.observables], axis=1 + ).astype(bool), + ) + factory_decoder = table_decoder_cls.from_det_obs_shots( + make_shape_only_dem(anc_det.shape[1], anc_obs.shape[1]), + np.concatenate([anc_det, anc_obs], axis=1).astype(bool), + ) + if len(ancilla_scores) != (1 << anc_det.shape[1]): + raise ValueError( + "Ancilla score table has the wrong size for this training dataset." + ) + + @lru_cache(maxsize=None) + def decode_factory(syndrome_key: str): + syndrome = key_to_bits(syndrome_key).astype(bool) + correction = np.asarray(factory_decoder.decode(syndrome), dtype=np.uint8) + packed = int(pack_boolean_array(syndrome)[0]) + score = ( + float(ancilla_scores[packed]) + if packed < len(ancilla_scores) + else float("nan") + ) + return tuple(int(x) for x in correction.tolist()), score + + @lru_cache(maxsize=None) + def decode_full(syndrome_key: str): + syndrome = key_to_bits(syndrome_key).astype(bool) + correction = np.asarray(full_decoder.decode(syndrome), dtype=np.uint8) + return tuple(int(x) for x in correction.tolist()) + + return DecoderAdapter( + full_decoder=full_decoder, + factory_decoder=factory_decoder, + decode_factory=decode_factory, + decode_full=decode_full, + factory_score_mode="mld_output_fidelity", + ) + + +def _score_from_decoder( + decoder: Any, + syndrome: np.ndarray, + *, + score_mode: str, +) -> tuple[np.ndarray, float, str]: + decode_signature = inspect.signature(decoder.decode) + + if "return_logical_gap" in decode_signature.parameters: + result = decoder.decode(syndrome, return_logical_gap=True) + correction, logical_gap = result[:2] + logical_gap = np.asarray(logical_gap, dtype=np.float64) + return ( + np.asarray(correction, dtype=np.uint8), + float(logical_gap[0]), + "logical_gap", + ) + + if hasattr(decoder, "decode_with_logical_gap"): + correction, logical_gap = decoder.decode_with_logical_gap(syndrome) + logical_gap = np.asarray(logical_gap, dtype=np.float64) + return ( + np.asarray(correction, dtype=np.uint8), + float(logical_gap[0]), + "logical_gap", + ) + + if score_mode == "logical_gap": + raise RuntimeError( + "Requested logical-gap MLE scoring, but this GurobiDecoder does not expose logical-gap support." + ) + + if "return_weights" in decode_signature.parameters: + correction, weights = decoder.decode(syndrome, return_weights=True) + weights = np.asarray(weights, dtype=np.float64) + return np.asarray(correction, dtype=np.uint8), float(weights[0]), "weight" + + correction = np.asarray(decoder.decode(syndrome), dtype=np.uint8) + return correction, float("nan"), "none" + + +def build_mle_decoders( + task: Any, + *, + gurobi_decoder_cls: type, + score_mode: str = "best_available", +) -> DecoderAdapter: + if score_mode not in {"best_available", "logical_gap"}: + raise ValueError("score_mode must be 'best_available' or 'logical_gap'.") + + dem_data = compute_dem_data(task) + full_dem = matrix_to_dem(dem_data["H"], dem_data["O"], dem_data["priors"]) + factory_dem = matrix_to_dem( + dem_data["H"][3:, :], dem_data["O"][1:, :], dem_data["priors"] + ) + + full_decoder = gurobi_decoder_cls(full_dem) + factory_decoder = gurobi_decoder_cls(factory_dem) + resolved_mode: str | None = None + + @lru_cache(maxsize=None) + def decode_factory(syndrome_key: str): + nonlocal resolved_mode + syndrome = key_to_bits(syndrome_key).astype(bool) + correction, score, used_mode = _score_from_decoder( + factory_decoder, + syndrome, + score_mode=score_mode, + ) + resolved_mode = used_mode + return tuple(int(x) for x in correction.tolist()), score + + @lru_cache(maxsize=None) + def decode_full(syndrome_key: str): + syndrome = key_to_bits(syndrome_key).astype(bool) + correction = np.asarray(full_decoder.decode(syndrome), dtype=np.uint8) + return tuple(int(x) for x in correction.tolist()) + + # Prime the adapter so downstream code can inspect the effective score mode + sample_syndrome = np.zeros(factory_dem.num_detectors, dtype=np.uint8) + decode_factory(bits_to_key(sample_syndrome)) + + return DecoderAdapter( + full_decoder=full_decoder, + factory_decoder=factory_decoder, + decode_factory=decode_factory, + decode_full=decode_full, + factory_score_mode=resolved_mode or score_mode, + ) + + +def evaluate_curve( + actual_data: Mapping[str, BasisDataset], + decoder_map: Mapping[str, DecoderAdapter], + *, + posterior_samples: int, + threshold_points: int, + metric: str, + factory_target: np.ndarray, + sign_vector: Sequence[float], + target_bloch: np.ndarray = DEFAULT_TARGET_BLOCH, + basis_labels: Sequence[str] = DEFAULT_BASIS_LABELS, + min_accepted_per_basis: int = 50, +) -> dict[str, np.ndarray]: + all_scores = [] + for basis in basis_labels: + dataset = actual_data[basis] + anc_det, anc_obs = split_factory_bits(dataset.detectors, dataset.observables) + decode_factory = decoder_map[basis].decode_factory + for a_det, a_obs in zip(anc_det, anc_obs, strict=True): + anc_flip, score = decode_factory(bits_to_key(a_det)) + anc_flip = np.asarray(anc_flip, dtype=np.uint8) + if np.array_equal(a_obs ^ anc_flip, factory_target) and np.isfinite(score): + all_scores.append(score) + if not all_scores: + raise RuntimeError( + f"No factory-accepted shots found for {metric} threshold sweep" + ) + + thresholds = np.unique( + np.quantile(np.asarray(all_scores), np.linspace(0.0, 1.0, threshold_points)) + ) + accepted_fractions = [] + fidelities = [] + credibility = [] + + for threshold in thresholds: + corrected: dict[str, np.ndarray] = {} + total_kept = 0 + total_shots = 0 + for basis in basis_labels: + dataset = actual_data[basis] + anc_det, anc_obs = split_factory_bits( + dataset.detectors, dataset.observables + ) + decode_factory = decoder_map[basis].decode_factory + decode_full = decoder_map[basis].decode_full + corrected_bits = [] + for det, obs, a_det, a_obs in zip( + dataset.detectors, + dataset.observables, + anc_det, + anc_obs, + strict=True, + ): + anc_flip, score = decode_factory(bits_to_key(a_det)) + anc_flip = np.asarray(anc_flip, dtype=np.uint8) + corrected_anc = a_obs ^ anc_flip + if not np.array_equal(corrected_anc, factory_target): + continue + if score < threshold: + continue + full_flip = np.asarray(decode_full(bits_to_key(det)), dtype=np.uint8) + corrected_bits.append(int(obs[0] ^ full_flip[0])) + corrected[basis] = np.asarray(corrected_bits, dtype=np.uint8) + total_kept += len(corrected[basis]) + total_shots += len(dataset.observables) + + if ( + min(len(corrected[basis]) for basis in basis_labels) + < min_accepted_per_basis + ): + continue + + summary = fidelity_from_counts( + corrected["X"], + corrected["Y"], + corrected["Z"], + posterior_samples, + sign_vector=sign_vector, + target_bloch=target_bloch, + ) + accepted_fractions.append(total_kept / total_shots) + fidelities.append(summary["median"]) + credibility.append((summary["low"], summary["high"])) + + accepted_array = np.asarray(accepted_fractions, dtype=np.float64) + fidelity_array = np.asarray(fidelities, dtype=np.float64) + credible_array = np.asarray(credibility, dtype=np.float64) + + if len(accepted_array) > 0: + order = np.argsort(accepted_array) + accepted_array = accepted_array[order] + fidelity_array = fidelity_array[order] + credible_array = credible_array[order] + + return { + "accepted_fraction": accepted_array, + "fidelity": fidelity_array, + "credible": credible_array, + } + + +def evaluate_mld_curve( + actual_data: Mapping[str, BasisDataset], + decoder_map: Mapping[str, DecoderAdapter], + *, + posterior_samples: int, + factory_target: np.ndarray, + sign_vector: Sequence[float], + target_bloch: np.ndarray = DEFAULT_TARGET_BLOCH, + basis_labels: Sequence[str] = DEFAULT_BASIS_LABELS, + min_accepted_per_basis: int = 50, +) -> dict[str, np.ndarray]: + pattern_counts_by_basis: dict[str, dict[int, int]] = {} + corrected_bits_by_basis: dict[str, dict[int, list[int]]] = {} + total_shots = 0 + + for basis in basis_labels: + dataset = actual_data[basis] + total_shots += len(dataset.observables) + anc_det, anc_obs = split_factory_bits(dataset.detectors, dataset.observables) + decode_factory = decoder_map[basis].decode_factory + decode_full = decoder_map[basis].decode_full + + pattern_counts = defaultdict(int) + corrected_bits = defaultdict(list) + + for det, obs, a_det, a_obs in zip( + dataset.detectors, + dataset.observables, + anc_det, + anc_obs, + strict=True, + ): + packed = int(pack_boolean_array(a_det)[0]) + pattern_counts[packed] += 1 + + anc_flip, _score = decode_factory(bits_to_key(a_det)) + anc_flip = np.asarray(anc_flip, dtype=np.uint8) + if not np.array_equal(a_obs ^ anc_flip, factory_target): + continue + + full_flip = np.asarray(decode_full(bits_to_key(det)), dtype=np.uint8) + corrected_bits[packed].append(int(obs[0] ^ full_flip[0])) + + pattern_counts_by_basis[basis] = dict(pattern_counts) + corrected_bits_by_basis[basis] = corrected_bits + + all_patterns = sorted( + set().union(*(pattern_counts_by_basis[basis].keys() for basis in basis_labels)) + ) + ranked_patterns = [] + for pattern in all_patterns: + basis_counts = { + basis: np.asarray( + corrected_bits_by_basis[basis].get(pattern, ()), dtype=np.uint8 + ) + for basis in basis_labels + } + if min(len(basis_counts[basis]) for basis in basis_labels) == 0: + continue + mean_score = magic_state_fidelity_point_from_counts( + basis_counts["X"], + basis_counts["Y"], + basis_counts["Z"], + sign_vector=sign_vector, + target_bloch=target_bloch, + ) + total_count = sum( + pattern_counts_by_basis[basis].get(pattern, 0) for basis in basis_labels + ) + ranked_patterns.append((pattern, mean_score, total_count)) + + ranked_patterns.sort(key=lambda row: (row[1], row[2]), reverse=True) + + cumulative_bits = {basis: [] for basis in basis_labels} + accepted_fractions = [] + fidelities = [] + credibility = [] + + for pattern, _score, _count in ranked_patterns: + for basis in basis_labels: + cumulative_bits[basis].extend( + corrected_bits_by_basis[basis].get(pattern, ()) + ) + + if ( + min(len(cumulative_bits[basis]) for basis in basis_labels) + < min_accepted_per_basis + ): + continue + + summary = fidelity_from_counts( + np.asarray(cumulative_bits["X"], dtype=np.uint8), + np.asarray(cumulative_bits["Y"], dtype=np.uint8), + np.asarray(cumulative_bits["Z"], dtype=np.uint8), + posterior_samples, + sign_vector=sign_vector, + target_bloch=target_bloch, + ) + total_kept = sum(len(cumulative_bits[basis]) for basis in basis_labels) + accepted_fractions.append(total_kept / total_shots) + fidelities.append(summary["median"]) + credibility.append((summary["low"], summary["high"])) + + return { + "accepted_fraction": np.asarray(accepted_fractions, dtype=np.float64), + "fidelity": np.asarray(fidelities, dtype=np.float64), + "credible": np.asarray(credibility, dtype=np.float64), + } + + +def injected_baseline( + task_map: Mapping[str, Any], + *, + eval_shots: int, + posterior_samples: int, + table_decoder_cls: type, + sign_vector: Sequence[float], + target_bloch: np.ndarray = DEFAULT_TARGET_BLOCH, + raw: bool = False, + basis_labels: Sequence[str] = DEFAULT_BASIS_LABELS, +) -> dict[str, Any]: + corrected = {} + for basis in basis_labels: + dataset = run_task(task_map[basis], eval_shots, with_noise=True) + if raw: + corrected[basis] = dataset.observables[:, 0].astype(np.uint8) + continue + decoder = table_decoder_cls.from_det_obs_shots( + make_shape_only_dem( + dataset.detectors.shape[1], dataset.observables.shape[1] + ), + np.concatenate([dataset.detectors, dataset.observables], axis=1).astype( + bool + ), + ) + bits = [] + for det, obs in zip(dataset.detectors, dataset.observables, strict=True): + flip = np.asarray(decoder.decode(det.astype(bool)), dtype=np.uint8) + bits.append(int(obs[0] ^ flip[0])) + corrected[basis] = np.asarray(bits, dtype=np.uint8) + + return fidelity_from_counts( + corrected["X"], + corrected["Y"], + corrected["Z"], + posterior_samples, + sign_vector=sign_vector, + target_bloch=target_bloch, + ) diff --git a/demo/simulator_device_demo.ipynb b/demo/simulator_device_demo.ipynb index a1669aee..0dfa1338 100644 --- a/demo/simulator_device_demo.ipynb +++ b/demo/simulator_device_demo.ipynb @@ -11,22 +11,20 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": 1, + "id": "d8cc9e36", + "metadata": {}, + "outputs": [], + "source": [ + "# import bloqade.decoders" + ] + }, + { + "cell_type": "code", + "execution_count": 2, "id": "1d126134", "metadata": {}, - "outputs": [ - { - "ename": "ImportError", - "evalue": "cannot import name 'GeminiLogicalSimulator' from 'bloqade.lanes' (/Users/pweinberg/Documents/atom_compiler_dev/bloqade-repos/bloqade-lanes/.venv/lib/python3.12/site-packages/bloqade/lanes/__init__.py)", - "output_type": "error", - "traceback": [ - "\u001b[31m---------------------------------------------------------------------------\u001b[39m", - "\u001b[31mImportError\u001b[39m Traceback (most recent call last)", - "\u001b[36mCell\u001b[39m\u001b[36m \u001b[39m\u001b[32mIn[3]\u001b[39m\u001b[32m, line 13\u001b[39m\n\u001b[32m 11\u001b[39m \u001b[38;5;66;03m# Functions and methods\u001b[39;00m\n\u001b[32m 12\u001b[39m \u001b[38;5;28;01mfrom\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[34;01mbloqade\u001b[39;00m\u001b[34;01m.\u001b[39;00m\u001b[34;01mdecoders\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[38;5;28;01mimport\u001b[39;00m BpLsdDecoder\n\u001b[32m---> \u001b[39m\u001b[32m13\u001b[39m \u001b[38;5;28;01mfrom\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[34;01mbloqade\u001b[39;00m\u001b[34;01m.\u001b[39;00m\u001b[34;01mlanes\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[38;5;28;01mimport\u001b[39;00m GeminiLogicalSimulator\n\u001b[32m 15\u001b[39m \u001b[38;5;66;03m# Dialect groups\u001b[39;00m\n\u001b[32m 16\u001b[39m \u001b[38;5;28;01mfrom\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[34;01mbloqade\u001b[39;00m\u001b[34;01m.\u001b[39;00m\u001b[34;01mgemini\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[38;5;28;01mimport\u001b[39;00m logical\n", - "\u001b[31mImportError\u001b[39m: cannot import name 'GeminiLogicalSimulator' from 'bloqade.lanes' (/Users/pweinberg/Documents/atom_compiler_dev/bloqade-repos/bloqade-lanes/.venv/lib/python3.12/site-packages/bloqade/lanes/__init__.py)" - ] - } - ], + "outputs": [], "source": [ "# Builtins\n", "import math\n", @@ -39,6 +37,7 @@ "from kirin.ir.method import Method\n", "\n", "# Functions and methods\n", + "# BUG: you MUST be using a version of bloqade-decoders that has BpLsdDecoder defined; not enforced as a dependency in bloqade-lanes\n", "from bloqade.decoders import BpLsdDecoder\n", "from bloqade.lanes import GeminiLogicalSimulator\n", "\n", @@ -49,10 +48,36 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 3, "id": "e4195949", "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/html": [ + "
\n"
+      ],
+      "text/plain": []
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    },
+    {
+     "ename": "ValidationErrorGroup",
+     "evalue": "\n\u001b[31mValidation failed with 1 violation(s):\u001b[0m\n\n\u001b[31mGemini Logical Validation:\u001b[0m\n  - Validation pass 'Gemini Logical Validation' failed: Missing implementation for gate PhasedXZ()\nTraceback (most recent call last):\n  File \"/Users/jasonhan/Desktop/qmain/kirin-workspace/kirin/src/kirin/validation/validationpass.py\", line 98, in validate\n    frame, errors = validator.run(method)\n                    ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/jasonhan/Desktop/qmain/kirin-workspace/bloqade-lanes/python/bloqade/gemini/analysis/logical_validation/analysis.py\", line 62, in run\n    frame, _ = analysis.run(method)\n               ^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/jasonhan/Desktop/qmain/kirin-workspace/kirin/src/kirin/analysis/forward.py\", line 41, in run\n    return self.call(method, self.method_self(method), *args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/jasonhan/Desktop/qmain/kirin-workspace/kirin/src/kirin/interp/abc.py\", line 106, in call\n    return self.__call_method(node, *args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/jasonhan/Desktop/qmain/kirin-workspace/kirin/src/kirin/interp/abc.py\", line 131, in __call_method\n    return self.call(node.code, *args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/jasonhan/Desktop/qmain/kirin-workspace/kirin/src/kirin/interp/abc.py\", line 109, in call\n    return frame, self.frame_call(frame, node, *args, **kwargs)\n                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/jasonhan/Desktop/qmain/kirin-workspace/kirin/src/kirin/interp/abc.py\", line 184, in frame_call\n    ret = self.frame_call_region(frame, node, region, *args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/jasonhan/Desktop/qmain/kirin-workspace/kirin/src/kirin/interp/abc.py\", line 242, in frame_call_region\n    return how(self, frame, region)\n           ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/jasonhan/Desktop/qmain/kirin-workspace/kirin/src/kirin/interp/table.py\", line 98, in __call__\n    return self.method(self.parent, interpreter, frame, node)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/jasonhan/Desktop/qmain/kirin-workspace/kirin/src/kirin/dialects/ssacfg.py\", line 59, in ssacfg\n    block_result = self.run_succ(interp_, frame, succ)\n                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/jasonhan/Desktop/qmain/kirin-workspace/kirin/src/kirin/dialects/ssacfg.py\", line 86, in run_succ\n    stmt_results = interp_.frame_eval(frame, stmt)\n                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/jasonhan/Desktop/qmain/kirin-workspace/kirin/src/kirin/interp/abc.py\", line 306, in frame_eval\n    return self.eval_fallback(frame, node)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/jasonhan/Desktop/qmain/kirin-workspace/bloqade-lanes/python/bloqade/gemini/analysis/logical_validation/analysis.py\", line 27, in eval_fallback\n    raise InterpreterError(f\"Missing implementation for gate {node}\")\nkirin.interp.exceptions.InterpreterError: Missing implementation for gate PhasedXZ()\n\n      File \"/var/folders/4t/_g5ztpl96sg8j3_ztt9wgc400000gp/T/ipykernel_93257/166870759.py\", line 38, col 36\n",
+     "output_type": "error",
+     "traceback": [
+      "\u001b[31m---------------------------------------------------------------------------\u001b[39m",
+      "\u001b[31mValidationErrorGroup\u001b[39m                      Traceback (most recent call last)",
+      "\u001b[36mCell\u001b[39m\u001b[36m \u001b[39m\u001b[32mIn[3]\u001b[39m\u001b[32m, line 33\u001b[39m\n\u001b[32m     29\u001b[39m     \u001b[38;5;28;01mreturn\u001b[39;00m ax\n\u001b[32m     31\u001b[39m \u001b[38;5;66;03m# A minimal kernel that prepares a single qubit in an arbitrary state,\u001b[39;00m\n\u001b[32m     32\u001b[39m \u001b[38;5;66;03m# so that it can be shown by the tsim renderer.\u001b[39;00m\n\u001b[32m---> \u001b[39m\u001b[32m33\u001b[39m \u001b[38;5;129;43m@logical\u001b[39;49m\u001b[43m.\u001b[49m\u001b[43mkernel\u001b[49m\u001b[43m(\u001b[49m\u001b[43maggressive_unroll\u001b[49m\u001b[43m=\u001b[49m\u001b[38;5;28;43;01mTrue\u001b[39;49;00m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mverify\u001b[49m\u001b[43m=\u001b[49m\u001b[38;5;28;43;01mTrue\u001b[39;49;00m\u001b[43m)\u001b[49m\n\u001b[32m     34\u001b[39m \u001b[38;5;28;43;01mdef\u001b[39;49;00m\u001b[38;5;250;43m \u001b[39;49m\u001b[34;43mmain\u001b[39;49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\u001b[43m:\u001b[49m\n\u001b[32m     35\u001b[39m \u001b[43m    \u001b[49m\u001b[43mreg\u001b[49m\u001b[43m \u001b[49m\u001b[43m=\u001b[49m\u001b[43m \u001b[49m\u001b[43mqubit\u001b[49m\u001b[43m.\u001b[49m\u001b[43mqalloc\u001b[49m\u001b[43m(\u001b[49m\u001b[32;43m1\u001b[39;49m\u001b[43m)\u001b[49m\n\u001b[32m     36\u001b[39m \u001b[43m    \u001b[49m\u001b[38;5;66;43;03m# squin.u3(0.1,0.2,0.3,reg[0])\u001b[39;49;00m\n",
+      "\u001b[36mFile \u001b[39m\u001b[32m~/Desktop/qmain/kirin-workspace/kirin/src/kirin/ir/group.py:269\u001b[39m, in \u001b[36mDialectGroup.__call__..wrapper\u001b[39m\u001b[34m(py_func)\u001b[39m\n\u001b[32m    266\u001b[39m             \u001b[38;5;28;01mraise\u001b[39;00m e\n\u001b[32m    268\u001b[39m mt.run_passes = run_pass\n\u001b[32m--> \u001b[39m\u001b[32m269\u001b[39m \u001b[43mrun_pass\u001b[49m\u001b[43m(\u001b[49m\u001b[43mmt\u001b[49m\u001b[43m)\u001b[49m\n\u001b[32m    270\u001b[39m \u001b[38;5;28mself\u001b[39m.update_symbol_table(mt)\n\u001b[32m    271\u001b[39m \u001b[38;5;28;01mreturn\u001b[39;00m mt\n",
+      "\u001b[36mFile \u001b[39m\u001b[32m~/Desktop/qmain/kirin-workspace/kirin/src/kirin/ir/group.py:263\u001b[39m, in \u001b[36mDialectGroup.__call__..wrapper..run_pass\u001b[39m\u001b[34m(mt)\u001b[39m\n\u001b[32m    261\u001b[39m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28mself\u001b[39m.run_pass \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m:\n\u001b[32m    262\u001b[39m     \u001b[38;5;28;01mtry\u001b[39;00m:\n\u001b[32m--> \u001b[39m\u001b[32m263\u001b[39m         \u001b[38;5;28;43mself\u001b[39;49m\u001b[43m.\u001b[49m\u001b[43mrun_pass\u001b[49m\u001b[43m(\u001b[49m\u001b[43mmt\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43m*\u001b[49m\u001b[43margs\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43m*\u001b[49m\u001b[43m*\u001b[49m\u001b[43moptions\u001b[49m\u001b[43m)\u001b[49m\n\u001b[32m    264\u001b[39m     \u001b[38;5;28;01mexcept\u001b[39;00m ValidationError \u001b[38;5;28;01mas\u001b[39;00m e:\n\u001b[32m    265\u001b[39m         e.attach(mt)\n",
+      "\u001b[36mFile \u001b[39m\u001b[32m~/Desktop/qmain/kirin-workspace/bloqade-lanes/python/bloqade/gemini/logical/group.py:101\u001b[39m, in \u001b[36mkernel..run_pass\u001b[39m\u001b[34m(mt, verify, typeinfer, fold, aggressive, inline, aggressive_unroll, no_raise, num_physical_qubits)\u001b[39m\n\u001b[32m     93\u001b[39m validator = ValidationSuite(\n\u001b[32m     94\u001b[39m     [\n\u001b[32m     95\u001b[39m         GeminiLogicalValidation,\n\u001b[32m   (...)\u001b[39m\u001b[32m     98\u001b[39m     ]\n\u001b[32m     99\u001b[39m )\n\u001b[32m    100\u001b[39m validation_result = validator.validate(mt)\n\u001b[32m--> \u001b[39m\u001b[32m101\u001b[39m \u001b[43mvalidation_result\u001b[49m\u001b[43m.\u001b[49m\u001b[43mraise_if_invalid\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\n\u001b[32m    102\u001b[39m mt.verify()\n",
+      "\u001b[36mFile \u001b[39m\u001b[32m~/Desktop/qmain/kirin-workspace/kirin/src/kirin/validation/validationpass.py:187\u001b[39m, in \u001b[36mValidationResult.raise_if_invalid\u001b[39m\u001b[34m(self)\u001b[39m\n\u001b[32m    184\u001b[39m     exceptions.extend(pass_errors)\n\u001b[32m    186\u001b[39m message = \u001b[38;5;28mself\u001b[39m._format_errors()\n\u001b[32m--> \u001b[39m\u001b[32m187\u001b[39m \u001b[38;5;28;01mraise\u001b[39;00m ValidationErrorGroup(message, errors=exceptions)\n",
+      "\u001b[31mValidationErrorGroup\u001b[39m: \n\u001b[31mValidation failed with 1 violation(s):\u001b[0m\n\n\u001b[31mGemini Logical Validation:\u001b[0m\n  - Validation pass 'Gemini Logical Validation' failed: Missing implementation for gate PhasedXZ()\nTraceback (most recent call last):\n  File \"/Users/jasonhan/Desktop/qmain/kirin-workspace/kirin/src/kirin/validation/validationpass.py\", line 98, in validate\n    frame, errors = validator.run(method)\n                    ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/jasonhan/Desktop/qmain/kirin-workspace/bloqade-lanes/python/bloqade/gemini/analysis/logical_validation/analysis.py\", line 62, in run\n    frame, _ = analysis.run(method)\n               ^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/jasonhan/Desktop/qmain/kirin-workspace/kirin/src/kirin/analysis/forward.py\", line 41, in run\n    return self.call(method, self.method_self(method), *args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/jasonhan/Desktop/qmain/kirin-workspace/kirin/src/kirin/interp/abc.py\", line 106, in call\n    return self.__call_method(node, *args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/jasonhan/Desktop/qmain/kirin-workspace/kirin/src/kirin/interp/abc.py\", line 131, in __call_method\n    return self.call(node.code, *args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/jasonhan/Desktop/qmain/kirin-workspace/kirin/src/kirin/interp/abc.py\", line 109, in call\n    return frame, self.frame_call(frame, node, *args, **kwargs)\n                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/jasonhan/Desktop/qmain/kirin-workspace/kirin/src/kirin/interp/abc.py\", line 184, in frame_call\n    ret = self.frame_call_region(frame, node, region, *args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/jasonhan/Desktop/qmain/kirin-workspace/kirin/src/kirin/interp/abc.py\", line 242, in frame_call_region\n    return how(self, frame, region)\n           ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/jasonhan/Desktop/qmain/kirin-workspace/kirin/src/kirin/interp/table.py\", line 98, in __call__\n    return self.method(self.parent, interpreter, frame, node)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/jasonhan/Desktop/qmain/kirin-workspace/kirin/src/kirin/dialects/ssacfg.py\", line 59, in ssacfg\n    block_result = self.run_succ(interp_, frame, succ)\n                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/jasonhan/Desktop/qmain/kirin-workspace/kirin/src/kirin/dialects/ssacfg.py\", line 86, in run_succ\n    stmt_results = interp_.frame_eval(frame, stmt)\n                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/jasonhan/Desktop/qmain/kirin-workspace/kirin/src/kirin/interp/abc.py\", line 306, in frame_eval\n    return self.eval_fallback(frame, node)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/jasonhan/Desktop/qmain/kirin-workspace/bloqade-lanes/python/bloqade/gemini/analysis/logical_validation/analysis.py\", line 27, in eval_fallback\n    raise InterpreterError(f\"Missing implementation for gate {node}\")\nkirin.interp.exceptions.InterpreterError: Missing implementation for gate PhasedXZ()\n\n      File \"/var/folders/4t/_g5ztpl96sg8j3_ztt9wgc400000gp/T/ipykernel_93257/166870759.py\", line 38, col 36\n"
+     ]
+    }
+   ],
    "source": [
     "\n",
     "import matplotlib.pyplot as plt\n",
@@ -90,11 +115,62 @@
     "@logical.kernel(aggressive_unroll=True, verify=True)\n",
     "def main():\n",
     "    reg = qubit.qalloc(1)\n",
-    "    squin.u3(0.1,0.2,0.3,reg[0])\n",
+    "    # squin.u3(0.1,0.2,0.3,reg[0])\n",
+    "    squin.phased_xz(0.1,0.2,0.3,reg[0])\n",
     "    return logical.terminal_measure(reg)\n",
     "task = GeminiLogicalSimulator().task(main)"
    ]
   },
+  {
+   "cell_type": "code",
+   "execution_count": 4,
+   "id": "285881fe",
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "\u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31mfunc\u001b[0m\u001b[31m \u001b[0m\u001b[36m@main\u001b[0m()\u001b[90m -> \u001b[0m\u001b[90m!py.IList\u001b[0m\u001b[90m[\u001b[0m\u001b[90m!py.IList\u001b[0m\u001b[90m[\u001b[0m\u001b[90m!py.MeasurementResult\u001b[0m\u001b[90m, \u001b[0m\u001b[90m!\u001b[0m\u001b[90mAny\u001b[0m\u001b[90m]\u001b[0m\u001b[90m, \u001b[0m\u001b[90mLiteral(1,int)\u001b[0m\u001b[90m]\u001b[0m\u001b[90m \u001b[0m{\n",
+      "\u001b[90m  \u001b[0m^0(%main_self):\n",
+      "\u001b[90m  │ \u001b[0m %qubit = \u001b[34mqubit\u001b[0m.new()\u001b[30m : \u001b[0m\u001b[30m!py.Qubit\u001b[0m\n",
+      "\u001b[90m  │ \u001b[0m   %reg = \u001b[34mpy.ilist\u001b[0m.new(\u001b[33mvalues=\u001b[0m(%qubit)){\u001b[33melem_type\u001b[0m=!Any}\u001b[30m : \u001b[0m\u001b[30m!py.IList\u001b[0m\u001b[30m[\u001b[0m\u001b[30m!py.Qubit\u001b[0m\u001b[30m, \u001b[0m\u001b[30mLiteral(1,int)\u001b[0m\u001b[30m]\u001b[0m\n",
+      "\u001b[90m  │ \u001b[0m%qubits = \u001b[34mpy.ilist\u001b[0m.new(\u001b[33mvalues=\u001b[0m(%qubit)){\u001b[33melem_type\u001b[0m=!py.Qubit}\u001b[30m : \u001b[0m\u001b[30m!py.IList\u001b[0m\u001b[30m[\u001b[0m\u001b[30m!py.Qubit\u001b[0m\u001b[30m, \u001b[0m\u001b[30mLiteral(1,int)\u001b[0m\u001b[30m]\u001b[0m\n",
+      "\u001b[90m  │ \u001b[0m     %0 = \u001b[34mpy.constant\u001b[0m.constant 0.015915494309189534\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n",
+      "\u001b[90m  │ \u001b[0m     %1 = \u001b[34mpy.constant\u001b[0m.constant 0.03183098861837907\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n",
+      "\u001b[90m  │ \u001b[0m     %2 = \u001b[34mpy.constant\u001b[0m.constant 0.0477464829275686\u001b[90m : \u001b[0m\u001b[90m!py.float\u001b[0m\n",
+      "\u001b[90m  │ \u001b[0m          \u001b[34msquin.gate\u001b[0m.u3(\u001b[33mtheta=\u001b[0m%0, \u001b[33mphi=\u001b[0m%1, \u001b[33mlam=\u001b[0m%2, \u001b[33mqubits=\u001b[0m%qubits)\n",
+      "\u001b[90m  │ \u001b[0m     %3 = \u001b[34mlogical\u001b[0m.terminal_logical_measurement(\u001b[33mqubits=\u001b[0m%reg){\u001b[33mnum_physical_qubits\u001b[0m=\u001b[1;36m7\u001b[0m\u001b[90m : \u001b[0m\u001b[90m!py.int\u001b[0m}\u001b[30m : \u001b[0m\u001b[30m!py.IList\u001b[0m\u001b[30m[\u001b[0m\u001b[30m!py.IList\u001b[0m\u001b[30m[\u001b[0m\u001b[30m!py.MeasurementResult\u001b[0m\u001b[30m, \u001b[0m\u001b[30m!\u001b[0m\u001b[30mAny\u001b[0m\u001b[30m]\u001b[0m\u001b[30m, \u001b[0m\u001b[30mLiteral(1,int)\u001b[0m\u001b[30m]\u001b[0m\n",
+      "\u001b[90m  │ \u001b[0m          \u001b[34mfunc\u001b[0m\u001b[31m.\u001b[0m\u001b[31mreturn\u001b[0m %3\n",
+      "}\u001b[90m // func.func main\u001b[0m\n"
+     ]
+    }
+   ],
+   "source": [
+    "main.print()"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "id": "a4efe1a7",
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "Result(_raw_measurements=[[True, False, False, True, True, True, False]], _detector_error_model=stim.DetectorErrorModel(), _post_processing=PostProcessing(emit_return=.post_processing_return at 0x11f3702c0>, emit_detectors=.detectors at 0x11f370360>, emit_observables=.observables at 0x11f370400>), _fidelity_min=1.0, _fidelity_max=1.0)"
+      ]
+     },
+     "execution_count": 5,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "# task.run()"
+   ]
+  },
   {
    "cell_type": "markdown",
    "id": "33bd252e",
@@ -112,7 +188,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": null,
+   "execution_count": 6,
    "id": "9d2936f5",
    "metadata": {},
    "outputs": [
@@ -237,10 +313,10 @@
        "    "
       ],
       "text/plain": [
-       ""
+       ""
       ]
      },
-     "execution_count": 3,
+     "execution_count": 6,
      "metadata": {},
      "output_type": "execute_result"
     },
@@ -255,7 +331,7 @@
        "  \n",
        "   \n",
        "    \n",
-       "    2026-03-11T23:19:53.495524\n",
+       "    2026-03-17T10:00:19.529147\n",
        "    image/svg+xml\n",
        "    \n",
        "     \n",
@@ -284,7 +360,7 @@
        "L 90.36 53.833593 \n",
        "L 40.464 140.256 \n",
        "z\n",
-       "\" clip-path=\"url(#p0f663bca2d)\" style=\"fill: #ef2f55; stroke: #ef2f55; stroke-linejoin: miter\"/>\n",
+       "\" clip-path=\"url(#p2e29c7d6f4)\" style=\"fill: #ef2f55; stroke: #ef2f55; stroke-linejoin: miter\"/>\n",
        "   \n",
        "   \n",
        "    \n",
+       "\" clip-path=\"url(#p2e29c7d6f4)\" style=\"fill: #57bc13; stroke: #57bc13; stroke-linejoin: miter\"/>\n",
        "   \n",
        "   \n",
        "    \n",
+       "\" clip-path=\"url(#p2e29c7d6f4)\" style=\"fill: #670eff; stroke: #670eff; stroke-linejoin: miter\"/>\n",
        "   \n",
        "   \n",
        "    \n",
+       "\" clip-path=\"url(#p2e29c7d6f4)\" style=\"fill: none; stroke: #000000; stroke-width: 5; stroke-linecap: square\"/>\n",
        "   \n",
        "   \n",
        "    \n",
-       "     \n",
        "    \n",
-       "    \n",
-       "     \n",
-       "     \n",
-       "     \n",
-       "     \n",
-       "     \n",
-       "     \n",
-       "     \n",
+       "    \n",
+       "     \n",
+       "     \n",
+       "     \n",
+       "     \n",
+       "     \n",
+       "     \n",
+       "     \n",
        "    \n",
        "   \n",
        "   \n",
@@ -556,7 +632,7 @@
        "  \n",
        " \n",
        " \n",
-       "  \n",
+       "  \n",
        "   \n",
        "  \n",
        " \n",
@@ -601,11 +677,12 @@
   },
   {
    "cell_type": "code",
-   "execution_count": null,
+   "execution_count": 59,
    "id": "71280ad1",
    "metadata": {},
    "outputs": [],
    "source": [
+    "# TODO: so many hard coded things\n",
     "@logical.kernel(aggressive_unroll=True, verify=True)\n",
     "def main():\n",
     "    reg = qubit.qalloc(3)\n",
@@ -614,6 +691,7 @@
     "\n",
     "    return logical.default_post_processing(reg) # Return the physical measurements\n",
     "\n",
+    "# NOTE: this is fairly similar to how people use like qiskit\n",
     "task = GeminiLogicalSimulator().task(main)"
    ]
   },
@@ -636,7 +714,346 @@
   },
   {
    "cell_type": "code",
-   "execution_count": null,
+   "execution_count": 60,
+   "id": "24069c91",
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "Result(_raw_measurements=[[False, True, True, False, False, False, True, True, True, False, False, False, True, False, True, False, False, True, True, True, False]], _detector_error_model=stim.DetectorErrorModel('''\n",
+       "    error(0.00235027) D0 D1 D2\n",
+       "    error(0.00462947) D0 D1 D2 D3 D4 D5\n",
+       "    error(0.00462947) D0 D1 D3 D4 L0 L1\n",
+       "    error(0.00235027) D0 D1 L0\n",
+       "    error(0.00235027) D0 D2\n",
+       "    error(0.00462947) D0 D2 D3 D5\n",
+       "    error(0.00462947) D0 D3 L0 L1\n",
+       "    error(0.00235027) D0 L0\n",
+       "    error(0.00235027) D1 D2\n",
+       "    error(0.00462947) D1 D2 D4 D5\n",
+       "    error(0.00462947) D1 D4 L0 L1\n",
+       "    error(0.00235027) D1 L0\n",
+       "    error(0.00235027) D2\n",
+       "    error(0.00462947) D2 D5\n",
+       "    error(0.00646565) D3 D4 D5\n",
+       "    error(0.00646565) D3 D4 L1\n",
+       "    error(0.00646565) D3 D5\n",
+       "    error(0.00646565) D3 L1\n",
+       "    error(0.00646565) D4 D5\n",
+       "    error(0.00646565) D4 L1\n",
+       "    error(0.00646565) D5\n",
+       "    error(0.00225292) D6 D7 D8\n",
+       "    error(0.00225292) D6 D7 L2\n",
+       "    error(0.00225292) D6 D8\n",
+       "    error(0.00225292) D6 L2\n",
+       "    error(0.00225292) D7 D8\n",
+       "    error(0.00225292) D7 L2\n",
+       "    error(0.00225292) D8\n",
+       "    detector(0, 0) D0\n",
+       "    detector(0, 1) D1\n",
+       "    detector(0, 2) D2\n",
+       "    detector(0, 0) D3\n",
+       "    detector(0, 1) D4\n",
+       "    detector(0, 2) D5\n",
+       "    detector(0, 0) D6\n",
+       "    detector(0, 1) D7\n",
+       "    detector(0, 2) D8\n",
+       "'''), _post_processing=PostProcessing(emit_return=.post_processing_return at 0x153eb6b60>, emit_detectors=.detectors at 0x153ef8e00>, emit_observables=.observables at 0x153ef9800>), _fidelity_min=np.float64(0.8052169458524815), _fidelity_max=np.float64(0.8052169458524815))"
+      ]
+     },
+     "execution_count": 60,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "task.run()"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 61,
+   "id": "bfff4fdf",
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "tsim.Circuit('''\n",
+       "SQRT_Y_DAG 0 1 2 3 4 5\n",
+       "CZ 1 2 3 4 5 6\n",
+       "SQRT_Y 6\n",
+       "CZ 0 3 2 5 4 6\n",
+       "SQRT_Y 2 3 4 5 6\n",
+       "CZ 0 1 2 3 4 5\n",
+       "SQRT_Y 1 2 4\n",
+       "X 3\n",
+       "Z 1 5\n",
+       "SQRT_Y_DAG 7 8 9 10 11 12\n",
+       "CZ 8 9 10 11 12 13\n",
+       "SQRT_Y 13\n",
+       "CZ 7 10 9 12 11 13\n",
+       "SQRT_Y 9 10 11 12 13\n",
+       "CZ 7 8 9 10 11 12\n",
+       "SQRT_Y 8 9 11\n",
+       "X 10\n",
+       "Z 8 12\n",
+       "SQRT_Y_DAG 14 15 16 17 18 19\n",
+       "CZ 15 16 17 18 19 20\n",
+       "SQRT_Y 20\n",
+       "CZ 14 17 16 19 18 20\n",
+       "SQRT_Y 16 17 18 19 20\n",
+       "CZ 14 15 16 17 18 19\n",
+       "SQRT_Y 15 16 18\n",
+       "X 17\n",
+       "Z 15 19\n",
+       "S 0 1 2 3 4 5 6\n",
+       "SQRT_X 0 1 2 3 4 5 6\n",
+       "S 0 1 2 3 4 5 6\n",
+       "SQRT_Y 7 8 9 10 11 12 13\n",
+       "CZ 0 7 1 8 2 9 3 10 4 11 5 12 6 13\n",
+       "SQRT_Y_DAG 7 8 9 10 11 12 13\n",
+       "M 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20\n",
+       "DETECTOR(0, 0) rec[-21] rec[-20] rec[-19] rec[-18]\n",
+       "DETECTOR(0, 1) rec[-20] rec[-19] rec[-17] rec[-16]\n",
+       "DETECTOR(0, 2) rec[-19] rec[-18] rec[-17] rec[-15]\n",
+       "OBSERVABLE_INCLUDE(0) rec[-21] rec[-20] rec[-16]\n",
+       "DETECTOR(0, 0) rec[-14] rec[-13] rec[-12] rec[-11]\n",
+       "DETECTOR(0, 1) rec[-13] rec[-12] rec[-10] rec[-9]\n",
+       "DETECTOR(0, 2) rec[-12] rec[-11] rec[-10] rec[-8]\n",
+       "OBSERVABLE_INCLUDE(1) rec[-14] rec[-13] rec[-9]\n",
+       "DETECTOR(0, 0) rec[-7] rec[-6] rec[-5] rec[-4]\n",
+       "DETECTOR(0, 1) rec[-6] rec[-5] rec[-3] rec[-2]\n",
+       "DETECTOR(0, 2) rec[-5] rec[-4] rec[-3] rec[-1]\n",
+       "OBSERVABLE_INCLUDE(2) rec[-7] rec[-6] rec[-2]\n",
+       "''')"
+      ]
+     },
+     "execution_count": 61,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "task.noiseless_tsim_circuit"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 62,
+   "id": "9b9970e8",
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "tsim.Circuit('''\n",
+       "SQRT_Y_DAG 0 1 2 3 4 5\n",
+       "CZ 1 2 3 4 5 6\n",
+       "SQRT_Y 6\n",
+       "CZ 0 3 2 5 4 6\n",
+       "SQRT_Y 2 3 4 5 6\n",
+       "CZ 0 1 2 3 4 5\n",
+       "SQRT_Y 1 2 4\n",
+       "X 3\n",
+       "Z 1 5\n",
+       "SQRT_Y_DAG 7 8 9 10 11 12\n",
+       "CZ 8 9 10 11 12 13\n",
+       "SQRT_Y 13\n",
+       "CZ 7 10 9 12 11 13\n",
+       "SQRT_Y 9 10 11 12 13\n",
+       "CZ 7 8 9 10 11 12\n",
+       "SQRT_Y 8 9 11\n",
+       "X 10\n",
+       "Z 8 12\n",
+       "SQRT_Y_DAG 14 15 16 17 18 19\n",
+       "CZ 15 16 17 18 19 20\n",
+       "SQRT_Y 20\n",
+       "CZ 14 17 16 19 18 20\n",
+       "SQRT_Y 16 17 18 19 20\n",
+       "CZ 14 15 16 17 18 19\n",
+       "SQRT_Y 15 16 18\n",
+       "X 17\n",
+       "Z 15 19\n",
+       "S 0 1 2 3 4 5 6\n",
+       "PAULI_CHANNEL_1(0.0004102, 0.0004102, 0.0004112) 0 1 2 3 4 5 6\n",
+       "I_ERROR[loss](0) 0 1 2 3 4 5 6\n",
+       "SQRT_X 0 1 2 3 4 5 6\n",
+       "PAULI_CHANNEL_1(0.0004102, 0.0004102, 0.0004112) 0 1 2 3 4 5 6\n",
+       "I_ERROR[loss](0) 0 1 2 3 4 5 6\n",
+       "S 0 1 2 3 4 5 6\n",
+       "PAULI_CHANNEL_1(0.0004102, 0.0004102, 0.0004112) 0 1 2 3 4 5 6\n",
+       "I_ERROR[loss](0) 0 1 2 3 4 5 6\n",
+       "SQRT_Y 7 8 9 10 11 12 13\n",
+       "PAULI_CHANNEL_1(0.0004102, 0.0004102, 0.0004112) 7 8 9 10 11 12 13\n",
+       "I_ERROR[loss](0) 7 8 9 10 11 12 13\n",
+       "PAULI_CHANNEL_1(0.000806, 0.000806, 0.002458) 0\n",
+       "I_ERROR[loss](0) 0\n",
+       "PAULI_CHANNEL_1(0.000806, 0.000806, 0.002458) 1\n",
+       "I_ERROR[loss](0) 1\n",
+       "PAULI_CHANNEL_1(0.000806, 0.000806, 0.002458) 2\n",
+       "I_ERROR[loss](0) 2\n",
+       "PAULI_CHANNEL_1(0.000806, 0.000806, 0.002458) 3\n",
+       "I_ERROR[loss](0) 3\n",
+       "PAULI_CHANNEL_1(0.000806, 0.000806, 0.002458) 4\n",
+       "I_ERROR[loss](0) 4\n",
+       "PAULI_CHANNEL_1(0.000806, 0.000806, 0.002458) 5\n",
+       "I_ERROR[loss](0) 5\n",
+       "PAULI_CHANNEL_1(0.000806, 0.000806, 0.002458) 6\n",
+       "I_ERROR[loss](0) 6\n",
+       "PAULI_CHANNEL_1(0.0003066, 0.0003066, 0.0004639) 7 8 9 10 11 12 13 14 15 16 17 18 19 20\n",
+       "I_ERROR[loss](0) 7 8 9 10 11 12 13 14 15 16 17 18 19 20\n",
+       "CZ 0 7 1 8 2 9 3 10 4 11 5 12 6 13\n",
+       "PAULI_CHANNEL_2(0.00022747, 0.00022747, 0.00151278, 0.00022747, 0.00014286, 0.00014286, 0.00014308, 0.00022747, 0.00014286, 0.00014286, 0.00014308, 0.00151278, 0.00014308, 0.00014308, 0.00142814) 0 7 1 8 2 9 3 10 4 11 5 12 6 13\n",
+       "I_ERROR[correlated_loss:0](0) 0 7\n",
+       "I_ERROR[correlated_loss:1](0) 1 8\n",
+       "I_ERROR[correlated_loss:2](0) 2 9\n",
+       "I_ERROR[correlated_loss:3](0) 3 10\n",
+       "I_ERROR[correlated_loss:4](0) 4 11\n",
+       "I_ERROR[correlated_loss:5](0) 5 12\n",
+       "I_ERROR[correlated_loss:6](0) 6 13\n",
+       "PAULI_CHANNEL_1(0.0005149, 0.0005149, 0.002185) 14 15 16 17 18 19 20\n",
+       "I_ERROR[loss](0) 14 15 16 17 18 19 20\n",
+       "PAULI_CHANNEL_1(0.000806, 0.000806, 0.002458) 0\n",
+       "I_ERROR[loss](0) 0\n",
+       "PAULI_CHANNEL_1(0.000806, 0.000806, 0.002458) 1\n",
+       "I_ERROR[loss](0) 1\n",
+       "PAULI_CHANNEL_1(0.000806, 0.000806, 0.002458) 2\n",
+       "I_ERROR[loss](0) 2\n",
+       "PAULI_CHANNEL_1(0.000806, 0.000806, 0.002458) 3\n",
+       "I_ERROR[loss](0) 3\n",
+       "PAULI_CHANNEL_1(0.000806, 0.000806, 0.002458) 4\n",
+       "I_ERROR[loss](0) 4\n",
+       "PAULI_CHANNEL_1(0.000806, 0.000806, 0.002458) 5\n",
+       "I_ERROR[loss](0) 5\n",
+       "PAULI_CHANNEL_1(0.000806, 0.000806, 0.002458) 6\n",
+       "I_ERROR[loss](0) 6\n",
+       "PAULI_CHANNEL_1(0.0003066, 0.0003066, 0.0004639) 7 8 9 10 11 12 13 14 15 16 17 18 19 20\n",
+       "I_ERROR[loss](0) 7 8 9 10 11 12 13 14 15 16 17 18 19 20\n",
+       "SQRT_Y_DAG 7 8 9 10 11 12 13\n",
+       "PAULI_CHANNEL_1(0.0004102, 0.0004102, 0.0004112) 7 8 9 10 11 12 13\n",
+       "I_ERROR[loss](0) 7 8 9 10 11 12 13\n",
+       "M(0) 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20\n",
+       "DETECTOR(0, 0) rec[-21] rec[-20] rec[-19] rec[-18]\n",
+       "DETECTOR(0, 1) rec[-20] rec[-19] rec[-17] rec[-16]\n",
+       "DETECTOR(0, 2) rec[-19] rec[-18] rec[-17] rec[-15]\n",
+       "OBSERVABLE_INCLUDE(0) rec[-21] rec[-20] rec[-16]\n",
+       "DETECTOR(0, 0) rec[-14] rec[-13] rec[-12] rec[-11]\n",
+       "DETECTOR(0, 1) rec[-13] rec[-12] rec[-10] rec[-9]\n",
+       "DETECTOR(0, 2) rec[-12] rec[-11] rec[-10] rec[-8]\n",
+       "OBSERVABLE_INCLUDE(1) rec[-14] rec[-13] rec[-9]\n",
+       "DETECTOR(0, 0) rec[-7] rec[-6] rec[-5] rec[-4]\n",
+       "DETECTOR(0, 1) rec[-6] rec[-5] rec[-3] rec[-2]\n",
+       "DETECTOR(0, 2) rec[-5] rec[-4] rec[-3] rec[-1]\n",
+       "OBSERVABLE_INCLUDE(2) rec[-7] rec[-6] rec[-2]\n",
+       "''')"
+      ]
+     },
+     "execution_count": 62,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "task.tsim_circuit"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 63,
+   "id": "22b9090a",
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "stim.DetectorErrorModel('''\n",
+       "    error(0.00235027) D0 D1 D2\n",
+       "    error(0.00462947) D0 D1 D2 D3 D4 D5\n",
+       "    error(0.00462947) D0 D1 D3 D4 L0 L1\n",
+       "    error(0.00235027) D0 D1 L0\n",
+       "    error(0.00235027) D0 D2\n",
+       "    error(0.00462947) D0 D2 D3 D5\n",
+       "    error(0.00462947) D0 D3 L0 L1\n",
+       "    error(0.00235027) D0 L0\n",
+       "    error(0.00235027) D1 D2\n",
+       "    error(0.00462947) D1 D2 D4 D5\n",
+       "    error(0.00462947) D1 D4 L0 L1\n",
+       "    error(0.00235027) D1 L0\n",
+       "    error(0.00235027) D2\n",
+       "    error(0.00462947) D2 D5\n",
+       "    error(0.00646565) D3 D4 D5\n",
+       "    error(0.00646565) D3 D4 L1\n",
+       "    error(0.00646565) D3 D5\n",
+       "    error(0.00646565) D3 L1\n",
+       "    error(0.00646565) D4 D5\n",
+       "    error(0.00646565) D4 L1\n",
+       "    error(0.00646565) D5\n",
+       "    error(0.00225292) D6 D7 D8\n",
+       "    error(0.00225292) D6 D7 L2\n",
+       "    error(0.00225292) D6 D8\n",
+       "    error(0.00225292) D6 L2\n",
+       "    error(0.00225292) D7 D8\n",
+       "    error(0.00225292) D7 L2\n",
+       "    error(0.00225292) D8\n",
+       "    detector(0, 0) D0\n",
+       "    detector(0, 1) D1\n",
+       "    detector(0, 2) D2\n",
+       "    detector(0, 0) D3\n",
+       "    detector(0, 1) D4\n",
+       "    detector(0, 2) D5\n",
+       "    detector(0, 0) D6\n",
+       "    detector(0, 1) D7\n",
+       "    detector(0, 2) D8\n",
+       "''')"
+      ]
+     },
+     "execution_count": 63,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "task.detector_error_model"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 64,
+   "id": "c1849c66",
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "# BUG (?): trying to exit this visualize window breaks (at least in notebook)\n",
+    "%matplotlib qt\n",
+    "task.visualize()"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 15,
+   "id": "53542dc2",
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "21"
+      ]
+     },
+     "execution_count": 15,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "task.noiseless_tsim_circuit.num_qubits"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 18,
    "id": "bfceecc6",
    "metadata": {},
    "outputs": [
@@ -1085,10 +1502,10 @@
        "    "
       ],
       "text/plain": [
-       ""
+       ""
       ]
      },
-     "execution_count": 5,
+     "execution_count": 18,
      "metadata": {},
      "output_type": "execute_result"
     }
@@ -1108,7 +1525,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": null,
+   "execution_count": 19,
    "id": "8c57bae8",
    "metadata": {},
    "outputs": [
@@ -2166,10 +2583,10 @@
        "    "
       ],
       "text/plain": [
-       ""
+       ""
       ]
      },
-     "execution_count": 6,
+     "execution_count": 19,
      "metadata": {},
      "output_type": "execute_result"
     }
@@ -2189,7 +2606,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": null,
+   "execution_count": 20,
    "id": "91840b4a",
    "metadata": {},
    "outputs": [],
@@ -2200,7 +2617,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": null,
+   "execution_count": 21,
    "id": "33d98f02",
    "metadata": {},
    "outputs": [],
@@ -2233,7 +2650,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": null,
+   "execution_count": 22,
    "id": "09e102b0",
    "metadata": {},
    "outputs": [
@@ -2272,7 +2689,44 @@
   },
   {
    "cell_type": "code",
-   "execution_count": null,
+   "execution_count": 72,
+   "id": "46a3b0ed",
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "from bloqade.decoders import BpOsdDecoder"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 70,
+   "id": "8825c390",
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "Average bits flipped: 0.022833333333333334\n",
+      "Postselection rate:   0.8968\n"
+     ]
+    }
+   ],
+   "source": [
+    "# Correct\n",
+    "flips = BpOsdDecoder(task.detector_error_model).decode(detectors)\n",
+    "observables_corrected = observables ^ flips\n",
+    "print(\"Average bits flipped:\", np.average(flips))\n",
+    "\n",
+    "# Postselect\n",
+    "post_selection = np.all(detectors == 0, axis=1)\n",
+    "observables_postselected = observables[post_selection, :]\n",
+    "print(\"Postselection rate:  \", len(observables_postselected) / len(observables))"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 65,
    "id": "26960cd4",
    "metadata": {},
    "outputs": [
@@ -2280,8 +2734,8 @@
      "name": "stdout",
      "output_type": "stream",
      "text": [
-      "Average bits flipped: 0.0238\n",
-      "Postselection rate:   0.8924\n"
+      "Average bits flipped: 0.022533333333333332\n",
+      "Postselection rate:   0.8968\n"
      ]
     }
    ],
@@ -2308,7 +2762,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": null,
+   "execution_count": 24,
    "id": "647e8d68",
    "metadata": {},
    "outputs": [
@@ -2316,8 +2770,8 @@
      "name": "stdout",
      "output_type": "stream",
      "text": [
-      "Average parity (before correction): 0.0256\n",
-      "Average parity (after correction): 0.0045\n",
+      "Average parity (before correction): 0.0239\n",
+      "Average parity (after correction): 0.0041\n",
       "Average parity (after postselection): 0.0\n"
      ]
     }
@@ -2338,7 +2792,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": null,
+   "execution_count": 25,
    "id": "eec9c1a5",
    "metadata": {},
    "outputs": [],
@@ -2382,9 +2836,9 @@
      "name": "stdout",
      "output_type": "stream",
      "text": [
-      "KL divergence between noiseless and raw observables: 0.03140258079177927\n",
-      "KL divergence between noiseless and decoded observables: 0.004517730612333382\n",
-      "KL divergence between noiseless and post-selected observables: 7.247010556505045e-06\n"
+      "KL divergence between noiseless and raw observables: 0.029743497590517084\n",
+      "KL divergence between noiseless and decoded observables: 0.004125787218643442\n",
+      "KL divergence between noiseless and post-selected observables: 4.857013551372302e-06\n"
      ]
     }
    ],
@@ -2397,9 +2851,20 @@
     "# compute and print the KL divergence between the histograms\n",
     "print(\"KL divergence between noiseless and raw observables:\",kl_divergence(observables_wo_noise_hist, observables_hist))\n",
     "print(\"KL divergence between noiseless and decoded observables:\",kl_divergence(observables_wo_noise_hist, observables_decoded_hist))\n",
+    "# NOTE: why is this not 0?\n",
     "print(\"KL divergence between noiseless and post-selected observables:\",kl_divergence(observables_wo_noise_hist, observables_postselected_hist))\n"
    ]
   },
+  {
+   "cell_type": "code",
+   "execution_count": 29,
+   "id": "25da924b",
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "# NOTE: for the below, how is it enforced?"
+   ]
+  },
   {
    "attachments": {
     "image.png": {
@@ -2429,7 +2894,115 @@
   },
   {
    "cell_type": "code",
-   "execution_count": null,
+   "execution_count": 37,
+   "id": "7c8778b9",
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "from dataclasses import dataclass\n",
+    "from typing import Any\n",
+    "\n",
+    "\n",
+    "@dataclass\n",
+    "class DummyResult:\n",
+    "    _raw_measurements: list[list[bool]]\n",
+    "    _detectors: list[list[bool]]\n",
+    "    _observables: list[list[bool]]\n",
+    "\n",
+    "    @property\n",
+    "    def measurements(self):\n",
+    "        return self._raw_measurements\n",
+    "\n",
+    "    @property\n",
+    "    def detectors(self):\n",
+    "        return self._detectors\n",
+    "\n",
+    "    @property\n",
+    "    def observables(self):\n",
+    "        return self._observables\n",
+    "\n",
+    "    @property\n",
+    "    def return_values(self):\n",
+    "        return []\n",
+    "\n",
+    "\n",
+    "@dataclass\n",
+    "class DummyTask:\n",
+    "    logical_kernel: Any\n",
+    "    detector_error_model: Any = None\n",
+    "\n",
+    "    @property\n",
+    "    def physical_move_kernel(self):\n",
+    "        return self.logical_kernel\n",
+    "\n",
+    "    @property\n",
+    "    def physical_squin_kernel(self):\n",
+    "        return self.logical_kernel\n",
+    "\n",
+    "    @property\n",
+    "    def tsim_circuit(self):\n",
+    "        return None\n",
+    "\n",
+    "    def fidelity_bounds(self):\n",
+    "        return (1.0, 1.0)\n",
+    "\n",
+    "    def visualize(self, animated: bool = False, interactive: bool = True):\n",
+    "        print(\n",
+    "            f\"[DummyTask.visualize] animated={animated}, interactive={interactive}\"\n",
+    "        )\n",
+    "\n",
+    "    def run(self, shots: int = 1, with_noise: bool = True, *, run_detectors: bool = False):\n",
+    "        detectors = [[False] for _ in range(shots)]\n",
+    "        observables = [[False] for _ in range(shots)]\n",
+    "        measurements = [[False] for _ in range(shots)]\n",
+    "        return DummyResult(measurements, detectors, observables)\n",
+    "\n",
+    "    def run_async(self, shots: int = 1, with_noise: bool = True, *, run_detectors: bool = False):\n",
+    "        from concurrent.futures import Future\n",
+    "\n",
+    "        fut = Future()\n",
+    "        fut.set_result(self.run(shots, with_noise, run_detectors=run_detectors))\n",
+    "        return fut\n",
+    "\n",
+    "\n",
+    "@dataclass\n",
+    "class DummyLogicalSimulator:\n",
+    "    noise_model: Any = None\n",
+    "\n",
+    "    def task(self, logical_kernel, m2dets=None, m2obs=None):\n",
+    "        return DummyTask(logical_kernel=logical_kernel)\n",
+    "\n",
+    "    def run(self, logical_squin_kernel, shots: int = 1, with_noise: bool = True, *, run_detectors: bool = False):\n",
+    "        return self.task(logical_squin_kernel).run(\n",
+    "            shots, with_noise, run_detectors=run_detectors\n",
+    "        )\n",
+    "\n",
+    "    def run_async(self, logical_squin_kernel, shots: int = 1, with_noise: bool = True, *, run_detectors: bool = False):\n",
+    "        return self.task(logical_squin_kernel).run_async(\n",
+    "            shots, with_noise, run_detectors=run_detectors\n",
+    "        )\n",
+    "\n",
+    "    def visualize(self, logical_squin_kernel, animated: bool = False, interactive: bool = True):\n",
+    "        return self.task(logical_squin_kernel).visualize(\n",
+    "            animated=animated, interactive=interactive\n",
+    "        )\n",
+    "\n",
+    "    def physical_move_kernel(self, logical_squin_kernel):\n",
+    "        return self.task(logical_squin_kernel).physical_move_kernel\n",
+    "\n",
+    "    def physical_squin_kernel(self, logical_squin_kernel):\n",
+    "        return self.task(logical_squin_kernel).physical_squin_kernel\n",
+    "\n",
+    "    def tsim_circuit(self, logical_squin_kernel, with_noise: bool = True):\n",
+    "        return self.task(logical_squin_kernel).tsim_circuit\n",
+    "\n",
+    "    def fidelity_bounds(self, logical_squin_kernel):\n",
+    "        return self.task(logical_squin_kernel).fidelity_bounds()\n"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 30,
    "id": "dfd1c3c1",
    "metadata": {},
    "outputs": [
@@ -2437,7 +3010,204 @@
      "name": "stdout",
      "output_type": "stream",
      "text": [
-      "Error during kernel definition or task creation: Number of qubits in circuit (12) exceeds maximum supported by logical architecture (10)\n"
+      "Error during kernel definition or task creation: Number of qubits in circuit (12) exceeds maximum supported by logical architecture (10)\n"
+     ]
+    }
+   ],
+   "source": [
+    "try:\n",
+    "    @logical.kernel(aggressive_unroll=True, verify=True)\n",
+    "    def main():\n",
+    "        reg = qubit.qalloc(12)\n",
+    "        squin.h(reg[0])\n",
+    "        squin.cx(reg[0], reg[1])\n",
+    "\n",
+    "        return logical.default_post_processing(reg)\n",
+    "\n",
+    "    task = GeminiLogicalSimulator().task(main)\n",
+    "except BaseException as e:\n",
+    "    print(\"Error during kernel definition or task creation:\", e)"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "c14d19d7",
+   "metadata": {},
+   "source": [
+    "TEST: that qubit allocation is tied to task creation, NOT kernel definition (appears to pass)"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 39,
+   "id": "29fe7a1d",
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "try:\n",
+    "    @logical.kernel(aggressive_unroll=True, verify=True)\n",
+    "    def main():\n",
+    "        reg = qubit.qalloc(12)\n",
+    "        squin.h(reg[0])\n",
+    "        squin.cx(reg[0], reg[1])\n",
+    "\n",
+    "        return logical.default_post_processing(reg)\n",
+    "\n",
+    "    task = DummyLogicalSimulator().task(main)\n",
+    "except BaseException as e:\n",
+    "    print(\"Error during kernel definition or task creation:\", e)"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "262c6906",
+   "metadata": {},
+   "source": [
+    "Repeated non-Clifford rotations"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 40,
+   "id": "6a09540c",
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/html": [
+       "
\n"
+      ],
+      "text/plain": []
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    },
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "Error during kernel definition or task creation: \n",
+      "\u001b[31mValidation failed with 1 violation(s):\u001b[0m\n",
+      "\n",
+      "\u001b[31mGemini Logical Validation:\u001b[0m\n",
+      "  - Non-clifford gate t can only be used for initial state preparation, i.e. as the first gate!\n",
+      "      File \"/Users/jasonhan/Desktop/qmain/kirin-workspace/bloqade-circuit/src/bloqade/squin/stdlib/broadcast/gate.py\", \n",
+      "line 9, col 11\n",
+      "  \u001b[2m │\u001b[0m  squin.cx(reg[0], reg[1])\n",
+      "  \u001b[2m │\u001b[0m  \n",
+      "  9\u001b[2m│\u001b[0m  return logical.default_post_processing(reg)\n",
+      "   \u001b[2m│\u001b[0m  \u001b[31m       ^^^^^^\u001b[0m\n",
+      "\n"
+     ]
+    }
+   ],
+   "source": [
+    "try:\n",
+    "    @logical.kernel(aggressive_unroll=True, verify=True)\n",
+    "    def main():\n",
+    "        reg = qubit.qalloc(12)\n",
+    "        squin.t(reg[0])\n",
+    "        squin.t(reg[0])\n",
+    "        squin.cx(reg[0], reg[1])\n",
+    "\n",
+    "        return logical.default_post_processing(reg)\n",
+    "\n",
+    "    task = GeminiLogicalSimulator().task(main)\n",
+    "except BaseException as e:\n",
+    "    print(\"Error during kernel definition or task creation:\", e)"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "8eed1ddf",
+   "metadata": {},
+   "source": [
+    "TEST: to see if kernel compilation fails for double definition of t gates, or if it's tied to GeminiLogicalSimulator (A: appears tied to kernel definition, which is NOT good imo)"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 42,
+   "id": "4757efdc",
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/html": [
+       "
\n"
+      ],
+      "text/plain": []
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    },
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "Error during kernel definition or task creation: \n",
+      "\u001b[31mValidation failed with 1 violation(s):\u001b[0m\n",
+      "\n",
+      "\u001b[31mGemini Logical Validation:\u001b[0m\n",
+      "  - Non-clifford gate t can only be used for initial state preparation, i.e. as the first gate!\n",
+      "      File \"/Users/jasonhan/Desktop/qmain/kirin-workspace/bloqade-circuit/src/bloqade/squin/stdlib/broadcast/gate.py\", \n",
+      "line 9, col 11\n",
+      "  \u001b[2m │\u001b[0m  squin.cx(reg[0], reg[1])\n",
+      "  \u001b[2m │\u001b[0m  \n",
+      "  9\u001b[2m│\u001b[0m  return logical.default_post_processing(reg)\n",
+      "   \u001b[2m│\u001b[0m  \u001b[31m       ^^^^^^\u001b[0m\n",
+      "\n"
+     ]
+    }
+   ],
+   "source": [
+    "try:\n",
+    "    @logical.kernel(aggressive_unroll=True, verify=True)\n",
+    "    def main():\n",
+    "        reg = qubit.qalloc(12)\n",
+    "        squin.t(reg[0])\n",
+    "        squin.t(reg[0])\n",
+    "        squin.cx(reg[0], reg[1])\n",
+    "\n",
+    "        return logical.default_post_processing(reg)\n",
+    "\n",
+    "    # task = GeminiLogicalSimulator().task(main)\n",
+    "except BaseException as e:\n",
+    "    print(\"Error during kernel definition or task creation:\", e)"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 41,
+   "id": "2e7cc5ee",
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/html": [
+       "
\n"
+      ],
+      "text/plain": []
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    },
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "Error during kernel definition or task creation: \n",
+      "\u001b[31mValidation failed with 1 violation(s):\u001b[0m\n",
+      "\n",
+      "\u001b[31mGemini Logical Validation:\u001b[0m\n",
+      "  - Non-clifford gate t can only be used for initial state preparation, i.e. as the first gate!\n",
+      "      File \"/Users/jasonhan/Desktop/qmain/kirin-workspace/bloqade-circuit/src/bloqade/squin/stdlib/broadcast/gate.py\", \n",
+      "line 9, col 11\n",
+      "  \u001b[2m │\u001b[0m  squin.cx(reg[0], reg[1])\n",
+      "  \u001b[2m │\u001b[0m  \n",
+      "  9\u001b[2m│\u001b[0m  return logical.default_post_processing(reg)\n",
+      "   \u001b[2m│\u001b[0m  \u001b[31m       ^^^^^^\u001b[0m\n",
+      "\n"
      ]
     }
    ],
@@ -2446,28 +3216,37 @@
     "    @logical.kernel(aggressive_unroll=True, verify=True)\n",
     "    def main():\n",
     "        reg = qubit.qalloc(12)\n",
-    "        squin.h(reg[0])\n",
+    "        squin.t(reg[0])\n",
+    "        squin.t(reg[0])\n",
     "        squin.cx(reg[0], reg[1])\n",
     "\n",
     "        return logical.default_post_processing(reg)\n",
     "\n",
-    "    task = GeminiLogicalSimulator().task(main)\n",
+    "    task = DummyLogicalSimulator().task(main)\n",
     "except BaseException as e:\n",
     "    print(\"Error during kernel definition or task creation:\", e)"
    ]
   },
   {
    "cell_type": "markdown",
-   "id": "262c6906",
+   "id": "88eb4a35",
    "metadata": {},
    "source": [
-    "Repeated non-Clifford rotations"
+    "Non-Clifford rotation not as the first gate (This is the same validation error)"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "ddfdd63b",
+   "metadata": {},
+   "source": [
+    "TEST: again, see if this is tied to kernel definition or task creaton"
    ]
   },
   {
    "cell_type": "code",
-   "execution_count": null,
-   "id": "6a09540c",
+   "execution_count": 43,
+   "id": "649f9820",
    "metadata": {},
    "outputs": [
     {
@@ -2489,10 +3268,9 @@
       "\n",
       "\u001b[31mGemini Logical Validation:\u001b[0m\n",
       "  - Non-clifford gate t can only be used for initial state preparation, i.e. as the first gate!\n",
-      "      File \n",
-      "\"/Users/pweinberg/Documents/atom_compiler_dev/bloqade-repos/bloqade-lanes/.venv/lib/python3.12/site-packages/bloqad\n",
-      "e/squin/stdlib/broadcast/gate.py\", line 9, col 11\n",
-      "  \u001b[2m │\u001b[0m  squin.cx(reg[0], reg[1])\n",
+      "      File \"/Users/jasonhan/Desktop/qmain/kirin-workspace/bloqade-circuit/src/bloqade/squin/stdlib/broadcast/gate.py\", \n",
+      "line 9, col 11\n",
+      "  \u001b[2m │\u001b[0m  squin.t(reg[0])\n",
       "  \u001b[2m │\u001b[0m  \n",
       "  9\u001b[2m│\u001b[0m  return logical.default_post_processing(reg)\n",
       "   \u001b[2m│\u001b[0m  \u001b[31m       ^^^^^^\u001b[0m\n",
@@ -2505,9 +3283,9 @@
     "    @logical.kernel(aggressive_unroll=True, verify=True)\n",
     "    def main():\n",
     "        reg = qubit.qalloc(12)\n",
-    "        squin.t(reg[0])\n",
-    "        squin.t(reg[0])\n",
+    "        squin.h(reg[0])\n",
     "        squin.cx(reg[0], reg[1])\n",
+    "        squin.t(reg[0])\n",
     "\n",
     "        return logical.default_post_processing(reg)\n",
     "\n",
@@ -2516,18 +3294,10 @@
     "    print(\"Error during kernel definition or task creation:\", e)"
    ]
   },
-  {
-   "cell_type": "markdown",
-   "id": "88eb4a35",
-   "metadata": {},
-   "source": [
-    "Non-Clifford rotation not as the first gate (This is the same validation error)"
-   ]
-  },
   {
    "cell_type": "code",
-   "execution_count": null,
-   "id": "649f9820",
+   "execution_count": 44,
+   "id": "e6463dd6",
    "metadata": {},
    "outputs": [
     {
@@ -2549,9 +3319,8 @@
       "\n",
       "\u001b[31mGemini Logical Validation:\u001b[0m\n",
       "  - Non-clifford gate t can only be used for initial state preparation, i.e. as the first gate!\n",
-      "      File \n",
-      "\"/Users/pweinberg/Documents/atom_compiler_dev/bloqade-repos/bloqade-lanes/.venv/lib/python3.12/site-packages/bloqad\n",
-      "e/squin/stdlib/broadcast/gate.py\", line 9, col 11\n",
+      "      File \"/Users/jasonhan/Desktop/qmain/kirin-workspace/bloqade-circuit/src/bloqade/squin/stdlib/broadcast/gate.py\", \n",
+      "line 9, col 11\n",
       "  \u001b[2m │\u001b[0m  squin.t(reg[0])\n",
       "  \u001b[2m │\u001b[0m  \n",
       "  9\u001b[2m│\u001b[0m  return logical.default_post_processing(reg)\n",
@@ -2571,7 +3340,7 @@
     "\n",
     "        return logical.default_post_processing(reg)\n",
     "\n",
-    "    task = GeminiLogicalSimulator().task(main)\n",
+    "    # task = GeminiLogicalSimulator().task(main)\n",
     "except BaseException as e:\n",
     "    print(\"Error during kernel definition or task creation:\", e)"
    ]
@@ -2585,9 +3354,17 @@
     "If parallelism is not annotated, the program will implement each two qubit gate sequentially. We currently do not have any auto-paralellization passes."
    ]
   },
+  {
+   "cell_type": "markdown",
+   "id": "88e9d82f",
+   "metadata": {},
+   "source": [
+    "TODO: add auto-parallelization passes?"
+   ]
+  },
   {
    "cell_type": "code",
-   "execution_count": null,
+   "execution_count": 45,
    "id": "f8c3849b",
    "metadata": {},
    "outputs": [],
@@ -2607,7 +3384,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": null,
+   "execution_count": 46,
    "id": "9d6413ab",
    "metadata": {},
    "outputs": [],
@@ -4439,10 +5216,10 @@
        "    "
       ],
       "text/plain": [
-       ""
+       ""
       ]
      },
-     "execution_count": 20,
+     "execution_count": 47,
      "metadata": {},
      "output_type": "execute_result"
     }
@@ -4463,7 +5240,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": null,
+   "execution_count": 48,
    "id": "5693fef4",
    "metadata": {},
    "outputs": [
@@ -5739,10 +6516,10 @@
        "    "
       ],
       "text/plain": [
-       ""
+       ""
       ]
      },
-     "execution_count": 21,
+     "execution_count": 48,
      "metadata": {},
      "output_type": "execute_result"
     }
@@ -5763,7 +6540,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": null,
+   "execution_count": 49,
    "id": "c6568ae7",
    "metadata": {},
    "outputs": [
@@ -7375,10 +8152,10 @@
        "    "
       ],
       "text/plain": [
-       ""
+       ""
       ]
      },
-     "execution_count": 22,
+     "execution_count": 49,
      "metadata": {},
      "output_type": "execute_result"
     }
@@ -7388,11 +8165,481 @@
     "print(\"Fidelity bounds for conflicted parallelized main:\", f)\n",
     "task_conflicted_parallelized.tsim_circuit.diagram(height=task_conflicted_parallelized.tsim_circuit.num_qubits*10)"
    ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 50,
+   "id": "49a50d48",
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "from bloqade.lanes.arch.gemini.impls import generate_arch_hypercube\n",
+    "\n",
+    "arch = generate_arch_hypercube(4)\n",
+    "ax = arch.plot()\n"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 51,
+   "id": "dd4b0aee",
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "image/svg+xml": [
+       "\n",
+       "\n",
+       "\n",
+       " \n",
+       "  \n",
+       "   \n",
+       "    \n",
+       "    2026-03-17T11:04:23.488185\n",
+       "    image/svg+xml\n",
+       "    \n",
+       "     \n",
+       "      Matplotlib v3.10.8, https://matplotlib.org/\n",
+       "     \n",
+       "    \n",
+       "   \n",
+       "  \n",
+       " \n",
+       " \n",
+       "  \n",
+       " \n",
+       " \n",
+       "  \n",
+       "   \n",
+       "  \n",
+       "  \n",
+       "   \n",
+       "    \n",
+       "   \n",
+       "   \n",
+       "    \n",
+       "     \n",
+       "      \n",
+       "       \n",
+       "      \n",
+       "      \n",
+       "       \n",
+       "      \n",
+       "     \n",
+       "     \n",
+       "      \n",
+       "      \n",
+       "       \n",
+       "        \n",
+       "        \n",
+       "       \n",
+       "       \n",
+       "       \n",
+       "       \n",
+       "      \n",
+       "     \n",
+       "    \n",
+       "    \n",
+       "     \n",
+       "      \n",
+       "       \n",
+       "      \n",
+       "     \n",
+       "     \n",
+       "      \n",
+       "      \n",
+       "       \n",
+       "        \n",
+       "       \n",
+       "       \n",
+       "       \n",
+       "       \n",
+       "      \n",
+       "     \n",
+       "    \n",
+       "    \n",
+       "     \n",
+       "      \n",
+       "       \n",
+       "      \n",
+       "     \n",
+       "     \n",
+       "      \n",
+       "      \n",
+       "       \n",
+       "        \n",
+       "       \n",
+       "       \n",
+       "       \n",
+       "       \n",
+       "      \n",
+       "     \n",
+       "    \n",
+       "    \n",
+       "     \n",
+       "      \n",
+       "       \n",
+       "      \n",
+       "     \n",
+       "     \n",
+       "      \n",
+       "      \n",
+       "       \n",
+       "        \n",
+       "       \n",
+       "       \n",
+       "       \n",
+       "       \n",
+       "      \n",
+       "     \n",
+       "    \n",
+       "    \n",
+       "     \n",
+       "      \n",
+       "       \n",
+       "      \n",
+       "     \n",
+       "     \n",
+       "      \n",
+       "      \n",
+       "       \n",
+       "        \n",
+       "       \n",
+       "       \n",
+       "       \n",
+       "       \n",
+       "      \n",
+       "     \n",
+       "    \n",
+       "    \n",
+       "     \n",
+       "      \n",
+       "       \n",
+       "      \n",
+       "     \n",
+       "     \n",
+       "      \n",
+       "      \n",
+       "       \n",
+       "        \n",
+       "       \n",
+       "       \n",
+       "       \n",
+       "       \n",
+       "      \n",
+       "     \n",
+       "    \n",
+       "   \n",
+       "   \n",
+       "    \n",
+       "     \n",
+       "      \n",
+       "       \n",
+       "      \n",
+       "      \n",
+       "       \n",
+       "      \n",
+       "     \n",
+       "     \n",
+       "      \n",
+       "      \n",
+       "       \n",
+       "       \n",
+       "       \n",
+       "      \n",
+       "     \n",
+       "    \n",
+       "    \n",
+       "     \n",
+       "      \n",
+       "       \n",
+       "      \n",
+       "     \n",
+       "     \n",
+       "      \n",
+       "      \n",
+       "       \n",
+       "       \n",
+       "       \n",
+       "      \n",
+       "     \n",
+       "    \n",
+       "    \n",
+       "     \n",
+       "      \n",
+       "       \n",
+       "      \n",
+       "     \n",
+       "     \n",
+       "      \n",
+       "      \n",
+       "       \n",
+       "       \n",
+       "       \n",
+       "      \n",
+       "     \n",
+       "    \n",
+       "    \n",
+       "     \n",
+       "      \n",
+       "       \n",
+       "      \n",
+       "     \n",
+       "     \n",
+       "      \n",
+       "      \n",
+       "       \n",
+       "       \n",
+       "       \n",
+       "      \n",
+       "     \n",
+       "    \n",
+       "    \n",
+       "     \n",
+       "      \n",
+       "       \n",
+       "      \n",
+       "     \n",
+       "     \n",
+       "      \n",
+       "      \n",
+       "       \n",
+       "       \n",
+       "       \n",
+       "      \n",
+       "     \n",
+       "    \n",
+       "    \n",
+       "     \n",
+       "      \n",
+       "       \n",
+       "      \n",
+       "     \n",
+       "     \n",
+       "      \n",
+       "      \n",
+       "       \n",
+       "       \n",
+       "       \n",
+       "      \n",
+       "     \n",
+       "    \n",
+       "   \n",
+       "   \n",
+       "    \n",
+       "   \n",
+       "   \n",
+       "    \n",
+       "   \n",
+       "   \n",
+       "    \n",
+       "   \n",
+       "   \n",
+       "    \n",
+       "   \n",
+       "  \n",
+       " \n",
+       "\n"
+      ],
+      "text/plain": [
+       "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "%matplotlib inline\n", + "\n", + "from bloqade.lanes.arch.gemini.impls import generate_arch_hypercube\n", + "\n", + "arch = generate_arch_hypercube(4)\n", + "ax = arch.plot()\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "6e749af6", + "metadata": {}, + "outputs": [], + "source": [] } ], "metadata": { "kernelspec": { - "display_name": "bloqade-lanes", + "display_name": "kirin-workspace (3.12.13)", "language": "python", "name": "python3" }, @@ -7406,7 +8653,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.12.11" + "version": "3.12.13" } }, "nbformat": 4, diff --git a/demo/steane7_pauli_frame_check.ipynb b/demo/steane7_pauli_frame_check.ipynb new file mode 100644 index 00000000..692d71ab --- /dev/null +++ b/demo/steane7_pauli_frame_check.ipynb @@ -0,0 +1,455 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "title", + "metadata": {}, + "source": [ + "# Steane7 Pauli frame correction check\n", + "\n", + "This notebook checks the last two lines of `steane7_initialize` in `python/bloqade/lanes/arch/gemini/logical/upstream.py`:\n", + "\n", + "```python\n", + "squin.x(qubits[3])\n", + "squin.broadcast.z([qubits[1], qubits[5]])\n", + "```\n", + "\n", + "The test strategy is:\n", + "\n", + "1. factor the encoder into `prepare input`, `native encoder core`, and `Pauli frame correction`;\n", + "2. check Steane stabilizer and logical-observable expectations before and after the correction;\n", + "3. call `steane7_initialize` directly on a few Clifford input states and verify the same logical signatures.\n" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "id": "imports", + "metadata": {}, + "outputs": [], + "source": [ + "import math\n", + "\n", + "import stim\n", + "\n", + "from bloqade import squin\n", + "from bloqade.squin import kernel\n", + "from bloqade.tsim import Circuit\n", + "from bloqade.lanes.arch.gemini.logical.upstream import steane7_initialize\n" + ] + }, + { + "cell_type": "markdown", + "id": "checks", + "metadata": {}, + "source": [ + "We will check the six standard Steane stabilizers and the current logical observables used in this repo:\n", + "\n", + "- X stabilizers on supports `0123`, `1245`, `2346`\n", + "- Z stabilizers on the same supports\n", + "- logical X and Z on support `015`\n", + "\n", + "For a correct encoded state, all six stabilizers should have expectation `+1`. The logical expectation should depend only on the input state.\n" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "pauli-ops", + "metadata": {}, + "outputs": [], + "source": [ + "STEANE_X_STABILIZERS = (\n", + " stim.PauliString(\"+XXXX___\"),\n", + " stim.PauliString(\"+_XX_XX_\"),\n", + " stim.PauliString(\"+__XXX_X\"),\n", + ")\n", + "\n", + "STEANE_Z_STABILIZERS = (\n", + " stim.PauliString(\"+ZZZZ___\"),\n", + " stim.PauliString(\"+_ZZ_ZZ_\"),\n", + " stim.PauliString(\"+__ZZZ_Z\"),\n", + ")\n", + "\n", + "LOGICAL_X = stim.PauliString(\"+XX___X_\")\n", + "LOGICAL_Z = stim.PauliString(\"+ZZ___Z_\")\n", + "\n", + "\n", + "def steane_signature(method):\n", + " sim = stim.TableauSimulator()\n", + " sim.do_circuit(stim.Circuit(str(Circuit(method))))\n", + " return {\n", + " \"x_stabs\": tuple(\n", + " int(sim.peek_observable_expectation(p)) for p in STEANE_X_STABILIZERS\n", + " ),\n", + " \"z_stabs\": tuple(\n", + " int(sim.peek_observable_expectation(p)) for p in STEANE_Z_STABILIZERS\n", + " ),\n", + " \"logical_x\": int(sim.peek_observable_expectation(LOGICAL_X)),\n", + " \"logical_z\": int(sim.peek_observable_expectation(LOGICAL_Z)),\n", + " }\n", + "\n", + "\n", + "def pretty_row(label, variant, sig):\n", + " return {\n", + " \"input\": label,\n", + " \"variant\": variant,\n", + " \"X stabilizers\": sig[\"x_stabs\"],\n", + " \"Z stabilizers\": sig[\"z_stabs\"],\n", + " \"Lx\": sig[\"logical_x\"],\n", + " \"Lz\": sig[\"logical_z\"],\n", + " }\n" + ] + }, + { + "cell_type": "markdown", + "id": "factored-note", + "metadata": {}, + "source": [ + "To keep the comparison purely Clifford, we factor out the initial `u3(...)` and work with Clifford preparations on the data qubit `q[6]`. That isolates exactly what the final `X_3 Z_1 Z_5` frame update is doing.\n" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "factored-kernels", + "metadata": {}, + "outputs": [], + "source": [ + "@kernel\n", + "def prepare_zero(qubit):\n", + " return\n", + "\n", + "\n", + "@kernel\n", + "def prepare_one(qubit):\n", + " squin.x(qubit)\n", + "\n", + "\n", + "@kernel\n", + "def prepare_plus(qubit):\n", + " squin.h(qubit)\n", + "\n", + "\n", + "@kernel\n", + "def prepare_minus(qubit):\n", + " squin.x(qubit)\n", + " squin.h(qubit)\n", + "\n", + "\n", + "PREPARE_BY_LABEL = {\n", + " \"|0>\": prepare_zero,\n", + " \"|1>\": prepare_one,\n", + " \"|+>\": prepare_plus,\n", + " \"|->\": prepare_minus,\n", + "}\n", + "\n", + "\n", + "@kernel\n", + "def native_encoder_core_without_frame(q):\n", + " squin.broadcast.sqrt_y_adj(q[:6])\n", + " evens = q[::2]\n", + " odds = q[1::2]\n", + "\n", + " squin.broadcast.cz(odds, evens[1:])\n", + " squin.sqrt_y(q[6])\n", + " squin.broadcast.cz(evens[:-1], [q[3], q[5], q[6]])\n", + " squin.broadcast.sqrt_y(q[2:])\n", + " squin.broadcast.cz(evens[:-1], odds)\n", + " squin.broadcast.sqrt_y([q[1], q[2], q[4]])\n", + "\n", + "\n", + "@kernel\n", + "def pauli_frame_correction(q):\n", + " squin.x(q[3])\n", + " squin.broadcast.z([q[1], q[5]])\n", + "\n", + "\n", + "def make_factored_kernel(prepare, *, with_frame):\n", + " @kernel\n", + " def circuit():\n", + " q = squin.qalloc(7)\n", + " prepare(q[6])\n", + " native_encoder_core_without_frame(q)\n", + " if with_frame:\n", + " pauli_frame_correction(q)\n", + "\n", + " return circuit\n" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "factored-results", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "[{'input': '|0>',\n", + " 'variant': 'without frame correction',\n", + " 'X stabilizers': (-1, 1, 1),\n", + " 'Z stabilizers': (-1, 1, -1),\n", + " 'Lx': 0,\n", + " 'Lz': 1},\n", + " {'input': '|0>',\n", + " 'variant': 'with X3 Z1 Z5 frame correction',\n", + " 'X stabilizers': (1, 1, 1),\n", + " 'Z stabilizers': (1, 1, 1),\n", + " 'Lx': 0,\n", + " 'Lz': 1},\n", + " {'input': '|1>',\n", + " 'variant': 'without frame correction',\n", + " 'X stabilizers': (-1, 1, 1),\n", + " 'Z stabilizers': (-1, 1, -1),\n", + " 'Lx': 0,\n", + " 'Lz': -1},\n", + " {'input': '|1>',\n", + " 'variant': 'with X3 Z1 Z5 frame correction',\n", + " 'X stabilizers': (1, 1, 1),\n", + " 'Z stabilizers': (1, 1, 1),\n", + " 'Lx': 0,\n", + " 'Lz': -1},\n", + " {'input': '|+>',\n", + " 'variant': 'without frame correction',\n", + " 'X stabilizers': (-1, 1, 1),\n", + " 'Z stabilizers': (-1, 1, -1),\n", + " 'Lx': 1,\n", + " 'Lz': 0},\n", + " {'input': '|+>',\n", + " 'variant': 'with X3 Z1 Z5 frame correction',\n", + " 'X stabilizers': (1, 1, 1),\n", + " 'Z stabilizers': (1, 1, 1),\n", + " 'Lx': 1,\n", + " 'Lz': 0},\n", + " {'input': '|->',\n", + " 'variant': 'without frame correction',\n", + " 'X stabilizers': (-1, 1, 1),\n", + " 'Z stabilizers': (-1, 1, -1),\n", + " 'Lx': -1,\n", + " 'Lz': 0},\n", + " {'input': '|->',\n", + " 'variant': 'with X3 Z1 Z5 frame correction',\n", + " 'X stabilizers': (1, 1, 1),\n", + " 'Z stabilizers': (1, 1, 1),\n", + " 'Lx': -1,\n", + " 'Lz': 0}]" + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "factored_results = []\n", + "\n", + "for label, prepare in PREPARE_BY_LABEL.items():\n", + " no_frame = steane_signature(make_factored_kernel(prepare, with_frame=False))\n", + " with_frame = steane_signature(make_factored_kernel(prepare, with_frame=True))\n", + "\n", + " factored_results.append(\n", + " pretty_row(label, \"without frame correction\", no_frame)\n", + " )\n", + " factored_results.append(\n", + " pretty_row(label, \"with X3 Z1 Z5 frame correction\", with_frame)\n", + " )\n", + "\n", + "factored_results\n" + ] + }, + { + "cell_type": "markdown", + "id": "factored-interpretation", + "metadata": {}, + "source": [ + "The pattern to look for is:\n", + "\n", + "- without frame correction, the logical observable is already correct, but the first X stabilizer and two Z stabilizers have sign `-1`;\n", + "- after applying `X_3 Z_1 Z_5`, all six Steane stabilizers become `+1`;\n", + "- the logical eigenvalue stays unchanged.\n", + "\n", + "That is exactly the behavior we want from a Pauli frame correction.\n" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "factored-asserts", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Factored frame-correction checks passed.\n" + ] + } + ], + "source": [ + "for label, prepare in PREPARE_BY_LABEL.items():\n", + " no_frame = steane_signature(make_factored_kernel(prepare, with_frame=False))\n", + " with_frame = steane_signature(make_factored_kernel(prepare, with_frame=True))\n", + "\n", + " assert no_frame[\"x_stabs\"] == (-1, 1, 1), label\n", + " assert no_frame[\"z_stabs\"] == (-1, 1, -1), label\n", + " assert with_frame[\"x_stabs\"] == (1, 1, 1), label\n", + " assert with_frame[\"z_stabs\"] == (1, 1, 1), label\n", + " assert with_frame[\"logical_x\"] == no_frame[\"logical_x\"], label\n", + " assert with_frame[\"logical_z\"] == no_frame[\"logical_z\"], label\n", + "\n", + "print(\"Factored frame-correction checks passed.\")\n" + ] + }, + { + "cell_type": "markdown", + "id": "direct-call-note", + "metadata": {}, + "source": [ + "Now we connect back to the actual implementation by calling `steane7_initialize(...)` directly on four Clifford input states. The `u3` angles below prepare `|0>`, `|1>`, `|+>`, and `|->` on the input qubit before encoding.\n" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "direct-call-results", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "[{'input': '|0>',\n", + " 'variant': 'direct steane7_initialize',\n", + " 'X stabilizers': (1, 1, 1),\n", + " 'Z stabilizers': (1, 1, 1),\n", + " 'Lx': 0,\n", + " 'Lz': 1},\n", + " {'input': '|1>',\n", + " 'variant': 'direct steane7_initialize',\n", + " 'X stabilizers': (1, 1, 1),\n", + " 'Z stabilizers': (1, 1, 1),\n", + " 'Lx': 0,\n", + " 'Lz': -1},\n", + " {'input': '|+>',\n", + " 'variant': 'direct steane7_initialize',\n", + " 'X stabilizers': (1, 1, 1),\n", + " 'Z stabilizers': (1, 1, 1),\n", + " 'Lx': 1,\n", + " 'Lz': 0},\n", + " {'input': '|->',\n", + " 'variant': 'direct steane7_initialize',\n", + " 'X stabilizers': (1, 1, 1),\n", + " 'Z stabilizers': (1, 1, 1),\n", + " 'Lx': -1,\n", + " 'Lz': 0}]" + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "ANGLE_BY_LABEL = {\n", + " \"|0>\": (0.0, 0.0, 0.0),\n", + " \"|1>\": (math.pi, 0.0, 0.0),\n", + " \"|+>\": (math.pi / 2, 0.0, 0.0),\n", + " \"|->\": (math.pi / 2, math.pi, 0.0),\n", + "}\n", + "\n", + "\n", + "def make_actual_initializer_kernel(label):\n", + " theta, phi, lam = ANGLE_BY_LABEL[label]\n", + "\n", + " @kernel\n", + " def circuit():\n", + " q = squin.qalloc(7)\n", + " steane7_initialize(theta, phi, lam, q)\n", + "\n", + " return circuit\n", + "\n", + "\n", + "actual_results = []\n", + "\n", + "for label in ANGLE_BY_LABEL:\n", + " sig = steane_signature(make_actual_initializer_kernel(label))\n", + " actual_results.append(pretty_row(label, \"direct steane7_initialize\", sig))\n", + "\n", + "actual_results\n" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "direct-call-asserts", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Direct steane7_initialize checks passed.\n" + ] + } + ], + "source": [ + "expected_logical = {\n", + " \"|0>\": {\"logical_x\": 0, \"logical_z\": 1},\n", + " \"|1>\": {\"logical_x\": 0, \"logical_z\": -1},\n", + " \"|+>\": {\"logical_x\": 1, \"logical_z\": 0},\n", + " \"|->\": {\"logical_x\": -1, \"logical_z\": 0},\n", + "}\n", + "\n", + "for label, expected in expected_logical.items():\n", + " sig = steane_signature(make_actual_initializer_kernel(label))\n", + " assert sig[\"x_stabs\"] == (1, 1, 1), label\n", + " assert sig[\"z_stabs\"] == (1, 1, 1), label\n", + " assert sig[\"logical_x\"] == expected[\"logical_x\"], label\n", + " assert sig[\"logical_z\"] == expected[\"logical_z\"], label\n", + "\n", + "print(\"Direct steane7_initialize checks passed.\")\n" + ] + }, + { + "cell_type": "markdown", + "id": "conclusion", + "metadata": {}, + "source": [ + "Conclusion:\n", + "\n", + "- `X(q[3])` and `Z(q[1]), Z(q[5])` do act as a Pauli frame correction;\n", + "- they fix the stabilizer signs introduced by the native encoder core;\n", + "- they do **not** change the encoded logical information.\n", + "\n", + "So the correction is doing the right thing: it moves the output from the correct logical sector with a bad frame into the standard Steane code space with the expected `+1` stabilizers.\n" + ] + }, + { + "cell_type": "markdown", + "id": "34e87d29", + "metadata": {}, + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "kirin-workspace (3.12.13)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.12.13" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/python/bloqade/gemini/device.py b/python/bloqade/gemini/device.py index 0cc55a51..5c7ed4e4 100644 --- a/python/bloqade/gemini/device.py +++ b/python/bloqade/gemini/device.py @@ -36,6 +36,22 @@ def _default_noise_model() -> NoiseModelABC: return generate_simple_noise_model() +def _prepend_zero_noise_channel( + circuit: tsim_backend.Circuit, +) -> tsim_backend.Circuit: + """Ensure noiseless tsim circuits still contain a no-op noise instruction. + + Some tsim sampling paths behave incorrectly on completely noise-free circuits. + To avoid that edge case while preserving semantics, prepend a zero-probability + depolarizing channel on every qubit. + """ + if circuit.num_qubits == 0: + return circuit + + qubits = " ".join(str(q) for q in range(circuit.num_qubits)) + return tsim_backend.Circuit(f"DEPOLARIZE1(0) {qubits}") + circuit + + @dataclass(frozen=True) class DetectorResult: """Result from the detector sampler containing only detector and observable outcomes.""" @@ -207,7 +223,7 @@ def tsim_circuit(self) -> tsim_backend.Circuit: @cached_property def noiseless_tsim_circuit(self) -> tsim_backend.Circuit: """The noiseless tsim circuit.""" - return self.tsim_circuit.without_noise() + return _prepend_zero_noise_channel(self.tsim_circuit.without_noise()) @cached_property def measurement_sampler(self): diff --git a/python/tests/demo/test_msd_utils.py b/python/tests/demo/test_msd_utils.py new file mode 100644 index 00000000..8b4456b5 --- /dev/null +++ b/python/tests/demo/test_msd_utils.py @@ -0,0 +1,271 @@ +from __future__ import annotations + +import json +import sys +from pathlib import Path + +import numpy as np +import pytest + +sys.path.insert(0, str(Path(__file__).resolve().parents[3])) + +from demo.msd_utils.circuits import ( + build_decoder_kernel_bundle, + build_naive_kernel_bundle, +) +from demo.msd_utils.core import ( + BasisDataset, + fidelity_from_counts, + pack_boolean_array, + split_factory_bits, +) +from demo.msd_utils.decoders import ( + DecoderAdapter, + build_mle_decoders, + evaluate_curve, + evaluate_mld_curve, +) + + +def test_fidelity_from_counts_returns_ordered_interval(): + summary = fidelity_from_counts( + np.array([0, 0, 1, 0], dtype=np.uint8), + np.array([0, 1, 0, 0], dtype=np.uint8), + np.array([0, 0, 0, 1], dtype=np.uint8), + posterior_samples=256, + ) + assert set(summary) >= {"point", "median", "low", "high", "bloch"} + assert summary["low"] <= summary["median"] <= summary["high"] + assert len(summary["bloch"]) == 3 + + +def test_fidelity_from_counts_realistic_interval_is_finite_and_noncollapsed(): + x_bits = np.array([0] * 3060 + [1] * 940, dtype=np.uint8) + y_bits = np.array([0] * 3040 + [1] * 960, dtype=np.uint8) + z_bits = np.array([0] * 3090 + [1] * 910, dtype=np.uint8) + + summary = fidelity_from_counts( + x_bits, + y_bits, + z_bits, + posterior_samples=20_000, + ) + + assert np.isfinite(summary["point"]) + assert np.isfinite(summary["median"]) + assert np.isfinite(summary["low"]) + assert np.isfinite(summary["high"]) + assert summary["high"] - summary["low"] > 1e-3 + + +def test_split_factory_bits_and_pack_boolean_array(): + det = np.array([[1, 0, 1, 1, 0], [0, 1, 0, 0, 1]], dtype=np.uint8) + obs = np.array([[1, 0, 1], [0, 1, 0]], dtype=np.uint8) + anc_det, anc_obs = split_factory_bits(det, obs) + assert anc_det.tolist() == [[1, 0], [0, 1]] + assert anc_obs.tolist() == [[0, 1], [1, 0]] + assert pack_boolean_array(anc_det).tolist() == [0b01, 0b10] + + +def test_kernel_builders_return_expected_basis_maps(): + naive = build_naive_kernel_bundle(0.1, 0.2, 0.3) + decoder = build_decoder_kernel_bundle(0.1, 0.2, 0.3) + assert set(naive.distilled) == {"X", "Y", "Z"} + assert set(naive.injected) == {"X", "Y", "Z"} + assert set(decoder.actual) == {"X", "Y", "Z"} + assert set(decoder.special) == {"X", "Y", "Z"} + assert set(decoder.injected) == {"X", "Y", "Z"} + + +class _FakeDense: + def __init__(self, arr): + self._arr = np.asarray(arr) + + def toarray(self): + return self._arr + + +class _FakeDemMatrix: + def __init__(self, check_matrix, observables_matrix, priors): + self.check_matrix = _FakeDense(check_matrix) + self.observables_matrix = _FakeDense(observables_matrix) + self.priors = priors + + +class _NewStyleGurobi: + def __init__(self, dem): + self.dem = dem + + def decode( + self, + detector_bits, + verbose=False, + return_weights=False, + return_logical_gap=False, + ): + correction = np.zeros(self.dem.num_observables, dtype=bool) + if return_logical_gap: + return correction, np.array([2.5], dtype=float) + if return_weights: + return correction, np.array([1.0], dtype=float) + return correction + + +class _OldStyleGurobi: + def __init__(self, dem): + self.dem = dem + + def decode(self, detector_bits, verbose=False, return_weights=False): + correction = np.zeros(self.dem.num_observables, dtype=bool) + if return_weights: + return correction, np.array([0.75], dtype=float) + return correction + + +class _FakeTask: + detector_error_model = object() + + +def test_build_mle_decoders_supports_newer_and_older_decoder_apis(monkeypatch): + monkeypatch.setattr( + "demo.msd_utils.decoders.detector_error_model_to_check_matrices", + lambda *args, **kwargs: _FakeDemMatrix( + check_matrix=np.array([[1, 0], [0, 1], [1, 1], [0, 1]], dtype=int), + observables_matrix=np.array([[1, 0], [0, 1]], dtype=int), + priors=np.array([0.1, 0.2], dtype=float), + ), + ) + + adapter_new = build_mle_decoders(_FakeTask(), gurobi_decoder_cls=_NewStyleGurobi) + _, score_new = adapter_new.decode_factory("0") + assert adapter_new.factory_score_mode == "logical_gap" + assert score_new == pytest.approx(2.5) + + adapter_old = build_mle_decoders(_FakeTask(), gurobi_decoder_cls=_OldStyleGurobi) + _, score_old = adapter_old.decode_factory("0") + assert adapter_old.factory_score_mode == "weight" + assert score_old == pytest.approx(0.75) + + +def test_evaluate_curve_returns_monotone_acceptance(): + dataset = BasisDataset( + detectors=np.array( + [ + [0, 0, 0, 0], + [0, 0, 0, 1], + [0, 0, 1, 0], + [0, 0, 1, 1], + ], + dtype=np.uint8, + ), + observables=np.array( + [ + [0, 0], + [0, 0], + [1, 0], + [0, 0], + ], + dtype=np.uint8, + ), + ) + + def make_adapter(): + def decode_factory(key: str): + a_det = np.array([int(x) for x in key], dtype=np.uint8) + return (0,), 1.0 - 0.25 * int(a_det[-1]) + + def decode_full(key: str): + return (0, 0) + + return DecoderAdapter( + full_decoder=None, + factory_decoder=None, + decode_factory=decode_factory, + decode_full=decode_full, + factory_score_mode="logical_gap", + ) + + curves = evaluate_curve( + {"X": dataset, "Y": dataset, "Z": dataset}, + {"X": make_adapter(), "Y": make_adapter(), "Z": make_adapter()}, + posterior_samples=64, + threshold_points=3, + metric="test", + factory_target=np.array([0], dtype=np.uint8), + sign_vector=(1.0, 1.0, 1.0), + min_accepted_per_basis=1, + ) + + accepted = curves["accepted_fraction"] + assert accepted.ndim == 1 + assert np.all(np.diff(accepted) >= -1e-12) + + +def test_evaluate_mld_curve_uses_cumulative_pattern_ordering(): + dataset = BasisDataset( + detectors=np.array( + [ + [0, 0, 0, 0], + [0, 0, 0, 0], + [0, 0, 0, 1], + [0, 0, 0, 1], + ], + dtype=np.uint8, + ), + observables=np.array( + [ + [0, 0], + [0, 0], + [1, 0], + [1, 0], + ], + dtype=np.uint8, + ), + ) + + def make_adapter(): + def decode_factory(key: str): + a_det = np.array([int(x) for x in key], dtype=np.uint8) + # Deliberately misleading score: the lower-fidelity pattern gets the + # higher decoder score. The evaluator should ignore this and rank by + # the fidelity induced by the corrected output bits instead. + return (0,), 0.5 if int(a_det[-1]) == 0 else 1.0 + + def decode_full(key: str): + return (0, 0) + + return DecoderAdapter( + full_decoder=None, + factory_decoder=None, + decode_factory=decode_factory, + decode_full=decode_full, + factory_score_mode="mld_output_fidelity", + ) + + curves = evaluate_mld_curve( + {"X": dataset, "Y": dataset, "Z": dataset}, + {"X": make_adapter(), "Y": make_adapter(), "Z": make_adapter()}, + posterior_samples=64, + factory_target=np.array([0], dtype=np.uint8), + sign_vector=(1.0, 1.0, 1.0), + min_accepted_per_basis=1, + ) + + accepted = curves["accepted_fraction"] + fidelity = curves["fidelity"] + assert accepted.ndim == 1 + assert np.all(np.diff(accepted) >= -1e-12) + assert accepted[0] == pytest.approx(0.5) + assert accepted[-1] == pytest.approx(1.0) + assert fidelity[0] >= fidelity[-1] + assert fidelity[0] > 0.8 + + +def test_notebooks_import_shared_msd_utils(): + for notebook in [ + Path("demo/magic_state_distillation_reprod.ipynb"), + Path("demo/msd_reprod_bloqade_decoders.ipynb"), + ]: + nb = json.loads(notebook.read_text()) + joined = "\n".join("".join(cell.get("source", [])) for cell in nb["cells"]) + assert "demo.msd_utils" in joined diff --git a/python/tests/test_device.py b/python/tests/test_device.py index 6d6c0a41..1e1d3779 100644 --- a/python/tests/test_device.py +++ b/python/tests/test_device.py @@ -202,6 +202,18 @@ def set_observable(qubit_index: int): assert return_values_first is return_values_second +def test_noiseless_tsim_circuit_has_zero_noise_sentinel(): + sim = GeminiLogicalSimulator() + task = sim.task(main) + + noiseless = task.noiseless_tsim_circuit + noiseless_text = str(noiseless) + + assert "DEPOLARIZE1(0)" in noiseless_text + assert noiseless.compile_sampler() is not None + assert noiseless.compile_detector_sampler() is not None + + def _steane_matrices(num_qubits: int): return steane7_m2dets(num_qubits), steane7_m2obs(num_qubits)