{ "cells": [ { "cell_type": "code", "execution_count": 1, "id": "dbf7d732", "metadata": { "execution": { "iopub.execute_input": "2024-04-26T18:19:08.822088Z", "iopub.status.busy": "2024-04-26T18:19:08.821801Z", "iopub.status.idle": "2024-04-26T18:19:08.825444Z", "shell.execute_reply": "2024-04-26T18:19:08.825021Z" }, "nbsphinx": "hidden" }, "outputs": [], "source": [ "# Copyright 2024 Keysight Technologies Inc." ] }, { "cell_type": "raw", "id": "bfddab19", "metadata": { "raw_mimetype": "text/restructuredtext" }, "source": [ "Example: Comparing Infidelities with SRB and XRB\n", "================================================\n", "\n", "This example demonstrates how to estimate the process infidelities of specified\n", "systems using :tqdoc:`SRB`\\, and how this quantity can be divided into coherent and\n", "stochastic infidelity by the addition of :tqdoc:`XRB` circuits. While this example\n", "uses the built-in :py:class:`~trueq.Simulator` to execute the circuits, the same\n", "procedure can be followed for hardware applications." ] }, { "cell_type": "code", "execution_count": 2, "id": "dbaac773", "metadata": { "execution": { "iopub.execute_input": "2024-04-26T18:19:08.827394Z", "iopub.status.busy": "2024-04-26T18:19:08.827069Z", "iopub.status.idle": "2024-04-26T18:19:13.006244Z", "shell.execute_reply": "2024-04-26T18:19:13.005750Z" } }, "outputs": [ { "data": { "text/html": [ "\n", "\n", "\n", "\n", "
True-Q formatting will not be loaded without trusting this\n", "notebook or rerunning the affected cells. Notebooks can be marked as trusted by clicking\n", "\"File -> Trust Notebook\".
\n", "\n", "\n", "\n", "\n", "\n", " \n", "\n", "\n", " \n", "\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "\n", "\n", "\n", " \n", " \n", "\n", "\n", "\n", " \n", "\n", "\n", "\n", "
\n", "
SRB
\n", "
Streamlined Randomized Benchmarking
\n", "
\n", " Cliffords\n", "\n", "
(0,)
\n", "
\n", "
\n", "
Key:
\n", "
\n", "
    \n", "
  • labels: (0,)
  • \n", "
  • protocol: SRB
  • \n", "
  • twirl: Cliffords on [0, (1, 2), 3]
  • \n", "
\n", "
\n", "
\n", "
\n", "
\n", " Cliffords\n", "\n", "
(1, 2)
\n", "
\n", "
\n", "
Key:
\n", "
\n", "
    \n", "
  • labels: (1, 2)
  • \n", "
  • protocol: SRB
  • \n", "
  • twirl: Cliffords on [0, (1, 2), 3]
  • \n", "
\n", "
\n", "
\n", "
\n", "
\n", " Cliffords\n", "\n", "
(3,)
\n", "
\n", "
\n", "
Key:
\n", "
\n", "
    \n", "
  • labels: (3,)
  • \n", "
  • protocol: SRB
  • \n", "
  • twirl: Cliffords on [0, (1, 2), 3]
  • \n", "
\n", "
\n", "
\n", "
\n", "
\n", "
\n", " ${e}_{F}$\n", "
\n", "
\n", " The probability of an error acting on the targeted systems during a random gate.\n", "
\n", "
\n", " 2.3e-02 (9.2e-04)\n", "
0.022546702265275387, 0.0009215562372938647
\n", "
\n", " 3.9e-02 (1.4e-03)\n", "
0.039390934498134654, 0.0013605019056547535
\n", "
\n", " 2.3e-02 (1.3e-03)\n", "
0.02257337747897606, 0.001311001388838058
\n", "
\n", "
\n", " ${p}$\n", "
\n", "
\n", " Decay parameter of the exponential decay $Ap^m$.\n", "
\n", "
\n", " 9.7e-01 (1.2e-03)\n", "
0.9699377303129662, 0.0012287416497251528
\n", "
\n", " 9.6e-01 (1.5e-03)\n", "
0.9579830032019897, 0.0014512020326984038
\n", "
\n", " 9.7e-01 (1.7e-03)\n", "
0.9699021633613653, 0.0017480018517840772
\n", "
\n", "
\n", " ${A}$\n", "
\n", "
\n", " SPAM parameter of the exponential decay $Ap^m$.\n", "
\n", "
\n", " 9.5e-01 (5.7e-03)\n", "
0.9513819667382615, 0.00571052829124158
\n", "
\n", " 9.2e-01 (8.7e-03)\n", "
0.9156933658449761, 0.008666118251208018
\n", "
\n", " 9.5e-01 (8.1e-03)\n", "
0.9527285904401025, 0.008105648773833228
\n", "
\n", "
XRB
\n", "
Extended Randomized Benchmarking
\n", "
\n", " Cliffords\n", "\n", "
(0,)
\n", "
\n", "
\n", "
Key:
\n", "
\n", "
    \n", "
  • labels: (0,)
  • \n", "
  • protocol: XRB
  • \n", "
  • twirl: Cliffords on [0, (1, 2), 3]
  • \n", "
\n", "
\n", "
\n", "
\n", "
\n", " Cliffords\n", "\n", "
(1, 2)
\n", "
\n", "
\n", "
Key:
\n", "
\n", "
    \n", "
  • labels: (1, 2)
  • \n", "
  • protocol: XRB
  • \n", "
  • twirl: Cliffords on [0, (1, 2), 3]
  • \n", "
\n", "
\n", "
\n", "
\n", "
\n", " Cliffords\n", "\n", "
(3,)
\n", "
\n", "
\n", "
Key:
\n", "
\n", "
    \n", "
  • labels: (3,)
  • \n", "
  • protocol: XRB
  • \n", "
  • twirl: Cliffords on [0, (1, 2), 3]
  • \n", "
\n", "
\n", "
\n", "
\n", "
\n", "
\n", " ${e}_{U}$\n", "
\n", "
\n", " The process infidelity of the coherent error acting on the specifed systems during a random gate.\n", "
\n", "
\n", " 2.8e-03 (1.2e-03)\n", "
0.0027961748426389987, 0.0011867621820910682
\n", "
\n", " 7.4e-04 (1.8e-03)\n", "
0.0007413755541452946, 0.0018499766276306052
\n", "
\n", " 2.5e-03 (1.5e-03)\n", "
0.002496651227054364, 0.001516924281228677
\n", "
\n", "
\n", " ${e}_{S}$\n", "
\n", "
\n", " The probability of a stochastic error acting on the specified systems during a random gate.\n", "
\n", "
\n", " 2.0e-02 (7.5e-04)\n", "
0.019750527422636388, 0.000747755694292145
\n", "
\n", " 3.9e-02 (1.3e-03)\n", "
0.03864955894398936, 0.0012535741252472032
\n", "
\n", " 2.0e-02 (7.6e-04)\n", "
0.020076726251921695, 0.0007631085332020745
\n", "
\n", "
\n", " ${u}$\n", "
\n", "
\n", " The unitarity of the noise, that is, the average decrease in the purity of an initial state.\n", "
\n", "
\n", " 9.5e-01 (2.0e-03)\n", "
0.947852037984266, 0.001954632333190921
\n", "
\n", " 9.2e-01 (2.6e-03)\n", "
0.9191409818864918, 0.00257093128149931
\n", "
\n", " 9.5e-01 (2.0e-03)\n", "
0.9469994965775348, 0.0019941008322145893
\n", "
\n", "
\n", " ${A}$\n", "
\n", "
\n", " SPAM parameter of the exponential decay $Au^m$.\n", "
\n", "
\n", " 9.6e-01 (1.0e-02)\n", "
0.9612316434977186, 0.010011585936591313
\n", "
\n", " 9.8e-01 (1.1e-02)\n", "
0.9826515503622386, 0.01089700175280817
\n", "
\n", " 9.7e-01 (1.1e-02)\n", "
0.9650706917040588, 0.010815743551143037
\n", "
\n", "\n", "\n", "\n", "\n" ], "text/plain": [ "EstimateCollection(6)" ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" } ], "source": [ "import trueq as tq\n", "\n", "# generate SRB circuits to simultaneously characterize a single qubit [0],\n", "# a pair of qubits [1, 2], and another single qubit [3]\n", "circuits = tq.make_srb([[0], [1, 2], [3]], [2, 4, 16], 30)\n", "\n", "# generate XRB circuits using the same arguments as SRB and combine them\n", "circuits += tq.make_xrb([[0], [1, 2], [3]], [2, 4, 16], 30)\n", "\n", "# initialize a noisy simulator with stochastic Pauli and overrotation\n", "sim = tq.Simulator().add_stochastic_pauli(px=0.02).add_overrotation(0.04)\n", "\n", "# run the circuits on the simulator to populate their results\n", "sim.run(circuits, n_shots=1000)\n", "\n", "# print the fit summary\n", "circuits.fit()" ] }, { "cell_type": "raw", "id": "889f9bd0", "metadata": { "raw_mimetype": "text/restructuredtext" }, "source": [ "Notice that the :py:meth:`~trueq.CircuitCollection.fit` output contains an estimate\n", "of process infidelity for the specified systems from :tqdoc:`SRB`\\, the stochastic\n", "infidelity from :tqdoc:`XRB`\\, and the unitary infidelity which would be absent if the\n", "circuit collection did not contain both :tqdoc:`SRB` and :tqdoc:`XRB` circuits. We\n", "can visualize the different process infidelities as follows." ] }, { "cell_type": "code", "execution_count": 3, "id": "7c5891eb", "metadata": { "execution": { "iopub.execute_input": "2024-04-26T18:19:13.008593Z", "iopub.status.busy": "2024-04-26T18:19:13.008109Z", "iopub.status.idle": "2024-04-26T18:19:13.216671Z", "shell.execute_reply": "2024-04-26T18:19:13.216062Z" } }, "outputs": [ { "data": { "image/png": "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3ByDBw/GkydPijzumjVrYGdnB01NTZibm6NXr15lip+IiIhqFibcRETvuWfPnuHgwYMYM2YMtLS05LZZWFhg4MCB2LlzJwRBKFW7U6dOxRdffIHz58/D09MT3bp1U9g93cvLC6GhodDX18ejR4/w6NEjTJkypUzn8urVKwQGBiI2NhYxMTGQSqX4+OOPIZPJShzbixcv0K5dOzRt2hSxsbGIiorC48eP0adPH4XHjI2NxYQJEzB//nxcv34dUVFRaNOmTZniJyIioppFVdkBEBGRct24cQOCIMDBwUHhdgcHBzx//hzJyckwMzMrcbvjxo1Dz549AQBr165FVFQUfvjhB0ybNk2unrq6OgwMDCCRSGBhYVH2EwHE4xXYuHEjTE1NceXKFTg5OZUotlWrVqFp06b45ptv5NqxtLTEP//8g4YNG8od4969e9DR0UHXrl2hp6cHKysrNG3atFznQURERDUD73ATEREAvPUOtrq6eqna8/T0FJ+rqqrC3d0dV69eLVNsJXXjxg30798ftra20NfXh7W1NYD8pLiksV24cAFHjhyBrq6u+LC3twcAhd3TO3ToACsrK9ja2mLw4MHYtm0b0tPTK+kMiYiIqDphwk1E9J5r0KABJBJJkcnw1atXYWpqKs4OLpFICiXnOTk5lR1miXTr1g3Pnj3Dhg0bcPr0aZw+fRoAkJ2dXeI20tLS0K1bN8THx8s9bty4obCruJ6eHuLi4vC///0PtWvXxty5c+Hi4vLOlzwjIiKiqocJNxHRe87Y2BgdOnTAmjVrkJGRIbctMTER27Ztw9ChQ8UyU1NTPHr0SHx948YNhXd0//rrL/F5bm4uzp07V2S3dXV1deTl5ZXrPJ4+fYrr169j9uzZaN++vdgVXpHiYmvWrBkuX74Ma2trNGjQQO6ho6OjsD1VVVX4+vpi0aJF+Pvvv5GQkIDDhw+X63yIiIio+uMYbiIiwqpVq+Dl5QU/Pz8sWLAANjY2uHz5MqZOnYqGDRti7ty5Yt127dph1apV8PT0RF5eHqZPnw41NbVCba5evRp2dnZwcHDA8uXL8fz5c3z66acKj29tbY20tDTExMTAxcUF2tra0NbWVlg3Ly8P8fHxcmUaGhpo1KgRjI2NsX79etSuXRv37t3DjBkzFLZRXGxjx47Fhg0b0L9/f0ybNg1GRka4efMmduzYge+//x4qKipybUVGRuL27dto06YNatWqhQMHDkAmk6FRo0ZFvt9ERET0fuAdbiIigp2dHc6ePQtbW1v06dMHVlZW+Oijj9CwYUOcOHECurq6Yt2lS5fC0tISrVu3xoABAzBlyhSFyfHChQuxcOFCuLi44M8//8T+/fthYmKi8PheXl4YNWoU+vbtC1NTUyxatKjIWNPS0tC0aVO5R7du3SCVSrFjxw6cO3cOTk5OmDx5MhYvXqywjeJiq1OnDk6cOIG8vDx07NgRzs7OmDRpEgwNDSGVFv7fpqGhIfbs2YN27drBwcEBYWFh+N///ofGjRsX+54TERFRzScRSrvOCxERvReCgoKwbNkyREdHo2XLlsoOh4iIiKjaYcJNRERF2rRpE1JSUjBhwgSFd3eJiIiIqGhMuImIiIiIiIgqAW9XEBEREREREVUCJtxERERERERElYAJNxEREREREVElYMJNREREREREVAmYcBMRERERERFVAibcRERERERERJWACTcRERERERFRJWDCTURERERERFQJmHATERERERERVQIm3ERERERERESV4P8ApSwLVXP/7MMAAAAASUVORK5CYII=", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# plot a comparison of process infidelities\n", "circuits.plot.compare_rb()" ] } ], "metadata": { "jupytext": { "cell_metadata_filter": "nbsphinx,raw_mimetype,-all", "main_language": "python", "notebook_metadata_filter": "-all", "text_representation": { "extension": ".py", "format_name": "percent" } }, "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.8.10" } }, "nbformat": 4, "nbformat_minor": 5 }