{ "cells": [ { "cell_type": "markdown", "id": "d7ecef97-cbe5-48f2-8a89-c60706d6d1b8", "metadata": {}, "source": [ "# Numeric interferometer usage" ] }, { "cell_type": "markdown", "id": "f62f9e4f-e643-4c11-981a-d2bd707db8f8", "metadata": {}, "source": [ "**What you'll learn:**\n", "- How to include wavenumber shifts in the numeric interferometer, i.e. from Gouy shifts or modulation frequency shifts." ] }, { "cell_type": "markdown", "id": "e310d5bd", "metadata": {}, "source": [ "First we need to import the needed libraries and define our interferometer geometry." ] }, { "cell_type": "code", "execution_count": 1, "id": "efe528bd-1cf4-4dac-a1ac-c074ebf4df76", "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "import numpy as np\n", "from matplotlib import pyplot as plt\n", "from tqdm import tqdm\n", "\n", "from mwave.numeric import NumericBraggInterferometer\n", "from mwave.integrate import propagate, omega_fnc_gaussian, multi_omega_fnc, phase_fnc_constant\n", "from mwave.utils.cloud import cloud_init\n", "from mwave.utils.units import recoil\n", "\n", "# Set interferometer parameters\n", "nbragg = 4\n", "T = recoil.time(100e-3)\n", "Tp = recoil.time(8e-3)\n", "\n", "# Initialize kvec and tree\n", "ifr = NumericBraggInterferometer(-2*nbragg, 4*nbragg, distance=0) # Should pass in wavefunction initialization functions\n", "\n", "# Define interferometer sequence\n", "ifr.split(nbragg) # Should pass in the relevant function here as well! Function will inspect input function arguments to ensure correct number and naming\n", "ifr.propagate(T)\n", "ifr.split(nbragg)\n", "ifr.propagate(Tp)\n", "ifr.split([3*nbragg, -nbragg])\n", "ifr.propagate(T)\n", "ifr.split([3*nbragg, -nbragg])\n", "\n", "# Get nodes and plot trajectories\n", "nodes = ifr.get_nodes(x_tolerance=1e-11)\n", "nA, nB, nC, nD = nodes[4*nbragg], nodes[2*nbragg], nodes[0.0*nbragg], nodes[-2*nbragg]\n", "Ts = [0, 0, T, T, T + Tp, T + Tp, T + Tp + T, T + Tp + T]\n", "\n", "plt.figure()\n", "for nn in [nA, nB, nC, nD]:\n", " for p in nn:\n", " for node in nn[p]:\n", " t, x = node.get_trajectory()\n", " plt.plot(t, x)\n", "plt.show()" ] }, { "cell_type": "markdown", "id": "a52750d1", "metadata": {}, "source": [ "This is our SCI along with all junk ports. To calculate the phase of the interferometer numerically we need a function with signature `function(*args, k_init, k_final, klattice, t, z)` to pass to the `ifr.compile` function. This function must compute the wavefunction amplitude in state `k_final` resulting from a Bragg transition with lattice at `klattice` for initial momentum state `k_init` at time `t` and position `z`. For now we will ignore the position. The function we write won't be completely general--it will only work for the values of `klattice` that we expect. Because of this, we will throw an error if we get an unexpected `klattice` value. Finally, we will define a function that acts as an \"ideal\" beamsplitter, and a function that actually integrates the Bragg dynamics." ] }, { "cell_type": "code", "execution_count": 2, "id": "6dc11f41", "metadata": {}, "outputs": [], "source": [ "# Define simulation parameters\n", "Omega0 = 19.5\n", "tol = 1e-6\n", "tau_factor = 3\n", "sigma = recoil.time(20e-6)\n", "w0 = recoil.length(6.2e-3)\n", "\n", "bs_lookup_dict = {}\n", "\n", "def deltalookup(vz):\n", " # vz is in recoil velocity units, so it enters delta directly\n", " return 4*nbragg + 4*vz\n", "\n", "def omegalookup(x, y):\n", " return Omega0*np.exp(-2*(x**2 + y**2)/(w0**2))\n", "\n", "# Define beamsplitter function\n", "def prop_bs_wavefunction_ideal(idx, x0, y0, vz, vx, vy, delta_phase_shift, omega_m, k_init, k_final, klattice, t, z):\n", "\n", " # Check if this is a multifrequency beamsplitter\n", " multifrequency = isinstance(klattice, list)\n", "\n", " # Check that this is a valid lattice\n", " if not multifrequency:\n", " assert klattice == nbragg\n", " else:\n", " assert len(klattice) == 2\n", " assert 3*nbragg in klattice\n", " assert -nbragg in klattice\n", "\n", " # Determine index of k_final state\n", " kf_idx = np.argmin(np.abs(ifr.kvec - k_final))\n", " \n", " # Determine atom number\n", " natoms = len(x0)\n", "\n", " # Return analtyic wavefunction amplitude\n", " if (k_final == 2*nbragg and k_init == 0) or (k_init == 2*nbragg and k_final == 0):\n", " return 1.0j/np.sqrt(2)*np.exp(1.0j*(-4*nbragg*t + delta_phase_shift)*(k_final - k_init)/2)\n", " elif (k_final == 4*nbragg and k_init == 2*nbragg) or (k_final == 2*nbragg and k_init == 4*nbragg):\n", " return 1.0j/np.sqrt(2)*np.exp(1.0j*(-(4*nbragg + omega_m)*t + delta_phase_shift)*(k_final - k_init)/2)\n", " elif (k_final == -2*nbragg and k_init == 0) or (k_final == 0 and k_init == -2*nbragg):\n", " return 1.0j/np.sqrt(2)*np.exp(1.0j*(-(4*nbragg - omega_m)*t + delta_phase_shift)*(k_final - k_init)/2)\n", " elif k_init == k_final:\n", " return 1.0/np.sqrt(2) + 0.0j\n", " else:\n", " return 0.0 + 0.0j\n", "\n", "# Define beamsplitter function\n", "def prop_bs_wavefunction_bragg(idx, x0, y0, vz, vx, vy, delta_phase_shift, omega_m, k_init, k_final, klattice, t, z):\n", "\n", " # Check if this is a multifrequency beamsplitter\n", " multifrequency = isinstance(klattice, list)\n", "\n", " # Check that this is a valid lattice\n", " if not multifrequency:\n", " assert klattice == nbragg\n", " else:\n", " assert len(klattice) == 2\n", " assert 3*nbragg in klattice\n", " assert -nbragg in klattice\n", "\n", " # Determine index of k_final state\n", " k0_idx = np.argmin(np.abs(ifr.kvec - k_init))\n", " kf_idx = np.argmin(np.abs(ifr.kvec - k_final))\n", " \n", " # Determine atom number\n", " natoms = len(x0)\n", " # Load cached result\n", " if idx in bs_lookup_dict:\n", " if k_init in bs_lookup_dict[idx]:\n", " return bs_lookup_dict[idx][k_init][:, kf_idx] if natoms > 1 else bs_lookup_dict[idx][k_init][kf_idx]\n", "\n", " # Compute omegas and deltas\n", " x = x0 + vx*t\n", " y = y0 + vy*t\n", " omegas = omegalookup(x, y)\n", " deltas = deltalookup(vz)\n", "\n", " # Create phi0\n", " phi0 = np.zeros_like(ifr.kvec, dtype=np.complex128)\n", " phi0[k0_idx] = 1.0 + 0.0j\n", "\n", " if natoms > 1:\n", " phi0 = np.tile(phi0, (natoms, 1))\n", " else:\n", " deltas = deltas[0]\n", " omegas = omegas[0]\n", "\n", " # Integrate\n", " if not multifrequency:\n", " result = propagate(\n", " ifr.kvec, phi0, t + 2*tau_factor*sigma, deltas,\n", " omega_fnc_gaussian, np.array([1.0, sigma, t + tau_factor*sigma]),\n", " phase_fnc_constant, np.array([delta_phase_shift]),\n", " omegas=omegas, t0=t, tol=tol\n", " )\n", " else:\n", " result = propagate(\n", " ifr.kvec, phi0, t + 2*tau_factor*sigma, deltas,\n", " multi_omega_fnc, np.array([1.0, sigma, t + tau_factor*sigma, omega_m]),\n", " phase_fnc_constant, np.array([delta_phase_shift]),\n", " omegas=omegas, t0=t, tol=tol\n", " )\n", "\n", " # Save result\n", " phi = result.phi_final\n", "\n", " # Save wavefunction to cache\n", " if idx not in bs_lookup_dict:\n", " bs_lookup_dict[idx] = {}\n", " if k_init not in bs_lookup_dict[idx]:\n", " bs_lookup_dict[idx][k_init] = phi\n", " else:\n", " raise RuntimeError('Array should not have been created but it was!')\n", "\n", " # Return\n", " return bs_lookup_dict[idx][k_init][:, kf_idx] if natoms > 1 else bs_lookup_dict[idx][k_init][kf_idx]" ] }, { "cell_type": "markdown", "id": "a5e27341-ce00-4943-8823-5eb55571628a", "metadata": {}, "source": [ "Now we will compile the interferometer using the function we have defined above along with the function that describes how phase accumulates during free propagation (this is a trivial function). The `NumericBraggInterferometer` class will automatically call the beamsplitter function we have defined at each split, and the propagation function during the propagation steps. We will wrap the compile function in a function called `sim_ellipse` that accepts a phase (supposedly coming from vibrations that shift the phase of the third Bragg pulse), and a modulation frequency. It will return the `x` and `y` location of the ellipse shot for the provided `vibration_phase` and `omega_m`." ] }, { "cell_type": "code", "execution_count": 3, "id": "c5265ec1", "metadata": {}, "outputs": [], "source": [ "def sim_ellipse(vibration_phase, omega_m, use_ideal=False):\n", "\n", " prop_bs_wavefunction = prop_bs_wavefunction_ideal if use_ideal else prop_bs_wavefunction_bragg\n", "\n", " split_funcs = [\n", " lambda x0, y0, vz, vx, vy, k_init, k_final, klattice, t, z: prop_bs_wavefunction(0, x0, y0, vz, vx, vy, 0.0, omega_m, k_init, k_final, klattice, t, z),\n", " lambda x0, y0, vz, vx, vy, k_init, k_final, klattice, t, z: prop_bs_wavefunction(1, x0, y0, vz, vx, vy, 0.0, omega_m, k_init, k_final, klattice, t, z),\n", " lambda x0, y0, vz, vx, vy, k_init, k_final, klattice, t, z: prop_bs_wavefunction(2, x0, y0, vz, vx, vy, vibration_phase, omega_m, k_init, k_final, klattice, t, z),\n", " lambda x0, y0, vz, vx, vy, k_init, k_final, klattice, t, z: prop_bs_wavefunction(3, x0, y0, vz, vx, vy, 0.0, omega_m, k_init, k_final, klattice, t, z)\n", " ]\n", "\n", " propagate_func = lambda x0, y0, vz, vx, vy, t, k: np.exp(-1j*t*k**2)\n", "\n", " kvector_funcs = [\n", " lambda x0, y0, vz, vx, vy: 0.0,\n", " lambda x0, y0, vz, vx, vy: 0.0,\n", " lambda x0, y0, vz, vx, vy: 0.0,\n", " lambda x0, y0, vz, vx, vy: 0.0,\n", " ]\n", "\n", " output_momenta = [4*nbragg, 2*nbragg, 0*nbragg, -2*nbragg]\n", "\n", " popfunc = ifr.compile(split_funcs=split_funcs,\n", " propagate_func=propagate_func,\n", " output_momentums=output_momenta,\n", " kvector_funcs=kvector_funcs,\n", " x_tolerance=1e-11)\n", "\n", " def xyfunc(x0, y0, vz, vx, vy):\n", " pA, pB, pC, pD = popfunc(4*nbragg, [x0, y0, vz, vx, vy]), popfunc(2*nbragg, [x0, y0, vz, vx, vy]), popfunc(0*nbragg, [x0, y0, vz, vx, vy]), popfunc(-2*nbragg, [x0, y0, vz, vx, vy])\n", " return (pB-pA)/(pB+pA), (pD-pC)/(pD+pC)\n", "\n", " # Cloud parameters supplied in recoil units: lengths in L_r, velocities in v_r\n", " x0, y0, z0, vz, vx, vy = cloud_init(natoms=1000, sigma_cloud=recoil.length(1e-3), sigma_transverse_v=1.5, sigma_vertical_v=0.1, seed=137)\n", " x, y = xyfunc(x0, y0, vz, vx, vy)\n", " x, y = np.mean(x), np.mean(y)\n", "\n", " return x, y" ] }, { "cell_type": "markdown", "id": "853679d5", "metadata": {}, "source": [ "Now, keeping the vibration phase fixed, we will scan the modulation frequency for the ideal beamsplitter case. From Brian Estey's thesis Eq.(2.27) and the unlabeled equation preceeding Eq.(2.27) we also know what phase we expect analytically for both `x` and `y`. We plot these alongside the numerically computed phase." ] }, { "cell_type": "code", "execution_count": 4, "id": "29208931", "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ " 0%| | 0/16 [00:00" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Define analytic form of x and y\n", "def analytic_ellipse(vibration_phase, omega_m):\n", " phid = 8*nbragg**2*T - nbragg*omega_m*T\n", " phic = vibration_phase\n", " pA = np.cos((phic+phid)/2)**2/8\n", " pB = np.cos((phic-phid)/2)**2/8\n", " pC = np.sin((phic-phid)/2)**2/8\n", " pD = np.sin((phic+phid)/2)**2/8\n", " return (pB-pA)/(pB+pA)/2, (pD-pC)/(pD+pC)/2\n", "\n", "# Define phases to scan over\n", "target_phases = np.linspace(-2*np.pi, 2*np.pi, 16)\n", "omega_ms = 8*nbragg + target_phases/(2*nbragg*T)\n", "\n", "# Loop over each modulation frequency, compute x and y\n", "x, y = np.full_like(omega_ms, np.nan), np.full_like(omega_ms, np.nan)\n", "ax, ay = np.full_like(omega_ms, np.nan), np.full_like(omega_ms, np.nan)\n", "for i in tqdm(range(len(omega_ms))):\n", " bs_lookup_dict = {} # Reset cache\n", " x[i], y[i] = sim_ellipse(0.0, omega_ms[i], use_ideal=True)\n", " ax[i], ay[i] = analytic_ellipse(np.pi/2, omega_ms[i])\n", "\n", "# Plot\n", "plt.plot(target_phases/np.pi, x, label='sim x')\n", "plt.plot(target_phases/np.pi, y, label='sim y')\n", "plt.plot(target_phases/np.pi, ax, '--', label='analytic x')\n", "plt.plot(target_phases/np.pi, ay, '--', label='analytic y')\n", "plt.legend()\n", "plt.show()" ] }, { "cell_type": "markdown", "id": "dfb7aab7", "metadata": {}, "source": [ "The periods agree, but it seems we have a phase offset of $\\pi/4$ between the two. Not sure why this is.\n", "\n", "Moving along to an ellipse" ] }, { "cell_type": "code", "execution_count": 5, "id": "2b510ff2", "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "100%|██████████| 16/16 [00:00<00:00, 374.28it/s]\n" ] }, { "data": { "image/png": "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gQMHivxcKCTWYg04Rt0CpViTHDdunAwdOjTffRo1amQG1hw7dsxju45A1RGvel9BdezY0Vzv3btXGjdubB67ceNGj32OHj1qru2eNyYmxlwQIKzFGhSjbnUBcZ23yeo2gB9Dslq1auZyOYmJiXL69GnZvHmztG3b1mxbs2aN5ObmuoKvILZu3Wqua9Wq5XreP/3pTyaAnc25OnpWO251oBCCVAivxRoOgnnULRCxy9L17NnT1PJ09KlzCogO5HFOATl06JB07drVNKl26NDBNKnqfToC9qqrrjJ9kmPGjJG6devK119/7ZoCoqNftc9y5syZph/yvvvukwceeKDAU0AY3QoAoS0z1Ee3OkepXnvttSYINfhuvPFGeeONN1z3a3DqoBzn6FWdvvHll19Kt27dzOO0abd///6yfPly12Oio6Plk08+Mddaq7z33nvNPEn3eZUAAJQEFjhngXMACDmZ4VCTBAAglBGSAADYICQBALBBSAIAYIOQBADABiEJAIANQhIAABuEJAAANghJAABsEJIAANggJAEAsEFIAgBgg5AEAMAGIQkAgA1CEgAAG4QkAAA2CEkAAGwQkgAA2CAkAQCwQUgCAGCDkAQAwAYhCQCADUISAAAbhCQAADYISQAAbBCSAADYICQBALBBSAIAYIOQBADABiEJAIANQhIAABuEJAAANghJAABsEJIAANggJAEACERInjx5Uu655x6pXLmyVKlSRYYPHy5nzpyx3X///v3icDh8Xj744APXfr7uX7RokT/fCgAgApXx55NrQB4+fFhWrVolFy5ckGHDhsnIkSNl4cKFPvevV6+e2d/dG2+8IbNmzZKePXt6bH/rrbekR48ertsawgAAhERI7tq1S1asWCGbNm2Sdu3amW2vvvqq9OrVS1544QWpXbv2JY+Jjo6WmjVremxbunSp3HXXXXLFFVd4bNdQ9N4XAICQaG5dv369CTJnQKqkpCSJioqSDRs2FOg5Nm/eLFu3bjXNtN4eeeQRiY+Plw4dOsj8+fPFsizb58nOzpbMzEyPCwAAAatJHjlyRKpXr+75YmXKSFxcnLmvIN5880257rrrpHPnzh7bp0+fLrfddptUrFhRVq5cKQ8//LDp63zsscd8Pk9KSopMmzatGO8GABCJCl2TnDRpku3gGudl9+7dxS7YuXPnTN+lr1rk5MmT5YYbbpDrr79eJk6cKBMmTDD9lnaSk5MlIyPDdTlw4ECxywcACH+FrkmOGzdOhg4dmu8+jRo1Mv2Fx44d89h+8eJFM+K1IH2JH374oWRlZcngwYMvu2/Hjh3lmWeeMc2qMTExl9yv23xtBwCgREOyWrVq5nI5iYmJcvr0adOv2LZtW7NtzZo1kpuba0KtIE2tv/3tbwv0WtpvWbVqVYIQABAafZLal6hTNEaMGCFz5841U0AeffRRGThwoGtk66FDh6Rr166yYMECMwDHae/evbJ27Vr57LPPLnne5cuXy9GjR6VTp05Svnx5M71kxowZMn78eH+9FQBAhPLrPMl3333XBKMGoY5q7d+/v7zyyiuu+zU49+zZY5pV3elo1bp160q3bt0uec6yZcvKnDlzZMyYMWZEa5MmTeSll14yYQwAQElyWPnNnQhTOgUkNjbWDOLR1YAAAKEls5S+x1m7FQAAG4QkAAA2CEkAAGwQkgAA2CAkAQCwQUgCAGCDkAQAwAYhCQCADUISAAAbhCQAADYISQAAbBCSAADYICQBALBBSAIAYIOQBADABiEJAIANQhIAABuEJAAANghJAABsEJIAANggJAEAsEFIAgBgg5AEAMAGIQkAgA1CEgAAG4QkAAA2CEkAAGwQkgAA2CAkAQCwQUgCAGCDkAQAwAYhCQCADUISAAAbhCQAADYISQAAbBCSAACUdkj+6U9/ks6dO0vFihWlSpUqBXqMZVkyZcoUqVWrllSoUEGSkpLkhx9+8Njn5MmTcs8990jlypXN8w4fPlzOnDnjp3cBAIhkfgvJ8+fPy5133ikPPfRQgR8zc+ZMeeWVV2Tu3LmyYcMGqVSpknTv3l1+/fVX1z4akDt37pRVq1bJJ598ImvXrpWRI0f66V0AACKZw9Lqmx+9/fbbMnr0aDl9+nS++2kxateuLePGjZPx48ebbRkZGVKjRg3zHAMHDpRdu3ZJs2bNZNOmTdKuXTuzz4oVK6RXr15y8OBB83hfsrOzzcVJn7d+/fpy4MABUyMFAISWzMxMqVevnsmW2NhY/72Q5WdvvfWWFRsbe9n99u3bp2Ftff/99x7bu3TpYj322GPm5zfffNOqUqWKx/0XLlywoqOjrSVLltg+99SpU81zc+EY8BngM8BnILw+A/v27bP8qYwEiSNHjphrrTm609vO+/S6evXqHveXKVNG4uLiXPv4kpycLGPHjnXd1v88GjRoIGlpaf79D8RP/zmFWg04VMsdymWn3BzvcP6cuLcI6ve/PxUqJCdNmiTPP/98vvtok+i1114rwSQmJsZcvGlAhtoHQ2mZKTfHnM9K8OFvs/RFRUUFT0hqf+HQoUPz3adRo0ZFKkjNmjXN9dGjR83oVie93bp1a9c+x44d83jcxYsXzYhX5+MBAAhISFarVs1c/KFhw4Ym6FavXu0KRW0K0FGuzhGyiYmJpql08+bN0rZtW7NtzZo1kpubKx07dvRLuQAAkctv9VTt79u6dau5zsnJMT/rxX1OozbLLl261PzscDjMKNhnn31WPv74Y9m+fbsMHjzYjFjt27ev2ee6666THj16yIgRI2Tjxo3yzTffyKOPPmpGvtqNbPVFm16nTp3qswk2mFFujjmfleDE32YYH3N/jQgaMmSIz5FIf//731376G0d/eqUm5trTZ482apRo4YVExNjde3a1dqzZ4/H8544ccIaNGiQdcUVV1iVK1e2hg0bZv3yyy/+ehsAgAjm93mSAACEKtZuBQDABiEJAIANQhIAABuEJAAAkRSSoXyarsK+xv79+830GV+XDz74wLWfr/sXLVoUsHKrW2655ZIyPfjggx776BSi3r17m9+lLkn4xBNPmAUkAlVu3X/UqFHStGlT8znRZbEee+wxs0SWu5I+3nPmzJGEhAQpX768mROsU6Dyo797nWKl+7do0UI+++yzQn/eS0phyj5v3jy56aabpGrVquai5fLeXxc08T62OjUskOXWkzB4l0kfF4hjXphy+/ob1Iv+zZXm8V67dq306dPHTOXT51+2bNllH/PVV19JmzZtzBSQJk2amN9Bcf9ufLLC0JQpU6yXXnrJGjt2bIEWV1fPPfec2XfZsmXWv/71L+u3v/2t1bBhQ+vcuXOufXr06GG1atXK+vbbb61//OMfVpMmTcx0lJJU2Ne4ePGidfjwYY/LtGnTzBQZ96kxzuk27vu5v7fSLre6+eabrREjRniUKSMjw+O9NW/e3EpKSjIL33/22WdWfHy8lZycHLByb9++3erXr5/18ccfW3v37rVWr15tXX311Vb//v099ivJ471o0SKrXLly1vz5862dO3eaY6YL/R89etTn/t98841Z9H/mzJnWv//9b+upp56yypYta8pemM97SShs2e+++25r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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Define phases to scan over, select opening phase of pi/2\n", "omega_m = 8*nbragg - np.pi/2/(2*nbragg*T)\n", "vibration_phases = np.linspace(0, 2*np.pi/nbragg, 16)\n", "\n", "# Loop over each vibration phase, compute x and y\n", "x, y = np.full_like(vibration_phases, np.nan), np.full_like(vibration_phases, np.nan)\n", "ax, ay = np.full_like(omega_ms, np.nan), np.full_like(omega_ms, np.nan)\n", "for i in tqdm(range(len(vibration_phases))):\n", " bs_lookup_dict = {}\n", " x[i], y[i] = sim_ellipse(vibration_phases[i], omega_m, use_ideal=True)\n", " ax[i], ay[i] = analytic_ellipse(np.pi/2, omega_ms[i])\n", "\n", "plt.plot(x, y, '.', label='sim')\n", "plt.plot(ax, ay, '.', label='analytic')\n", "plt.xlim(-1,1)\n", "plt.ylim(-1,1)\n", "plt.legend()\n", "plt.gca().set_aspect('equal')\n", "plt.show()" ] }, { "cell_type": "markdown", "id": "da726f2e", "metadata": {}, "source": [ "Strangely the analytic case also seems wrong here, as we expect an open ellipse when the target phase is $\\pi/2$. I think this might come from Brian's thesis leaving out the $\\pi/2$ phase shift that you get from each beamsplitter (this is included in the symbolic interferometer calculation in `mwave`, could compare to that). Anyhow, this seems reasonable enough to me.\n", "\n", "Now lets generate the same plots but with actual Bragg beamsplitters and 1000 atoms." ] }, { "cell_type": "code", "execution_count": 6, "id": "3e78c175", "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "100%|██████████| 16/16 [00:10<00:00, 1.50it/s]\n" ] }, { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stderr", "output_type": "stream", "text": [ "100%|██████████| 16/16 [00:10<00:00, 1.51it/s]\n" ] }, { "data": { "image/png": "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ALBBSAIAYIOQBADABiEJAIANQhIAABuEJAAANghJAABsEJIAANggJAEAsEFIAgBgg5AEAMAGIQkAgA1CEgAAG4QkAAA2CEkAAGwQkgAA2CAkAQCwQUgCAGCDkAQAwAYhCQCAr0PyT3/6k3To0EHKly8vlStXLtBjLMuSyZMnS82aNaVcuXKSlJQk3333nds6Z8+elQcffFAqVapktjt48GC5cOGCl14FACCceS0kL1++LPfdd588/vjjBX7MrFmzZP78+bJw4ULZvn27VKhQQTp37iy//PKLcx0NyK+//lo2bNggH3zwgWzZskWGDh3qpVcBAAhnEZYW37xo6dKlMmrUKDl//nye6+luxMfHy5gxY2Ts2LFmWXp6ulSvXt1so2/fvrJ3715p0qSJ7Ny5U9q0aWPWWbdunXTr1k2OHTtmHu9JZmammRx0uzfeeKMcPXrUlEgBAMElIyNDateubbIlJibGe09kednrr79uxcTE5LvegQMHNKytL774wm35nXfeaT3xxBPm78WLF1uVK1d2u//KlStWVFSUtWrVKtttT5kyxWybiWPAZ4DPAJ+B0PoMHDhwwPKmUhIgTp48aW615OhK5x336W21atXc7i9VqpTExsY61/EkOTlZRo8e7ZzXXx516tSRI0eOePcXiJd+OQVbCThY9zuY95395niH8ufEtUZQv/+9qVAhOWHCBJk5c2ae62iVaKNGjSSQREdHmyk3Dchg+2Ao3Wf2m2POZyXw8L/pe5GRkYETknq+cODAgXmuU69evSLtSI0aNcztqVOnTOtWB51v2bKlc53Tp0+7Pe7q1aumxavj8QAA+CUkq1ataiZvqFu3rgm6jRs3OkNRqwK0laujhWxiYqKpKk1JSZHWrVubZZs2bZLs7Gxp3769V/YLABC+vFZO1fN9u3btMrdZWVnmb51c+zRqtezq1avN3xEREaYV7HPPPSfvv/++fPXVV9K/f3/TYrVnz55mncaNG0uXLl1kyJAhsmPHDvn0009lxIgRpuWrXctWT7TqdcqUKR6rYAMZ+80x57MSmPjfDOFj7q0WQQMGDPDYEukf//iHcx2d19avDtnZ2dakSZOs6tWrW9HR0VbHjh2tffv2uW33xx9/tPr162ddd911VqVKlaxBgwZZP/30k7deBgAgjHm9nyQAAMGKsVsBALBBSAIAYIOQBADABiEJ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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Define phases to scan over\n", "target_phases = np.linspace(-2*np.pi, 2*np.pi, 16)\n", "omega_ms = 8*nbragg + target_phases/(2*nbragg*T)\n", "\n", "# Loop over each modulation frequency, compute x and y\n", "x, y = np.full_like(omega_ms, np.nan), np.full_like(omega_ms, np.nan)\n", "ax, ay = np.full_like(omega_ms, np.nan), np.full_like(omega_ms, np.nan)\n", "for i in tqdm(range(len(omega_ms))):\n", " bs_lookup_dict = {} # Reset cache\n", " x[i], y[i] = sim_ellipse(0.0, omega_ms[i], use_ideal=False)\n", " ax[i], ay[i] = analytic_ellipse(np.pi/2, omega_ms[i])\n", "\n", "# Plot\n", "plt.plot(target_phases/np.pi, x, label='sim x')\n", "plt.plot(target_phases/np.pi, y, label='sim y')\n", "plt.plot(target_phases/np.pi, ax, '--', label='analytic x')\n", "plt.plot(target_phases/np.pi, ay, '--', label='analytic y')\n", "plt.legend()\n", "plt.show()\n", "\n", "# Define phases to scan over, select opening phase of pi/2\n", "omega_m = 8*nbragg - np.pi/2/(2*nbragg*T)\n", "vibration_phases = np.linspace(0, 2*np.pi/nbragg, 16)\n", "\n", "# Loop over each vibration phase, compute x and y\n", "x, y = np.full_like(vibration_phases, np.nan), np.full_like(vibration_phases, np.nan)\n", "ax, ay = np.full_like(omega_ms, np.nan), np.full_like(omega_ms, np.nan)\n", "for i in tqdm(range(len(vibration_phases))):\n", " bs_lookup_dict = {}\n", " x[i], y[i] = sim_ellipse(vibration_phases[i], omega_m, use_ideal=False)\n", " ax[i], ay[i] = analytic_ellipse(np.pi/2, omega_ms[i])\n", "\n", "plt.plot(x, y, '.', label='sim')\n", "plt.plot(ax, ay, '.', label='analytic')\n", "plt.xlim(-1,1)\n", "plt.ylim(-1,1)\n", "plt.legend()\n", "plt.gca().set_aspect('equal')\n", "plt.show()" ] } ], "metadata": { "kernelspec": { "display_name": "lab (3.12.12)", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.12.12" } }, "nbformat": 4, "nbformat_minor": 5 }