{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Learn simulation basics through the dynamics of a single qubit\n",
    "**Simulate and visualize quantum system dynamics in Boulder Opal**\n",
    "\n",
    "In this tutorial you will simulate an ideal single qubit, visualize the qubit's dynamics on an interactive Bloch sphere, and implement a basic quantum gate.\n",
    "You will carry out simulations in two different cases: for a constant Hamiltonian and a time-dependent one.\n",
    "Through this tutorial you will get introduced to a few key important concepts in Boulder Opal, such as [creating *graphs*](https://docs.q-ctrl.com/boulder-opal/toolkit/design/calculate-with-graphs/get-an-introduction-to-graphs-in-boulder-opal) representing the quantum dynamics calculation and making quick and easy visual representations of data with the [Q-CTRL Visualizer package](https://docs.q-ctrl.com/references/qctrl-visualizer/)."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Simulating single-qubit dynamics with a constant Hamiltonian\n",
    "\n",
    "Your first task will be to simulate and visualize dynamics of a single qubit.\n",
    "In particular, the system is described by a constant Hamiltonian of the form\n",
    "$$\n",
    "H(t) = \\frac{1}{2}\\Big(\\Omega \\sigma_- + \\mathrm{H. c.} \\Big) + \\delta \\sigma_z  ,\n",
    "$$\n",
    "where $\\Omega$ is the Rabi drive,\n",
    "$\\delta$ is the detuning,\n",
    "H.c. represents the Hermitian conjugate,\n",
    "$\\sigma_- = \\left(\\begin{smallmatrix} 0 & 1 \\\\ 0 & 0 \\end{smallmatrix}\\right)$, and\n",
    "$\\sigma_z = \\left(\\begin{smallmatrix} 1 & 0 \\\\ 0 & -1 \\end{smallmatrix}\\right)$.\n",
    "(Note that Boulder Opal uses $\\hbar = 1$, so Hamiltonians should be defined with angular velocity units.)\n",
    "\n",
    "To achieve that, you will create a computational graph that solves the Schrödinger equation,\n",
    "$$i \\frac{\\mathrm{d} U(t)}{\\mathrm{d} t} = H(t)U(t)  ,$$\n",
    "to obtain the unitary time-evolution operators $U(t)=\\mathcal{T} \\exp(-i \\int_0^t H(s) \\mathrm{d}s)$, and calculate the evolution of the qubit's state, $|\\psi(t)\\rangle = U(t)|\\psi(0)\\rangle$, from its initial state $|\\psi(0)\\rangle = |0\\rangle$.\n",
    "\n",
    "You will execute the graph to carry out the computation, and extract the values of the unitaries and qubit state at intermediate times. You will also visualize the time-dependent dynamics of the qubit both from their populations and on the Bloch sphere."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 1. Import libraries and start a Boulder Opal session\n",
    "\n",
    "Before doing any calculation with Boulder Opal, you always need to import the necessary libraries and start a session.\n",
    "\n",
    "In this case, import the `numpy`, `qctrlvisualizer`, and `boulderopal` packages.\n",
    "To learn more about installing Boulder Opal, see the [Get started](https://docs.q-ctrl.com/boulder-opal/toolkit/get-started-with-boulder-opal-toolkit) guide."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "# Import packages.\n",
    "import numpy as np\n",
    "import qctrlvisualizer\n",
    "import boulderopal as bo"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 2. Create the graph defining the simulation\n",
    "\n",
    "The relationships between inputs and outputs of a quantum system calculation in Boulder Opal are represented by a graph.\n",
    "To find step-by-step instructions and examples on how to perform computations in Boulder Opal using graphs, see [this user guide](https://docs.q-ctrl.com/boulder-opal/toolkit/design/calculate-with-graphs/get-an-introduction-to-graphs-in-boulder-opal).\n",
    "\n",
    "To perform the qubit simulation you will create a graph that represents the calculation, containing nodes that connect the graph inputs (the parameters and operators defined above) with its outputs (the unitaries and evolved states)."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### Create the graph object\n",
    "\n",
    "Start by creating the graph object that will define the calculation.\n",
    "You can do this by creating a `boulderopal.Graph` instance."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "graph = bo.Graph()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### Create signals for the Hamiltonian terms\n",
    "\n",
    "Most simulations in Boulder Opal start by defining the time-dependent coefficients for the different Hamiltonian terms, in this case, $\\Omega$ and $\\delta$.\n",
    "As they are constant, we create piecewise-constant (PWC) coefficients with a single segment with the `graph.constant_pwc` graph operation."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [],
   "source": [
    "# (Constant) Hamiltonian parameters.\n",
    "omega = 2 * np.pi * 1.0e6  # rad/s\n",
    "delta = 2 * np.pi * 0.4e6  # rad/s\n",
    "\n",
    "# Total duration of the simulation.\n",
    "duration = 2e-6  # s\n",
    "\n",
    "# Hamiltonian term coefficients.\n",
    "omega_signal = graph.constant_pwc(constant=omega, duration=duration)\n",
    "delta_signal = graph.constant_pwc(constant=delta, duration=duration)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### Construct the Hamiltonian\n",
    "\n",
    "By multiplying each signal by its corresponding operator and adding the two terms, you can now construct the full Hamiltonian of the system.\n",
    "You can use `graph.pauli_matrix` to generate the basic operators and `graph.hermitian_part` to obtain the Hermitian part of $\\Omega(t) \\sigma_-$."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [],
   "source": [
    "# Total Hamiltonian, [Ω σ- + H.c.]/2 + δ σz.\n",
    "hamiltonian = graph.hermitian_part(\n",
    "    omega_signal * graph.pauli_matrix(\"M\")\n",
    ") + delta_signal * graph.pauli_matrix(\"Z\")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "And with that you have now encoded the full Hamiltonian of your system in Boulder Opal, including the time-dependent control signals.\n",
    "Every other simulation you will perform will involve some variation of this step."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### Solve Schrödinger's equation\n",
    "\n",
    "You can now use the `graph.time_evolution_operators_pwc` graph node to solve the Schrödinger's equation with a given time-dependent `hamiltonian` $H(t)$.\n",
    "This node returns the unitary evolution operators $U(t)$ at the requested `sample_times`.\n",
    "\n",
    "Assign a `name` to the node, so that you can extract its value later."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [],
   "source": [
    "# Times at which to sample the simulation.\n",
    "sample_times = np.linspace(0.0, duration, 100)\n",
    "\n",
    "# Time-evolution operators, U(t).\n",
    "unitaries = graph.time_evolution_operators_pwc(\n",
    "    hamiltonian=hamiltonian, sample_times=sample_times, name=\"unitaries\"\n",
    ")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "You've now created a graph node containing the time-evolution operator whose generator is the Hamiltonian previously encoded."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### Calculate evolved states\n",
    "\n",
    "Now that you have a node representing the unitary time evolution, you can calculate the state of the qubit at different times,\n",
    "$$ |\\psi(t) \\rangle = U(t) |\\psi(0) \\rangle  , $$\n",
    "by performing the matrix multiplication (with the Python operator `@`) of the unitaries with the initial state of the qubit.\n",
    "\n",
    "Again, assign a `name` to the node."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [],
   "source": [
    "# Initial state of the qubit, |0⟩.\n",
    "initial_state = graph.fock_state(2, 0)[:, None]\n",
    "\n",
    "# Evolved states, |ψ(t)⟩ = U(t) |0⟩\n",
    "evolved_states = unitaries @ initial_state\n",
    "evolved_states.name = \"states\""
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "This graph node you've just created represents the time-dependent state of the qubit during the simulation."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 3. Execute the graph\n",
    "\n",
    "You now have a graph that relates the system's parameters and operators with some outputs.\n",
    "You can execute it with the `boulderopal.execute_graph` function to evaluate the graph and get the outputs as concrete arrays of data.\n",
    "Pass to it the `output_node_names` of the nodes you want to retrieve, in this case, the `unitaries` and the evolved `states`."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Your task (action_id=\"1828684\") is queued.\n",
      "Your task (action_id=\"1828684\") has started.\n",
      "Your task (action_id=\"1828684\") has completed.\n"
     ]
    }
   ],
   "source": [
    "result = bo.execute_graph(graph=graph, output_node_names=[\"unitaries\", \"states\"])"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 4. Extract the calculation outputs\n",
    "\n",
    "After a graph is complete all of the output data is stored in the dictionary returned by `boulderopal.execute_graph`.\n",
    "In particular, `result[\"output\"]` is a dictionary containing the values of the nodes you have requested when calculating the graph.\n",
    "\n",
    "You can extract the final unitary matrix and state vector values by accessing this dictionary. "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Shape of calculated unitaries: (100, 2, 2)\n",
      "Shape of calculated evolved states: (100, 2, 1)\n"
     ]
    }
   ],
   "source": [
    "unitaries = result[\"output\"][\"unitaries\"][\"value\"]\n",
    "print(f\"Shape of calculated unitaries: {unitaries.shape}\")\n",
    "\n",
    "states = result[\"output\"][\"states\"][\"value\"]\n",
    "print(f\"Shape of calculated evolved states: {states.shape}\")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "You can print the final state and final unitary to see that the Rabi coupling has transferred some population between the two computational basis states."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Final unitary:\n",
      "[[-0.191-0.613j -0.   -0.766j]\n",
      " [ 0.   -0.766j -0.191+0.613j]]\n",
      "\n",
      "Final state:\n",
      "[[-0.191-0.613j]\n",
      " [ 0.   -0.766j]]\n"
     ]
    }
   ],
   "source": [
    "print(f\"Final unitary:\\n{np.round(unitaries[-1], 3)}\")\n",
    "print()\n",
    "print(f\"Final state:\\n{np.round(states[-1], 3)}\")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 5. Visualize the simulation results\n",
    "\n",
    "You can now analyze the results of the simulation by visualizing relevant observables.\n",
    "\n",
    "#### Plotting the qubit populations\n",
    "\n",
    "Start by calculating the time evolution of the computational basis populations from the array containing the state of the qubit at the sample times you specified above."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [],
   "source": [
    "# Calculate qubit populations |⟨ψ|0⟩|².\n",
    "qubit_populations = np.abs(states.squeeze()) ** 2"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "You can now plot them with the `plot_population_dynamics` function from the [Q-CTRL Visualizer](https://docs.q-ctrl.com/references/qctrl-visualizer/) package."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 720x360 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Plot populations.\n",
    "qctrlvisualizer.plot_population_dynamics(\n",
    "    sample_times, {rf\"$|{k}\\rangle$\": qubit_populations[:, k] for k in [0, 1]}\n",
    ")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "In this case, you can see that the qubit's state performs incomplete Rabi oscillations due to the presence of the detuning $\\delta$ in the coupling."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### Visualizing the dynamics on the Bloch sphere\n",
    "\n",
    "Another way to visualize these dynamics is to see the trajectory they trace on the Bloch sphere.\n",
    "You can easily do this with the `display_bloch_sphere` function from the [Q-CTRL Visualizer](https://docs.q-ctrl.com/references/qctrl-visualizer/) package, which creates a fully interactive visualization that you can manipulate while watching the time evolution."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "\n",
       "    <div\n",
       "        class=\"qctrlvisualizer\"\n",
       "        style=\"display:flex;flex-direction:column;align-items:center;\"\n",
       "    >\n",
       "        <div\n",
       "            class=\"qctrlvisualizer-wrapper\"\n",
       "            style=\"width:300px;height:300px;margin:0.5rem 0\"\n",
       "            id=\"qctrlvisualizer-wrapper-03bba2e04372465fbd18a4a6455f25fd\"\n",
       "        ></div>\n",
       "        <input\n",
       "            class=\"qctrlvisualizer-progress-bar\"\n",
       "            style=\"margin:0.5rem 0\"\n",
       "            id=\"qctrlvisualizer-progress-bar-03bba2e04372465fbd18a4a6455f25fd\"\n",
       "            type=\"range\"\n",
       "            min=\"0\"\n",
       "            max=\"1\"\n",
       "            step=\"0.01\"\n",
       "            value=\"0\"\n",
       "        >\n",
       "        <button\n",
       "            class=\"qctrlvisualizer-button qctrlvisualizer-button-play\"\n",
       "            style=\"margin:0.5rem 0\"\n",
       "            id=\"qctrlvisualizer-button-03bba2e04372465fbd18a4a6455f25fd\"\n",
       "        >Play</button>\n",
       "    </div>\n",
       "    "
      ],
      "text/plain": [
       "<IPython.core.display.HTML object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/javascript": "\n    function visualizerLoader() {\n      if ((typeof Visualizer) == \"function\") {\n        console.log(\"Using preloaded Q-CTRL Visualizer JavaScript package.\");\n        displayBlochSphere();\n        return;\n      }\n\n      try {\n        console.log(\"Attempting to load https://cdn.jsdelivr.net/npm/@qctrl/visualizer@3.1.14/umd/visualizer.min.js with require.js.\");\n        requirejs([\"https://cdn.jsdelivr.net/npm/@qctrl/visualizer@3.1.14/umd/visualizer.min.js\"], displayBlochSphere, displayErrorMessage);\n      } catch(error) {\n        var existing_script = document.getElementById(\"qctrlvisualizer-script\");\n\n        if (existing_script !== null) {\n          console.log(\n            \"Script tag for the Q-CTRL Visualizer JavaScript package already exists.\"\n            + \" Delaying execution of function until script is loaded.\"\n          );\n          existing_script.addEventListener(\"load\", displayBlochSphere);\n          existing_script.addEventListener(\"error\", displayErrorMessage);\n          return;\n        }\n\n        console.log(\"Attempting to load https://cdn.jsdelivr.net/npm/@qctrl/visualizer@3.1.14/umd/visualizer.min.js with script tag.\");\n        var script = document.createElement(\"script\");\n        script.onload = displayBlochSphere;\n        script.onerror = displayErrorMessage;\n        script.id = \"qctrlvisualizer-script\";\n        script.src = \"https://cdn.jsdelivr.net/npm/@qctrl/visualizer@3.1.14/umd/visualizer.min.js\";\n        document.head.appendChild(script);\n      }\n    }\n\n    function displayBlochSphere() { \n    let isPlaying = false;\n    let progress = 0;\n\n    const visualizationData = {\"data\": {\"qubits\": [{\"name\": \"qubit1\", \"x\": [0.0, 0.006430619526280447, 0.025552931348405705, 0.05686276538803276, 0.09953462096158826, 0.1524434315516091, 0.2141942277930763, 0.2831589165940872, 0.3575192066894886, 0.43531454887206433, 0.5144938269311933, 0.5929694364394638, 0.668672325570829, 0.7396065467694081, 0.8039018809847254, 0.859863147007, 0.9060148958352392, 0.9411403116869772, 0.9643132940035296, 0.974922874591372, 0.9726893261285195, 0.9576715373264406, 0.9302654602973747, 0.8911936710630586, 0.8414863184476763, 0.7824539636477743, 0.7156530265785325, 0.6428447500221455, 0.5659487635106955, 0.4869924712568316, 0.40805759854678403, 0.3312253059289424, 0.25852131829205216, 0.19186251553451134, 0.1330063929906253, 0.08350472411696948, 0.04466264714715723, 0.017504254417462315, 0.0027455916193038802, 0.000775778867885417, 0.011646751340210716, 0.035071889976094124, 0.07043357834447268, 0.11679948643416029, 0.1729471520381046, 0.2373962116296751, 0.30844743094652627, 0.3842275062196078, 0.4627384548387277, 0.5419102932430959, 0.6196556131558179, 0.6939246172304302, 0.7627591630649564, 0.8243443906838381, 0.8770565723013238, 0.9195059227814473, 0.9505732420736986, 0.969439423526791, 0.9756070500778865, 0.9689135089220909, 0.9495352788868755, 0.9179832774724819, 0.8750893902361031, 0.821984537679904, 0.760068857921214, 0.6909747912949148, 0.6165240401823954, 0.5386795388444414, 0.4594936995993546, 0.3810542998637589, 0.3054294367734873, 0.2346130006857091, 0.17047210518284447, 0.11469785961461278, 0.06876078208673476, 0.033872028456907954, 0.010951459556523813, 0.0006033885630722515, 0.0031006479568514668, 0.018377396145280212, 0.046030853412043986, 0.0853319214218412, 0.13524440629174692, 0.1944523384025412, 0.2613946686484215, 0.33430642633973023, 0.4112652536083754, 0.4902420894112098, 0.5691546668202383, 0.6459224131147224, 0.718521305204593, 0.7850372340923055, 0.843716471390292, 0.8930119073170154, 0.9316238410818847, 0.9585342481985151, 0.9730336212501027, 0.9747396764356435, 0.9636074326888026, 0.93993039762802], \"y\": [0.0, -0.12637476841820008, -0.2494175978173812, -0.3658843975502003, -0.47270445754290374, -0.5670614092247825, -0.646467480606541, -0.7088290877323349, -0.7525020331514232, -0.7763348560719191, -0.7796991912464231, -0.7625063361611238, -0.7252095897254799, -0.6687923008016644, -0.5947419416807476, -0.5050108900724231, -0.40196495361229373, -0.28832099406588774, -0.16707529580094757, -0.04142456713190681, 0.08531834262122479, 0.20981178819431592, 0.32877343266118153, 0.43906678801929433, 0.5377839103898571, 0.6223220695286221, 0.6904523712144081, 0.7403785232489719, 0.7707841956709172, 0.7808677265060198, 0.7703632580181237, 0.7395477461919314, 0.6892336586388973, 0.6207475534498694, 0.535895103774608, 0.43691349027402565, 0.3264124166438519, 0.20730530336730696, 0.08273247381064795, -0.044021642098342494, -0.16961510363918111, -0.29073657137062203, -0.4041926123833372, -0.5069918968832129, -0.5964240662168597, -0.6701311929412592, -0.726169948854218, -0.7630628418919264, -0.7798371710051524, -0.7760506719477195, -0.7518031778122047, -0.707733986876539, -0.6450050071596479, -0.5652701220890395, -0.47063158497104407, -0.3635845919470513, -0.24695149479969764, -0.12380738812388252, 0.002600967202959436, 0.12894074662482283, 0.2518809336264719, 0.36818014378280994, 0.4747720856097739, 0.5688464049952907, 0.6479227817031978, 0.7099163243557799, 0.7531925397209085, 0.7766104270088271, 0.779552560974178, 0.7619413706660423, 0.7242411846279537, 0.6674459886250842, 0.5930532186727361, 0.5030242803270932, 0.3997328351684655, 0.2859022179318066, 0.1645336343156659, 0.03882703257312827, -0.08790326485203834, -0.21231594522654273, -0.3311308010422763, -0.44121521445877593, -0.5396667504643737, -0.6238896811427662, -0.6916634234413729, -0.741201086042755, -0.7711965817192286, -0.780859063027984, -0.7699337734310175, -0.7387087640888411, -0.6880072992360686, -0.6191661503752631, -0.5340003515743365, -0.4347553451131229, -0.3240477791850083, -0.2047965185541664, -0.08014568710969679, 0.046618228658716857, 0.17215302965201026, 0.29314892304595047], \"z\": [1.0, 0.9919617255921492, 0.9680588358144924, 0.9289215432649582, 0.8755817237980136, 0.8094457105604873, 0.732257215258653, 0.6460513542573891, 0.5531009916381371, 0.45585681390991717, 0.35688271633600593, 0.2587882044506678, 0.1641595930364611, 0.07549181653823678, -0.004877351230910099, -0.07482893375875366, -0.13251861979405333, -0.1764253896087261, -0.2053916175044168, -0.21865359323921968, -0.21586165766065435, -0.19708942165805565, -0.16283182537172392, -0.11399208882882866, -0.05185789805960117, 0.02193254544027584, 0.10543371677682772, 0.19644406247231144, 0.29256404561162364, 0.39125941092895333, 0.4899280018165127, 0.5859683675888144, 0.6768483521349271, 0.7601718555818526, 0.8337420087617099, 0.8956190948537796, 0.9441716910660446, 0.9781196819781628, 0.9965680104758606, 0.9990302764151333, 0.9854415608247266, 0.9561601375298717, 0.9119580270693983, 0.8540006419572888, 0.783816059952358, 0.7032547354628946, 0.6144407113168306, 0.5197156172254782, 0.42157693145157793, 0.3226121334461175, 0.22543048355521478, 0.13259422846194896, 0.0465510461687908, -0.030430488354811824, -0.09632071537666925, -0.1493824034768237, -0.1882165525921385, -0.21179927940850418, -0.21950881259737404, -0.21114188615262947, -0.18691909860861056, -0.14747909684061855, -0.09386173779514573, -0.02748067209989702, 0.04991392759846508, 0.13628151088133905, 0.22934494977198783, 0.3266505764444302, 0.42563287550078865, 0.523682125170283, 0.6182132040331224, 0.7067337491428446, 0.7869098685214252, 0.8566276754817144, 0.9140490223915616, 0.9576599644288447, 0.9863106755543243, 0.9992457642961383, 0.9961241900539137, 0.9770282548183773, 0.9424614332349222, 0.8933350982226751, 0.8309444921352926, 0.7569345769967993, 0.6732566641894486, 0.5821169670753122, 0.48591843298950527, 0.387197388235962, 0.28855666647467587, 0.19259698360657052, 0.10184836849423196, 0.018703457384591005, -0.05464558923789259, -0.11626488414629732, -0.16452980135238426, -0.19816781024817248, -0.21629202656265717, -0.2184245955445836, -0.20450929086103292, -0.17491299703505475]}]}};\n    const themeSettings = {\"highlightColor\": \"#EB6467\", \"pathColor\": \"#EB6467\"};\n    const labels = {\"xAxis\": true, \"yAxis\": true, \"zAxis\": true, \"theta\": true, \"phi\": true, \"northPole\": true, \"southPole\": true, \"nonErrorState\": false};\n\n    const wrapper = document.getElementById(\"qctrlvisualizer-wrapper-03bba2e04372465fbd18a4a6455f25fd\");\n    const progressBar = document.getElementById(\"qctrlvisualizer-progress-bar-03bba2e04372465fbd18a4a6455f25fd\");\n    const button = document.getElementById(\"qctrlvisualizer-button-03bba2e04372465fbd18a4a6455f25fd\");\n\n    function updateButton () {\n      button.classList.remove(...[\n        \"qctrlvisualizer-button-play\",\n        \"qctrlvisualizer-button-pause\",\n        \"qctrlvisualizer-button-replay\"\n      ]);\n      if (isPlaying) {\n        button.classList.add(\"qctrlvisualizer-button-pause\");\n        button.innerHTML = \"Pause\";\n        return;\n      }\n      if (progress>=1) {\n        button.classList.add(\"qctrlvisualizer-button-replay\");\n        button.innerHTML = \"Replay\";\n        return;\n      }\n      button.classList.add(\"qctrlvisualizer-button-play\");\n      button.innerHTML = \"Play\";\n    }\n\n    button.onclick = () => {\n      isPlaying = !isPlaying;\n      if (progress >= 1) progress = 0;\n      updateButton();\n      visualizer.update({ isPlaying, progress });\n    };\n\n    progressBar.oninput = ({ target }) => {\n      progress = +target.value;\n      visualizer.update({ progress });\n      updateButton();\n    };\n\n    const onUpdate = ({ target, data }) => {\n      progress = data.progress;\n      progressBar.value = progress;\n      if (progress >= 1) {\n        isPlaying = false;\n        target.update({ isPlaying });\n        updateButton();\n      }\n    };\n\n    const visualizer = new Visualizer({\n      visualizationData,\n      wrapper,\n      onUpdate,\n      labels,\n    }).init();\n\n    visualizer.update({ themeSettings });\n     }\n\n    function displayErrorMessage() {\n      console.log(\"Failed to load https://cdn.jsdelivr.net/npm/@qctrl/visualizer@3.1.14/umd/visualizer.min.js.\");\n      const wrapper = document.getElementById(\"qctrlvisualizer-wrapper-03bba2e04372465fbd18a4a6455f25fd\");\n      wrapper.innerHTML = \"Could not load JavaScript at https://cdn.jsdelivr.net/npm/@qctrl/visualizer@3.1.14/umd/visualizer.min.js.\";\n    }\n\n    visualizerLoader();\n    ",
      "text/plain": [
       "<IPython.core.display.Javascript object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "qctrlvisualizer.display_bloch_sphere(states.squeeze())"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Simulating a $\\pi/2$ gate in a single qubit with a time-dependent Hamiltonian\n",
    "\n",
    "The next simulation you will perform will implement a $\\pi/2$ gate for a qubit,\n",
    "$$\n",
    "U_{\\pi/2} = \\frac{1}{\\sqrt{2}} \\left( \\begin{array}{cc} 1 & -1 \\\\ 1 & 1 \\end{array} \\right)  ,\n",
    "$$\n",
    "by applying a Gaussian pulse for the time-dependent Rabi drive,\n",
    "$$\n",
    "\\Omega(t) = \\Omega_\\mathrm{max} \\exp(- a (t-t_0)^2)  .\n",
    "$$\n",
    "Assuming the system is in resonance ($\\delta = 0$), so the Hamiltonian describing the single-qubit dynamics simplifies to\n",
    "$$\n",
    "H(t) = \\frac{1}{2}\\Big(\\Omega(t) \\sigma_- + \\mathrm{H. c.} \\Big)  .\n",
    "$$\n",
    "\n",
    "Assuming the driving field is purely imaginary (or more generally applied with a fixed phase),\n",
    "$\\Omega(t) = -i \\omega(t)$ with real $\\omega(t)$,\n",
    "then one can show that the resulting unitary will also be a $\\pi/2$ gate as long as the integral of the Rabi rate is equal to $\\pi/2$, that is,\n",
    "$$\n",
    "\\int_0^T |\\Omega(t)| \\mathrm{d}t = \\frac{\\pi}{2}  .\n",
    "$$\n",
    "\n",
    "Many experiments require the inputs to be discretized in the time domain over constantly spaced segments.\n",
    "A piecewise-constant (PWC) description of the pulse is better suited to describe the control in that case.\n",
    "In particular, the PWC control pulse takes discrete values $\\{\\Omega_n\\}$ at $N$ different segments:\n",
    "$$\n",
    "\\Omega(t) = \\Omega_n \\quad \\mathrm{for} \\ t \\in \\left[ \\frac{(n-1)T}{N}, \\frac{nT}{N} \\right)  .\n",
    "$$\n",
    "\n",
    "Under this discretization, the above integral becomes a sum and the equation can be solved to obtain the precise duration of the pulse to implement a $\\pi/2$ pulse:\n",
    "$$\n",
    "T = \\frac{\\pi N}{2 \\sum_{n=1}^{N} |\\Omega_n|}  .\n",
    "$$\n",
    "\n",
    "In what follows, you will learn how to use a Boulder Opal to simulate this PWC pulse in a qubit and verify that this digitized Gaussian pulse implements a $\\pi/2$ gate."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 1. Define the time-dependent signal\n",
    "\n",
    "Start by defining the values and duration of the Gaussian pulse to use in the simulation.\n",
    "In this case, you can use NumPy to create the values of a Gaussian function at the different PWC segments, and calculate its duration so that it implements a $\\pi/2$ gate."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [],
   "source": [
    "# Gaussian pulse parameters.\n",
    "omega_max = 2.0 * np.pi * 1e6  # Hz\n",
    "segment_count = 50\n",
    "times = np.linspace(-3, 3, segment_count)\n",
    "omega_values = -1j * omega_max * np.exp(-(times**2))\n",
    "\n",
    "# Total duration of the pulse to achieve a π/2 gate.\n",
    "pulse_duration = 0.5 * segment_count * np.pi / np.sum(np.abs(omega_values))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "You can use the `plot_controls` function in the [Q-CTRL Visualizer](https://docs.q-ctrl.com/references/qctrl-visualizer/) to represent the real and imaginary parts of the Gaussian pulse that you just defined."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 720x360 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Plot Gaussian pulse.\n",
    "qctrlvisualizer.plot_controls(\n",
    "    {\n",
    "        \"$\\\\Omega$\": {\n",
    "            \"values\": omega_values,\n",
    "            \"durations\": np.repeat(pulse_duration / segment_count, segment_count),\n",
    "        }\n",
    "    },\n",
    "    polar=False,\n",
    ")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 2. Create the graph defining the simulation\n",
    "\n",
    "The graph in this example is very similar to the previous case, so you can follow roughly the same steps as before."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### Create the graph object"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [],
   "source": [
    "graph = bo.Graph()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### Create signals for the Hamiltonian terms\n",
    "\n",
    "Create the signal $\\Omega(t)$ for the Rabi drive in the Hamiltonian using the `omega_values` you defined above.\n",
    "You can use the `graph.pwc_signal` operation that will create equally long segments out of the total `pulse_duration`."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [],
   "source": [
    "# Times at which to sample the simulation.\n",
    "sample_times = np.linspace(0.0, pulse_duration, 100)\n",
    "\n",
    "# Time-dependent Hamiltonian term coefficient.\n",
    "omega_signal = graph.pwc_signal(values=omega_values, duration=pulse_duration)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### Construct the Hamiltonian and solve Schrödinger's equation\n",
    "\n",
    "Construct the rest of the graph in the same way you did in the previous example.\n",
    "Remember to assign a `name` to the nodes whose values want to extract out of the graph."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [],
   "source": [
    "# Total Hamiltonian, [Ω σ- + H.c.]/2\n",
    "hamiltonian = graph.hermitian_part(omega_signal * graph.pauli_matrix(\"M\"))\n",
    "\n",
    "# Time-evolution operators, U(t).\n",
    "unitaries = graph.time_evolution_operators_pwc(\n",
    "    hamiltonian=hamiltonian, sample_times=sample_times, name=\"unitaries\"\n",
    ")\n",
    "\n",
    "# Initial state of the qubit, |0⟩.\n",
    "initial_state = graph.fock_state(2, 0)[:, None]\n",
    "\n",
    "# Evolved states, |ψ(t)⟩ = U(t) |0⟩\n",
    "evolved_states = unitaries @ initial_state\n",
    "evolved_states.name = \"states\""
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 3. Execute the graph and retrieve the results\n",
    "\n",
    "Use the `boulderopal.execute_graph` function to evaluate the graph and retrieve the arrays with the values that you requested."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Your task (action_id=\"1828691\") is queued.\n",
      "Your task (action_id=\"1828691\") has started.\n",
      "Your task (action_id=\"1828691\") has completed.\n"
     ]
    }
   ],
   "source": [
    "# Execute the graph.\n",
    "result = bo.execute_graph(graph=graph, output_node_names=[\"unitaries\", \"states\"])\n",
    "\n",
    "# Retrieve values of the calculation\n",
    "unitaries = result[\"output\"][\"unitaries\"][\"value\"]\n",
    "states = result[\"output\"][\"states\"][\"value\"]"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 4. Analyze the results\n",
    "\n",
    "#### Final unitary and state\n",
    "\n",
    "You can now check that the final unitary correctly implements the expected unitary gate, \n",
    "$$ U_{\\pi/2} = \\frac{1}{\\sqrt{2}} \\left( \\begin{array}{cc} 1 & -1 \\\\ 1 & 1 \\end{array} \\right)  ,$$\n",
    "and that the qubit has reached the expected final state\n",
    "$$ |\\psi(T) \\rangle = \\frac{1}{\\sqrt{2}} (|0\\rangle + |1 \\rangle)  .$$\n",
    "(Remember that $1/\\sqrt{2} \\simeq 0.7071$.)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Unitary gate implemented by the Gaussian pulse:\n",
      "[[ 0.70710678+0.j -0.70710678+0.j]\n",
      " [ 0.70710678+0.j  0.70710678+0.j]]\n",
      "\n",
      "Final state after the gate:\n",
      "[[0.70710678+0.j]\n",
      " [0.70710678+0.j]]\n"
     ]
    }
   ],
   "source": [
    "print(\"Unitary gate implemented by the Gaussian pulse:\")\n",
    "print(unitaries[-1])\n",
    "print()\n",
    "print(\"Final state after the gate:\")\n",
    "print(states[-1])"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### Population dynamics\n",
    "\n",
    "You can again represent the qubit populations to visualize the intermediate dynamics reaching the target state."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAnMAAAFUCAYAAABP8bodAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8pXeV/AAAACXBIWXMAAAsTAAALEwEAmpwYAABJt0lEQVR4nO3dd3wUdf7H8dfM1mTTISEhoUuvUgVUlLOBnF0sWM772e6sp56994Z6NizYKwh2EHtBRGlKkd4hJBDS2262zO+PYDRSJJBkd5P38/HYx+5+5zuzn82y4Z2Z+X7HsCzLQkRERESikhnuAkRERERk3ynMiYiIiEQxhTkRERGRKKYwJyIiIhLFFOZEREREopjCnIiIiEgUs4e7gHBZtSkPh90W7jJERERE/pI/EKRzm9RdLmu2Yc5ht9E+IyXcZYiIiIj8pfU5BbtdpsOsIiIiIlFMYU5EREQkiinMiYiIiEQxhTkRERGRKKYwJyIiIhLFmu1oVhEREQkPy7IoKqukrMJHKGRhhbugMDIA0zSIi3WRFBeDYRh13obCnIiIiDSqbYVlGEB6iwTsNnOfAkxTYVkWgWCIwpIKthWW0Solvs7biNgw9+3nM/lp5lxyNuXQ/6D+nH3RGbvt+9Un3/LFtK/w+6roN7gvY/9xCg5HxL41ERGRZs3r89MmPRmzGYe43xiGgcNuo2VyHJtyC/dpGxF7zlxiUiJHH3ckBx06ZI/9li1azhcff8ll1/+LOx67he3b8pn+7oxGqlJERETqygIFuT8xDWOfDzdH7O6rfoP6ALBp3SaqCop32++n7+dy0IghZGSlA3DMCUfyyoQ3OP60MY1S5+7MmezliycqwlpDc7S/vxt2uf4u2v7Y77fHhvH7k+rH1fd/fIwBhrmj3TQwTDB/a6u5GZgmGDYwbWDaDEwb2Oxg2g1Me/Vjm6P6sd1pYHeA3WVgd+147jJwxIDDZeCIMXC6DZyx4PIYuOJN3J7q5c350IaISFMRsWFub+VszqV3/141zzPbtqa0uJTy0nI88Z5afWd9NZtZ38wGYPS4U6ABL+dVmhdi0y+BBtu+yP4yTHDHG8QkGMQkmsQmGsQmVT+Oa2EQn2rWuiWmmyS0MjFtCoAiIpEk6sNcla+KmFh3zfOYmBgAvF7fTmFu+MihDB85FNjzNc7qw6BT3RwwzNGgryF/sp/Doaxdrb+Ltt/6Wdbvy6sfWzWPf1tm7dhGrTYLrFD1wlAIrOBvbdW3kGVV3wcgFIRQ0Kp5HAxUPw76Iei3CAUhUGURrAJ/lUXABwGfRaDKwl8JVV6LgNeiqtLCX2nhLbfwlVXf/F6oLLaoLLZgU2ivfkamDRLTTZJamyRn2khpY5J2gJ3UjjbSOtlIyjQxTYU9EZHGFPVhzuly4q301Tz3VnoBcLtd4SoJgIQ0k4S0iD0lUYSg38JbZuEtsagoClFRbFFZVP24LD9EaV6IkrwQpXkWpdtCFOcGKc2zKMwOUZgdYt3cnfc8212Q1slG6552MnvYyexpp3VPOyltmvdoNRGRhhT1YS4jK53sjVvoP6QfAJs3biE+MX6nvXIiUpvNYeBJNvAkQ4t2tr1ax++zKM4JUZgdpGhLiO3rg+StCbJtbfV9ybYQW5YG2bI0yDx+/yMrJsmgw0AHHYc46DjYQfuBdmIS9MeOiESfVctW8/pzb3HHo7fs9To/fjeHdp3akpGZ3iA1RWyYCwaDhIIhQqEQlhXCX+XHtJnYbLX/0xl88EBef+5tBg7rT2JSIp9+8DlDDhkUpqpFmjaHy6Blexst2+86/FWWhNi6Mkj2rwGylwbIXhJgy68ByvItln5RxdIvqoDqASCte9rpNsJBt5FOOg934vJoz52IRKfvvpjFl9O+pqS4hIzMdE466wQO6NqxZvnGdZvYuG4TY889uUFeP2LD3KcffM4n731W83zurPmMOvEoDjp0CPdc/wA33X8dKS2T6dGnO0ccezhP3Ps0/io/fQf1YfRJx4SxcpHmKybBpP1Ak/YDfz9f1LKqD82um+NnzU9+1s3xs2lhddDLXhLgy6cqsTuh40EOuh/upO8YFxndIvZXk4hILfN//Jmpr7/H2HNPplOXjsz8chYTHnquJqcA9OnfizcmTmp+YW70ScfsNpSNn3h/recjRx3GyFGHNUJVIlJXhmGQkmUjJcvGgJOqBytVVVqsn+dn2VdVLPu6io0LAqz8zs/K7/x8cEc5Gd1s9D/RRf8T3bTuHrG/pkRE+PqTbxlyyCCGH149wPLUc05i2aLlfP/lLI7bMU1a5+4H4PN62bhuE207tKn3GvRbUkQanTPGoMshTroc4uT426C8IMSK76pY8mkVC6f5yFkeZNp9FUy7r4L0rjYGn+Zm6FlukjL27tw+EYk+/4rfFpbXnVCats/rBgIBNq3fzN9GH1arvVuvrqxbtb7muc1uo3uf7iyav6RBwpzOQBaRsPOkmPQ/wc05ExJ4cE1LLnsvkWHnuPEkG+SuCPLhneXc2C2fp8cWsfBjH0F/c74st4hEivLSckKhEPGJta+nGp8YR0lxaa22Pv17sWj+4gapQ3vmRCSi2BwGPY5w0eMIF2c+ZrHs6yp+eNXLwmk+Fn9SxeJPqkhoZXLweW4OuzCW+FT9TSrSFOzPHrJo0KNvN16Z8DoF2wtrzqWrLwpzIhKxbA6DXke56HWUi5K8EHPe8jLrlUpyVwaZfn8Fn/+vgmFnx3DEZbG7HWErItJQPPEeTNOk9E974UqLy0j40966gu2FOJwO4hPi6r0O/UkrIlEhIdXkiMtjuXVeCv/5JIleRzvxV8K3z1Vya998XjivmM2L/eEuU0SaEbvdTpv2WSxfsrJW+/JfV9Khc/tabYsXLKF77644nPV/dSiFORGJKoZh0OVgJ5dMSeLmn1IYcoYbw4R5U3zcM6yQF/5ZzLY1ui6yiDSOw0eN4KeZc/nhmx/Jzd7KlNfeo7iwmIP/NqxWv0ULltB7QK/dbGX/6DCriEStzB52/vFcAsfd6uGLxyuY+UIl897xseA9Hwf/I4bR18WSmK7DryLScAYcdCDlZRV8+sHnlBSVkJGVwb+uuYCUlik1fQoLisjeuIVe/Xo0SA0KcyIS9VKybIx9MJ6/XRrLtPvK+fFNL99NrGT2G5X87dJYRl3jwRmrK0yISMM49IjhHHrE8N0uX7zgVzp16YAnrmEuNarDrCLSZLRoa+OcCQnc8lMK/f7uwl8JMx6q4I5B+Syc5vvrDYiINIDFC5bQZ0DvBtu+9syJSJOT0c3ORW8msvYnP29dVcrmRQGeOb2YPqOdjH0wnhbtdOhVRBrPJdde1KDb1545EWmyOg5xcP23yZz6YBzueINF06u4Y1A+n44vJxjQxMMiUncpLVM47OhDw11GLQpzItKk2ewGI/8Vy+0LUhh4SvWh1/dvL+ehIwrJXaFRryJSNy1SUzj8mBHhLqMWhTkRaRYS023830uJXP5BEslZJhvmB7j34AK+fLKCUEh76UQkeinMiUiz0n2kk1t+TGHoODd+L0y5oYzHji1i+/pguEsTEdknCnMi0uzEJJqc80wCF7+dSEKayarv/dw9tIC573jDXZqISJ0pzIlIs9X3WBe3/JTCgce78JVZvPjPEt76Tyl+nw67ikj0UJgTkWYtrqXJBa8lcPqjcdid8N3ESh4+slCHXUUkaijMiUizZxgGI86P5ZrPk2nRzmTjzwHuPaRAEw2LSFRQmBMR2aFdfwc3zEyhz2gnlUUWz5xezEd3l2m0q4hENIU5EZE/8CSbXPx2IifdHYdhwvQHKnj+7BJ85Qp0IhKZFOZERP7EMAyOvCKWS6cmEpNo8MuHPh4+spCCTTqPTkQij8KciMhu9DjCxbVfJpPaycbmxQHuH1HAmh/94S5LRMJo1bLV3Pafu+q0zo/fzSEnO7eBKlKYExHZo/Sudq77KpmuhzkozbN47NhC5kzSfHQiUm318jU8+8gL3Hz57Vx29lX8+N2cnfpsXLeJmV/MarAaFOZERP6CJ8XksneTGHFhDIEqeOn8Er54vCLcZYlIBPB5fWRkpXPyWSficDp22adP/14sXvBrg9WgMCcishdsDoPTx8dz8j1xAEy9qYwp15dqpKtIM9ezXw+OG3ssBw7ui2EYu+zTufsB+LxeNq7b1CA12BtkqyIiTdQRl8eSkG7y6sUlfPlUJcVbQ5zzTAIO165/iYvI3lkx8siwvG7Xrz5v8New2W1079OdRfOX0LZDm3rfvvbMiYjU0eCxbi59Nwl3vMG8KT6ePKmIyuJQuMsSkQjWp38vFs1f3CDb1p45EZF90O0wJ1d9ksSTJxWz8js/j44p4vL3kohrqb+RRfZFY+whC6cefbvxyoTXKdheSErL5Hrdtn7riIjsozZ9Hfz3y2RSO9rY9EuAR0YVUpyruehEZGcF2wtxOB3EJ8TV+7YV5kRE9kPL9jau/jSJjO42cpYHGX90EfkbFehEpLbFC5bQvXfX3Y543R8KcyIi+ykx3cZV05Np089O3tog448qZOuqQLjLEpFG4PP62Lwhm80bsrEsi8L8QjZvyKZge2GtfosWLKH3gF4NUoPCnIhIPYhrafKfj5PodJCDwuwQ448uZPMSBTqRpm7juk08cPN4Hrh5PP4qP9Pf/ZQHbh7PtKkzavoUFhSRvXELvfr1aJAaNABCRKSexCSaXPZ+Es+eWcSyr/w8NrqQK6clkdW7/g+riEhk6Nz9AJ547ZE99lm84Fc6demAJ87TIDVoz5yISD1yeQz+NTmJ3sc4KS+0eOzYIjYv1vVcRZqzxQuW0GdA7wbbvsKciEg9c7gMLng9UYFORAC45NqLOOzoQxts+wpzIiINQIFOpGlKaZnSoMFsXyjMiYg0EAU6kaanRWoKhx8zItxl1KIwJyLSgHYKdGOKyF6qUa4iUn8U5kREGthvga7XUU7KCyz+N6aQ3BUKdCJSPxTmREQagcNlcOEbiXQf6aA0z+KxvxexbY0CnTRPBmBZVrjLiCiWZWHs47oRO89ceVk5b06cxPLFK/HEezhu7GgGDhuwUz+/P8DU199j0bzFBINBOnbuwGnnnUJSSlLjFy0isgcOt8HFbyXx5MlFrPrez//+XsRVM5Jp0dYW7tJEGpXdZuLzB3E7IzaGNDqfP4jdtm/72CJ2z9zkV97FZrdz71N3cO6/xjHp5ankbM7dqd+3n37HulXruf7e/3L347cT44nlndfea/yCRUT2gjPW4N/vJNJxiIOCTSEePbaQwmxdy1Wal6T4GPIKy/BWBZr9HjrLsvBWBcgrLCMpPmafthGRkdjn9bFw7iJuvO+/uNwuOnXtSO/+PZkzax7HnzamVt/8vAK69+5GQmI8AP0P6sd7b3wQjrJFRPaKO87k0qmJ/O/4IjbMD/DYmCKu/jSZhLSI/ftapF55YlwA5BeVEQiGaM5xzqB6T2VKQkzNz6WuIjLMbcvNw7SZpGWk1bRltmnN6uVrduo7dMQQprz+HsWFxcTExjDvh/n06NutMcsVEamzmESTy95L4rExRWxeFODx44v4z/QkPMkKdNI8eGJc+xxepLaIDHM+XxXuGHetNnesG6/Xt1Pf1PSWJKckcfPld2CaJq3bZHDqOSftcruzvprNrG9mAzB63CmQkVL/xYuI7CVPssnl7yfxyDGFZC8J8ORJRVzxYRLueAU6Edl7ERnmXC4n3kpvrTZvpQ+3e+cEP/mVqQQCAe6fcBdOl4svp33FhIee55o7rtyp7/CRQxk+cigA63MKGqR2EZG6iE81ufzDJB4+qpD18wJMOL2YS6cm4XDv67g2EWluIvLPv7T0VELBENty82rasjduIT0rfae+2Ru2MOSQwXjiPDgcdg498hA2rN1IWWlZY5YsIrLPkjNtXPlREonpJiu/8/P82cUE/c35LCIRqYuIDHMut4u+A3szbeoMfF4fa1euY/GCJQwePnCnvm07tmHO93OprKgkGAgy88tZJCYnEBcfF4bKRUT2TWpHO5d/mIQn2WDxjCpeuqCEUFCBTkT+mmFF6Jjg8rJy3nh+EiuWrMQTH8txY49l4LABrF6xlgkPPcf4ifdX9ystZ8pr77F8yUqCwQAZWRmceOZxtO/Ubo/bX59TQHudMyciEWbDAj+PjSnCW2ox/Fw3456IxzB0yFWkudtTbonYMNfQFOZEJFKt+r6KJ04swu+FIy6L4aR74hToRJq5PeWWiDzMKiLSnHU+2MmFbyRic8AXT1TyyYMV4S5JRCKYwpyISATqdZSL815IwDDho7vL+eppBToR2TWFORGRCDXgRDdnPVl9dZt3rivjh1crw1yRiEQihTkRkQg27OwYTn2genT+65eVsuB971+sISLNjcKciEiEG/nvWMbc5MEKwYv/LOHXz3e+Go6INF8KcyIiUWD0dbH87dIYgn54dlwxq3+oCndJIhIhFOZERKKAYRicfG8cw85x46+Ep04tZuMv/nCXJSIRQGFORCRKGIbBuMfj6X+iC2+JxRMnFJG7IhDuskQkzBTmRESiiGkzOG9iAj2PclKWb/G/44rI3xAMd1kiEkYKcyIiUcbuNLjwtUQOGOagaEuIR8cUUrRFgU6kuVKYExGJQs5Yg3+/k0i7AXby14d4bEwRJdtC4S5LRMJAYU5EJErFJJhc9m4Smb3sbF0V5PHjCinLV6ATaW4U5kREopgnxeTyD5NI72Ij+9cgT5xYREWRAp1Ic6IwJyIS5RJSTa74OInUjjY2/hzgqZOL8JYp0Ik0FwpzIiJNQFKGjSs+SiKljcnaOQGePrUYX7kV7rJEpBEozImINBEt2lYHusQMk1Xf+5lwehFVlQp0Ik2dwpyISBOS1snOlR8nkZBmsuIbP8+eWYzfq0An0pQpzImINDHpXexcOS2JuJYGS7+o4rmziglUKdCJNFUKcyIiTVBGNztXfpyMJ8VgyadVTDy3mKBfgU6kKVKYExFpojJ72rniwyRikgwWflzFxHNLtIdOpAlSmBMRacLa9HVwxQfVge6Xj3w8N07n0Ik0NQpzIiJNXLv+Dq78KAlPssHiGVVMOL1Yo1xFmhCFORGRZqBtPwf/+SSZuJYGy76s4qlTijQPnUgToTAnItJMZPa0c9UnySS0Mln5nZ8nTiyiskRXihCJdgpzIiLNSEY3O1d9kkRSa5M1s/08fnwR5QUKdCLRTGFORKSZadXZzlUzkmnRzmT9vACPjCqkODcY7rJEZB8pzImINEOpHWxc81ky6V1tbFkaZPzRReRvUKATiUYKcyIizVRSaxtXz0im7YF28tYGefioQnKWB8JdlojUkcKciEgzFtfS5MqPk+g83EHRlhDjjy5kw8/+cJclInWgMCci0szFJJhc+l4SvY5yUl5g8ejoIpZ85gt3WSKylxTmREQEZ4zBRW8lMvg0F74yiwlji5n5YmW4yxKRvaAwJyIiANidBv94PoFR18YSCsKbV5Ty/m1lhEKaXFgkkinMiYhIDcMwOO6WOM56Mh7TBp8+UsFL/1eC36dAJxKpFOZERGQnw8+N4ZIpibjiDOZN8fG/vxdRmqfJhUUikcKciIjsUo8jXFzz2e9Xi7j/sAKyf9XUJSKRRmFORER2K6u3g+u+SabdADsFG0M8dEQhCz/WSFeRSFKnMHf/TQ/z7eczqSivaKh6REQkwiRl2Ljqk2QGja0e6frsmcXMeLgcy9J5dCKRwLDq8G386J3pzJ01j7KSMnoP6M2ww4bQtWeXhqyvwazPKaB9Rkq4yxARiRqWZfHZIxV8cEc5lgUDT3Vx1hMJuDxGuEsTafL2lFvqFOag+su8dNFyfvpuDot//pWExAQOOnQQQw4ZTErL5HopuDEozImI7JuF03y8dH4JvjKL9K42zn81kcwe9nCXJdKk1WuY+6PysnJmfTWbT97/jFAwRJeenTn8mEPp0af7PhfbWBTmRET2Xc7yAM+fXUzO8iCOGDj94XiGnu3GMLSXTqQh7Cm37PMAiHWr1/PhpGl8/vFXJCYlMOrEo2iZ1oIXHn+Fqa+/t8/FiohI5MvoZue6b1IYepYbfyW8dkkpr1xUirdM05eINLY67ZkrLS5lzvfz+HHmHLZvy6f3gT0ZdthBdOvdtabPulXrefKBZxg/8f79Kqy8rJw3J05i+eKVeOI9HDd2NAOHDdhl303rNzP19ffZtH4zLpeTo447gsOOPnSP29eeORGR+jH7jUrevqqUqgpo1dnGP19MoG0/R7jLEmlS9pRb6nSSwy1X3Elqq5YcNGIIQw4ZSFx83E590rPSadexzb5V+geTX3kXm93OvU/dweYN2TwzfiKZbTPJyEqv1a+stIynH3yOk8YdT7/BfQkGAhQVFO/364uIyN4ZOi6G9gMcPH9OMTnLgjw4spAxN3o46j+xmDYddhVpaHXaM7d6xVoO6NqxIesBwOf1cd3FN3Pjff8lLSMNgFefeYPE5ESOP21Mrb4fTp5GUUER51w8rk6voT1zIiL1q6rS4r1by/jmmUoAOg11cN7zCbRoZwtzZSLRr97OmZs+dQYV5ZU7tVdWenn83qf3rbpd2Jabh2kza4IcQGab1uRuzt2p7/rVG4j1xPLIHY9zw79v5dnxEynYXrjL7c76ajYP3voID976CGUlZfVWr4iIgDPG4LSH4rnsvUQS06uvGnH30AJmv1GpOelEGlCdwtzq5WsIBna+lEugys+alWvrrSifrwp3jLtWmzvWjde786zjRYXFzPl+LieffQJ3PnYLLVJTePnp13a53eEjh3LtnVdx7Z1XEZew8yFiERHZfz2OcHHzjyn0O86Ft9Ti1YtLefLkYvLWBcNdmkiTtFdhbtP6zWxavxmA7E05Nc83rd/MhrUbmfX1jyQlJ9ZbUS6XE2+lt1abt9KH2+3aqa/DYafPgN6069gWh9PBqBOPZt2q9VRW7LwHUUREGkdcC5MLX0/gnAnxxCQZLP28irsG5/PJQ+UEqrSXTqQ+7dUAiIdufbTm8dMPPrvTcofDwSnnnFhvRaWlpxIKhtiWm0daeioA2Ru3kP6nwQ8AmW1b157XSOfaiohEBMMwGHpWDD2PcjH1xlLmTPLx4Z3lzJnk5czH4ul8sDPcJYo0CXsV5m5/5CYsC+64+h6uuf1K4hI8NctsdjvxCXGY5j5PWbcTl9tF34G9mTZ1Bmf+31iyN25h8YIlXHXr5Tv1HXLIYF54/GVGHHUIGZnpzHj/czp26UBMbEy91SMiIvsuIc3kvImJDD2rireuLCV3RZBHRhUxaKyLE++MIzlTAyRE9sd+XQGiIZWXlfPG85NYsWQlnvhYjht7LAOHDWD1irVMeOi5WvPYzfxiFp9++DlVPj+dunRg7D9OJrnFni8tptGsIiKNz++1+PSRcj59pIKADxwxcNR/PBx1RSzOWB1aEdmd/bqc1y9zF9H7wJ7Y7DZ+mbtojy/Ub1Cffa+ykSnMiYiEz/b1Qd67tYwF71UPbEvONDnhzjgGnerSJcFEdmG/wtzl51zNPU/cTnxiPJefc/UeX+jxV8fve5WNTGFORCT8Vn1fxTvXl7FpYfVMCVl97Bx7nYc+Y5yYpkKdyG/2K8w1VQpzIiKRIRS0+PENLx/eVU5xbvW1XTN72Rl9fSz9/u5SqBNBYW6XFOZERCJLVaXFrFcq+fSRCopzqkNd6x42jr7aw4ATXdgcCnXSfO33OXN7S+fMiYjI/vJ7LX54rZJPx1dQmF0d6lLamIz8dyzDz3Xjjq+/2RNEosV+nzO3t3TOnIiI1Be/z+KnN7188UQFW1dVXz0iJtHgkPNiGHFRDClZmtJEmg8dZt0FhTkRkegQClksmVHFF49XsGqWHwDDgO5/czLsbDd9RrtwuHUIVpo2hbldUJgTEYk+6+f5+eLJChZ+5CNQVd0Wm2wweKybg8a5advPrqlNpEnSPHO7oDAnIhK9yvJDzJvi5YfXvDXTmgCkdbIx8FQXg05xk951ry5yJBIVNM/cLijMiYg0DZsW+Zn9upf5U32UbAvVtGf1sTPgRBe9jnaS2Ut77CS66TDrLijMiYg0LcGAxcqZfua94+XnD31UFv/+31tihknPI5z0ONJJ98OdxCZpRKxEF4W5XVCYExFpuvw+i6WfV7Fouo9fv6iqmbcOwDCh7YF2uo1w0nWEk04HOXRdWIl49RrmNq3fzNczviN3Sy4A6a1bcfgxI2jTPmv/K21ECnMiIs2DZVlk/xrk1898/Pp5FWt+9BP6/TQ7bA5oP9BBh4F22g1w0O5AOy072HRYViJKvYW5ubPm89qzb9KlR2c6dG5XvfHVG1i5dDVnXXg6g4YPrJ+KG4HCnIhI8+QtC7H2Rz8rvvWz4rsqNv4c4M//E3qSDdr2d9Cmt52sPnayettJO8CGza6AJ+Gxp9xSp6E+H0+ZzrGnjOLo446o1f7Zh1/w8ZRPoirMiYhI8+SOM+lxhIseR7gAKC8MsfYnPxt+DrBhvp8NC/yU5lks+7KKZV9W1azncEPrHnZadbGR2tFOWidbzU3n4Ek41SnMlZWU039I353aDxzSlxkffF5vRYmIiDQWT7JJ72Nc9D6mOtxZlkVhdoiNCwJsXuJn86IAm5cEyN8QYsOCABsWBABfrW3EJhu0aGejZTtb9X17k+RMG4npJonpJvFppvbqSYOpU5jr3OMAVi1bQ2qr1Frtq5at4YBuneq1MBERkXAwDIOULBspWTb6Heeqaa8oCpH9a4Btq4NsWxMkb+1v9wEqCi0qCgNs+iWwm21CfKpJQiuT+FSD+DST+JYmCWkmcS1MYpNMYpIMYpMMYhNNYhIN3PEGpk0BUP7aX4a5P04U3KNPNz6aPI2N6zbRvtOOc+bWbGDh3MWMOunohqtSREQkzGKTTDoPd9J5eO12y7Io2RYif32I7RuC5G8Isn19kKKcECW5IYpzg5Rtr+7zx3nw9oY7vjrUxSRU3zs9Bs4YA9eOe6fHwOk2cMQaON3gjDVwuA3sLgO7E+xOA5uT6ueO35/bHNXPbQ4D0w6mHWy2HY9tYNoMDBvY7NWjfzUYJLLt1aTBe0uTBouIiOws6LcozQvVBLrSvB23bSHK8i0qi0NUFFlUFFtUFIWoLLbwlv7V+EQLm+HHYfqwm1XYTT/2HY9tZgCbEcBm+DHN4I7HAcwd9zaz+rFphDCNIAbV99W3EIYRwiRYfW+EMAwL09zRblgYNbffnlf3MdjRDhhGCAwwsACL6jxo1fT7Te3l1X1q2v+QIX9f54/r8oc+ez85x95FU2tvOxKIacXB0+/a69ffF/s1ACKaApqIiEgksjkMklrbSGptA6r35oXKywkWFBEsKSFYVkaorKz6vrT6PlhWTqCkHH9JOcHSckIVFVg+H1R5we+DgK9WKJLwKS6v+utODUgXrhMREaknlmURLC7Gn5NLIC+PQEEBgfwCggUFBPLzCRQWESwsJFBUBIFdn1+3J3/eUWQ4HBguF6bLheFyYbhdmA4nhtOJ4bBXL7c7fn/ssGPYHWC3Ydjs1c9tNrDZqu9NE+NPjy3TBMvAMmxgmOzY74ZlGViGWf0Ys3qZxY7n1TcDA8uiZh0Mqtf77fkf3plVazecUbOtP79ry6peXvNkx+Na7TWdd/FDtHbxg9xVt5rX/2sZHtdfd2pAdQ5zFeUVLF24jIL8IoJ/+oc46kSdNyciIk2bFQzi37oNf3Y2VdnZ+DdnU5WTgz83F39OLpbXu1fbMWNjsSUlYUtMwBYfj+nxVN/HeTDj4rB5PJg7bjaPBzM2FiPGjelyY7p3hDebrYHfrUSDOoW5davX88z4idjtdspKy0hKTqSkqAS73U5KaorCnIiINBmWZRHYno9vzZodt7X41q6lakvOHveqmR4Pjox07Kmp2Fu0wJ6Sgr1FCvYWLbAlJ2NPTsaWnITpCu/eHGk66hTm3n/rIwYN7c/JZ5/Ify+8kctu+DdOl5OXn3qNoSOGNFSNIiIiDS6wfTveFSvxrlhJ5YoV+FauIlhcvMu+9pYtcWRl4mzd+vf79HQcGenY4uMbuXJp7uoU5rZsymHc+adhGAamaRDwB2iZ1oLjTx/DK0+/zqDhAxqqThERkXpjWRb+LVuo+PkXKn7+hcpFiwnk5+/Uz4yLw3VAJ9wdO+I6oBOuTp1wZmVixsSEoWqRXatTmLPbfz82H58QT0F+AemZrXC5XBQXltR7cSIiIvUlUFxMxdx5lM+fT8XPvxDYlldruemJxd2lC+6uXXB37Yq7axfsrVppjjWJeHUKc1nts9iwdhNpGWl07t6Jj6d8QmlxGXNnzad124yGqlFERKTOrGAQ74oVlM+ZS/mceXhXrPhtiCIAtoQEYvr1JfbAA4nt1wdnmzYYpq6xKtGnTmHu76eMxrtjlM6xp4zmtWffZMqr75KakcpZF5zeIAWKiIjsLcuy8C5bRslXX1P6zXcECwpqlhkOBzF9euMZPIjY/gfi6tBB4U2ahL+8AkRTpStAiIg0Hb516yn58ktKv/4Gf05uTbsjPR3PkEF4Bg8mtl9fnesmUWu/rgCxK3lbt7N1y1YA0jPTaZnWYt+rExER2QfBsjJKv/qa4k8+rT6EuoO9RQviDz+M+JGH4+7aRee8SZNXpzBXXlrOGxMnseTnX2u+HJZl0evAHow7/3Q88Z4GKVJERASq/8+p/GUhRdM/oWzm91hV1ZdRMj0e4g8/jIS/HU5Mr16aTFealTqFuTdfmMT2rdu58uZLadepLQAb1mxk0stTePPFyVxwxXkNUqSIiDRvViBAydffUDj5HXxr1ta0xw7oT+IxRxN38HBNwivNVp3C3LLFK7js+n/RoXP7mraOXTpw+nmn8uT9z9R3bSIi0swFy8opnjadwnffI5BXPZWILTmZpL+PIfGYo3Ckp4e5QpHwq1OYi4uPw+ly7tTucDrwxMfWW1EiItK8BYtLKJgylaL33ydUXgGAs11bUsaeSvzfRmI6d/6/SKS5qlOYG3XCkUx9/X3OufhMklKSACgqKOK9tz7kmBOOaoj6RESkGQkUF1M4eQqF73+AVVkJQEy/vqSMPRXP4EGaSkRkF/4yzN17w4O1RgLl5xVw21V3k5ScCEBRYTEOh4OykjKGHXZQw1UqIiJNVrC0lIK33qbw/Q+xdsxnGjtoIC3PPouYXj3DXJ1IZPvLMNdvUN/GqENERJohKxik6KOP2f7yK4RKSgHwDB5Ei3POIqZHjzBXJxId/jLMjT7p6MaoQ0REmpnyufPY9vQzVG3YAFQfTk294HxiuncLc2Ui0WWfJg1e8esqcrfkYmCQkZVO5+4H1HddIiLSRFVlb2HbUxMo//FHABwZGaRefCFxBw/XBL8i+6BOYa6ooIjn//cSm9ZtJnHHOXPFhcW07dCGC648r6ZNRETkz0JVVRROeof8N97EqqrCiImhxVlnknzySRqdKrIf6hTmprz2HqZpcuvDN9Zcwmv7tnxenfAGU157j/+7/B8NUaOIiES5il8WsvWx/1G1cRMACUceQepFF2BP0TWyRfZXncLciiUrufymS2pdi7VlWgtOOftEnrh/Qr0WVl5WzpsTJ7F88Uo88R6OGzuagcMG7LZ/IBDg/psexlfp467Hb6vXWkREZN8EiovJe+ZZSj79HABHVhatrrwcT/8Dw1yZSNOxT+fM7aQBTnGY/Mq72Ox27n3qDjZvyOaZ8RPJbJtJRtauZ/v+ctrXxMXH4av01X8xIiJSZ2U/zSH3ofEECwowHA5Sxp1Byumn6ZCqSD2r0+yLXXp2Zspr71GYX1jTVrC9kKmvv0+Xnp3rrSif18fCuYsYc/IxuNwuOnXtSO/+PZkza94u+2/fls/cH+Zz5N//Vm81iIjIvgl5vWz93xNk33ATwYICYnr3pv0Lz9HynLMV5EQaQJ32zJ1y9ok89+iL3H71PSQm7RgAUVRM66wMTjn7xHoraltuHqbNJC0jraYts01rVi9fs8v+U157j7+fOhqn07HH7c76ajazvpkNwOhxp0CGztUQEalP3pWryLn3vupz4+x2Wp53LiljT8Ww2cJdmkiTVacw54nzcM3tV7Jq2Wq25mwDoFXrVnTr1aVei/L5qnDHuGu1uWPdeL07H0JdOG8RoVCIvgP7sGrZ6j1ud/jIoQwfORSA9TkF9VewiEgzZ4VCFEyazPYXX4ZgEGe7tmTceAPuzpq6SqSh7XWYC4VC/PeiG7n+nmvo1rsr3Xp3bbCiXC4n3kpvrTZvpQ+321Wrzef18cHbH3PxNRc0WC0iIrJngaIicu9/kPI5cwFIOukEUi84H9Pl+os1RaQ+7HWYM02TlBbJBAPBhqwHgLT0VELBENty80hLTwUge+MW0v80+CFv63bytxfw2N1PAhAMBKis8HLjpbdx9W1X0CJVh1FFRBpSxaLF5Nx9L4Ht27ElJJB+/bXEHTQk3GWJNCuGZVnW3nb+aeZc5s9ewDn/GkdcfFxD1sVLT74KhsGZ/zeW7I1bmPDw81x16+W1RrMGg0HKS8trnq9dtZ53Xn2X6+66iriEOExz9+M71ucU0F7nzImI7BMrFKLg7UnVh1VDIWJ69STj5htxpKX95boiUnd7yi11Omfuy+lfk59XwC2X30FSShJOV+1RSTfc+999r/JPxv7jZN54fhI3XnIbnvhYTvvHyWRkpbN6xVomPPQc4yfej81mIyEpoWYdT1wspmHUahMRkfoVLCsn5557Kf9pDgApZ5xOy/POxbDXz2xXIlI3ddozN/3dTzEM2N0ao086ur7qanDaMyciUndVmzeTffOtVG3chC0hgYwbr8czeFC4yxJp8vZ7z1yVr4r33/qIRQsWEwyE6NKzM6eec2KDH2oVEZHIUb5gAVvuuJtQaSnOjh3IuvtOHOm7nshdRBrPXk0aPP3dGfw0cy49+/ZgwNADWfnrSia9NLWhaxMRkQhgWRaF73/A5mtvIFRaStywobR7/DEFOZEIsVd75hbOW8yZ55/GgKHV19IbOKw/j971BKFQaI+DDEREJLpZwSBbH3+S4o8+BiDlzNNp+c/zMPS7XyRi7FWYK8wvolPXDjXP23dqh800KS4sJrlFcoMVJyIi4ROqqGDLnXdTPmcuhsNB+rXXkPC3keEuS0T+ZK/CXCgUwvanUUqmzUYwGGqQokREJLz8edvJvulmfKvXYEtMJPPuO4np2SPcZYnILuz1OPJXn3kD+x8Cnd/v560XJ+P8w0WTL7rq/+q3OhERaXS+tevYfMNNBPLycGRlknXfvTgzW4e7LBHZjb0Kc4MPHrhT26BhA+q9GBERCa/yefPZcvudhCoqiOnVk8y77sSWqLk7RSLZXoW5sy48o6HrEBGRMCv5+hty7r0fgkHiDxtB+vXXYjqdf72iiISVpusWERGKPp7O1kcfA8si+dRTSL3oAo1YFYkSCnMiIs1cwaR3yHv2OQBanv9PUs44HcMwwlyViOwthTkRkWbKsiy2v/gyBW+8CUDa5ZeSfMLxYa5KROpKYU5EpBmyQiG2Pfk0Re9/AKZJ+rXXkHjUkeEuS0T2gcKciEgzYwWD5I5/lJIZn2I4HGTcchPxBw8Pd1kiso8U5kREmhErGCTngYco/eJLDJeLzLvvxDOgf7jLEpH9oDAnItJMWIEAOffcR+m332G43WTddzexffuGuywR2U8KcyIizUCoqoqcu+6lbNYsTE8sWffdS0yvnuEuS0TqgcKciEgTF6qqYsttd1D+0xzMuDiyHryfmG5dw12WiNQThTkRkSbsj0HOlpBA1kMP4O58QLjLEpF6pDAnItJEWX4/OXfeXRPk2jzyMK6OHcJdlojUM12rRUSkCbICAbbcfS9lP8zGjI8n6+EHFOREmiiFORGRJsYKBsm57wHKZn6P6fHQ5qH7cR+gQ6siTZXCnIhIE2IFg+Q+8BClX3+DGRtL1oP34e7SJdxliUgDUpgTEWkirFCIrY8+RskXX2K43WTefw8x3buHuywRaWAKcyIiTYBlWWx78mmKp8/AcLmqJwTu1SvcZYlII1CYExGJcpZlkffcRIre/wDD4SDzrjt0ZQeRZkRhTkQkyuW/8hqFkyaDzUbr227BM3BAuEsSkUakMCciEsXy33qb/FdfA9Ok9U03EDdsaLhLEpFGpjAnIhKlCt97n+3PvwCGQfq11xB/2IhwlyQiYaAwJyIShYo/+5xtTzwFQKv/XEHiUUeGuSIRCReFORGRKFM683tyH3wYgNSLLyRpzLFhrkhEwklhTkQkipTPm0/O3fdCKESLs8eRMvbUcJckImGmMCciEiUqf11K9q23Y/n9JJ10Ai3+cW64SxKRCKAwJyISBbxr1rD5hpuwvF4Sjj6KtH//C8Mwwl2WiEQAhTkRkQhXtWkzm6+9nlBZGXGHHEz6NVdhmPr1LSLV9NtARCSC+bduY9N/ryVYWETsgP5k3HQDhs0W7rJEJIIozImIRKhAQSGb/nstgW15xPTqSeadt2M6neEuS0QijMKciEgECpaWsvna6/FvzsZ1wAFk3ns3ZkxMuMsSkQikMCciEmFClZVsvuEmfGvX4mzbhqwH78MWFxfuskQkQinMiYhEkFBVFdk334p36TLsrVqR9dAD2JOSwl2WiEQwhTkRkQhhBQJsueMuKn7+BVtKCm0efgBHamq4yxKRCGcPdwG7U15WzpsTJ7F88Uo88R6OGzuagcMG7NTvi2lfMWfmPAryC/HEeTjkiGEccezIMFQsIrLvrGCQnPsfpHz2j5gJ8bR56H6cmZnhLktEokDEhrnJr7yLzW7n3qfuYPOGbJ4ZP5HMtplkZKXX7mjB2RefSes2GWzfls9TDzxLckoyA4YeGJ7CRUTqyLIstj72OKVffY0ZG0vW/ffh6tAh3GWJSJSIyMOsPq+PhXMXMebkY3C5XXTq2pHe/XsyZ9a8nfoeMWYkbdpnYbPZaJWRRp/+PVm7al0YqhYRqTvLssh75lmKp03HcDrJvOcuYrp1DXdZIhJFIjLMbcvNw7SZpGWk1bRltmlN7ubcPa5nWRZrVq4jIzN9j/1ERCJF/muvU/jOVLDbybzzdmL79gl3SSISZSLyMKvPV4U7xl2rzR3rxuv17XG96e9+SigUYsihg3e5fNZXs5n1zWwARo87BTJS6qdgEZF9kP/2JPJffhVMk9Y33YBn8KBwlyQiUSgiw5zL5cRb6a3V5q304Xa7drvOt5/PZM7387jylktxOHb9toaPHMrwkUMBWJ9TUH8Fi4jUUeHUd9n+3EQwDNKvvYb4EYeGuyQRiVIReZg1LT2VUDDEtty8mrbsjVtI//Pghx1mf/sTX3z0FZfd8C+SU5IaqUoRkX1T9OFHbHtqAgCt/nMliUcdGeaKRCSaRWSYc7ld9B3Ym2lTZ+Dz+li7ch2LFyxh8PCBO/WdO2s+H70znUuuu5iWaS3CUK2IyN4r/mQGWx97HIC0yy4haczoMFckItHOsCzLCncRu1JeVs4bz09ixZKVeOJjOW7ssQwcNoDVK9Yy4aHnGD/xfgBu+8/dFBUWYbf/fmh10PABnH7eqXvc/vqcAtrrnDkRaUQlX3xJzn0PgGWRevGFpIzd8+8pEZHf7Cm3RGyYa2gKcyLSmEq+/oace+6DUIiW//wHLc4aF+6SRCSK7Cm3RORhVhGRpuSPQa7F2eMU5ESkXinMiYg0oJ2C3D/ODXdJItLEKMyJiDSQXQU5wzDCXZaINDEKcyIiDUBBTkQaS0ROGiwiEs2KP/uc3AcfVpATkUahMCciUo8KP/iIbf+rnkeuxTln0eLccxTkRKRBKcyJiNSTgrcnk/fc8wCkXngBKaePDXNFItIcKMyJiOwny7LIf/kV8l97A4C0Ky4n+fi/h7kqEWkuFOZERPaDZVnkTXiWwilTwTRJv/YaXWtVRBqVwpyIyD6yAgFyH36Eks8+B7ud1jffSPyhh4S7LBFpZhTmRET2Qaiykuzb76Ri7jwMt5vMO27FM2hQuMsSkWZIYU5EpI4CBYVsvvEmfCtXYUtKIvPeu4np1jXcZYlIM6UwJyJSB1XZ2Wy+7kb8W7bgyMgg68H7cGZmhrssEWnGdAUIEZG9VLlsGRsvuxL/li24Onem7RP/U5ATkbDTnjkRkb1Q8sWX5D40HsvvJ3bgADJvvxUzNjbcZYmIKMyJiOyJFQqx/cWXKHjzbQASxxxLq8suwXA4wlyZiEg1hTkRkd0IVVSQc98DlM36AUyTtEv+RdIJx+vyXCISURTmRER2oSonh+xbbqNq7TrMuDha33YLngH9w12WiMhOFOZERP6k7IfZ5Nz/IKGyMpxt2pB5950422SFuywRkV1SmBMR2cEKBtn+wosUvD0ZAM9BB5Fx43XY4uLCXJmIyO4pzImIAP687eTcfS+VixeDaZJ6/v+RPPYUDFMzOIlIZFOYE5Fmr3zuXHLue5BgURH2Fi3IuOUmYvv0DndZIiJ7RWFORJqtUGUlec8+T9GHHwEQO6A/GTdejz05OcyViYjsPYU5EWmWKhYvIfeBh/Bv2QJ2Oy3/cQ4pp43FsNnCXZqISJ0ozIlIsxKqqmL7iy9T+M4UsCxcHTuSfsN1uDt1DHdpIiL7RGFORJqN8gU/s+1/T1C1aROYJilnnkHLc87S1RxEJKopzIlIkxcoKGDbhGcp/fIrAJxt2pB+/X+J6d49zJWJiOw/hTkRabKsYJCiDz9i+4svESqvwHA6aXH2OJJPPQXT6Qx3eSIi9UJhTkSaHMuyKJ8zl+0TX8C3Zi1QPQFw2mX/xpmREebqRETql8KciDQplUt+JW/iC1QuWgyAPS2NtMsuIW7YUAzDCHN1IiL1T2FORJoE39p1bH/xJcp+mA2AmRBPizPPIOn44zBdrjBXJyLScBTmRCSqVSxeQsFbkyj/8UcADLeblFNOJnnsqdjiPGGuTkSk4SnMiUjUsUIhymb/SMHbk/D+uhQAw+kkcfQoWpw1DnuKruAgIs2HwpyIRI1AUREln39B8cfTq+eKA8z4eJJPOI6kE47XZbhEpFlSmBORiGYFg1QsWEDRtE+qz4cLBACwp6WScuopJI4ehRkTE+YqRUTCR2FORCKOZVl4ly+n9NuZlH7zLYFt26oXmCaeg4aQOHoUcQcNwbDrV5iIiH4TikhEsIJBvMtXUPrdd5R+O/P3AAc4MtJJHHUMCUcfjSO1ZRirFBGJPApzIhI2/txcyuctoGL+fMp//plQSWnNMnvLlsQdejDxI0YQ07MHhmmGsVIRkcilMCcijcIKhajauInKpUvx/rqUikWL8GdvqdXHkZ5O3PBhxI84FHeP7gpwIiJ7QWFOROqdFQxStWkzvrVr8a1bh2/VaiqXLiNUVlarn+nxEHtgP2IHDMAzsD+O1q11lQYRkTpSmBORfWJZFsHiYvzZW6jKzsafnU3V5myqNm6kauMmLL9/p3XsqanE9OiOu2dPYnr2wN2lM4bNFobqRUSajogNc+Vl5bw5cRLLF6/EE+/huLGjGThswE79LMviw0kf88O3PwEwbMQQjjttjP66F9lHlmURKi8nWFhEoLCQYFERgcIigvn5+PPyCGzfTiAvD3/edqzKyt1ux5GRjqtDB5wdOuDu1BF3j+440tIa8Z2IiDQPERvmJr/yLja7nXufuoPNG7J5ZvxEMttmkpGVXqvfrK9ns2j+Eq6/5xoM4KkHnqVFagsO/tuw8BQu0kCsUAhCIaxAACsYhEAQKxjECvix/AEsv3/Hrar63ldFyOfDqtpx7/MRqvQSqqwgVFlJqKKSUEUFofJyQmVlBMvKCJWVEywrg2Bwr2oyPbE4MjNx7rg5sjJxZmXiat8eMza2gX8iIiICERrmfF4fC+cu4sb7/ovL7aJT14707t+TObPmcfxpY2r1nTNzHiNHHUZyShIAI0eN4Idvfgx7mCv58isKJk8Jaw0CWFZdOu9+feuPvazay35bXvPcqn5sVe/l+uNzrNDv7VYIQtXLap4HQ9WPQ6Hq8BYM1tzX7b3sH9MTiy0pCVtSEvakZGzJSdhTUrCntsSRmoo9tSX21FRMj0d7wUVEwiwiw9y23DxMm0laxu+HZDLbtGb18jU79c3JziWzbevf+7XNJCd76y63O+ur2cz6ZjYAo8edAhkp9Vz57wKFRfhWrWqw7UszZZoYdnv1ZLk2G4bdhmHaMJwODMdvN2f1vcuJ6XRiuFwYTiemy4UZG4MZE4sRE7PjcQy2OA9mXDy2uDjMOA+2uDgMhyPc71RERPZSRIY5n68Kd4y7Vps71o3X69u5r9eHO9Zdq5/P68OyrJ32GAwfOZThI4cCsD6noAEq/13CyMOJ7dOrQV9D9lYd9hztai+Tsatlxo4m409Nxu99jep7A6P6uWlULzcMDNMAw/y9j2lWPzd3PDbN6nabrXqAwI427QUTEZE/i8gw53I58VZ6a7V5K3243a6d+7pdtfp6K7243K6w/6dnT0nGnqKLfouIiEjDisgZOdPSUwkFQ2zLzatpy964hfQ/DX4AyMhMJ3vjllr9MjJbNUqdIiIiIuEWkWHO5XbRd2Bvpk2dgc/rY+3KdSxesITBwwfu1HfwwQP5esa3FBUUUVxYzFeffMOQQwaHoWoRERGRxmdYViMOkauD8rJy3nh+EiuWrMQTH8txY49l4LABrF6xlgkPPcf4ifcD1aMCP3j7Y2Z/+yMAQ0ccxPGn//U8c+tzCmjfgAMgREREROrLnnJLxIa5hqYwJyIiItFiT7klIg+zioiIiMjeUZgTERERiWIKcyIiIiJRTGFOREREJIopzImIiIhEMYU5ERERkSgWkZfzagz+QLDBr88KUFZSRlxCXIO/jjQefaZNkz7XpkefadPTnD9TfyC422XNNsx1bpPaKK/z4ISXufbOqxrltaRx6DNtmvS5Nj36TJsefaa7psOsIiIiIlFMYU5EREQkiinMNbDhhw0NdwlSz/SZNk36XJsefaZNjz7TXWu212YVERERaQq0Z05EREQkiinMiYiIiESxZjs1SUMrLyvnzYmTWL54JZ54D8eNHc3AYQPCXZbsgd8fYPLLU1jx6yoqyitomdaCv489lp59uwOw4teVTH7lXQrzC2nfqS1nXXgGKS1Taq37y5yFOFxOjjj2cEaOOiyM70b+bFtuHvfd+BD9BvXh3H+dBcC8H+bz4eTplJeW07VXF8ZdcBqeOA+g73A0mD/7Zz55/1MKtxeRkBTPuAvP4ICuHfVdjVL5eQVMfnkK61ZvwO6w029QH04+6wRsNhubN2Tz5sRJ5G7ZSnrrVpx5/mlktcsEwLIsPpz0MT98+xMAw0YM4bjTxmAYRjjfTqPSnrkGMvmVd7HZ7dz71B2c+69xTHp5Kjmbc8NdluxBKBgkuUUSV9x0CQ8+ew9jThnFS0++Sn5eAWWlZUz838uMOfkYHphwN207tOGlJ1+tWfeTd2ewLTePOx67hctv+DdfTPuapYuWhfHdyJ+988pU2nZoU/M8Z3Mub780hXMuPpN7n7oDp8vB5Jen1izXdziyLV+8gg8mfcy4C07noefv5YqbLqFlaoq+q1Fs8stTiEuI554nbuf6u69m9fI1zPxiFoFAgOcefZGBwwbwwDP3MPjggTz36IsEAgEAZn09m0Xzl3D9Pddwwz3XsOTnpcz6anaY303jUphrAD6vj4VzFzHm5GNwuV106tqR3v17MmfWvHCXJnvgcrsYfdIxtEhNwTRNeh3YkxapKWxav4mFcxeTkZnOgUP64XA6GHXi0WRv3ELulq0A/PT9PI454ShiPbGkZ7Zi2GEH8dN3c8P8juQ382f/TExsDF17dq5pm/vDfHod2IMDunXC5XZx7MmjWDhvMd5Kr77DUWD6u58y6oQj6XBAe0zTJCkliaSUJH1Xo1j+9gL6D+mLw+kgISmBHn26kZudy6plawiFghx+zKE4HHYOO/pQwGLl0lUAzJk5j5GjDiN5x7+BkaNG8NPMOeF9M41MYa4BbMvNw7SZpGWk1bRltmlNrv6qjyolxaVsy80jPTOdnOxcMtu2rlnmcrtomdaS3OxcKsorKCkqqbU8s21rcrL1eUeCykov096dwYnjjq/VnvunzzS1VUtsdhvbcvP0HY5woVCIjes2UVpazh1X38Mtl9/B5FemUlVVpe9qFDvs6EOZ/+MvVPmqKCooYunC5XTv042czbm0btO61mHT1m1ak7O5OqD/+TPPbJtJTvbWRq8/nHTOXAPw+apwx7hrtblj3Xi9vjBVJHUVDAR5ZcLrDDl4IOmtW+Hz+na6HqA71o230odvx+ca84fPPCbGXdMu4TVtyicMHTGY5JSkWu0+bxUxMTG12mJiqz83wzT1HY5gpcWlBINBfpm7kCtvuQybzeS5R1/k0w++0Hc1ih3QtRM/fP0j/73wRkKhEIMPHkSfAb359IPPa31m8Nvn5gWqj4a5Y39f7t7xPbYsq9mcN6c9cw3A5XLirfTWavNW+nC7XWGqSOoiFArx6jNvYLfZOPWck4Hqv+53/ky9uGNcuHZ8rn9c7vV6a9olfDZvyGbFrys5/JgROy1zuXf9PXW5XfoORziH0wHAiCMPITEpgbj4OEaOGsHShcv0XY1SoVCIpx96jr4De/PwxPu5/+m7qKyo4IO3P8bp2vVn6nJXB7g/f+bVy1zNJsiBwlyDSEtPJRQMsS03r6Yte+MW0rPSw1iV7A3Lsnhz4iRKS0r5vyv+gc1uAyAjM53sjVtq+vm8PrZvyyc9M51YTywJSQm1lmdv3EJGpj7vcFu1bDUFeYXceuVd3HjpbXw5/RsWzl3EAzePJ/1Pn+n2bfkE/AHS0lP1HY5wsZ5YklKSoNb/1dVP9F2NThXlFRTmF3LokQfjcNjxxHsYcshgli5cRkZWOls25fDHaxxkb8ohI6sVsPNnXv2Ztmr09xBOCnMNwOV20Xdgb6ZNnYHP62PtynUsXrCEwcMHhrs0+QuTXp7C1i1bueiq83E6nTXtfQb2JmdzLr/MXYi/ys+M9z8js00G6a2rf2EMPnggn37wORXlFeRu2coPX//IkEMHhettyA7DDx/KbeNv5Pq7r+b6u6/m4JHD6NmvB/++9iIGDRvAkp9/ZfWKtfi8PqZN/YS+A3vjjnHrOxwFDjp0EN999j2lxaVUlFfw9Yxv6dmvh76rUSouPo4WqSnM/PIHgsEgFeWVzPl+Lq3bZtC5eycM0+Tbz2bi9wf49vOZAHTpUT2gafDBA/l6xrcUFRRRXFjMV598w5BDBofz7TQ6Xc6rgZSXlfPG85NYsWQlnvhYjht7rOaoinAF2wu47T93Y3fYMc3f/845/bxTGTR8AMuXrOSdV9+lcHsB7Tq146wLz6BF6i7mrnI6OGLMSM1dFYGmvzuDvK3b/zTP3DTKSyvo2qsz4y44vdY8c/oOR65gIMiU199j/uwF2B0O+g/uy/Gn/x2H06HvapTavCGbqa+/T/bGLZimSZceB3DKOSeRkBjPpvWbeeuFyeRm59JqxzxzbdpnAdVHVD54+2Nmf/sjAENHHMTxpzeveeYU5kRERESimA6zioiIiEQxhTkRERGRKKYwJyIiIhLFFOZEREREopjCnIiIiEgUU5gTERERiWIKcyIiIiJRTGFOREREJIopzImIiIhEMYU5ERERkSimMCciIiISxRTmRERERKKYwpyIiIhIFFOYExEREYliCnMiIiIiUUxhTkRERCSKKcyJiIiIRDGFOREREZEopjAnIs3Kj9/N4erzrw/b61eUV3DjJbeSt3V7vWzP7w9w65V3snHtpnrZnohEH8OyLCvcRYiI1IfLzr5qj8sHHzyI0847GV+lj/jE+Eaqqrb33/qQstJyzrrwjHrb5refzWTR/CVcdsO/6m2bIhI97OEuQESkvtzzxO01j5f8spS3Xphcq83hdOB0OnE6nY1fHFDlq+KHb37ioqv+r163O3BYf95/60NyNueSkZVer9sWkcinMCciTUZCUkLN45jYmJ3aoPow6zuvvsv4ifcDMP3dGfwyZxF/O/Zwpr87g7KScg4c0pfT/3kqP3zzE59/9CVVVVUMOXgQJ5zxd0yz+uyUQCDAtCmfMO+HBZSXV5CRmc6YU0bRvU+33db368JlGAZ07NKhpm3VstU8fu/TXHr9xXw0eTpbNueQntmKM/45ljbtswCorKjknVffZdmiFXi9XhKTEhhx1CEcfswIADxxHjp07sD82QsYc+roevhJikg0UZgTkWYvf3sBixYs4aKrzqe4sJiJj79MSVEJCUkJXHLtRWzN2cqLT75Kxy7t6TeoLwBvPPc227dt59x/n0VSShK/LlzKs4+8wDV3XElWu8xdvs6aFWtp074NhmHstOzDydM4/rQxJCQlMPX193llwuvcdP91GIbBx1M+YcumHC66+v9ISIwnP6+AspKyWuu369SWVcvX1P8PR0QingZAiEizZ4VCnHXB6bRuk0H3Pt3o0acbm9Zv5vR/nkp6Ziv6DuxDx84dWLl0NQB5W7cz/8efOe/SczmgWydaprVgxJGH0KNvd2Z9PXu3r1OwvZDE5IRdLhtz8ii69OhMeutWjDrhKLZu2UZRYXHNem3aZ9G+UztSWqbQufsBHDikX631E5MSKNheWD8/EBGJKtozJyLNXnKL5JrDsgDxCfGkpqdit//+KzI+Mb5mb9jm9ZuxLIt7rn+g1nYCgQBdenTe7ev4/X4SHHG7XNa6beuax78dGi4rKSM5JYmD/zaMFx9/hY3rNtGtV1d6HdiDzt0PqLW+w+nAX+Xfy3csIk2JwpyINHs2m612g7FzmwGEdgz+D1kWhmHw3zv+g81e+wCHw+HY7evExXmoKK/cTQ2/b+e3w7BWqPr1evbtzh2P3czShctZ8esqnhk/kQMH9601IraivIK4BM+e36iINEk6zCoiUkdt2mViWRYlxSWktkqtdUtKSdrtelntMsnN3rpPrxkXH8fggwdy9kVncOb5pzHn+3n4/YGa5Tmbc2nTLmufti0i0U1hTkSkjtIy0hg4rD+vP/c2P89ZyPZt+Wxcu4kvp33NL3MX7Xa97n26krtlK+Wl5XV6vWlTP2HhvMVsy80jN3srC+ctpkVqCg7H7wdX1qxYu8eRtCLSdOkwq4jIPjjrgjP49MPP+eDtjygqKCY2LpZ2HdvSuccBu12ndZvWtOvUlvk//syhRx68169lt9v5eMp08vMKcDjstO/UjouuOr9m+bpV66ms8NJvcJ/9ek8iEp10BQgRkUa0dNEypr72Pjc9cF3NnHX764XHXyGrfSZHH3dEvWxPRKKL9syJiDSiHn26s+2IPIoKikhpmbLf2/P7A2S2zeDwYw6th+pEJBppz5yIiIhIFNMACBEREZEopjAnIiIiEsUU5kRERESimMKciIiISBRTmBMRERGJYgpzIiIiIlHs/wGjGz4rCTfS8QAAAABJRU5ErkJggg==",
      "text/plain": [
       "<Figure size 720x360 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Calculate qubit populations |⟨ψ|0⟩|².\n",
    "qubit_populations = np.abs(states.squeeze()) ** 2\n",
    "\n",
    "# Plot populations.\n",
    "qctrlvisualizer.plot_population_dynamics(\n",
    "    sample_times, {rf\"$|{k}\\rangle$\": qubit_populations[:, k] for k in [0, 1]}\n",
    ")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Our [user guides](https://docs.q-ctrl.com/boulder-opal) can help you extend this simulation tool to any quantum system.\n",
    "In particular, you might be interested in reading about [Hamiltonians with nonlinear dependences](https://docs.q-ctrl.com/boulder-opal/toolkit/design/design-model-based-controls/how-to-optimize-controls-with-nonlinear-dependences), [noisy quantum systems](https://docs.q-ctrl.com/boulder-opal/toolkit/design/simulate-quantum-systems/how-to-simulate-quantum-dynamics-subject-to-noise), [quantum circuits](https://docs.q-ctrl.com/boulder-opal/toolkit/design/simulate-quantum-systems/how-to-simulate-multi-qubit-circuits-in-quantum-computing), or [open quantum systems](https://docs.q-ctrl.com/boulder-opal/toolkit/design/simulate-quantum-systems/how-to-simulate-open-system-dynamics).\n",
    "\n",
    "If you want to learn more about Boulder Opal and its capabilities, visit our [topics page](https://docs.q-ctrl.com/boulder-opal)."
   ]
  }
 ],
 "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.11.4"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}
