{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Optimization of a state-to-state transfer in a lambda system with RWA" ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "attributes": { "classes": [], "id": "", "n": "1" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "numpy 1.15.4\n", "scipy 1.1.0\n", "matplotlib 3.0.2\n", "matplotlib.pylab 1.15.4\n", "krotov 0.0.1\n", "qutip 4.3.1\n", "CPython 3.6.7\n", "IPython 7.2.0\n" ] } ], "source": [ "# NBVAL_IGNORE_OUTPUT\n", "%load_ext watermark\n", "import numpy as np\n", "import scipy\n", "import matplotlib\n", "import matplotlib.pylab as plt\n", "import krotov\n", "import qutip\n", "from qutip import Qobj\n", "%watermark -v --iversions" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "$\\newcommand{tr}[0]{\\operatorname{tr}}\n", "\\newcommand{diag}[0]{\\operatorname{diag}}\n", "\\newcommand{abs}[0]{\\operatorname{abs}}\n", "\\newcommand{pop}[0]{\\operatorname{pop}}\n", "\\newcommand{aux}[0]{\\text{aux}}\n", "\\newcommand{opt}[0]{\\text{opt}}\n", "\\newcommand{tgt}[0]{\\text{tgt}}\n", "\\newcommand{init}[0]{\\text{init}}\n", "\\newcommand{lab}[0]{\\text{lab}}\n", "\\newcommand{rwa}[0]{\\text{rwa}}\n", "\\newcommand{bra}[1]{\\langle#1\\vert}\n", "\\newcommand{ket}[1]{\\vert#1\\rangle}\n", "\\newcommand{Bra}[1]{\\left\\langle#1\\right\\vert}\n", "\\newcommand{Ket}[1]{\\left\\vert#1\\right\\rangle}\n", "\\newcommand{Braket}[2]{\\left\\langle #1\\vphantom{#2} \\mid\n", "#2\\vphantom{#1}\\right\\rangle}\n", "\\newcommand{Ketbra}[2]{\\left\\vert#1\\vphantom{#2}\n", "\\right\\rangle \\hspace{-0.2em} \\left\\langle #2\\vphantom{#1}\\right\\vert}\n", "\\newcommand{op}[1]{\\hat{#1}}\n", "\\newcommand{Op}[1]{\\hat{#1}}\n", "\\newcommand{dd}[0]{\\,\\text{d}}\n", "\\newcommand{Liouville}[0]{\\mathcal{L}}\n", "\\newcommand{DynMap}[0]{\\mathcal{E}}\n", "\\newcommand{identity}[0]{\\mathbf{1}}\n", "\\newcommand{Norm}[1]{\\lVert#1\\rVert}\n", "\\newcommand{Abs}[1]{\\left\\vert#1\\right\\vert}\n", "\\newcommand{avg}[1]{\\langle#1\\rangle}\n", "\\newcommand{Avg}[1]{\\left\\langle#1\\right\\rangle}\n", "\\newcommand{AbsSq}[1]{\\left\\vert#1\\right\\vert^2}\n", "\\newcommand{Re}[0]{\\operatorname{Re}}\n", "\\newcommand{Im}[0]{\\operatorname{Im}}\n", "\\newcommand{toP}[0]{\\omega_{12}}\n", "\\newcommand{toS}[0]{\\omega_{23}}\n", "\\newcommand{oft}[0]{\\left(t\\right)}$\n", "\n", "The purpose of this example is to illustrate and test the use of complex control\n", "fields.\n", "Essentially, this is accomplished by rewriting the Hamiltonian as the\n", "sum of two independent controls (real and imaginary parts).\n", "\n", "## Define the Hamiltonian\n", "\n", "The system consists of three levels $\\Ket{1}$,\n", "$\\Ket{2}$ and $\\Ket{3}$ with energy levels $E_{1}, E_{2}$ and $E_{3}$ which\n", "interact with a pair of pulses,\n", "with time-dependent frequencies of\n", "$\\omega_{P}=\\omega_{P}\\oft$ (pump laser) and \n", "$\\omega_{S} = \\omega_{S}\\oft$\n", "(stokes laser) respectively.\n", "The pulses each have time-dependent envelopes\n", "$\\varepsilon_{P}\\oft$ and $\\varepsilon_{S}\\oft$.\n", "Furthermore, it is assumed that\n", "the frequencies are tuned\n", "such that $\\omega_{P}=\\omega_{P}\\oft$ selectively\n", "addresses\n", "the $\\Ket{1} \\leftrightarrow \\Ket{2}$ and \n", "$\\omega_{S}=\\omega_{S}\\oft$\n", "addresses the $\\Ket{2} \\leftrightarrow \\Ket{3}$ transition.\n", "\n", "We transform into\n", "the interaction picture using the operator\n", "\n", "$$\\op{U}_{0} = \\Ketbra{1}{1}\n", "e^{-i\\left(E_{2} - \\omega_{P} \\right)t} + \\Ketbra{2}{2} e^{-iE_{2}t} +\n", "\\Ketbra{3}{3} e^{-i\\left(E_{2}-\\omega_{S}\\right)t}\\,\\,,$$\n", "\n", "where $\\toP$ and\n", "$\\toS$, the splittings between the first and second and between the second and\n", "third energy levels, are close to the central frequencies of $\\omega_{S}\\oft$\n", "and $\\omega_{P}\\oft$.\n", "\n", "In the rotating wave approximation, the fast rotating\n", "terms\n", "$e^{\\pm i\\left(\\toP + \\omega_{P}\\oft \\right)t}$ and \n", "$e^{\\pm i\\left(\\toS +\n", "\\omega_{S}\\oft \\right)t}$ can be neglegted.\n", " \n", "Consequently,\n", "\n", "$$ \\op{H}_{0} =\n", "\\Delta_{P} \\Ketbra{1}{1} +\\Delta_{S} \\Ketbra{3}{3}$$\n", "\n", "describes the drift\n", "Hamiltonian of a system with the respective detunings $\\Delta_{P}=E_{1} +\n", "\\omega_{P} - E_{2}$ and $\\Delta_{S} = E_{3} + \\omega_{S} -E_{2}$.\n", "\n", "The control\n", "Hamiltonian is given by \n", "\n", "$$ \\op{H}_{1}\\oft = \\op{H}_{1,P}\\oft +\n", "\\op{H}_{1,S}\\oft = \\Omega_{P}\\oft \\Ketbra{1}{2} + \\Omega_{S}\\oft\\Ketbra{2}{3} +\n", "\\text{h.c.}\\,\\,,$$\n", "\n", "where $\\Omega_{P} = \\Omega_{P}\\oft = \\frac{\\mu_{21}\n", "\\varepsilon_{P}\\oft}{2} e^{-i\\Phi_{S}\\oft t}$ and\n", "$\\Omega_{S} = \\Omega_{S}\\oft =\n", "\\frac{\\mu_{23} \\varepsilon_{S}\\oft}{2} e^{-i\\Phi_{P}\\oft t}$\n", "with the phases\n", "$\\Phi_{P}\\oft = \\toP - \\omega_{P}\\oft$ and $\\Phi_{S}\\oft = \\toS -\n", "\\omega_{S}\\oft$\n", "and $\\mu_{ij}$ the $ij^{\\text{th}}$ dipole-transition moment.\n", "In order to optimize, we rewrite $\\Omega_{P}\\oft = \\Omega_{P}^\\text{Re}\\oft +\n", "i\\Omega_{P}^\\text{Im}\\oft$\n", "and $\\Omega_{S}\\oft = \\Omega_{S}^\\text{Re}\\oft +\n", "i\\Omega_{S}^\\text{Im}\\oft$, such that optimization of the pulses involves only\n", "real functions." ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "attributes": { "classes": [], "id": "", "n": "2" } }, "outputs": [], "source": [ "def ham_and_states():\n", " \"\"\"Lambda-system Hamiltonian\"\"\"\n", " E1 = 0.\n", " E2 = 10.\n", " E3 = 5.\n", " ω_P = 9.5\n", " ω_S = 4.5\n", " Ω_init = 5.\n", " H0 = Qobj([[E1+ω_P-E2, 0., 0.], \\\n", " [0., 0., 0.], \\\n", " [0., 0., E3+ω_S-E2]])\n", " \n", " \n", " H1P_re = Qobj([[0.,-1.,0.], [-1.,0.,0.],[0.,0.,0.]]) \n", " H1P_im = Qobj([[0.,-1.j,0.],[1.j,0.,0.],[0.,0.,0.]])\n", " ΩP_re = lambda t, args: Ω_init\n", " ΩP_im = lambda t, args: Ω_init\n", " \n", " H1S_re = Qobj([[0.,0.,0.],[0.,0.,1.],[0.,1.,0.]])\n", " H1S_im = Qobj([[0.,0.,0.],[0.,0.,1.j],[0.,-1.j,0.]])\n", " ΩS_re = lambda t, args: Ω_init \n", " ΩS_im = lambda t, args: Ω_init\n", " \n", " \"\"\"Initial and target states\"\"\"\n", " psi0 = qutip.Qobj(np.array([1.,0.,0.]))\n", " psi1 = qutip.Qobj(np.array([0.,0.,1.])) \n", " \n", " return ([H0, \\\n", " [H1P_re, ΩP_re], [H1P_im, ΩP_im], \\\n", " [H1S_re, ΩS_re], [H1S_im, ΩS_im]], \\\n", " psi0, psi1)\n", "\n", "H, psi0, psi1 = ham_and_states()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We introduce projectors for each of the three energy levels\n", "$\\op{P}_{i} =\n", "\\Ketbra{i}{i}$" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "attributes": { "classes": [], "id": "", "n": "3" } }, "outputs": [], "source": [ "proj1 = Qobj([[1.,0.,0.],[0.,0.,0.],[0.,0.,0.]])\n", "proj2 = Qobj([[0.,0.,0.],[0.,1.,0.],[0.,0.,0.]])\n", "proj3 = Qobj([[0.,0.,0.],[0.,0.,0.],[0.,0.,1.]])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Define the optimization target\n", "\n", "In the following we consider dynamics acting\n", "over a duration of $\\Delta_{t} = 5$, beginning at\n", "$t_{0} = 0$ and ending at $T =\n", "\\Delta_{t}$. \n", "The time grid is divided into $n_{t} = 500$ equidistant time\n", "steps." ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "attributes": { "classes": [], "id": "", "n": "4" } }, "outputs": [], "source": [ "tlist = np.linspace(0.,5.,500)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Since the objective of this example is a state to state transfer from the\n", "initial state\n", "$\\Ket{\\Psi_{\\init}} = \\Ket{1}$ into the final state\n", "$\\Ket{\\Psi_{\\tgt}} = \\Ket{3}$ at the\n", "final time $t_{1}$, the optimization\n", "objective is set as" ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "attributes": { "classes": [], "id": "", "n": "5" } }, "outputs": [], "source": [ "objective = krotov.Objective(initial_state=psi0, target=psi1, H=H)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Initial guess shapes\n", "\"stimulated Raman adiabatic passage\" (STIRAP) is a\n", "process in which population in $\\Ket{1}$ is transferred into\n", "$\\Ket{3}$ without\n", "having to pass through $\\Ket{2}$ (which could for instance be a rapidly decaying\n", "level).\n", "In order for this process to occur, a temporally finite Stokes pulse of\n", "sufficient amplitude driving the $\\Ket{2} \\leftrightarrow \\Ket{3}$ transition is\n", "applied first, whilst second pump pulse of similar intensity follows some time\n", "later such that the pulses still have a partial temporal overlap.\n", "\n", "In order to\n", "demonstrate the Krotov's optimization method however, we choose an initial guess\n", "consisting of two low intensity and real Blackman pulses which are temporally\n", "disjoint.\n", "\n", "For the real components of the matrix elements, we supply our guess\n", "pulses shaped as Blackman window functions `S(t,offset)`, with an offset\n", "ensuring that the two pulses don't overlap.\n", "The imaginary components are coupled\n", "to pulses that are zero at all times." ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "attributes": { "classes": [], "id": "", "n": "6" } }, "outputs": [], "source": [ "def S(t,offset):\n", " \"\"\"Shape envelope function for the field update\"\"\"\n", " return krotov.shapes.blackman(t,1.+offset,4.+offset)\n", "\n", "def shape_field_real(eps,offset):\n", " \"\"\"Applies the total pulse shape to the real part of a guess pulse\"\"\"\n", " field_shaped = lambda t, args: eps(t, args)*S(t,offset)\n", " return field_shaped\n", "\n", "def shape_field_imag(eps,offset):\n", " \"\"\"Initializes the imaginary parts of the guess pulses to zero\"\"\"\n", " field_shaped = lambda t, args: eps(t, args)*0.\n", " return field_shaped\n", "\n", "H[1][1] = shape_field_real(H[1][1],1.) # Re[Ωₚ]\n", "H[2][1] = shape_field_imag(H[2][1],1.) # Im[Ωₚ]\n", "H[3][1] = shape_field_real(H[3][1],-1.) # Re[Ωₛ]\n", "H[4][1] = shape_field_imag(H[4][1],-1.) # Im[Ωₛ]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We choose an appropriate update factor $\\lambda_{a}$ for the problem at hand and\n", "make sure Krotov considers pulses which start and end with zero amplitude." ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "attributes": { "classes": [], "id": "", "n": "7" } }, "outputs": [], "source": [ "def update_shape(t):\n", " \"\"\"Scales the Krotov methods update of the pulse value at the time t\"\"\"\n", " return krotov.shapes.flattop(t,0.,5.,0.3,func='sinsq')" ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "attributes": { "classes": [], "id": "", "n": "8" } }, "outputs": [], "source": [ "opt_lambda = 2.\n", "pulse_options = { \n", " H[1][1]: krotov.PulseOptions(lambda_a=opt_lambda, shape=update_shape),\n", " H[2][1]: krotov.PulseOptions(lambda_a=opt_lambda, shape=update_shape),\n", " H[3][1]: krotov.PulseOptions(lambda_a=opt_lambda, shape=update_shape),\n", " H[4][1]: krotov.PulseOptions(lambda_a=opt_lambda, shape=update_shape)\n", "}" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We keep track of the fidelity during optimization by printing it after every\n", "iteration:" ] }, { "cell_type": "code", "execution_count": 9, "metadata": { "attributes": { "classes": [], "id": "", "n": "9" } }, "outputs": [], "source": [ "def print_fidelity(**args):\n", " F_re = np.average(np.array(args['tau_vals']).real)\n", " print(\"iter %d\" % args['iteration'])\n", " print(\" F = %f\" % F_re)\n", " return F_re" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Simulate dynamics of the guess field" ] }, { "cell_type": "code", "execution_count": 10, "metadata": { "attributes": { "classes": [], "id": "", "n": "10" } }, "outputs": [], "source": [ "def plot_pulse(pulse, tlist, label):\n", " fig, ax = plt.subplots()\n", " if callable(pulse):\n", " pulse = np.array([pulse(t, args=None) for t in tlist])\n", " ax.plot(tlist, pulse)\n", " ax.set_xlabel('time')\n", " ax.set_ylabel('%s pulse amplitude' % label)\n", " plt.show(fig)" ] }, { "cell_type": "code", "execution_count": 11, "metadata": { "attributes": { "classes": [], "id": "", "n": "11" } }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plot_pulse(H[1][1], tlist, 'Ωₚ')\n", "plot_pulse(H[3][1], tlist, 'Ωₛ')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The imaginary parts are zero:" ] }, { "cell_type": "code", "execution_count": 12, "metadata": { "attributes": { "classes": [], "id": "", "n": "12" } }, "outputs": [], "source": [ "assert np.all([H[2][1](t, None) == 0 for t in tlist])\n", "assert np.all([H[4][1](t, None) == 0 for t in tlist])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "After assuring ourselves that our guess pulses appear as expected, we propagate\n", "the system using our guess. Since the pulses are temporally disjoint, we expect\n", "the first pulse to have no effect, whilst the second merely transfers population\n", "out of $\\Ket{1}$ into $\\Ket{2}$ and back again." ] }, { "cell_type": "code", "execution_count": 13, "metadata": { "attributes": { "classes": [], "id": "", "n": "13" } }, "outputs": [], "source": [ "guess_dynamics = objective.mesolve(tlist, e_ops=[proj1,proj2,proj3])" ] }, { "cell_type": "code", "execution_count": 14, "metadata": { "attributes": { "classes": [], "id": "", "n": "14" } }, "outputs": [], "source": [ "def plot_population(result):\n", " fig, ax = plt.subplots()\n", " ax.plot(result.times, result.expect[0], label='1')\n", " ax.plot(result.times, result.expect[1], label='2')\n", " ax.plot(result.times, result.expect[2], label='3')\n", " ax.legend()\n", " ax.set_xlabel('time')\n", " ax.set_ylabel('population')\n", " plt.show(fig)" ] }, { "cell_type": "code", "execution_count": 15, "metadata": { "attributes": { "classes": [], "id": "", "n": "15" } }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plot_population(guess_dynamics)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Optimize\n", "We now supply Krotov with all the information it needs to optimize,\n", "consisting of the `objectives` (maximize population in $\\Ket{3}$ at $t_{1}$),\n", "`pulse_options` (the initial shapes of our pulses and how they may be changed)\n", "as well as the `propagator` to use, optimization functional (`chi_constructor`),\n", "`info_hook` (processing occuring inbetween iterations of optimization) and the\n", "maximum number of iterations to perform, `iter_stop`. We will stop the\n", "optimization when the error goes below $10^{-3}$ or the fidelity has converged\n", "to within 5 digits." ] }, { "cell_type": "code", "execution_count": 16, "metadata": { "attributes": { "classes": [], "id": "", "n": "16" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "iter 0\n", " F = -0.024948\n", "iter 1\n", " F = 0.374064\n", "iter 2\n", " F = 0.670285\n", "iter 3\n", " F = 0.842325\n", "iter 4\n", " F = 0.928357\n", "iter 5\n", " F = 0.968191\n", "iter 6\n", " F = 0.985995\n", "iter 7\n", " F = 0.993839\n", "iter 8\n", " F = 0.997279\n", "iter 9\n", " F = 0.998790\n", "iter 10\n", " F = 0.999456\n" ] } ], "source": [ "oct_result = krotov.optimize_pulses(\n", " [objective],\n", " pulse_options,\n", " tlist,\n", " propagator=krotov.propagators.expm,\n", " chi_constructor=krotov.functionals.chis_re,\n", " info_hook=krotov.info_hooks.chain(\n", " # krotov.info_hooks.print_debug_information,\n", " print_fidelity\n", " ),\n", " check_convergence=krotov.convergence.Or(\n", " krotov.convergence.value_below(\n", " 1e-3, spec=lambda r: 1 - r.info_vals[-1], name='J_T'\n", " ),\n", " krotov.convergence.delta_below(1e-5),\n", " krotov.convergence.check_monotonic_fidelity,\n", " ),\n", " iter_stop=15,\n", ")" ] }, { "cell_type": "code", "execution_count": 17, "metadata": { "attributes": { "classes": [], "id": "", "n": "17" } }, "outputs": [ { "data": { "text/plain": [ "Krotov Optimization Result\n", "--------------------------\n", "- Started at 2018-12-20 08:32:42\n", "- Number of objectives: 1\n", "- Number of iterations: 10\n", "- Reason for termination: Reached convergence: J_T < 0.001\n", "- Ended at 2018-12-20 08:33:08" ] }, "execution_count": 17, "metadata": {}, "output_type": "execute_result" } ], "source": [ "oct_result" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We appear to have found pulse-shapes that fulfill our objective, but what do\n", "they look like?" ] }, { "cell_type": "code", "execution_count": 18, "metadata": { "attributes": { "classes": [], "id": "", "n": "18" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "pump pulse amplitude and phase:\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "Stokes pulse amplitude and phase:\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "def plot_pulse_amplitude_and_phase(pulse_real, pulse_imaginary,tlist):\n", " ax1 = plt.subplot(211)\n", " ax2 = plt.subplot(212)\n", " amplitudes = [np.sqrt(x*x + y*y) for x,y in zip(pulse_real,pulse_imaginary)]\n", " phases = [np.arctan2(y,x)/np.pi for x,y in zip(pulse_real,pulse_imaginary)]\n", " ax1.plot(tlist,amplitudes)\n", " ax1.set_xlabel('time')\n", " ax1.set_ylabel('pulse amplitude')\n", " ax2.plot(tlist,phases)\n", " ax2.set_xlabel('time')\n", " ax2.set_ylabel('pulse phase (π)') \n", " plt.show()\n", " \n", "print(\"pump pulse amplitude and phase:\")\n", "plot_pulse_amplitude_and_phase(\n", " oct_result.optimized_controls[0], oct_result.optimized_controls[1], tlist)\n", "print(\"Stokes pulse amplitude and phase:\")\n", "plot_pulse_amplitude_and_phase(\n", " oct_result.optimized_controls[2], oct_result.optimized_controls[3], tlist)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "And how does the population end up in $\\Ket{3}$?" ] }, { "cell_type": "code", "execution_count": 19, "metadata": { "attributes": { "classes": [], "id": "", "n": "19" } }, "outputs": [], "source": [ "opt_dynamics = oct_result.optimized_objectives[0].mesolve(\n", " tlist, e_ops=[proj1, proj2, proj3])" ] }, { "cell_type": "code", "execution_count": 20, "metadata": { "attributes": { "classes": [], "id": "", "n": "20" } }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plot_population(opt_dynamics)" ] } ], "metadata": { "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.6.7" } }, "nbformat": 4, "nbformat_minor": 2 }