{ "cells": [ { "cell_type": "markdown", "metadata": { "pycharm": { "name": "#%% md\n" } }, "source": [ "# Correlation function \n", "\n", "In this tutorial we will compute the coherence function of the NV Center in diamond and then reproduce it from the correlation function of the noise." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The correlation function $C(t)$ of the effective magnetic field (noise) along the $z$-axis can be defined as follows:\n", "\\begin{equation}\n", "C(t) = \\left\\langle \\beta_z(t)\\beta_z(0) \\right\\rangle\n", "\\end{equation}\n", "\n", "With $\\beta_z$ given as:\n", "\n", "\\begin{equation}\n", "\\beta_z(t) = U^{\\dagger}(t) \\left( \\sum_{\\{I\\}}{A_{zz} I_z} \\right) U(t)\n", "\\end{equation}\n", "\n", "Where $U(t)$ is time propagator.\n", "\n", "Within the CCE formalism, the correlation function is computed as:\n", "\n", "\\begin{equation}\n", "C(t) = \\sum_{\\{i\\}} {\\tilde C_{\\{i\\}}(t)} + \\sum_{\\{ij\\}} {\\tilde C_{\\{ij\\}}(t)}\\ + \\ ...\n", "\\end{equation}\n", "\n", "With contributions computed as:\n", "\n", "\\begin{equation}\n", "\\tilde C_{\\nu}(t) = C_{\\nu}(t) - \\sum_{\\nu' \\subset\\ \\nu} {\\tilde C_{\\nu'}(t)}\n", "\\end{equation}\n" ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "pycharm": { "name": "#%%\n" } }, "outputs": [], "source": [ "import numpy as np\n", "import matplotlib.pyplot as plt\n", "import pandas as pd\n", "\n", "import sys\n", "\n", "import pycce as pc\n", "import ase\n", "\n", "seed = 42055\n", "np.set_printoptions(suppress=True, precision=5)" ] }, { "cell_type": "markdown", "metadata": { "pycharm": { "name": "#%% md\n" } }, "source": [ "## Generate nuclear spin bath\n", "Building a `BathArray` of nuclear spins from the `ase.Atoms` object." ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [], "source": [ "from ase.build import bulk\n", "\n", "# Generate unitcell from ase\n", "diamond = bulk('C', 'diamond', cubic=True)\n", "diamond = pc.bath.BathCell.from_ase(diamond)\n", "# Add types of isotopes\n", "diamond.add_isotopes(('13C', 0.011))\n", "# set z direction of the defect\n", "diamond.zdir = [1, 1, 1]\n", "# Add the defect. remove and add atoms at the positions (in cell coordinates)\n", "atoms = diamond.gen_supercell(200, remove=[('C', [0., 0, 0]),\n", " ('C', [0.5, 0.5, 0.5])],\n", " add=('14N', [0.5, 0.5, 0.5]),\n", " seed=seed)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Next, we define all of the parameters of the simulation. We are interested in the very specific regime, when all nearby nuclear spins are removed. To achieve this goal we define an `inner = 20` parameter, and remove all nuclear spins within this radius." ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "position = np.array([0, 0, 0])\n", "inner = 20\n", "smallatoms = atoms[atoms.dist(position) >= inner]\n", "\n", "parameters = dict(\n", " order=2, # CCE order\n", " r_bath=60, # Size of the bath in A\n", " r_dipole=6, # Cutoff of pairwise clusters in A\n", " position=position, # Position of central Spin\n", " alpha=[0, 0, 1], # 0 qubit state\n", " beta=[0, 1, 0], # 1 qubit state\n", " magnetic_field = 500, # magnetic field along z-axis\n", " pulses=1 # N pulses in CPMG sequence\n", ") # Qubit levels\n", "\n", "ts = np.linspace(0, 2.5, 1001) # Time points in ms" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Coherence calculations\n", "Next, we set up `Simulator` objects and check convergence with respect to the CCE order." ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [], "source": [ "calc = pc.Simulator(spin=1, bath=smallatoms, **parameters)" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [], "source": [ "orders = [2, 3, 4]\n", "coh = {}\n", "for o in orders: \n", " calc.generate_clusters(o)\n", " coh[o] = calc.compute(ts, method='cce', quantity='coherence')\n", "coh = np.abs(pd.DataFrame(coh, index=ts))\n", "coh.index.name = 'Time (ms)'" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Visually verify the convergence." ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "coh.plot()\n", "plt.ylabel('Coherence');" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Noise calculations\n", "To compute the correlation function of the noise, we call `Simulator.compute` method and specify `quantity = 'noise'`.\n", "\n", "First we determine convergence of the correlation function with the CCE order." ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "for o in [1, 2, 3, 4]:\n", " calc.generate_clusters(o)\n", " noise = calc.compute(ts, method='cce', quantity='noise')\n", " plt.plot(ts, noise.real, label=o)\n", "plt.xlabel('Time (ms)')\n", "plt.ylabel('Correlation');" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The difference between third and fourth order is fairly small, we will use the fourth order for the following calculations. It will take a bit of a time, so you can grab some tea while you wait." ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [], "source": [ "calc.generate_clusters(4)\n", "\n", "noise = calc.compute(ts, method='cce', quantity='noise')\n", "genoise = calc.compute(ts, method='gcce', quantity='noise', nbstates=0)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Compare the results obtained with CCE and gCCE approaches. Note that they are slighlity different. However, as we will see it does not impact the predicted coherence." ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plt.plot(ts, noise.real, label='CCE')\n", "plt.plot(ts, genoise.real, label='gCCE')\n", "plt.xlabel('Time (ms)')\n", "plt.ylabel('Correlation');" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Assuming that the noise is Gaussian, we can reproduce the coherence from the average phase squared $\\langle\\phi^2\\rangle$, accumulated by the spin qubit:\n", "\n", "$L(t)=e^{-\\langle \\phi^2(t) \\rangle}$\n", "\n", "The average phase is obtained from the autocorrelation function as:\n", "\n", "$\\langle \\phi^2(t) \\rangle = \\int_0^t{d\\tau C(\\tau) F(\\tau)}$\n", "\n", "Where $F(\\tau)$ is the correlation filter function (see [Phys. Rev. A 86, 012314 (2012)](https://doi.org/10.1103/PhysRevA.86.012314) for details).\n", "\n", "PyCCE code already has implemented calculations of the phase in the `pycce.filter` module:\n", "\n", "`pycce.filter.gaussian_phase` takes three positional arguments:\n", "- `timespace` - time points at which correlation function was computed;\n", "- `corr` - noise autocorrelation function;\n", "- `npulses` - number of pulses in CPMG sequence.\n", "\n", "Here we compute the phase for the Hahn-echo experiment. Note that the implementation of `gaussian_phase` is not heavily optimized and can take a hot second." ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [], "source": [ "import pycce.filter\n", "\n", "chis = pycce.filter.gaussian_phase(ts, np.abs(noise), 1)\n", "gchis = pycce.filter.gaussian_phase(ts, np.abs(genoise), 1)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now compare results from direct calculations of the coherence function, and the one reconstructed from the noise autocorrelation:" ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plt.plot(ts, np.exp(-chis).real, ls='--', label='from noise (CCE)')\n", "plt.plot(ts, np.exp(-gchis).real, ls='--', marker='', label='from noise (generalized CCE)')\n", "plt.plot(ts, coh[4], label='CCE')\n", "plt.legend()\n", "plt.xlabel('Time (ms)')\n", "plt.ylabel('Coherence');" ] } ], "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.9.13" }, "pycharm": { "stem_cell": { "cell_type": "raw", "metadata": { "collapsed": false }, "source": [] } } }, "nbformat": 4, "nbformat_minor": 4 }