{ "cells": [ { "cell_type": "markdown", "id": "73160193-f46a-4561-8f6d-52eff45588ca", "metadata": {}, "source": [ "![](Rydiqule_Logo_Transparent_300.png)" ] }, { "cell_type": "markdown", "id": "8fb048eb", "metadata": {}, "source": [ "# Introduction to Rydiqule\n", "**RydIQule**, the Rydberg Interactive Quantum Module, is a python library built to simulate the interaction of Rydberg atoms and light using a semi-classical approach. This notebook will illustrate some of its core functionality, and demonstrate how to use the tool to model simple systems. The intent here is not to demonstrate discoveries in physics, or even simulate useful physics generally. The values provided are deliberately simple integers to make the functions as easy to understand as possible. Thus, the notebook will use cartoonish but nontrivial (from a code perspective) examples to demonstrate how to use the module. Feel free to run the cells of this notebook as-is, but also by all means add and modify cells to get a better feel for how the package works.\n", "\n", "This notebook can be downloaded [here](https://github.com/QTC-UMD/rydiqule/blob/main/docs/source/intro_nbs/Introduction_To_Rydiqule.ipynb).\n", "\n", "The functionality and principles behind `rydiqule` are detailed much more thoroughly in [the documentation](https://rydiqule.readthedocs.io/). A few places in the docs are worth pointing out:\n", "1. [API Documentation](https://rydiqule.readthedocs.io/page/api/api_index.html) contains detailed information about how the functions of rydiqule behave from a software perspective.\n", "2. [Physics Documentation](https://rydiqule.readthedocs.io/page/writeups/writeups_index.html) contains writeups detailing the physics and math conventions used by rydiqule. There are places where `rydiqule` diverges from the conventions of atomic physicists for numerical or code-related reasons, or makes explicit decisions about conventions that are not universal. It is a very helpful reference when something is not working as you expect.\n", "3. There are example notebooks that can be accessed from the docs homepage which contain more realistic use cases for rydiqule. \n", "\n", "## Design philosophy\n", "Rydiqule was built with a few core principles in mind:\n", "\n", "1. **Rydiqule is simple** - Setting and solving an atomic system can be done with just a handful of lines of code while behaving in an intuitive way.\n", "2. **Rydiqule is fast** - Under the hood, the library makes broad use of fast numpy matrix broadcasting and compiled code in places that would be slowed down by native python. The result is a toolbox that can produce meaningful results in a few minutes or less. This is especially true for steady-state solutions which can be extremely fast, even for large parameter spaces. With version 2.2.0, we introduced a fully compiled time-solver backend that significantly improved time-dependent solve times, bringing them more in line with what is fundamentally achievable.\n", "3. **Rydiqule is flexible** - Rydiqule can model a huge variety of semiclassical Rydberg atomic systems with no code modification. For users with more particular modelling needs who wish to extend Rydiqule, the `Sensor` class provides a minimal physical system that can easily be inherited and overloaded for more involved experimental setups (such as `Cell`, which provides an ARC-integrated wrapper to `Sensor` for calculating Rydberg physics using atomic properties and lab-measured parameters).\n", "\n", "## Limitations\n", "While we have worked hard to make Rydiqule as good as possible, there are some areas that can cause issues:\n", "\n", "1. **Memory** - `rydiqule`'s speed primarily comes at the cost of increased memory footprint.\n", "In order to avoid Python interpreter overhead and fully leverage the speed of Numpy broadcasting and C-level for-looping when solving multiple sets of parameters, we have to pass all equations of motion as a single tensor object to the low-level C functions (such as those backing `numpy.linalg.solve` used by the steady-state solver).\n", "For systems with many laser parameter values, many levels, doppler averaging in several dimensions, or especially a combination of these, the equations of motion generated by rydiqule are very large, often requiring more memory than is in a typical laptop or simple desktop. For very large systems, the memory footprint may even outpace a powerful workstation. Rydiqule has built-in functionality to handle this, but it is not fully general and it will lead to slower solves.\n", "2. **Speed** - While huge improvements have been made in the speed of `rydiqule` since its alpha stages, there are certain situations that can still cause slowdowns. For longer time-dependent simulations with large detunings, in particular for the poorly-conditioned equations produced with large doppler width, solving can still be slow. With version 2.2.0, we introduced a fully compiled time-solver backend that greatly improves performance in these situations, but the fundamental time-dependence from large detunings is still present, bounding time-dependent solver performance relative to steady-state solving.\n", "Further improvements can be gained from algorithmic developments (such as Floquet techniques), but they typically enforce constraints on the time-dependence that can be modeled.\n", "4. **Quantum Back-action** - We treat the optical fields as static, and do not include them explicitly in the semi-classical equations of motion. Rydiqule does not account for atom-field back-action effects. This approximation is valid for low optical depth samples, and is known to give valid results for SNR in moderate optical depth samples. However, for quantitative analysis of quantum noise in high optical depth samples, Rydiqule may not be accurate. By extension, rydiqule is also not presently suitable for simulations involving single-photon-level fields.\n", "5. **Device Modelling** - Rydiqule is a physics solver, and does not currently have user-friendly support for device-level modelling. Put another way, rydiqule requires a certain level of atomic physics understanding to ensure results are physically meaningful/correct." ] }, { "cell_type": "markdown", "id": "77fd97b1", "metadata": {}, "source": [ "### Imports\n", "Rydiqule is conventionally imported as `rq`. In addition, `numpy` and `matplotlib` are almost always useful to have in notebooks using rydiqule, so we will import them as well. They are dependencies of `rydiqule`, so they should already be installed if you installed rydiqule." ] }, { "cell_type": "code", "execution_count": 1, "id": "e88ef8d6", "metadata": {}, "outputs": [], "source": [ "import rydiqule as rq\n", "import numpy as np\n", "import matplotlib.pyplot as plt" ] }, { "cell_type": "markdown", "id": "334df99b", "metadata": {}, "source": [ "---\n", "## 1. The `Sensor` object\n", "The `Sensor` is the core object of rydiqule. It defines an atomic system, and while you can create and solve a Hamiltonian manually, the `Sensor` takes care of the bookeeping to generate Hamiltonians and solve its associated equations of motion.\n", "\n", "Note: Don't think too hard about why it is called a `Sensor`, it is a legacy name that does not necessarily capture its entire functionality." ] }, { "cell_type": "markdown", "id": "c8269557", "metadata": {}, "source": [ "### 1.1 The quantum state basis of `Sensor`\n", "The base `Sensor` class is constructed with a single required argument, which specifies which states are in the basis. Here we create a 3-level system in the manner `rydiqule` supports: an integer defining the basis size. On its own, a `Sensor` contains no information about atomic structure; it is an abstraction that allows for a high degree of manual configuration." ] }, { "cell_type": "code", "execution_count": 2, "id": "07386f5e", "metadata": {}, "outputs": [], "source": [ "basis_size = 3\n", "simple_sensor = rq.Sensor(basis_size)" ] }, { "cell_type": "markdown", "id": "c09103c0", "metadata": {}, "source": [ "This is the simplest way to define a `Sensor` with a particular number of states (3 in this case). In this case, the basis states will simply be labeled `[0,1,2]`, ($|0\\rangle , |1\\rangle , |2\\rangle$). However, mutiple other ways exist to label the basis states. Rather than an integer (which will implcitly use python's `range()`), we can pass a list of basis state labels directly. These labels can either be strings or tuples. Tuples in particular can be useful for representing quantum numbers, although they can represent anything that you think is useful; they do not invoke any physics in `Sensor`." ] }, { "cell_type": "code", "execution_count": 3, "id": "ca2e6a3e", "metadata": {}, "outputs": [], "source": [ "string_sensor = rq.Sensor(['g', 'e1', 'e2'])\n", "tuple_sensor = rq.Sensor([(0,0), (1,-1), (1,0), (1,1)])" ] }, { "cell_type": "markdown", "id": "6161aeaf", "metadata": {}, "source": [ "Once we have created a `Sensor`, we can use the `Sensor.states` attribute to see the states. Note that the ordering of states in a `Sensor` will always be as they are provided in the constructor. " ] }, { "cell_type": "code", "execution_count": 4, "id": "3b328838", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[0, 1, 2]\n", "['g', 'e1', 'e2']\n", "[(0, 0), (1, -1), (1, 0), (1, 1)]\n" ] } ], "source": [ "print(simple_sensor.states)\n", "print(string_sensor.states)\n", "print(tuple_sensor.states)" ] }, { "cell_type": "markdown", "id": "8f0d4667", "metadata": {}, "source": [ "Specifications of tuples like the one above can become cumbersome, especially to represent large groups of states. For tuples, `rydiqule` also supports \"state specifications\", in which one of the tuple elements is provided as a list. `rydiqule` will automatically expand such a state into a list as demonstrated below. Note that even when a specification like this is used, it is still necessary to enclose it in list brackets in the constructor. Furthermore, it is often useful to define tuples outside functions, since the number of brackets and parentheses can become cumbersome. This is a safe operation since tuples in python are immutable." ] }, { "cell_type": "code", "execution_count": 5, "id": "a83bad38", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[(0, 0), (1, -1), (1, 0), (1, 1)]\n" ] } ], "source": [ "g = (0,0)\n", "e = (1, [-1,0,1])\n", "state_spec_sensor = rq.Sensor([g,e])\n", "print(state_spec_sensor.states)" ] }, { "cell_type": "markdown", "id": "a5deeed2", "metadata": {}, "source": [ "### 1.2 `Sensor` Data structure: The Graph\n", "Before we proceed to useful physics, it is worth a brief sidebar to discuss how the information about levels and couplings is stored in a `Sensor`. [NetworkX](https://networkx.org/) is a library for storing and analyzing graphs in python that uses dictionaries to store information about nodes and edges. At the core of a `Sensor` is a `networkx` graph. The energy levels in an atomic system are stored as nodes and the couplings between states are stored as edges. Above, when we define a \"3-level system\", what `rydiqule` has created under the hood is a `networkx` directed graph with 3 nodes and no edges. We can access this graph to view information about it with the `Sensor.couplings` attribute. Let's inspect the `tuple_sensor` we made above and see that the graph nodes are indeed the states we printed above." ] }, { "cell_type": "code", "execution_count": 6, "id": "df07b502", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "DiGraph with 4 nodes and 0 edges\n", "[(0, 0), (1, -1), (1, 0), (1, 1)]\n" ] } ], "source": [ "print(tuple_sensor.couplings)\n", "print(tuple_sensor.couplings.nodes)" ] }, { "cell_type": "markdown", "id": "fba943bb", "metadata": {}, "source": [ "Indeed the `states` attribute is just a wrapper for `couplings.nodes`. Note that this is provided only as an interface to view the graph, and it shoud **NOT** be modified directly, as doing so may cause `rydiqule` to either `Error` or not work as expected." ] }, { "cell_type": "markdown", "id": "997a1f94", "metadata": {}, "source": [ "### 1.3 Coupling states with simple electromagnetic fields:\n", "While its great to create basis states, there isn't any physics in an atomic system of completely uncoupled basis states. Fortuntely, it is easy to couple states together in `rydiqule` to start moddelling interesing physics. States are coupled together using, at minimum, the following:\n", "1. A 2-element tuple representing the states to be coupled.\n", "2. The rabi_frequency. `rydiqule` treats all frequencies in Mrad/s.\n", "3. The detuning (for couplings to be treated in the rotating frame), or the transition frequency.\n", "\n", "#### Notes on detunings and rotating wave transformation \n", "When we define detunings, the states in a coupling are always defined to go from lower to higher energy. For example, `(1,2)` means state 2 is higher than 1. Any coupling with a defined `detuning` will be treated in a rotating frame, with positive detuning always treated as a blue detuning. For now, we will only consider detunings, but later we will discuss transition frequency specification in the cotext of exactly modelling time-dependant effects.\n", "\n", "Here we will demonstrate defining a few different systems, showing different equivalent methods for each." ] }, { "cell_type": "markdown", "id": "e2bb999d", "metadata": {}, "source": [ "#### Defining a simple Ladder system\n", "This demonstrates how a minimal ladder system with simple values might be defined in `rydiqule`. Here we use the standard integer basis and the `add_couplings` method." ] }, { "cell_type": "code", "execution_count": 7, "id": "d956f4d9", "metadata": {}, "outputs": [], "source": [ "ladder_sensor = rq.Sensor(3)\n", "laser_01 = {\"states\": (0,1), \"detuning\": 1, \"rabi_frequency\": 3}\n", "laser_12 = {\"states\": (1,2), \"detuning\": 2, \"rabi_frequency\": 5}\n", "ladder_sensor.add_couplings(laser_01, laser_12)" ] }, { "cell_type": "markdown", "id": "90337fd5", "metadata": {}, "source": [ "To demonstrate what happens under the hood, let us inspect the `Sensor.coupling` object again, this time looking at the graph edges. We can look at just `edges`, for an overview of which nodes are coupled, or we can use `edges(data=...)` for more thorough representations." ] }, { "cell_type": "code", "execution_count": 8, "id": "591e953e", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Edge Keys: [(0, 1), (1, 2)]\n", "Edge Data: [(0, 1, {'rabi_frequency': 3, 'detuning': 1, 'phase': 0, 'kvec': (0, 0, 0), 'coherent_cc': 1.0, 'label': '(0,1)'}), (1, 2, {'rabi_frequency': 5, 'detuning': 2, 'phase': 0, 'kvec': (0, 0, 0), 'coherent_cc': 1.0, 'label': '(1,2)'})]\n", "Edge Rabi: [(0, 1, 3), (1, 2, 5)]\n" ] } ], "source": [ "print(\"Edge Keys: \", ladder_sensor.couplings.edges)\n", "print(\"Edge Data: \", ladder_sensor.couplings.edges(data=True))\n", "print(\"Edge Rabi: \", ladder_sensor.couplings.edges(data=\"rabi_frequency\"))\n" ] }, { "cell_type": "markdown", "id": "328d18d0", "metadata": {}, "source": [ "As we can see, the options described above are just the minimum; there are more keywords we can use to describe a coupling between two states. More complicated uses will be discussed in detail in other places in this notebook, but here is a brief overview of each optimal argument:\n", "1. `phase` describes the relative phase of a field, and will scale the corresponding off-diagonal terms with an $e^{i\\theta}$ phase offset.\n", "2. `kvec ` is a description of a laser's k-vector, and is described by (x,y,z) components. This is relevant when we discuss doppler-broadened calculations later. For now, leaving it at the default will ignore doppler effects.\n", "3. `coherent_cc` is a general abstraction of what is essentially a Clebsch-Gordon coefficient. These will become relevant when we discuss coupling manifolds of states later. The default is 1, and that will effectively ignore the value.\n", "4. `label` is a string shorthand that can reference the coupling in some other contexts. Useful labels might include `\"blue\"`, `\"red\"`, `\"probe\"`, `\"pumping\"`. This label will enforce nothing with regards to physics, but may be helpful. If it is not supplied, it will default to a string cast of the tuple describing the states, as above.\n", "\n", "Any of these values can be defined in the coupling in the exact same manner as \"detuning\" or \"rabi_frequency\"." ] }, { "cell_type": "markdown", "id": "94735dfc-a751-4ef6-89e7-5b1a3c16b7d0", "metadata": {}, "source": [ "#### Printing `Sensor` Data\n", "Since calling that info above is a little bit tedious, `rydiqule` also supports directly printing a sensor using python's `print()` function, which will summarize basic information about a `Sensor`. We will typically use this method of displaying information about the graph in these notebooks, since it prints in a more readable way." ] }, { "cell_type": "code", "execution_count": 9, "id": "e81df5a0-0231-4c10-a3c6-5ad0f981b38a", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " object with 3 states and 2 coherent couplings.\n", "States: [0, 1, 2]\n", "Coherent Couplings: \n", " (0,1): {rabi_frequency: 3, detuning: 1, phase: 0, kvec: (0, 0, 0), coherent_cc: 1.0, label: (0,1)}\n", " (1,2): {rabi_frequency: 5, detuning: 2, phase: 0, kvec: (0, 0, 0), coherent_cc: 1.0, label: (1,2)}\n", "Decoherent Couplings:\n", " None\n", "Energy Shifts:\n", " None\n" ] } ], "source": [ "print(ladder_sensor)" ] }, { "cell_type": "markdown", "id": "daefd06c-09e3-4d9b-acdd-e792f97a080b", "metadata": {}, "source": [ "We will discuss Decoherent Couplings and Energy shifts, later, but for now we can see this is a substantially easier way to view information about the `Sensor`" ] }, { "cell_type": "markdown", "id": "cc17b636", "metadata": {}, "source": [ "#### Automatic Hamiltonian generation\n", "Once the system is defined, we can see the Hamiltonian matrix. In many ways, this is the core piece of `rydiqule` that makes it useful. You usually will not need to call this explicitly (it will be called internally by a solver, more on that later), but it can be useful to make sure the system is defined as expected." ] }, { "cell_type": "code", "execution_count": 10, "id": "5ef27e41", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[[ 0. +0.j 1.5+0.j 0. +0.j]\n", " [ 1.5-0.j -1. +0.j 2.5+0.j]\n", " [ 0. +0.j 2.5-0.j -3. +0.j]]\n" ] } ], "source": [ "print(ladder_sensor.get_hamiltonian())" ] }, { "cell_type": "markdown", "id": "8669c5f5", "metadata": {}, "source": [ "Note the detuning sign convention. We have added a positive detuning value to the system. `rydiqule` chooses a rotating frame automatically, and there is no user-configurable option to change it. The roating frame chosen is one in which a detuning of 1 corresponds to an term of -1 on the Hamiltonian diagonal." ] }, { "cell_type": "markdown", "id": "e35c7ebd", "metadata": {}, "source": [ "#### Defining a simple Vee scheme\n", "We can do something similar, but with a different arrangement of couplings, and using explicit strings to define the basis. We can also pass fields in the constructor if we like." ] }, { "cell_type": "code", "execution_count": 11, "id": "869e064d", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[('g', 'e1', 'red'), ('g', 'e2', 'blue')]\n", "[[ 0. +0.j 1.5+0.j 2.5+0.j]\n", " [ 1.5-0.j -1. +0.j 0. +0.j]\n", " [ 2.5-0.j 0. +0.j -2. +0.j]]\n" ] } ], "source": [ "basis = [\"g\", \"e1\", \"e2\"]\n", "laser_01 = {\"states\": (\"g\",\"e1\"), \"detuning\": 1, \"rabi_frequency\": 3, \"label\":\"red\"}\n", "laser_02 = {\"states\": (\"g\",\"e2\"), \"detuning\": 2, \"rabi_frequency\": 5, \"label\":\"blue\"}\n", "sensor_v = rq.Sensor(basis, laser_01, laser_02)\n", "print(sensor_v.couplings.edges(data=\"label\"))\n", "print(sensor_v.get_hamiltonian())" ] }, { "cell_type": "markdown", "id": "e345cbc4", "metadata": {}, "source": [ "#### Defining a simple Lambda scheme\n", "Here is another system, this time a lambda scheme. Here we demonstrate another way to add couplings using the `add_coupling` function. This function behaves equivalently to `add_couplings`, and which you choose is up to preference.\n", "As one final way of defing our basis, let's use tuples here. This can be a little more involved, but occasionally useful in large sytems. As discussed above, we will alias the states so couplings don't start getting clunky to define. We also show the `expand_statespec` function to turn the `e` variable into a list of all possible values." ] }, { "cell_type": "code", "execution_count": 12, "id": "d1f43ef5", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "e states: [(1, -1), (1, 0), (1, 1)]\n", " object with 4 states and 3 coherent couplings.\n", "States: [(0, 0), (1, -1), (1, 0), (1, 1)]\n", "Coherent Couplings: \n", " ((0, 0),(1, -1)): {rabi_frequency: 1, detuning: 1, phase: 0, kvec: (0, 0, 0), coherent_cc: 1.0, label: ((0, 0),(1, -1))}\n", " ((1, -1),(1, 0)): {rabi_frequency: 2, detuning: 2, phase: 0, kvec: (0, 0, 0), coherent_cc: 1.0, label: ((1, -1),(1, 0))}\n", " ((1, 1),(1, 0)): {rabi_frequency: 3, detuning: 3, phase: 0, kvec: (0, 0, 0), coherent_cc: 1.0, label: ((1, 1),(1, 0))}\n", "Decoherent Couplings:\n", " None\n", "Energy Shifts:\n", " None\n", "[[ 0. +0.j 0.5+0.j 0. +0.j 0. +0.j]\n", " [ 0.5-0.j -1. +0.j 1. +0.j 0. +0.j]\n", " [ 0. +0.j 1. -0.j -3. +0.j 1.5-0.j]\n", " [ 0. +0.j 0. +0.j 1.5+0.j 0. +0.j]]\n" ] } ], "source": [ "g = (0,0)\n", "e = (1, [-1,0,1])\n", "print(\"e states: \", rq.expand_statespec(e)) #just creates a list, no physics is done here\n", "[e1, e2, e3] = rq.expand_statespec(e) #unpack the list for easy use later.\n", "\n", "sensor_lambda = rq.Sensor([g, e]) #note that ryqiqule will automatically unpack e into a list\n", "\n", "sensor_lambda.add_coupling((g, e1), rabi_frequency=1, detuning=1)\n", "sensor_lambda.add_coupling((e1,e2), rabi_frequency=2, detuning=2)\n", "sensor_lambda.add_coupling((e3,e2), rabi_frequency=3, detuning=3) #tuples always go from low to high energy by convention\n", "\n", "print(sensor_lambda)\n", "print(sensor_lambda.get_hamiltonian())" ] }, { "cell_type": "markdown", "id": "5b11a6a3", "metadata": {}, "source": [ "#### Systems that are not fully coupled\n", "We can also define a system in which not all states are connected explicitly by couplings. This allows us to solve systems which, for example, have states coupled only by decoherence. This exact use case will be demonstrated later, but we can set up the system and show the hamiltonian here. \n", "\n", "The hamiltonaian works by treating an uncoupled states as a \"second ground state\", and calculates digonal hamiltonian elements from there. We show a 4-level system in which state 4 is coupled to state 5 via a steady state rf transition, but to no other states. It should be noted that calling an rf transition does not change the way the system is solved here.\n", "\n", "Looking at the hamiltonian, we can see that the 4th term along the diagonal is 0, and the 5th term counts from there." ] }, { "cell_type": "code", "execution_count": 13, "id": "123d8da6", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[[ 0. +0.j 1.5+0.j 0. +0.j 0. +0.j 0. +0.j]\n", " [ 1.5-0.j -1. +0.j 2.5+0.j 0. +0.j 0. +0.j]\n", " [ 0. +0.j 2.5-0.j -3. +0.j 0. +0.j 0. +0.j]\n", " [ 0. +0.j 0. +0.j 0. +0.j 0. +0.j 0.5+0.j]\n", " [ 0. +0.j 0. +0.j 0. +0.j 0.5-0.j -8. +0.j]]\n" ] } ], "source": [ "sensor_uncoupled = rq.Sensor(5)\n", "laser_01 = {\"states\": (0,1), \"detuning\": 1, \"rabi_frequency\": 3}\n", "laser_12 = {\"states\": (1,2), \"detuning\": 2, \"rabi_frequency\": 5}\n", "rf = {\"states\": (3,4), \"detuning\": 8, \"rabi_frequency\": 1}\n", "sensor_uncoupled.add_couplings(laser_01, laser_12, rf)\n", "\n", "print(sensor_uncoupled.get_hamiltonian())" ] }, { "cell_type": "markdown", "id": "2f38a529", "metadata": {}, "source": [ "In some more complicated cases, we may want a more concrete visual reassurance that everything is defined correctly. `rydiqule` makes use of the `leveldiagram` library (which uses matplotlib as a backend) to help draw visual representations of a `Sensor`. In the drawing below, we can see that the diagram indeed shows that states 2 and 3 are not coupled. Keep in mind that these drawings have limitations. Especially in very large, highly-coupled systems, the output can get quite cramped, although it is still a helpful sanity check." ] }, { "cell_type": "code", "execution_count": 14, "id": "8f7b940a", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 14, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "rq.draw_diagram(sensor_uncoupled)" ] }, { "cell_type": "markdown", "id": "af2548f3", "metadata": {}, "source": [ "### 1.5 Coupling state manifolds\n", "So far we have shown the basics of adding couplings. There is one final important detail regard coherent couplings, and that is the use of `add_coupling` to couple entire groups of states with a single call. To do so, we define a `statespec` as in the Lambda example above. Let's construct a similar `Sensor`. " ] }, { "cell_type": "code", "execution_count": 15, "id": "2e0cfa8c", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[(0, 0), (1, -1), (1, 0), (1, 1)]\n" ] } ], "source": [ "g = (0,0)\n", "e = (1, [-1,0,1])\n", "[e1, e2, e3] = rq.expand_statespec(e)\n", "\n", "sensor_man = rq.Sensor([g, e])\n", "print(sensor_man.couplings.nodes)" ] }, { "cell_type": "markdown", "id": "eb9cf9ba", "metadata": {}, "source": [ "Once we have the `Sensor` defined, we can actually couple the ground state to every excited state with a single call by simply treating `e` as one state. Note that in this case, `\"label\"` becomes a required argument. Defining in this way will automagically loop over every state in the `e` \"manifold\" and add a coupling between `g` and each one. Let's add the coupling and see what edges get added. " ] }, { "cell_type": "code", "execution_count": 16, "id": "bde7e161", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " object with 4 states and 3 coherent couplings.\n", "States: [(0, 0), (1, -1), (1, 0), (1, 1)]\n", "Coherent Couplings: \n", " ((0, 0),(1, -1)): {rabi_frequency: 2, detuning: 1, phase: 0, kvec: (0, 0, 0), label: probe_0, coherent_cc: 1.0}\n", " ((0, 0),(1, 0)): {rabi_frequency: 2, detuning: 1, phase: 0, kvec: (0, 0, 0), label: probe_1, coherent_cc: 1.0}\n", " ((0, 0),(1, 1)): {rabi_frequency: 2, detuning: 1, phase: 0, kvec: (0, 0, 0), label: probe_2, coherent_cc: 1.0}\n", "Decoherent Couplings:\n", " None\n", "Energy Shifts:\n", " None\n" ] } ], "source": [ "sensor_man.add_coupling((g,e), rabi_frequency=2, detuning=1, label=\"probe\")\n", "print(sensor_man)" ] }, { "cell_type": "markdown", "id": "20238aa5", "metadata": {}, "source": [ "Note that as-is, these 3 states are degenerate. There are a few modifications we can make.\n", "1. We can use the `add_energy_shifts` function to break the degeneracy. This will have the effect of adding diagonal terms to the hamiltonian. \n", "2. Now the `coherent_cc` we saw above becomes relevant. We can add a dictionary that represents a \"weighting\" to each individual coupling in the group, and pass it under the \"coupling_coefficients\" keyword. This will not change the rabi_frequency directly, but it will apply a prefactor to the rabi_frequency when generating the hamiltonian.\n", "\n", "We will re-make the sensor, and make some sensible choices to demonstate `energy_shifts` and `coupling_coefficients`, in this case using dictionaries. Take a moment to understand this part: it is crucial to understand how to do more advanced calculations. Here we also see where the `Energy Shifts` section of the printout comes in." ] }, { "cell_type": "code", "execution_count": 17, "id": "8e09e231", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " object with 4 states and 3 coherent couplings.\n", "States: [(0, 0), (1, -1), (1, 0), (1, 1)]\n", "Coherent Couplings: \n", " ((0, 0),(1, -1)): {rabi_frequency: 2, detuning: 1, phase: 0, kvec: (0, 0, 0), label: foo_0, coherent_cc: 0.25}\n", " ((0, 0),(1, 0)): {rabi_frequency: 2, detuning: 1, phase: 0, kvec: (0, 0, 0), label: foo_1, coherent_cc: 0.5}\n", " ((0, 0),(1, 1)): {rabi_frequency: 2, detuning: 1, phase: 0, kvec: (0, 0, 0), label: foo_2, coherent_cc: 0.25}\n", "Decoherent Couplings:\n", " None\n", "Energy Shifts:\n", " (1, -1): -0.1\n", " (1, 1): 0.1\n" ] } ], "source": [ "g = (0,0)\n", "e = (1, [-1,0,1])\n", "[e1, e2, e3] = rq.expand_statespec(e)\n", "\n", "#defing coupling coefficients and energy shifts\n", "cc = {\n", " (g,e1): 0.25,\n", " (g,e2): 0.5,\n", " (g,e3): 0.25\n", "}\n", "e_shifts = {e1:-0.1, e3: 0.1} \n", "sensor_man = rq.Sensor([g, e])\n", "sensor_man.add_energy_shifts(e_shifts)\n", "sensor_man.add_coupling((g,e), detuning=1, rabi_frequency=2, coupling_coefficients=cc, label=\"foo\")\n", "\n", "print(sensor_man)" ] }, { "cell_type": "markdown", "id": "7c948875", "metadata": {}, "source": [ "One thing to note here is that `e_shift` actually adds an edge from a node to itself. This isn't a crucial detail, but can be helpful to know if you need to debug a complicated system. Now that everything on the graph makes sense, lets see what the Hamiltonian does:" ] }, { "cell_type": "code", "execution_count": 18, "id": "ffa0b3da", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[[ 0. +0.j 0.25+0.j 0.5 +0.j 0.25+0.j]\n", " [ 0.25-0.j -1.1 +0.j 0. +0.j 0. +0.j]\n", " [ 0.5 -0.j 0. +0.j -1. +0.j 0. +0.j]\n", " [ 0.25-0.j 0. +0.j 0. +0.j -0.9 +0.j]]\n" ] } ], "source": [ "print(sensor_man.get_hamiltonian())" ] }, { "cell_type": "markdown", "id": "4a5de694", "metadata": {}, "source": [ "We have broken the energy level degeneracy with some terms added along the diagonal, and given a stronger coupling to the `(1,0)` state." ] }, { "cell_type": "markdown", "id": "1b0447bb", "metadata": {}, "source": [ "### 1.6 Decoherent transitions\n", "There is one more important aspect of defining the `Sensor` graph that we have not discussed (which we can actually see as absent in the`Sensor` printout), and that is decoherent couplings. Decays of this sort are added with the `add_decoherence` function, which works very similarly to the `add_coupling` function. State manifolds and coupling coefficients work in an identical manner. Here we can copy the `Sensor` we used above, and add a decoherence in coupling the excited manifold to the ground state. The only minor difference is that decoherences do not use keyword arguments, but added with a single required argument defining the decay rate, again in Mrad/sec." ] }, { "cell_type": "code", "execution_count": 19, "id": "b039f87d", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[[ 0. +0.j 0.25+0.j 0.5 +0.j 0.25+0.j]\n", " [ 0.25-0.j -1.1 +0.j 0. +0.j 0. +0.j]\n", " [ 0.5 -0.j 0. +0.j -1. +0.j 0. +0.j]\n", " [ 0.25-0.j 0. +0.j 0. +0.j -0.9 +0.j]]\n" ] } ], "source": [ "g = (0,0)\n", "e = (1, [-1,0,1])\n", "[e1, e2, e3] = rq.expand_statespec(e)\n", "\n", "#defing coupling coefficients and energy shifts\n", "cc = {\n", " (g,e1): 0.25,\n", " (g,e2): 0.5,\n", " (g,e3): 0.25\n", "}\n", "e_shifts = {e1:-0.1, e3: 0.1} \n", "\n", "sensor_man = rq.Sensor([g, e])\n", "sensor_man.add_energy_shifts(e_shifts)\n", "sensor_man.add_coupling((g,e), detuning=1, rabi_frequency=2, coupling_coefficients=cc, label=\"foo\")\n", "sensor_man.add_decoherence((e,g), 0.1, label=\"bar\")\n", "print(sensor_man.get_hamiltonian())" ] }, { "cell_type": "markdown", "id": "163dccc3", "metadata": {}, "source": [ "Obviously, the hamiltonian will be the same, but we can inspect what got added to the graph again using `Sensor.couplings.edges`. We will then get the decoherence matrix with `decoherence_matrix`, similarly to `get_hamiltonian()`. We will discuss how the decoherence matrix is used in more detail below when we discuss solving." ] }, { "cell_type": "code", "execution_count": 20, "id": "355a58c1", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Graph Edges: \n", "[((0, 0), (1, -1), {'rabi_frequency': 2, 'detuning': 1, 'phase': 0, 'kvec': (0, 0, 0), 'label': 'foo_0', 'coherent_cc': 0.25}), ((0, 0), (1, 0), {'rabi_frequency': 2, 'detuning': 1, 'phase': 0, 'kvec': (0, 0, 0), 'label': 'foo_1', 'coherent_cc': 0.5}), ((0, 0), (1, 1), {'rabi_frequency': 2, 'detuning': 1, 'phase': 0, 'kvec': (0, 0, 0), 'label': 'foo_2', 'coherent_cc': 0.25}), ((1, -1), (1, -1), {'e_shift': -0.1, 'label': '(1, -1)'}), ((1, -1), (0, 0), {'gamma_bar': 0.1, 'label': '((1, -1),(0, 0))'}), ((1, 0), (0, 0), {'gamma_bar': 0.1, 'label': '((1, 0),(0, 0))'}), ((1, 1), (1, 1), {'e_shift': 0.1, 'label': '(1, 1)'}), ((1, 1), (0, 0), {'gamma_bar': 0.1, 'label': '((1, 1),(0, 0))'})]\n", "Decoherence matrix: \n", "[[0. 0. 0. 0. ]\n", " [0.1 0. 0. 0. ]\n", " [0.1 0. 0. 0. ]\n", " [0.1 0. 0. 0. ]]\n" ] } ], "source": [ "print(\"Graph Edges: \")\n", "print(sensor_man.couplings.edges(data=True))\n", "print(\"Decoherence matrix: \")\n", "print(sensor_man.decoherence_matrix())" ] }, { "cell_type": "markdown", "id": "fd1c2582", "metadata": {}, "source": [ "The edges are getting quite busy, but we will spot `\"gamma_bar\"` attributes on the expected graph edges. This is the convention used by `rydiqule`: when `add_decoherence` or a related function is called, and `label` is provided, the associated key on the graph will be `\"gamma_\" + label`. If no `label` is provided, simply `\"gamma\"` will be used for the key. When `decoherence_matrix` is called, every attribute on each edge that starts with `\"gamma\"` will be added together and placed on the appropriate term of a decoherence matrix. \n", "\n", "There are a few more functions to be aware of when it comes to definining decoherence rates:\n", "1. `add_transit_broadening` will add a decoherence from each state to the ground state (by default) or to a particular set of ground states. This function is designed to account for atoms which move out of a laser and are replaced by atoms in their ground state(s). Fractional transit broadenings are specified with the `repop` keyword arg.\n", "2. `add_self_broadening` will add a decoherence from a state to itself to account for a atoms losing coherence; remaining in the same state.\n", "3. `set_gamma_matrix` takes a square numpy array as an argument, then applies an appropriate `\"gamma\"` value to each graph edge." ] }, { "cell_type": "markdown", "id": "6a2f2370-d959-4d4f-85e7-adc356a09792", "metadata": {}, "source": [ "We have printed attributes directly from the graph for the purposes of demonstrating what is happening under the hood. Unless you need to inspect attributes of the graph directly, a simple `print` statement will give us a more readable output." ] }, { "cell_type": "code", "execution_count": 21, "id": "135e62bb-a1ef-4194-9c33-2d955b7b61aa", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " object with 4 states and 3 coherent couplings.\n", "States: [(0, 0), (1, -1), (1, 0), (1, 1)]\n", "Coherent Couplings: \n", " ((0, 0),(1, -1)): {rabi_frequency: 2, detuning: 1, phase: 0, kvec: (0, 0, 0), label: foo_0, coherent_cc: 0.25}\n", " ((0, 0),(1, 0)): {rabi_frequency: 2, detuning: 1, phase: 0, kvec: (0, 0, 0), label: foo_1, coherent_cc: 0.5}\n", " ((0, 0),(1, 1)): {rabi_frequency: 2, detuning: 1, phase: 0, kvec: (0, 0, 0), label: foo_2, coherent_cc: 0.25}\n", "Decoherent Couplings:\n", " ((1, -1),(0, 0)): {gamma_bar: 0.1}\n", " ((1, 0),(0, 0)): {gamma_bar: 0.1}\n", " ((1, 1),(0, 0)): {gamma_bar: 0.1}\n", "Energy Shifts:\n", " (1, -1): -0.1\n", " (1, 1): 0.1\n" ] } ], "source": [ "print(sensor_man)" ] }, { "cell_type": "markdown", "id": "680980ea", "metadata": {}, "source": [ "---\n", "## 2. Solving a `Sensor` in the steady-state case\n", "So far we have just created sensor objects and shown their corresponding Hamiltonians. The most important functionality of `rydiqule`, however, is solving their associated equations of motion automatically. Here we will demonstrate some of the ways to solve a simple system using `rydiqule`." ] }, { "cell_type": "markdown", "id": "40b07499", "metadata": {}, "source": [ "### 2.1 What is `rydiqule` actually solving?\n", "In the section title, we simply refer to \"solving a sensor\". When we discuss solving a system, what we mean is that we are solving the Lindblad Master Equation associated with the system described by our `Sensor`: \n", "\n", "$$ \\dot{\\rho} = -i[\\hat{H}, \\rho] - \\mathcal{L} $$\n", "\n", "where $\\mathcal{L}$ is the Lindblad operator that accounts for non-unitary dephasing effects.\n", "\n", "When `rydiqule` solves in the steady state, what is ultimately produced is the steady-state solution of that differential equation. `rydiqule` is capable of inferring the relevant matrix quantities from the graph defined by a `Sensor`, as we have seen above." ] }, { "cell_type": "markdown", "id": "606167f5", "metadata": {}, "source": [ "### 2.2 Basic Solving in the steady state\n", "If all we need is steady state behavior of a particular system, it is straightforward and quick in `rydiqule`. By wrapping a simple matrix differential equation solver, `rydiqule` can quickly get the steady state frequencies of each element of the density matrix $\\rho$ of the system. We start by re-defining the same ladder system we had at the beginning of the notebook." ] }, { "cell_type": "code", "execution_count": 22, "id": "fc00a49a", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[[0. 0. 0. ]\n", " [0.1 0. 0. ]\n", " [0.1 0. 0. ]]\n" ] } ], "source": [ "basis_size = 3\n", "sensor_demo = rq.Sensor(basis_size)\n", "\n", "laser_01 = {\"states\": (0,1), \"detuning\": 1, \"rabi_frequency\": 3}\n", "laser_12 = {\"states\": (1,2), \"detuning\": 2, \"rabi_frequency\": 5}\n", "sensor_demo.add_couplings(laser_01, laser_12)\n", "\n", "gamma = np.zeros((basis_size, basis_size))\n", "gamma[1:,0] = 0.1\n", "print(gamma)\n", "sensor_demo.set_gamma_matrix(gamma)" ] }, { "cell_type": "markdown", "id": "cdbd8d0c", "metadata": {}, "source": [ "Now, instead of showing the Hamiltonian, we can just call the `rydiqule.solve_steady_state()` function on `sensor` and get the result." ] }, { "cell_type": "code", "execution_count": 23, "id": "bb3b068d", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n" ] } ], "source": [ "solution_demo = rq.solve_steady_state(sensor_demo)\n", "print(solution_demo)" ] }, { "cell_type": "markdown", "id": "6b0edc57", "metadata": {}, "source": [ "### 2.3 The `Solution` object\n", "As you can see, the solution itself is not an array, but an object containing some extra information. When `rydiqule` solves a system, it saves the solution, but also many other things relevant to the solve (including the graph itself), so that relevant quantities about the original `Sensor` and solve can be computed and reproduced. Since the above output is a bit cluttered, let's contain outselves to just the important quanties for now. First, `couplings` is just a copy of the `Sensor.couplings` graph discussed above for the `Sensor` on which `solve_steady_state` was called. Next, `rho` is the density matrix solution of the system, but there is a catch." ] }, { "cell_type": "code", "execution_count": 24, "id": "8324b76b", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Couplings: DiGraph with 3 nodes and 4 edges\n", "rho: [-0.09225689 -0.1820376 0.01617957 0.27218216 0.21003648 0.00831697\n", " 0.0042641 0.21320497]\n", "8\n" ] } ], "source": [ "print(f\"Couplings: {solution_demo.couplings}\")\n", "print(f\"rho: {solution_demo.rho}\")\n", "print(len(solution_demo.rho))" ] }, { "cell_type": "markdown", "id": "509860c6", "metadata": {}, "source": [ "#### Adjustments to the equations\n", "So why does the solution have 8 elements? Why is it real? Why is it 1-dimensional? After all, it represents a density matrix, which should have $n^2$ complex-valued elements ($3^2=9$ in this case), ideally arranged in square.\n", "\n", "For numerical stability, `rydiqule` removes the ground state population equations, so the $\\rho_{00}$ term is omitted from the solution (typically $\\rho_{00} >> \\rho_{ij}$ for $ij \\neq 00$, which is the source of the numerical problems). If needed, it can be inferred as $\\rho_{00} = 1 - \\sum_{i=1}^{n} \\rho_{ii}$. Furthermore, rydiqule transforms the basis so that all values are real. Rather than an $n\\times n$ Hermitian matrix, `rydiqule` parameterizes the density matrix $\\rho$ as $n\\times n$ real values before removing the ground state, for a total of $n^2-1$ values. For more details, refer to the [documentation](https://rydiqule.readthedocs.io/page/writeups/eom_notes.html#removing-the-ground-state). We really do wish these modifications were not necessary, but keeping the ground state population and complex density matrix elememts resulted in unphysical soulutions during development.\n", "\n", "So how do we know (ideally quickly) which element of the solution corresponds to which density matrix element? The `Solution` contains an attribute called `dm_basis` which does exactly this, containing a list of strings showing the info we want. Since the density matrix is hermitian and trace 1, this array does indeed contain all of the information of the density matrix. Note that `dm_basis` does not include $\\rho_{00}$ since the ground state is removed by the solver.\n", "\n", "We choose to keep this basis in rydiqule since it is more transparent to what `rydiqule` does under the hood, and is used in further calculations. " ] }, { "cell_type": "code", "execution_count": 25, "id": "9f92dfcc", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "['10_real' '20_real' '10_imag' '11_real' '21_real' '20_imag' '21_imag'\n", " '22_real']\n" ] } ], "source": [ "print(solution_demo.dm_basis)" ] }, { "cell_type": "markdown", "id": "4e9fb54e", "metadata": {}, "source": [ "If we quickly want a particular full complex density matrix element, the `rho_ij` function does precisely that:" ] }, { "cell_type": "code", "execution_count": 26, "id": "3534c97e", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "rho_10 = (-0.09225688789212251+0.016179570807727885j)\n" ] } ], "source": [ "print(f\"rho_10 = {solution_demo.rho_ij(1,0)}\")" ] }, { "cell_type": "markdown", "id": "3647776a", "metadata": {}, "source": [ "There are a few other functions to be aware of in a `Solution` object. Some commonly-computed quantities that might be derived from a density matrix solution. Before we discuss them, it is worth a brief aside on the `Solution.probe_tuple` quantity. It is a quantity that is derived from the `Sensor` that is the transition over which, by default, observable calculations will be made. So in the absence of any other information, when observable values are computed, they are computed for the density matrix elements that are defined by the `probe_tuple`. The `probe_tuple` is set by the first coupling that is added with the `add_coupling` function in `Sensor` (equivalently, the first dictionary passed to `add_couplings`). While this quantity can be set manually, it is usually better practice to define whatever the probing transition (usually the laser you will be measuring) first, and not change `probe_tuple` manually when it can be avoided. To demonstrate this, we can see what `probe_tuple` is in both the `Sensor` and `Solution`." ] }, { "cell_type": "code", "execution_count": 27, "id": "72058171", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "(0, 1)\n", "(0, 1)\n" ] } ], "source": [ "print(sensor_demo.probe_tuple)\n", "print(solution_demo.probe_tuple)" ] }, { "cell_type": "markdown", "id": "f4f1c84a", "metadata": {}, "source": [ "As expected, this is the the first coupling added to the system. Below is a (very) brief example to show the `probe_tuple` being added." ] }, { "cell_type": "code", "execution_count": 28, "id": "5f983dee", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "None\n", "(0, 2)\n", "(0, 2)\n" ] } ], "source": [ "sensor_probe = rq.Sensor(3)\n", "print(sensor_probe.probe_tuple)\n", "sensor_probe.add_coupling((0,2), rabi_frequency=1, detuning=0)\n", "print(sensor_probe.probe_tuple)\n", "sensor_probe.add_coupling((1,2), rabi_frequency=1, detuning=0)\n", "print(sensor_probe.probe_tuple)" ] }, { "cell_type": "markdown", "id": "68bff444", "metadata": {}, "source": [ "With the `probe_tuple` cleared up, we can explore a few of the other functions in a `Solution`. \n", "\n", "1. `get_observable(A)` is a function which, given an observable matrix $A$, uses the density matrix definition of the expectation value of $A$, $\\langle A\\rangle = tr(\\rho A)$.\n", "2. `coupling_coefficent_matrix()` returns a matrix of all coupling coefficients on a particular transition defined by coupling. We discussed the coupling cofficients above in the context of relative coupling strength. In this way they can be thought of as a unitless analogue of the dipole moment.\n", "3. Given these two quantities, you may be developing an idea that it my be useful to pass the output of `coupling_coefficient_matrix` to `get_observable` and use that to compute susceptibility. It's such a good idea, `rydiqule` went ahead and implemented that function in `Solution.get_susceptibility()`. The value will be computed from a handful of quantities built in to `Solution`, and more details about its calculation can be found in the [docs](https://rydiqule.readthedocs.io/page/api/_autosummary/rydiqule.sensor_solution.Solution.html#rydiqule.sensor_solution.Solution.get_susceptibility). Note that this calculation will require setting the `kappa` and `probe_freq` attributes in a `Sensor` before it is solved (or, technically, in the solution itself but this is not the recommended use). Again, see [the docs](https://rydiqule.readthedocs.io/page/api/_autosummary/rydiqule.sensor.Sensor.html#rydiqule.sensor.Sensor.set_experiment_values) for further details. Note that this function will implicitly only get the observable over the `probe_tuple` transition.\n", "\n", "We will demonstrate getting the susceptibility with `get_susceptibility()` below, although keep in mind these are *very* cartoonish and unphysical values" ] }, { "cell_type": "code", "execution_count": 29, "id": "f14abfc9", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "(-0.03687722558481313+0.006467351069111717j)\n" ] } ], "source": [ "sensor_demo.set_experiment_values(kappa=1, probe_freq=1000)\n", "solution_demo = rq.solve_steady_state(sensor_demo)\n", "print(solution_demo.get_susceptibility())" ] }, { "cell_type": "markdown", "id": "9f01d3cb", "metadata": {}, "source": [ "### 2.4 Stacking: Solving for multiple values of a parameter\n", "Getting a single result is nice, but really just a single data point. One of the simplest types of experiments you might want to simulate is to scan, for example, over a range of detuning values and see the behavior of the system at each value. One of `rydiqule`'s greatest strength is its handling of simulations like this. Suppose we wanted to sweep our probe laser detuning between -10 MHz and 10 MHz. Without `rydiqule` we might write an explicit loop over a set of values, modifying and solving the system at each iteration, and storing the results in a new list. In python especially, this sort of approach has a high computational overhead. \n", "\n", "With `rydiqule`, we can set up the system similarly to above, this time as a 4-level system. However, this time, instead of using a single `float` value for a coupling parameter, we will define the $0\\leftrightarrow 1$ coupling detunuing value as a 1-dimensional numpy array constructed with the `linspace` function. after this, `rydiqule` will handle the rest." ] }, { "cell_type": "code", "execution_count": 30, "id": "d8216b9f", "metadata": {}, "outputs": [], "source": [ "basis_size = 4\n", "sensor_sweep = rq.Sensor(basis_size)\n", "\n", "detunings = 2*np.pi*np.linspace(-10,10,201) #201 values between -10 and 10 MHz\n", "probe = {\"states\":(0,1), \"detuning\": detunings, \"rabi_frequency\": 3}\n", "coupling = {\"states\":(1,2), \"detuning\": 0, \"rabi_frequency\": 5}\n", "rf = {\"states\":(2,3), \"detuning\": 0, \"rabi_frequency\":7}\n", "\n", "sensor_sweep.add_couplings(probe, coupling, rf)\n", "\n", "sensor_sweep.add_decoherence((1,0), 0.1)\n", "sensor_sweep.add_decoherence((2,1), 0.1)\n", "sensor_sweep.add_decoherence((3,0), 0.1)" ] }, { "cell_type": "markdown", "id": "8f2ed579", "metadata": {}, "source": [ "Before we continue further, let us examine the printout of the `Sensor`, and the shape of the hamiltonian produced by `get_hamiltonian`:" ] }, { "cell_type": "code", "execution_count": 31, "id": "a602e5e1", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " object with 4 states and 3 coherent couplings.\n", "States: [0, 1, 2, 3]\n", "Coherent Couplings: \n", " (0,1): {rabi_frequency: 3, detuning: , phase: 0, kvec: (0, 0, 0), coherent_cc: 1.0, label: (0,1)}\n", " (1,2): {rabi_frequency: 5, detuning: 0, phase: 0, kvec: (0, 0, 0), coherent_cc: 1.0, label: (1,2)}\n", " (2,3): {rabi_frequency: 7, detuning: 0, phase: 0, kvec: (0, 0, 0), coherent_cc: 1.0, label: (2,3)}\n", "Decoherent Couplings:\n", " (1,0): {gamma: 0.1}\n", " (2,1): {gamma: 0.1}\n", " (3,0): {gamma: 0.1}\n", "Energy Shifts:\n", " None\n", "(201, 4, 4)\n" ] } ], "source": [ "print(sensor_sweep)\n", "print(sensor_sweep.get_hamiltonian().shape)" ] }, { "cell_type": "markdown", "id": "17c8ee5b", "metadata": { "editable": true, "slideshow": { "slide_type": "" }, "tags": [] }, "source": [ "Here we see the familiar $4\\times 4$ hamiltonian, but with an additional dimension of size 201, exaclty the size of our detuning array. What `rydiqule` has done behind the scenes is generate a $4\\times 4$ Hamiltonian matrix for every detuning value in the array and place them all into a single `np.ndarray`, enabling the use of fast broadcasted numpy functions. `rydiqule` calls this \"stacking\", and it is the key behind `rydiqule`'s impressive python performace for complicated experiments. Most (although not all) parameters of a `Sensor` can be scanned in this way. The complete list of scannable parameters is:\n", "1. `detuning`\n", "2. `rabi_frequency`\n", "3. `phase`\n", "4. `e_shift`\n", "5. All decoherences\n", "\n", "An important note about `rydiqule`'s internal functions is that they are completely agnostic to what each axis of a stack represents, when run through the internal functions, all it needs to know is that something is a stack of hamiltonians. Equations, or density matrices, and the fuctions that use them are performed identically. This will be an important detail in later sections.\n", "\n", "From here, we solve exactly as before. Rydiqule will automagically solve the system for every detuning value (very quickly). We also show the utility function `get_rho_ij()` which extracts $\\rho_{ij}$ from the density matrix $\\rho$ of any solution (regardless of how many dimensions it is). We use it to get $\\rho_{01}$." ] }, { "cell_type": "code", "execution_count": 32, "id": "cf12d7f7", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Solution shape: (201, 15)\n", "Absorption_shape: (201,)\n" ] } ], "source": [ "solution = rq.solve_steady_state(sensor_sweep)\n", "print(f\"Solution shape: {solution.rho.shape}\")\n", "absorption = solution.coupling_coefficient_observable().imag\n", "print(f\"Absorption_shape: {absorption.shape}\")" ] }, { "cell_type": "markdown", "id": "0d7cdfed", "metadata": {}, "source": [ "We can see that there is a 15-element solution for each one of the detuning values. After we get the absorption using `get_rho_ij()`, we can see that we are left with a single array with 201 elements, corresponding to to the absorption at each value of detuning. Still, that was pretty fast for solving 200 equations. The function doesn't do anything special, it just is a quick way to get common info you might want out of a solution. We can now do a quick-and-dirty plot to see what it looks like:" ] }, { "cell_type": "code", "execution_count": 33, "id": "14cf7b4d-d8ab-42d5-9cc2-ceb83c5b27e7", "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAj0AAAGdCAYAAAD5ZcJyAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjgsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvwVt1zgAAAAlwSFlzAAAPYQAAD2EBqD+naQAASodJREFUeJzt3QmcU9X9///P7BvMsIwMu6BSAUFQEISiaOUHKN+/0toWqQtSCtaiorRasSBW26KgFhVapC1IqxRK6xdRKRWx1m8LgmyyCQUFAdmFWZhhtuT+H+ckJ3MzkwwzCOTe3Nfz8YhJbm6SO1cm8845n3NOgmVZlgAAAMS5xFgfAAAAwPlA6AEAAJ5A6AEAAJ5A6AEAAJ5A6AEAAJ5A6AEAAJ5A6AEAAJ5A6AEAAJ6QHOsDcBK/3y8HDhyQhg0bSkJCQqwPBwAA1IGaZ7moqEhatmwpiYnR23MIPTYq8LRp06Yu5xcAADjMvn37pHXr1lEfJ/TYqBYec9Kys7PP/f8dAADwlRUWFupGC/N3PBpCj43p0lKBh9ADAIC7nK40hUJmAADgCYQeAADgCYQeAADgCYQeAADgCYQeAADgCYQeAADgCYQeAADgCYQeAADgCYQeAADgCYQeAADgCYQeAADgCYQeAADgCYQeAJ7w5scH5J2th2J9GABiiNADIO4VllbIgws3yn1/3iAVPn+sDwdAjBB6AMS9Y0Vl4vNbUl7pl/ySilgfDoAYIfQAiHv5p6qCTsGp8pgeC4DYIfQAiHv5JVVBh5YewLsIPQDinj3onKB7C/AsQg8AT4Uee6sPAG8h9ACIe/agU2Cr7wHgLYQeAJ4qZD5BSw/gWYQeAB7r3qKlB/AqQg+AuGdv3bG3+gDwFkIPgLhnr+OhkBnwLkIPgLhH9xYAhdADwFvdW9T0AJ5F6AEQ1yp9fikqrQzdp3sL8C5CD4C4VmgLPEpxuU8vPArAewg9ADzRtZWVmiQJCYFtTFAIeBOhB0BcMzU8TRqkSk5GSnAbS1EAXkToARDXCk4FAk6jjFRpZEIPc/UAnkToARDXThQHWnoaZaZITmaqvs0ILsCbkmN9AABwLplWnUaZqZKUGCjqYf0twJsIPQDimqnfUV1bSaaQmbl6AE8i9ACIa6Yrq3FmSqilJz9Y5wPAWwg9ADzRvaXqeRJD3VssOgp4EaEHQFyjewuAQegB4I3urawUSQ4W9dC9BXgToQdAXDMBJycjVRKDUzKbYewAvIXQAyCu5dvm6TGFzCxDAXgToQdA3KpQK6yXBRYcbZyZKslm9BbLUACeROgBELcKbctNZKcnS1Kwe8ustJ6azKT0gJfwGw8gbpmh6Q3TkyU5KVFfBxt7KGYGPOiMQs/MmTOlXbt2kp6eLr1795Y1a9bUuv+iRYukY8eOev+uXbvK0qVLwx5//fXXZeDAgdK0aVNJSEiQjRs31niN6667Tj9mv/zwhz8M22fv3r0yZMgQyczMlGbNmsnDDz8slZWBpm0A3l1sVHVtKWqeHrPSOrMyA95T79CzcOFCGT9+vEyePFnWr18v3bp1k0GDBsmRI0ci7r9y5UoZPny4jBo1SjZs2CBDhw7Vly1btoT2KS4uln79+skzzzxT63uPHj1aDh48GLpMnTo19JjP59OBp7y8XL/nvHnz5JVXXpHHH3+8vj8igDgbrq6KmA21BpfCBIWA99Q79Dz//PM6fIwcOVI6d+4ss2bN0i0rc+bMibj/Cy+8IIMHD9atLp06dZKnnnpKrrzySpkxY0ZonzvvvFOHkwEDBtT63up9mjdvHrpkZ2eHHnvnnXdk27Zt8uqrr0r37t3lxhtv1O+lWqVUEALgPSeDRcxZqVXliw3SAreLg48B8I56hR4VHtatWxcWThITE/X9VatWRXyO2l49zKiWoWj71+a1116T3Nxc6dKli0yYMEFKSkrC3kd1neXl5YW9T2FhoWzdujXi65WVlenH7RcA8aO0wqevM1OTQtsyUpLCHgPgHfUavXXs2DHdjWQPFoq6v3379ojPOXToUMT91fb6+N73vicXXnihtGzZUjZt2iQ//elPZceOHboeqLb3MY9FMmXKFPn5z39er+MA4B6nygPBJj0YdJS0lMB3vVOEHsBzXDNkfcyYMaHbqkWnRYsWcsMNN8inn34qF1988Rm9pmotUvVJhmrpadOmzVk5XgCxV1rprxF6qlp6Ao8B8I56dW+prqWkpCQ5fPhw2HZ1X9XYRKK212f/ulKjxpRdu3bV+j7msUjS0tJ0XZD9AiD+WnoyUqs+6jKCXV209ADeU6/Qk5qaKj169JAVK1aEtvn9fn2/T58+EZ+jttv3V5YvXx51/7oyw9pVi495n82bN4eNIlPvo4KMKrgG4D2mbic9uaqlx9ympgfwnnp3b6nuoBEjRkjPnj2lV69eMn36dD3kXI3mUu666y5p1aqVrpdRxo0bJ/3795fnnntODylfsGCBrF27VmbPnh16zePHj+s5dg4cOKDvq1odxYzSUl1Y8+fPl5tuuknP5aNqeh566CG59tpr5fLLL9f7qnl+VLhRI8HUUHZVxzNx4kQZO3asbtEB4D0m2JjWHfttQg/gPfUOPcOGDZOjR4/qIeYqWKjh4cuWLQsVDavwokZ0GX379tWBRQWQxx57TDp06CCLFy/WI7CMJUuWhEKTctttt+lrNRfQE088oVuY3n333VDAUnU3t956q35NQ3W7vfXWW3LvvffqVp+srCwdzp588skzPzsAXM10YUUsZA52fQHwjgTLsqxYH4RTqELmnJwcKSgooL4HiAMP/HmDLPn4gEz6n84yql97vW36u/+V6e/ulNt7t5VffrNrrA8RwHn8+83aWwDivqXHjNiy32b0FuA9hB4A8V/IHOzSCtympgfwKkIPgPgvZI7Q0sOQdcB7CD0A4r+Q2TZ6y9xm9BbgPYQeAPG/DEXYPD0sQwF4FaEHQNwyxcqR5+lhGQrAawg9AOIWhcwA7Ag9ALxZyMzkhIDnEHoAxCU172qkeXpCQ9YrmZEZ8BpCD4C4VO7ziz8433xaWOhhGQrAqwg9AOKSvVA5UvdWWaVf/CYVAfAEQg+AuK7nSUpMkJSkhNB2+0guFXwAeAehB0Ccz9GTKAkJVaHHPmcPszID3kLoARCXTKGyvWVHSUxMkFQmKAQ8idADIK5betJsLTvVZ2VmKQrAWwg9ADwzG7NhtjFXD+AthB4AnpmYsOYILubqAbyE0AMgvldYD87LY2cmKDxVzugtwEsIPQDifN2tpOihJ7gPAG8g9ABw3fIS+46XnHa/SEtQGGbb6QqZzXupawDuR+gB4Covf/CZXDP1n/LGxi/qNk9PxJae4FIUpwk9r63eq99r/pq9X+mYATgDoQeAq+w4VKSvdx4+Wet+ZrbliC09qXVr6fnv4aKw9wTgboQeAK5ysqxSXxeXB65P39IToZA5uW6hp7jMF/aeANyN0APAVU6WBgJISTCQnLaQOcI8PWbb6UZvlQSDlXlPAO5G6AHgKqaF57QtPXUoZD5dTU9xsLXodO8FwB0IPQBcxbS6nG425ap5eqIXMp+ue+sULT1AXCH0AHCVojrW9JSZZSi+wpB1U9Nj3hOAuxF6ALhKcTCAlNS5pSf6jMynCz2mpse8JwB3I/QAcA2f3wqFndMFkbMxI7Op6aGQGYgPhB4ArmHv0qprS0/thcynGb0V6krzid/PrMyA2xF6ALiGvcXltKGn1hmZT9+9pZaeKLE9zgguwP0IPQBcw96lZeptTjsjc4R5ejJSTz96q7TCL/Ylt0xRMwD3IvQAcA37KKoKnyXlwWBTW0tPRm01PbW0FlVv2TlZVnFGxwzAOQg9AFyjekFxba09dRq9VRk99FSf8bmIWZkB1yP0AHCN6iO2zOiq+o7eChUy17IMRfWWHrq3APcj9ABwjeqTBJoZk6tTI61MTc+ZFjJXL5SmewtwP0IPAPe29EQpLjaB56vMyFy96+wkhcyA6xF6ALi2pifaMHL7pIO1dW9V+i2p8EXu4qoeqE6WUsgMuB2hB4BrnKwWcqoXG1cPPalJiZKUmFDj8TRbcXO01p7qLT211Q8BiOPQM3PmTGnXrp2kp6dL7969Zc2aNbXuv2jRIunYsaPev2vXrrJ06dKwx19//XUZOHCgNG3aVBISEmTjxo1hjx8/flzuv/9+ufTSSyUjI0Patm0rDzzwgBQUFITtp55b/bJgwYIz+REBuLilp6qIOfJHXFpyoiQEs1C0pSiqhxxGbwEeDD0LFy6U8ePHy+TJk2X9+vXSrVs3GTRokBw5ciTi/itXrpThw4fLqFGjZMOGDTJ06FB92bJlS2if4uJi6devnzzzzDMRX+PAgQP68uyzz+rnvfLKK7Js2TL9mtXNnTtXDh48GLqo9wIQH07WKGT21T5HT4SJCRX1hShU1xNlBFf1ImkKmQH3S67vE55//nkZPXq0jBw5Ut+fNWuWvP322zJnzhx59NFHa+z/wgsvyODBg+Xhhx/W95966ilZvny5zJgxQz9XufPOO/X1nj17Ir5nly5d5G9/+1vo/sUXXyy//OUv5Y477pDKykpJTq76MRo1aiTNmzev748FII6GrNc2XN1Qj6kRWtHm6qle08OQdcBjLT3l5eWybt06GTBgQNULJCbq+6tWrYr4HLXdvr+iWoai7V9XqmsrOzs7LPAoY8eOldzcXOnVq5cOYmr9nGjKysqksLAw7ALAuUwXU8P05LAFQSMtIRFt5FbNuXpqr+kx70X3FuCx0HPs2DHx+XySl5cXtl3dP3ToUMTnqO312b+ux6FajMaMGRO2/cknn5S//OUvuiXp1ltvlR/96Efy0ksvRX2dKVOmSE5OTujSpk2bMz4mAOeeqeFp1jAteL/2Qua0WkKPKWY+XU1P6L2iBCwAcdy9FWuqNWbIkCHSuXNneeKJJ8IemzRpUuj2FVdcoWuFpk2bpoueI5kwYYKuT7K/NsEHcH4hc7OG6fLp0eKokxOa7q2MKIXMdZmrx7QAmfeqXk8EIM5belS3UVJSkhw+fDhsu7ofrY5Gba/P/rUpKirS9UENGzaU//3f/5WUlJRa91cjy/bv36+7sSJJS0vTXWT2CwDnMhMENsuuW0tPXbq3ooUe07ITei9CD+Ct0JOamio9evSQFStWhLb5/X59v0+fPhGfo7bb91dU91O0/aNRrTBqWLs6hiVLlujh76ejhr43btxYhxsA7mdGUOVlp9e64GhdC5lr694yy1CY96q+BAYAD3Rvqe6gESNGSM+ePXWx8PTp03U3khnNddddd0mrVq10vYwybtw46d+/vzz33HO6W0rNm7N27VqZPXt22Dw8e/fu1cPSlR07duhr1RqkLibwlJSUyKuvvhpWdHzBBRfo1qc333xTtyBdffXVOhCpYPWrX/1KfvKTn5ydMwUgpip9/lCBclWdTe2jt2pr6alaf8tft/ohQg/gvdAzbNgwOXr0qDz++OO6GLl79+56zhxTrKzCixrRZfTt21fmz58vEydOlMcee0w6dOggixcv1sPQDdVyY0KTctttt+lrNReQqttR8wGtXr1ab7vkkkvCjmf37t16okTV1aUmTXzooYf0iC21nxleD8D97AHngmAQidbSY1ZPT48yT499Dp+oo7dCXWmmVcknPr8VcYZnAHFcyHzffffpSyTvv/9+jW3f+c539CWau+++W1+iue6662odeq6oWh91ARCfioJdW6nJiZKTkRJxJXTDzL2TnlxLS09y4MtZtHl6SirCW3oUVcxs3huA+7D2FgBXtfQ0TEuWrLTgPD2nmZE52jIU9WnpaZyZKilJgdYdurgAdyP0AHBVEXOD9GTJDAaWaCHEdHuZcFRb6IkWnExNj3qvBsHXYdg64G6EHgCuGq6elZqsL7UGltC+0bu3GgRfI1JwUrU7psBZh57grMyEHsDdCD0AXDUxoW7pSQu29JRXRqz3M8PLG6RHr78xQSbSUHR7gbRqLcoKBqTqq7wDcBdCDwBXMC0yqqspKxhCVN4pq/TXsm/0lh7T9RWppcfU+aiBWmnJiaH1t6jpAdyN0APAFUKtN2nJYfPvRAoiZlttNT2mTifi84OhJys1WRISEkKvwwSFgLsRegC4gulaUgEkMTEhFHwi1fWcrEPoMY+ZWiE7E4RMN1qokJnuLcDVCD0AXMGMpjJdTVm2up5ooUcNb4+makRWYFSYnQlSmcFuNLq3gPhA6AHgCkWmpScYREwgibQURf26t3y1Dle3vyejtwB3I/QAcIVQcXKwpSczyuSCZZU+qfBZdejeSooaZMxrZgXDDkPWgfhA6AHgCierjcgKTVBYrXvL3nJT6zw9wUBUXunXlzrV9LDoKOBqhB4ArlAVegJz71QtRREeekyxsSp0Tk6K/hFnbwWqPoLL1PRkmZaeWkZ6AXAPQg8Al43eqtbSU60mpy4jt5SUpEQ9B4/9OYZpPTJLVYSGrDN6C3A1Qg8AV6i+nlZWaCmKyIGltokJjVALTrXXMIuNmu6xaPsBcBdCDwBXMDMvm9YZU29TfZ4e+3w+pxNtVubQkPXg46nB96xe+wPAXQg9AFzBBA4TQMyQ9RqhxzZz8+lUFSj7IrcqBVt6CD1AfCD0AHCFcl8w9ASLk6tqeqqP3jqD0FOtVscsQ5ERDFbmPc1QeADuROgB4MqWnqzTtPTUrXsrcnAqKYvc0hNpcVMA7kHoAeB4lmVVtfRUq+mpHljqF3oiz78TmpG5Rk1PzdmbAbgHoQeA41X6LbGCPUtpSUm1tvSYEGTWy6pNtDW1QoXMwUVNTfeWCV4A3InQA8Dx7KOmUpITwgJLYWn4gqGmKDkrGIpqY/ap3tJTeCrwmtkZgYkQKWQG4gOhB4CrQo9pdckJBpKCYECpudho0hl3b5nXNO9h3tNviVTS2gO4FqEHgOOZbqXEBAktLREt9JzJkHV795aqHyoMjuYKhZ5gTY/9WAC4D6EHgOtGbtkDieqK8qsmmOqhpw41PVWrp/vCnu8Lvl7E0MMILsC1CD0AXDdHj73eRuWTk7blIYrPaPRWVWuRaTlS75WeEni/5MQESQiUEtHSA7gYoQeAi1p6qup00lOSQktSFJRUnOHkhDUXLTWhR4WqhGDSUdehEVy09ACuRegB4HgmaJiQY0Sq6wnN01OP0Vv2mp6qIubw5zOCC3A/Qg8Ax6s+MWGkup7qoadhvWp6qkKPeS3z2oYJXBQyA+5F6AHgmpaelKRgYU2Ulh41nLy0wl/nmp5Io7eqD1c3UujeAlyP0APAlaO3IoUes1BofefpUc8zI8CihR66twD3I/QAcDyz0Kd99Fak0GO6qVSLUJqt6Dkae7GzWW8rauihpQdwPUIPAMeriFLTk129pacew9VNnU6SmvHQNoKr8FT4xIQ1WnqYnBBwLUIPAFcOWa+tpacuw9XNUHSzr3mufci6Hd1bgPsRegC4cnLCiDU99Qw99n2rh56o3Vu09ACuRegBEDfz9JwsrV/3VmBfM0HhaUKP6d5ickLAtQg9AFw7ZN10QZm5dUITE9Yr9IS39BRG696ikBlwPUIPANdPTli9e6vhGXRv1bmlh+4twLUIPQDcM2S9jvP01GWOnkg1PZZl0b0FxDFCDwD3DFlPijx6q7A0EFiKzqimpyr0lJT7pDI4SSGFzED8IfQAcP2MzD6/pUPLVxm9pZ5rWoySExMkMzU8YFHIDHg09MycOVPatWsn6enp0rt3b1mzZk2t+y9atEg6duyo9+/atassXbo07PHXX39dBg4cKE2bNtXzZmzcuLHGa5SWlsrYsWP1Pg0aNJBbb71VDh8+HLbP3r17ZciQIZKZmSnNmjWThx9+WCorq9bUARBfoSc9JTFUYKwCy1cLPb6wri31WWRH6AE8GHoWLlwo48ePl8mTJ8v69eulW7duMmjQIDly5EjE/VeuXCnDhw+XUaNGyYYNG2To0KH6smXLltA+xcXF0q9fP3nmmWeivu9DDz0kb775pg5Q//rXv+TAgQPyrW99K/S4z+fTgae8vFy/57x58+SVV16Rxx9/vL4/IgCXDFlXwcQ+K/NXHb0VrYhZIfQAHgw9zz//vIwePVpGjhwpnTt3llmzZumWlTlz5kTc/4UXXpDBgwfrVpdOnTrJU089JVdeeaXMmDEjtM+dd96pw8mAAQMivkZBQYH84Q9/0O/9jW98Q3r06CFz587V4ebDDz/U+7zzzjuybds2efXVV6V79+5y44036vdSrVIqCAGIv8kJlZyM5Bqhp34tPUmhOX6izcaspDE5IeCt0KPCw7p168LCSWJior6/atWqiM9R26uHGdUyFG3/SNR7VlRUhL2O6i5r27Zt6HXUteo6y8vLC3ufwsJC2bp1a8TXLSsr04/bLwDcM09PWDGzrXvrTFp61IKjtbX0pDBPD+Ct0HPs2DHdjWQPFoq6f+jQoYjPUdvrs3+010hNTZVGjRpFfZ1o72Mei2TKlCmSk5MTurRp06bOxwQgFkPWaw5Ftw9bP1pUFratLsy+RwrLQhMT0r0FxCdPj96aMGGC7jozl3379sX6kADUY3JCe0D55GCRHCgo1aumX9Yyu87nsWvrHH393yNFsu94Sdhr2pn3LmNyQsAboSc3N1eSkpJqjJpS95s3bx7xOWp7ffaP9hqqay0/Pz/q60R7H/NYJGlpaZKdnR12AeA8FVFGb9kDyvJtgd/3Lq1y6tW91axhulyUmyWWJfLuJ0dOG3rMsQCI89CjuphUEfGKFStC2/x+v77fp0+fiM9R2+37K8uXL4+6fyTqPVNSUsJeZ8eOHXqIunkddb158+awUWTqfVSQUQXXAOK1kDkQUL7IP6Wve7dvUu/X7xV8jnmNiKGHQmbA9er+dShIDVcfMWKE9OzZU3r16iXTp0/XQ87VaC7lrrvuklatWul6GWXcuHHSv39/ee655/SQ8gULFsjatWtl9uzZodc8fvy4DjBqGLoJNKaFRl1UvY0a8q7eu0mTJjrI3H///TroXH311XpfNc+PCjdqJNjUqVN1Hc/EiRP13D6qRQdA/A1ZjzTS6kxCT++LmsiCj6q6t6npAeJTvUPPsGHD5OjRo3qIuQoWanj4smXLQkXDKryoEV1G3759Zf78+TqAPPbYY9KhQwdZvHixdOnSJbTPkiVLQqFJue222/S1mgvoiSee0Ld//etf69dVkxKqUVdqZNZvfvOb0HNUt9tbb70l9957rw5DWVlZOpw9+eSTZ3puADh8csLqAUXNJ9iz3Zm09DQNux9xyLpZcJTuLcC1Eiy1YA00NWRdtSqpombqewDnuP7Z92X3sWL5yz19Ql1RxjtbD8mYP63Ttzu3yJal4645o/fo98x7sv9EoHvrz6Ovlj4XhwehFZ8cllHz1srlrXNkyX39zvhnARC7v9+eHr0FIL5aeqoHovqwP5fuLSA+EXoAuGeenkiFzJlVoefqi8489Fxt6+Kyv2aNQma6twDXIvQAcLyKWubpaZKZGrp91RnU80Rq6WlU29pbzNMDeKeQGQCcNHqrWXa63HPtRdIoM1WaNjjzkZrtcrPkgW9cohcxjTTPDwuOAu5H6AHg6hmZlQk3dTor7zN+4KVRHwuN3qKlB3AturcAOJrPb+lLtJqe8yU1KbDuFzU9gHsRegA4mj1kpERp6TkfUpIDK7wTegD3IvQAcDR7yIhtS0/gvSv9lviDLU8A3IXQA8DRyny+0O2UpEBrSyzY64mo6wHcidADwNEqfMF6nuREPbIqVgg9gPsRegC4Y7h6DLu2qnetUdcDuBOhB4Brl6A4n1QrE7MyA+5G6AHgaE4JPfZjoKUHcKfYf4oAQC3Kg4XMjgo9TFAIuFLsP0UAoA6LjabEuKYncAzM1QO4Wew/RQCgLt1bSc5p6TFBDIC7xP5TBADcUtMTDF7U9ADuFPtPEQCo4zw9sZaaHFh/q4KaHsCVYv8pAgB1KGQ2q5zHEqO3AHeL/acIALikpsdMkMjoLcCdYv8pAgBuqelhnh7A1WL/KQIAtWDIOoCzhdADwNFMV5KTWnrKKGQGXCn2nyIA4JrurcDoLYasA+4U+08RAKiFGR7uhEJmcwwMWQfcKfafIgBQC9OqwpB1AF8VoQeAozmpe8sEL7q3AHeK/acIANSlkNkJ3Vussg64Wuw/RQCgDkPWndDSw9pbgLvF/lMEAGphupJSHNDSY46BVdYBd4r9pwgAuKSmhxmZAXeL/acIANRlyLqDQg9D1gF3iv2nCADUoZCZIesAvipCDwBHY5V1AGcLoQeAo1HTA+BsIfQAcDRHDVlnckLA1WL/KQIAdajpcdSQdVZZB1wp9p8iAFALurcAnC2EHgCO5qRC5qoZmX2xPhQAZ+CMPkVmzpwp7dq1k/T0dOndu7esWbOm1v0XLVokHTt21Pt37dpVli5dGva4ZVny+OOPS4sWLSQjI0MGDBggO3fuDD3+/vvvS0JCQsTLRx99pPfZs2dPxMc//PDDM/kRAThEhQOHrFf4rFgfCoAzUO9PkYULF8r48eNl8uTJsn79eunWrZsMGjRIjhw5EnH/lStXyvDhw2XUqFGyYcMGGTp0qL5s2bIltM/UqVPlxRdflFmzZsnq1aslKytLv2Zpaal+vG/fvnLw4MGwyw9+8ANp37699OzZM+z93n333bD9evToUf+zAsAxnNS9xSrrgLvV+1Pk+eefl9GjR8vIkSOlc+fOOqhkZmbKnDlzIu7/wgsvyODBg+Xhhx+WTp06yVNPPSVXXnmlzJgxI9TKM336dJk4caLccsstcvnll8sf//hHOXDggCxevFjvk5qaKs2bNw9dmjZtKm+88YY+BtWaY6ces++bkpJyZmcGgLNWWXdA6GGVdcDd6vUpUl5eLuvWrdPdT6EXSEzU91etWhXxOWq7fX9FteKY/Xfv3i2HDh0K2ycnJ0d3m0V7zSVLlsiXX36pQ091N998szRr1kz69eun96tNWVmZFBYWhl0AOIffb4W6kpxV0xMIYgDcpV6fIseOHROfzyd5eXlh29V9FVwiUdtr299c1+c1//CHP+jg1Lp169C2Bg0ayHPPPafrh95++20delQ3Wm3BZ8qUKTpgmUubNm1Oew4AnP9WHiXFAS095hgIPYA7JYvL7N+/X/7xj3/IX/7yl7Dtubm5utbIuOqqq3QX2bRp03TrTyQTJkwIe45q6SH4AM4MPY5q6fH5ddd89e51AM5Wr08RFSySkpLk8OHDYdvVfVU/E4naXtv+5rqurzl37lxdtxMtyNipLrJdu3ZFfTwtLU2ys7PDLgCcw96i4ojQY2ttsgcyAO5Qr08RVVCsRkOtWLEitM3v9+v7ffr0ifgctd2+v7J8+fLQ/moElgo39n1Ui4saxVX9NdU3KxV67rrrrjoVKG/cuFEPgwfg7tCTkpQgiYmxb1WxD5s3y2MAiOPuLdUdNGLECD1UvFevXnrkVXFxcaioWAWSVq1a6XoZZdy4cdK/f39dbzNkyBBZsGCBrF27VmbPnq0fV83DDz74oPziF7+QDh066BA0adIkadmypa7JsXvvvfd04bMarl7dvHnzdCi74oor9P3XX39djyj7/e9/f2ZnBkDMlZQHJgHMSEkSJ1ChR/VoWZZIablPstMZHQrEdegZNmyYHD16VE8mqAqNu3fvLsuWLQsVIu/du1eP6DLUHDvz58/XQ9Ife+wxHWzUUPQuXbqE9nnkkUd0cBozZozk5+frImT1mmoyw+oFzOr11ESHkajh8J9//rkkJyfrfdScQt/+9rfr+yMCcIjSikDoyUx1Rvmh+pKWmZIkxeU+ORU8NgDukWCpPiOEutXUKK6CggLqewAHWLP7uHz35VVyUW6WvPeT68QJev7iXTl2skz+Pu4a6dSCOkDATX+/Y18ZCABRlJRX6ut0h3RvKRmpiWFdbwDcg9ADwLFOBYNFZqpzQk9mSnLYsQFwD0IPAMcydTMZDgo95lio6QHch9ADwLFKnNjSEzwW0/UGwD0IPQAc65TDhqzbj4XuLcB9CD0AnD9Pj0OGrNu7tyhkBtyH0APAsUoqKh3bvUVND+A+hB4AjqVmPXZe6GH0FuBWhB4ALujeck7ooXsLcC9CDwDHKqlwcCFzsOsNgHsQegA4liMnJ6SQGXAtQg8AxzJz4TB6C8DZQOgB4FinKvz6Wq1s7rSWHrMCPAD3IPQAcKxTwZYeJ3VvZQTX3mKeHsB9CD0AHMsEi3QnhR5qegDXIvQAcCwnFzKbVigA7kHoAeD8BUeDXUpOGrJO9xbgPoQeAI5kWVZoqQcnTU7IMhSAexF6ADhSaXDklvO6t1iGAnArQg8AR8/Ro6Q7aMi66d6q9FtSXlkVzAA4H6EHgCOZmpm05ERJSkwQp7B3tZlCawDuQOgB4EimnsdJXVtKanKiJAdDWAnrbwGuQugB4PDh6s4ZuVW9tYeWHsBdCD0AnD0xYYrzPqYYtg64k/M+TQBAd29VOralh2HrgDsRegA4uqXHSXP0GGbVdyYoBNyF0APA2bMxOzD0sBQF4E6EHgCOVOrQ0VsK3VuAOxF6ADi8kNl5occcE91bgLsQegA4kju6t5icEHATQg8ARzpV7vzRW7T0AO5C6AHg7NFbDuzeykhh9BbgRoQeAI7k1GUo7Mdkiq0BuAOhB4AjnXL0PD1JNVaCB+B8hB4AjuTs7i1qegA3IvQAcCQnLzjK6C3AnQg9ABypJLT2lgNbehi9BbgSoQeAo1t60h3cvWWKrQG4A6EHgMO7t5wXekyXG5MTAu5C6AHgSCUOHrIe6t4KdsEBiOPQM3PmTGnXrp2kp6dL7969Zc2aNbXuv2jRIunYsaPev2vXrrJ06dKwxy3Lkscff1xatGghGRkZMmDAANm5c2fYPur9EhISwi5PP/102D6bNm2Sa665Rr9PmzZtZOrUqWfy4wFw0ugtB4YeCpkBj4SehQsXyvjx42Xy5Mmyfv166datmwwaNEiOHDkScf+VK1fK8OHDZdSoUbJhwwYZOnSovmzZsiW0jwonL774osyaNUtWr14tWVlZ+jVLS0vDXuvJJ5+UgwcPhi73339/6LHCwkIZOHCgXHjhhbJu3TqZNm2aPPHEEzJ79uz6/ogAYsznt6S80u/40VssQwHEeeh5/vnnZfTo0TJy5Ejp3LmzDiqZmZkyZ86ciPu/8MILMnjwYHn44YelU6dO8tRTT8mVV14pM2bMCLXyTJ8+XSZOnCi33HKLXH755fLHP/5RDhw4IIsXLw57rYYNG0rz5s1DFxWOjNdee03Ky8v1cVx22WVy2223yQMPPKCPF4C72AuEnTxPjzpO9RkGIA5DjwoVqhVFdT+FXiAxUd9ftWpVxOeo7fb9FdWKY/bfvXu3HDp0KGyfnJwc3W1W/TVVd1bTpk3liiuu0C05lZVV/elq32uvvVZSU1PD3mfHjh1y4sSJiMdWVlamW4jsFwCxZ2Y6TkhQo7ecV3poutxU3ikLtkgBcL56tRsfO3ZMfD6f5OXlhW1X97dv3x7xOSrQRNpfbTePm23R9lFUq41qIWrSpInuMpswYYLu4jItOWrf9u3b13gN81jjxo1rHNuUKVPk5z//eX1OAYDzuQRFSpKu33Mae5eb6uJy4rB6ADU5r7M8ClVHZKguMNWic8899+jgkpaWdkavqYKT/XVVS48qgAYQW6ZWxokjt5SkxARJTU7UdUeqVapJVlULMwDnqle7cW5uriQlJcnhw4fDtqv7qsYmErW9tv3NdX1eU1HdX6p7a8+ePbW+j/09qlNhKTs7O+wCIPacPHLLYAQXEOehR7Wu9OjRQ1asWBHa5vf79f0+ffpEfI7abt9fWb58eWh/1SWlQol9H9XiokZxRXtNZePGjbqeqFmzZqH3+eCDD6SioiLsfS699NKIXVsAnKs0WMjsxCJmg1mZAfepd4Wg6g763e9+J/PmzZNPPvlE7r33XikuLtajuZS77rpLdxsZ48aNk2XLlslzzz2n637UMPK1a9fKfffdpx9X/fUPPvig/OIXv5AlS5bI5s2b9Wu0bNlSD203RcpqhNfHH38sn332mR6p9dBDD8kdd9wRCjTf+973dChTQ+O3bt2qh9arkWP27isAbmvpcW4PPOtvAe5T70+UYcOGydGjR/VkgqpAuHv37jrUmKLhvXv36hYYo2/fvjJ//nw9JP2xxx6TDh066KHoXbp0Ce3zyCOP6OA0ZswYyc/Pl379+unXVJMMmm6oBQsW6MCkRlyp1iEVeuyBRo34euedd2Ts2LG6NUp1xaljVK8JwJ2jtzId3NJD9xbgPgkWk0yEdaup8FRQUEB9DxBDf/rwc5m0eIsMuixPXr6zpyP/X3zvdx/Kyk+/lBdu6y63dG8V68MBPK2wjn+/nTcBBgDPO1Fcrs9B40znjooyx3Y8eKwAnI/QA8BxTpQEQ4+Dh4I3zkrR1ydKqgZPAHA2Qg8AB7f0BIKFk1t6zLECcD5CDwDHOR5sPXFF91awVQqA8xF6ADhOvuneynR+95Y5VgDOR+gB4DimONjRNT2hQmZqegC3IPQAcJz8UPeW82t6aOkB3IPQA8BR1CKeJ8sCkxM6eSFPc2wMWQfcg9ADwFFMy0ligkh2uoNbeoKhp6zSL6eCy2YAcDZCDwBHMaOhGmWmSqJKPg6VlZokKUmB42MEF+AOhB4AzixidnA9j1ksmbl6AHch9ABwaBGzc+t5jFDoYdg64AqEHgCO4obh6tXn6qGYGXAHQg8Ah05M6OzurfBh68zVA7gBoQeAo5jJ/tzR0sOwdcBNCD0AHNnS08QFNT3mGJmgEHAHQg8ARzHDv91QyNwo2AVnFkgF4GyEHgCOcqLEPd1bZlZmWnoAdyD0AHCUEy6Zpyd80VFWWgfcgNADwJmhxwUtPeYYzTEDcDZCDwDHqPD5pSi42KgbanpMa5TpkgPgbIQeAI5hZjZOSBDJyUhxTUvPqQqflFaw6CjgdIQeAI5hJvlrlJEiSQ5ebNRomJYsycHjZCkKwPkIPQAcuNio87u2zKKjajV4hWJmwPkIPQCctwSFC4qYjSbB9bdYigJwPkIPAOctQeGC4eoGLT2AexB6ADiGqYtxS/eWwlIUgHsQegA4hpvm6DEaB7u3TCsVAOci9ABwjGMny8KWd3CDpllp+vroydJYHwqA0yD0AHCMfSdO6evWjTPELVoFj3V/8NgBOBehB4Bj7Dteoq/bNskUtzDHao4dgHMRegA4gprR+EhRoHurTWP3hB5zrKqVyu+3Yn04AGpB6AHgCPtPlIRmOW7koiHrLRql69mjyyv9cjRYkwTAmQg9ABxhb7B7qHWTTD3TsVukJCVKi5z0sJ8BgDMRegA4wr7jgULgtk3cU8RsUNcDuAOhB4AjmFYSN9XzGOaYaekBnI3QA8BZI7eaui/0mGM2rVUAnInQA8AR3NzSY+YVYtg64GyEHgAxZ1lWaHK/Ni6ao6dGTU9wBBqAOAo9M2fOlHbt2kl6err07t1b1qxZU+v+ixYtko4dO+r9u3btKkuXLq3xgff4449LixYtJCMjQwYMGCA7d+4MPb5nzx4ZNWqUtG/fXj9+8cUXy+TJk6W8vDxsHzXio/rlww8/PJMfEcB5dKKkQk6WVbpuNmbDBLVDhaVSVumL9eEAOFuhZ+HChTJ+/HgdOtavXy/dunWTQYMGyZEjRyLuv3LlShk+fLgOLRs2bJChQ4fqy5YtW0L7TJ06VV588UWZNWuWrF69WrKysvRrlpYG1rLZvn27+P1+efnll2Xr1q3y61//Wu/72GOP1Xi/d999Vw4ePBi69OjRo74/IoDzzHQL5WWnSXpKkuvOf9OsVMlMTRLLEvmC5SgA57LqqVevXtbYsWND930+n9WyZUtrypQpEff/7ne/aw0ZMiRsW+/eva177rlH3/b7/Vbz5s2tadOmhR7Pz8+30tLSrD//+c9Rj2Pq1KlW+/btQ/d3796tpkK1NmzYYJ2pgoIC/RrqGsD5s2TjF9aFP33LuvU3/3HtaR/4/L/0z/DP7YdjfSiA5xTU8e93vVp6VHfSunXrdPeTkZiYqO+vWrUq4nPUdvv+imrFMfvv3r1bDh06FLZPTk6O7jaL9ppKQUGBNGnSpMb2m2++WZo1ayb9+vWTJUuW1PrzlJWVSWFhYdgFwPlnamHctOZWtC4us2gqAOepV+g5duyY+Hw+ycvLC9uu7qvgEonaXtv+5ro+r7lr1y556aWX5J577glta9CggTz33HO6fujtt9/WoUd1o9UWfKZMmaIDlrm0adPmtOcAwLnr3lKzMbtVm+CkiozgApwrWVzmiy++kMGDB8t3vvMdGT16dGh7bm6urjUyrrrqKjlw4IBMmzZNt/5EMmHChLDnqJYegg8Qy9mY3Rt6mJUZiLOWHhUskpKS5PDhw2Hb1f3mzZtHfI7aXtv+5rour6lCzPXXXy99+/aV2bNnn/Z4VReZahWKJi0tTbKzs8MuAM6/PV8W6+s2Lhy5VT307D4W+FkAuDz0pKam6tFQK1asCG1To6rU/T59+kR8jtpu319Zvnx5aH81DF2FG/s+qsVFjeKyv6Zq4bnuuuv0+8+dO1fXEp3Oxo0b9TB4AM51org8NEdPxxbu/eJhjn3XkZNSWsGwdSAuurdUd9CIESOkZ8+e0qtXL5k+fboUFxfLyJEj9eN33XWXtGrVStfLKOPGjZP+/fvrepshQ4bIggULZO3ataGWGjWXzoMPPii/+MUvpEOHDjoETZo0SVq2bKlrcuyB58ILL5Rnn31Wjh49Gjoe0xo0b948HcquuOIKff/111+XOXPmyO9///uzcZ4AnCObvijQ1+1zsyQnI8W157llTrrkNkiVYyfLZdvBQrmybeNYHxKArxp6hg0bpkOHmkxQFRp3795dli1bFipE3rt3b1grjOqKmj9/vkycOFHPq6OCzeLFi6VLly6hfR555BEdnMaMGSP5+fm6CFm9pprM0LQMqW4qdWndunWNiQ2Np556Sj7//HNJTk7WkyGqOYW+/e1v1/dHBHAebdqXr68vb53j6vOuvsBd3rqRvLf9iP6ZCD2A8ySoceuxPginUN1qahSXGg5PfQ9wfvxg3lp595PDMnFIJ/nBNRe5+rT/evl/5YUVO+VbV7SS54d1j/XhAJ5RWMe/36y9BSCmNu0PtPR0a9PI9f8nurUJtFZ9HPyZADgLoQdAzBwqKJUjRWWSmCByWUv3FjEbqntL+exYsRSVVsT6cABUQ+gBEDOmReRreQ0lM9V104bVkNsgTVo1ytBrcG0OFmgDcA5CD4CYd225vYjZzvwsm/YTegCnIfQAiBkTDEy3UDwwP4sJdACcg9ADICbUwFETerrFUejpFmzp+XgfLT2A0xB6AMTEp0dPSsGpCklNTpRLmzeMm/8LXVrnSEKCyBf5p3ShNgDnIPQAiIl3Pzmir6++qKkOPvEiOz1FugeH36/YHr6mIIDYip9PGgCu8u62QCD4f52aSbwZ0Ckv7GcE4AyEHgDn3Zcny2Td3hP69g3BgBBP/l/nwM/0n0+/lOKyylgfDoAgQg+A827F9iN6LpsurbKlZaOMuPs/0KFZA7mwaaaUV/rl/3ZWLZAMILYIPQDOO9PtY7qB4o1afNT8bMu3BWqXAMQeoQfAeVVa4ZP/23ksrkOP/Wd7b/th8flZ1xlwAkIPgPNKBZ5TFT5pkZMeF+ttRdOzXWPJyUiREyUV8tGe47E+HACEHgDn22urP9fXN3VtobuB4lVKUqIMvqy5vv3a6r2xPhwAhB4A59PuY8Xy/o6jevK+O6++MO5P/p19Aj/j3zcflMOFTFQIxBrdWwDOm3kr9+jr6y9tJu1ys+L+zHdplSNXtWsslX5LXvsw0MIFIHYIPQDOi5NllfLXdfv17bv7tvPMWb+7b3t9PX/NXimr9MX6cABPI/QAOC/+unafDj4XXZAl/S7J9cxZH3hZnjTPTpdjJ8vlzY8PxvpwAE8j9AA454pKK2TGP3fp2yP7tpPExPgtYI5U0HxX30Btz/R3/6uH7AOIDUIPgHNuxnu7dEvHRblZMuyqtp4746o7T7X27D9xSv7w792xPhzAswg9AM75iK05/wn8of/ZkE5xtaJ6XWWmJsujN3bUt2f+cxcjuYAY8d6nD4DzxrIsefLNrVLhs+Tar10g3+gYfyuq19Ut3VvKlW0bSUm5T3759iexPhzAkwg9AM6ZV1bukX/uOCopSQkyaUinuJ6M8HTUzz75/7tMVDnTko8PhEayATh/CD0AzomN+/LlV0sDLRo/u6mTdMhr6Pkz3a1NI3lowNf0eZi0eIvsPFzk+XMCnE+EHgBn3ZGiUrlv/nrdraWWYhjhoXl5TudH118i13TI1euP3fvaeskvKY/1IQGeQegBcFadKC6XO3+/Ro9UatskU5759uWe7taqLikxQX49rLvkZafJriMnZcTcj/T8RQDOPUIPgLOm4FSFjJi7RnYcLpJmDdPkT6N66ZXGES63QZr88fu9pVFminy8L1++/8pHUkzwAc45Qg+As+LzL4vlW7/5j2zaXyBNslLltR/0lgubxv/6Wmfq0uYN5U/f7y0N05Jlze7j8p1Zq+RgwalYHxYQ1wg9AL6yf+88JkNn/kc+PVosLXLSdeChcPn0urbOkT/9oLfkNkiVbQcL5eYZ/5G1e47zLxI4Rwg9AM6YWlLhiSVb5Y4/rJYTJRXSrXWOvDH269KpRTZntY66t2kki8d+XS7NayhHi8rkuy+vkqnLtkt5pZ9zCJxlhB4AZzTp4DtbD8mg6R/ouXiU23u3lQVj+kiz7HTOaD21bpwpf723j3zrylbit0R+8/6nctOL/yf/+u9RziVwFiVY6tMLWmFhoeTk5EhBQYFkZ/NNFahOfVys3n1cL5z54WeBbhhVsKxGaF1/qXdnWz6b/r75oPxs8RY5XhwYyt7/axfIuAEd5Mq2jWN9aIDr/34Tes7gpAFeo7palm87LHP/s1vWfn5Cb1NraI2+pr3ce90l0iAtOdaHGHej4F5csVPmrdwjlarpR0T6XtxUz3d0Q8dmkpxEIz1gR+g5A4QeoIrfb8n6vSdk6eZDetmEYyfLQmHnuz1byw/7X6y7ZXDu7DlWLL95f5e8vv6LUPhRheI3d2spN3ZtoWuomAMJEELPmSD0wOtUYfK6z0/oep2/bzkkR4oCQUe5oGGaDL+qjdx+9YWSR93OefVF/in546o9smjt/lC3l9KqUYYMuqy5DLwsT65o20jSkpPO74EBDkFLzzk8aUC8KCqt0PPqrP7sS12jo9bLKvdVjRpSc8gM6JwnN3ZpLtd3bCYpdKvEVFmlT1Z8ckSWbj4o720/oldsN9KSE3Xdz9UXNZXeFzWRy1vnSGYq3Y7whkJqes7dSQPcptLn160Fnx0rlk8OFsrWA4Wy7UCh7D5WXGNftTzCNR0ukCFdW0jfS5rSeuDgVrkP/ntUt8j9386jcuxk+BpeauWP9rlZ0qVljlzWMls6tsiWi3KzpGWjDL0UBhBPCD3n8KQBThxVVXiqUg4VlupZfdW6VyrQqJqQ3V8Wy77jJXrxz0ha5qRLr/ZNgi0ETaVd00zqRFz4/19NDPmhbrH7Uj7ac1wOF1Z1TdqlJiVK26aZ0q5plrTPzZT2uQ2kdeMMaZ6Tri+qdY86IbgNoeccnjTgfPD5Lb0C94mScjleXKFrOQK3y/WinqqwWIUc9cftUEGpXrW7Nqr7Q/2h65DXQC5rmSNdWmXra7VkBOKPmuhw64EC3aqnrncePimff1kS1n0ZSWZqkjTPDgQgdd20Qao0zkqVJpnB66xUaZwZuFbrqtFqhLgPPTNnzpRp06bJoUOHpFu3bvLSSy9Jr169ou6/aNEimTRpkuzZs0c6dOggzzzzjNx0002hx9UhTJ48WX73u99Jfn6+fP3rX5ff/va3el/j+PHjcv/998ubb74piYmJcuutt8oLL7wgDRo0CO2zadMmGTt2rHz00UdywQUX6P0feeSROv9chB6cKfVvuKzSr7scSiuC15VVt1UgOVXuk5OllXpFbXMpKq3UC03q+6WVUqRvV+jtathyfX871QKW6g+VKnBtl6u+yQcu6naL7HRJpFtDvB6kD+Sfkj1fFuuWQNMaeCC/VAdo9W+uPlQXWqOMFGmYnqKnLWiQnqxbirJstxtUu5+RmiQZKUmSHrwEbidKemqSpCcnSUpSAi1NqLe6/v2ud5XbwoULZfz48TJr1izp3bu3TJ8+XQYNGiQ7duyQZs1qTk62cuVKGT58uEyZMkX+53/+R+bPny9Dhw6V9evXS5cuXfQ+U6dOlRdffFHmzZsn7du31wFJvea2bdskPT0wu+vtt98uBw8elOXLl0tFRYWMHDlSxowZo1/P/MADBw6UAQMG6GPbvHmzfP/735dGjRrp/eC8kKA+gH2WJX6/6Gt132+22bbrbaF9Ldu+tufZHqv0WVLh8+vuHHVd6fdLRaUlFX5/zcd8fin3qeeobX6p8FtSUameY/YLPEd9O1Zz1ZRW+qVMB5tgoKmsun2uqG/TgW/XKfobtvm2rS72b+TqWv0RAaJRrTJtmmTqi6rbqk4Fc9NFelhfl+pWRdXSaFoZ84PXhaWVOpSr5UfU5WxRudweinQgSknSUyWoQnrVPaeCkbqdklztvno8udp983jw+cmJCfo8qEvgdmCb+kJgf6zq8fB9kxISJCnJ9pjtfmJC1bUKhHQTOk+9W3pU0LnqqqtkxowZ+r7f75c2bdroVpVHH320xv7Dhg2T4uJieeutt0Lbrr76aunevbsOJ+rtW7ZsKT/+8Y/lJz/5iX5cJbW8vDx55ZVX5LbbbpNPPvlEOnfurFtwevbsqfdZtmyZbi3av3+/fr5qGfrZz36mW59SUwPN9ep4Fi9eLNu3b49pS8+72w7Lv3cd0z+rOtnqjPttt/X2SNuC4UBNz6Fuq8fVDfWI+oOvr/W+6l3M7cDzQreD+4deP/hatb9n1b76PWscc9XrVL1mMIRUCyfqWh1L9e3xPA+4+iBMT06s8aGtug0C34YD34obpidLVqrtG3F61bfi7PRkHW7Ut2gmooMTqS8E+TrwlOuWSdNaaVoqi8t8+rZp0TSPqxFn6stCWYVft4CaltB4/ExQwUcFoMRgAEoM3U8Ieyxwv+q2+gyp+XiE5ybWfG5t75WgHtPHlVB1Hdqmrk1YC9wW87zQ41XPDTxs3i/8ufqe7XWrXiNQQD+gU57065Dr/Jae8vJyWbdunUyYMCG0TXU1qdaVVatWRXyO2q5ahuxUK44KI8ru3bt1UFGvYagDV+FKPVeFHnWtWmxM4FHU/uq9V69eLd/85jf1Ptdee20o8Jj3UV1pJ06ckMaNa07hXlZWpi/2k3YurNt7IrQ+EepG/W6ob1CJ5puU/vYUCBSB29WvJbRv4Btegg4L9m986huY/ranrtV92+PJSQn6G2Fyovr2mCApiVWvobcH97OHGNMsr+ZGsW9nWDe8QP07V3M3qctXpb5IqdbUUNdwsPXUHoqqWmkDra5qf9Uqq1pt9e3QxdKP2/e176O/gPkt3ZrrD16bbYHtfv1FTV37fFUty3q/4H37c2r/uYKt0YF7X/k8xYtm2WlnPfTUVb1Cz7Fjx8Tn8+lWGDt1P1prigo0kfZX283jZltt+1TvOktOTpYmTZqE7aO6xqq/hnksUuhRXW4///nP5Vzrc1FT/cc4LClXT8mRtoWScyAlmwRv32ZP0eo6GM5tzavB7cH3TbS9bqC8o+qbgX5eYuSEb27bt6uQYR5XD5imXvUaVberQosOMtW262v780L7MqQW8Ar1+66+PKiL6s51C9MSr4OSPxiU/FWt5KbF3R+6H/5Y4H7V7erPDXvcX//Xq9pfvXZVa77pMQg8t+p24LGarf/mdYIPh+0f3iMQvj20n/01xYrpOnKenrlKtVjZW6FUS4/qqjvbrv3aBfoCAIivsJakv8yZWjpq6pyuXqvW5ebmSlJSkhw+fDhsu7rfvHnziM9R22vb31yfbp8jR46EPV5ZWalHdNn3ifQa9veoLi0tTff92S8AACA+1Sv0qHqZHj16yIoVK0LbVCGzut+nT5+Iz1Hb7fsragSW2V91SalQYt9HtbioWh2zj7pWQ9lVPZHx3nvv6fdWtT9mnw8++ECP7LK/z6WXXhqxawsAAHiMVU8LFiyw0tLSrFdeecXatm2bNWbMGKtRo0bWoUOH9ON33nmn9eijj4b2/89//mMlJydbzz77rPXJJ59YkydPtlJSUqzNmzeH9nn66af1a7zxxhvWpk2brFtuucVq3769derUqdA+gwcPtq644gpr9erV1r///W+rQ4cO1vDhw0OP5+fnW3l5efr9t2zZoo8zMzPTevnll+v8sxUUFOhuR3UNAADcoa5/v+sdepSXXnrJatu2rZWammr16tXL+vDDD0OP9e/f3xoxYkTY/n/5y1+sr33ta3r/yy67zHr77bfDHvf7/dakSZN0aFGB6oYbbrB27NgRts+XX36pQ06DBg2s7Oxsa+TIkVZRUVHYPh9//LHVr18//RqtWrXSYao+CD0AALhPXf9+n9GMzPGKGZkBAIjfv9/1qukBAABwK0IPAADwBEIPAADwBEIPAADwBEIPAADwBEIPAADwBEIPAADwBEIPAADwBE+vsl6dmadRTXIEAADcwfzdPt18y4Qem6KiIn3dpk2bc/n/BgAAnKO/42pm5mhYhsJGrdp+4MABadiwoSQkJEis0qoKXfv27at1Km0v4txwfvj3w+8Xnz/OU+iAv1uqhUcFnpYtW0piYvTKHVp6bNSJat26tTiB+odD6OHc8G+H3y0+e5yFz2bnnpvaWngMCpkBAIAnEHoAAIAnEHocJi0tTSZPnqyvwbnh3w6/W3z2OAOfzfFxbihkBgAAnkBLDwAA8ARCDwAA8ARCDwAA8ARCDwAA8ARCj8O8/fbb0rt3b8nIyJDGjRvL0KFDwx7fu3evDBkyRDIzM6VZs2by8MMPS2VlpXhFWVmZdO/eXc+YvXHjxrDHNm3aJNdcc42kp6fr2UGnTp0qXrBnzx4ZNWqUtG/fXv+7ufjii/VIivLy8rD9vHp+lJkzZ0q7du30z65+v9asWSNeNGXKFLnqqqv0rPPq80N9vuzYsSNsn9LSUhk7dqw0bdpUGjRoILfeeqscPnxYvObpp5/WnzMPPvhgaJvXz80XX3whd9xxh/751WdN165dZe3atWGzIj/++OPSokUL/fiAAQNk586d4igWHOOvf/2r1bhxY+u3v/2ttWPHDmvr1q3WwoULQ49XVlZaXbp0sQYMGGBt2LDBWrp0qZWbm2tNmDDB8ooHHnjAuvHGG9WKcvocGAUFBVZeXp51++23W1u2bLH+/Oc/WxkZGdbLL79sxbu///3v1t1332394x//sD799FPrjTfesJo1a2b9+Mc/Du3j5fOzYMECKzU11ZozZ47+nRo9erTVqFEj6/Dhw5bXDBo0yJo7d67+N7Bx40brpptustq2bWudPHkytM8Pf/hDq02bNtaKFSustWvXWldffbXVt29fy0vWrFljtWvXzrr88sutcePGhbZ7+dwcP37cuvDCC/VnzerVq63PPvtMf+bs2rUrtM/TTz9t5eTkWIsXL7Y+/vhj6+abb7bat29vnTp1ynIKQo9DVFRUWK1atbJ+//vfR91HhZzExETr0KFDoW0qIGVnZ1tlZWVWvFM/f8eOHfUfruqh5ze/+Y0OjPbz8NOf/tS69NJLLS+aOnWq/rAxvHx+evXqZY0dOzZ03+fzWS1btrSmTJlied2RI0f079K//vUvfT8/P99KSUmxFi1aFNrnk08+0fusWrXK8oKioiKrQ4cO1vLly63+/fuHQo/Xz81Pf/pTq1+/flEf9/v9VvPmza1p06aFtqlzlpaWpr9kOQXdWw6xfv163XSo1v+64oordPPgjTfeKFu2bAnts2rVKt2cmJeXF9o2aNAgvdjb1q1bJZ6pJuTRo0fLn/70J921V506N9dee62kpqaGnRvVdH/ixAnxmoKCAmnSpIl4/fyoLr5169bpZnZD/Y6p++qceJ36d6KYfyvqXFVUVISdr44dO0rbtm09c75U95UqIbCfA8Xr52bJkiXSs2dP+c53vqO7RtXfqd/97nehx3fv3i2HDh0KOz9qLSzVneyk80PocYjPPvtMXz/xxBMyceJEeeutt3RNz3XXXSfHjx/Xj6l/UPbAo5j76rF4pVok7777bvnhD3+of+ki8eq5iWTXrl3y0ksvyT333CNePz/Hjh0Tn88X8WeP55+7Lvx+v65X+frXvy5dunTR29Q5UcG4UaNGnjxfCxYs0F9AVe1TdV4/N5999pn89re/lQ4dOsg//vEPuffee+WBBx6QefPm6cfNOXD67xqh5xx79NFHdTFcbZft27frDyDlZz/7mS6O69Gjh8ydO1c/vmjRIvHyuVF/wIuKimTChAniJXU9P3aqtXDw4MH625hqGQNqa9FQLcnqDz1E9u3bJ+PGjZPXXntNF7wjnPobdeWVV8qvfvUr3cozZswY/Rkza9YscZPkWB9AvPvxj3+sWylqc9FFF8nBgwf17c6dO4e2q3VM1GNqxJbSvHnzGqNOzMgB9Vi8npv33ntPN49WX9dFtfrcfvvt+puG+vmrj6Jw87mpz/kxDhw4INdff7307dtXZs+eHbZfPJ6fusjNzZWkpKSIP3s8/9ync9999+nW5A8++EBat24d2q7OieoSzM/PD2vR8ML5Ut1XR44c0X/YDdVKqM7RjBkzdOuGV8+Nokou7H+flE6dOsnf/vY3fducA3U+1L6Guq9G3DpGrIuKUDW6RhV82QuZy8vL9SgcM8LGFDLbR52ox1Qhc2lpadyeys8//9zavHlz6KJGDKh/umq02759+8IKddU5M9SoNi8U6ir79+/XxZe33XabHuVXnZfPjypkvu+++8IKmdWgAS8WMqtiU1XUrQq5//vf/9Z43BTrqt8tY/v27Z4o1i0sLAz7nFGXnj17WnfccYe+7eVzowwfPrxGIfODDz5o9enTJ6yQ+dlnn63xd81JhcyEHgdRowTUh7H6o65+mUaNGqVDjxoqaB+yPnDgQD3cdNmyZdYFF1zgqSHryu7du2uM3lIfSGpI9p133qmH46phypmZmZ4Ykq0CzyWXXGLdcMMN+vbBgwdDF8PL50f9rOqD95VXXrG2bdtmjRkzRg9Zt4+C9Ip7771XDyl+//33w/6dlJSUhA3LVsPY33vvPT0sW/1RM3/YvMY+esvr52bNmjVWcnKy9ctf/tLauXOn9dprr+nPkFdffTVsyLr63VLTZmzatMm65ZZbGLKO6NS3cDW3igo6DRs21PPxqD9Qdnv27NHz1Kg5VtQcPWp/Ndzd66FHUfNCqG8i6g+cCo/qF9AL1Lwr6nxEuth59fwoL730kv5jpebrUS0/H374oeVF0f6dqH9DhppT5Uc/+pFuGVR/1L75zW+GBWgvhx6vn5s333xTf/FWnyFq+pDZs2eHPa5aeyZNmqS/YKl91BcxNeeckySo/8S6iw0AAOBcY/QWAADwBEIPAADwBEIPAADwBEIPAADwBEIPAADwBEIPAADwBEIPAADwBEIPAADwBEIPAADwBEIPAADwBEIPAADwBEIPAAAQL/j/AeMbGCMBzKSsAAAAAElFTkSuQmCC", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.plot(detunings, absorption)\n", "plt.show()" ] }, { "cell_type": "markdown", "id": "4131fd82", "metadata": {}, "source": [ "### 2.5 Solving for multiple values of multiple parameters\n", "If you like the simplicity of scanning an single laser detuning in `rydiqule`, you will be even more excited to learn that rydiqule can handle scans over multple different parameters simulataneously. We will set up the sensor as before, with a couple of changes. We will now also scan the dephasing rate and show how the absorption changes." ] }, { "cell_type": "code", "execution_count": 34, "id": "b9b33a49", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " object with 4 states and 3 coherent couplings.\n", "States: [0, 1, 2, 3]\n", "Coherent Couplings: \n", " (0,1): {rabi_frequency: 3, detuning: , phase: 0, kvec: (0, 0, 0), label: probe, coherent_cc: 1.0}\n", " (1,2): {rabi_frequency: 5, detuning: 0, phase: 0, kvec: (0, 0, 0), label: coupling, coherent_cc: 1.0}\n", " (2,3): {rabi_frequency: 7, detuning: 0, phase: 0, kvec: (0, 0, 0), label: rf, coherent_cc: 1.0}\n", "Decoherent Couplings:\n", " (1,0): {gamma: }\n", " (2,1): {gamma: 0.1}\n", " (3,0): {gamma: 0.1}\n", "Energy Shifts:\n", " None\n" ] } ], "source": [ "basis_size = 4\n", "sensor_sweep_2 = rq.Sensor(basis_size)\n", "\n", "detunings = 2*np.pi*np.linspace(-10, 10, 201) #201 values between -10 and 10 MHz\n", "probe = {\"states\":(0,1), \"detuning\": detunings, \"rabi_frequency\": 3, \"label\":\"probe\"}\n", "coupling = {\"states\":(1,2), \"detuning\": 0, \"rabi_frequency\": 5, \"label\": \"coupling\"}\n", "rf = {\"states\":(2,3), \"detuning\": 0, \"rabi_frequency\":7, \"label\": \"rf\"}\n", "\n", "sensor_sweep_2.add_couplings(probe, coupling, rf)\n", "\n", "gamma10 = np.linspace(0.1, 1.0, 10)\n", "sensor_sweep_2.add_decoherence((1,0), gamma10)\n", "sensor_sweep_2.add_decoherence((2,1), 0.1)\n", "sensor_sweep_2.add_decoherence((3,0), 0.1)\n", "\n", "print(sensor_sweep_2)" ] }, { "cell_type": "markdown", "id": "6ecb13e5", "metadata": {}, "source": [ "Once again, no extra steps are required, just call `solve_steady_state()` as normal, and look at the shape of the solution and the absorption and rydiqule will quickly find the solution for every combination of those 2 parameters." ] }, { "cell_type": "code", "execution_count": 35, "id": "a016d179", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Solution shape: (201, 10, 15)\n", "Absorption_shape: (201, 10)\n" ] } ], "source": [ "solution_2 = rq.solve_steady_state(sensor_sweep_2)\n", "print(f\"Solution shape: {solution_2.rho.shape}\")\n", "absorption_2 = solution_2.coupling_coefficient_observable().imag\n", "print(f\"Absorption_shape: {absorption_2.shape}\")" ] }, { "cell_type": "markdown", "id": "8f95773f", "metadata": {}, "source": [ "How do we know which axis corresponds to the probe detuning and which is the coupling detuning? It is obvious in this case since they are different lengths, but this will not always be the case (for example in cases where two lasers are scanned over the same number of values). `Sensor` and `Solution` both have attributes called `axis_labels` which do just that, and this is where labeling our couplings comes in handy (It is a method of `Sensor`and an attribute of `Solution` for reasons that are not important here). Note that if couplings are not labeled, the axes will default to being labeled by the states they couple. For example `[\"(0,1)_detuning\", (1,2)_detuning\"]`, in this case, the output of `axis_labels` is what we would expect based on the solution shape we printed above. Notice that since the detuning scanned was on the laser we labelled `\"probe\"`, that label is reflected on the axis.\n", "\n", "In the case of a `Solution`, the axis of the density matrix is included, but this is not the case in `Sensor`, since there is no associated density matrix until it is solved." ] }, { "cell_type": "code", "execution_count": 36, "id": "c636ca54", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "['probe_detuning', '(1,0)_gamma']\n", "['probe_detuning', '(1,0)_gamma', 'density_matrix']\n" ] } ], "source": [ "print(sensor_sweep_2.axis_labels())\n", "print(solution_2.axis_labels)" ] }, { "cell_type": "markdown", "id": "35c3ad22", "metadata": {}, "source": [ "So the first axis corresponds to the probe laser detuning, and the second axis corresponds to $\\Gamma_{1,0}$. Now calling a function like `np.argmin()` or `np.argmax()` could quickly be used to optimize some value over a large parameter space. `rydiqule` lets us add as many parameters as you like as a list, detunings, rabi frequencies, or dephasings. It's handy, but beware that the memory footprint can quickly balloon out of control when generating equations of motion if you get too ambitious, increasing by a factor of $n$ when you add an axis with $n$ elements, especially given that many values used in internal calculations are 128-bit complex arrays. \n", "\n", "Currently, `rydiqule` has internal functions to spot this before it happens and break it into more manageable chunks if it can, but it is certainly possible to make a system which even it cannot handle. If the solution does not fit in memory, no amount of splitting up the equations will allow the system to be solved, and you should reconsider the size of your parameter space. Even in the above example, `rydiqule` is solving $201\\times 10 \\geq 2,000$ equations simultaneously (which is still pretty good). In cases where the parameter space would become intractably large, it is generally good practice to optimise over specific subsets of parameters at a time, or use a coarser mesh to identify a smaller region of interest.\n", "\n", "We can plot these probe sweeps at the same time fairly simply." ] }, { "cell_type": "code", "execution_count": 37, "id": "f99dd29c-4b02-4b38-b0d6-771b154a3f1f", "metadata": {}, "outputs": [ { "data": { "image/png": "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FPCNNrjSdldaflpaWpo67p4jCIKwu1ncGOYOLJdopwUQLUIlceOFGq5PHbfKt0BRNOimDs1syQDFjI67y6JpJbC2JTlB+Cb873//wwknnICysrJdEglkQNA+LlpNRWupaBDxzs6n96ff0W3XVX366af8XHeXc2kJalZWFq/RyugM0H//+1/+Go/HeanZ/fffj/Hjx3fltQmCIGzntngVhUtcOyqBuUFmKnmpht3pReUupaE2dY6xbQs8RSp0WFBNP3yI8vGYkdipA+Rew6cNTjlNyDgonxXpoaneIVXttJigze9Tp07lzmpaANoZaA/Wcccdh0suuQRPPfUUr6a66KKLuClpZ9vdc3JyeFnpGWec0WrBKY2voaWrHUHd3fQ9pS9l/ba88847GD58+HZ7RTNOAB188MGp+0VFRTj00EMxduzYrrouQRCEVix0xMb03BDmNYR32K3lzvIhV4f2fNklMC+UuqrUOcmtW+EdrCFhWfBwF5hdHotRXmgnztLeOUEsaIzg60iMhyPme7/VSDWhCyDxM/p/X/bIz3bNQXt2ekjmMcccw7ddgQwIWgRK2xjcTQwfffQR/vrXv+5UANEW9kcffTQlgMiFefbZZ3m91c0335w6jxylq666Ck888QR+/etf4+uvv2anhjbXX3vttViyZAmSySRvr6fPJTcqfVQObYNfsGABRo0a1eGKLNoKP3v2bL7/+eef8+ctXLiQhRbpiwceeAD77LMPuopvJOXOPvtsVoyCIAjdxdJm26GZoKzgr82Jhp06NT4kOeDslsBQU546R6+s5GGIZCR56H/kErEDZH9tj6jzXCD8CYYFfK2uSxC6i08++QRHHHFEq2MkfOj4zjjnnHPw4YcfptyeF198ESNGjGglYFwikQhnfh9++GEsXbqUIy9NTU0sokhwURSGhMqxxx7LxwkajExOls/nw/z581msXX311du9N51Ho3Tc9VlnnXUWhgwZwuU46jIn0eX1etGVfKN/tui6zgqStr9Pnz6da3jp0KZXQRCE3VnOqNdtZyY3tgTAUET0jjuwyNVpcYCcEpjqASop+OxgmvBoFnQo0KDCQ8MSyeXZwSDXcKKZv6p6FYqDJjY606GFzIPKUOTE9NRndyXl5eXbbVOnx9SERI5OMBjs8LUkYshxmjNnDm644Qb+XU7lt/Ygh+e+++7jEp3LYYcd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", "text/plain": [ "
" ] }, "execution_count": 37, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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FPCNNrjSdldaflpaWpo67p4jCIKwu1ncGOYOLJdopwUQLUIlceOFGq5PHbfKt0BRNOimDs1syQDFjI67y6JpJbC2JTlB+Cb873//wwknnICysrJdEglkQNA+LlpNRWupaBDxzs6n96ff0W3XVX366af8XHeXc2kJalZWFq/RyugM0H//+1/+Go/HeanZ/fffj/Hjx3fltQmCIGzntngVhUtcOyqBuUFmKnmpht3pReUupaE2dY6xbQs8RSp0WFBNP3yI8vGYkdipA+Rew6cNTjlNyDgonxXpoaneIVXttJigze9Tp07lzmpaANoZaA/Wcccdh0suuQRPPfUUr6a66KKLuClpZ9vdc3JyeFnpGWec0WrBKY2voaWrHUHd3fQ9pS9l/ba88847GD58+HZ7RTNOAB188MGp+0VFRTj00EMxduzYrrouQRCEVix0xMb03BDmNYR32K3lzvIhV4f2fNklMC+UuqrUOcmtW+EdrCFhWfBwF5hdHotRXmgnztLeOUEsaIzg60iMhyPme7/VSDWhCyDxM/p/X/bIz3bNQXt2ekjmMcccw7ddgQwIWgRK2xjcTQwfffQR/vrXv+5UANEW9kcffTQlgMiFefbZZ3m91c0335w6jxylq666Ck888QR+/etf4+uvv2anhjbXX3vttViyZAmSySRvr6fPJTcqfVQObYNfsGABRo0a1eGKLNoKP3v2bL7/+eef8+ctXLiQhRbpiwceeAD77LMPuopvJOXOPvtsVoyCIAjdxdJm26GZoKzgr82Jhp06NT4kOeDslsBQU546R6+s5GGIZCR56H/kErEDZH9tj6jzXCD8CYYFfK2uSxC6i08++QRHHHFEq2MkfOj4zjjnnHPw4YcfptyeF198ESNGjGglYFwikQhnfh9++GEsXbqUIy9NTU0sokhwURSGhMqxxx7LxwkajExOls/nw/z581msXX311du9N51Ho3Tc9VlnnXUWhgwZwuU46jIn0eX1etGVfKN/tui6zgqStr9Pnz6da3jp0KZXQRCE3VnOqNdtZyY3tgTAUET0jjuwyNVpcYCcEpjqASop+OxgmvBoFnQo0KDCQ8MSyeXZwSDXcKKZv6p6FYqDJjY606GFzIPKUOTE9NRndyXl5eXbbVOnx9SERI5OMBjs8LUkYshxmjNnDm644Qb+XU7lt/Ygh+e+++7jEp3LYYcd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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig, ax = plt.subplots(1)\n", "\n", "for i in range(absorption_2.shape[1]):\n", " ax.plot(detunings/2/np.pi, absorption_2[:,i], label=f'{gamma10[i]:.1f} Mrad/s')\n", "\n", "ax.set_xlabel(\"detuning (Mrad/s)\")\n", "ax.set_ylabel(\"rho_01\")\n", "\n", "ax.legend();\n", "fig" ] }, { "cell_type": "markdown", "id": "13fcb490", "metadata": {}, "source": [ "### 2.6 Parameter zipping" ] }, { "cell_type": "markdown", "id": "dc81f908-78c9-4358-bd3c-5bdea39edb48", "metadata": {}, "source": [ "It is not uncommon in atomic physics experiments for 2 different atomic transitions (even just among sublevels) to originate from the same laser. In this case, it is often desirable to run simulations where a value of a parameter in one transition (say the laser power/rabi frequency) maps 1-to-1 to a value in a different transition. At the very least, ensuring that these values are always run together will reduce the number of calculations that need to be done substantially by elimnating unphysical simulations. " ] }, { "cell_type": "markdown", "id": "12abd63a-a26e-4137-bfc6-c43d9715b2e1", "metadata": {}, "source": [ "#### Zipping Basics\n", "To handle this case, `Sensor` has a function called `zip_parameters`. We call it a zip because it can be thought about in the same way that python's native `zip()` works for iterators. A zip is defined with a dictionary keyed with coupling labels (including the automatically-generated ones like `\"(1,2)\"`). `zip_parameters` takes this dictionary as an argument, then places all those values on the same axis in the hamiltonian and equation stack. We demonstrate it below: " ] }, { "cell_type": "code", "execution_count": 38, "id": "35f0dff0", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "shape before zip: (101, 101, 3, 3)\n", "shape after zip: (101, 3, 3)\n" ] } ], "source": [ "sensor_zip = rq.Sensor(3)\n", "det = np.linspace(-5,5,101)\n", "f1 = {\"states\": (0,1), \"rabi_frequency\": 1, \"detuning\": det, \"label\":\"laser\"}\n", "f2 = {\"states\": (1,2), \"rabi_frequency\": 1, \"detuning\": 2*det}\n", "sensor_zip.add_couplings(f1, f2)\n", "print(f\"shape before zip: {sensor_zip.get_hamiltonian().shape}\")\n", "sensor_zip.zip_parameters({\"laser\":\"detuning\", \"(1,2)\":\"detuning\"}, zip_label=\"foo\")\n", "print(f\"shape after zip: {sensor_zip.get_hamiltonian().shape}\")" ] }, { "cell_type": "markdown", "id": "1d14eb26", "metadata": {}, "source": [ "We labelled the zip as `\"foo\"`, and this is what will be shown on the output of `\"axis_labels\"`. Had we not provided a label, the one created would be all the couplings joined with underscores. This can be cumbersome-looking, so it generally good practice to label your zips, although not strictly mandatory." ] }, { "cell_type": "code", "execution_count": 39, "id": "cb95a170", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "['foo', 'density_matrix']\n" ] } ], "source": [ "sensor_zip.add_transit_broadening(0.1)\n", "sol = rq.solve_steady_state(sensor_zip)\n", "print(sol.axis_labels)" ] }, { "cell_type": "markdown", "id": "71f0be21", "metadata": {}, "source": [ "Now all the parameters we zipped should line up on their shared axis. As an example, if we inspect Hamiltonian 0, it should correspond to a detuning of -5 (the first detuning value) on the first coupling and -10 (the first detuning value) on the second:" ] }, { "cell_type": "code", "execution_count": 40, "id": "95edb62f", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[[ 0. +0.j 0.5+0.j 0. +0.j]\n", " [ 0.5-0.j 5. +0.j 0.5+0.j]\n", " [ 0. +0.j 0.5-0.j 15. +0.j]]\n" ] } ], "source": [ "print(sensor_zip.get_hamiltonian()[0])" ] }, { "cell_type": "markdown", "id": "08508a26-c260-4120-bde6-cfc6bd43f2c2", "metadata": {}, "source": [ "It is worth noting that `zip_parameters` does not change anything on the graph itsself, it just adds the labels to a list which is an internal attribute. The actual zipping is done at hamiltonian/decoherence matrix generation time. " ] }, { "cell_type": "markdown", "id": "0c0b28a3-23d8-4fef-849a-37a544251d86", "metadata": {}, "source": [ "#### Automatic Zipping\n", "When couplings are defined between manifolds of states as shown above (thus producing more than 1 graph edge) any array-like parameters will be zipped automatically. So no additional steps need to be taken, and the shape of the Hamiltonian will be correct. Here, we see that all the detunings are included as arrays on separate edges, but they share an axis on the hamiltonian automatically." ] }, { "cell_type": "code", "execution_count": 41, "id": "4a2d8164", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " object with 4 states and 3 coherent couplings.\n", "States: [(0, 0), (1, -1), (1, 0), (1, 1)]\n", "Coherent Couplings: \n", " ((0, 0),(1, -1)): {rabi_frequency: 2, detuning: , phase: 0, kvec: (0, 0, 0), label: laser_0, coherent_cc: 0.25, laser_detuning: detuning}\n", " ((0, 0),(1, 0)): {rabi_frequency: 2, detuning: , phase: 0, kvec: (0, 0, 0), label: laser_1, coherent_cc: 0.5, laser_detuning: detuning}\n", " ((0, 0),(1, 1)): {rabi_frequency: 2, detuning: , phase: 0, kvec: (0, 0, 0), label: laser_2, coherent_cc: 0.25, laser_detuning: detuning}\n", "Decoherent Couplings:\n", " None\n", "Energy Shifts:\n", " (1, -1): -0.1\n", " (1, 1): 0.1\n", "Zip Labels:\n", " ['laser_detuning']\n", "Hamiltonian Shape :(11, 4, 4)\n", "['laser_detuning']\n" ] } ], "source": [ "g = (0,0)\n", "e = (1, [-1,0,1])\n", "[e1, e2, e3] = rq.expand_statespec(e)\n", "\n", "#defing coupling coefficients and energy shifts\n", "cc = {\n", " (g,e1): 0.25,\n", " (g,e2): 0.5,\n", " (g,e3): 0.25\n", "}\n", "e_shifts = {e1:-0.1, e3: 0.1}\n", "\n", "det = np.linspace(-1,1,11) #short array for readable printout\n", "\n", "sensor_man_zip = rq.Sensor([g,e])\n", "sensor_man_zip.add_energy_shifts(e_shifts)\n", "sensor_man_zip.add_coupling((g,e), rabi_frequency=2, detuning=det, coupling_coefficients=cc, label=\"laser\")\n", "\n", "print(sensor_man_zip)\n", " \n", "print(f\"Hamiltonian Shape :{sensor_man_zip.get_hamiltonian().shape}\")\n", "print(sensor_man_zip.axis_labels())" ] }, { "cell_type": "markdown", "id": "ea3f7fb0-3cf8-44c2-8141-cfcfd53870c2", "metadata": {}, "source": [ "It is also worth mentioning that while it handles a more sepcializaed use-case, `rydiqule` does not place any restrictions on what types of parameters can be zipped together. So as long as their lengths match, the `rabi_frequency` of one coupling can be zipped to `e_shift` on a completely different node for example." ] }, { "cell_type": "markdown", "id": "d88376db-f7f8-4794-91d8-00c15a632655", "metadata": {}, "source": [ "#### Zipping zips\n", "You can also zip a zip to another zip. While this sentence sounds a little ridiculous, it can be useful in cases where, for example, two coupling groups representing two different polarizations originate from the same laser. If the couplings to be zipped are over manifolds, they are already zipped amongst themselves, since zips are created automatically. But we still want to zip further. The exact use cases for this will be left to a more advanced example in a different notebook, but we will demonstrate the basic idea and functionality below. We start by creating two coupling groups, each with a scanned detuning." ] }, { "cell_type": "code", "execution_count": 42, "id": "f8aa7693-37d4-4063-9740-ce6233b53ab5", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " object with 5 states and 4 coherent couplings.\n", "States: [(0, 0), (1, -1), (1, 1), (2, -1), (2, 1)]\n", "Coherent Couplings: \n", " ((0, 0),(1, -1)): {rabi_frequency: 1, detuning: , phase: 0, kvec: (0, 0, 0), label: laser1_0, coherent_cc: 1.0, laser1_detuning: detuning}\n", " ((0, 0),(1, 1)): {rabi_frequency: 1, detuning: , phase: 0, kvec: (0, 0, 0), label: laser1_1, coherent_cc: 1.0, laser1_detuning: detuning}\n", " ((0, 0),(2, -1)): {rabi_frequency: 2, detuning: , phase: 0, kvec: (0, 0, 0), label: laser2_0, coherent_cc: 1.0, laser2_detuning: detuning}\n", " ((0, 0),(2, 1)): {rabi_frequency: 2, detuning: , phase: 0, kvec: (0, 0, 0), label: laser2_1, coherent_cc: 1.0, laser2_detuning: detuning}\n", "Decoherent Couplings:\n", " None\n", "Energy Shifts:\n", " None\n", "Zip Labels:\n", " ['laser1_detuning', 'laser2_detuning']\n", "Hamiltonian Shape: (11, 11, 5, 5)\n", "Axis Labels: ['laser1_detuning', 'laser2_detuning']\n" ] } ], "source": [ "g = (0,0)\n", "e1 = (1,[-1,1])\n", "e2 = (2,[-1,1])\n", "\n", "det = np.linspace(-1,1,11)\n", "\n", "sensor_zip_zip = rq.Sensor([g, e1, e2])\n", "sensor_zip_zip.add_coupling((g, e1), detuning=det, rabi_frequency=1, label=\"laser1\")\n", "sensor_zip_zip.add_coupling((g, e2), detuning=det, rabi_frequency=2, label=\"laser2\")\n", "print(sensor_zip_zip)\n", "print(f\"Hamiltonian Shape: {sensor_zip_zip.get_hamiltonian().shape}\")\n", "print(f\"Axis Labels: {sensor_zip_zip.axis_labels()}\")" ] }, { "cell_type": "markdown", "id": "ff14591d-98cf-4ef1-b94b-17ce7a38c38c", "metadata": {}, "source": [ "We can see that we have already created 2 distinct zips implicitly in `add_coupling`, but we would like them to be zipped together further. We can use the `zip_zips` function to zip them together. It works as you might expect, taking as arguments the labels for any zips you would like to zip together further. Optionally, you can (and probably should) also add a new label." ] }, { "cell_type": "code", "execution_count": 43, "id": "aa5185ee-2a58-48b3-9a4f-3fe61a475755", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " object with 5 states and 4 coherent couplings.\n", "States: [(0, 0), (1, -1), (1, 1), (2, -1), (2, 1)]\n", "Coherent Couplings: \n", " ((0, 0),(1, -1)): {rabi_frequency: 1, detuning: , phase: 0, kvec: (0, 0, 0), label: laser1_0, coherent_cc: 1.0, laser_detuning: detuning}\n", " ((0, 0),(1, 1)): {rabi_frequency: 1, detuning: , phase: 0, kvec: (0, 0, 0), label: laser1_1, coherent_cc: 1.0, laser_detuning: detuning}\n", " ((0, 0),(2, -1)): {rabi_frequency: 2, detuning: , phase: 0, kvec: (0, 0, 0), label: laser2_0, coherent_cc: 1.0, laser_detuning: detuning}\n", " ((0, 0),(2, 1)): {rabi_frequency: 2, detuning: , phase: 0, kvec: (0, 0, 0), label: laser2_1, coherent_cc: 1.0, laser_detuning: detuning}\n", "Decoherent Couplings:\n", " None\n", "Energy Shifts:\n", " None\n", "Zip Labels:\n", " ['laser_detuning']\n", "Hamiltonian Shape: (11, 5, 5)\n", "Axis Labels: ['laser_detuning']\n" ] } ], "source": [ "sensor_zip_zip.zip_zips(\"laser1_detuning\", \"laser2_detuning\", new_label=\"laser_detuning\")\n", "print(sensor_zip_zip)\n", "print(f\"Hamiltonian Shape: {sensor_zip_zip.get_hamiltonian().shape}\")\n", "print(f\"Axis Labels: {sensor_zip_zip.axis_labels()}\")" ] }, { "cell_type": "markdown", "id": "55fa1031-f6a5-44f2-9470-0d4f90286207", "metadata": {}, "source": [ "This should cover all the important functionality regarding handling arrays of parameters in `Sensor`. This is not an exhaustive description of the functionality, for that please consult the [docs](https://rydiqule.readthedocs.io/). This discussion should, however, give you an excellent foundation for building your own experiments in `rydiqule` and give you some familiarity with the language used throughout the documentation. " ] }, { "cell_type": "markdown", "id": "eb32c91b", "metadata": {}, "source": [ "---\n", "## 3. Solving in the time domain\n", "Depending on your experiment, you may be interested in the behavior of an atom acting under the influence of a field that varies with time.\n", "\n", "Suppose you have defined a sensor, and we want to see the response of the sensor of some well-defined rf input function. In this case, the steady-state solution above is not enough. We will set up a sensor similar to the one above, but define the rf field differently. We will use the `\"time_dependence\"` keyword in the dictionary, and supply a regular python function which takes a single argument of time in microseconds. The output of this function should be a scalar quantity which will applied as a multiplicative factor to `rabi_frequency` at the time supplied. See `rydiqule`'s [physics documentation](https://rydiqule.readthedocs.io/page/writeups/writeups_index.html#time-dependence) for more details about the math of how time dependence is handled." ] }, { "cell_type": "markdown", "id": "39f7ed7f", "metadata": {}, "source": [ "### 3.1 Time Dependence without the RWA\n", "We will begin our discussion of the time solver by solving a problem where we do not make use of the rotating wave approximation (RWA) for the time-dependant field, since this is a more straightforward case. All we need to do to tell `rydiqule` not to use the rotating wave approximation is not supply a detuning value. Rather we define a transition frequency between two states and supply a python function of a single variable (which `rydiqule` interprets as time `t` in $\\mu s$), and returns the complex scalar value by which to multiply the `rabi_frequency` at time `t`. Unlike in the RWA case, no implicit assumptions about the coupling will be made; it is an \"empty\" transition without a `time_dependence` function. \n", "\n", "In the simple example below, we (arbitrarily) define a the 100 Mrad/s transtion, and we define a function `my_field_norwa` which applies a sinusoidal field with 1 Mrad/s detuning, modulated by a 10 Mrad/s carrier." ] }, { "cell_type": "code", "execution_count": 44, "id": "34f6f8ee", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " object with 4 states and 3 coherent couplings.\n", "States: [0, 1, 2, 3]\n", "Coherent Couplings: \n", " (0,1): {rabi_frequency: 1, detuning: 0, phase: 0, kvec: (0, 0, 0), coherent_cc: 1.0, label: (0,1)}\n", " (1,2): {rabi_frequency: 2, detuning: 0, phase: 0, kvec: (0, 0, 0), coherent_cc: 1.0, label: (1,2)}\n", " (2,3): {rabi_frequency: 1, transition_frequency: 100, kvec: (0, 0, 0), time_dependence: , coherent_cc: 1.0, label: (2,3)}\n", "Decoherent Couplings:\n", " (0,0): {gamma_transit: 10.0}\n", " (1,0): {gamma_transit: 10.0}\n", " (2,0): {gamma_transit: 10.0}\n", " (2,1): {gamma: 1.0}\n", " (3,0): {gamma_transit: 10.0}\n", " (3,2): {gamma: 0.1}\n", "Energy Shifts:\n", " None\n", "\n" ] } ], "source": [ "#101 Mrad/s field, modulated\n", "def my_field_norwa(t):\n", " return np.cos(101*t)*np.sin(10*t)\n", "\n", "sensor_time_norwa = rq.Sensor(4)\n", "sensor_time_norwa.add_coupling((0,1), detuning=0, rabi_frequency=1)\n", "sensor_time_norwa.add_coupling((1,2), detuning=0, rabi_frequency=2)\n", "sensor_time_norwa.add_coupling((2,3), transition_frequency=100, rabi_frequency=1, time_dependence=my_field_norwa)\n", "\n", "sensor_time_norwa.add_transit_broadening(10)\n", "sensor_time_norwa.add_decoherence((2,1), 1)\n", "sensor_time_norwa.add_decoherence((3,2), 0.1)\n", "\n", "print(sensor_time_norwa)\n", "\n", "#1000 samples over 3 microsecond\n", "end_time = 3\n", "num_pts = 1000\n", "\n", "sol_norwa = rq.solve_time(sensor_time_norwa, end_time, num_pts)\n", "print(type(sol_norwa))" ] }, { "cell_type": "markdown", "id": "c876d5b3", "metadata": {}, "source": [ "This is a very straightforward example with simple numbers to demonstrate using the functionality of the time solver. The system was not set up in a precise enough way to warrant any serious interpretation of the output (although it does visually settle into steady-state behavior), but we can see that it produces an object of type `Solution`, just like a steady-state solve. Although it is the same type of object, it has some new attributes, some of which are demonstrated below." ] }, { "cell_type": "code", "execution_count": 45, "id": "066dd3e3", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "rho shape: (1000, 15)\n", "['time', 'density_matrix']\n", "1000\n" ] }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAiMAAAGsCAYAAAAPJKchAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjgsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvwVt1zgAAAAlwSFlzAAAPYQAAD2EBqD+naQAAdGVJREFUeJztvQl4XWW1/78yJ22TdE7SNk3neWZsAaHKIPSPwL3CFYvABVQUroID0udeFeWnFa4IXpWiItQLoqKMl6HQFgpCiy10oBQ6z22STpnapGmbnP+z3rPXPvsk5yRn2Hu/706+n+c5TXNyTrKzs/f7ft+1vmu9GaFQKEQAAAAAAJrI1PWDAQAAAAAYiBEAAAAAaAViBAAAAABagRgBAAAAgFYgRgAAAACgFYgRAAAAAGgFYgQAAAAAWoEYAQAAAIBWIEYAAAAAoBWIEQAAAABoJVBi5O2336bLL7+cBg0aRBkZGfT88897+vOGDRumfk7bx2233Zb29966dSsVFhZS7969O33t0qVLadasWer1paWl9L3vfY9OnToV9ZoPP/yQzjvvPMrPz6fy8nK6//77o76+cOHCdr8Hv9bJs88+SxdffDH169dPfX3t2rXkJSdPnlS/y+TJk6lnz57q73r99dfT/v37Pf25AAAAzCJQYuTYsWM0depU+s1vfuPLz1u1ahVVVlbaj8WLF6vnr7766rjv4Ul8586dnU7C1157rRIPnbFu3Tq67LLL6LOf/SytWbOG/vrXv9KLL75Id999t/2a+vp6JSIqKirogw8+oP/+7/+me+65h373u99Ffa+ioqKo32fXrl3tzu+5555L9913H/lBY2MjrV69mr7//e+rjyyGNm3aRJ/73Od8+fkAAAAMIRRQ+NCfe+65qOeOHz8e+va3vx0aNGhQqEePHqEzzzwz9Oabb7r2M7/5zW+GRo4cGWptbe3wuHbs2NHh97nrrrtC1113Xejxxx8PFRcXd/jaefPmhU4//fSo51588cVQfn5+qL6+Xn3+8MMPh/r06RNqbm62X/O9730vNHbsWPvzRH6WwMfPv8eaNWvafa2mpiZ08803h/r37x8qLCwMzZ49O7R27dqQW6xcuVL97F27drn2PQEAAJhNoCIjnXH77bfTihUr6C9/+YtKW3AEgyMKW7ZsSft7nzhxgp588km66aabVPQjVd544w3629/+lnB0p7m5uV06paCggI4fP66iIAz/zp/61KcoNzfXfs0ll1yiogw1NTX2c0ePHlXRE07jXHHFFbRhw4akj5/P6YEDB+jVV19VP3/GjBn0mc98ho4cOUJuUFdXp85vIukrAAAAXYMuI0Z2795Njz/+uJroOf0xcuRI+s53vqPSDvx8urA/pba2lm688caUv8fhw4fV+9m/wSmTRGBRsXz5cvrzn/9MLS0ttG/fPvrxj3+svsapFqaqqopKSkqi3ief89eYsWPH0mOPPUYvvPCCElWtra3Kh7J3796Ej/+dd96hlStXqnN8+umn0+jRo+nnP/+5Eg5///vfKV1YYLGHhFNYiZ4fAAAAwafLiJH169eryXrMmDHUq1cv+/HWW2/Rtm3b1Gs2btwY05DqfDi9GE7+8Ic/0KWXXqpMlk74OefPYyZOnGh/zv8XvvzlL9MXv/hFFcVIFPaCsAfk1ltvpby8PPX7sYeEycxM/M83c+ZMZQ6dNm0anX/++cqfMWDAAPrtb3+b8Pdg/wpHV9jg6vydd+zYYZ/jRYsWdXqOH3nkkZg+mmuuuYbThrRgwYKEjwkAAEDwyaYuAk+SWVlZKnXAH52ISBgxYgR98sknHX4fnmjbwkbPJUuWqAm8LY8++ig1NTXZn3O04JVXXqHBgwerz3NycqJSNGw+5WgCwxMvRyiys7OV2ZRTQLH41re+RXfeeaeKhPTp00cZZOfNm6d+H4YrbKqrq6PeI5/z12LBxzV9+nRV1ZPMOS4rK6Nly5a1+5qkVTgq1dk5bntMIkT4PPM5QlQEAAC6F11GjPDEypER9jPEq1JhT8W4ceOS/t6c5hk4cCDNmTOn3ddEdDhhXwaXBbeFvR18jAKnTLhyhdMwsb6PE44oSFSGUzbs+2C/hkQ9/vM//1NN6iJ+uPKHUzMsXmLBx8HRJImyJAL/PE77sHiK9fsxXKKbzDkWIcK+njfffDOmGAQAANC1CZQY4ZW5cyXP6QHuhdG3b1+Vvpg7d65KRTzwwANKnBw8eFD16JgyZUpMIZEIHLlgMXLDDTeoSTgdxo8fH/X5+++/r1ItkyZNsp977rnnVNSDU0oCp2nYiMuv5ejMz372M3r66aftCBCnfn70ox/RzTffrDwXH330Ef3yl7+kBx980P4e7DM5++yzadSoUcr7wt+TIxG33HKL/Ro2obL3Rvp8sAFWIhn8uPDCC5XwufLKK1UfEz7n/NqXX36ZrrrqKuUjSQYWIp///OdVWe9LL72kBJJ4XPhv6jTkAgAA6MKEAgSX6fIht33ccMMN6usnTpwI/eAHPwgNGzYslJOTEyorKwtdddVVoQ8//DDln/naa6+pn7Fp06aEXp9IaW9H5bb8XNs/C5fP8uu4nPess84KvfLKK+2+17p160LnnntuKC8vLzR48ODQz372s6iv33HHHaGhQ4eGcnNzQyUlJaHLLrsstHr16pg/u+3jhz/8of0aLif+j//4D1U+zee4vLw8NHfu3NDu3btDySIlxLEebpZkAwAAMJsM/ke3IAIAAABA96XLVNMAAAAAIJhAjAAAAABAK4EwsLKJlI2SvFFcOt1PAQAAAOAf7ARpaGhQ1aAd9cYKhBhhIcKlrAAAAAAIHnv27KEhQ4YEW4xwRER+GTTEAgAAAIIB7yrPwQSZxwMtRiQ1w0IEYgQAAAAIFp1ZLGBgBQAAAIBWIEYAAAAAoBWIEQAAAABoBWIEAAAAAFqBGAEAAACAViBGAAAAAKAViBEAAAAAaAViBAAAAABagRgBAAAAgFYgRgAAAACgFYgRAAAAAGgFYgQAAAAAWoEYCSBbDzTQA69voiUfV+s+FAAAACBtArFrL4iw/eBRuuLX79KxEy3q83uvnERfOrsCpwgAAEBgQWQkYNy3aKMSInnZ4T/dfa9upNrGE7oPCwAAAEgZiJEAcaD+OC22UjMv3n4ujS0ppKPNp+j/1u3XfWgAAABAykCMBIjFn1RTa4hoanlvGltaSFefPkQ9//fV+3QfGgAAAJAyECMBYsW2w+rjZ8YNVB+vmDaYMjOI1u2ppf21TZqPDgAAAEgNiJEAsWZ3rfp4WkUf9XFAYR5NGdJb/f/drYe0HhsAAACQKhAjAfKL7KttooyMcJpGOGdUP/URYgQAAEBQgRgJCKutqAibVnvlRSqyzxnVX31cvu0whUIhbccHAAAApArESED4eH+d+jhlSHHU8zOG9qHszAw60NBM++uOazo6AAAAIHUgRgLC1oNH1ccxJYVRz+fnZKnKGubDPeHoCQAAABAkIEYCwpbqsBgZNbBXu6+JiXXd3nD0BAAAAAgSECMB4GRLK+08fEz9f3SbyAgz1UrdcIkvAAAAEDQgRgLArsONdLIlRD1ys2hQcX67r0+2xMjHlfUwsQIAAAgcECMBYOuBSIomg2t72zByQC/V/Kyu6SQdOop9agAAAAQLiJEAsPVAg/o4akB7v4iYWIf27aH+v6U6/FoAAAAgKECMBCkyUhJbjKivDQx7SbZYrwUAAACCAsRIgMp640VGmDGWUNmMyAgAAICAATFiONxVdeehRvX/EQN6xn3daEuMSBQFAAAACAoQI4Zz+NgJOtp8Su1JM6RP2BcSi4p+YaGy50hYuAAAAABBAWLEcHYeCvcXGVRcoIyq8Si3hEpl/XFqPtXi2/EBAAAA6QIxYjg7D4cjHcP6x4+KMP175VJBThbxXnn7a48b27ztr6t20+/e3kaHjzbrPhwAAACGENn+FRgdGZE0TDy4/0h53wLaXH2Udh9ppOH9O369Du/LN/68hl79qEp9/sflu+iF28+h/r3ydB8aAACAoEVGGhoa6I477qCKigoqKCigWbNm0apVqzp8z7Jly2jGjBmUl5dHo0aNooULF6ZzzN0KaQM/vBMx4kzVmOgbWbb5oBIiOVkZKoqzr7aJ7l+0UfdhAeCLEG86EczUaUtriD6prFe+taDBkdg3Nx6gj/fXUxCP/cV1++m1DVXU2hqi7kDSYuSWW26hxYsX0xNPPEHr16+niy++mC688ELat29fzNfv2LGD5syZQ7Nnz6a1a9cqIcPf47XXXnPj+LuNGKno13Gahim3Gp/tqTFPjDz1z93q4/Uzh9Fvv3Sa+v/za/bTwYZgpGt4ML7tT6tpzH+9Sl/8/Xt0oN7MVFg8Fn1USZf98h90zW9XBG5w3nbwKP3Lw+/S2T9dSk++t4uCBKcj/3XBchr/g0V008JV1HgiOJP68ZMt9G+/XUGX/vIfdN59b9CG/XWBmsxveGwl/fvCVXTZ//yD/rwyPP4ERbz+x1NrVCT5q098QHc/+yF1B5ISI01NTfTMM8/Q/fffT5/61KdUlOOee+5RHxcsWBDzPY888ggNHz6cHnjgARo/fjzdfvvt9PnPf54efPBBt36HLgtflLusst5E0i62GDEsMsKrwn9sOaj+f9X0wXRaRV+aPrQ3nbA8JEHgP59bTy+vr6QTp1pp+bbDdPtTawKzD9Dbmw/S1/60Wu1dtHLHEbr+sX9SzbFgbBtQ13hSTeKrd9dSVf1x+q/nP6K3NoevpSBw97Pr1bEzb2w8QPcv2kRB4ZG3ttH7u2rU/2saT9K3/rpORUqCwF9W7VH3qXDPixuoqi4YC4hlmw7Sog3hdDbz9Pt77fGzK5OUGDl16hS1tLRQfn70Zm2crnnnnXdivmfFihUqcuLkkksuUc/Ho7m5merr66Me3ZEjx05Qg1XWK0KjI6Ql/J4jTWQS72w9RMdPttLg3gU0cVCReu4LZ5Srj69tqCbT4RXhC2v3q7/DT6+arIzCK3ceiRrsTIVDvPf83wZlbJ4zuYxGDuip9i967N0dFAQeXrZVbRTJ184lE0vUc//9WjDSezyBLP64mrIzM+juS8ep5/70z11UHYCoGo89LEaY/3flJCrKz6ZN1Q1K2JoOLxIefyd8ff/w8gl0ekUfaj7VSn9csZOCwMLl4eP88nnD6cZZw8LPvRuMY/dNjBQWFtLMmTPp3nvvpf379yth8uSTTyphUVlZGfM9VVVVVFISHkQE/pwFBkdaYjF//nwqLi62H+Xl4Ymru7GnJnx+SgrzOyzrFdjAGn6fWZGRd7ceUh9njxtgb/T36XElanJfv6/O+MH5r6v2qI+XTS6jL541lK45fYj6/Pf/2E6m8+62Q7T94DHqlZdNP/vXyfSti8baK0eO8pgeFZG0zI+vmEg/+5cplJuVSR/tqw9EqunRf4QnxOvOrqBbzx+pooG8+/b/rdtPpvPMB3vVAmLS4CKae9ZQ+pcZ4Wv+bx+E7wWTWb27hrYfOqZ2Ob/69HK66dzh6nk+76ZHM2sbT9jj5bVnDqUvzaxQ/39z0wHjx0nfPSPsFeE/6ODBg5Uh9X/+53/o2muvpcxM96qE582bR3V1dfZjzx7zbwAvqKwNi5Gy3tGRqM4MrLWNJ6n++EkyhQ/3hsPUp1X0sZ8bUJhH08p7q/+zycz0sClz1bTB6uON54QHN14l8grSZFh0MP86YzAV5ufQxRNL1Llnr86yTWaf95fW76djJ1poXGkhfXrcQOrTM5cunDBQfe3vH+wlk+FU6dtWaP3fzwmvbq+YOkh9fOnD2As3U+Dx/S9W+vSLZ1aoBcTVlgBf8vEBajBobInFM6v32YsHFuGzxw5UwmRvTROt3RMei0xl8cfVdKo1pK75EQN6qR3Zedzk7Ngr682+btIlaQUxcuRIeuutt+jo0aNKJKxcuZJOnjxJI0aMiPn60tJSqq6ODsXz50VFRSq9EwsWOfx156M7st/KcXLDs0TomZdNfXrkqP/vs6IqJhjJNlir2KlDwuJDOG/0APWRfQymsvtwoyqV5lD72SP72f6d8WVFaoAwWUhxikZWWZ+zhFROVqZK18hqy2SWfhI+vsunDrIjaldYv8fSjWan9/7vQ16FE507qr9dln/ZlDLKzCA1IZrsX+B0zLaDxygvO5M+Ny0soCYOKlYmevZ5rdp5xOhrfsnH1fZ1wxTkZtFnxpdEXVOmsuST8LF/dlKp/dxFE8LH/s6W8L3cVUk5nNGzZ08qKyujmpoaVRlzxRVXxHwdp3WWLl0a9RxX4/DzIMHISHFikZHwa8PCpbLODDGyqapB5WsL87NpWJvy5DOGhSMlq3aZO7ix34WZMbSPWmUJF40fGDV4mMjGqgYVJeNV4ZQhxfbzF4wdYEd8TA1bc9WJnPsLrYmEmTWyH2VlZigfyV7D0pGxomnic2EGFuarSZ355w5z/UaLLR/XeaP7R13zfO6Z5VvNPXZO+x5oaKaeuVl09oi+9vPnjgofO3u9TKWlNUQrLB/aBWPD4wvDgpZ5b/thtbjrqiQtRlh4LFq0SJXssqjgkt1x48bRv//7v9spluuvv95+/a233krbt2+nu+66izZu3EgPP/wwPf3003TnnXe6+5t0QSqt1VNZ78QiI8wgK6VjShfWdVaKhqMimbwsdDB9aB+1UmTDrakrxfctoSRREWH2uPBgwSZWU/sArNgeHtjOGNZXRUSEs0f0U6tevr5M3Vjxg101ytPCxlXZkZrhVJMIK1Mnxbqmk+r4204qzJnDwxOkydGFxZbAlhW5MHNkeFJ812DjNlcsMZ8aM4DysiM+uzOHh+9fjkpxybKpRvn646eoMC+bJllGf2ZCWZGKeHPKcp3haSZfxQh7OG677TYlQFh0nHvuuUqg5OSE0wNsZN29O1KuyWW9L7/8shIuU6dOVSW+jz76qKqoAR2z34puDApwZOTDPeHeBM6VucCrLk53MDJ4m4YYJacMjj7+SYOLVVUNTzzcB8NE1uwOn9OzHCtEhs3Q4t8x9bzzCpdh06ekaIRzRkZWiiayascRtcod0b9nuyo4FoYmpya5n85H1rlvK6Qk0rCxytwmaBJZYDHiZFi/HsorxQLXVN/Iu5a4PmtEP8p2LB54EScils25XZWkxcg111xD27ZtU+W3LDx+/etfq4oXgburcsdVJxdccAGtWbNGvYffe+ONN7pz9F2cytrkIyNidpX3GhMZscyqbZli+UhMbKjEK6gtVuRg4uBo3xJHGqaWh6976cVgGluqw8c+vrS950rMw6YOzDIhTm4jAkWgOAWLaXxkXcvTrOOMlZrkbRtMMpkLvPLmQN+QPgVUUhS9COI0E6eMObO3wcBzz/2M1uwJ34szR0RHMlnQcomv01BvGsu3hdOS51gpJSfTysPHvs5a3HVFsFGeoZxqaaUDDceTjoyI2VWiKrrz/purG2KaV4UJVjiSG3KZBh87r3A5RFraZmBmTq8Ir1be32meGOHc8vZDYTEy2pHmEKYaLkbWdyBG5DmOSJnY0VQM2+IPcdKvV55KPTEbK8P3hklIpIw9UrHgiCBjohDkY+fSab5XY3Wslh5H8vcx7X5dZaXuZlmRPyey8DH1fnUDiBFDOXzshFqhsKcimc3kxOwqfhOdcD8I/h1KivKoNI6gkgHCxL4RzkmlbarAuUKXVbxJ7Dp8TA3MbOSTyc/JdEuMsOA6ZljInfuLSOO+WBP6wKJ8GliYp64t3jfFNORalmu7LZKa/NjAaKCIEWcZfiwhaOI1v9aKinBKI9b9KteSiWJkU1WD6uvCzeWcHilnBJl/Jd7TSxapXQ2IEUM5dDS8Z0vfnnntjJ8dMciaeFiM6K6UkNTLpBgTisD19HyTsQPetH1qeIBgxpcVdjip8Aq9+VSLkSmaUQN7xRyYeUJnkcgTOlfdmMTWgw12RLDYKlWPNymu32vWpMht9nnCcEb9ghQNFENzPCFln3cDxcgnVqQp3rHL89sPHjVu48K1VsSDI5ax7lf213HPEVPFlBtAjBjK4aPhZlq8w20ycJ6Xr2U2anF0xeQVItMjN9ved8e0Va6IkTElhXGjULyS4SZF2w6ENzQ0BfYkMKPjHLvz99pipdJMgTvGMtz0KR4yoXNPDJMQjxFHo4ryYwspro4wUYywoJb0rvRGiSfAdx5uNE6Ay/ghxxhLgHOUWUXUqsw69+ssMSJerngLN+e41NWAGDGUw8fCUYJ+SYqR3OxMO62j28Qqg228FaIwypp0eMViEuJ3GWsNAm3hFcw4a+DjCgOT2HwgfOyjB8af0EcPLIwSLqbArbyZEQPibw7JER/GNBEou2x3dOwSaePzbtLGc5wa42Aqp/biLYI4msY9g/i4RTSaAHuHdljnPp4YcY5FpkUX1jlaIMRDfq+NholYt4AYMTwy0q9n4n4RQQyvOk2sHJmRVEGsvL8TWQHLJGRKmowjSxxlkokvFuMtoWJaVGerde7jRXXCXwv/Xlss4WIKO6xJrqOdqiVkvdUwActeHSaWgVIY0qeH6vPC94hJjdt2Hwkf+9B+PWOmChh+Xq4pEesmwNECFlK8EOMS3nhEPGp1ZpnNDx7rdOEmkRHT0qpuATFiKLyzaiqRkaheI1buWgfso+DW0dzAh8sEO0JWkSattGSg5Z2QOZUUjzHWAGFS87DOKmmE0QZOKsyOQ52LEblmeG8gk/YH4vQF07bbsBPuICu/m0nXzc5Dcuwd7xBui1iDImoydsQyf8ZKkZmU6uBuwqdaQ6pTckfdtiVCy2NrV+zECjFiKIctA2sylTTteo1orKgRv8j4QUVxV1kCb2tvWppmszVYSSojHsOtSYcHFNMqaXhw62hfIxEq1fXNxvS84PC/hNsl+hELFohSJWRS07lIZCS+GIlKMxl07LwHEzO0UzFieRcMErH2sbdpMhfvvLMI1G3wF2TcGzEgfkSK4eudF3d8b5u0cHMLiBFDEfNpv57JR0YivUaO6/eLdJC/FUb072Ufryl9IzZbK9axpR2vtIZZK1weDLk3jAnIipX9Ih1VYrHBUrwBvCGgCeyvbVLpi9ysTLsyLB4jbd+IGRM6T267EowuOCdF44RU346FlInG5z1Wuqttx9u2cESK53tuuy7RZ2M8Uv07HmtYqEh0xDSPmhtAjBgeGeEmSckS6cLapL2qIJ750wlvDS+7DUuo2JTISEeeC4YbLHH+n8OsUtKpGzGkjuokquNMJ4jx0pQUDXsuOJ2RSETNlAmd00UNzafUZNfZpGimGElMSElEbdeRRmP2edlr9aXp7LzzVgjlfXoYde5FTI/owPQsjCvrur4RiJGu7BnRGBmRVVZHeX8nEl6VFY7uFa6EoDsTUxx5kAldJlJTKmk6y5870wk7DTl2Z8i6M+wJ3ZBUh/hFyory1aQXpHQBp8fk3ussTTOgV55aPPBhmzKhS5qmvBN/mlPEmpIii1SP9er0tZK6FJN3VwJixEB4cJLS3v6pVNNYkZGq+uNaSgfZXLW3pqlTI1/bCgNmjzWo6ITPW8PxU1FGw46QyglTJvREKmkEWQXLRGqOeTXxgdmUSUX+/p35ReS+yLTSBQetKKju9Bh7ETg9JouZjtIFMnGaEFHjfifVVlfSziIjJkalpKKqIoFjl7SwCefdbSBGDKTxRItqDZxqZIQ3tOKJlIWIjq6m+2qa1M/Oz8lUbbsTYUjf8AAoIsaENAcLEec25PEQwWLChK4MoIc6N4AKFdaxSyTLnPx55xO6vIavN/aZ6EbOoUwYnaYLrMnHhF4pElng+7Cz9JhTgJtg3Oa/P0dp2LCdiMfOJBHL1y13n2YGJxDVEcM8i5FWg3rUuAHEiME9Rngy5xssWXgwKbFEgI5eI1INoVZ/CbaylzyuCX0XxC8yNoHIgnPyMSFNw+ePS6rZx5LI4GZaZCTSfbXzCZ37SRTkZKmOmiZcN5Gy3s5XuE4Ra4IQFFGRyOrcOSmacM1HUjQ9Oq3cM834XKW27SB1vyYipLhNQnZmhlqscgS3KwExYiCHpPtqz7yEbq5YlMkeNRq6sO5ymBATRVaJskGaTsQvkkiawzQTqKz2eKJLaIVrVU5wBE33hnlshhTxnEh6jO8Nk1boiZb1CjLx7wzgsQ8zSEjtsaKp5VZ0tTOk47MJ1Xtieh/cuyChsT47K9MeK01JC7sFxEgX2pfGieySq0M9s8s+mYGNkcZobKLTbeiTCb2jzqtOhvWXqA7n3VuNiCwkkqJheCM6qWTSPaHzz+c/Pe/30zfBknYRgiZMinZkxLoeOoM7nTo7n+rEjowkuICImLb1C6m9EhlJMKrD1Xvc0t6EtDB7dZhBnZSxO5HIm0SguwoQIwaX9SY6IMdCvBo6tpuWaEysrevjIa9lv4zujpq7kxyYSwrz1Z5A7NfgsKsJQkoqBhKhwpAJPVJJE3un4Q7Nw5qFVG3jCaprOplQ4612KTIDJnSJ6iV6zVdYgou3TTiqOaJm9xixUr1BSgtHxEh+0verCVFkN4EYMbnhWQo9Rpy79zIH6v03sFZaofaOWhvHMvTxJly6Vys8sMr576zEUWBfzBBLTOkuTd4mkZEEozrOlIjulVYy5lXThJSIIb6GO9o+wIlM/Ox50BkN5J+9O8loJjfME4+D7nSBTMqJRkaiIrGaJ/RImqZH0gs3U/oauQXEiIEcSaP7qgmREen82lmJYNzyXo0TukxqnLqItwV8LMQsKs2XtEcXEiiNFWzfheYVeiJ70sSLLuhPMSXWvbTt9c4BIKcA1tXTiCOSfCyd7SMV2zei99zLeJHMsQ8xJDKyL4XIyGDr99xngGnbTSBGDKTGGpg4t5luZIT3HfG7VI1Dt85OsIlSbsBqRVI0ks9P2oCrcYCoazxpN8tLpBrFNAOuM02TKFKazOddZzt+SbUkY9rmaCA3SNM9oYuQ4m0kEillb58i03fdNBw/SbWNJ5OOjIjZ1RTPyOAUUtqIjADPkVWSK54Rnw2s1fXhUjVunpRsZMeECd023yYxsEXnoPUNbrJTL7eo75mXWKrAmY6SUH2QIiM8mbNfhxt2mdBxOJEeI7HOvc40U7LmVUGiQDr3NZL7jSOZvZK45k2IwnJ6bL/lrxuUjBixFm3cn8SE/jpugchIV03TWCsu7vDo5/4RMiFwNU+yZckmTOiR3HlyA3MkB61/YE7UQNn2vLOQ1DW4cTSwxlrhJlqNIn4diahpjS4cSW9CNyEykuyxy6Soo5eRIPebiIsgRUb4em+yxuayJKLIPC9wDype9Ik/rysAMWKwGEknTcPlkdxIx28Tayrm1bYTupTq6UCqYZJZqZgS1bHNcEnkzqWEnK8Vbh6mqxpIzKuDivMTNoAKg62JSELeWiMjSab3TIhKpVKK7/Q56Dzve5PsMdI21cEpHk716EDOGzfvy0siPcaLPBmfuPtsVwFipItGRviCtX0jPppYJTKSihiRCZ0HGF2tjjk6wEhlT6LI6pw9Orp2MpWBKZn8s1wrthDUJKZkhZtoBZMT+X33apoUeTITr06yxy/nXa+QSi01KeedUw26qoFSKetlCvNzqLfVX0dXdGRviverCde8F0CMGEbTiRY7dJdOZCTaN+JjZCSFJj5COLVDqp25ruoCMfzy/j7JwP4ebk2uc2LZl8a5j1QX6D32ZMPt4ffoXSXKZM6Lh2QqsJx/K52pDonqJCukpLEij1diIvUbMbsnU0ljSlpYhH+ykUwmsniAGAEecaQxPAnnZGVQYRKGrI4ravyLjOxLwZAl5GRFNtbTkQvl7qmyW7IMtMlEFyRULO2ptUVG0hrcGvUOzGmsEvfVNgbKAOq8Tzg9piMayFEd8eok6zXi1AKnGHRWdsh1MyTJY4+KLmi65m0Bns41XwMxAjziiBXu5ZV2qvvSCDJQyK6QppaqOZHeJDqiC1ySzNFm3oiqb4/clFdaOkysHCZ37nMRtMiI/NxUVrh23wVNE+LOFP0iDG9oyVsIcTWQlMTriCxwNQqnLpLFjuxoOPd8zduekRQiamIa1bXhXDqLh8H2Nd91eo0gTWNoZKRPCpNh/C6s/t1sEm5OJTISvco9rjFFk5fwbsPxPC9+U990ym7LnZoY0Rv2TWtgdmwKyS35Td9kru3GZ3Kf6hBTtucihcgCM1ijiZXb78s1n4qIFV+bLtN2OouHwVbHVp3l7G4DMWIYR2TH3jQ2yWvfhdWfFRfv+iq542Q6CjqR94n3xE8knSVl0cni3OzPbyrrIyvcgtzEnfkmpGmcUZ0hSbTFdl7nvEPxqdaQlo7D6aRpnJOijolFonipihFulObsuqwjqsMRYG4glyyl1rHrmtBTrX5re83o3ljULSBGDN2xt2/P1PelaRcZ8WmAFp8He11SCflGpWk0eEYOpFhJ0y7VoSFNcyBF423bY6/S0GuEK1GaT7WqdEWyXh2JLnCjN10rdJnMUplUdKc6bDGSQpqDsUtMdUZ1UjzvkQnd/2N3LtxSiYwMtMYovlfF8xN0IEYMo8ZK0/S1ys7SQS5Yv1rCp9JNMP7ArC9NIyIuWexSRw0rLYl+yd88WXT2GpFJmIUUd1NNhcGa0ky8KhWxL5HIZHGWyPrNnhT7dJggpGzzaopCSsRIdV2z7+ZhEW/cDyqVhVtedhb1tzZS1VkW7iYQI4b2GHElMmKtkjm36kfvi1S2w44/MOtL06QqRsQQx0ZEv6MLBy0xIqblZGGzdERMNWk59lQjUs6KBL9X6A3N3OG4Na2olEyKOiMjyVbSCHKv66jqiOzWm5qQ4r+XtBIQr57/HqnUzrsJnhetYqSlpYW+//3v0/Dhw6mgoIBGjhxJ9957b4c5q2XLlqmBru2jqqrKjePvwmIk/chIUUG2vdKUAd8fMZJ6ZEQm9IMaJvRqiS6kOKFzBQ7vycO3g5/l1ExkdZ66EBQR5vfgdiBNIRW9k2mTlvQYpyZT8eo47xe/0wU8bqfaNEyQtBrfr1wa7yfpHjuPjRJd8PuaT6eUve25r9RUDaRVjNx33320YMEC+vWvf02ffPKJ+vz++++nX/3qV52+d9OmTVRZWWk/Bg4cmM5xd1ncjIyw6IuYWI8b3WNE4MZRPEhomdDTjIxwBY49QGia0FMVUlErLZ/Pe7pRHUbOuy4ROCCNqE7Ed+HzeT/K3YJbVXQg1Xu2f888VQrP96sfC57Y5eDpRxf8vl+lc2oqVUDtIyPdME2zfPlyuuKKK2jOnDk0bNgw+vznP08XX3wxrVy5stP3svgoLS21H5mZyBB5tWOvri6s6fYYsfddsG4yv0Pu6aZpdJriDoqBNY1JsURT2Nee0NOJ6ljv9csfJRx0QQSKEPA7vSdpDq6ISdWrwwJcfnc/RayqwEqjN40gxme/J3RXjr1YXxWWFyR1Bc6aNYuWLl1KmzdvVp+vW7eO3nnnHbr00ks7fe+0adOorKyMLrroInr33Xc7fG1zczPV19dHPboLvHupu2JEKmp8ECNpbJKnO2zdfKrFdqWn413QtdJyI00TGZiDGxnxO6qTbhWTlGNzek99Px9Lk91YPDhFbLWP101tijvemnK/ptNjpG1Zdbf0jNx99930hS98gcaNG0c5OTk0ffp0uuOOO2ju3Llx38MC5JFHHqFnnnlGPcrLy+mCCy6g1atXx33P/Pnzqbi42H7we7oD3LCptumku2LEmli9HuTYjS43dDppGuf7/awukEmFV4jFBan7dcrsBlw+excCPKFzuoAZYOXvU0GiWYd89i6kW0ljp1Ptyrfj/ovANMR3lIj1dduJ1Ha8jddrxH/PSPopptIuFhlJavOTp59+mv70pz/RU089RRMnTqS1a9cqMTJo0CC64YYbYr5n7Nix6uGMrmzbto0efPBBeuKJJ2K+Z968efStb33L/pwjI91BkHBZr3iBebXkBjJIep3P5fQSh5gzUuwV4WSQhuoC52696bTht4/dxwGCu1A2nmhJe1LUFRmxowtpTIrsNcq2Gp/xtZ6uIParpNp57nmC8jPN5IYIjDI++9npWczyaY41OiIjXNko43GqvWnapoQ5bZXu9iGBEiPf/e537egIM3nyZNq1a5eKZMQTI7E488wzVXonHnl5eerR3ZAUDa/MuZGTG/i1P40MDpy75w3v0kFHIyW7x0ga4XZdKy0Z2HrmZlHPNDZXdFZGcJSOu5p6DQ+ibkyK4l1gEcjC0jcx4kKaRlclkxvpsSjzsI/H7kblnq5ooBx7j9ystBadJdY1wyZkbt/Q24UtRHSS1KzR2NjYznialZVFra3JhUU5osLpG+CteTXKM+LxisuNHiPtKyOaA2Ve1WVgPZBmG3uByxxZgLAQ8WvTNt5TR0yb6U6KtnfBx4nFjTSNrh22XRMjOiIjLqWE20YX/PaLpBPNyM/JsueKrpCqSWoZdfnll9NPfvITGjp0qErTrFmzhn7xi1/QTTfdFJVi2bdvH/3v//6v+vyhhx5SfUn49cePH6dHH32U3njjDXr99dfd/20CjtvmVT8jI3KDubEiFTHi5wZ/1TKppBluj1RGcIvzlrTy2X76RRgWIjyp8sDGj3SFWSIcPHrc7kSZyv4iutNMrqVpijV6RlwTUv4tHtwab3REF9LZoTqWmOJ2EHzNjy8rom4jRrifCDc9+/rXv04HDhxQXpGvfvWr9IMf/MB+DfcQ2b17t/35iRMn6Nvf/rYSKD169KApU6bQkiVLaPbs2e7+Jl0ATyIj1iDJG/B5GXoXs2m6znxnqkR8KKmWHSaDRI7SnYA57Mpt1XmvFR4gUtnJVUePEYF/fxYiakL3wabllpCK9i40+5b7bzh+Ku2yZF2+i0MueUacnUD98i5EKoHSO+8SXeAJna97P8TIPhfMq85zv2F/ffeLjBQWFqpIBz/isXDhwqjP77rrLvUAiTc8YzOeW/Trmac2IOOtFw4fbU47lB+PSpfKepneVqkjt2lmP4EbAicZA2s68EDMkR3eydU3MSJpmjQnRPn7rd3jX98Ft1bnOlIdImBZfHJkJ0jRBV6YyOInXRErkUwuta0/fiqtarTkTc8upIWL/I0u2N1XXYiMlGrc7M9t0HnMQDHSx0UxwpGQfr28T9W4ZSiTCV0mJ78mFluMuDCh+73KjeTP3Tz2Zp+bhrnhNfL3mrH9ImlWYDlTTHzsfngXuHKPBQkfdrqRWI4uiADx49y7ZXrWVVEjKSZ30jQF6mNXiIxAjHTxyAjjR0t4N1rBO5EIxQGfBjfxGYgJ0o2JxY+ut4xEMWRgSge/26p7ERnxSwRG0mPuiUAu0ebN9/w676ok2oXKPT/9Onx+xPQse8u4UlHjU3TBjd3NdZfjewHEiJH70ngkRjyaHDl3Lvlnt1IqfoatuaLjmNWnQ7oauiGkfIuMWINbuv1d1Pco8jfs66ZnxI4u+DQwR9Jj6R87b7InqR4/jl/EiBuTedRWAj5c84ccpeypbk6oKzKiojouerzKkKYBQUnTOFduXjU+E1VekJOl/B5u4Gf+X9rYswh0Y3Dzc4XOnW/lHAWxrNrNgVnOOwvLhuPhTsZBMQ77fe7djEgxpdJB1ocJnSvVXD126Q3kw/3Knhr2wrklBMvsrTP8Se95CSIj3SBN43V5r7PHiFtO+kh7bP82+HPDfOt3EyiOSHHXUTYpu5E/d0ZG/BjcIpvkpX/s3PCt0Gr65sd1Eynrdee68VPE2p4L18SIj5GRo+5GdfyMjMix83Wabim787z7ld7zEogRQ+CB/0ijR2kaj/encasBkRMxkvqxcZjbx+/nwCwDKEe/XMn9F0f6LnD6KmgrdD8bn7mZYvI7Ghjk8+62GIl4RoJ33gtyI9HoSh/38vICiBFD4NCymLI884x4HRlxwW+hJU3j0u6lbY+dPTpeRxfskmoXUjTtKiM8FoLOnZLdMIH6behz0zPi9Br5KkZ6BTAyIn6XwlxXj533ePI6vee2kNLh8/IKiBFDOGLlQfNzMqlHbno9C9oywGPPiJ3mcGlCjB6YvQ+3yw67bngunGKEc8OSevM6MuJWiinKgOvxhF5dF+nT4drGkD6ah90sS/ZbSLkeGbGP3Qe/izVWujWhq/SeZR72OlXjtpBq23QuyECMGIKkaLhJmds4IyNerNRlJefmhCh5eG7RzNU6flSjuFEay3DHWPH9eD0pygDk1rH76V0Q4zBfN255jZz9OrzkZEtrpGlYmo3ytKRp3PaMWPf+4WPN6twEqRLIzwldzLeuHnvvAt93CvcCiBFD4HbtTJ+e7ncvlAGH00Be+ADczp1H9irJ9GeTP2tSdNXz4tPEIgOQm0Iw0ifF22OPdO1177z71SdFwu3ZmRnU16UW4n6Ws7tZxcTwOcjJyiBe63i9D5YXqQ6/BLiXaZpqiBHgBoctxdzXg8gI+wCkh4EXhlA3mz8JvFK2B2cPvQvchVJWQ262nY+Y4rwdmKVRkxs9RvzeVt2OSLma3vOng6wIZJ5UMl3a70nOO0ct+Lr00qvDEUdmQC93zj2fA7n/vY8uuL/48WtC91KMVPm4r5EXIDJiCNyemenrUu48XtrD7VWL2uPiqLurrLYVNV6ucnmFyKWxvMJ1c3DzLTLicorJea14LaQkMuKJ8dnjScWt3XqdKGGTEb6nZNLyMlXA+z8VFWQHKirFaWa3NvjTIcAjfhf3PCMlPndN9gqIEeN27HU/MuIUCm6bWDlHzIs4HkRlDxy38KPXiOwTwZOYmzsa++FdcDY88yRN43E1TaUHkRE5dq+jC/a+NC4KWL7+/NiTyWledXOHXT8MuFx1yGXnbptA/Vo8RAysiIy0BWLEEOqtsKlbHUz92p9GwtUsRNyczKNLZI97vzp3cUJ0btrm5UrL2fDMzUnRr6oOqVxwMzLCK06JLkjEzgvkupdKtSCde9sA6nYk04cJXSbzHrlZrlYd+tH4zO0N/tpeM7WN3pv9vQRixBDEWOrV9tt2F1aXowxuG+H87rvg5m7DsVMdxwPT8KzteVdix8PKCLd7pDB8HuRa91IIRlJM+YGb0N3uMeK3AHfbc+HXeXdu8Oeq2b8gYvYPcqoGYsQQ6q1mO27mcJ2Iucxtz4ib7bx1VBe4uYOm32kaLyZzZ5SLsxziL3CbphORhmdlRe6e+xIfhaCUVQbpmne7x4if5z0iRtxtDCmeEb7eRTB4FdXp5VIreIFTbV1h916IEcPSNEX5XhlYvfGMSKTFi8iICCgvq2ki3WO9CbfXeBg69aLhGcNCRP6eXq1yRUhxuN1tAe7HKle8Ru6n97w3Usr95LYY8UOAu93wrG1pspdeqUiPEXeFlN/7GnkFxIgh8G6OTKFHYmSAV54RD8p626YLvOwz4kWPEfH+cPMzL49fVkGlLkcW/EgzOYWUmyZKP0odOfcv5ls3/S5+CalKrwS4Q0h5tQ2CFwbQtqXJXp17r1JMfvbX8RKIEdMiIwFL0xz0oMSx7YTIe0bwIyilse1Cpx4NEJEN/twXgqVeb67okVfHjx4vbBRssqJdbvZ38csn5XWKyctNFr0o6/XLxOqpGCnyrx2/V0CMGACvImzPiMeRkYbjp1xNG3hR4ihwbpUf6ud4MDizb0H2jnGz4ZngtRjxouGZ4HUOOtLG3rtj92pCl2gah9vdzP0zfuT+vUpN8rmQakCvrnn5m3qx+JF+HV6d+0gVk3dpmmpERkA68EriZEs4rFnkUTUNd2DlDcncTht40Qrer14jMmB64VuIakbk0eDmVVQnamD2OKrjxbGLOPNqF9NKH847p21ZLLvNseZTdkrY7ciIHwLci3Jwv0SsH2maKogRkA4SFeH+CD1z3V1pOdMGton16HH36uY99Iw4u7B6kS5wtpV227fgTHV4MUB41fCs3Xn3yO/iVX8XPypS9nt47IV52VRgRVu8mBTlvBc6oo5u4nUH3EiKycNooEfXzcEGb8y3flUyeQ3SNAbQYJf15ngyKbbzjbh0s/EKq9mDunm/trO3zXAeDA5eh069anjm10rLy+iCHLtXXiMvI1LKa+ThufdiPyC/IiOcXpa0qtvl4H5EMqXhmZf364GG42qhEkQgRgygzjJ7eeUXad+F1R0xIlGRQrXDrjcRHS9XuRIZ6dfT/Ryu1w53GexZBLrZ8MyvFa6X0QWn18gLERsx3+Z7ep96GRnxQkh5nd6Tv6VXadUyjwX4Qdvvku/JNZORQSrdf8Ta5yxoQIwYlKbhSd1L3C7v9ap5khO5cb0YmO2eBR4dv5erRK/PvUSkuGsk+wzchKMVbKRmSr2aFD2sSomkmLw59kg1kHeREa+ElL2vkRdRHYdh25u0qnelyVGt4D24Z3OyMqmfta9ZUFM1ECPdoOFZu8iIS1EGL/ZZ8NNUJnuXeJ+maXZ9cPOyxFH63Yh/ye1zL1VALL698C34NaF7FV0o9TAa6HlkxEOfVJWH5lVGPHXcgVW6A7tZDi5FCl40PXO24w9qRQ3EiAGIu92rHiNtPSMiIoIQGfFyv4vIhJ4buMEt0s3Ru3PvVcjdq86xTqQRnNvHzhvwyff0ohzc62ig1+c+YqT0QkhZTf48Ova87Czqa6Vs3RaxMuZy6TP/HC8oDXgXVoiRbhQZGeByR1Nf0jQO06370YUT9l4sgRvcPOpEGauixu1J0esKLC9XiXzsLEiyMzM8u+69nFS8bDbnFAqHjzXTSZc3WfSqP4ofpnMvt83wy+flNRAjRm2SF0wD6wAfbrATLV5EF7xN03g5uB304dgjBtxmz0qqvcKr5mGyJw3/XXkPnyAJKdXG3uPIiOzxwusGt/fBshvleSSk1Pf2KBoo7RR8uebrIUZAikjrZM8jI9aNwKsWN7aG98Mzwvu7SLWL2xPLYQ83rvK610ikLNm7Y/eqd4GfItbt8+5l51ivo4E8zjRajdS88ow493hx+9zv9zhN47xu3G4JH4mMeHjsxd72SfEaREaMiox46xlhtzUv5nh8k3p90yeVqBy6i43PuGeB9KDwMtXhlZHSj+iCVxUpdorJSxHo0Xk/2OBdO/JY0UA37tO21Sh9euRQgUfNFaOumzpvjM9eGVijzMNuixE//HVFSNOANGnweMdegcPKEtZ3I1XjlxiR6IKbA4Qce25WpupGGbQ0jfhdgljJZB+7DwOzag7nonch0rgq359ooIvn3utKGi/763BrfEnTehkZ8cowL6JYxgMvKA14S/ikIiMtLS30/e9/n4YPH04FBQU0cuRIuvfeezsNJS5btoxmzJhBeXl5NGrUKFq4cGG6x91FDazeRkacK7p0e42wie/IMX/EiBch98PWipNX5152vfViQm8+1UJ11jXjRzWN254RW8T28m5gZlMyi29uRulW9Zgz3O7XNe/mdeN1j5H296t7513ufS4393Kc9GrxsNfyGnlVgeU8dh4b3NwM1Ugxct9999GCBQvo17/+NX3yySfq8/vvv59+9atfxX3Pjh07aM6cOTR79mxau3Yt3XHHHXTLLbfQa6+95sbxdwn8MrC62RKefSc80HPaR5rteIUXXVhtz4XXk4oHeVzxunBFR7GH14xTSLnZYto233qwe6nAQkQM226mavzwSUWnmZoDFxnxYkKvrPW24ZnX0YV9NeHjH9LHu3NflB/Z1yiIjc+SkpjLly+nK664QokLZtiwYfTnP/+ZVq5cGfc9jzzyiIqkPPDAA+rz8ePH0zvvvEMPPvggXXLJJekef5fALwOrcxBNN00jq1tZgQYt7OtHJY1XkRG7jX2vXGUY9IrwBoKk9sDhFtNunCsu96yx2lX7MaGzEdHNc29HdTz0jHgVDbT3A/I4MuJFJZOYV70qSRZkzxtuUsbRBTe2ueDvI/esl5GRDGtfox2HjqnrZlj/ntRlIyOzZs2ipUuX0ubNm9Xn69atU8Li0ksvjfueFStW0IUXXhj1HIsQfj4ezc3NVF9fH/XoyvhlYGXsnXtdEiNeTyheGSm93pem7cDMRkROrwTFvOpVi2k+D5zVZQHbp0du4CZF24jol4h1dUKXyIg/aRo3DedVPh07j8H5OZmuXjeVjj11uOmZl5R4uLGoUWLk7rvvpi984Qs0btw4ysnJoenTp6u0y9y5c+O+p6qqikpKSqKe489ZYDQ1hS+wtsyfP5+Ki4vtR3l5OXVVWDVzh07/0jTuTOySf5aLP2hhX7uDqccTOg8+bEh0s9ncIQ+3Ive654UdUevpbVTHC+8C+6RkCwEvm1d5ZaSUNKd0pw1SNU2krNfbY1fRBZejUpKi4aiOlymmoPcaSUqMPP300/SnP/2JnnrqKVq9ejX98Y9/pJ///Ofqo5vMmzeP6urq7MeePXuoq0dF+Brtlet9ZERu5nQv1l1HjqmPFf28DwVGKiNO2MItKGkaLwY3Pxqete/CGpxGeV6l96J8Uh6fey8EuN351uMFhJz3YydaqMEa39zbl8bbyIgX535fbaPnKZp2HrUARkaSmv2++93v2tERZvLkybRr1y4Vybjhhhtivqe0tJSqq6ujnuPPi4qKVEVOLLjqhh/dyS/C5aVerxSdTnpprZwquw+Hb7ChfXuQ1/SxujryRlM8EbtxU0fEiLepAlkp7j7S6NoAEenT4YMYcdnQ5+XOpV6naeS89+3pn0/KrfPeeOKU3VfH66hOj9xstQkityxgEetGywIZr7ws6/WqR41ERgZ7aF71Y2NRoyIjjY2NlJkZ/ZasrCxqbY2/Wp05c6bymThZvHixeh6QvXLwuseIIA2DOMqQTvnXLkuMVPTzXoxEdXV0aYDwY6M5r1ZafnlGvPAu+Os1cllI+RnVsY5djJRupfbYD+HVTsleToqVPhlYnWLErS6sfpT1drs0zeWXX04/+clP6OWXX6adO3fSc889R7/4xS/oqquuikqxXH/99fbnt956K23fvp3uuusu2rhxIz388MMq3XPnnXe6+5sEfsdef8QIexjSLf/ivjK80vdLjHhhYpXcvy++C5dX6H5Hddw0I/qxwV+sFa4bbdXFvOp1ZIHhkm0xUrpxzUtfoXCFlPcRWDe3EuCojvTV8SUy4rKQkqiOn2ma6rouLka4n8jnP/95+vrXv65KdL/zne/QV7/6VdX4TKisrKTdu3fbn3NZL4sXjoZMnTpVlfg++uijKOvV0PCM4YFISvvEXZ9KRQSHfHlMG9LHHzHiZv6ffSfSzdFP74JbqxU/uq96tT+NHdXxUQQ2nWyxRX9QIiNRXiMXzr2fESm3o1ISoeCIjh/tD1w3sNb6n6Y50NDsam8gP0hqBiwsLKSHHnpIPeIRq7vqBRdcQGvWrEntCLs4fjY8E1ihbz94zK6ISZZdVlSEL3w36vD9HtzEt8A+FN6nw69jd62axm4aFjwTqJ8TOu+/whEGXlXz8afbIM7PY5frZufhRleveS/b2MeqBjrgwrH7sTmhV9EFFgS2+daHyMgAR2+gQ8eafft7uwE2yutGDc8Euamlq6HJ5lUvJnSZWPlG9SNk7WZkhKM67CPwu5qGI0lu9EnxsxKI8SK64Eeaxm0hqENIuXXNy9/OjxRN2+gCl3OnAzf4Y+O9X9dNTlamfW9Vu9i91w8gRrpRwzNBFHqqaRo/zateTCp+7S8SK+ybrnfhkCOq09uHaJrbfVIO+T0puigE/Z7QI9d8c+CueTd7vPix460T/jmZVnRBvGWpIiXx7O9ioeAHpQE1sUKMGOMZ8S8yIhU1qadp/Osx4kVFimwD70fDNmdfB2dUw42yXj9Kwd3sk3Lc4d3wb0J3rwGXbQL12XfhyjXvYwWW21VYfotAZ3Qh3WtejN9+pktKIEZAKsjgzHX5fmEbWAOVpnGvmiZSFeHPAJGXnUV9XdoS3s+KDrerCySqw5EWvwzbbq4SI03D/PJdeHDsPqeYWASlm+o4oGFCd6vXiHhm/Fr4RHVNDlhFDSIjpkRGfDSw2mma2qaU0gZiYPU1TeNiV8eIZyQvcKsVv1eJzshOugOzswrID69OlBkxzfN+rPmUuva0pDoCGF1Q7f4zolvoB+madysqJWka+X5+UIrICEgFmVh1pGl4cE225JFr/mVwqOjrX5pGujq6MUBIdMHfAcKd1UpkYPZ/cEv3vPvZY6TtsafbwEqOnXv09MzN8lWAc2QgnTJNfq+fjfKY7KxM+2e5JcB1RAPTTtPIwsfHsaYkoF1YERnRjDTz8dPAyiWPUtJamaSJVZqdcZlksQ9lsbFvsmZ3zHy+hk7dGdyczav8IlLVEZydnt0emJ2eC7+iOjz58o/iaowjjeGoUqoVHWzGZGQXZn9FbPAiI251YY1ERjSMNXUQIyAFMdK7wPtumk7KbBNrk/GVNG5X1OytaYyKEPmB5LurA7hKHOh6iinX94E53U0WdZx3NlKKeEjnmhchxb4lqYwKynXTxGlZn/bU8SIaKO+XEnk/KEWaBiQL+zWkuoJLKP1EfCP7kqyo0WFebetdSKc1eW3jCTs1pcPzkq6Q8rsqwtWBWYMRsW+PXMq1SiolqpSOEdHP8+40I6YlRjREpNyqqJFj92tPHbfvV1uM+JmmKQ7/LN6okNPqQQFpGo2wZ0PCp/6LkdQan/m9J43bgxt3tJSwqV/dY6NXKy6lmHTkz9Pc46Xa5+ZV9iaLLlRi6RCBzghmsulU3deMW6lJZyWNX+kxt1LCp1paba+On2mawrxs29cUpFQNxIhGeJXOcOhUNq/TUVGT2qZP/osR6Ry7P40bbNfhY76bb6M7yKZ+7JxmkElpiA+tpYUSa3Xe7NjTJxVkUvJzYHareZiONI1zc7V0rnldQsoNv44Ov4hTSPEeXKlW7x0+doJ4rZmVmUH9fIxKZWRkuNrszy8gRjRip2gKcnxV/elM7PJ66VXiJ7LR1L6a1FeJkmbyO7IjgxsPUKm2VecNt3hwY+Hq5+DMfVLk56Vz7nWErNXPc2WFrisykt7WDTqFlH3saQgpHX11GE4JcYQhHTEl7+P0GAsSPykNYEUNxIgJ5lWfUzRRK64kBzlZmftp/hQkGiO7YKaTpvFbjPRxoa26HdXp18N38SrXS6rnnqM60mdEBsogDcy6Vuhl9n0awGN3wXeh69ijRGyKETUdlTRebCXgFxAjRkRG/K2kcaZpeKBItEMiO9vlmHVGRljEpRo63W21sh/qYyt7O3SapndBZyVTquK1be6fzaTSjTZIVVh+d+0VBku35HQ8IxrKwdumOmQPrtQ9Ixon9DQjI372GHG72Z+fQIxopLYpvFL0u1+HhMqzMzOUgTbRC1YGRA5h+tmkTeCfK9vAp7pClwl9mM7S5BQHiJ1WZGSYz0LKaXhOVYxEBmb/+nS0X+Gmdt6dXUT92m24rYGVz1+qbdV1VdNwo0K5X1M997rSY254XnS0gvdiY1G/gBgxxDPiN5zDlOjI3gR9AJVWqFjCrzoYkoZvhMvcZHDz28DqRnvvSGREhxhJb6dnCRf77RdhBol3oT51IcU6gMW735MiRwQyrcZnUpmR+p46/k+Ktjct1YhavZ6IlBtl1XaaRsOxlwSw1wjESDf1jERN7LXhSa4zZCKSPLYO0vEu7DnSpK17bHQFU3qRER1pmlT70ggyGflZ1ptOStLJPsex+21E5LbqsspNZUKP2im5l//nPl3fiK5KIKbUikqlOqFHqsd0CKl89RFpGpBUaW/vHv57RpxiZK81SScaGZGVpg7SqagR0VXet0CzkEpM/DnhSXSPxh4v9rGnWE2z/dBR9XFEf/+jOhxdYBGRanRBfmc5B34j4j+VqhSJLOTxTsk+bjnhxrE702NaPSMpR0YiqUldx36gIf1dk/0CkRGNSM8Gyav6zZA+PZJL00hkREMljSATwt4UVomyqtdRCZRuVIfPPU+mbADVcf7l2Hky59V2smw7GI7qjBjgvxhxRhdSOffyHhHCfpNqT6CoY+9d4LtXhymzNypM/thZiPA8ysEoP/t0uOXx0rEhp9C/l3u7JvsFxIhG6iwx0kd3ZCThNI2+HiNueEZkMJfBPUhRHfGLcFTH71SBpBKlMV8qK8Udhywx0r8X6SAdA66IdRHvfiORyFTSe7qv+XQ2nJPJnIWIjmtemv2xAD/Zkty+RtxL6MgxPaXsbXdNTnezP7+AGDGgmkafZyTJyIgMbFojI8kdc+zusXrFCEfEkt0zIuIX8T+ywPCqOtUJncuwxUQ5XENkJN3ogmys6GfX29jNw9IR4HoWEE6/TpDKepn+PfOUaZl3QJDrN1Hk9RzJ1DW+lwbMxAoxYkA1jb40TWSA7iyvyHuSyMBmQmQklXSB7lUil0MX5menFB3R2WOkvYk1uWPfbqVouCxWR0l4uubhrpCmCWRkxK6k0SNGeF+jVKtSpJJGRyl7ujuz6wJiROeOvZqraaTXCHsROtvRlFfzvLGfzsiCnKse1iZQye+roz/NlKrnZaeV5qjQsFty++qrptRSNJqiIukIKRbpkTSNZjGSwoSuW4yUORqfSfWg6Y3mnEiPkGQjO5EeI/qOvcJauMhCxnQgRjRx/GSrapGts5rG2WtEyl7jIZUcfu922xZeZaRiBOUdNGV1o1NMpep5kQmxXKMYkfRcsiJw+8FwJc1IjWLE7mSawi7VfJ9yNYouz4hM6Bz6T3ZfI92pSW58xmZK5xgShGqUdCM7kX2Y9B17hZXSlW0kTAdiRLNfhCMTst2zTvUsK+947LHy5uWaBuR0jaBS4paTleF7J0o3Kmqkx4uuVEE6qY5tms2r6aQ6tlQ3qI+jBvbSYqJkuH0+iyGmOom9RsKpVf2NCodaApqFXTLI63WOOSL+k53Qqw2I6gxDZAQk1X21h/879joZPbBQfdxkDbrxkMiJzpV5OhO6s+kW54KDJKSONZ+yrxedUZ1UJ3TxjAzX0GOk7bEnax7eakV1Rg/UJ6TC5uHkO+ByWqfpZIta8OiK6kSv0FMTI0M1+qSkL46kGhOluk5/VKfCOnZeSHJk2HQQGemm5lVhbGl4kN3cmRixIyP6JsO2E3oyFTX7DKgESnXnYXltUX42FWoygLYVgbzqToTW1pAdddPpGVHmYWtL+GQiO1urLTFSEhbtukilomZzVYN93mXHaB3IAkY2qUwELqWV+1vHXkyC/GypZksUGS91isCyonz1d2dPYBDKeyFGNFFnl/Xq8YsIY6xBdpM1cMVD8r1DDIiMyA2eTHRBJiCdkYVUIyN2B1DNKTKOKnEQr/lUq91DoTPYpyOrc91RtVQiO1sOiN9FX2Qk1RSZRDvlHtdFRQppGqnw4/SUrmoaZyk634PJ+HXkd9VpOM/MzLBTZMmKKR1AjGiOjPTRVEkjyIqPPRU1HUwwdtOtPsFO0+iqKmh77NUNx20Dc2dI5Y2YMHWR65gYEj33MgiyEMnJ0jvcJNsnhaM/EtXRab51Xje7k0h1SGRkrG4xkoJ3QV7Lk6nOtCr7y9jTx50PEjXgcssBKe0VMaDbN7IzABU1ECOakLLe4gK9kZFeedn2Xi0b9tfH9SyI0h9ToneF6KxI4VV3orlQU8QIVxbwao+zHImWC+quiEgnumBCFVDbqFSix87Rn4bmUyoapPv4JcUle/wkFRkp1S1GrOhCbVPCvYF22fsw6RWB7NeR6MiOQ41JNcnjtKCutg3t/DpJel50ADFigIFVN9PL+6iPH+yqifn1jdYKi1fFOvaIiLVa4c6GHMZNtBlRpN+C3uiCszQ50Tb8kTSNOWIk0d17RYyYJKT2JJgik9Uk5951lrNLNQ+z1UobdQbfG5Ji0h0ZYQHOficW4IkaQbdaQkqnz6itb2RHgkLQrgLq20NrcQKDyAhI3DOi2cDKnD4sLEbe33Uk5tfX7A6LlEmDi8kEOGwrjcsS9V6YFF1I1jcS2ezMgOhC0pERMfLpP+9SGSF9TzpDyjl1r86lLJrnNa4GSsSvw8fOacD8nEztUR2ekJMVUxKlnVBWRLqRKrBEIyOSStOdoglar5GkIiPDhg1TF1bbx2233Rbz9QsXLmz32vx8vStTU5BuhEUGiJHTKsJiZM3u2pht4d/bflh9PHN4XzIFmdwSWeXy3ij1x09FbWkeJM+LSZEROfZE8+e6u5c6ERMq7yCcSDWQREaG9dc/qRTkZtnnPpEJfbNVBaSzP4qTZMQIV2B9UhkWIxMHmSNGOuvFJEj0R2dJctuoDqe9+Lx2GTGyatUqqqystB+LFy9Wz1999dVx31NUVBT1nl27dqV/1F2A+qZTRpT2MuNKi9SeKdyyef2+uqiv8XNvbzmk/n/e6P5kCkP7hm+y3Qkofilr43PNHhljxEgCQopXt2x2db7PhIF5W4LRBfkddZY4OleJPDHzNS0Gw6BERqLFVOfnXrwlozRXAbUTIwkcO0+cvPUEe6t09qYRhiXZa0TGUBOE1KDe4S0/eBwxfcO8pMTIgAEDqLS01H689NJLNHLkSDr//PPjvoejIc73lJSUuHHcgaf+eDgyIhun6YQHaBEab2w8EPW159bsUxcyVxOYEDJNJReqe3+OtgyxDMOJlDpyW2lexHMlS7+ees3OzkmFqx0621bd2YLfhP40fA6l1DKRCd2OjBiwwo0SIwlEF3bYjebMEiOJHPuG/eHJfFxZEWVrrsBypvdUmbq1P1dH1/zHVlRnsgFp7eysSJrO9PLelP/SJ06coCeffJJuuummDk06R48epYqKCiovL6crrriCNmzY0On3bm5upvr6+qhHV6PBShuYkKZhZo8dqD6+2UaMPLt6r/r4xbMqtJuxUs2FRvwiZqQInemCZAygOkscnc23uNTxVGuo03PPESlO+7EI4B17TWBEEtEF0yIjyUQXZBUvlSC6GTUgbKLdfuhYpzuEi1/EhMiC9IKSQoPOoiP8t+F9xzgCq7NZWxA3zEtZjDz//PNUW1tLN954Y9zXjB07lh577DF64YUXlHBpbW2lWbNm0d694QkuHvPnz6fi4mL7wUKmq1EvnhGNHTWdXGCJEQ4xyo6T3O2RfSSsQS6fUkYmIXn8RCIjEoEwIVXgFCOHjjZTbeOJBM2r+iMLDAvSkQnm/22/iCFCyjmhS4VYPOoaT9oVbzKY60Z6nSTiu5BVsKzqdcN+JxalHGUVU3M8PjbIvJpsW/gP94ajOpMGFxlzzQ9LsYtsYMTIH/7wB7r00ktp0KBBcV8zc+ZMuv7662natGkqlfPss8+qVM9vf/vbDr/3vHnzqK6uzn7s2bOHuhJsnpM0TVGB/jQNM6Awj6YOCYcVl206qD4u+qhKfTxtaB8aqHEr7FiIU52NwJ1N6GI8MyXc3jMvO2Ezom1eNUSMOH0InYuRRmOMt8IEa7UtE148dlmty7mcnXeeNQHppMoij30v8eB74tDRE1F+BxNSwTKhd3bdbKwK/23GGyRGEvXrrLfEyJQhvckUhklkJMFqoECJETahLlmyhG655Zak3peTk0PTp0+nrVu3dvi6vLw8ZXx1ProSHMbj/QIYnXuNtGX2uIFRvpFXLTHy2UmlZBo8Qcj23Bz67QgJT8rGUSat0KUXRGeTognOfEGaaH1S2RCYShpBQv884XWULoj4Rcy5Zvr0zLWv+Y62bxDxzULKBMN2MhU1XPkm5mJ5vQlINLBTMWKZV01pg+Ac97pkZOTxxx+ngQMH0pw5c5J6X0tLC61fv57KyswK+fsN33AMR/E4/24KnxkXNhe/veWgKt1ctTPcd+TSyWb+vWTH4Y0dTIqqpbd1E5o0schA29kGhdKzwJRUgdOY17byKu5+Roakx+QaKMjJUguCjppYScdKk847M7Y0IqY69YsYJL4TFSOywzNHak2oNEwmMsLm1U8MMq+2K+893JjwBpeBECPs+2AxcsMNN1B2drTq5pQMp1iEH//4x/T666/T9u3bafXq1XTdddepqEqyEZWuRiRFk2OUKZTznLyKbTzRQvOeXa+qODh1Y1KKwMnEwUVR7vtY8CqLJx4OE5u0Qh9rRRc6SxfICr3CKmU2gUmDim0vTkcpMhNFIF8H48sKO9z+ILrHiDnHzoy3rpuOIiPbTRcjHUzoIlRMKUlu69fZduBY3H4dfL3zJpK8wNS5QV5beNzj6543rEykpD0wYoTTM7t371ZVNG3h57mXiFBTU0Nf/vKXafz48XTZZZepqpjly5fThAkTqDtTZ/UYMaGs1wkLo/9vStgD9M7WcG+Rz04yMyrCTLQmxY4nlWP2Dal7ozYn08p729GFeOkC9gWwydW0NE1xjxw7YtBRdMTeudSgY0/UNxKppDHr2MeVdR4NDEJkJN4KXSIPIweadezhjR7DE3q8fh0yDvFCwxTzKsPjnlzHnUVidZL06HzxxRerC2nMmDHtvrZs2TLVdVV48MEHVSSES3Wrqqro5ZdfVp6R7o4dGTHILyL8y4zBUZ9fNtk8v0is/H+8DfNkpWXS6lzCvryC4ijUlgMNHaZo+vbMNSpk7QxDS/VArFSkmChNElKJi1jzPCPSoJD5pKo+7oQu6SfTxAgfD8/R3NbgYENzh/erpEXMmtA7bvgnHiqTjLeC7E/UpcQIcLHHiIFihB378y4dpya/Oy4cbUyPhVgM79dTTeichpH21235cG+tnYIyCQ6bTraql9btCR9jvNW5CXtctGWKdewfxYmMiGmYG7WZdp1LySg3p4o1oZsakZJJmjtq8hiyP8auz/z7SMMzEzaZc5KXnWWPJ/HuV5noTTKvtk/VxBMj5lUBCaM7ESMmeEkgRnT2GDGkrLctXz1/JK374cV0x4Xto18mwaHQ04b1jdo/py2rd9caV2onTLN2S35/Z+zdkmXANqVXhJPJg3t3GBkxNUUjYXQWg7zhXKyQu6zO2URpmpDiXh0SNdhoTX5OOOLArdQ5AqF7g7xYjLM8L7EMuNzRV0SsaZER5zHFq4AzsSRZGFMihvnYxz730X/SZx96m963ihZ0ADGitRW8WQNdEJk5op/6uCKGGOE+Fzyx8MB89vDw60zi7BF94x4785FlzJ1okDNf4KgOn1duysbN8eL5FkyMrOXnZNkGyY/2tZ8UZfUoA7hp2L6RGCZWEVIsRDgSYRqSZpKW6U5YiHBn3x65WVRqWF8jp8j4KEZ6j43cYg418boZa0VGtlQ3tDPgclSE+6Pw9dRLo48RYkTjJnmmrbqCyKyR/ezISFsj6DMf7FMfzxjWV5kuTYOPi0Pu3I+j7S64PEBw91vTygQF7l8hRtBYkR0xh0rVkGl0lCKTCV1Kx03D9o1UxhdSph67VDLF6lHDE6VEIEwygApyH/J5b7svk1Q3ceWhiYvM4f17KpHHUbNNbVI1PP40NJ+i3KxI1E0HECMa+4yYmqYJEmxiZX8L59A/2BWZFNnQ+tTK8A7RXzxrKJkId2KdalXVrNgWHR1hcyX7FngAmVpunhhhTq8IR3ZihXal3NqU/UXaMn1o+Lyv2VMTf0I3cIXrPKexKpk2W0LKxNW5M7qw9UBD+wndjkiZKaQ45cgVkNzSvq33Qo5d0lCmkZ2VSadVhNPC0j9KECM3+3R0VhxCjGig3mADa9Dgm+zTVufYxR+HO8Yy/9xxRIVNuRLFxA6ybSM7y7eFS6mF3/9ju/p4wdgBRobbmTOHh8XIqjaREU7bcDUKL26nWN4S05hu+XXW7WlfWr3FyqubGl2YavmfOK3BvhcnW61jN3VC5xJ7XjxwB+q21Uxy3seWmimkuPVBvCoyiYxId2ITOcPy163cES1GJMImkU5dQIxoNLCa1mckqFw0Idw5dvHH1bYrnP/PXDh+oLGTudPzsnzbYfvYeWB7cd1+9f/bZo/Senwdcbq10uIyU/FBMS9/WGmbhk1Mj0nkgKNOXDnjLNU80HBc+WC4F6Hk2U2Dz6mYmtdZ1WIMXz+brTJxE6tRZEIXEfvPNl4piS5I5YeJSCRzVZsJXcSIqZERpxhpm9I2pQoIYkRzB1aQPp8aM0DlO3k1Lg2Vlm4UMRIWKqYyo6KPqpA40NBsd85csGyr6n576aRSuyeGifDmiRy65mNdbaXIOHz90JIt6v//dka50RE1KU9eszsS2ZFNIlX6z1Ah5Wyat9byFUnun3caZh+SqWKEOTuG6ZxTH7KnjqkikDlvdH97ywzpbcTjjekpJobTNL175Kj+P29vDl/nsphw+nl0ATGiAZP7jAQRNlPOGhUe4F7/uFqVr+050qQm+XOtwcNUuLKDd0VmeIA41nyKXtsQFlJf+dQIMp2Ib6RGDc7/8dQaFW04a3hf+vxpQ8hkplvnXbxGyzYdoHtf+lj9/7MTzU3tMdOtqJTTa8QTpKze+boyFaki4+jC8ZMttseIK2k4hVNWbF4ljfN659QvT+gSfeV+Lzymswg0sSRZ4PHwX2eE78n7Fm1U554XxjxWOvvv6AJiRAOm9xkJcqqGxciST8KDxLmj+huz/XtHiOdl6ScH1LFzy2ne9ltWvyZzxrA+tudl0YYqtULk1dfDc2cY1X4/FpIu+MeWQypV8/U/rVaTCg/KN8waRiZzwZgB6uMHu2uUB2Duo+/Rfz73UdT1ZCrjS4tU1ckxaw+s37+9nZ5Yscv+m5i0X1esCf0LVsTve898SI/+Y7tt4ObKMf66ydx6/kjViJDLeO95cYPdtHBQcT717pGr9djMPnNdFJPbwQdZjLBhkks1eYBgPjPe7EFZkOP8547D9OR74UH5c9MGGz0oC+ePDU+Ka/bUqtUWc/3ZFdSvV3ire5Nhvw77RirrjtNnHnhLtebnVftzt80ysjzTCfcR4Yogzv1f89sV9O7Ww3an4S/NrCCT4bLdm84drv7/3Jp99JNXPqFn14TL8D9juJASHxcvFLgQ4f+9/Al98y9ro8StyQwozKNffmG68kT9ZdUe+u7fPlTPn2HAsUOM+AznRrl9OQMx4h4DC/PpvNHhibGm8aQSJqb7RYQRA3qpVtNcYSCVKZ+bGt6w0HTKiguUkZV9Ixzu5c3Erjvb7MlQ4FTGldMjezHxipEHapMNz07uvHCMmlQY/hssvvNT9H+3nxuIceXGWcPoPz49SlWTnWOlWFkIXtVmbyxTS/L/dutMuvfKSep6Fy4PyD177uj+6tph2KzNnDNKfzrb/Bh2F+0xwujsdtcVuf3To1TenCfGOVMGUYmBXRzjceM5w+n7z4fD7DxAm2xAbMttnx5F//74KvV/FiJsbA0K37pojGoud/hoMz30hWmBumbYuM3igxvmfdrwqrG2cDv+b1881v6ce46w5yII0UCGU5BfOrtCpVN/uWQLXTKxlGZYHqQgcPvsUcor9dbmgypacrm1W7tOMkIm7JDTCfX19VRcXEx1dXVUVGRmE6VE4TbZs3++jArzsmn9jy7RfThdjn9sOahK1eaeVaFWMEGBw+33L9pIOw8fo/+aM8HIfUU6gs231fXH6arpg1WlCgDAbJpOtNCbmw4owzN7eHTP38EZrbsI6DHiLZyqkXRNkOCV4rzLxlNQ4VU6ACA4FORm0WWTy8gUsITRVdaLHiMAAACAAmLEZ1BJAwAAAEQDMeIz6DECAAAARAMxoikyYnofAwAAAMAvIEa0tYKHdxgAAACAGNGapkFkBAAAAGAQGfFbjFiRkUJERgAAAAAFxIiuyAg8IwAAAIACYsRn0GcEAAAAiAZixGfQZwQAAACIBmLEZ9AOHgAAAIgGYkSTgRXVNAAAAEAYiBGfd2Y92ow+IwAAAIATiBEfOWpFRRh0YAUAAADCQIxoMK/m52RSbjZOPQAAAAAx4jN16DECAAAAtAPLcx9BjxEAAACgPRAjWnqMYJM8AAAAICUxMmzYMMrIyGj3uO222+K+529/+xuNGzeO8vPzafLkyfTKK68Qdfc0DTbJAwAAAFITI6tWraLKykr7sXjxYvX81VdfHfP1y5cvp2uvvZZuvvlmWrNmDV155ZXq8dFHH1F3bnhWDDECAAAApCZGBgwYQKWlpfbjpZdeopEjR9L5558f8/W//OUv6bOf/Sx997vfpfHjx9O9995LM2bMoF//+tfUHaltDIuR3hAjAAAAQPqekRMnTtCTTz5JN910k0rVxGLFihV04YUXRj13ySWXqOc7orm5merr66MeXSlNg8gIAAAA4IIYef7556m2tpZuvPHGuK+pqqqikpKSqOf4c36+I+bPn0/FxcX2o7y8nLoC8IwAAAAALoqRP/zhD3TppZfSoEGDyG3mzZtHdXV19mPPnj3UFai1IiO9e+TqPhQAAADAGFKqMd21axctWbKEnn322Q5fx76S6urqqOf4c36+I/Ly8tSjq4E0DQAAAOBSZOTxxx+ngQMH0pw5czp83cyZM2np0qVRz3EFDj/fHalrPKE+wjMCAAAApCFGWltblRi54YYbKDs7OrBy/fXXqxSL8M1vfpMWLVpEDzzwAG3cuJHuueceev/99+n222+n7ohERnr3yNF9KAAAAEBwxQinZ3bv3q2qaNrCz3P/EWHWrFn01FNP0e9+9zuaOnUq/f3vf1fG10mTJlF3o7U1hDQNAAAAEIOMUCgUIsPh0l6uqmEza1FREQW1FfyUe15X/99472cpPydL9yEBAAAARszf2JvGJ+qshmd52ZkQIgAAAIADiBGfQCUNAAAAEBuIEb9bwcO8CgAAAEQBMeITh481q499e6LhGQAAAOAEYsQnao6Fe4z069n1mrkBAAAA6QAx4hNHLDHSpyd6jAAAAABOIEZ84rAlRvoiMgIAAABEATHic2SkHzwjAAAAQBQQI76naWBgBQAAAJxAjPgEIiMAAABAbCBGfBYjKO0FAAAAooEY8WmTvJpGeEYAAACAWECM+NQKvtXajrB3D3hGAAAAACcQIz6W9RbmZ1NuNk45AAAA4AQzow/UWimaPoiKAAAAAO2AGPFxk7w+2CQPAAAAaAfEiA+IebUYkREAAACgHRAjPoDICAAAABAfiBEfqG2CZwQAAACIB8SID9RYnpHiAuzYCwAAALQFYsTXahqIEQAAAKAtECN+ekawSR4AAADQDogRH9M06L4KAAAAtAdixMc0TW94RgAAAIB2QIz4WtqLfWkAAACAtkCMeMzxky3UdLJF/b93TxhYAQAAgLZAjPgUFcnKzKDCvGyvfxwAAAAQOCBGfGp4xn6RjIwMr38cAAAAEDggRjym5phU0iBFAwAAAMQCYsS3hmcwrwIAAACxgBjxrccIIiMAAABALCBG/PKMIDICAAAAuCNG9u3bR9dddx3169ePCgoKaPLkyfT+++/Hff2yZcuUcbPto6qqirpXjxFERgAAAIBYJFVrWlNTQ+eccw7Nnj2bXn31VRowYABt2bKF+vTp0+l7N23aREVFRfbnAwcOpO5AzTFERgAAAADXxMh9991H5eXl9Pjjj9vPDR8+PKH3svjo3bs3dTdqm+AZAQAAAFxL07z44ot0+umn09VXX63ExfTp0+n3v/99Qu+dNm0alZWV0UUXXUTvvvtuh69tbm6m+vr6qEdQQTUNAAAA4KIY2b59Oy1YsIBGjx5Nr732Gn3ta1+jb3zjG/THP/4x7ntYgDzyyCP0zDPPqAdHVi644AJavXp13PfMnz+fiouL7Qe/J6igmgYAAADomIxQKBSiBMnNzVWRkeXLl9vPsRhZtWoVrVixItFvQ+effz4NHTqUnnjiibiREX4IHBlhQVJXVxflOwkCp/+/JXToaDO98o3zaMKgYB07AAAAkA48f3NQobP5O6nICEc5JkyYEPXc+PHjaffu3Ukd3Jlnnklbt26N+/W8vDx10M5HEGGdZ6dpsEkeAAAAkL4Y4UoaropxsnnzZqqoqEjm29DatWuVsOnqHG0+Radaw4EndGAFAAAAXKimufPOO2nWrFn005/+lK655hpauXIl/e53v1MPYd68eaoXyf/+7/+qzx966CFVcTNx4kQ6fvw4Pfroo/TGG2/Q66+/Tt2lx0hedibl52TpPhwAAAAg+GLkjDPOoOeee04Jjh//+MdKZLDYmDt3rv2aysrKqLTNiRMn6Nvf/rYSKD169KApU6bQkiVLVK+S7tPwDPvSAAAAAK4YWE03wJjG25sP0vWPraRxpYW06I5P6T4cAAAAIPgGVpAcaHgGAAAAdA7EiIeg4RkAAADQORAjHlJzTFrBwzMCAAAAxANixENqm6weI9ixFwAAAIgLxIgP1TS9IUYAAACAuECMeEiN1X0VaRoAAAAgPhAjPmyShz4jAAAAQHwgRnyopkGaBgAAAIgPxIiHHDkaFiP9eqKaBgAAAIgHxIhHNJ9qoYbmU+r//XrmefVjAAAAgMADMeIRR46FoyLZmRlUVJDUFkAAAABAtwJixCMOWymavj1zKSMjw6sfAwAAAAQeiBGPOGxFRvr1QooGAAAA6AiIEY84fLRZfYR5FQAAAOgYiBGPPSP9eqGSBgAAAOgIiBGPOOTwjAAAAAAgPhAjHqdp+sMzAgAAAHQIxIjXaRpERgAAAIAOgRjxiINiYEVkBAAAAOgQiBGP2F97XH0sK8736kcAAAAAXQKIEQ84caqVDlmREYgRAAAAoGMgRjyguj4cFcnNzkQ1DQAAANAJECMeUFkXSdGgFTwAAADQMRAjHlBZ16Q+IkUDAAAAdA7EiKeRkQIvvj0AAADQpYAY8YDKWkRGAAAAgESBGPHYMwIAAACAjoEY8YAqq5qmFGkaAAAAoFMgRjwADc8AAACAxIEYcRk0PAMAAACSA2LEZdDwDAAAAEgOiBGv/CJFaHgGAAAAeCJG9u3bR9dddx3169ePCgoKaPLkyfT+++93+J5ly5bRjBkzKC8vj0aNGkULFy6krkqVVUlTikoaAAAAwH0xUlNTQ+eccw7l5OTQq6++Sh9//DE98MAD1KdPn7jv2bFjB82ZM4dmz55Na9eupTvuuINuueUWeu2116hLi5EilPUCAAAAiZBNSXDfffdReXk5Pf744/Zzw4cP7/A9jzzyiHoNixZm/Pjx9M4779CDDz5Il1xyCXXdsl6IEQAAAMD1yMiLL75Ip59+Ol199dU0cOBAmj59Ov3+97/v8D0rVqygCy+8MOo5FiH8fDyam5upvr4+6hFEzwgAAAAAXBYj27dvpwULFtDo0aNVmuVrX/safeMb36A//vGPcd9TVVVFJSUlUc/x5ywwmprCbdPbMn/+fCouLrYfHI0JCvCMAAAAAB6KkdbWVmVE/elPf6qiIl/5ylfoy1/+skrFuMm8efOorq7OfuzZs4eCJkZKEBkBAAAA3BcjZWVlNGHChKjn2AOye/fuuO8pLS2l6urqqOf486KiIlWNEwuuuuGvOx9BoLU1ZPcZwb40AAAAgAdihCtpNm3aFPXc5s2bqaKiIu57Zs6cSUuXLo16bvHixer5rsbhYyfoVGuIMjKIBhTm6T4cAAAAoOuJkTvvvJPee+89labZunUrPfXUU/S73/2ObrvttqgUy/XXX29/fuuttyqvyV133UUbN26khx9+mJ5++mn1vboaEhXp3yuPcrLQTw4AAABIhKRmzDPOOIOee+45+vOf/0yTJk2ie++9lx566CGaO3eu/ZrKysqotA2X9b788ssqGjJ16lRV4vvoo492ybLeSssvghQNAAAAkDgZoVAoRIbDlTdcVcNmVpP9I0+8t4u+//xHdNGEEvr99afrPhwAAAAgEPM3cgkuUo3ICAAAAJA0ECMepGlQ1gsAAAAkDsSIBwZWdF8FAAAAEgdixINW8DCwAgAAAIkDMeJF91VskgcAAAAkDMSISzQcP0lHm0+p/yNNAwAAACQOxIjLfpGi/GzqmZft1rcFAAAAujwQI643PIu93w4AAAAAYgMx4nZZL/wiAAAAQFJAjLhsXi0rynfrWwIAAADdAogRlyMjpYiMAAAAAEkBMeKygRU9RgAAAIDkgBhxif21TeojPCMAAABAckCMuABvfLzrcKP6f0XfHm58SwAAAKDbADHiAtX1zdR0soWyMjOoHGIEAAAASAqIERfYfvCo+jikTwHlZOGUAgAAAMmAmdMFPtxXpz5OKCty49sBAAAA3QqIERdYt6dWfZxa3tuNbwcAAAB0KyBG3BQjQyBGAAAAgGSBGEmTA/XHaX/dccrMIJoypDjdbwcAAAB0OyBG0mStFRUZPbAQu/UCAAAAKQAxkibr9opfBFERAAAAIBUgRlyKjEwr75PutwIAAAC6JRAjadDaGqIP94TLehEZAQAAAFIDYiQNth86Rg3Npyg/J5PGlhSm860AAACAbgvEiAslvZMHF1M2Oq8CAAAAKQEx4oJ5dQr6iwAAAAApAzHiQmRkGjqvAgAAACkDMZIizada6OPKevV/iBEAAAAgdSBGUuSTygY62RKiPj1y1G69AAAAAEgNiBEXNsfLyMhI9dsAAAAA3R6IkRTB5ngAAACABjFyzz33qCiA8zFu3Li4r1+4cGG71+fn51NXYA3MqwAAAIArZCf7hokTJ9KSJUsi3yC7429RVFREmzZtsj/vCimNfbVNtOPQMbVT74yhaAMPAAAA+CpGWHyUlpYm/HoWH8m8Pgj8Y/NBu4qmuEeO7sMBAAAAupdnZMuWLTRo0CAaMWIEzZ07l3bv3t3h648ePUoVFRVUXl5OV1xxBW3YsKHTn9Hc3Ez19fVRD5N4yxIjnxozQPehAAAAAN1LjJx11lnKB7Jo0SJasGAB7dixg8477zxqaGiI+fqxY8fSY489Ri+88AI9+eST1NraSrNmzaK9e/d2+HPmz59PxcXF9oOFjCkcPtpMSz85oP5/4fgS3YcDAAAABJ6MUCgUSvXNtbW1Kurxi1/8gm6++eZOX3/y5EkaP348XXvttXTvvfd2GBnhh8CRERYkdXV1yoOikwXLttF9izbSlCHF9OLt52o9FgAAAMBkeP7moEJn83fSnhEnvXv3pjFjxtDWrVsTen1OTg5Nnz6909fn5eWph2nsr22iR97apv5/3dkVug8HAAAA6BKk1WeE/SDbtm2jsrKyhF7f0tJC69evT/j1JnGypZW+9qfVVNd0Uu3S+y/TB+s+JAAAAKD7iZHvfOc79NZbb9HOnTtp+fLldNVVV1FWVpZKuzDXX389zZs3z379j3/8Y3r99ddp+/bttHr1arruuuto165ddMstt1DQ+NUbW1Wjs+KCHHp47gzKzkK/OAAAAMANkkrTsPGUhcfhw4dpwIABdO6559J7772n/s9wZU1mZmSSrqmpoS9/+ctUVVVFffr0odNOO02JmAkTJlCQYBHymzfDqaV7r5xE5X176D4kAAAAoMuQloHVNAOM2xxoOE4bKxvov57/iHYfaaQ5U8roN1+c4dvPBwAAAIKMLwbWoPOHd3bQniONyg9yqiVEJ1vDH+uPn6RtB4/SniNN9msHFefTT6+crPV4AQAAgK5ItxYjL324n9bsDu++GwvuXD+8X08aX1ZE37p4DLqtAgAAAB7QrcXIv84YQueM7E/ZWRmUk5VJ2ZkZlJWZQT3zsqmibw+aNKSYivLR7h0AAADwkm4tRtArBAAAANAP6lMBAAAAoBWIEQAAAABoBWIEAAAAAFqBGAEAAACAViBGAAAAAKAViBEAAAAAaAViBAAAAABagRgBAAAAgFYgRgAAAACgFYgRAAAAAGgFYgQAAAAAWoEYAQAAAIBWIEYAAAAAoJVA7NobCoXUx/r6et2HAgAAAIAEkXlb5vFAi5GGhgb1sby8XPehAAAAACCFeby4uDju1zNCnckVA2htbaX9+/dTYWEhZWRkuKrYWODs2bOHioqKXPu+XRGcK5wvXFv6wX2IcxW064olBguRQYMGUWZmZrAjI/wLDBkyxLPvzycfYgTnCteWXnAf4lzhuuqa92BHEREBBlYAAAAAaAViBAAAAABa6dZiJC8vj374wx+qjwDnCtcW7kPTwZiFc9VVr6tAGFgBAAAA0HXp1pERAAAAAOgHYgQAAAAAWoEYAQAAAIBWIEYAAAAAoJUuL0Z+85vf0LBhwyg/P5/OOussWrlyZYev/9vf/kbjxo1Tr588eTK98sor1F1I5lwtXLhQdcN1Pvh93YG3336bLr/8ctVRkH/v559/vtP3LFu2jGbMmKHc6qNGjVLnrzuQ7Lni89T2uuJHVVUVdXXmz59PZ5xxhuo0PXDgQLryyitp06ZNnb6vO45ZqZyr7jpmLViwgKZMmWI3NJs5cya9+uqrxl1TXVqM/PWvf6VvfetbqmRp9erVNHXqVLrkkkvowIEDMV+/fPlyuvbaa+nmm2+mNWvWqAucHx999BF1dZI9Vwxf2JWVlfZj165d1B04duyYOj8s3hJhx44dNGfOHJo9ezatXbuW7rjjDrrlllvotddeo65OsudK4InFeW3xhNPVeeutt+i2226j9957jxYvXkwnT56kiy++WJ3DeHTXMSuVc9Vdx6whQ4bQz372M/rggw/o/fffp09/+tN0xRVX0IYNG8y6pkJdmDPPPDN022232Z+3tLSEBg0aFJo/f37M119zzTWhOXPmRD131llnhb761a+GujrJnqvHH388VFxcHOru8C303HPPdfiau+66KzRx4sSo5/7t3/4tdMkll4S6E4mcqzfffFO9rqamJtTdOXDggDoXb731VtzXdOcxK9lzhTErQp8+fUKPPvpoyKRrqstGRk6cOKGU4IUXXhi1xw1/vmLFipjv4eedr2c4OhDv9d35XDFHjx6liooKtcFSR0q7u9Ndr6t0mDZtGpWVldFFF11E7777LnVH6urq1Me+ffvGfQ2urcTPFdPdx6yWlhb6y1/+oiJInK4x6ZrqsmLk0KFD6sSXlJREPc+fx8s/8/PJvL47n6uxY8fSY489Ri+88AI9+eSTamflWbNm0d69e3066uAQ77rinTKbmpq0HZeJsAB55JFH6JlnnlEPnjQuuOAClTrsTvD9xOm8c845hyZNmhT3dd11zErlXHXnMWv9+vXUq1cv5Vm79dZb6bnnnqMJEyYYdU0FYtdeYB6sqp3Kmm/q8ePH029/+1u69957tR4bCC48YfDDeV1t27aNHnzwQXriiSeou8B+CM7Rv/POO7oPpcucq+48Zo0dO1b51TiC9Pe//51uuOEG5buJJ0h00GUjI/3796esrCyqrq6Oep4/Ly0tjfkefj6Z13fnc9WWnJwcmj59Om3dutWjowwu8a4rNtMVFBRoO66gcOaZZ3ar6+r222+nl156id58801lPuyI7jpmpXKuuvOYlZubq6r4TjvtNFWJxKbyX/7yl0ZdU5ld+eTziV+6dKn9HIfl+PN4uTJ+3vl6hp3a8V7fnc9VWzjNw6FADrODaLrrdeUWvKLrDtcVe3x5cuUQ+htvvEHDhw/v9D3d9dpK5Vy1pTuPWa2trdTc3GzWNRXqwvzlL38J5eXlhRYuXBj6+OOPQ1/5yldCvXv3DlVVVamvf+lLXwrdfffd9uvffffdUHZ2dujnP/956JNPPgn98Ic/DOXk5ITWr18f6uoke65+9KMfhV577bXQtm3bQh988EHoC1/4Qig/Pz+0YcOGUFenoaEhtGbNGvXgW+gXv/iF+v+uXbvU1/k88fkStm/fHurRo0fou9/9rrqufvOb34SysrJCixYtCnV1kj1XDz74YOj5558PbdmyRd133/zmN0OZmZmhJUuWhLo6X/va11SF2rJly0KVlZX2o7Gx0X4NxqzUz1V3HbPuvvtuVWW0Y8eO0Icffqg+z8jICL3++utGXVNdWowwv/rVr0JDhw4N5ebmqvLV9957z/7a+eefH7rhhhuiXv/000+HxowZo17P5Zgvv/xyqLuQzLm644477NeWlJSELrvsstDq1atD3QEpP237kPPDH/l8tX3PtGnT1PkaMWKEKjPsDiR7ru67777QyJEj1STRt2/f0AUXXBB64403Qt2BWOeJH85rBWNW6uequ45ZN910U6iiokL93gMGDAh95jOfsYWISddUBv/jbewFAAAAAKAbekYAAAAAEAwgRgAAAACgFYgRAAAAAGgFYgQAAAAAWoEYAQAAAIBWIEYAAAAAoBWIEQAAAABoBWIEAAAAAFqBGAEAAACAViBGAAAAAKAViBEAAAAAaAViBAAAAACkk/8fy+YiaYvNesYAAAAASUVORK5CYII=", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "print(f\"rho shape: {sol_norwa.rho.shape}\")\n", "print(sol_norwa.axis_labels)\n", "print(len(sol_norwa.t))\n", "\n", "susc_norwa=sol_norwa.coupling_coefficient_observable()\n", "plt.plot(sol_norwa.t, susc_norwa.imag)\n", "plt.show()" ] }, { "cell_type": "markdown", "id": "9f921784", "metadata": {}, "source": [ "### 3.2 Initial conditions\n", "Obviously, it does not make sense to discuss a time-domain solve without discussing the initial condition of the system. Since no explicit condition was defined in the above example, it begs the questions of 1. What intial condition was used? and 2. Is there any way to use a different one? Thankfully, there are simple answers to both questions. Let's recreate the example 3.1." ] }, { "cell_type": "code", "execution_count": 46, "id": "048ed847", "metadata": {}, "outputs": [], "source": [ "#101 Mrad/s field, modulated\n", "def my_field_norwa(t):\n", " return np.cos(101*t)*np.sin(10*t)\n", "\n", "sensor_time_norwa = rq.Sensor(4)\n", "sensor_time_norwa.add_coupling((0,1), detuning=0, rabi_frequency=1)\n", "sensor_time_norwa.add_coupling((1,2), detuning=0, rabi_frequency=2)\n", "sensor_time_norwa.add_coupling((2,3), transition_frequency=100, rabi_frequency=1, time_dependence=my_field_norwa)\n", "\n", "sensor_time_norwa.add_transit_broadening(10)\n", "sensor_time_norwa.add_decoherence((2,1), 1)\n", "sensor_time_norwa.add_decoherence((3,2), 0.1)\n", "\n", "#1000 samples over 3 microsecond\n", "end_time = 3\n", "num_pts = 1000\n", "\n", "sol_norwa = rq.solve_time(sensor_time_norwa, end_time, num_pts)" ] }, { "cell_type": "markdown", "id": "ca3a6f6d", "metadata": {}, "source": [ "Thankfully, the initial condition used is actually saved in the `Solution` object when `solve_time` is called under the `init_cond` attribute:" ] }, { "cell_type": "code", "execution_count": 47, "id": "82f7e4a1", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[-0. -0.00463991 0. 0.04905154 0.00478423 -0.\n", " 0. -0. 0.00066507 0.00012092 0. -0.\n", " -0. -0. -0. ]\n" ] } ], "source": [ "print(sol_norwa.init_cond)" ] }, { "cell_type": "markdown", "id": "bc70dc2c", "metadata": {}, "source": [ "This density matrix (remember that the basis of the density matrix is altered in `rydiqule`) is the steady-state solution of the system based on the Hamiltonian at time `t=0`, as we can see below. We will introduce the `get_time_hamiltonian` function, which is not crucial to know, but will demostrate where the result comes from." ] }, { "cell_type": "code", "execution_count": 48, "id": "030b7451", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[[ 0. +0.j 0.5+0.j 0. +0.j 0. +0.j]\n", " [ 0.5+0.j 0. +0.j 1. +0.j 0. +0.j]\n", " [ 0. +0.j 1. +0.j 0. +0.j 0. +0.j]\n", " [ 0. +0.j 0. +0.j 0. +0.j 100. +0.j]]\n", "[-0. -0.00463991 0. 0.04905154 0.00478423 -0.\n", " 0. -0. 0.00066507 0.00012092 0. -0.\n", " -0. -0. -0. ]\n" ] } ], "source": [ "print(sensor_time_norwa.get_time_hamiltonian(0))\n", "print(rq.solve_steady_state(sensor_time_norwa).rho)" ] }, { "cell_type": "markdown", "id": "5ca66009", "metadata": {}, "source": [ "So the steady-state solution (which uses the `t=0` hamiltonian for a steady-state sole when there is a time-dependant coupling) is the same as the the initial condition.\n", "\n", "Setting the intial condition manually is as simple as using the `init_cond` argument in `rq.solve_time`. In this case, we will demonstrate a simple case where all population is in the ground states. Remember that since `rydiqule` removes the ground state population when it solves, this corresponds to an array of zeros with length $n^2-1 = 15$. If you would like a more involved intial condition, you can create the familiar square complex (hermitian) density matrix, and call `rq.sensor_utils.convert_complex_to_dm()` to get the corresponding real flattened density matrix." ] }, { "cell_type": "code", "execution_count": 49, "id": "077f0996", "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "all_ground = np.zeros(4**2-1)\n", "sol_norwa_ground = rq.solve_time(sensor_time_norwa, end_time, num_pts, init_cond=all_ground)\n", "susc_norwa_ground = sol_norwa_ground.coupling_coefficient_observable()\n", "\n", "fig, ax = plt.subplots()\n", "ax.plot(sol_norwa_ground.t, susc_norwa_ground.imag)\n", "plt.show()\n" ] }, { "cell_type": "markdown", "id": "fcefe8c8", "metadata": {}, "source": [ "This plot helps shed some light on the reason `rydiqule` makes the default choice it does. The transient ramp up is much bigger, and it is hard to see any oscillations in this plot. Depending on what you are modelling, it often makes sense to leave the inital condition alone, but it is useful to know you can change it. Let's chop off the first 340 points and see that the steady-state behavior is still similar:" ] }, { "cell_type": "code", "execution_count": 50, "id": "6cf01560", "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig, ax = plt.subplots()\n", "ax.plot(sol_norwa_ground.t[340:], susc_norwa_ground.imag[340:]);\n", "plt.show()" ] }, { "cell_type": "markdown", "id": "cd5ccd7a", "metadata": {}, "source": [ "### 3.3 Time Dependance with the RWA \n", "Now that we have shown time-dependence in the simplest case, with no rotating wave approximation, let us examine how we can still use the rotating wave approximation and still solve for time-domain behavior of the system. This is desirable in a number of cases, for example in a pulsed laser scheme.\n", "\n", "Remember that if the RWA is valid for the system you are trying to model, it is generally a good idea to use it. `rydiqule` does note make any decisions regarding this for you, it is up to the physicist to decide in which situations it is a reasonable approximation of system behavior. In any time solver, modelling higher frequencies will be slower. Depending on how high your frequencies are, this can be many orders of magnitude. For this reason, modelling lasers fully in the time domain, for example is basically always a bad idea; you might be waiting an amount of time that is, practically speaking, forever.\n", "\n", "Below we show a system that we define similarly to the previous example, the only exception being that the `(2,3)` coupling now is specified with a 1 Mrad/s detuning (the same detuning defined explicitly above), and show that the behavior is the same." ] }, { "cell_type": "code", "execution_count": 51, "id": "e471dc2c", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " object with 4 states and 3 coherent couplings.\n", "States: [0, 1, 2, 3]\n", "Coherent Couplings: \n", " (0,1): {rabi_frequency: 1, detuning: 0, phase: 0, kvec: (0, 0, 0), coherent_cc: 1.0, label: (0,1)}\n", " (1,2): {rabi_frequency: 2, detuning: 0, phase: 0, kvec: (0, 0, 0), coherent_cc: 1.0, label: (1,2)}\n", " (2,3): {rabi_frequency: 1, detuning: 1, phase: 0, kvec: (0, 0, 0), time_dependence: , coherent_cc: 1.0, label: (2,3)}\n", "Decoherent Couplings:\n", " (0,0): {gamma_transit: 10.0}\n", " (1,0): {gamma_transit: 10.0}\n", " (2,0): {gamma_transit: 10.0}\n", " (2,1): {gamma: 1.0}\n", " (3,0): {gamma_transit: 10.0}\n", " (3,2): {gamma: 1.0}\n", "Energy Shifts:\n", " None\n" ] } ], "source": [ "#101 Mrad/s field, modulated\n", "def my_field_rwa(t):\n", " return np.sin(10*t)\n", "\n", "sensor_time_rwa = rq.Sensor(4)\n", "sensor_time_rwa.add_coupling((0,1), detuning=0, rabi_frequency=1)\n", "sensor_time_rwa.add_coupling((1,2), detuning=0, rabi_frequency=2)\n", "sensor_time_rwa.add_coupling((2,3), detuning=1, rabi_frequency=1, time_dependence=my_field_rwa)\n", "\n", "sensor_time_rwa.add_transit_broadening(10)\n", "sensor_time_rwa.add_decoherence((2,1), 1)\n", "sensor_time_rwa.add_decoherence((3,2), 1)\n", "\n", "print(sensor_time_rwa)\n", "\n", "#1000 samples over 3 microsecond\n", "end_time = 3\n", "num_pts = 1000\n", "\n", "sol_rwa = rq.solve_time(sensor_time_rwa, end_time, num_pts)" ] }, { "cell_type": "markdown", "id": "e5e64908", "metadata": {}, "source": [ "Just like before, we will print the imaginary part of a unitless \"susceptibility\" against time, and see that indeed we get similar transient and quick steady-state behavior." ] }, { "cell_type": "code", "execution_count": 52, "id": "fad863cd", "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAiMAAAGsCAYAAAAPJKchAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjgsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvwVt1zgAAAAlwSFlzAAAPYQAAD2EBqD+naQAAcXBJREFUeJztnQl4VOXZ/p/sC2QhkBVCgLCFHUQQXJCKolKLfp9WLSrWvaVf1VatXP23Wv1aqnXrptS6YOtuLernhoKgRVD2fQ2BJEAStqxkg2T+1/POeSdnwkwyyznnPTNz/65rmGQyMzmcnDnvfe5ni3I4HA4CAAAAAFBEtKpfDAAAAADAQIwAAAAAQCkQIwAAAABQCsQIAAAAAJQCMQIAAAAApUCMAAAAAEApECMAAAAAUArECAAAAACUAjECAAAAAKVAjAAAAABAKSElRr766iu64oorKC8vj6Kioui9994z9fcNGDBA/J7Ot3nz5gX93sXFxZSSkkLp6endPnfZsmU0depU8fycnBz6xS9+QadPn3Z7zpYtW+j888+nxMREys/Pp8cff9zt54sWLTrj/8HP1fPvf/+bLrnkEurdu7f4+aZNm8hMTp06Jf4vo0ePph49eoi/60033USHDx829fcCAACwFyElRk6ePEljx46lv/71r5b8vrVr11JFRYXr9vnnn4vHr7nmGq+v4UX8wIED3S7C119/vRAP3bF582a6/PLL6dJLL6WNGzfSW2+9RR988AE9+OCDrufU1dUJEVFQUEDr16+nP/zhD/Twww/T888/7/Zeqampbv+f0tLSM/bveeedR4899hhZQWNjI23YsIF+9atfiXsWQ7t376bvfe97lvx+AAAANsERovCmL1682O2x5uZmx89//nNHXl6eIzk52TFp0iTH8uXLDfudd999t6OwsNDR3t7e5Xbt37+/y/d54IEHHDfccIPj5ZdfdqSlpXX53Pnz5zsmTpzo9tgHH3zgSExMdNTV1Ynvn332WUevXr0cLS0truf84he/cAwbNsz1vS+/S8Lbz/+PjRs3nvGz6upqx6233uro06ePIyUlxTF9+nTHpk2bHEaxZs0a8btLS0sNe08AAAD2JqScke74yU9+QqtXr6Y333xThC3YwWBHYe/evUG/d2trK7366qt0yy23CPcjUL744gt65513fHZ3WlpazginJCUl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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig, ax = plt.subplots()\n", "susc=sol_rwa.coupling_coefficient_observable()\n", "ax.plot(sol_rwa.t, susc.imag);\n", "plt.show()" ] }, { "cell_type": "markdown", "id": "26ba4720", "metadata": {}, "source": [ "There is an important caveat with regards to how to think about RWA couplings in the time domain. Remember that the approximation treats the field in the rotating frame of the *field*. In `rydiqule ` this applied field is implicitly assumed to be part of the coupling. This is how we keep specifications of couplings quick and easy. So in the above example, our 101 Mrad/s field is rotated into the 101 Mrad/s frame, with of 1 Mrad/s detuning from resonance (accounted for on the diagonal). As a result, the $\\cos(101t)$ field becomes 1 as far as rydiqule is concerned, and we are left only with the modulating $\\sin$ function and the manually specified detuning of 1 Mrad/s.\n", "\n", "One should also note that there are some obvious numeric artifacts. Their origin and how to mitigate them is described in section 3.4.\n", "\n", "#### Any python function works\n", "Since `rydiqule` just calls the provided time function with no inference of its mathematical form, any python funtion will work; it need not be a sinusoid. This opens up options for things like stepwise functions. Lets reproduce the above RWA example, but rather than modulating the field by a sinusoid, we will use a pulsing function." ] }, { "cell_type": "code", "execution_count": 53, "id": "1b199976-fcf8-486b-b570-590607708ad3", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " object with 4 states and 3 coherent couplings.\n", "States: [0, 1, 2, 3]\n", "Coherent Couplings: \n", " (0,1): {rabi_frequency: 1, detuning: 0, phase: 0, kvec: (0, 0, 0), coherent_cc: 1.0, label: (0,1)}\n", " (1,2): {rabi_frequency: 2, detuning: 0, phase: 0, kvec: (0, 0, 0), coherent_cc: 1.0, label: (1,2)}\n", " (2,3): {rabi_frequency: 1, detuning: 1, phase: 0, kvec: (0, 0, 0), time_dependence: , coherent_cc: 1.0, label: (2,3)}\n", "Decoherent Couplings:\n", " (0,0): {gamma_transit: 10.0}\n", " (1,0): {gamma_transit: 10.0}\n", " (2,0): {gamma_transit: 10.0}\n", " (2,1): {gamma: 1.0}\n", " (3,0): {gamma_transit: 10.0}\n", " (3,2): {gamma: 1.0}\n", "Energy Shifts:\n", " None\n" ] } ], "source": [ "# off from 0 to 1, on from 1 to 2, repeat \n", "def pulse_field(t):\n", " if 0 <= t%2 <= 1:\n", " return 0.0\n", " else:\n", " return 1.0\n", "\n", "sensor_time_pulse = rq.Sensor(4)\n", "sensor_time_pulse.add_coupling((0,1), detuning=0, rabi_frequency=1)\n", "sensor_time_pulse.add_coupling((1,2), detuning=0, rabi_frequency=2)\n", "sensor_time_pulse.add_coupling((2,3), detuning=1, rabi_frequency=1, time_dependence=pulse_field)\n", "\n", "sensor_time_pulse.add_transit_broadening(10)\n", "sensor_time_pulse.add_decoherence((2,1), 1)\n", "sensor_time_pulse.add_decoherence((3,2), 1)\n", "\n", "print(sensor_time_pulse)\n", "\n", "#1000 samples over 1 microsecond\n", "end_time = 10\n", "num_pts = 1000" ] }, { "cell_type": "code", "execution_count": 54, "id": "8aa7d32b-94d0-4c0a-aecd-da8c12dafa6a", "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "sol_pulse = rq.solve_time(sensor_time_pulse, end_time, num_pts)\n", "susc_pulse = sol_pulse.coupling_coefficient_observable()\n", "\n", "fig, ax = plt.subplots()\n", "ax.plot(sol_pulse.t, susc_pulse.imag);\n", "plt.show()" ] }, { "cell_type": "markdown", "id": "4d5ccacc", "metadata": {}, "source": [ "We did not leave enough time to enter a steady-state on any particular pulse (again, we are not trying to demonstrate meaningful physics in this notebook), but we can see that the solver ran fine, and the plusing behavior we would expect is present." ] }, { "cell_type": "markdown", "id": "757d77d7", "metadata": {}, "source": [ "### 3.4 Multi-value Parameters in a time solve\n", "Just like `solve_steady_state`, `solve_time` supports coupling parameter definitions that are list-like. It works more or less as you might expect based on the behavior of steady-state solving, but it is worth briefly discussing for the sake of demonstrating what the solution might look like.\n", "\n", "We will start with a `Sensor` identical to the one in 3.3, but with the `(2,3)` transition's `rabi_frequency` and `detuning` defined as lists. Note that because we are scanning 2 parameters over 51 values, there are actually $51\\times 51=2,601$ sets of equations being solved. `rydiqule` is pretty efficient, even in the time solver, for reasonable frequencies, but is not magical. This cell may take longer than previous ones (and probably spin up your computer fans a little), but it should be doable." ] }, { "cell_type": "code", "execution_count": 55, "id": "d0e5f7dd", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " object with 4 states and 3 coherent couplings.\n", "States: [0, 1, 2, 3]\n", "Coherent Couplings: \n", " (0,1): {rabi_frequency: 1, detuning: 0, phase: 0, kvec: (0, 0, 0), coherent_cc: 1.0, label: (0,1)}\n", " (1,2): {rabi_frequency: 2, detuning: 0, phase: 0, kvec: (0, 0, 0), coherent_cc: 1.0, label: (1,2)}\n", " (2,3): {rabi_frequency: , detuning: , phase: 0, kvec: (0, 0, 0), time_dependence: , coherent_cc: 1.0, label: (2,3)}\n", "Decoherent Couplings:\n", " (0,0): {gamma_transit: 10.0}\n", " (1,0): {gamma_transit: 10.0}\n", " (2,0): {gamma_transit: 10.0}\n", " (2,1): {gamma: 1.0}\n", " (3,0): {gamma_transit: 10.0}\n", " (3,2): {gamma: 1.0}\n", "Energy Shifts:\n", " None\n" ] } ], "source": [ "#101 Mrad/s field, modulated\n", "def my_field_rwa(t):\n", " return np.sin(10*t)\n", "\n", "dets = np.linspace(-5,5,51)\n", "rabis = np.linspace(-1,1,51)\n", "\n", "sensor_time_scan = rq.Sensor(4)\n", "sensor_time_scan.add_coupling((0,1), detuning=0, rabi_frequency=1)\n", "sensor_time_scan.add_coupling((1,2), detuning=0, rabi_frequency=2)\n", "sensor_time_scan.add_coupling((2,3), detuning=dets, rabi_frequency=rabis, time_dependence=my_field_rwa)\n", "\n", "sensor_time_scan.add_transit_broadening(10)\n", "sensor_time_scan.add_decoherence((2,1), 1)\n", "sensor_time_scan.add_decoherence((3,2), 1)\n", "\n", "print(sensor_time_scan)\n", "\n", "#1000 samples over 3 microsecond\n", "end_time = 3\n", "num_pts = 1000\n", "\n", "sol_time_scan = rq.solve_time(sensor_time_scan, end_time, num_pts, atol=1e-9)\n", "\n", "susc_scan = sol_time_scan.coupling_coefficient_observable()" ] }, { "cell_type": "markdown", "id": "cff348bc", "metadata": {}, "source": [ "As a note, we tightened our absolute tolerance on the time solver. Why is somewhat beyond the scope of this notebook, but it is worth briefly explaining. Under the hood, `rydiqule` uses `scipy`'s `solve_ivp` function with a Runge-Kutta method of order 4(5). To make this work seamlessly with large stacks, `rydiqule` performs some reshape operations, and with such a large vector, the `\"RK45\"` hueristics will behave differently on an huge list of values as opposed to just the 15 in a single density matrix.\n", "\n", "The details are not relevant here, but these sorts of numerical analyses are something `rydiqule` can only take so far, you ultimately need to judge whether a potential numerical error has occured. We made the above choice by analyzing what the plot looked like. As a general rule, if the plot is behaving unexpectedly, the `atol` can be set an order of magnitude or so smaller than any oscillations. You may have astutely noticed that the RWA and non RWA examples above did not match *exaclty*, and this was almost certainly the reason. However, we made the decision not to adjust since we caputred the relevant behavior just fine. Ultimately, `rydiqule` uses the `scipy` default of 1e-3, but you may need to adjust it to suit your problem, just like you would with any ivp solver. " ] }, { "cell_type": "markdown", "id": "77cc49d4", "metadata": {}, "source": [ "Anyhow, just as we did before, let us investigate some key parts of the `Solution` `sol_time_scan`:" ] }, { "cell_type": "code", "execution_count": 56, "id": "3f03aecd", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "(51, 51, 1000, 15)\n", "['(2,3)_detuning', '(2,3)_rabi_frequency', 'time', 'density_matrix']\n" ] } ], "source": [ "print(sol_time_scan.rho.shape)\n", "print(sol_time_scan.axis_labels)" ] }, { "cell_type": "markdown", "id": "02ec3113", "metadata": {}, "source": [ "So we can see that the shape is as expected. The ordering of the time axes here is general -- in a `rydiqule` time soluion, axes will always be ordered as parameters, time, density matrix.\n", "\n", "Just for fun, lets try and plot the solution, that corresponds to the single-value solve above, at `detuning=1` and `rabi_frequency=1`. We use `np.where()` to get the correct indeces. Note that we can still apply functions like observales to the solution without changing the indexing" ] }, { "cell_type": "code", "execution_count": 57, "id": "19046ae9-74c5-49a6-a9ba-169198328287", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "(51, 51, 1000)\n" ] } ], "source": [ "det_idx = np.where(dets==1)[0][0]\n", "rabi_idx = np.where(rabis==1)[0][0] #the return typle of where is tuple(array), although there is only 1 index\n", "\n", "time = sol_time_scan.t\n", "print(susc_scan.shape)\n", "susc_plot = susc_scan[30,50] #apply squeeze operatiob because indexing leaves " ] }, { "cell_type": "code", "execution_count": 58, "id": "65b684d8-85f9-465f-87b2-02b7fbf03ca2", "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig, ax = plt.subplots()\n", "ax.plot(time, susc_plot.imag)\n", "plt.show()" ] }, { "cell_type": "markdown", "id": "081199c8", "metadata": {}, "source": [ "### 3.5 Compiled timesolver backend\n", "\n", "With version 2.2.0, rydiqule introduced a fully compiled timesolver backend: `cyrk_solve`.\n", "This backend is written in cython and leverages CyRK's `cysolve_ivp`.\n", "It is generally faster than the default scipy backend by around an order of magntiude,\n", "but requires that the time-dependence functions be compiled with cython by hand (including having a local C compiler).\n", "No other aspect of `Sensor` creation or time-solving changes,\n", "and the time-function compilation is readily achieved in a jupyter notebook,\n", "as will be shown below.\n", "\n", "Further details on `cyrk_solve` usage are in the [API Docs](https://rydiqule.readthedocs.io/page/api/cy_solve_details.html).\n", "A detailed exploration of the performance relative to the scipy backend\n", "is located in an [example notebook](https://rydiqule.readthedocs.io/page/examples/timesolver_benchmarking.html).\n", "\n", "Note that the following three cells require that an appropriate C/C++ compiler and OpenMP library is installed on the system." ] }, { "cell_type": "code", "execution_count": 59, "id": "eba776f9", "metadata": {}, "outputs": [], "source": [ "%load_ext Cython" ] }, { "cell_type": "code", "execution_count": 60, "id": "ed0ea41d", "metadata": {}, "outputs": [], "source": [ "%%cython\n", "# cython: initializedcheck=False, cdivision=True, nonecheck=False, boundscheck=False, wraparound=False\n", "\n", "from libc.math cimport sin\n", "# have to use complex math functions from here to avoid MSVC C99 shenanigans\n", "from rydiqule.stack_solvers.cyrk_solver.complex cimport double_complex\n", "from rydiqule.stack_solvers.cyrk_solver cimport tfunc_wrapper\n", "\n", "cdef double complex my_field_rwa_cy(double t) noexcept nogil:\n", " cdef double s = sin(10*t)\n", " return double_complex(s, 0.0) # must use double_complex(real, imag) to define complex numbers\n", "\n", "wrapped_rwa_cy = tfunc_wrapper(my_field_rwa_cy)" ] }, { "cell_type": "code", "execution_count": 61, "id": "0bc5d402", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " object with 4 states and 3 coherent couplings.\n", "States: [0, 1, 2, 3]\n", "Coherent Couplings: \n", " (0,1): {rabi_frequency: 1, detuning: 0, phase: 0, kvec: (0, 0, 0), coherent_cc: 1.0, label: (0,1)}\n", " (1,2): {rabi_frequency: 2, detuning: 0, phase: 0, kvec: (0, 0, 0), coherent_cc: 1.0, label: (1,2)}\n", " (2,3): {rabi_frequency: 1, detuning: 1, phase: 0, kvec: (0, 0, 0), time_dependence: , coherent_cc: 1.0, label: (2,3)}\n", "Decoherent Couplings:\n", " (0,0): {gamma_transit: 10.0}\n", " (1,0): {gamma_transit: 10.0}\n", " (2,0): {gamma_transit: 10.0}\n", " (2,1): {gamma: 1.0}\n", " (3,0): {gamma_transit: 10.0}\n", " (3,2): {gamma: 1.0}\n", "Energy Shifts:\n", " None\n" ] } ], "source": [ "sensor_time_rwa_cy = rq.Sensor(4)\n", "sensor_time_rwa_cy.add_coupling((0,1), detuning=0, rabi_frequency=1)\n", "sensor_time_rwa_cy.add_coupling((1,2), detuning=0, rabi_frequency=2)\n", "sensor_time_rwa_cy.add_coupling((2,3), detuning=1, rabi_frequency=1, time_dependence=wrapped_rwa_cy)\n", "\n", "sensor_time_rwa_cy.add_transit_broadening(10)\n", "sensor_time_rwa_cy.add_decoherence((2,1), 1)\n", "sensor_time_rwa_cy.add_decoherence((3,2), 1)\n", "\n", "print(sensor_time_rwa_cy)\n", "\n", "#1000 samples over 3 microsecond\n", "end_time = 3\n", "num_pts = 1000\n", "\n", "sol_rwa_cy = rq.solve_time(sensor_time_rwa_cy, end_time, num_pts, solver='cyrk')" ] }, { "cell_type": "code", "execution_count": 62, "id": "75245552", "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAiMAAAGsCAYAAAAPJKchAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjgsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvwVt1zgAAAAlwSFlzAAAPYQAAD2EBqD+naQAAcXBJREFUeJztnQl4VOXZ/p/sC2QhkBVCgLCFHUQQXJCKolKLfp9WLSrWvaVf1VatXP23Wv1aqnXrptS6YOtuLernhoKgRVD2fQ2BJEAStqxkg2T+1/POeSdnwkwyyznnPTNz/65rmGQyMzmcnDnvfe5ni3I4HA4CAAAAAFBEtKpfDAAAAADAQIwAAAAAQCkQIwAAAABQCsQIAAAAAJQCMQIAAAAApUCMAAAAAEApECMAAAAAUArECAAAAACUAjECAAAAAKVAjAAAAABAKSElRr766iu64oorKC8vj6Kioui9994z9fcNGDBA/J7Ot3nz5gX93sXFxZSSkkLp6endPnfZsmU0depU8fycnBz6xS9+QadPn3Z7zpYtW+j888+nxMREys/Pp8cff9zt54sWLTrj/8HP1fPvf/+bLrnkEurdu7f4+aZNm8hMTp06Jf4vo0ePph49eoi/60033USHDx829fcCAACwFyElRk6ePEljx46lv/71r5b8vrVr11JFRYXr9vnnn4vHr7nmGq+v4UX8wIED3S7C119/vRAP3bF582a6/PLL6dJLL6WNGzfSW2+9RR988AE9+OCDrufU1dUJEVFQUEDr16+nP/zhD/Twww/T888/7/Zeqampbv+f0tLSM/bveeedR4899hhZQWNjI23YsIF+9atfiXsWQ7t376bvfe97lvx+AAAANsERovCmL1682O2x5uZmx89//nNHXl6eIzk52TFp0iTH8uXLDfudd999t6OwsNDR3t7e5Xbt37+/y/d54IEHHDfccIPj5ZdfdqSlpXX53Pnz5zsmTpzo9tgHH3zgSExMdNTV1Ynvn332WUevXr0cLS0truf84he/cAwbNsz1vS+/S8Lbz/+PjRs3nvGz6upqx6233uro06ePIyUlxTF9+nTHpk2bHEaxZs0a8btLS0sNe08AAAD2JqScke74yU9+QqtXr6Y333xThC3YwWBHYe/evUG/d2trK7366qt0yy23CPcjUL744gt65513fHZ3WlpazginJCUl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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig, ax = plt.subplots()\n", "susc=sol_rwa_cy.coupling_coefficient_observable()\n", "ax.plot(sol_rwa_cy.t, susc.imag);\n", "plt.show()" ] }, { "cell_type": "markdown", "id": "a4a7321e", "metadata": {}, "source": [ "---\n", "## 4. Simulating Doppler broadening\n", "One final key piece of functionality in `rydiqule` is the ability to simulate a doppler-broadened system. Internally, this is handled by breaking a doppler velocity profile into some number of slices, then applying the corresponding detunings for each class to the unshifted solution. This produces many sets of equations of motion, which are then solved, and then a weighted average performed to get the doppler-broadened solution.\n", "\n", "To set up a system with doppler broadening, we use the the `\"kvec\"` keyword the couplings definition along with the `vP` attribute. A `kvec` is a 3-element spatial vector corresponding to the usual definition of a k-vector for an electromagnetic plane wave, defined in units of Mrad/m. `Sensor.vP` is an attribute that defines the most probable speed for an atom in a given sensor assuming a 3-D Maxwell-Boltzmann velocity distribution. Note that when multiplied `vP` and `kvec` correspond to the most probable doppler shift vector with respect to a given laser in Mrad/s.\n", "\n", "Configuring doppler settings can get involved, and much of the functionality surrounding doppler handling is beyond the scope of an introductory notebook. This will be a quick discussion, but should at least be useful in handling most simple cases. If applying the steps outlined here produces unexpected results, you can find more details about how `rydiqule` does doppler in the [physics](https://rydiqule.readthedocs.io/page/writeups/doppler.html) and [api](https://rydiqule.readthedocs.io/page/api/_autosummary/rydiqule.doppler_utils.html#module-rydiqule.doppler_utils) doppler documentation.\n", "\n", "Note that as of version 2.1.0, in addition to `solve_steady_state` below, rydiqule supports analytic doppler averaging. More details of this function can be found in [physics](https://rydiqule.readthedocs.io/page/writeups/doppler.html) and [api](https://rydiqule.readthedocs.io/page/api/_autosummary/rydiqule.doppler_exact.html#module-rydiqule.doppler_exact) documentation." ] }, { "cell_type": "markdown", "id": "a73f0a42", "metadata": {}, "source": [ "### 4.1 A simple doppler example.\n", "Let us recreate the system in 2.4 above, which was the first thing we plotted. Recall that there was a large main peak, consisting of 3 sharp subpeaks. If we account for a small amount of doppler, broadening, we would expect those sharper features to be smeared out. In the example below we will apply doppler broadening to a pair of co-propagating lasers.\n", "\n", "A doppler broadening of 1 MHz is wider than the narrow subpeaks but narrower than the main peak, so with that amount of broadening, the large peak should stay similar in width, but the small peaks will no longer be able to be resolved. Let us test this hypothesis as a quick smell-check that `rydiqule` is doing something reasonable with doppler broadening.\n", "\n", "Recall that `kvec` is an attribute of a particular coupling, while `vP` is a property of sensor, and can be defined either in the constructor using `Sensor(....,vP=)`, or after construction with `my_sensor.vP = ` " ] }, { "cell_type": "code", "execution_count": 63, "id": "be59d088", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " object with 4 states and 3 coherent couplings.\n", "States: [0, 1, 2, 3]\n", "Coherent Couplings: \n", " (0,1): {rabi_frequency: 3, detuning: , phase: 0, kvec: , coherent_cc: 1.0, label: (0,1)}\n", " (1,2): {rabi_frequency: 5, detuning: 0, phase: 0, kvec: , coherent_cc: 1.0, label: (1,2)}\n", " (2,3): {rabi_frequency: 7, detuning: 0, phase: 0, kvec: (0, 0, 0), coherent_cc: 1.0, label: (2,3)}\n", "Decoherent Couplings:\n", " (1,0): {gamma: 0.1}\n", " (2,0): {gamma: 0.1}\n", " (3,0): {gamma: 0.1}\n", "Energy Shifts:\n", " None\n" ] } ], "source": [ "basis_size = 4\n", "sensor_doppler = rq.Sensor(basis_size, vP=2)\n", "\n", "k_mag = np.pi #Mrad/m\n", "k_direction = np.array([1,0,0])\n", "\n", "detunings = 2*np.pi*np.linspace(-10,10,201) #201 values between -10 and 10 MHz\n", "probe = {\"states\":(0,1), \"detuning\": detunings, \"rabi_frequency\": 3, 'kvec': k_direction*k_mag}\n", "coupling = {\"states\":(1,2), \"detuning\": 0, \"rabi_frequency\": 5, 'kvec': k_direction*k_mag}\n", "rf = {\"states\":(2,3), \"detuning\": 0, \"rabi_frequency\":7}\n", "\n", "sensor_doppler.add_couplings(probe, coupling, rf)\n", "\n", "gamma = np.zeros((basis_size, basis_size))\n", "gamma[1:,0] = 0.1\n", "sensor_doppler.set_gamma_matrix(gamma)\n", "\n", "print(sensor_doppler)" ] }, { "cell_type": "markdown", "id": "21693b3b", "metadata": {}, "source": [ "Before checking out the solution, Let us briefly touch on what is happening under the hood with a doppler solve. `rydiqule` leverages its existing stack framework internally by adding more hamiltonians to the stack. It will create and solve a set of Hamiltonians and equations for each doppler class. Then at the end, it will apply weights based on the population in each class assuming a Boltzmann distribution of velocity classes, and sum the weighted classes together. Note that the solution's final shape is the same as it would be without doppler. So the internals of dopper are, in basic cases, something you don't actually need to see. \n", "\n", "Note that since doppler is a parameter of the solve rather than an argument of `Sensor` itself, " ] }, { "cell_type": "code", "execution_count": 64, "id": "ea3faa22", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Solution shape: (201, 15)\n" ] } ], "source": [ "solution_doppler = rq.solve_steady_state(sensor_doppler, doppler=True)\n", "print(f\"Solution shape: {solution_doppler.rho.shape}\")" ] }, { "cell_type": "code", "execution_count": 65, "id": "2823fc80", "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "absorption_doppler = solution_doppler.coupling_coefficient_observable().imag\n", "plt.plot(detunings, absorption_doppler)\n", "plt.show()" ] }, { "cell_type": "markdown", "id": "218f9022", "metadata": {}, "source": [ "Perfect, it is as we expected: The three narrow peaks comprising the larger one have been blurred into a single peak.\n", "\n", "It is also worth mentioning that the same argument works identically in the `solve_time()` function." ] }, { "cell_type": "markdown", "id": "b8925aea", "metadata": {}, "source": [ "### 4.2 A word of caution\n", "Once you realize `rydiqule` can do doppler broadening, it may be tempting to apply it to all your experiments. It is important to keep in mind that for each axis over which you account for doppler broadening, you are increasing the number of equations to solve by a factor of $n_{classes}$, which by default is ~600. Remember, in its current iteration `rydiqule` explicitly solves every doppler class, it does not use any hueristics. Adding doppler broadening can quickly get out of control in both memory and computation time. A seemingly innocuous `kvec=k_mag*(1,1,1)` will apply doppler broadening in 3 dimensions and increase the number of equations `rydiqule` solves by a factor of 8,000,000. This is not to tell you not to use doppler, just to understand what you are asking `rydiqule` to do. " ] }, { "cell_type": "markdown", "id": "a70d250f", "metadata": {}, "source": [ "---\n", "## 5. What Next?\n", "Hopefully, you now have a good idea of the basics of how `rydiqule` can be used to solve atomic systems in a variety of ways. Depending what you want to do, you can start running your own simulations. \n", "\n", "If you intend to simulate real-world lab experiments with actual Rydberg atoms, the `rydiqule.Cell` module has tools to do exaclty that. It inherits from `Sensor`, so all the basic priciples apply, but some funcitonality has been added to calulate things like dipole moments, decay rates, and state energies automatically using functionality from the `ARC` package. We have a `Cell_Basics.ipynb` notebook in the same folder as this one, and you now equipped to go through that tutorial. That notebook *will* assume that you understand the principles of this one, but it provides useful tools to start simulating your own Rubidium. After that, the rest of the examples in this notebook show examples using `Cell` to simulate real experiments that you could do in a lab." ] } ], "metadata": { "kernelspec": { "display_name": "rydiqule (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 }