From 1b0716f0c4dcb54dc81fbef818792943c76cb1cb Mon Sep 17 00:00:00 2001 From: marwafar Date: Thu, 8 Aug 2024 03:01:03 +0000 Subject: [PATCH 1/8] add noisy_examples --- .../python/tutorials/noisy_examples.ipynb | 717 ++++++++++++++++++ 1 file changed, 717 insertions(+) create mode 100644 docs/sphinx/examples/python/tutorials/noisy_examples.ipynb diff --git a/docs/sphinx/examples/python/tutorials/noisy_examples.ipynb b/docs/sphinx/examples/python/tutorials/noisy_examples.ipynb new file mode 100644 index 0000000000..5dfd9283a6 --- /dev/null +++ b/docs/sphinx/examples/python/tutorials/noisy_examples.ipynb @@ -0,0 +1,717 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Noisy Qubit Modeling using the CUDA-Q Density Matrix simulator" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "This notebook will familiarize the user with the CUDA-Q density-matrix-cpu simulator and walk the user through a few simple (but fundamental!) exercises to back out important intrinsic properties of a qubit. We will simulate and examine a few properties of a 'digital twin' of a qubit using a custom noise model acting on a single qubit. The following workflow will simulate the calibration of a single qubit gate to generate a $\\pi$-pulse, frequency calibration, as well as important coherence properties of the qubit like $T_1$, $T_2$, and $T_2^*$.\n", + "\n", + "There are many reasons a user would want to simulate this workflow! Imagine the user is granted access to a blackbox quantum processor with the ability to program basic quantum gates and do measurements. This setup is not unlike many popular QPU cloud providers that are publicly available, including many CUDA-Q hardware partners. In most cases, important characteristics like coherence, gate fidelities, and other qubit parameters are provided to the user. However, it is not uncommon that these quantities drift over the course of the day, or even over the course of an experiment. \n", + "\n", + "In many instances, the user may want to choose which qubits and gate fidelities will yield the highest fidelity for the user's specific application to achieve the highest fidelity results. In other instances, the user may want to simply verify that the user-measured qubit parameters match the provided parameters. Often times, a simple experiment which detects if a qubit's parameters has drifted (or in the worst case, gone bad) can save the user hours of debugging time down the road.\n", + "\n", + "This notebook will model these parameters in a single qubit using the density-matrix-cpu simulator and will also give guidance on how to implement a custom noise model. A GPU accelerated version of this simulator will be released in the future as well which will provide significant performance enhancements. Custom noise models are an incredibly useful tool for characterizing and building intuition for an experimental setup. Noise and crosstalk terms within a Hamiltonian or Lindbladian can be easily implemented as Kraus operators which act on specific quantum channels and can accurately model and predict behavior of real, physical qubits. With a good noise model, anomalous qubit behavior can be readily diagnosed, saving time and access to the real quantum hardware." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We begin by importing cudaq with a few other python packages and a 'hidden' noise model from the `noise_parameters` file" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "import cudaq\n", + "import numpy as np\n", + "import matplotlib.pyplot as plt\n", + "from types import MethodType\n", + "\n", + "from noise_parameters import *" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Amplitude calibration" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "In this exercise we will invoke a custom rx gate which models the ability to set the control pulse time and amplitude provided to the qubit. By varying either the pulse time or amplitude, we can smoothly evolve the qubit state around the X-axis. By measuring the qubit in the Z-basis, we should observe a Rabi oscillation. From this, we will be able to back out what amplitude and time should yield a $\\pi$ pulse.\n", + "\n", + "We define the function `noisy_rabi` which produces a single step of the Rabi experiment, setting an amplitude and time our custom rx gate." + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [], + "source": [ + "##Set the backend to the DM-CPU simulator\n", + "cudaq.set_target('density-matrix-cpu')\n", + "\n", + "##noisy rabi oscillation\n", + "def noisy_rabi(time, amp, shots):\n", + " kernel=cudaq.make_kernel()\n", + " qubits=kernel.qalloc(1)\n", + "\n", + " ##Add the hidden noise model and define the custom_rx gate\n", + " noise_model=hidden_noise_model(time)\n", + " kernel.custom_rx = MethodType(custom_rx, kernel)\n", + "\n", + " ##vary rx rotation angle\n", + " kernel.custom_rx(time,amp,qubits[0])\n", + " kernel.mz(qubits[0])\n", + " counts=cudaq.sample(kernel,shots_count=shots, noise_model=noise_model)\n", + " exp_z=counts.expectation()\n", + "\n", + " return exp_z" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Let's do the experiment starting with an amplitude of 1 (arbitrary units) and a time window of 100 ns" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [], + "source": [ + "#Amplitude\n", + "Amp=1\n", + "#timestep\n", + "dt=1\n", + "times=list(np.arange(0,100,dt))\n", + "\n", + "exp_z=[]\n", + "for t in times:\n", + " exp_z.append(noisy_rabi(t,Amp,1000))" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Text(0, 0.5, '')" + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "plt.plot(times,exp_z,'--o')\n", + "plt.xlabel('Pulse duration (ns)')\n", + "plt.ylabel('')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We see the qubit oscillating very quickly with the assigned parameters. Let's reduce the amplitude by a factor of 10. What happens? \n", + "\n", + "With a reduced amplitude we can clearly see the qubit evolving around the X-axis and we can calibrate the appropriate time it takes to apply a $\\pi$ pulse. Notice there is a slight decay in the qubit amplitude from the excited state (Z=-1) to the ground state (Z=+1) due to $T_1$ decay.\n", + "\n", + "You can also experiment with a longer time window or holding the length of the pulse constant and varying the amplitude." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Frequency calibration" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "In this exercise we will model detecting if a qubit's frequency is calibrated properly. The frequency of the control pulse is required to match the qubit frequency to a high degree of accuracy. If it is detuned, the qubit will appear to precess around the Z-axis. The rate of precession is equal to the detuning frequency.\n", + "\n", + "We will model this as an custom Identity gate (Id) which encodes the detuning error as a coherent Z rotation on the gate.\n", + "\n", + "We will apply a H gate to initialize the qubit in the equator of Bloch sphere and observe a slight precession around the Z axis. One way this precession can be corrected is with an appropriately calibrated rz gate." + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [], + "source": [ + "##noisy precession\n", + "def noisy_precession(time, shots):\n", + " kernel=cudaq.make_kernel()\n", + " qubits=kernel.qalloc(1)\n", + " noise_model=hidden_noise_model(time)\n", + " kernel.Id = MethodType(Id, kernel)\n", + "\n", + " ##put qubit in equator\n", + " kernel.h(qubits[0])\n", + "\n", + " ##Wait for time 'time'\n", + " kernel.Id(time,qubits[0])\n", + "\n", + " ##Apply an Rz correction \n", + " f_correction=0.0\n", + " kernel.rz(f_correction*time,qubits[0])\n", + "\n", + " ##Measure in y basis\n", + " kernel.my(qubits[0])\n", + " counts=cudaq.sample(kernel,shots_count=shots, noise_model=noise_model)\n", + " exp_y=counts.expectation()\n", + "\n", + " return exp_y" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [], + "source": [ + "exp_y=[]\n", + "#timestep\n", + "dt=1\n", + "times=list(np.arange(0,100,dt))\n", + "\n", + "for t in times:\n", + " exp_y.append(noisy_precession(t,1000))" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(-1.0, 1.0)" + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAksAAAG2CAYAAABvWcJYAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/TGe4hAAAACXBIWXMAAA9hAAAPYQGoP6dpAABF/klEQVR4nO3df1xUVeL/8feAMqAGqChIYf4stfy1mkS2lckK6rZZfV1tKdRMH1lmhqa4lWVWaL/WtdysttTK0m033bKPFGHqmoRGsWapmWuRCqgZjKKLCvf7h8vkwMxlgIFhhtfz8ZjHNnfOPXPmus68PefccyyGYRgCAACAUwHebgAAAEBjRlgCAAAwQVgCAAAwQVgCAAAwQVgCAAAwQVgCAAAwQVgCAAAwQVgCAAAwQVgCAAAwQVgCAAAw4VNhafPmzbrhhhsUHR0ti8WitWvXVnvOxo0b9atf/UpWq1XdunXT8uXLq5RZsmSJOnXqpODgYMXGxmrbtm2ebzwAAPBJPhWWSkpK1LdvXy1ZssSt8vv379fIkSM1ZMgQ5ebmavr06brzzjv14Ycf2susXr1aKSkpeuSRR/TFF1+ob9++SkhI0OHDh+vrYwAAAB9i8dWNdC0Wi9asWaNRo0a5LDN79mx98MEH2rlzp/3Y2LFjVVRUpPT0dElSbGysrrjiCr3wwguSpPLycsXExOjee+9VampqvX4GAADQ+DXzdgPqU1ZWluLj4x2OJSQkaPr06ZKk06dPKycnR3PmzLG/HhAQoPj4eGVlZbmst7S0VKWlpfbn5eXlOnbsmNq2bSuLxeLZDwEAAOqFYRg6fvy4oqOjFRDgerDNr8NSQUGBIiMjHY5FRkbKZrPp1KlT+vnnn1VWVua0zO7du13Wm5aWpnnz5tVLmwEAQMP68ccfddFFF7l83a/DUn2ZM2eOUlJS7M+Li4vVsWNH/fjjjwoNDfViywAAgLtsNptiYmJ0wQUXmJbz67AUFRWlwsJCh2OFhYUKDQ1VSEiIAgMDFRgY6LRMVFSUy3qtVqusVmuV46GhoYQlAAB8THVTaHzqbriaiouLU2ZmpsOxjIwMxcXFSZKCgoI0YMAAhzLl5eXKzMy0lwEAAE2bT4WlEydOKDc3V7m5uZLOLQ2Qm5urvLw8SeeGx5KTk+3l77rrLv3nP//RrFmztHv3bv3lL3/R3/72N91///32MikpKXrllVe0YsUK7dq1S1OmTFFJSYkmTJjQoJ8NAAA0Tj41DPf5559ryJAh9ucV84bGjRun5cuXKz8/3x6cJKlz58764IMPdP/99+vPf/6zLrroIv31r39VQkKCvcyYMWN05MgRzZ07VwUFBerXr5/S09OrTPoGAABNk8+us9SY2Gw2hYWFqbi4mDlLAAD4CHd/v31qGA4AAKChEZYAAABMEJYAAABMEJYAAABMEJYAAABMEJYAAABMEJYAAABMEJYAAABMEJYAAABMEJYAAABMEJYAAABMEJYAAABMEJYAAABMEJYAAABMEJYAAABMEJYAAABMEJYAAABMEJYAAABMEJYAAABMEJYAAABMEJYAAABMEJYAAABMEJYAAABMEJYAAABMEJYAAABMEJYAAABMEJYAAABMEJYAAABMEJYAAABMEJYAAABMEJYAAABMEJYAAABMEJYAAABMEJYAAABMEJYAAABM+FxYWrJkiTp16qTg4GDFxsZq27ZtLsted911slgsVR4jR460lxk/fnyV1xMTExviowAAAB/QzNsNqInVq1crJSVFS5cuVWxsrBYtWqSEhATt2bNH7du3r1L+3Xff1enTp+3Pf/rpJ/Xt21ejR492KJeYmKhly5bZn1ut1vr7EAD8Vn7xKe0/WqLOES3VISzE280B4CE+FZaee+45TZo0SRMmTJAkLV26VB988IFee+01paamVinfpk0bh+erVq1SixYtqoQlq9WqqKio+ms4AL+3enue5rz7lcoNKcAipd3cW2Ou6OjtZgHwAJ8Zhjt9+rRycnIUHx9vPxYQEKD4+HhlZWW5Vcerr76qsWPHqmXLlg7HN27cqPbt2+vSSy/VlClT9NNPP5nWU1paKpvN5vAA0HTlF5+yByVJKjekP767U/nFp7zbMAAe4TNh6ejRoyorK1NkZKTD8cjISBUUFFR7/rZt27Rz507deeedDscTExP1+uuvKzMzUwsXLtSmTZs0fPhwlZWVuawrLS1NYWFh9kdMTEztPhQAv7D/aIk9KFUoMwx9f/SkW+fnF5/S1n1H7eGq8vP61tDvB/ganxqGq4tXX31VvXv31qBBgxyOjx071v7fvXv3Vp8+fdS1a1dt3LhRQ4cOdVrXnDlzlJKSYn9us9kITEAT1jmipQIscghMgRaLOkW0qPbcysN3N/W/UGu+PFhlOM9T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GzaovLxcsbGx9dIuAADgW3xm6YC8vDzl5uYqLy9PZWVlys3NVW5ursOaSD169NCaNWskSRaLRdOnT9fjjz+u9957T1999ZWSk5MVHR2tUaNGSZJ69uypxMRETZo0Sdu2bdOnn36qqVOnauzYsW7fCQcAAPybz0zwnjt3rlasWGF/3r9/f0nSJ598ouuuu06StGfPHvudaZI0a9YslZSUaPLkySoqKtLVV1+t9PR0BQcH28usXLlSU6dO1dChQxUQEKBbbrlFixcvbpgPVQ2r1apHHnmkypAfPI9r3XC41g2Ha92wuN4Np6Gvtc+tswQAANCQfGYYDgAAwBsISwAAACYISwAAACYISwAAACYIS43YkiVL1KlTJwUHBys2Nlbbtm3zdpN8Xlpamq644gpdcMEFat++vUaNGqU9e/Y4lPnvf/+re+65R23btlWrVq10yy23qLCw0Est9g8LFiywL+dRgevsWQcPHtRtt92mtm3bKiQkRL1799bnn39uf90wDM2dO1cdOnRQSEiI4uPjtXfvXi+22DeVlZXp4YcfVufOnRUSEqKuXbtq/vz5DnuLca1rZ/PmzbrhhhsUHR0ti8WitWvXOrzuznU9duyYkpKSFBoaqvDwcE2cONFhiaHaIiw1UqtXr1ZKSooeeeQRffHFF+rbt68SEhKqrDiOmtm0aZPuueceffbZZ8rIyNCZM2c0bNgwlZSU2Mvcf//9ev/99/XOO+9o06ZNOnTokG6++WYvttq3bd++XS+99JL69OnjcJzr7Dk///yzBg8erObNm2v9+vX65ptv9Oyzz6p169b2Mk899ZQWL16spUuXKjs7Wy1btlRCQoL++9//erHlvmfhwoV68cUX9cILL2jXrl1auHChnnrqKT3//PP2Mlzr2ikpKVHfvn21ZMkSp6+7c12TkpL09ddfKyMjQ+vWrdPmzZs1efLkujfOQKM0aNAg45577rE/LysrM6Kjo420tDQvtsr/HD582JBkbNq0yTAMwygqKjKaN29uvPPOO/Yyu3btMiQZWVlZ3mqmzzp+/LjRvXt3IyMjw7j22muN++67zzAMrrOnzZ4927j66qtdvl5eXm5ERUUZTz/9tP1YUVGRYbVajbfffrshmug3Ro4cadxxxx0Ox26++WYjKSnJMAyutadIMtasWWN/7s51/eabbwxJxvbt2+1l1q9fb1gsFuPgwYN1ag89S43Q6dOnlZOTo/j4ePuxgIAAxcfHKysry4st8z8Vi5i2adNGkpSTk6MzZ844XPsePXqoY8eOXPtauOeeezRy5EiH6ylxnT3tvffe08CBAzV69Gi1b99e/fv31yuvvGJ/ff/+/SooKHC43mFhYYqNjeV619BVV12lzMxMffvtt5Kkf//739qyZYuGDx8uiWtdX9y5rllZWQoPD9fAgQPtZeLj4xUQEKDs7Ow6vb/PrODdlBw9elRlZWWKjIx0OB4ZGandu3d7qVX+p7y8XNOnT9fgwYN1+eWXS5IKCgoUFBRUZWPkyMhIFRQUeKGVvmvVqlX64osvtH379iqvcZ096z//+Y9efPFFpaSk6I9//KO2b9+uadOmKSgoSOPGjbNfU2ffKVzvmklNTZXNZlOPHj0UGBiosrIyPfHEE0pKSpIkrnU9cee6FhQUqH379g6vN2vWTG3atKnztScsocm65557tHPnTm3ZssXbTfE7P/74o+677z5lZGQ4bC+E+lFeXq6BAwfqySeflHRuO6idO3dq6dKlGjdunJdb51/+9re/aeXKlXrrrbd02WWXKTc3V9OnT1d0dDTX2o8xDNcIRUREKDAwsMqdQYWFhYqKivJSq/zL1KlTtW7dOn3yySe66KKL7MejoqJ0+vRpFRUVOZTn2tdMTk6ODh8+rF/96ldq1qyZmjVrpk2bNmnx4sVq1qyZIiMjuc4e1KFDB/Xq1cvhWM+ePZWXlydJ9mvKd0rdPfDAA0pNTdXYsWPVu3dv3X777br//vuVlpYmiWtdX9y5rlFRUVVugjp79qyOHTtW52tPWGqEgoKCNGDAAGVmZtqPlZeXKzMzU3FxcV5sme8zDENTp07VmjVrtGHDBnXu3Nnh9QEDBqh58+YO137Pnj3Ky8vj2tfA0KFD9dVXXyk3N9f+GDhwoJKSkuz/zXX2nMGDB1dZAuPbb7/VxRdfLEnq3LmzoqKiHK63zWZTdnY217uGTp48qYAAx5/OwMBAlZeXS+Ja1xd3rmtcXJyKioqUk5NjL7NhwwaVl5crNja2bg2o0/Rw1JtVq1YZVqvVWL58ufHNN98YkydPNsLDw42CggJvN82nTZkyxQgLCzM2btxo5Ofn2x8nT560l7nrrruMjh07Ghs2bDA+//xzIy4uzoiLi/Niq/3D+XfDGQbX2ZO2bdtmNGvWzHjiiSeMvXv3GitXrjRatGhhvPnmm/YyCxYsMMLDw41//vOfxo4dO4wbb7zR6Ny5s3Hq1Ckvttz3jBs3zrjwwguNdevWGfv37zfeffddIyIiwpg1a5a9DNe6do4fP258+eWXxpdffmlIMp577jnjyy+/NH744QfDMNy7romJiUb//v2N7OxsY8uWLUb37t2NW2+9tc5tIyw1Ys8//7zRsWNHIygoyBg0aJDx2WefebtJPk+S08eyZcvsZU6dOmXcfffdRuvWrY0WLVoYN910k5Gfn++9RvuJymGJ6+xZ77//vnH55ZcbVqvV6NGjh/Hyyy87vF5eXm48/PDDRmRkpGG1Wo2hQ4cae/bs8VJrfZfNZjPuu+8+o2PHjkZwcLDRpUsX48EHHzRKS0vtZbjWtfPJJ584/X4eN26cYRjuXdeffvrJuPXWW41WrVoZoaGhxoQJE4zjx4/XuW0Wwzhv2VEAAAA4YM4SAACACcISAACACcISAACACcISAACACcISAACACcISAACACcISAACACcISAACACcISgHrXqVMnLVq0qEHf02KxaO3atQ36nud79NFH1a9fvwZ5r8zMTPXs2VNlZWUeqS81NVX33nuvR+oC/AFhCYCp8ePHy2KxyGKxKCgoSN26ddNjjz2ms2fPertpjYazYDZz5kyHTT/r06xZs/TQQw8pMDDQI/XNnDlTK1as0H/+8x+P1Af4OsISgGolJiYqPz9fe/fu1YwZM/Too4/q6aef9naz6lVZWZl9J/naaNWqldq2bevBFjm3ZcsW7du3T7fccovH6oyIiFBCQoJefPFFj9UJ+DLCEoBqWa1WRUVF6eKLL9aUKVMUHx+v9957T5J03XXXafr06Q7lR40apfHjxzutyzAMPfroo+rYsaOsVquio6M1bdo0++ulpaWaOXOmLrzwQrVs2VKxsbHauHGjafv27t2ra665RsHBwerVq5cyMjIcXt+4caMsFouKiorsx3Jzc2WxWPT9999LkpYvX67w8HC999576tWrl6xWq/Ly8rR9+3b95je/UUREhMLCwnTttdfqiy++sNfTqVMnSdJNN90ki8Vif155GK68vFyPPfaYLrroIlmtVvXr10/p6en217///ntZLBa9++67GjJkiFq0aKG+ffsqKyvL9LOvWrVKv/nNbxQcHGw/VvHeb7zxhjp16qSwsDCN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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "plt.plot(times,exp_y,'.')\n", + "plt.xlabel('Pulse duration (ns)')\n", + "plt.ylabel('')\n", + "plt.ylim([-1,1])" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We see the qubit slowly precessing about the Z-axis of the Bloch sphere indicating a slight detuning of the qubit frequency. Try adding a correction of $-\\pi/250$ per ns." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## $T_1$ measurement" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Let's do a simple $T_1$ measurement by exciting the qubit with an X gate, waiting for an Identity gate with time `time` and measuring the resulting Z population. Due to $T_1$ decay, the Z population will slowly relax to the ground state over time." + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [], + "source": [ + "##T1 experiment\n", + "def T1_exp(time, shots):\n", + " kernel=cudaq.make_kernel()\n", + " qubits=kernel.qalloc(1)\n", + " noise_model=hidden_noise_model(time)\n", + " kernel.Id = MethodType(Id, kernel)\n", + "\n", + " ##excite qubit\n", + " kernel.x(qubits[0])\n", + "\n", + " ##wait\n", + " kernel.Id(time,qubits[0])\n", + "\n", + " ##measure in z basis\n", + " kernel.mz(qubits[0])\n", + " counts=cudaq.sample(kernel,shots_count=shots, noise_model=noise_model)\n", + " exp_z=counts.expectation()\n", + "\n", + " return exp_z" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [], + "source": [ + "exp_z=[]\n", + "#timestep\n", + "dt=50\n", + "end_time=5000 #ns\n", + "times=list(np.arange(0,end_time,dt))\n", + "shots=1000\n", + "\n", + "for t in times:\n", + " exp_z.append(T1_exp(t,1000))" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Text(0, 0.5, '')" + ] + }, + "execution_count": 10, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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NgcOHDAkGfn5+YZhnA23QUFBRklJidnmz3/+sxEZGWne33vuucf4wQ9+YPdbmZmZRnp6eltfkk/r3r278de//pX73EZOnjxpXHjhhcamTZuMH/3oR2ZY4n57ztKlS41hw4Y5/MwX7zPTcD6opqZGO3fuVFpamnksKChIaWlpys/P92LP/FdhYaFKSkrs7mlUVJRSUlLMe5qfn6/o6GiNGjXKbJOWlqagoCAVFBSYbS677DKFhISYbdLT03Xo0CF9++237XQ1vsdqtUqSevToIUnauXOnTp8+bXe/Bw4cqN69e9vd7yFDhiguLs5sk56eLpvNpo8//ths0/Ac9W066v8OamtrtW7dOlVWVio1NZX73Ebmzp2ra665psk94X571meffabExET17dtXU6dOVVFRkSTfvM+EJR9UVlam2tpau/8SSFJcXJxKSkq81Cv/Vn/fXN3TkpIS9erVy+7zTp06qUePHnZtHJ2j4W90NHV1dZo/f77GjRunwYMHSzp7L0JCQhQdHW3XtvH9bu5eOmtjs9lUVVXVFpfjk/bt26euXbsqNDRUt956qzZu3KhBgwZxn9vAunXrtGvXLuXk5DT5jPvtOSkpKVqzZo1yc3P15z//WYWFhfrhD3+okydP+uR97tSi1gDQyNy5c7V//35t3brV210JWAMGDNCePXtktVr18ssv6+abb9a7777r7W4FnC+//FK/+tWvtGnTJoWFhXm7OwHtqquuMv89dOhQpaSk6IILLtDf//53hYeHe7FnjjGy5INiYmIUHBzcZOV/aWmp4uPjvdQr/1Z/31zd0/j4eB0/ftzu8zNnzujEiRN2bRydo+FvdCTz5s3T66+/rnfeeUfnn3++eTw+Pl41NTUqLy+3a9/4fjd3L521iYyM9Mn/Q20rISEh6t+/v0aOHKmcnBwNGzZM//d//8d99rCdO3fq+PHjuuSSS9SpUyd16tRJ7777rlasWKFOnTopLi6O+91GoqOjddFFF+nzzz/3yf9eE5Z8UEhIiEaOHKm8vDzzWF1dnfLy8pSamurFnvmvPn36KD4+3u6e2mw2FRQUmPc0NTVV5eXl2rlzp9lm8+bNqqurU0pKitnmvffe0+nTp802mzZt0oABA9S9e/d2uhrvMwxD8+bN08aNG7V582b16dPH7vORI0eqc+fOdvf70KFDKioqsrvf+/btswuomzZtUmRkpAYNGmS2aXiO+jYd/X8HdXV1qq6u5j572IQJE7Rv3z7t2bPHfI0aNUpTp041/839bhsVFRU6fPiwEhISfPO/1y1eEo52sW7dOiM0NNRYs2aN8cknnxhz5swxoqOj7Vb+w97JkyeN3bt3G7t37zYkGY8++qixe/du44svvjAM42zpgOjoaOMf//iHsXfvXuO6665zWDpgxIgRRkFBgbF161bjwgsvtCsdUF5ebsTFxRnTpk0z9u/fb6xbt86IiIjocKUDbrvtNiMqKsrYsmWL3aO/p06dMtvceuutRu/evY3NmzcbH330kZGammqkpqaan9c/+jtx4kRjz549Rm5urhEbG+vw0d+7777bOHDggLFy5coO94h1VlaW8e677xqFhYXG3r17jaysLMNisRhvv/22YRjc57bW8Gk4w+B+e8rChQuNLVu2GIWFhcYHH3xgpKWlGTExMcbx48cNw/C9+0xY8mGPP/640bt3byMkJMQYM2aM8eGHH3q7Sz7tnXfeMSQ1ed18882GYZwtH3DvvfcacXFxRmhoqDFhwgTj0KFDduf45ptvjBtvvNHo2rWrERkZacycOdM4efKkXZv//Oc/xvjx443Q0FDjvPPOM5YvX95el+gzHN1nScYzzzxjtqmqqjJuv/12o3v37kZERITx05/+1CguLrY7z5EjR4yrrrrKCA8PN2JiYoyFCxcap0+ftmvzzjvvGMOHDzdCQkKMvn372v1GR/DLX/7SuOCCC4yQkBAjNjbWmDBhghmUDIP73NYahyXut2dkZmYaCQkJRkhIiHHeeecZmZmZxueff25+7mv32WIYhtHy8SgAAICOgTVLAAAALhCWAAAAXCAsAQAAuEBYAgAAcIGwBAAA4AJhCQAAwAXCEgAAgAuEJQAAABcISwD83owZMzRp0iSv/f60adO0bNkyj5yrpqZGycnJ+uijjzxyPgDnjgreAHyaxWJx+fnSpUt11113yTAMRUdHt0+nGvjPf/6jK6+8Ul988YW6du3qkXM+8cQT2rhxY5NNQAF4B2EJgE8rKSkx/71+/XotWbJEhw4dMo917drVYyGlNW655RZ16tRJq1at8tg5v/32W8XHx2vXrl36wQ9+4LHzAmgdpuEA+LT4+HjzFRUVJYvFYnesa9euTabhLr/8ct1xxx2aP3++unfvrri4OD311FOqrKzUzJkz1a1bN/Xv319vvfWW3W/t379fV111lbp27aq4uDhNmzZNZWVlTvtWW1url19+WT/5yU/sjicnJ2vZsmX65S9/qW7duql379568sknzc9ramo0b948JSQkKCwsTBdccIFycnLMz7t3765x48Zp3bp153j3AHgCYQlAQFq7dq1iYmK0fft23XHHHbrtttv085//XGPHjtWuXbs0ceJETZs2TadOnZIklZeX68orr9SIESP00UcfKTc3V6Wlpbrhhhuc/sbevXtltVo1atSoJp/98Y9/1KhRo7R7927dfvvtuu2228wRsRUrVui1117T3//+dx06dEjPP/+8kpOT7b4/ZswYvf/++567IQBajbAEICANGzZMv/3tb3XhhRcqOztbYWFhiomJ0ezZs3XhhRdqyZIl+uabb7R3715JZ9cJjRgxQsuWLdPAgQM1YsQIrV69Wu+8844+/fRTh7/xxRdfKDg4WL169Wry2dVXX63bb79d/fv316JFixQTE6N33nlHklRUVKQLL7xQ48eP1wUXXKDx48frxhtvtPt+YmKivvjiCw/fFQCtQVgCEJCGDh1q/js4OFg9e/bUkCFDzGNxcXGSpOPHj0s6u1D7nXfeMddAde3aVQMHDpQkHT582OFvVFVVKTQ01OEi9Ia/Xz91WP9bM2bM0J49ezRgwADdeeedevvtt5t8Pzw83Bz1AuBdnbzdAQBoC507d7Z7b7FY7I7VB5y6ujpJUkVFhX7yk5/owQcfbHKuhIQEh78RExOjU6dOqaamRiEhIc3+fv1vXXLJJSosLNRbb72lf//737rhhhuUlpaml19+2Wx/4sQJxcbGunu5ANoQYQkAdDbAvPLKK0pOTlanTu79X+Pw4cMlSZ988on5b3dFRkYqMzNTmZmZ+tnPfqaMjAydOHFCPXr0kHR2sfmIESNadE4AbYNpOACQNHfuXJ04cUI33nijduzYocOHD+tf//qXZs6cqdraWoffiY2N1SWXXKKtW7e26LceffRRvfjiizp48KA+/fRTvfTSS4qPj7erE/X+++9r4sSJ53JJADyEsAQAOrug+oMPPlBtba0mTpyoIUOGaP78+YqOjlZQkPP/q7zlllv0/PPPt+i3unXrpoceekijRo3S6NGjdeTIEb355pvm7+Tn58tqtepnP/vZOV0TAM+gKCUAnIOqqioNGDBA69evV2pqqkfOmZmZqWHDhmnx4sUeOR+Ac8PIEgCcg/DwcD377LMui1e2RE1NjYYMGaK77rrLI+cDcO4YWQIAAHCBkSUAAAAXCEsAAAAuEJYAAABcICwBAAC4QFgCAABwgbAEAADgAmEJAADABcISAACAC4QlAAAAF/4/1mBhRzvBVcMAAAAASUVORK5CYII=", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "plt.plot(times,exp_z,'.')\n", + "plt.xlabel('Time (ns)')\n", + "plt.ylabel('')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## $T_2^*$ measurement" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Let's look at an un-echoed $T_2$ measurement, aka $T_2^*$. This is one measure of a qubit's coherence. Often times a qubit can experience slow detuning noise, that is, noise that is constant over the course of a single experiment but varies over the course of repeated experiments. This slow noise can be cancelled out with standard control techniques like a Hahn echo and can boost the fidelity of an experiment when judiciously applied. Let's look at the un-echoed measurement first.\n", + "\n", + "For this, we will prepare the qubit in the equator of the bloch sphere, wait for two time periods (you'll see why in the next section), and read out the qubit in the X-basis. " + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": {}, + "outputs": [], + "source": [ + "##T2 experiment\n", + "def T2_star_exp(time, shots):\n", + " kernel=cudaq.make_kernel()\n", + " qubits=kernel.qalloc(1)\n", + " noise_model=hidden_noise_model(time)\n", + " kernel.Id = MethodType(Id, kernel)\n", + "\n", + " ##put qubit in equator\n", + " kernel.h(qubits[0])\n", + "\n", + " ##wait\n", + " kernel.Id(time,qubits[0])\n", + " kernel.Id(time,qubits[0])\n", + "\n", + " kernel.mx(qubits[0])\n", + " counts=cudaq.sample(kernel,shots_count=shots, noise_model=noise_model)\n", + " exp_x=counts.expectation()\n", + "\n", + " return exp_x" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": {}, + "outputs": [], + "source": [ + "exp_x=[]\n", + "#timestep\n", + "dt=15\n", + "end_time=1500 #ns\n", + "times=list(np.arange(0,end_time,dt))\n", + "shots=1000\n", + "\n", + "for t in times:\n", + " exp_x.append(T2_star_exp(t,1000))" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(-1.1, 1.1)" + ] + }, + "execution_count": 13, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAksAAAGwCAYAAAC5ACFFAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/TGe4hAAAACXBIWXMAAA9hAAAPYQGoP6dpAABFfUlEQVR4nO3de1xUdeL/8feAgqACGsilULylWXjJC1HmVvIQrK1c28LW8rKFm2Vtqam0m3aVrLZHW7m5XdXN0q3V7lGul8okNcvULEoXoxIwNGYSCAzO7w9/zNeBmcMAM8wMvJ6PxzyUM5858zmfmTnnPZ/zOZ+xGIZhCAAAAE4F+boCAAAA/oywBAAAYIKwBAAAYIKwBAAAYIKwBAAAYIKwBAAAYIKwBAAAYKKDryvQFtTW1urQoUPq2rWrLBaLr6sDAADcYBiGfv75ZyUkJCgoyHX/EWHJAw4dOqTExERfVwMAADTDd999p9NOO83l/YQlD+jataukE40dERHh49oAAAB32Gw2JSYm2o/jrhCWPKDu1FtERARhCQCAANPYEBoGeAMAAJggLAEAAJggLAEAAJggLAEAAJggLAEAAJggLAEAAJggLAEAAJggLAEAAJggLAEAAJggLAEAAJgIqLD0wQcf6NJLL1VCQoIsFoteffXVRh+zefNmnX322QoNDVW/fv20fPnyBmWWLl2qpKQkderUSSkpKdq+fbvnKw8AAAJSQIWl8vJyDRkyREuXLnWrfEFBgS655BJdeOGF2rVrl2699VZdf/31evfdd+1l1qxZo9mzZ2vRokX69NNPNWTIEKWnp+vw4cPe2gy3FVkrtfVAqYqslb6uCgAA7ZbFMAzD15VoDovFonXr1mnChAkuy8yfP19vvfWW9u7da182adIklZWVKTc3V5KUkpKikSNH6oknnpAk1dbWKjExUTfffLMWLFjgVl1sNpsiIyNltVo99kO6a3YUKnvtHtUaUpBFypmYrMyRPT2ybgAA4P7xO6B6lpoqLy9PaWlpDsvS09OVl5cnSaqurtbOnTsdygQFBSktLc1expmqqirZbDaHmycVWSvtQUmSag3pjrV76WECAMAH2nRYKi4uVmxsrMOy2NhY2Ww2VVZWqrS0VDU1NU7LFBcXu1xvTk6OIiMj7bfExESP1rugtNwelOrUGIYOllZ49HkAAEDj2nRY8pbs7GxZrVb77bvvvvPo+ntHd1aQxXFZsMWipOhwjz4PAABoXJsOS3FxcSopKXFYVlJSooiICIWFhSk6OlrBwcFOy8TFxblcb2hoqCIiIhxunhQfGaacickKtpxITMEWixZPPEvxkWEefR4AANC4Dr6ugDelpqbq7bffdli2fv16paamSpJCQkI0fPhwbdiwwT5QvLa2Vhs2bNCsWbNau7oOMkf21JjTY3SwtEJJ0eEEJQAAfCSgwtKxY8e0f/9++98FBQXatWuXunfvrp49eyo7O1s//PCDVq5cKUm64YYb9MQTT2jevHn64x//qI0bN+rf//633nrrLfs6Zs+eralTp2rEiBEaNWqUHn30UZWXl2v69Omtvn31xUeGEZIAAPCxgApLn3zyiS688EL737Nnz5YkTZ06VcuXL1dRUZEKCwvt9/fu3VtvvfWWbrvtNv3973/XaaedpmeeeUbp6en2MpmZmfrxxx+1cOFCFRcXa+jQocrNzW0w6BsAALRPATvPkj/xxjxLAADAu5hnCQAAwAMISwAAACYISwAAACYISwAAACYISwAAACYISwAAACYISwAAACYISwAAACYISwAAACYISwAAACYISwAAACYISwAAACYISwAAACYISwAAACYISwAAACYISwAAACYISwAAACYISwAAACYISwAAACYISwAAACYISwGmyFqprQdKVWSt9HVVAABoFzr4ugJw35odhcpeu0e1hhRkkXImJitzZE9fVwsAgDaNnqUAUWSttAclSao1pDvW7qWHCQAALyMsBYiC0nJ7UKpTYxg6WFrhmwoBANBOEJYCRO/ozgqyOC4LtliUFB3umwoBANBOEJYCRHxkmHImJivYciIxBVssWjzxLMVHhvm4ZgAAtG0M8A4gmSN7aszpMTpYWqGk6HCCEgAArYCwFGDiI8MISQAAtCJOwwEAAJggLAEAAJggLAEAAJgIuLC0dOlSJSUlqVOnTkpJSdH27dtdlr3gggtksVga3C655BJ7mWnTpjW4PyMjozU2BQAABICAGuC9Zs0azZ49W8uWLVNKSooeffRRpaenKz8/Xz169GhQfu3ataqurrb/feTIEQ0ZMkRXXnmlQ7mMjAw9//zz9r9DQ0O9txEAACCgBFTP0iOPPKKsrCxNnz5dgwYN0rJlyxQeHq7nnnvOafnu3bsrLi7Oflu/fr3Cw8MbhKXQ0FCHct26dWuNzQEAAAEgYMJSdXW1du7cqbS0NPuyoKAgpaWlKS8vz611PPvss5o0aZI6d+7ssHzz5s3q0aOHBgwYoJkzZ+rIkSOm66mqqpLNZnO4AQCAtilgwlJpaalqamoUGxvrsDw2NlbFxcWNPn779u3au3evrr/+eoflGRkZWrlypTZs2KAlS5bo/fff1/jx41VTU+NyXTk5OYqMjLTfEhMTm7dRAADA7wXUmKWWePbZZ5WcnKxRo0Y5LJ80aZL9/8nJyRo8eLD69u2rzZs3a+zYsU7XlZ2drdmzZ9v/ttlsBCYAANqogOlZio6OVnBwsEpKShyWl5SUKC4uzvSx5eXlWr16ta677rpGn6dPnz6Kjo7W/v37XZYJDQ1VRESEww0AALRNAROWQkJCNHz4cG3YsMG+rLa2Vhs2bFBqaqrpY19++WVVVVXpmmuuafR5vv/+ex05ckTx8fEtrjMAAAh8AROWJGn27Nl6+umntWLFCn355ZeaOXOmysvLNX36dEnSlClTlJ2d3eBxzz77rCZMmKBTTjnFYfmxY8d0++236+OPP9bBgwe1YcMGXX755erXr5/S09NbZZsAAIB/C6gxS5mZmfrxxx+1cOFCFRcXa+jQocrNzbUP+i4sLFRQkGP+y8/P15YtW/Tee+81WF9wcLB2796tFStWqKysTAkJCRo3bpzuvfde5loCAACSJIthGIavKxHobDabIiMjZbVaGb8EAECAcPf4HVCn4QAAAFobYQkAAMAEYQkAAMAEYQkAAMAEYQkAAMAEYQkAAMAEYQkAAMAEYQkAAMAEYQkAAMAEYQkAAMAEYQkAAMAEYQkAAMAEYQkAAMAEYQkAAMAEYQkAAMAEYQkAAMAEYQkAAMAEYQkAAMAEYQkAAMAEYQkAAMAEYQkAAMAEYSnAFVkrtfVAqYqslb6uCgAAbVIHX1cAzbdmR6Gy1+5RrSEFWaScicnKHNnT19UCAKBNoWcpQBVZK+1BSZJqDemOtXvpYQIAwMMISwGqoLTcHpTq1BiGDpZW+KZCAAC0UYSlANU7urOCLI7Lgi0WJUWH+6ZCAAC0UYSlABUfGaacickKtpxITMEWixZPPEvxkWE+rhkAAG0LA7wDWObInhpzeowOllYoKTqcoAQAgBcQlgJcfGQYIQkAAC/iNBwAAIAJwhIAAICJgAtLS5cuVVJSkjp16qSUlBRt377dZdnly5fLYrE43Dp16uRQxjAMLVy4UPHx8QoLC1NaWpq++eYbb28GAAAIEAEVltasWaPZs2dr0aJF+vTTTzVkyBClp6fr8OHDLh8TERGhoqIi++3bb791uP/BBx/UY489pmXLlmnbtm3q3Lmz0tPT9csvv3h7cwAAQAAIqLD0yCOPKCsrS9OnT9egQYO0bNkyhYeH67nnnnP5GIvFori4OPstNjbWfp9hGHr00Uf117/+VZdffrkGDx6slStX6tChQ3r11VdbYYsAAIC/C5iwVF1drZ07dyotLc2+LCgoSGlpacrLy3P5uGPHjqlXr15KTEzU5Zdfri+++MJ+X0FBgYqLix3WGRkZqZSUFNN1VlVVyWazOdwAAEDbFDBhqbS0VDU1NQ49Q5IUGxur4uJip48ZMGCAnnvuOb322mt64YUXVFtbq3PPPVfff/+9JNkf15R1SlJOTo4iIyPtt8TExJZsGgAA8GMBE5aaIzU1VVOmTNHQoUP1m9/8RmvXrlVMTIz++c9/tmi92dnZslqt9tt3333noRoDAAB/EzBhKTo6WsHBwSopKXFYXlJSori4OLfW0bFjRw0bNkz79++XJPvjmrrO0NBQRUREONwAAEDbFDBhKSQkRMOHD9eGDRvsy2pra7Vhwwalpqa6tY6amhrt2bNH8fHxkqTevXsrLi7OYZ02m03btm1ze50AAKBtC6ifO5k9e7amTp2qESNGaNSoUXr00UdVXl6u6dOnS5KmTJmiU089VTk5OZKke+65R+ecc4769eunsrIyPfTQQ/r22291/fXXSzpxpdytt96q++67T/3791fv3r115513KiEhQRMmTPDVZgIAAD8SUGEpMzNTP/74oxYuXKji4mINHTpUubm59gHahYWFCgr6v86yn376SVlZWSouLla3bt00fPhwbd26VYMGDbKXmTdvnsrLyzVjxgyVlZVp9OjRys3NbTB5JQAAaJ8shmEYvq5EoLPZbIqMjJTVamX8EgAAAcLd43fAjFkCAADwBcISAACACcISAACACcISAACACcISAACACcISAACACcISAACACcISAACACcISAACACcISAACACcISAACACcISAACACcISAACACcISAACACcISAACACcISAACACcISAACACcISAACACcISAACACcISAACACcISAACACcISAACA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hcOyNTsKdd4DG/WHp7fpvAc2as2OwlasJQAArSNgTsNNnjxZRUVFWr9+vY4fP67p06drxowZevHFF00fl5WVpXvuucf+d3h4uP3/NTU1uuSSSxQXF6etW7eqqKhIU6ZMUceOHbV48WKvbYu/6x3dWUEWOQSmYItFSdH/13auep/GnB6j+MiwVq4xAADeExA9S19++aVyc3P1zDPPKCUlRaNHj9bjjz+u1atX69ChQ6aPDQ8PV1xcnP0WERFhv++9997Tvn379MILL2jo0KEaP3687r33Xi1dulTV1dXe3iy/FR8ZppyJyQq2WCSdCEqLJ57lEILc7X0CACDQBURYysvLU1RUlEaMGGFflpaWpqCgIG3bts30satWrVJ0dLTOOussZWdnq6Li/w7meXl5Sk5OVmxsrH1Zenq6bDabvvjiC5frrKqqks1mc7i1NZkje2rLggv1UtY52rLgwgaDu+t6n05Wv/cJAIC2ICBOwxUXF6tHjx4Oyzp06KDu3buruLjY5eP+8Ic/qFevXkpISNDu3bs1f/585efna+3atfb1nhyUJNn/NltvTk6O7r777uZuTsCIjwxrcEqtyFqpgtJy9Y7urJyJybpj7V7VGIbT3icAANoCn4alBQsWaMmSJaZlvvzyy2avf8aMGfb/JycnKz4+XmPHjtWBAwfUt2/fZq83Oztbs2fPtv9ts9mUmJjY7PUFCmfTCWxZcKEOllYoKTqcoAQAaJN8GpbmzJmjadOmmZbp06eP4uLidPjwYYflv/76q44ePaq4uDi3ny8lJUWStH//fvXt21dxcXHavn27Q5mSkhJJMl1vaGioQkND3X7etsDVgO4tCy5Uat9TfFs5AAC8yKdhKSYmRjExMY2WS01NVVlZmXbu3Knhw4dLkjZu3Kja2lp7AHLHrl27JEnx8fH29d5///06fPiw/TTf+vXrFRERoUGDBjVxa9o2swHd9CgBANqygBjgfcYZZygjI0NZWVnavn27PvroI82aNUuTJk1SQkKCJOmHH37QwIED7T1FBw4c0L333qudO3fq4MGDev311zVlyhSNGTNGgwcPliSNGzdOgwYN0rXXXqvPP/9c7777rv7617/qpptuanc9R41hQDcAoL0KiLAknbiqbeDAgRo7dqwuvvhijR49Wk899ZT9/uPHjys/P99+tVtISIj++9//aty4cRo4cKDmzJmjK664Qm+88Yb9McHBwXrzzTcVHBys1NRUXXPNNZoyZYrDvEw4wZ3pBAAAaIsshmEYjReDGZvNpsjISFmtVod5nNqiImslA7oBAG2Cu8fvgJg6AP7D2XQCAAC0ZQFzGg4AAMAXCEsAAAAmCEsAAAAmCEsAAAAmCEsAAAAmCEsAAAAmCEsAAAAmCEsAAAAmCEsAAAAmCEsAAAAmCEsAAAAmCEsAAAAmCEsAAAAmCEsAAAAmCEsAAAAmCEsAAAAmCEsAAAAmCEsAAAAmCEsAAAAmCEsAAAAmCEsAAAAmCEsAAAAmCEsAAAAmCEsAAAAmCEsAAAAmCEsAAAAmCEsAAAAmCEsAAAAmCEsAAAAmCEsAAAAmAiYsHT16VJMnT1ZERISioqJ03XXX6dixYy7LHzx4UBaLxent5Zdftpdzdv/q1atbY5MAAEAA6ODrCrhr8uTJKioq0vr163X8+HFNnz5dM2bM0Isvvui0fGJiooqKihyWPfXUU3rooYc0fvx4h+XPP/+8MjIy7H9HRUV5vP4AACAwBURY+vLLL5Wbm6sdO3ZoxIgRkqTHH39cF198sR5++GElJCQ0eExwcLDi4uIclq1bt05XXXWVunTp4rA8KiqqQVkAAAApQE7D5eXlKSoqyh6UJCktLU1BQUHatm2bW+vYuXOndu3apeuuu67BfTfddJOio6M1atQoPffcczIMw3RdVVVVstlsDjcAANA2BUTPUnFxsXr06OGwrEOHDurevbuKi4vdWsezzz6rM844Q+eee67D8nvuuUcXXXSRwsPD9d577+nGG2/UsWPHdMstt7hcV05Oju6+++6mbwgAAAg4Pu1ZWrBggctB2HW3r776qsXPU1lZqRdffNFpr9Kdd96p8847T8OGDdP8+fM1b948PfTQQ6bry87OltVqtd++++67FtcRAAD4J5/2LM2ZM0fTpk0zLdOnTx/FxcXp8OHDDst//fVXHT161K2xRq+88ooqKio0ZcqURsumpKTo3nvvVVVVlUJDQ52WCQ0NdXkfAABoW3walmJiYhQTE9NoudTUVJWVlWnnzp0aPny4JGnjxo2qra1VSkpKo49/9tlnddlll7n1XLt27VK3bt0IQwAAQFKAjFk644wzlJGRoaysLC1btkzHjx/XrFmzNGnSJPuVcD/88IPGjh2rlStXatSoUfbH7t+/Xx988IHefvvtBut94403VFJSonPOOUedOnXS+vXrtXjxYs2dO7fVtg0AAPi3gAhLkrRq1SrNmjVLY8eOVVBQkK644go99thj9vuPHz+u/Px8VVRUODzuueee02mnnaZx48Y1WGfHjh21dOlS3XbbbTIMQ/369dMjjzyirKwsr28PAAAIDBajsevk0SibzabIyEhZrVZFRET4ujoAAMAN7h6/A2KeJQAAAF8hLAEAAJggLAEAAJggLAEAAJggLAEAAJggLAEAAJggLAEAAJggLAEAAJggLAEAAJggLAEAAJggLAEAAJggLAEAAJggLAEAAJggLAEAAJggLAEAAJggLAEAAJggLAEAAJggLAEAAJggLAEAAJggLAEAAJggLAEAAJggLAEAAJggLAEAAJggLAEAAJggLAEAAJggLAEAAJggLAEAAJggLAEAAJggLAEAAJggLAEAAJggLAEAAJgImLB0//3369xzz1V4eLiioqLceoxhGFq4cKHi4+MVFhamtLQ0ffPNNw5ljh49qsmTJysiIkJRUVG67rrrdOzYMS9sAQAACEQBE5aqq6t15ZVXaubMmW4/5sEHH9Rjjz2mZcuWadu2bercubPS09P1yy+/2MtMnjxZX3zxhdavX68333xTH3zwgWbMmOGNTQAAAAHIYhiG4etKNMXy5ct16623qqyszLScYRhKSEjQnDlzNHfuXEmS1WpVbGysli9frkmTJunLL7/UoEGDtGPHDo0YMUKSlJubq4svvljff/+9EhIS3KqTzWZTZGSkrFarIiIiWrR9AACgdbh7/A6YnqWmKigoUHFxsdLS0uzLIiMjlZKSory8PElSXl6eoqKi7EFJktLS0hQUFKRt27a5XHdVVZVsNpvDDQAAtE1tNiwVFxdLkmJjYx2Wx8bG2u8rLi5Wjx49HO7v0KGDunfvbi/jTE5OjiIjI+23xMRED9ceAAD4C5+GpQULFshisZjevvrqK19W0ans7GxZrVb77bvvvvN1lQAAgJd08OWTz5kzR9OmTTMt06dPn2atOy4uTpJUUlKi+Ph4+/KSkhINHTrUXubw4cMOj/v111919OhR++OdCQ0NVWhoaLPqBQAAAotPw1JMTIxiYmK8su7evXsrLi5OGzZssIcjm82mbdu22a+oS01NVVlZmXbu3Knhw4dLkjZu3Kja2lqlpKR4pV4AACCwBMyY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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "plt.plot([2*t for t in times],exp_x,'.')\n", + "plt.xlabel('Time (ns)')\n", + "plt.ylabel('')\n", + "plt.ylim([-1.1,1.1])" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "As expected, we see a decay in coherence. We also see an additional oscillation from a constant, coherent Z error source. In many cases this Z noise can slowly vary over the course of the experiment which manifests as a reduced $T^2$ time. In the next experiment we will see we can cancel this noise source out by applying a simple X $\\pi$ pulse." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## $T_2$ measurement" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Let's repeat the previous experiment and simply add a $X_\\pi$ pulse which will negate this noise source." + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": {}, + "outputs": [], + "source": [ + "##T2 experiment\n", + "def T2_exp(time, shots):\n", + " kernel=cudaq.make_kernel()\n", + " qubits=kernel.qalloc(1)\n", + " noise_model=hidden_noise_model(time)\n", + " kernel.Id = MethodType(Id, kernel)\n", + "\n", + " ##put qubit in equator\n", + " kernel.h(qubits[0])\n", + "\n", + " ##wait\n", + " kernel.Id(time,qubits[0])\n", + " kernel.x(qubits[0])\n", + " kernel.Id(time,qubits[0])\n", + "\n", + " kernel.mx(qubits[0])\n", + " counts=cudaq.sample(kernel,shots_count=shots, noise_model=noise_model)\n", + " exp_x=counts.expectation()\n", + "\n", + " return exp_x" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": {}, + "outputs": [], + "source": [ + "exp_x=[]\n", + "#timestep\n", + "dt=15\n", + "end_time=1500 #ns\n", + "times=list(np.arange(0,end_time,dt))\n", + "shots=1000\n", + "\n", + "for t in times:\n", + " exp_x.append(T2_exp(t,1000))" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(-1.1, 1.1)" + ] + }, + "execution_count": 16, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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jz7SkCFD1LNnT02bNk033nij3nnnHcdjgoODtXbtWgUHBys1NVW33nqrRo8e7bQuEwAAaN4CYp0lf8c6SwAABJ4mtc4SAACArxCWAAAATBCWAAAATBCWAAAATBCWAAAATBCWAAAATBCWAAAATBCWAAAATBCWAAAATBCWAAAATBCWAAAATBCWAAAATBCWAAAATBCWAAAATBCWAAAATBCWAAAATBCWAAAATBCWAAAATBCWAAAATBCWAAAATBCWAAAATBCWAAAATBCWAAAATBCWAAAATBCWAAAATBCWAAAATBCWAAAATBCWAAAATBCWAAAATBCWAAAATBCWAAAATARMWDp27JhGjhypiIgIRUVF6fbbb1dRUZHb8vv375fFYnF5W7VqlaOcq/0rVqxojCYBAIAAEOLrCnhq5MiRysvL0/r163Xq1CmNGzdOEyZM0CuvvOKyfEJCgvLy8py2Pf/883rqqad09dVXO21/6aWXlJGR4bgfFRXl9foDAIDAFBBhaffu3Vq3bp22bt2qfv36SZL+/ve/65prrtFf//pXxcfHV3tMcHCwYmNjnbatWbNGN998s9q0aeO0PSoqqlpZAAAAKUCG4XJychQVFeUISpKUlpamoKAgbd682aNj5ObmaseOHbr99tur7Zs0aZKio6M1YMAALV68WIZhmB6rpKREdrvd6QYAAJqmgOhZslqt6tSpk9O2kJAQtW/fXlar1aNjvPjiizr//PM1cOBAp+2PPfaYrrrqKrVq1Uoffvih7rrrLhUVFemee+5xe6ysrCw9+uijtW8IAAAIOD7tWZo5c6bbSdgVtz179tT7eU6ePKlXXnnFZa/Sww8/rEsvvVR9+/bVjBkzNH36dD311FOmx8vMzJTNZnPcDh06VO86AgAA/+TTnqVp06Zp7NixpmXOOeccxcbG6ujRo07bT58+rWPHjnk01+j111/XiRMnNHr06BrLpqSkaPbs2SopKVFoaKjLMqGhoW73AQCApsWnYaljx47q2LFjjeVSU1NVWFio3NxcJScnS5I2bNig8vJypaSk1Pj4F198Udddd51Hz7Vjxw61a9eOMAQAACQFyJyl888/XxkZGRo/frwWLVqkU6dOafLkyRoxYoTjTLjDhw9r8ODBWrZsmQYMGOB47I8//qhPP/1U7733XrXjvvPOO8rPz9cll1yisLAwrV+/XnPm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jeuvv97laeZ9+/Y1Nm/ebGzatMno3r2735xGX9WYMWOMzp07O5YOWL16tREdHW1Mnz7dUSbQ23z8+HFj+/btxvbt2w1JxtNPP21s377dceaXN9pXWFhoxMTEGKNGjTJ27dplrFixwmjVqpXPTis3a3Npaalx3XXXGWeddZaxY8cOp8+zymd6BVKba/p/XFXVs+EMI7DaW1eEJT/297//3ejSpYvRsmVLY8CAAcaXX37p6yrViSSXt5deeslR5uTJk8Zdd91ltGvXzmjVqpXxxz/+0cjLy3M6zv79+42rr77aCA8PN6Kjo41p06YZp06dauTW1E3VsNQU2/vOO+8YF154oREaGmr07NnTeP755532l5eXGw8//LARExNjhIaGGoMHDzb27t3rVObXX381brnlFqNNmzZGRESEMW7cOOP48eON2QyP2e1249577zW6dOlihIWFGeecc47x5z//2elLM9Db/PHHH7v82x0zZoxhGN5r39dff20MGjTICA0NNTp37mzMnTu3sZpYjVmb9+3b5/bz7OOPP3YcI5DaXNP/46pchaVAam9dWQyj0nKzAAAAcMKcJQAAABOEJQAAABOEJQAAABOEJQAAABOEJQAAABOEJQAAABOEJQAAABOEJQAAABOEJQABb+zYsRo2bJjPnn/UqFGaM2eOV45VWlqqxMREffXVV145HoD6YwVvAH7NYrGY7n/kkUd03333yTAMRUVFNU6lKvn666911VVX6cCBA2rTpo1XjvnMM89ozZo1ThepBeA7hCUAfs1qtTr+vXLlSs2aNUt79+51bGvTpo3XQkpd3HHHHQoJCdGiRYu8dszffvtNsbGx2rZtmy644AKvHRdA3TAMB8CvxcbGOm6RkZGyWCxO29q0aVNtGO6KK67Q3XffrSlTpqhdu3aKiYnRCy+8oOLiYo0bN05t27ZVt27d9P777zs9165du3T11VerTZs2iomJ0ahRo1RQUOC2bmVlZXr99dd17bXXOm1PTEzUnDlzdNttt6lt27bq0qWLnn/+ecf+0tJSTZ48WXFxcQoLC9PZZ5+trKwsx/527drp0ksv1YoVK+r56gHwBsISgCZp6dKlio6O1pYtW3T33Xdr4sSJuummmzRw4EBt27ZNQ4YM0ahRo3TixAlJUmFhoa666ir17dtXX331ldatW6f8/HzdfPPNbp9j586dstls6tevX7V9//M//6N+/fpp+/btuuuuuzRx4kRHj9iCBQv09ttv67XXXtPevXu1fPlyJSYmOj1+wIAB+uyzz7z3ggCoM8ISgCapd+/eeuihh9S9e3dlZmYqLCxM0dHRGj9+vLp3765Zs2bp119/1c6dOyWdmSfUt29fzZkzRz179lTfvn21ePFiffzxx/r+++9dPseBAwcUHBysTp06Vdt3zTXX6K677lK3bt00Y8YMRUdH6+OPP5YkHTx4UN27d9egQYN09tlna9CgQbrlllucHh8fH68DBw54+VUBUBeEJQBN0kUXXeT4d3BwsDp06KCkpCTHtpiYGEnS0aNHJZ2ZqP3xxx875kC1adNGPXv2lCT99NNPLp/j5MmTCg0NdTkJvfLzVwwdVjzX2LFjtWPHDvXo0UP33HOPPvzww2qPDw8Pd/R6AfCtEF9XAAAaQosWLZzuWywWp20VAae8vFySVFRUpGuvvVbz5s2rdqy4uDiXzxEdHa0TJ06otLRULVu2rPH5K57r4osv1r59+/T+++/ro48+0s0336y0tDS9/vrrjvLHjh1Tx44dPW0ugAZEWAIAnQkwb7zxhhITExUS4tlHY58+fSRJ3333nePfnoqIiNDw4cM1fPhw/elPf1JGRoaOHTum9u3bSzoz2bxv3761OiaAhsEwHABImjRpko4dO6ZbbrlFW7du1U8//aQPPvhA48aNU1lZmcvHdOzYURdffLE2bdpUq+d6+umn9eqrr2rPnj36/vvvtWrVKsXGxjqtE/XZZ59pyJAh9WkSAC8hLAGAzkyo/vzzz1VWVqYhQ4YoKSlJU6ZMUVRUlIKC3H9U3nHHHVq+fHmtnqtt27Z68skn1a9fP/Xv31/79+/Xe++953ienJwc2Ww2/elPf6pXmwB4B4tSAkA9nDx5Uj169NDKlSuVmprqlWMOHz5cvXv31oMPPuiV4wGoH3qWAKAewsPDtWzZMtPFK2ujtLRUSUlJuu+++7xyPAD1R88SAACACXqWAAAATBCWAAAATBCWAAAATBCWAAAATBCWAAAATBCWAAAATBCWAAAATBCWAAAATBCWAAAATPw/eDnr3NZ8q8IAAAAASUVORK5CYII=", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "plt.plot(times,exp_x,'.')\n", + "plt.xlabel('Time (ns)')\n", + "plt.ylabel('')\n", + "plt.ylim([-1.1,1.1])" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We see that adding the $\\pi$ pulse successfully canceled the additional noise source!" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Building custom noise models and leveraging CUDA-Q's prebuilt noise models" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Let's explore how to define custom noise models and apply them to gates. You can also leverage a variety of common noise models prebuilt in CUDA-Q. Noise models are implement as Kraus operators and channels acting on the density matrix. Earlier in the notebook we implemented a custom $T_1$ decay channel. Let's walk through the steps to implement this. We first define an error probability based on the gate length and a given $T_1$ time.\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": {}, + "outputs": [], + "source": [ + "def error_prob(t,T1):\n", + " error=1-np.exp(-t/T1) #nanoseconds\n", + " return error" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Let's now define the Kraus operators which send the |1> state to the |0> state in the density matrix with a probability given by our function `error_prob`. These are compiled into a Kraus channel." + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": {}, + "outputs": [], + "source": [ + "#gate time\n", + "t=100 #ns\n", + "T1=1000 #ns\n", + "\n", + "t1_decay=error_prob(t,T1)\n", + "kraus_0=np.array([[1.0,0.0],[0.0,np.sqrt(1-t1_decay)]],dtype=np.complex128,order='F')\n", + "kraus_1=np.array([[0.0,np.sqrt(t1_decay)],[0.0,0.0]],dtype=np.complex128,order='F')\n", + "kraus_chan=cudaq.KrausChannel([kraus_0,kraus_1])" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We instantiate our noise_model and can now add our Kraus channel to the gate and qubit of our choice" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": {}, + "outputs": [], + "source": [ + "noise_model=cudaq.NoiseModel()\n", + "\n", + "##add noise to x\n", + "noise_model.add_channel(\"x\",[0],t1_kraus(t,T1))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We can do a sanity check below" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "None\n", + "{ 0:94 1:906 }\n" + ] + } + ], + "source": [ + "kernel=cudaq.make_kernel()\n", + "qubits=kernel.qalloc(1)\n", + "kernel.x(qubits[0])\n", + "kernel.mz(qubits[0])\n", + "counts=cudaq.sample(kernel,noise_model=noise_model)\n", + "\n", + "print(counts.dump())" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "CUDA-Q includes common noise channels like depolarizing noise, dephasing noise, amplitude damping and others here https://nvidia.github.io/cuda-quantum/latest/using/examples/noisy_simulation.html" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "{ 0:1000 }\n", + "\n" + ] + } + ], + "source": [ + "noise_model=cudaq.NoiseModel()\n", + "bit_flip=cudaq.BitFlipChannel(1.0)\n", + "noise_model.add_channel('x',[0],bit_flip)\n", + "\n", + "@cudaq.kernel\n", + "def kernel():\n", + " qubit = cudaq.qubit()\n", + " # Apply an X-gate to the qubit.\n", + " # It will remain in the |1> state with a probability of `1 - p = 0.0`.\n", + " x(qubit)\n", + " # Measure.\n", + " mz(qubit)\n", + "\n", + "\n", + "# Now we're ready to run the noisy simulation of our kernel.\n", + "# Note: We must pass the noise model to sample via keyword.\n", + "noisy_result = cudaq.sample(kernel, noise_model=noise_model)\n", + "print(noisy_result)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "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.10.12" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} From 58e26142b98e2f35bca0256c6deedabf8f47794e Mon Sep 17 00:00:00 2001 From: marwafar Date: Thu, 8 Aug 2024 03:01:52 +0000 Subject: [PATCH 2/8] noise param --- .../python/tutorials/noise_parameters.py | 69 +++++++++++++++++++ 1 file changed, 69 insertions(+) create mode 100644 docs/sphinx/examples/python/tutorials/noise_parameters.py diff --git a/docs/sphinx/examples/python/tutorials/noise_parameters.py b/docs/sphinx/examples/python/tutorials/noise_parameters.py new file mode 100644 index 0000000000..6cb4e0dee4 --- /dev/null +++ b/docs/sphinx/examples/python/tutorials/noise_parameters.py @@ -0,0 +1,69 @@ +import cudaq +import numpy as np + +### Hidden qubit parameters +T1=1000 #ns +T2=200 #ns +detuning_rate=np.pi/250 + +### Define Kraus Channels + +def error_prob(t,T12): + error=1-np.exp(-t/T12) #nanoseconds + return error + +def t1_kraus(t,T1): + + t1_decay=error_prob(t,T1) + kraus_0=np.array([[1.0,0.0],[0.0,np.sqrt(1-t1_decay)]],dtype=np.complex128,order='F') + kraus_1=np.array([[0.0,np.sqrt(t1_decay)],[0.0,0.0]],dtype=np.complex128,order='F') + kraus_op=cudaq.KrausChannel([kraus_0,kraus_1]) + return kraus_op + +def coherent_z_kraus(angle): + kraus_0=np.array([[np.exp(-1j*angle/2),0.0],[0.0,np.exp(1j*angle/2)]],dtype="complex128",order="F") + kraus_op=cudaq.KrausChannel([kraus_0]) + return kraus_op + +def t2_kraus(t,T2): + + t2_decay=error_prob(t,T2) + kraus_0=np.array([[1.0,0.0],[0.0,np.sqrt(1-t2_decay)]],dtype=np.complex128,order='F') + kraus_1=np.array([[0.0,0.0],[0.0,np.sqrt(t2_decay)]],dtype=np.complex128,order='F') + kraus_op=cudaq.KrausChannel([kraus_0,kraus_1]) + return kraus_op + +### Define Noise model and gates + +def hidden_noise_model(t): + #initialize the noise model + noise_model=cudaq.NoiseModel() + + ##add noise to r1 "delay" + noise_model.add_channel("r1",[0],t1_kraus(t,T1)) + noise_model.add_channel("r1",[0],t2_kraus(t,T2)) + noise_model.add_channel("r1",[0],coherent_z_kraus(t*detuning_rate)) + + ##add noise to rx + noise_model.add_channel("rx",[0],t1_kraus(t,T1)) + noise_model.add_channel("rx",[0],t2_kraus(t,T2)) + noise_model.add_channel("rx",[0],coherent_z_kraus(t*detuning_rate)) + + ##add noise to rz + noise_model.add_channel("rz",[0],t1_kraus(t,T1)) + noise_model.add_channel("rz",[0],t2_kraus(t,T2)) + noise_model.add_channel("rz",[0],coherent_z_kraus(t*detuning_rate)) + + return noise_model + +## define some custom gates + +def Id(self, time, qubit) -> None: + self.r1(0.0, qubit) + +def custom_rx(self, time, amp, qubit): + ##hidden frequency + f=5.3012314 #GHz + amp_adjust=0.1 + angle=2*np.pi*time*amp*f*amp_adjust + self.rx(angle,qubit) \ No newline at end of file From 0be6adc5962eb4b8579fee69511f924cc5ca4bc2 Mon Sep 17 00:00:00 2001 From: marwafar Date: Thu, 8 Aug 2024 03:10:10 +0000 Subject: [PATCH 3/8] add space --- .../python/tutorials/noisy_examples.ipynb | 114 +++++++++--------- 1 file changed, 57 insertions(+), 57 deletions(-) diff --git a/docs/sphinx/examples/python/tutorials/noisy_examples.ipynb b/docs/sphinx/examples/python/tutorials/noisy_examples.ipynb index 5dfd9283a6..14d4a18869 100644 --- a/docs/sphinx/examples/python/tutorials/noisy_examples.ipynb +++ b/docs/sphinx/examples/python/tutorials/noisy_examples.ipynb @@ -68,18 +68,18 @@ "\n", "##noisy rabi oscillation\n", "def noisy_rabi(time, amp, shots):\n", - " kernel=cudaq.make_kernel()\n", - " qubits=kernel.qalloc(1)\n", + " kernel = cudaq.make_kernel()\n", + " qubits = kernel.qalloc(1)\n", "\n", " ##Add the hidden noise model and define the custom_rx gate\n", - " noise_model=hidden_noise_model(time)\n", + " noise_model = hidden_noise_model(time)\n", " kernel.custom_rx = MethodType(custom_rx, kernel)\n", "\n", " ##vary rx rotation angle\n", " kernel.custom_rx(time,amp,qubits[0])\n", " kernel.mz(qubits[0])\n", - " counts=cudaq.sample(kernel,shots_count=shots, noise_model=noise_model)\n", - " exp_z=counts.expectation()\n", + " counts = cudaq.sample(kernel,shots_count=shots, noise_model=noise_model)\n", + " exp_z = counts.expectation()\n", "\n", " return exp_z" ] @@ -101,11 +101,11 @@ "Amp=1\n", "#timestep\n", "dt=1\n", - "times=list(np.arange(0,100,dt))\n", + "times = list(np.arange(0,100,dt))\n", "\n", - "exp_z=[]\n", + "exp_z = []\n", "for t in times:\n", - " exp_z.append(noisy_rabi(t,Amp,1000))" + " exp_z.append(noisy_rabi(t, Amp,1000))" ] }, { @@ -177,9 +177,9 @@ "source": [ "##noisy precession\n", "def noisy_precession(time, shots):\n", - " kernel=cudaq.make_kernel()\n", - " qubits=kernel.qalloc(1)\n", - " noise_model=hidden_noise_model(time)\n", + " kernel = cudaq.make_kernel()\n", + " qubits = kernel.qalloc(1)\n", + " noise_model = hidden_noise_model(time)\n", " kernel.Id = MethodType(Id, kernel)\n", "\n", " ##put qubit in equator\n", @@ -189,13 +189,13 @@ " kernel.Id(time,qubits[0])\n", "\n", " ##Apply an Rz correction \n", - " f_correction=0.0\n", + " f_correction = 0.0\n", " kernel.rz(f_correction*time,qubits[0])\n", "\n", " ##Measure in y basis\n", " kernel.my(qubits[0])\n", - " counts=cudaq.sample(kernel,shots_count=shots, noise_model=noise_model)\n", - " exp_y=counts.expectation()\n", + " counts = cudaq.sample(kernel,shots_count=shots, noise_model=noise_model)\n", + " exp_y = counts.expectation()\n", "\n", " return exp_y" ] @@ -206,10 +206,10 @@ "metadata": {}, "outputs": [], "source": [ - "exp_y=[]\n", + "exp_y = []\n", "#timestep\n", "dt=1\n", - "times=list(np.arange(0,100,dt))\n", + "times = list(np.arange(0,100,dt))\n", "\n", "for t in times:\n", " exp_y.append(noisy_precession(t,1000))" @@ -277,9 +277,9 @@ "source": [ "##T1 experiment\n", "def T1_exp(time, shots):\n", - " kernel=cudaq.make_kernel()\n", - " qubits=kernel.qalloc(1)\n", - " noise_model=hidden_noise_model(time)\n", + " kernel = cudaq.make_kernel()\n", + " qubits = kernel.qalloc(1)\n", + " noise_model = hidden_noise_model(time)\n", " kernel.Id = MethodType(Id, kernel)\n", "\n", " ##excite qubit\n", @@ -290,8 +290,8 @@ "\n", " ##measure in z basis\n", " kernel.mz(qubits[0])\n", - " counts=cudaq.sample(kernel,shots_count=shots, noise_model=noise_model)\n", - " exp_z=counts.expectation()\n", + " counts = cudaq.sample(kernel,shots_count=shots, noise_model=noise_model)\n", + " exp_z = counts.expectation()\n", "\n", " return exp_z" ] @@ -302,12 +302,12 @@ "metadata": {}, "outputs": [], "source": [ - "exp_z=[]\n", + "exp_z = []\n", "#timestep\n", - "dt=50\n", - "end_time=5000 #ns\n", - "times=list(np.arange(0,end_time,dt))\n", - "shots=1000\n", + "dt = 50\n", + "end_time = 5000 #ns\n", + "times = list(np.arange(0,end_time,dt))\n", + "shots = 1000\n", "\n", "for t in times:\n", " exp_z.append(T1_exp(t,1000))" @@ -369,9 +369,9 @@ "source": [ "##T2 experiment\n", "def T2_star_exp(time, shots):\n", - " kernel=cudaq.make_kernel()\n", - " qubits=kernel.qalloc(1)\n", - " noise_model=hidden_noise_model(time)\n", + " kernel = cudaq.make_kernel()\n", + " qubits = kernel.qalloc(1)\n", + " noise_model = hidden_noise_model(time)\n", " kernel.Id = MethodType(Id, kernel)\n", "\n", " ##put qubit in equator\n", @@ -382,8 +382,8 @@ " kernel.Id(time,qubits[0])\n", "\n", " kernel.mx(qubits[0])\n", - " counts=cudaq.sample(kernel,shots_count=shots, noise_model=noise_model)\n", - " exp_x=counts.expectation()\n", + " counts = cudaq.sample(kernel,shots_count=shots, noise_model=noise_model)\n", + " exp_x = counts.expectation()\n", "\n", " return exp_x" ] @@ -394,12 +394,12 @@ "metadata": {}, "outputs": [], "source": [ - "exp_x=[]\n", + "exp_x = []\n", "#timestep\n", - "dt=15\n", - "end_time=1500 #ns\n", - "times=list(np.arange(0,end_time,dt))\n", - "shots=1000\n", + "dt = 15\n", + "end_time = 1500 #ns\n", + "times = list(np.arange(0,end_time,dt))\n", + "shots = 1000\n", "\n", "for t in times:\n", " exp_x.append(T2_star_exp(t,1000))" @@ -467,9 +467,9 @@ "source": [ "##T2 experiment\n", "def T2_exp(time, shots):\n", - " kernel=cudaq.make_kernel()\n", - " qubits=kernel.qalloc(1)\n", - " noise_model=hidden_noise_model(time)\n", + " kernel = cudaq.make_kernel()\n", + " qubits = kernel.qalloc(1)\n", + " noise_model = hidden_noise_model(time)\n", " kernel.Id = MethodType(Id, kernel)\n", "\n", " ##put qubit in equator\n", @@ -481,8 +481,8 @@ " kernel.Id(time,qubits[0])\n", "\n", " kernel.mx(qubits[0])\n", - " counts=cudaq.sample(kernel,shots_count=shots, noise_model=noise_model)\n", - " exp_x=counts.expectation()\n", + " counts = cudaq.sample(kernel,shots_count=shots, noise_model=noise_model)\n", + " exp_x = counts.expectation()\n", "\n", " return exp_x" ] @@ -493,12 +493,12 @@ "metadata": {}, "outputs": [], "source": [ - "exp_x=[]\n", + "exp_x = []\n", "#timestep\n", - "dt=15\n", - "end_time=1500 #ns\n", - "times=list(np.arange(0,end_time,dt))\n", - "shots=1000\n", + "dt = 15\n", + "end_time = 1500 #ns\n", + "times = list(np.arange(0,end_time,dt))\n", + "shots = 1000\n", "\n", "for t in times:\n", " exp_x.append(T2_exp(t,1000))" @@ -566,7 +566,7 @@ "outputs": [], "source": [ "def error_prob(t,T1):\n", - " error=1-np.exp(-t/T1) #nanoseconds\n", + " error = 1-np.exp(-t/T1) #nanoseconds\n", " return error" ] }, @@ -587,10 +587,10 @@ "t=100 #ns\n", "T1=1000 #ns\n", "\n", - "t1_decay=error_prob(t,T1)\n", - "kraus_0=np.array([[1.0,0.0],[0.0,np.sqrt(1-t1_decay)]],dtype=np.complex128,order='F')\n", - "kraus_1=np.array([[0.0,np.sqrt(t1_decay)],[0.0,0.0]],dtype=np.complex128,order='F')\n", - "kraus_chan=cudaq.KrausChannel([kraus_0,kraus_1])" + "t1_decay = error_prob(t,T1)\n", + "kraus_0 = np.array([[1.0,0.0],[0.0,np.sqrt(1-t1_decay)]],dtype=np.complex128,order='F')\n", + "kraus_1 = np.array([[0.0,np.sqrt(t1_decay)],[0.0,0.0]],dtype=np.complex128,order='F')\n", + "kraus_chan = cudaq.KrausChannel([kraus_0,kraus_1])" ] }, { @@ -606,7 +606,7 @@ "metadata": {}, "outputs": [], "source": [ - "noise_model=cudaq.NoiseModel()\n", + "noise_model = cudaq.NoiseModel()\n", "\n", "##add noise to x\n", "noise_model.add_channel(\"x\",[0],t1_kraus(t,T1))" @@ -634,11 +634,11 @@ } ], "source": [ - "kernel=cudaq.make_kernel()\n", - "qubits=kernel.qalloc(1)\n", + "kernel = cudaq.make_kernel()\n", + "qubits = kernel.qalloc(1)\n", "kernel.x(qubits[0])\n", "kernel.mz(qubits[0])\n", - "counts=cudaq.sample(kernel,noise_model=noise_model)\n", + "counts = cudaq.sample(kernel,noise_model=noise_model)\n", "\n", "print(counts.dump())" ] @@ -665,8 +665,8 @@ } ], "source": [ - "noise_model=cudaq.NoiseModel()\n", - "bit_flip=cudaq.BitFlipChannel(1.0)\n", + "noise_model = cudaq.NoiseModel()\n", + "bit_flip = cudaq.BitFlipChannel(1.0)\n", "noise_model.add_channel('x',[0],bit_flip)\n", "\n", "@cudaq.kernel\n", From 865eea448fb5dceba91ba5ac1950fac6b7f79d91 Mon Sep 17 00:00:00 2001 From: marwafar Date: Thu, 8 Aug 2024 03:10:43 +0000 Subject: [PATCH 4/8] add space --- .../python/tutorials/noise_parameters.py | 34 +++++++++---------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/docs/sphinx/examples/python/tutorials/noise_parameters.py b/docs/sphinx/examples/python/tutorials/noise_parameters.py index 6cb4e0dee4..f1b412deb4 100644 --- a/docs/sphinx/examples/python/tutorials/noise_parameters.py +++ b/docs/sphinx/examples/python/tutorials/noise_parameters.py @@ -2,35 +2,35 @@ import numpy as np ### Hidden qubit parameters -T1=1000 #ns -T2=200 #ns -detuning_rate=np.pi/250 +T1 = 1000 #ns +T2 = 200 #ns +detuning_rate = np.pi/250 ### Define Kraus Channels def error_prob(t,T12): - error=1-np.exp(-t/T12) #nanoseconds + error = 1-np.exp(-t/T12) #nanoseconds return error def t1_kraus(t,T1): - t1_decay=error_prob(t,T1) - kraus_0=np.array([[1.0,0.0],[0.0,np.sqrt(1-t1_decay)]],dtype=np.complex128,order='F') - kraus_1=np.array([[0.0,np.sqrt(t1_decay)],[0.0,0.0]],dtype=np.complex128,order='F') - kraus_op=cudaq.KrausChannel([kraus_0,kraus_1]) + t1_decay = error_prob(t,T1) + kraus_0 = np.array([[1.0,0.0],[0.0,np.sqrt(1-t1_decay)]],dtype=np.complex128,order='F') + kraus_1 = np.array([[0.0,np.sqrt(t1_decay)],[0.0,0.0]],dtype=np.complex128,order='F') + kraus_op = cudaq.KrausChannel([kraus_0,kraus_1]) return kraus_op def coherent_z_kraus(angle): - kraus_0=np.array([[np.exp(-1j*angle/2),0.0],[0.0,np.exp(1j*angle/2)]],dtype="complex128",order="F") - kraus_op=cudaq.KrausChannel([kraus_0]) + kraus_0 = np.array([[np.exp(-1j*angle/2),0.0],[0.0,np.exp(1j*angle/2)]],dtype="complex128",order="F") + kraus_op = cudaq.KrausChannel([kraus_0]) return kraus_op def t2_kraus(t,T2): - t2_decay=error_prob(t,T2) - kraus_0=np.array([[1.0,0.0],[0.0,np.sqrt(1-t2_decay)]],dtype=np.complex128,order='F') - kraus_1=np.array([[0.0,0.0],[0.0,np.sqrt(t2_decay)]],dtype=np.complex128,order='F') - kraus_op=cudaq.KrausChannel([kraus_0,kraus_1]) + t2_decay = error_prob(t,T2) + kraus_0 = np.array([[1.0,0.0],[0.0,np.sqrt(1-t2_decay)]],dtype=np.complex128,order='F') + kraus_1 = np.array([[0.0,0.0],[0.0,np.sqrt(t2_decay)]],dtype=np.complex128,order='F') + kraus_op = cudaq.KrausChannel([kraus_0,kraus_1]) return kraus_op ### Define Noise model and gates @@ -63,7 +63,7 @@ def Id(self, time, qubit) -> None: def custom_rx(self, time, amp, qubit): ##hidden frequency - f=5.3012314 #GHz - amp_adjust=0.1 - angle=2*np.pi*time*amp*f*amp_adjust + f = 5.3012314 #GHz + amp_adjust = 0.1 + angle = 2*np.pi*time*amp*f*amp_adjust self.rx(angle,qubit) \ No newline at end of file From 1d624ceef562acfd511d279cd74c5babbef6097c Mon Sep 17 00:00:00 2001 From: Ben Howe Date: Fri, 23 Aug 2024 16:50:57 +0000 Subject: [PATCH 5/8] yapf format --- .../python/tutorials/noise_parameters.py | 90 +++++++++++-------- 1 file changed, 55 insertions(+), 35 deletions(-) diff --git a/docs/sphinx/examples/python/tutorials/noise_parameters.py b/docs/sphinx/examples/python/tutorials/noise_parameters.py index f1b412deb4..171db6e266 100644 --- a/docs/sphinx/examples/python/tutorials/noise_parameters.py +++ b/docs/sphinx/examples/python/tutorials/noise_parameters.py @@ -2,68 +2,88 @@ import numpy as np ### Hidden qubit parameters -T1 = 1000 #ns -T2 = 200 #ns -detuning_rate = np.pi/250 +T1 = 1000 #ns +T2 = 200 #ns +detuning_rate = np.pi / 250 ### Define Kraus Channels -def error_prob(t,T12): - error = 1-np.exp(-t/T12) #nanoseconds - return error -def t1_kraus(t,T1): +def error_prob(t, T12): + error = 1 - np.exp(-t / T12) #nanoseconds + return error - t1_decay = error_prob(t,T1) - kraus_0 = np.array([[1.0,0.0],[0.0,np.sqrt(1-t1_decay)]],dtype=np.complex128,order='F') - kraus_1 = np.array([[0.0,np.sqrt(t1_decay)],[0.0,0.0]],dtype=np.complex128,order='F') - kraus_op = cudaq.KrausChannel([kraus_0,kraus_1]) + +def t1_kraus(t, T1): + + t1_decay = error_prob(t, T1) + kraus_0 = np.array([[1.0, 0.0], [0.0, np.sqrt(1 - t1_decay)]], + dtype=np.complex128, + order='F') + kraus_1 = np.array([[0.0, np.sqrt(t1_decay)], [0.0, 0.0]], + dtype=np.complex128, + order='F') + kraus_op = cudaq.KrausChannel([kraus_0, kraus_1]) return kraus_op + def coherent_z_kraus(angle): - kraus_0 = np.array([[np.exp(-1j*angle/2),0.0],[0.0,np.exp(1j*angle/2)]],dtype="complex128",order="F") + kraus_0 = np.array( + [[np.exp(-1j * angle / 2), 0.0], [0.0, np.exp(1j * angle / 2)]], + dtype="complex128", + order="F") kraus_op = cudaq.KrausChannel([kraus_0]) return kraus_op -def t2_kraus(t,T2): - - t2_decay = error_prob(t,T2) - kraus_0 = np.array([[1.0,0.0],[0.0,np.sqrt(1-t2_decay)]],dtype=np.complex128,order='F') - kraus_1 = np.array([[0.0,0.0],[0.0,np.sqrt(t2_decay)]],dtype=np.complex128,order='F') - kraus_op = cudaq.KrausChannel([kraus_0,kraus_1]) + +def t2_kraus(t, T2): + + t2_decay = error_prob(t, T2) + kraus_0 = np.array([[1.0, 0.0], [0.0, np.sqrt(1 - t2_decay)]], + dtype=np.complex128, + order='F') + kraus_1 = np.array([[0.0, 0.0], [0.0, np.sqrt(t2_decay)]], + dtype=np.complex128, + order='F') + kraus_op = cudaq.KrausChannel([kraus_0, kraus_1]) return kraus_op + ### Define Noise model and gates - + + def hidden_noise_model(t): #initialize the noise model - noise_model=cudaq.NoiseModel() + noise_model = cudaq.NoiseModel() ##add noise to r1 "delay" - noise_model.add_channel("r1",[0],t1_kraus(t,T1)) - noise_model.add_channel("r1",[0],t2_kraus(t,T2)) - noise_model.add_channel("r1",[0],coherent_z_kraus(t*detuning_rate)) + noise_model.add_channel("r1", [0], t1_kraus(t, T1)) + noise_model.add_channel("r1", [0], t2_kraus(t, T2)) + noise_model.add_channel("r1", [0], coherent_z_kraus(t * detuning_rate)) ##add noise to rx - noise_model.add_channel("rx",[0],t1_kraus(t,T1)) - noise_model.add_channel("rx",[0],t2_kraus(t,T2)) - noise_model.add_channel("rx",[0],coherent_z_kraus(t*detuning_rate)) + noise_model.add_channel("rx", [0], t1_kraus(t, T1)) + noise_model.add_channel("rx", [0], t2_kraus(t, T2)) + noise_model.add_channel("rx", [0], coherent_z_kraus(t * detuning_rate)) - ##add noise to rz - noise_model.add_channel("rz",[0],t1_kraus(t,T1)) - noise_model.add_channel("rz",[0],t2_kraus(t,T2)) - noise_model.add_channel("rz",[0],coherent_z_kraus(t*detuning_rate)) + ##add noise to rz + noise_model.add_channel("rz", [0], t1_kraus(t, T1)) + noise_model.add_channel("rz", [0], t2_kraus(t, T2)) + noise_model.add_channel("rz", [0], coherent_z_kraus(t * detuning_rate)) return noise_model + ## define some custom gates + def Id(self, time, qubit) -> None: self.r1(0.0, qubit) + def custom_rx(self, time, amp, qubit): - ##hidden frequency - f = 5.3012314 #GHz - amp_adjust = 0.1 - angle = 2*np.pi*time*amp*f*amp_adjust - self.rx(angle,qubit) \ No newline at end of file + ##hidden frequency + f = 5.3012314 #GHz + amp_adjust = 0.1 + angle = 2 * np.pi * time * amp * f * amp_adjust + self.rx(angle, qubit) From 9f96874eebf650ca669f25b780ff55a0a6af067c Mon Sep 17 00:00:00 2001 From: Ben Howe Date: Fri, 23 Aug 2024 16:53:10 +0000 Subject: [PATCH 6/8] Spelling --- .../examples/python/tutorials/noise_parameters.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/docs/sphinx/examples/python/tutorials/noise_parameters.py b/docs/sphinx/examples/python/tutorials/noise_parameters.py index 171db6e266..7b1d35b33f 100644 --- a/docs/sphinx/examples/python/tutorials/noise_parameters.py +++ b/docs/sphinx/examples/python/tutorials/noise_parameters.py @@ -2,15 +2,15 @@ import numpy as np ### Hidden qubit parameters -T1 = 1000 #ns -T2 = 200 #ns +T1 = 1000 # nanoseconds +T2 = 200 # nanoseconds detuning_rate = np.pi / 250 ### Define Kraus Channels def error_prob(t, T12): - error = 1 - np.exp(-t / T12) #nanoseconds + error = 1 - np.exp(-t / T12) # nanoseconds return error @@ -56,17 +56,17 @@ def hidden_noise_model(t): #initialize the noise model noise_model = cudaq.NoiseModel() - ##add noise to r1 "delay" + ##add noise to `r1` "delay" noise_model.add_channel("r1", [0], t1_kraus(t, T1)) noise_model.add_channel("r1", [0], t2_kraus(t, T2)) noise_model.add_channel("r1", [0], coherent_z_kraus(t * detuning_rate)) - ##add noise to rx + ##add noise to `rx` noise_model.add_channel("rx", [0], t1_kraus(t, T1)) noise_model.add_channel("rx", [0], t2_kraus(t, T2)) noise_model.add_channel("rx", [0], coherent_z_kraus(t * detuning_rate)) - ##add noise to rz + ##add noise to `rz` noise_model.add_channel("rz", [0], t1_kraus(t, T1)) noise_model.add_channel("rz", [0], t2_kraus(t, T2)) noise_model.add_channel("rz", [0], coherent_z_kraus(t * detuning_rate)) From 884f1535e5c58c78ddb4472ad7b092db13dc5e22 Mon Sep 17 00:00:00 2001 From: Ben Howe Date: Fri, 23 Aug 2024 17:04:16 +0000 Subject: [PATCH 7/8] Notebook formatting --- .../python/tutorials/noisy_examples.ipynb | 162 +++++++++--------- 1 file changed, 84 insertions(+), 78 deletions(-) diff --git a/docs/sphinx/examples/python/tutorials/noisy_examples.ipynb b/docs/sphinx/examples/python/tutorials/noisy_examples.ipynb index 14d4a18869..fe01b0c225 100644 --- a/docs/sphinx/examples/python/tutorials/noisy_examples.ipynb +++ b/docs/sphinx/examples/python/tutorials/noisy_examples.ipynb @@ -4,7 +4,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "# Noisy Qubit Modeling using the CUDA-Q Density Matrix simulator" + "# Noisy Qubit Modeling Using the CUDA-Q Density Matrix Simulator" ] }, { @@ -24,7 +24,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "We begin by importing cudaq with a few other python packages and a 'hidden' noise model from the `noise_parameters` file" + "We begin by importing `cudaq` with a few other python packages and a 'hidden' noise model from the `noise_parameters` file" ] }, { @@ -63,22 +63,23 @@ "metadata": {}, "outputs": [], "source": [ - "##Set the backend to the DM-CPU simulator\n", + "## Set the backend to the DM-CPU simulator\n", "cudaq.set_target('density-matrix-cpu')\n", "\n", - "##noisy rabi oscillation\n", + "\n", + "## Noisy rabi oscillation\n", "def noisy_rabi(time, amp, shots):\n", " kernel = cudaq.make_kernel()\n", " qubits = kernel.qalloc(1)\n", "\n", - " ##Add the hidden noise model and define the custom_rx gate\n", + " ## Add the hidden noise model and define the custom_rx gate\n", " noise_model = hidden_noise_model(time)\n", " kernel.custom_rx = MethodType(custom_rx, kernel)\n", "\n", - " ##vary rx rotation angle\n", - " kernel.custom_rx(time,amp,qubits[0])\n", + " ## Vary rx rotation angle\n", + " kernel.custom_rx(time, amp, qubits[0])\n", " kernel.mz(qubits[0])\n", - " counts = cudaq.sample(kernel,shots_count=shots, noise_model=noise_model)\n", + " counts = cudaq.sample(kernel, shots_count=shots, noise_model=noise_model)\n", " exp_z = counts.expectation()\n", "\n", " return exp_z" @@ -97,15 +98,15 @@ "metadata": {}, "outputs": [], "source": [ - "#Amplitude\n", - "Amp=1\n", - "#timestep\n", - "dt=1\n", - "times = list(np.arange(0,100,dt))\n", + "# Amplitude\n", + "Amp = 1\n", + "# Time step\n", + "dt = 1\n", + "times = list(np.arange(0, 100, dt))\n", "\n", "exp_z = []\n", "for t in times:\n", - " exp_z.append(noisy_rabi(t, Amp,1000))" + " exp_z.append(noisy_rabi(t, Amp, 1000))" ] }, { @@ -135,7 +136,7 @@ } ], "source": [ - "plt.plot(times,exp_z,'--o')\n", + "plt.plot(times, exp_z, '--o')\n", "plt.xlabel('Pulse duration (ns)')\n", "plt.ylabel('')" ] @@ -175,26 +176,26 @@ "metadata": {}, "outputs": [], "source": [ - "##noisy precession\n", + "## Noisy precession\n", "def noisy_precession(time, shots):\n", " kernel = cudaq.make_kernel()\n", " qubits = kernel.qalloc(1)\n", " noise_model = hidden_noise_model(time)\n", " kernel.Id = MethodType(Id, kernel)\n", "\n", - " ##put qubit in equator\n", + " ## put qubit in equator\n", " kernel.h(qubits[0])\n", "\n", - " ##Wait for time 'time'\n", - " kernel.Id(time,qubits[0])\n", + " ## Wait for time 'time'\n", + " kernel.Id(time, qubits[0])\n", "\n", - " ##Apply an Rz correction \n", + " ## Apply an Rz correction\n", " f_correction = 0.0\n", - " kernel.rz(f_correction*time,qubits[0])\n", + " kernel.rz(f_correction * time, qubits[0])\n", "\n", - " ##Measure in y basis\n", + " ## Measure in y basis\n", " kernel.my(qubits[0])\n", - " counts = cudaq.sample(kernel,shots_count=shots, noise_model=noise_model)\n", + " counts = cudaq.sample(kernel, shots_count=shots, noise_model=noise_model)\n", " exp_y = counts.expectation()\n", "\n", " return exp_y" @@ -207,12 +208,12 @@ "outputs": [], "source": [ "exp_y = []\n", - "#timestep\n", - "dt=1\n", - "times = list(np.arange(0,100,dt))\n", + "# Time step\n", + "dt = 1\n", + "times = list(np.arange(0, 100, dt))\n", "\n", "for t in times:\n", - " exp_y.append(noisy_precession(t,1000))" + " exp_y.append(noisy_precession(t, 1000))" ] }, { @@ -242,10 +243,10 @@ } ], "source": [ - "plt.plot(times,exp_y,'.')\n", + "plt.plot(times, exp_y, '.')\n", "plt.xlabel('Pulse duration (ns)')\n", "plt.ylabel('')\n", - "plt.ylim([-1,1])" + "plt.ylim([-1, 1])" ] }, { @@ -275,22 +276,22 @@ "metadata": {}, "outputs": [], "source": [ - "##T1 experiment\n", + "## T1 experiment\n", "def T1_exp(time, shots):\n", " kernel = cudaq.make_kernel()\n", " qubits = kernel.qalloc(1)\n", " noise_model = hidden_noise_model(time)\n", " kernel.Id = MethodType(Id, kernel)\n", "\n", - " ##excite qubit\n", + " ## excite qubit\n", " kernel.x(qubits[0])\n", "\n", - " ##wait\n", - " kernel.Id(time,qubits[0])\n", + " ## wait\n", + " kernel.Id(time, qubits[0])\n", "\n", - " ##measure in z basis\n", + " ## measure in z basis\n", " kernel.mz(qubits[0])\n", - " counts = cudaq.sample(kernel,shots_count=shots, noise_model=noise_model)\n", + " counts = cudaq.sample(kernel, shots_count=shots, noise_model=noise_model)\n", " exp_z = counts.expectation()\n", "\n", " return exp_z" @@ -303,14 +304,14 @@ "outputs": [], "source": [ "exp_z = []\n", - "#timestep\n", + "# Time step\n", "dt = 50\n", - "end_time = 5000 #ns\n", - "times = list(np.arange(0,end_time,dt))\n", + "end_time = 5000 #ns\n", + "times = list(np.arange(0, end_time, dt))\n", "shots = 1000\n", "\n", "for t in times:\n", - " exp_z.append(T1_exp(t,1000))" + " exp_z.append(T1_exp(t, 1000))" ] }, { @@ -340,7 +341,7 @@ } ], "source": [ - "plt.plot(times,exp_z,'.')\n", + "plt.plot(times, exp_z, '.')\n", "plt.xlabel('Time (ns)')\n", "plt.ylabel('')" ] @@ -367,22 +368,22 @@ "metadata": {}, "outputs": [], "source": [ - "##T2 experiment\n", + "## T2 experiment\n", "def T2_star_exp(time, shots):\n", " kernel = cudaq.make_kernel()\n", " qubits = kernel.qalloc(1)\n", " noise_model = hidden_noise_model(time)\n", " kernel.Id = MethodType(Id, kernel)\n", "\n", - " ##put qubit in equator\n", + " ## put qubit in equator\n", " kernel.h(qubits[0])\n", "\n", - " ##wait\n", - " kernel.Id(time,qubits[0])\n", - " kernel.Id(time,qubits[0])\n", + " ## wait\n", + " kernel.Id(time, qubits[0])\n", + " kernel.Id(time, qubits[0])\n", "\n", " kernel.mx(qubits[0])\n", - " counts = cudaq.sample(kernel,shots_count=shots, noise_model=noise_model)\n", + " counts = cudaq.sample(kernel, shots_count=shots, noise_model=noise_model)\n", " exp_x = counts.expectation()\n", "\n", " return exp_x" @@ -395,14 +396,14 @@ "outputs": [], "source": [ "exp_x = []\n", - "#timestep\n", + "# Time step\n", "dt = 15\n", - "end_time = 1500 #ns\n", - "times = list(np.arange(0,end_time,dt))\n", + "end_time = 1500 #ns\n", + "times = list(np.arange(0, end_time, dt))\n", "shots = 1000\n", "\n", "for t in times:\n", - " exp_x.append(T2_star_exp(t,1000))" + " exp_x.append(T2_star_exp(t, 1000))" ] }, { @@ -432,10 +433,10 @@ } ], "source": [ - "plt.plot([2*t for t in times],exp_x,'.')\n", + "plt.plot([2 * t for t in times], exp_x, '.')\n", "plt.xlabel('Time (ns)')\n", "plt.ylabel('')\n", - "plt.ylim([-1.1,1.1])" + "plt.ylim([-1.1, 1.1])" ] }, { @@ -465,23 +466,23 @@ "metadata": {}, "outputs": [], "source": [ - "##T2 experiment\n", + "## T2 experiment\n", "def T2_exp(time, shots):\n", " kernel = cudaq.make_kernel()\n", " qubits = kernel.qalloc(1)\n", " noise_model = hidden_noise_model(time)\n", " kernel.Id = MethodType(Id, kernel)\n", "\n", - " ##put qubit in equator\n", + " ## put qubit in equator\n", " kernel.h(qubits[0])\n", "\n", - " ##wait\n", - " kernel.Id(time,qubits[0])\n", + " ## wait\n", + " kernel.Id(time, qubits[0])\n", " kernel.x(qubits[0])\n", - " kernel.Id(time,qubits[0])\n", + " kernel.Id(time, qubits[0])\n", "\n", " kernel.mx(qubits[0])\n", - " counts = cudaq.sample(kernel,shots_count=shots, noise_model=noise_model)\n", + " counts = cudaq.sample(kernel, shots_count=shots, noise_model=noise_model)\n", " exp_x = counts.expectation()\n", "\n", " return exp_x" @@ -494,14 +495,14 @@ "outputs": [], "source": [ "exp_x = []\n", - "#timestep\n", + "# Time step\n", "dt = 15\n", - "end_time = 1500 #ns\n", - "times = list(np.arange(0,end_time,dt))\n", + "end_time = 1500 # ns\n", + "times = list(np.arange(0, end_time, dt))\n", "shots = 1000\n", "\n", "for t in times:\n", - " exp_x.append(T2_exp(t,1000))" + " exp_x.append(T2_exp(t, 1000))" ] }, { @@ -531,10 +532,10 @@ } ], "source": [ - "plt.plot(times,exp_x,'.')\n", + "plt.plot(times, exp_x, '.')\n", "plt.xlabel('Time (ns)')\n", "plt.ylabel('')\n", - "plt.ylim([-1.1,1.1])" + "plt.ylim([-1.1, 1.1])" ] }, { @@ -565,9 +566,9 @@ "metadata": {}, "outputs": [], "source": [ - "def error_prob(t,T1):\n", - " error = 1-np.exp(-t/T1) #nanoseconds\n", - " return error" + "def error_prob(t, T1):\n", + " error = 1 - np.exp(-t / T1) #nanoseconds\n", + " return error" ] }, { @@ -583,14 +584,18 @@ "metadata": {}, "outputs": [], "source": [ - "#gate time\n", - "t=100 #ns\n", - "T1=1000 #ns\n", + "# Gate time\n", + "t = 100 #ns\n", + "T1 = 1000 #ns\n", "\n", - "t1_decay = error_prob(t,T1)\n", - "kraus_0 = np.array([[1.0,0.0],[0.0,np.sqrt(1-t1_decay)]],dtype=np.complex128,order='F')\n", - "kraus_1 = np.array([[0.0,np.sqrt(t1_decay)],[0.0,0.0]],dtype=np.complex128,order='F')\n", - "kraus_chan = cudaq.KrausChannel([kraus_0,kraus_1])" + "t1_decay = error_prob(t, T1)\n", + "kraus_0 = np.array([[1.0, 0.0], [0.0, np.sqrt(1 - t1_decay)]],\n", + " dtype=np.complex128,\n", + " order='F')\n", + "kraus_1 = np.array([[0.0, np.sqrt(t1_decay)], [0.0, 0.0]],\n", + " dtype=np.complex128,\n", + " order='F')\n", + "kraus_chan = cudaq.KrausChannel([kraus_0, kraus_1])" ] }, { @@ -608,8 +613,8 @@ "source": [ "noise_model = cudaq.NoiseModel()\n", "\n", - "##add noise to x\n", - "noise_model.add_channel(\"x\",[0],t1_kraus(t,T1))" + "## add noise to x\n", + "noise_model.add_channel(\"x\", [0], t1_kraus(t, T1))" ] }, { @@ -638,7 +643,7 @@ "qubits = kernel.qalloc(1)\n", "kernel.x(qubits[0])\n", "kernel.mz(qubits[0])\n", - "counts = cudaq.sample(kernel,noise_model=noise_model)\n", + "counts = cudaq.sample(kernel, noise_model=noise_model)\n", "\n", "print(counts.dump())" ] @@ -667,7 +672,8 @@ "source": [ "noise_model = cudaq.NoiseModel()\n", "bit_flip = cudaq.BitFlipChannel(1.0)\n", - "noise_model.add_channel('x',[0],bit_flip)\n", + "noise_model.add_channel('x', [0], bit_flip)\n", + "\n", "\n", "@cudaq.kernel\n", "def kernel():\n", From 8bd124c35a519b341152ecdfd0b7c7cc5bf760a1 Mon Sep 17 00:00:00 2001 From: Ben Howe Date: Fri, 23 Aug 2024 17:05:15 +0000 Subject: [PATCH 8/8] Add to tutorials.rst --- docs/sphinx/using/tutorials.rst | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/sphinx/using/tutorials.rst b/docs/sphinx/using/tutorials.rst index b0b6341a5d..fdf814d8dd 100644 --- a/docs/sphinx/using/tutorials.rst +++ b/docs/sphinx/using/tutorials.rst @@ -16,6 +16,7 @@ Tutorials that give an in depth view of CUDA-Q and its applications in Python. /examples/python/tutorials/hybrid_qnns.ipynb /examples/python/tutorials/maximum_vertex_weight_clique.ipynb /examples/python/tutorials/noisy_simulations.ipynb + /examples/python/tutorials/noisy_examples.ipynb /examples/python/tutorials/readout_error_mitigation.ipynb /examples/python/tutorials/vqe_water_active_space.ipynb /examples/python/tutorials/Divisive_clustering.ipynb