{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Estimating Precession Frequencies #" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Introduction ##" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This Notebook demonstrates how to use QInfer to estimate a single precession frequency, for example in a Rabi or Ramsey experiment." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Setup ##" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "First, to make sure that this example works in both Python 2 and 3, we tell Python 2 to use 3-style division and printing." ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "collapsed": true }, "outputs": [], "source": [ "from __future__ import division, print_function" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Next, we import QInfer itself, along with NumPy and Matplotlib." ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "collapsed": false }, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "/home/cgranade/anaconda/envs/qinfer-binder/lib/python3.5/site-packages/qinfer/metrics.py:51: UserWarning: Could not import scikit-learn. Some features may not work.\n", " warnings.warn(\"Could not import scikit-learn. Some features may not work.\")\n", "/home/cgranade/anaconda/envs/qinfer-binder/lib/python3.5/site-packages/matplotlib/__init__.py:872: UserWarning: axes.color_cycle is deprecated and replaced with axes.prop_cycle; please use the latter.\n", " warnings.warn(self.msg_depr % (key, alt_key))\n", "/home/cgranade/anaconda/envs/qinfer-binder/lib/python3.5/site-packages/IPython/parallel.py:13: ShimWarning: The `IPython.parallel` package has been deprecated. You should import from ipyparallel instead.\n", " \"You should import from ipyparallel instead.\", ShimWarning)\n", "/home/cgranade/anaconda/envs/qinfer-binder/lib/python3.5/site-packages/qinfer/parallel.py:53: UserWarning: Could not import IPython parallel. Parallelization support will be disabled.\n", " \"Could not import IPython parallel. \"\n" ] } ], "source": [ "import qinfer as qi\n", "import numpy as np\n", "import matplotlib.pyplot as plt" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We finish by configuring Matplotlib for plotting in Jupyter Notebook." ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "collapsed": true }, "outputs": [], "source": [ "%matplotlib inline\n", "try: plt.style.use('ggplot')\n", "except: pass" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Uniform Sampling ##" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "In particular, we'll assume that for a frequency $\\omega$, if one measures at a time $t$, then the probability of a \"1\" measurement is given by\n", "\\begin{equation}\n", " \\Pr(1 | \\omega, t) = \\sin^2(\\omega t / 2).\n", "\\end{equation}\n", "To estimate $\\omega$, we will need a set of measurements $\\{(t_k, n_k)\\}_{k=1}^N$, where $t_k$ is the evolution time used for the $k$th sample and where $n_k$ \"1\" measurements are seen. Conventionally, one might choose $t_k = k \\pi / (2 \\omega_\\max)$, where $\\omega_\\max$ is the maximum frequency that one expects to observe. For each $k$, many \"shots\" are then collected to give a good average, such that the Fourier transform of the collected measurements clearly shows a peak at the $\\omega$.\n", "\n", "To see this, let's start by making some fake data from a precession experiment (e.g.: Rabi, Ramsey or phase estimation), then using the Fourier method." ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "collapsed": true }, "outputs": [], "source": [ "true_omega = 70.3\n", "omega_min, omega_max = [0, 99.1]\n", "n_shots = 400\n", "\n", "ts = np.pi * (1 + np.arange(100)) / (2 * omega_max)\n", "\n", "signal = np.sin(true_omega * ts / 2) ** 2\n", "counts = np.random.binomial(n=n_shots, p=signal)" ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\nfX1905qXveMd7+DFF19kw4YNfOxjH+Oyyy4L9F42DFSpQjo7BQYKiG9XnTiFANXYehkSCbvvUSYR\nZf3COpsAjfQfAAAgAElEQVTME6VaYOd1g63JU9k4VGnHxIPWmjhufPmDzTTNac5E685gBoK53OpM\nghy2lTaC2n6WbDBgmg4EfMA7TabycBBczVUpO8xP7uDO6wZbHz/Azb/5N7bubuFQgt5n4gidhggG\nWiLtTCLKmu5RNhxcJCwwWDGYIROpt7WwySSirHhdr0JoOKDKc2oABuFUkDFF8LCLHfcV8Dt27ODE\nE0/kE5/4BPv37+e6667jc5/7HF1d7cTpzp072blzp/3z2rVryWYnMewscOX5GW68/42sT2T5r13j\nXHn+iWSSMSZSKdKxKNGW14vYWFUn2zfHlpcCjCeTZBJxIoLPSiQSZKJRcqnutvGm5s/jD8Z+whV3\nnMw333sG82d5Q3D5So3bd+zjf48/TP/AmVx5wonc+tA+Lj9nkFh3mmQ0QlxyfrlajdTs2cSyWRKJ\nBNlslnwqRTIek3qWqeuMaxqz+iYDh+qcuVT0ChnJMRWBaDZLsuXvSpksmgZdLeMUsYJZJz6rl0TL\n64vdaSLRCF0y86uUrfnNmWv/W61vDiW94jgWrzGWoxHq3Wm6W36vz5pF1ayTlvysSqYJ2VmkWv6u\nks1iHD7Q9nw3q5gRbt81zhWnptBSEa48f3JNpfvmknOZn5dVY1EqXam2773W20upbkg/q4JJLdOy\nNis1vhc9kVsTj/K9PQNWoW3S/4ir5yE35TsxTZNxs04mlbLl9SJWr+nkEsn2Z3UlGdd1qbUJUNVM\nKplZbZ9VqbcPzahKrU+AcaNGZnZf27k00ZUiHY85nnu33367/d9DQ0MMDQ35vseMOpO+vj4OHZrE\nzUdHR+nr62t7zb333svw8DAA8+fPZ2BggH379nHSSSe1vc5pwk43kQ2/cB/rt67gltWLMfUSOR3q\n8SSF0cNovXOnvd7NzLoB1Sq5cgWtMhnpmdEY+bEjaFMltS6WzWbJHx7BTCTbxpurRfhu8hRuWb2Y\n27Y975uZbN+XZ+2yHlLfn6BYraHpJdYu62HbMyOcFYlSHBsjInkzm1EuWc/K5chms+RyOQwtQn1i\nnLLEs8yJI5DqbpufaWrUcxPSt8XViwWqRh295e/qaJCboNoyThEzCnmMep3K1Gflc1Rl5nfkMHS3\n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\nAElFTkSuQmCC\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.plot(ts, signal, label='Signal')\n", "plt.plot(ts, counts / n_shots, 'x', label='Data')\n", "plt.xlabel('$t$')\n", "plt.ylabel(r'$\\Pr(1 | \\omega, t)$')\n", "plt.ylim(-0.05, 1.05)\n", "plt.legend()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now let's look at the periodogram of the data (that is, the squared modulus of the Fourier-transformed data), and note that we see the true value of $\\omega$ that we used to generate the data appears as a clearly-visible peak." ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "collapsed": true }, "outputs": [], "source": [ "spectrum = np.abs(np.fft.fftshift(np.fft.fft(counts - counts.mean())))**2\n", "ft_freq = 2 * np.pi * np.fft.fftshift(np.fft.fftfreq(n=len(counts), d=ts[1] - ts[0]))" ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.plot(ft_freq, spectrum)\n", "ylim = plt.ylim()\n", "plt.vlines(true_omega, *ylim)\n", "plt.ylim(*ylim)\n", "plt.xlabel('$\\omega$')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Though things look quite nice when zoomed out so far, if we look closer to the true value of $\\omega$, we see that there's still a lot of uncertianty about the precession frequency." ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.plot(ft_freq, spectrum, '.-', markersize=10)\n", "ylim = plt.ylim()\n", "plt.vlines(true_omega, *ylim)\n", "plt.ylim(*ylim)\n", "plt.xlim(true_omega - 5, true_omega + 5)\n", "plt.xlabel('$\\omega$')\n", "plt.ylabel('Amplitude')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can improve on the situation dramatically by using Bayesian analysis to find the precession frequency, since in this case, we already know the phase and amplitude of the precession and that there is exactly one peak." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "To do so, we first make a new array containing our data, the times we collected that data at and how many shots we used at each measurement." ] }, { "cell_type": "code", "execution_count": 9, "metadata": { "collapsed": false }, "outputs": [], "source": [ "data = np.column_stack([counts, ts, n_shots * np.ones_like(counts)])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can then call ``qi.simple_est_prec`` with our data to find the Bayesian mean estimator (BME) for $\\omega$. To see how long it takes to run, we'll surround the call with a ``qi.timing`` block; this is not necessary in practice, though." ] }, { "cell_type": "code", "execution_count": 10, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "0.24 seconds elapsed. Error: 1.16e-05. Estimated error: 7.86e-05.\n" ] } ], "source": [ "with qi.timing() as timing:\n", " mean, cov, extra = qi.simple_est_prec(data, freq_min=omega_min, freq_max=omega_max, return_all=True)\n", "print(\"{}. Error: {:0.2e}. Estimated error: {:0.2e}.\".format(timing, abs(mean - true_omega) / true_omega, np.sqrt(cov) / true_omega))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Notice that the estimation procedure also provided an error bar; this is possible because we have the entire *posterior distribution* describing our state of knowledge after the experiment." ] }, { "cell_type": "code", "execution_count": 11, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\nNPJ/uwAAAABJRU5ErkJggg==\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "extra['updater'].plot_posterior_marginal()\n", "ylim = plt.ylim()\n", "plt.vlines(true_omega, *ylim)\n", "plt.ylim(*ylim)\n", "plt.ylabel(r'$\\Pr(\\omega | \\mathrm{data})$')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Indeed, the plot above only shows the uncertianty in the Bayes estimate because it is zoomed in near the peak of the posterior. If we zoom out and compare to the width of the periodogram peak, we can clearly see that the Bayes estimator does a *much* better job." ] }, { "cell_type": "code", "execution_count": 12, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 12, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAX4AAAEWCAYAAABhffzLAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3XtY1GX+N/D3d0AYhflBg2eoyBP4G7Nk8dyKB/rlum7Z\ntjtFZsv1UJogRq3m1WNXtrvtVp4KJUkt013tcqlf2lq/p3KT7ODa6iM8JiRqHhJMUUaMgyjD3M8f\nw3yHEeY7IwzMeM/7dV3lzPCd4cOtvPnymft734oQQoCIiIKGzt8FEBFR12LwExEFGQY/EVGQYfAT\nEQUZBj8RUZBh8BMRBZlQTwdUVVUhLy8Ply5dgqIomDJlCqZNm9bquA0bNqC4uBjh4eHIyspCfHx8\nZ9RLREQd5PGMPyQkBL/73e+wcuVK/PnPf8Ynn3yCiooKl2OKiopw7tw5rFq1CrNnz8b69eu9+uQl\nJSXtq1pCHAsnjoUTx8KJY+HU0bHwGPzR0dHq2bter0dsbCwsFovLMfv27UNKSgoAYPDgwaivr0d1\ndbXHT86/SCeOhRPHwolj4cSxcOr04G+psrISp06dwuDBg10et1gsiImJUe8bjcZWPxyIiCgweB38\nDQ0NWLlyJdLT06HX6zuzJiIi6kSKN2v1NDU14eWXX8aIESPafGN33bp1GDZsGMaNGwcAyMnJwQsv\nvIDo6GiX40pKSlx+RTGbzR2tn4goKBUUFKi3TSYTTCaT18/1OKsHAPLz8xEXF9dm6ANAcnIyPvnk\nE4wbNw5HjhxBREREq9B3V9yZM2e8LlZmBoMBNTU1/i4jIHAsnAJhLD4/cQmv7vkRacN74qHbe/qt\njkAYi0DRv3//Dp04ewz+w4cP48svv8Qtt9yCZ555BoqiIC0tDefPn4eiKEhNTUVSUhKKioqQnZ0N\nvV6PuXPntrsgIgosak+A6/hKw2PwJyYm4u9//7vHF8rIyPBJQUQUWJy5z+SXBa/cJSKvMPblweAn\nIk2O+R/cskkeXr2529UiIyOhKIq/y+hSISEhMBgM/i5DkxACtbW1/i6DuhjzXj4BGfyKovDd+wAU\n6D+YqHPxjF8ebPUQkSZH4DP35cHgJyJNDHz5MPiJyCteXORPNwgGPxFpYqtHPgz+dvj3v/+N++67\nD0OHDsWwYcNw//334+DBg532+caMGYOvvvqq016fSAsv3JJPQM7qCWS1tbVIT0/Hyy+/jF/96le4\nevUqvvnmG4SFhfmtpqamJoSEhPjt85Pc1DN+5r80eMZ/nY4fPw5FUXDvvfdCURSEh4djwoQJSExM\nREFBAWbMmIHnnnsOQ4cOxcSJE13O1GtqarBgwQIkJSUhOTkZS5cudembbtmyBRMnTkRCQgImT56M\nQ4cOYf78+aioqEB6ejoSEhLwxhtvoLy8HHFxcdi6dStGjRqFBx98EP/617+QnJzsUmvL3xRWrlyJ\nOXPmIDs7GwkJCUhNTcXx48eRl5eHO+64A6NGjcIXX3zRNYNINyTmvjwY/NdpwIAB0Ol0yMnJQWFh\nIS5duuTy8aKiItx22204dOgQnn76aTz++OPqMTk5OejWrRv27NmDTz/9FF988QXeeecdAMCOHTvw\n6quvYvXq1SgrK8Pbb7+Nm266CatWrUJsbCw2bdqEsrIyPPHEE+rn2rt3L3bv3o0tW7YAgMeL3v75\nz3/it7/9Lb777juYTCbMnDkTQggcOHAAOTk5WLRokS+HiiTBwJfPDdvqaXr83g6/Rsj6f1z3cyIj\nI7Ft2zasWbMGzzzzDCorKzFlyhQsXboUANCzZ091wbp7770X69atw2effYYJEyagsLAQ3333HcLD\nw6HX6/H4449jy5YtmDlzJrZu3YrMzEzcfvvtAIBbb73V5fNeO6NCURQsWLAA3bt397r20aNHY8KE\nCQCA6dOn4+OPP8a8efOgKAruu+8+LFq0CDU1NbxQi1w4Wz38ESCLGzb42xPavjJo0CCsXLkSAPD9\n998jOzsbS5YsQUpKCvr16+dybGxsLM6dO4fy8nI0NjYiKSkJgP2bSAiB2NhYAPZ9Ca4Ne0+u/Vye\n9OzpXEtdr9fDaDSqvyXo9XoIIVBXV8fgpzYx9uVxwwZ/oBg4cCDMZjM2b96MlJQU/Pjjjy4fr6io\nwD333IP+/fsjPDwchw4darMl079/f5w6darNz+GuhdPy8R49euDy5cvq/aamJlRVVbXnSyJy4ZjV\nw+CXB3v81+nYsWNYu3atGvAVFRXYvn27eiZ/4cIFbNiwAVarFTt27MD333+PyZMno3fv3khJScGS\nJUtQW1sLIQROnTqFvXv3AgDS0tLwxhtv4NtvvwUAnDx5EhUVFQDsZ+o//PCDSx3X/to9YMAAXLly\nBbt27YLVakVubi4aGxs7dSwoOHAjFvkw+K9TZGQkioqKMH36dAwZMkSdz79kyRIAQFJSEk6cOIHb\nb78dy5Ytw7p169RtKB1hPHHiRJhMJsyZMweVlZUA7D33+fPnIysrCwkJCXjsscdQXV0NAMjOzsZr\nr70Gk8mEtWvXAmj9W4DBYMBf/vIXLFiwAMnJyYiIiLjuVlCwrYhK14e5Lw+vNlvvTG3tuXuj7q1Z\nUFCArVu34v333/d3KZ2iq/5ebtS//84QCGPxj8MWvPV/K/HLhJswO7mP3+oIhLEIFP379+/Q83nG\nT0SahAAUxw2SAoOfiDxiF1AuDH4fMpvN0rZ5KHgJCOgU9vhlwuAnIk32Vo/CTo9EGPxE5BFbPXJh\n8BORJgGw1SMZBj8RaWOrRzoMfiLS5DjjJ3kw+CUxZMgQnD592t9lkIQE7D1+7sQlDwZ/O4wePRoD\nBw5EQkICRowYgaeeesplgbTr4dhUxWazdaimI0eO4Oabb+7QaxC1SdiX82CrRx4M/nZQFAV//etf\nUVZWho8//hgHDx7Ea6+91q7XEkI0f1O177uqqampXc/z1fNJfgICOvDNXZkw+NvJEdR9+vTBpEmT\nUFZWhnPnziE9PR0mkwl33XWXursWABQXF2PatGlITEzEiBEj8Mc//hEA8MADDwAAhg4dioSEBBw4\ncAAAsHXrVnUxt0ceeURdqRMA4uLisHHjRtx11134+c9/rj7mWNa5pqYG8+fPx/DhwzFmzBjk5uaq\nz3VsD/nCCy9g2LBh6r4CRO44Wj0kD67H30EVFRXYtWsXpk2bhszMTCQmJmL9+vU4cuQI0tLSEB8f\nj3HjxuH555/HY489hl//+te4fPkyDh8+DAB4//33MXbsWJSVlamrY37yySfIy8vDpk2bcNtttyEv\nLw+ZmZn44IMP1M/76aef4qOPPoJerwfgurLm4sWLUVdXh2+++QZVVVVIS0tD37598eCDDwKwbw85\nY8YMHDx4kEs3k2ds9Ujnhg3++7Yc7vBrfDAzsd3PzcjIQGhoKAwGA1JTU/Hwww9j9erV2Lx5M7p1\n6waTyYS0tDS89957GDduHLp164aTJ0/CYrHAaDRixIgRLq/naPkAwObNm5GdnY2BAwcCAObNm4dV\nq1ahoqJC3bErOzsbUVFRLs8HAJvNhh07dmDnzp3o3r074uLiMGfOHLz33ntq8Pft2xfp6ekAgPDw\n8HaPAQUHAbDVI5kbNvg7Etq+sGHDBowfP169X1RUhOjoaJc9cOPi4tSNVVasWIFly5YhJSUFt956\nK3JycpCamtrma5eXl+P5559X20GOHwpnz55Vg9/dWvsWiwVWq1U9zlHH2bNn1fsdXdKVgouz1cPo\nl8UNG/z+du2bsX369EF1dTXq6+vRo0cPAPY2UN++fQEA8fHxeP311wEAH330EebMmeN2G8bY2Fg8\n+eSTmDFjhtvP727TFKPRiG7duqGiogKDBg0CYP9B4qhD67lEbWpelpmtHnnwzV0f6d+/P5KTk/HS\nSy/hypUrKC0txdatW9U3b99//31YLBYAUDcz1+l0MBqN0Ol0OHnypPpajzzyCFavXo0jR44AAH76\n6Sd8+OGHXtWh0+kwffp0vPLKK6irq0N5eTnWr1+P3/zmNz78aimYCIjmefwkC57xt4O7M+bXX38d\nixYtQlJSEqKjo7Fw4UK1HVRYWIg//OEPaGhoQFxcHPLz89X++vz58zFjxgw0NTVh8+bNmDp1Kurr\n65GZmYmKigoYDAZMmDAB06dPd/v5Wz72pz/9Cc899xzGjh0LvV6PmTNnqv19outlb/Uw+WXCrRfJ\na9x6sesFwlhs+X/n8cXJn5DQszueHu+/94cCYSwCBbdeJKJOx9U55cLgJyJNQrDVIxsGPxFpEmie\n1cPklwaDn4g8YqtHLgx+ItLkXEjQ35WQrzD4iUgTN2KRT0DO4xdCqBc5BYuQkJCAXyLZzzN/yY/s\nPX6SRUAGf21trb9L6HKco0yBSnB1Tumw1UNEmpytHia/LBj8ROQRW/xy8djqyc/Px4EDBxAVFYXl\ny5e3+nhpaSmWLl2KPn36AABGjRqlLkxGRDc+dVaPvwshn/EY/JMmTcIvfvEL5OXluT1m6NChWLRo\nkU8LI6LA4Gj1sMcvD4+tnsTERERERGgew9keRPJyXLlL8vDJrJ6jR49i4cKFMBqNmDVrFuLi4nzx\nskQUCASv3JVNh4N/wIABWLNmDcLDw1FUVIRly5YhNze3zWNLSkpQUlKi3jebzUE3X9+dsLAwjkUz\njoVTIIxFt24WhIZaERIS4tdaAmEsAklBQYF622QywWQyef3cDge/Xq9Xb48YMQJvvvkmamtrERkZ\n2erYtorj3HU7zuN34lg4BcJYXGlshM3WBKvV5tdaAmEsAoXBYIDZbG73872azimEcNvHr66uVm8f\nO3YMANoMfSK6cenAN3dl4vGMPzc3F6WlpaipqcHcuXNhNpthtVqhKApSU1Oxd+9e7Ny5EyEhIQgL\nC0NOTk5X1E1EXYXTOaXjMfiffPJJzY9PnToVU6dO9VlBRBRYuEibfHjlLhFpEqJ5kTae8kuDwU9E\nHrHVIxcGPxFpUq/c9Xch5DMMfiLSZF+WGez1SITBT0QecSMWuTD4iUiTaF6th8EvDwY/EWkSzWv1\nMPnlweAnIk0C9h4/c18eDH4i8kjHVo9UGPxEpImzeuTD4CciTWz1yIfBT0QeCG69KBkGPxFpsq/V\nw1XaZMLgJyJNbPXIh8FPRNoce+4y+aXB4CciTfbrdjmdUyYMfiLS5NyIhdEvCwY/EWlzzOMnaTD4\niUiTQPOeuzzhlwaDn4g0CdiDgrkvDwY/EWkSbPVIh8FPRB7p2OqRCoOfiDTZp3Oy1SMTBj8RaXK2\nehj9smDwE5EHgq0eyTD4iUgTWz3yYfATkSbO6pEPg5+IPOIibXJh8BORR4rCRdpkwuAnIk2OK3eZ\n/PJg8BORJkePXzD5pcHgJyIPBNfjlwyDn4g0ieb5nHxzVx4MfiLSpPb4SRr8+yQij7jZulwY/ESk\nSQiuzikbBj8RaRLgIm2yYfATkSau1SMfBj8RaRNcnVM2DH4i0uRs9ZAsGPxEpImtHvkw+IlIG2f1\nSIfBT0SaOKtHPgx+ItIkwPX4ZcPgJyJtQoDv7cqFwU9EmuytHq7OKRMGPxFpsi/ZwA6/TEI9HZCf\nn48DBw4gKioKy5cvb/OYDRs2oLi4GOHh4cjKykJ8fLyv6yQiP+J7u3LxeMY/adIkLF682O3Hi4qK\ncO7cOaxatQqzZ8/G+vXrfVogEfkXWz3y8Rj8iYmJiIiIcPvxffv2ISUlBQAwePBg1NfXo7q62ncV\nEpFfsdUjnw73+C0WC2JiYtT7RqMRFouloy9LRAFCncfP+ZzS8Njj96WSkhKUlJSo981mMwwGQ1eW\nELDCwsI4Fs04Fk6BMBYhITr06N4dUBS/1hIIYxFICgoK1Nsmkwkmk8nr53Y4+I1GI6qqqtT7VVVV\nMBqNbR7bVnE1NTUdLUEKBoOBY9GMY+EUCGNhtTbhSkMDbEL4tZZAGItAYTAYYDab2/18r1o9QggI\nN7/mJScnY/fu3QCAI0eOICIiAtHR0e0uiIgCi7PV4+9KyFc8nvHn5uaitLQUNTU1mDt3LsxmM6xW\nKxRFQWpqKpKSklBUVITs7Gzo9XrMnTu3K+omoi6kA2f1yMRj8D/55JMeXyQjI8MnxRBR4BGCm63L\nhlfuEpEmxyJtnNUjDwY/EXkgeAGXZBj8RKRJCO7AJRsGPxF5xFk9cmHwE5Em7rkrHwY/EXmkcAcu\nqTD4iUiTEJzHLxsGPxFp4mbr8mHwE5E2wVaPbBj8RKRJQEDHefxSYfATkSbHrB6SB4OfiDQJtnqk\nw+AnIo/Y6pELg5+INDlbPYx+WTD4iUiTutk6c18aDH4i8oCrc8qGwU9EmpwXcJEsGPxEpMm+ZAPJ\nhH+fROSRoijs8UuEwU9EmhxbLzL35cHgJyJNjh24SB4MfiLyQKhv7gr2e6TA4CciTS2znrEvBwY/\nEWmyX7mr2LdfZPJLgcFPRJoc8/g5l18eDH4i0sZWj3QY/ESkST3jB1s9smDwE5Emx+qc3HdXHgx+\nItKmnuZzoTZZMPiJSJO91cNZPTJh8BORJtdWD8mAwU9E2jirRzoMfiLS5Nx6ka0eWTD4iUiTAADH\ndE6e80uBwU9EHrHHLxcGPxFpE6K51cPNWGTB4CciTfZWT/N0Tj/XQr7B4CciTS7TOZn8UmDwE5G2\n5h24mPvyYPATkSbHrB5w311pMPiJSJNoccbPd3flwOAnIk0uyzL7uxjyCQY/EXnQHPcKV+eUBYOf\niDTZWz0KeP2WPBj8RKSpZauHp/xyYPATkUdK8/+Y+3Jg8BORJsdEHr65K49Qbw4qLi7Gxo0bIYTA\npEmTMGPGDJePl5aWYunSpejTpw8AYNSoUXjggQd8Xy0RdTnXzdYZ/TLwGPw2mw1vvfUWnn/+edx0\n00149tlnMXLkSMTGxrocN3ToUCxatKjTCiUif2lepI3Lc0rDY6vn2LFj6NevH3r16oXQ0FCMHz8e\n+/bta3UczwSI5CSaL91lq0ceHoPfYrEgJiZGvW80GmGxWFodd/ToUSxcuBAvvfQSysvLfVslEfmN\na6vH39WQL3jV4/dkwIABWLNmDcLDw1FUVIRly5YhNze31XElJSUoKSlR75vNZhgMBl+UcMMLCwvj\nWDTjWDgFylj8h8EAnU5BREQEDIZwv9QQKGMRKAoKCtTbJpMJJpPJ6+d6DH6j0YgLFy6o9y0WC4xG\no8sxer1evT1ixAi8+eabqK2tRWRkpMtxbRVXU1PjdbEyMxgMHItmHAunQBgLIezfp0II1NbWoQeu\n+qWOQBiLQGEwGGA2m9v9fI+tnkGDBuHs2bM4f/48rFYrvv76ayQnJ7scU11drd4+duwYALQKfSK6\nMbmu1cNejww8nvHrdDpkZGTgxRdfhBACkydPRlxcHHbu3AlFUZCamoq9e/di586dCAkJQVhYGHJy\ncrqidiLqItxzVy5e9fjvvPPOVj37u+++W709depUTJ061beVEZHfOWbrKYp9YWa+uSsHXrlLRG61\nzHmFSzZIg8FPRG45NmEBwNU5JcLgJyKvsdUjBwY/EbnlmNHT8j7d+Bj8RORWyzN8e4+f0S8DBj8R\naRCuPX7mvhQY/ETklmurh3vuyoLBT0RuOVbmBDidUyYMfiLSxFaPfBj8RKSJs3rkw+AnIrdaXbnL\nifxSYPATkVu8cldODH4icktAqK0ehbN6pMHgJyIP1OTnkg2SYPATkVts9ciJwU9EbrW8gIsbsciD\nwU9E7gnXM312euTA4Ccit1pcuGvfc5fJLwUGPxG5JdCix8/VOaXB4Cci94Ro0ephk18WDH4icsve\n6mlepA1s9ciCwU9EbrVu9ZAMGPxE5J5gg0dGDH4icouzeuTE4CcitzirR04MfiJyS1w7q4e5LwUG\nPxFpazmrx7+VkI8w+InILc7qkRODn4jcarU6pwDE0VKI/V/5sSrqqFB/F0BENw5bfS1s65YCjY3Q\nxQ+G0rOPv0uiduAZPxG5JVr2egDYPt0OZXQKlP+aAduWfO7Be4Ni8BORWwItZvX8dBHi0kUo9z0C\n5b/uBy5WQez70p/lUTsx+IlIkwJAVJ6BcuEclGlmKN26QQkNhW5WFkTBWxB1Nf4uka4Tg5+I3HJ0\ncmxvroQS0wvo2Vv9mDIwEUrSWIj/3uSn6qi9GPxE5JYAoFyuA3pEQImOabVkg3L/oxCHDkCUHfJL\nfdQ+DH4ickv8cBxKQz106fOhtLHprtK9B3QPPQ7b5tchGhv9UCG1B4OfiNokGi6j6d0NQOR/QImO\ncbtig5I0Fuh7M8T/ebfLa6T2YfATUZtEwVtA/BAo4XoAjtU5256+qUubDVH4PxA/nu7CCqm9GPxE\n1Ioo2gtx+CCUX/7WsVSP5rr8irEnlF89BNvfXoew2bqkRmo/Bj8RuRDVFtg2r4Eu42kgTO8MfEXR\nXI9fmfgLwGqF+GpnV5RJHcDgJyKVEAK2jblQJkyFMjCx+VHvVudUdCHQPZoFsX0zxKWLnV0qdQCD\nn4hUovAjoL4Oyi/N9vuAV60eByXuNih3pUL8/c1Oq5E6jsFPRAAAceYHiB1boct4Gkqoff3Ga5dl\n9oYy/SGIk0chDu7rlDqp4xj8RARhbYTtzRVQfv0olD79W3zgmuO8WJNNCQuH7pFM2N5ZC9Fw2beF\nkk8w+IkI4oN3gJjeUO662/VxuLZ6vN1zV/nPO6EMNkH84x3fFko+weAnCnKi7BDE3kLoHp3X6urc\nlnvuXu8OXIr5f0Hs/Rzi1DGf1Uq+4dVGLMXFxdi4cSOEEJg0aRJmzJjR6pgNGzaguLgY4eHhyMrK\nQnx8vK9rJSIfE/W1sG14FbpHs6EYoto8Rmm5B9d1JL9iiILym3TY/vo6dP97OZSQkI4XTD7h8Yzf\nZrPhrbfewuLFi7FixQp8/fXXqKiocDmmqKgI586dw6pVqzB79mysX7++0womovYTtiaIH0/D9s1u\n2N57G7bli6HcMRLK7T9r+3hAfXe3PXvuKmMnAz0iID7b0ZGyycc8nvEfO3YM/fr1Q69evQAA48eP\nx759+xAbG6ses2/fPqSkpAAABg8ejPr6elRXVyM6OrqTyiYiT8SVK0DFSYgfjgOnT0CcPg5UnAKi\nbgJuGQDl5gHQ3T8LGHqn+9e4Zs/d6w5+RYFuViZsLy2ESBrLrRoDhMfgt1gsiImJUe8bjUYcO3bM\n4zEWi4XBT9RBwtYEcfUKYLUCTVb7n9ZG5231MStwtQGi4pQ95H84Dlgqgb5xUG6+Dbh5IHSjU4Cb\nb4PSvcd11eDS9m/HTotK7/5QUu+Dbc1foAw2Afruzv/C9VDU290BfQ/Xj4VyW/DO4PdRffFz7xd1\nEkIAJ452YjW+0L49SBVFuWYBLC8nTbenFrclXjt3T+OlvSqvfV+Dcyw6WL9Xh2g8R2gc02peo2h9\nvGjrYy3vtzyurec0j4Gis6evolxz+5rHdDogvC8QMwCIuxfQ613frD0D4EwVgCr3X/M16q7aoGt+\nCZ2i4N2SKnx2vNrr56tfTY8xwO1Dmn9ANQENNsDWBDTZANsVwFbffLsJaGqy/2mzNf/UUez/lJQW\nv3u4XFXmGAf1gTYuOlBa/HN0d0VaO7/nNJ/mxWu2eYj28/Kfm+X5dTV4DH6j0YgLFy6o9y0WC4xG\nY6tjqqqc/5iqqqpaHQMAJSUlKCkpUe+bzWaseXj0dZY85jqPJyJfWPVQf88HUZcpKChQb5tMJphM\nJq+f6/HN3UGDBuHs2bM4f/48rFYrvv76ayQnJ7sck5ycjN27dwMAjhw5goiIiDbbPCaTCWazWf2v\nZeHBjmPhxLFw4lg4cSycCgoKXLL0ekIf8OKMX6fTISMjAy+++CKEEJg8eTLi4uKwc+dOKIqC1NRU\nJCUloaioCNnZ2dDr9Zg7d267vyAiIupcXvX477zzTuTm5ro8dvfdrlf4ZWRk+K4qIiLqNH69cvd6\nfz2RGcfCiWPhxLFw4lg4dXQsFOFuLzUiIpIS1+ohIgoyDH4ioiDjtwu4vFn4TVZVVVXIy8vDpUuX\noCgKpkyZgmnTpqG2thavvfYazp8/j969e+Opp55Cjx7Xd5Xljchms+HZZ5+F0WjEokWLgnYc6uvr\n8cYbb+D06dNQFAVz585Fv379gnIsPvzwQxQWFkJRFNxyyy3IzMxEQ0ND0IxFfn4+Dhw4gKioKCxf\nvhwANL8vtm3bhsLCQoSEhCA9PR133HGH9icQftDU1CTmzZsnKisrRWNjo1iwYIEoLy/3Ryl+cfHi\nRXHixAkhhBCXL18W8+fPF+Xl5eJvf/ub2L59uxBCiG3btonNmzf7scqus2PHDpGbmytefvllIYQI\n2nHIy8sTu3btEkIIYbVaRV1dXVCORVVVlcjKyhKNjY1CCCFWrlwpCgsLg2osvvvuO3HixAnx+9//\nXn3M3dd/+vRpsXDhQmG1WsW5c+fEvHnzhM1m03x9v7R6Wi78Fhoaqi78Fiyio6PVZav1ej1iY2NR\nVVWF/fv3q4vdTZw4MSjGpKqqCkVFRZgyZYr6WDCOQ319PQ4fPoxJkyYBAEJCQtCjR4+gHAvA/ltg\nQ0MDmpqacPXqVRiNxqAai8TERERERLg85u7r379/P8aNG4eQkBD07t0b/fr1a7We2rX80urxZuG3\nYFFZWYlTp05hyJAhuHTpknrFc3R0NC5duuTn6jrfpk2bMGvWLNTX16uPBeM4VFZWwmAwYM2aNTh1\n6hQGDBiA9PT0oBwLo9GI6dOnIzMzE+Hh4Rg+fDiGDx8elGPRkruv32KxYMiQIepxjkUytfDNXT9q\naGjAypUrkZ6eDr1e3+rj1+6GJBtHDzM+Pv6aBepcyT4OgP0M98SJE7jnnnvwyiuvIDw8HNu3b291\nXDCMRV1dHfbv3481a9Zg7dq1uHLlCr788stWxwXDWGjpyNfvlzN+bxZ+k11TUxNWrFiBCRMmYOTI\nkQDsP8Ud+xhUV1cjKqrtHZFkcfjwYezfvx9FRUW4evUqLl++jNWrVwfdOAD274mYmBgMHDgQADBm\nzBhs3749KMfi22+/Re/evREZGQkAGDVqFMrKyoJyLFpy9/Vfm6fuFslsyS9n/N4s/Ca7/Px8xMXF\nYdq0aeqHbqArAAACD0lEQVRjP/vZz/D5558DAD7//HPpx+Thhx9Gfn4+8vLykJOTg2HDhiE7Ozvo\nxgGwf1PHxMTgzJkzAOzhFxcXF5Rj0bNnTxw9ehRXr16FECJox0II4fKbsLuvPzk5GXv27IHVakVl\nZSXOnj2LQYMGab62367cLS4uxttvv60u/BZM0zkPHz6MJUuW4JZbboGiKFAUBWlpaRg0aBBeffVV\nXLhwAb169cJTTz3V6g0eWZWWlmLHjh3qdM5gHIeTJ09i7dq1sFqt6NOnDzIzM2Gz2YJyLN59913s\n2bMHISEhiI+PxxNPPIGGhoagGYvc3FyUlpaipqYGUVFRMJvNGDlypNuvf9u2bdi1axdCQ0O9ms7J\nJRuIiIIM39wlIgoyDH4ioiDD4CciCjIMfiKiIMPgJyIKMgx+IqIgw+AnIgoyDH4ioiDD4CciCjIM\nfiKiIMPgJyIKMgx+omb19fU4cOBAq8efffZZXLx40Q8VEXUOBj9Rs2+//RZJSUkAgOPHj6uPjx49\nGjodv1VIHvzXTNSs5Y5GH3zwgXo7MjIy6Db9ILkx+ImanThxAgBw8OBBdSvMvXv3qvucEsmCwU/U\nTFEUZGVl4eDBg2hsbER2djYsFov0Oz1R8OFGLEREQYZn/EREQYbBT0QUZBj8RERBhsFPRBRkGPxE\nREGGwU9EFGQY/EREQYbBT0QUZBj8RERB5v8Dp30jHHiJtYgAAAAASUVORK5CYII=\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.plot(ft_freq[ft_freq > 0], spectrum[ft_freq > 0] / np.trapz(spectrum[ft_freq > 0], ft_freq[ft_freq > 0]))\n", "xlim = plt.xlim(0, 100)\n", "extra['updater'].plot_posterior_marginal(range_min=xlim[0], range_max=xlim[1], res=400)\n", "plt.xlim(*xlim)\n", "plt.legend(['Spectrum', 'Posterior'], loc='upper left')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Exponentially-Sparse Sampling ##" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Another important advantage of the Bayes estimation procedure is that we need not assume uniform sampling times. For instance, we can choose our samples to be exponentially sparse. Doing so makes it somewhat harder to visualize the data before processing, but can give us much better estimates." ] }, { "cell_type": "code", "execution_count": 13, "metadata": { "collapsed": false }, "outputs": [], "source": [ "n_shots = 400\n", "\n", "ts = np.pi * 1.125 ** (1 + np.arange(100)) / (2 * omega_max)\n", "\n", "signal = np.sin(true_omega * ts / 2) ** 2\n", "counts = np.random.binomial(n=n_shots, p=signal)" ] }, { "cell_type": "code", "execution_count": 14, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 14, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\nTkSuQmCC\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.plot(ts, signal, label='Signal')\n", "plt.plot(ts, counts / n_shots, 'x', label='Data')\n", "plt.xlabel('$t$')\n", "plt.ylabel(r'$\\Pr(1 | \\omega, t)$')\n", "plt.ylim(-0.05, 1.05)\n", "plt.legend()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can again stack the data in the same way." ] }, { "cell_type": "code", "execution_count": 15, "metadata": { "collapsed": true }, "outputs": [], "source": [ "data = np.column_stack([counts, ts, n_shots * np.ones_like(counts)])" ] }, { "cell_type": "code", "execution_count": 16, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "0.30 seconds elapsed. Error: 1.25e-07. Estimated error: 1.60e-07.\n" ] } ], "source": [ "with qi.timing() as timing:\n", " mean, cov, extra = qi.simple_est_prec(data, freq_min=omega_min, freq_max=omega_max, return_all=True)\n", "print(\"{}. Error: {:0.2e}. Estimated error: {:0.2e}.\".format(timing, abs(mean - true_omega) / true_omega, np.sqrt(cov) / true_omega))" ] }, { "cell_type": "code", "execution_count": 17, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "(0.0, 35000.0)" ] }, "execution_count": 17, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "extra['updater'].plot_posterior_marginal()\n", "ylim = plt.ylim()\n", "plt.vlines(true_omega, *ylim)\n", "plt.ylim(*ylim)" ] }, { "cell_type": "markdown", "metadata": { "collapsed": true }, "source": [ "## One-Bit Sampling ##" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Note that we can also get very good results even when only one bit of data is used to estimate each sample." ] }, { "cell_type": "code", "execution_count": 18, "metadata": { "collapsed": false }, "outputs": [], "source": [ "true_omega = 70.3\n", "omega_min, omega_max = [10.3, 99.1]\n", "n_shots = 1\n", "\n", "t_min = np.pi / 2\n", "t_max = 100000\n", "ts = np.logspace(np.log10(t_min), np.log10(t_max), 1000) / (2 * omega_max)\n", "\n", "signal = np.sin(true_omega * ts / 2) ** 2\n", "counts = np.random.binomial(n=n_shots, p=signal)" ] }, { "cell_type": "code", "execution_count": 19, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 19, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\nWNHR+S24jPpt27bh/vvvB6UUl19++QkZUnznnXdix44dqFQq6Ovrw7XXXovzzz8fX/jCFzA6Oorh\n4WF88IMfDMT8hx9+GD/+8Y9hWdYJEdK4c+dOfOxjH8OqVatACAEhBL//+7+PtWvXLog5vvTSS/jb\nv/1buK4LSikuuugivPWtb0W1Wl0Q82PYsWMHvve97wUhxQthbiMjI/jsZz8LQggcx8HrX/96bNq0\nacHMDwB2796Nr3zlK7BtG0uWLMEHPvABuK7bsfktOKOioaGhoTF/WFD0l4aGhobG/EIbFQ0NDQ2N\njkEbFQ0NDQ2NjkEbFQ0NDQ2NjkEbFQ0NDQ2NjkEbFQ0NDQ2NjkEbFQ0NDQ2NjkEbFQ0NDQ2NjkEb\nFQ0NDQ2NjkEbFQ2NOcYnPvGJYI8VDY2FBm1UNDTmEGwvCtM053kkGhqzA21UNDTmCE899RS+9rWv\nob+/H//2b/8238PR0JgVaKOioTFHOOuss2AYBq655hpcfPHF8z0cDY1ZgTYqGhpziN27d2PNmjXz\nPQwNjVmDNioaGnOEffv2Yfny5QCALVu2zPNoNDRmB9qoaGjMEXp6etDV1YUtW7Zgw4YN8z0cDY1Z\ngd6kS0NDQ0OjY9CeioaGhoZGx6CNioaGhoZGx6CNioaGhoZGx6CNioaGhoZGx6CNioaGhoZGx/D/\nt1fHAgAAAACD/K0nsbMkkgoAG6kAsJEKABupALAJjZ+1pGXwL2oAAAAASUVORK5CYII=\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.plot(ts, signal, label='Signal')\n", "plt.plot(ts, counts / n_shots, 'x', label='Data')\n", "plt.xlabel('$t$')\n", "plt.ylabel(r'$\\Pr(1 | \\omega, t)$')\n", "plt.ylim(-0.05, 1.05)\n", "plt.legend()" ] }, { "cell_type": "code", "execution_count": 20, "metadata": { "collapsed": true }, "outputs": [], "source": [ "data = np.column_stack([counts, ts, n_shots * np.ones_like(counts)])" ] }, { "cell_type": "code", "execution_count": 21, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "1.87 seconds elapsed. Error: 5.49e-07. Estimated error: 4.36e-06.\n" ] } ], "source": [ "with qi.timing() as timing:\n", " mean, cov, extra = qi.simple_est_prec(data, freq_min=omega_min, freq_max=omega_max, return_all=True)\n", "print(\"{}. Error: {:0.2e}. Estimated error: {:0.2e}.\".format(timing, abs(mean - true_omega) / true_omega, np.sqrt(cov) / true_omega))" ] }, { "cell_type": "code", "execution_count": 22, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "(0.0, 1400.0)" ] }, "execution_count": 22, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "extra['updater'].plot_posterior_marginal()\n", "ylim = plt.ylim()\n", "plt.vlines(true_omega, *ylim)\n", "plt.ylim(*ylim)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Loading Data ##" ] }, { "cell_type": "markdown", "metadata": { "collapsed": true }, "source": [ "### Using Pandas DataFrames ###" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "If your experimental data is stored as a Pandas ``DataFrame`` (for instance, if it was loaded from an Excel file), then QInfer can use the ``DataFrame`` directly:" ] }, { "cell_type": "code", "execution_count": 23, "metadata": { "collapsed": false }, "outputs": [], "source": [ "import pandas as pd" ] }, { "cell_type": "code", "execution_count": 24, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "
\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
countstn_shots
00.00.0079251.0
10.00.0080141.0
21.00.0081031.0
30.00.0081931.0
40.00.0082841.0
50.00.0083761.0
60.00.0084701.0
70.00.0085641.0
80.00.0086591.0
90.00.0087561.0
\n", "
" ], "text/plain": [ " counts t n_shots\n", "0 0.0 0.007925 1.0\n", "1 0.0 0.008014 1.0\n", "2 1.0 0.008103 1.0\n", "3 0.0 0.008193 1.0\n", "4 0.0 0.008284 1.0\n", "5 0.0 0.008376 1.0\n", "6 0.0 0.008470 1.0\n", "7 0.0 0.008564 1.0\n", "8 0.0 0.008659 1.0\n", "9 0.0 0.008756 1.0" ] }, "execution_count": 24, "metadata": {}, "output_type": "execute_result" } ], "source": [ "dataframe = pd.DataFrame(data, columns=['counts', 't', 'n_shots'])\n", "dataframe[:10]" ] }, { "cell_type": "code", "execution_count": 25, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "1.86 seconds elapsed. Error: 5.78e-07. Estimated error: 4.42e-06.\n" ] } ], "source": [ "with qi.timing() as timing:\n", " mean, cov, extra = qi.simple_est_prec(dataframe\n", " , freq_min=omega_min, freq_max=omega_max, return_all=True)\n", "print(\"{}. Error: {:0.2e}. Estimated error: {:0.2e}.\".format(timing, abs(mean - true_omega) / true_omega, np.sqrt(cov) / true_omega))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Comma-Separated ###" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Finally, we can also import from comma-separated files (CSV files). We'll test this out by using Python's ``StringIO`` object to simulate reading and writing to a file, so that the example is standalone." ] }, { "cell_type": "code", "execution_count": 26, "metadata": { "collapsed": true }, "outputs": [], "source": [ "try:\n", " # Python 2\n", " from cStringIO import StringIO as IO\n", " conv = lambda x: x\n", "except ImportError:\n", " # Python 3\n", " from io import BytesIO as IO\n", " # On Python 3, we need to decode bytes into a string before we\n", " # can print them.\n", " conv = lambda x: x.decode('utf-8')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "First, we'll export the data we collected to a CSV-formatted string. In practice, the contents of this string would normally be written to a file, but we'll show the first few rows to illustrate the point." ] }, { "cell_type": "code", "execution_count": 27, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "0,7.9253094187431723e-03,1\n", "0,8.0135493480788175e-03,1\n", "1,8.1027717356022474e-03,1\n", "0,8.1929875199451881e-03,1\n", "0,8.2842077615294524e-03,1\n", "0,8.3764436439229366e-03,1\n", "0,8.4697064752107271e-03,1\n", "0,8.5640076893814636e-03,1\n", "0,8.6593588477291445e-03,1\n", "0,8.7557716402705370e-03,1\n" ] } ], "source": [ "csv_io = IO()\n", "np.savetxt(csv_io, data, delimiter=',', fmt=['%i', '%.16e', '%i'])\n", "csv = csv_io.getvalue()\n", "print(\"\\n\".join(conv(csv).split('\\n')[:10]))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can then pass a file-like object that reads from this string to QInfer, which will automatically call NumPy and load the data appropriately." ] }, { "cell_type": "code", "execution_count": 28, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "2.05 seconds elapsed. Error: 5.51e-07. Estimated error: 4.36e-06.\n" ] } ], "source": [ "csv_io = IO(csv)\n", "with qi.timing() as timing:\n", " mean, cov, extra = qi.simple_est_prec(csv_io, freq_min=omega_min, freq_max=omega_max, return_all=True)\n", "print(\"{}. Error: {:0.2e}. Estimated error: {:0.2e}.\".format(timing, abs(mean - true_omega) / true_omega, np.sqrt(cov) / true_omega))" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "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.5.1" }, "widgets": { "state": {}, "version": "1.1.1" } }, "nbformat": 4, "nbformat_minor": 0 }