{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# One Dimensional Lattice Models with QuTiP: Introduction" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Saumya Biswas (saumyab@uoregon.edu)\n", "\n", "For more information about QuTiP see [http://qutip.org](http://qutip.org)\n", "\n", "We introduce the basic functionality of QuTiPs Lattice1d class of the lattice module." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# About\n", "\n", "The qutip.lattice module enables defining tight binding/lattice models for bosons and fermions on lattices and calculating their fundamental properties specially features arising from the translational symmetry of the lattice. The lattice classes defined are compatible with the rest of the functionalities of QuTiP and can make use of them quite conveniently.\n", "\n", "The module can be used to perform the widely used quantum optics calculations involving unitary/nonunitary evolutions, steadystates, correlation functions for bosons and fermions on a lattice. It also facilitates the traditional condensed matter problem calculations about topology and ground state properties.\n", "\n", "The lattice1d class is well-suited for studying composite systems with multiple orbitals/excitations/spins per site of a crystal(with a unit cell possibly composed of multiple sites) with tensor structures of indices(cell number, site number, degrees of freedom) aligned with the spirit of QuTiP's tensor functionalities." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Single-particle and Multiparticle physics" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "All the functionalities of the Lattice1d class are for sigle particle physics. The multi-particle physics calculations can be performed with a subclass of the Lattice1d class which is initiated with an instance of the Lattice1d class and inherits all the information about the lattice and basis." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "![title](images/latt_1.png)\n", "\n", "## Unitcell structure in the Second Quantized notation\n", "Defining an instance of the Lattice1d class requires formatting the second Quantized Hamiltonian in a unitcell based structure with nearest neighbor coupling only. Howewver, the functionality is limited to single particle physics only in Lattice1d class methods.\n", "\n", "\\begin{eqnarray}\n", "H = \\sum_i \\psi_i^{\\dagger} D \\psi_i + \\sum_{i} \\left( \\psi_i^{\\dagger} T \\psi_{i+1} + \\psi_{i+1}^{\\dagger} T^{\\dagger} \\psi_i \\right) \\label{eq:TB_block} \n", "\\end{eqnarray}\n", "\n", "where $\\psi_i$ is the annihilation operator for a unit cell at coordinate i,$D$ is the cell Hamiltonian of the unit cell, $T$ is the inter cell hopping. Any 1d lattice can be put in the form of the equation above by resolving it into unit cells with coupling limited to the nearest neighbors only." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The Lattice1d class is based on this unit cell and nearest neighbor hopping format. A unit cell can be comprised of one or more sites with one or more orbitals, spins, excitations or any other degrees of freedom. An 1d lattice with next nearest neighbor coupling can be equivalently represented as a 1d lattice with unit cells of larger size limiting the hopping terms to nearest neighbors only." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## How to Define a One Dimensional Lattice" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "from qutip import *\n", "import matplotlib.pyplot as plt\n", "import numpy as np" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Declaring a tight binding chain with a single site unit cell\n", "As a default the instance of Lattice1d class is initialized as an atomic chain with a unit\n", "cell with one atom only. The user need only define the number of cells and the boundary\n", "condition." ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "boundary_condition = \"periodic\"\n", "cells = 3\n", "Periodic_Atom_Chain = Lattice1d(num_cell=cells, boundary = boundary_condition)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The user can call Periodic_Atom_Chain to print all its information." ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Lattice1d object: Number of cells = 3,\n", "Number of sites in the cell = 1,\n", "Degrees of freedom per site = [],\n", "Lattice tensor configuration = [3],\n", "basis_Hamiltonian = Quantum object: dims = [[1], [1]], shape = (1, 1), type = bra\n", "Qobj data =\n", "[[0.]],\n", "inter_hop = [Quantum object: dims = [[1], [1]], shape = (1, 1), type = bra\n", "Qobj data =\n", "[[-1.]]],\n", "cell_tensor_config = [1]\n", "Boundary Condition: Periodic" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "Periodic_Atom_Chain" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "To define a lattice with more than one site per unit cell and one or more degrees of freedom per site, the cell_num_site and cell_site_dof arguments must be used. In a case like this, specifying the intra and inter cell interactions would also be necessary (through the arguments cell_Hamiltonian and inter_hop) in most cases. However, Lattice1d() will initiate the instance with default cell_Hamiltonian and inter_hop\n", "if the user does not input it." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### The use of display_unit_cell() and display_lattice()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The functions display_unit_cell() and display_lattice() can be used at any stage to produce visual symbolizations and elementwise information. " ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAKAAAACPCAYAAAB9NdDOAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4wLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvqOYd8AAAA1lJREFUeJzt3T1uFFkYRuH3Q0gkBC0QASE/CwDDAgicOgAhITbAEiZiI7ACkJAISB14AzYb4Cd0gGZwQEL0EfSF8YzdAretPl1wnsTVt12l26qjulVRVXdHopyjJ6A/mwEKZYBCGaBQBiiUAQplgEIZoFAGKJQBCnWensBJVdXbJFeSvKPnoh9uJvnU3bdPuuPkAsw8vov0JPQfS5+PKQb4Lkm6+x48Dw1VtbPsvt4DCmWAQhmgUAYolAEKZYBCGaBQBiiUAQplgEIZoFAGKJQBCmWAQhmgUAYolAEKZYBCGaBQBiiUAQplgEIZoFAGKJQBCmWAQhmgUAYolAEKZYBCGaBQBiiUAQplgEIZoFAGKJQBCmWAQhmgUAYolAEKZYBCGaBQBjghVbVRVe+r6llVzapqs6o+V9Vf4/uHY+zJoX2OjK0TA5yQ7t5LspfkWXcfdPd2kg9JnlfVxvif7eRHrEfGmJkvZoCQqlyoyuOqPB1/L5zykI+SHIztD0k2F4ytlSm+rnXyqnInyZskVw8N71dlqzu7Sx52luSfQ58vLxhbKwa4YuNK9//4Mj6/qcq17nz9yWEeVdX1sT076zmukkvw6j3I0fi+u5rk/i8c42V3v+ruV/l3iT1Icmlsz5L8vWBsrXgFXL0bp/x+kZdJ7o7t60m2x/ZxY2vDK+DqvV/2+/EUu5H5Ejyrqs3Mw3oynpAzxg66e++4sTP5BWeoupuew4lU1U6SdPc9dibLGfeAH3P8Mryf/NI94Fo5zTnxCrhiI66tzGM7bD/J1tTiOy3vAQHd2a3KtcwfOG5kvuy+/tPiSwwQM2J7Qc+D5hIslAEKZYBCGaBQBiiUAQplgEIZoFAGKJQBCmWAQhmgUAYolAEKZYBCGaBQBiiUAQplgEIZoFAGKJQBCmWAQhmgUAYolAEKZYBCGaBQBiiUAQplgEIZoFAGKJQBCmWAQhmgUAYolAEKZYBCGaBQBiiUAQplgEIZoFBTfFnhzSQXv7+jVmvhVpIvy+w4xQA/0RPQEV+y5HmZ3BvT9XvxHlAoAxTKAIUyQKEMUCgDFMoAhTJAoQxQKAMUygCFMkChDFAoAxTKAIUyQKEMUCgDFMoAhTJAoQxQKAMUygCFMkChDFAoAxTKAIX6Buwlj02SVEhbAAAAAElFTkSuQmCC\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAiAAAACbCAYAAABbGyCDAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4wLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvqOYd8AAABPpJREFUeJzt3L+KHmUYxuH7lYBKiAQEIVglsbQQ7DyHCIoIwV4JNlbxNGwMgmApFpKAFp5BGol6AMY0QsDCwpDC6rUwkj+GJLvZ3DPffNdVLbML+8ADw29n3m/HnDMAAE3PLT0AALB/BAgAUCdAAIA6AQIA1AkQAKBOgAAAdQIEAKgTIABAnQABAOoECABQd2zpAYC7xhhvJzmR5MbSs/BUTie5Nef8bulBYK0ECKzLiSTHlx6Cp2aH8BgCBNblRpLMOa8uPQiHN8ZYegRYPWdAAIA6AQIA1AkQAKBOgAAAdQIEAKgTIABAnQABAOoECABQJ0AAgDoBAgDUCRAAoE6AAAB1AgQAqBMgAECdAAEA6gQIAFAnQACAOgECANQJEACgToAAAHUCBACoEyAAQJ0AAQDqBAgAUCdAAIA6AQIA1AkQAKBOgAAAdQIEAKgTIABAnQABAOoECABQJ0AAgDoBAgDUCRAAoE6AAAB1AgQAqBMgAEDdmHMuPQOHNMa4mOTlJD8m+TLJp0lOJjk75/xoydl4cg/s8askl5L8GXvcKfa4De6rPQJkh40x3ptzfnvn6+tzzrMPXmf9Htjj70nen3NetcfdYo/b4L7a4xXMbvvpgNdZJ3vcBnvcBnssESA7bM7520Gus072uA32uA322CNAAIA6AQIA1AkQAKBOgOy4McbJMcaHSc6MMS6OMc4sPRMHd88eX03ygT3uJnvcBvfVDh/DhRUZY7yVJHPOq0vPwuHZIzyeJyAAQJ0AAQDqBAgAUCdAAIC6Y0sPAE9ijDyf5N0kZ5NcT3J5zvy97FQclD1ugz1yFAQIqzdG3kzyfZJT91y+OUbOzZlrC43FAdnjNtgjR8XHcFm1O39p3cj9N7v/3Exyekt/eW3145v2uA37tkeerf14AjLGZ0neWHoMDu7zXHjl41x62M0uSU5dyoWfM774ozrUM/RD8lKSZIy/Fh7lSNnjNuzbHvfIL5nzk/YvdQiVVfs1r734mO+/0JqFw7PHbbBHjpJXMKzaGDmf5OtH/Mj5OfNNa55nbcOP7u1xA/ZtjzxbnoCwdpfz77vlh7mZ5EpxFg7PHrfBHjkyAoRVu3Og7Vz+f9O7meScA2+7wR63wR45SvtxCJWdNmeujZHTSd7J3f87cMXNbrfY4zbYI0fFGRBYka2eHdg39giP5xUMAFAnQACAOgECANQJEACgToAAAHUCBACoEyAAQJ0AAQDqBAgAUCdAAIA6AQIA1AkQAKBOgAAAdQIEAKgTIABAnQABAOoECABQJ0AAgDoBAgDUCRAAoE6AAAB1AgQAqBMgAECdAAEA6gQIAFAnQACAOgECANQJEACgToAAAHUCBACoEyAAQJ0AAQDqBAgAUCdAAIA6AQIA1AkQAKBOgAAAdQIEAKgTIABAnQABAOoECABQJ0AAgDoBAgDUCRAAoE6AAAB1AgQAqBMgAECdAAEA6gQIAFAnQACAumNLDwDc53SS42OMpefg6bye5HaSq0sPAmslQGBdbi09AEfiduwSHmnMOZeeAQDYM86AAAB1AgQAqBMgAECdAAEA6gQIAFAnQACAOgECANQJEACgToAAAHUCBACoEyAAQJ0AAQDqBAgAUCdAAIA6AQIA1AkQAKBOgAAAdQIEAKgTIABAnQABAOoECABQJ0AAgDoBAgDUCRAAoE6AAAB1AgQAqBMgAEDdPwl6UIT7nAndAAAAAElFTkSuQmCC\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "H = Periodic_Atom_Chain.display_unit_cell(label_on = True)\n", "T = Periodic_Atom_Chain.display_lattice()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The user can review the attribute values of H and T from the retuned Qobjs." ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Quantum object: dims = [[1], [1]], shape = (1, 1), type = bra\n", "Qobj data =\n", "[[0.]]\n", "Quantum object: dims = [[1], [1]], shape = (1, 1), type = bra\n", "Qobj data =\n", "[[-1.]]\n" ] } ], "source": [ "print(H[0][0])\n", "print(T)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Multiple site per unitcell and multiple degrees of freedom per site " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Specifying cell_num_site enables choosing multiple sites for a unit call and any combination of degrees of freedom can be chosen for each site with cell_site_dof." ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [], "source": [ "boundary_condition = \"periodic\"\n", "cells = 3\n", "cell_num_site = 2\n", "cell_site_dof = [2,3] # It could be 2 orbitals and 3 spins per sites or\n", " # any other combination of such degrees of freedom\n", "lattice_3223 = Lattice1d(num_cell=cells, boundary = boundary_condition,\n", " cell_num_site = cell_num_site, cell_site_dof = cell_site_dof)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### The use of cell_structures() " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "There is an aide function that help the user form the cell_Hamiltonian and inter_hop\n", "arguments namely cell_structures()." ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [], "source": [ "val_s = ['site0', 'site1', 'site2']\n", "val_t = [' orb0', ' orb1']\n", "(cell_H_form,inter_cell_T_form,cell_H,inter_cell_T) = cell_structures( val_s, val_t)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The cell_structure() function returns two list of lists cell_H_form and inter_cell_T_form\n", "that prints str s that can guide the user enter the nonzero elements at cell_H \n", "and inter_cell_T which are np.zeros with the appropriate size. The procedure would\n", "be to check a certain element in cell_H_form and insert the value for cell_H and so on." ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "''" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "cell_H_form[0][5]" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [], "source": [ "cell_H[0][5] = -1-0.5j # Calculated value from hand calculation\n", "cell_H[5][0] = -1+0.5j # keeping it Hermitian" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Similarly, we set more elements to non-zero values." ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "''" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" } ], "source": [ "cell_H_form[2][5]" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [], "source": [ "cell_H[2][5] = -1+0.25j # Calculated value from hand calculation\n", "cell_H[5][2] = -1-0.25j # keeping it Hermitian" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The user would have to enter all the nonzero elements in cell_H and inter_cell_T\n", "and then convert them into Qobjs and use them in declaring the instance of Lattice_1d." ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "''" ] }, "execution_count": 12, "metadata": {}, "output_type": "execute_result" } ], "source": [ "inter_cell_T_form[5][0]" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [], "source": [ "inter_cell_T[5][0] = -0.5\n", "inter_cell_T[0][5] = -0.5" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [], "source": [ "cell_H = Qobj(cell_H)\n", "inter_cell_T = Qobj(inter_cell_T)\n", "lattice_324 = Lattice1d(num_cell=3, boundary = \"periodic\", cell_num_site = 3, cell_site_dof = [2], Hamiltonian_of_cell = cell_H, inter_hop = inter_cell_T )" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "cell_cite_dof can take care of composite degrees of freedom such as orbits, spins and/or excitations. For example, if each site has 4 orbitals and 2 spins, we set cell_site_dof = [4,2] defines that lattice. With the aid of the Lattice1d.basis() operator we can access particles localized at specific cell,site,orbitals and spin.\n", "Valid inputs for cell_site_dof are one int(e.g. 4) or a list of int's(e.g. [4,2]). A single dof can be entered either as an int or a list with that int. So cell_site_dof = [4] and cell_site_dof = 4 are the same. " ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" }, { "data": { "image/png": "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NHCYV35f3qimzmqbk9jRcxDwQ2IUWFtsM1MB0qPSHPlOwFeBR4jtZze05Y3RapsX2JmYn32YOAjqobxRDV6JD5c+aevqGGI04QEiR25pUY68i4hvf+A+Yj1QcWsTCs+RWYlj6o8AfkZM393WllGFtLtlV6L4uBM43Ct/PG9U0kcFSI9LIwyfJt4g5wFOBc7J1f3PalsZ2BvYltg6+d2S+1SU/HDpk04V3plozjQHkSPnpUPMmo7FgFWJHNmK2N1ysld+T9OxjJQuyZG5iGmNsYAROXK+V/63DLEYsS1/b2Az4EdEjjzQdCwybSpABJj0Q7sa8UO7NfBz4uZ+VSc7RqaRmDWI0zi3AOYk1qmc7ZX/sVPXbUo3PFz6pBxZi8iRzYk3yr4c6Vjb+zQSsxb9OTIL/TnyfKeu25QuzJF1iRzZFLidtM27k7010kjMOvTnyBtEEXSuV/6XTl1XhkcFiLyF1fZ2YCPiB3kz4FngDmKY+z7gkaHukEhTKysDq6SP0enzT0wf97dliH8kdNPDZaC0vXtjIkc+BvyOKEj6cuTRoe6QSNuC+/JjFPDfwG/pz5EH2zLEPxK6OEfmATYhcmRT4Ckmz5HHhrqQPE2/vTlHngCuInLkoW7KkW6lAkSmKY1QrAasTv8P/CLAk8QCxWfTP/9IbHv8N7FFdhbgHcACwPvSPxcC3g08SP9N6PZuPpOjWx8uA6URitWZPEcWYuo58jr9OTIPk+fIwsB8RI7cS3+O/G9zX1GzeiRHZgXWJO4lfTmyAFPOkX/SnyOzMuUcmZdYl9SXI7epe2l5VIDIoKUtsYsz+U3hvcBsxA3jDaIQeYW4sfTdXP4PeKqE7bMjpRceLlOSRkjenCPz89YceZn+/HiW/hzpmlGw6enhHJmHKefIrOnjP0Qh8hJvzZGneylHupUKEJEO6tWHi8w45Yj0Kh1GJyIiIo1TASIiIiKNUwEiIiIijVMBIiIiIo1TASIiIiKNUwEiIiIijVMBIiIiIo1TASIiIiKNUwEiIiIijVMBIiIiIo1TASIiIiKNUwEiIiIijVMBIiIiIo1TASIiIiKNUwEiIiIijVMBIiIiIo1TASIiIiKNUwEiIiIijVMBIiIiIo1TASIiIiKNmyV3ACJdbjFgLjPLHYe014eAV4C7cgci0iQVICKd9VLuAKT1XkF5Ij3I3D13DCIiItJjtAZEREREGqcCRERERBqnAkREREQapwJEREREGqcCRERERBqnAkREREQapwJEREREGqcCRERERBqnAkREREQapwJEREREGqcCRERERBqnAkREREQapwJEREREGqcCRERERBqnAkREREQapwJEREREGqcCRERERBqnAkREREQapwJEREREGqcCRERERBqnAkREREQapwJEREREGqcCRERERBqnAkREREQapwJEREREGqcCRERERBqnAkREREQapwJEREREGvf/FAmOLogJH9oAAAAASUVORK5CYII=\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "H = lattice_324.display_unit_cell(label_on = True)\n", "T = lattice_324.display_lattice()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The labels of the diagrams can be read off from the returned H and T Qobjs. For example, $H_{12}$ can be read off as follows." ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [ { "data": { "text/latex": [ "Quantum object: dims = [[2], [2]], shape = (2, 2), type = oper, isherm = False\\begin{equation*}\\left(\\begin{array}{*{11}c}0.0 & (-1.0+0.250j)\\\\0.0 & 0.0\\\\\\end{array}\\right)\\end{equation*}" ], "text/plain": [ "Quantum object: dims = [[2], [2]], shape = (2, 2), type = oper, isherm = False\n", "Qobj data =\n", "[[ 0.+0.j -1.+0.25j]\n", " [ 0.+0.j 0.+0.j ]]" ] }, "execution_count": 16, "metadata": {}, "output_type": "execute_result" } ], "source": [ "H[1][2]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Basis function: ket vector initialized at specific cell, site, dof:\n", "\n", "The basis() function enables the user to initialize a ket vector at a specific cell,\n", "site and dof." ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Quantum object: dims = [[1, 1, 1, 1], [3, 2, 4, 2]], shape = (1, 48), type = bra\n", "Qobj data =\n", "[[0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 1. 0. 0.\n", " 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.]]\n" ] } ], "source": [ "lattice_3224 = Lattice1d(num_cell=3, boundary = \"periodic\", \\\n", " cell_num_site = 2, cell_site_dof = [4,2])\n", "psi0 = lattice_3224.basis(1,0,[2,1])\n", "print( psi0.dag() ) # Because plotting the dag() takes up less space" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Position Operator\n", "\n", "Calling the position operator, x() returns an operator in matrix form that gives the\n", "cell number for all the dofs present on the diagonal elements. The length of the unit\n", "cell is always considered 1." ] }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [ { "data": { "text/latex": [ "Quantum object: dims = [[4, 2], [4, 2]], shape = (8, 8), type = oper, isherm = True\\begin{equation*}\\left(\\begin{array}{*{11}c}0.0 & 0.0 & 0.0 & 0.0 & 0.0 & 0.0 & 0.0 & 0.0\\\\0.0 & 0.0 & 0.0 & 0.0 & 0.0 & 0.0 & 0.0 & 0.0\\\\0.0 & 0.0 & 1.0 & 0.0 & 0.0 & 0.0 & 0.0 & 0.0\\\\0.0 & 0.0 & 0.0 & 1.0 & 0.0 & 0.0 & 0.0 & 0.0\\\\0.0 & 0.0 & 0.0 & 0.0 & 2.0 & 0.0 & 0.0 & 0.0\\\\0.0 & 0.0 & 0.0 & 0.0 & 0.0 & 2.0 & 0.0 & 0.0\\\\0.0 & 0.0 & 0.0 & 0.0 & 0.0 & 0.0 & 3.0 & 0.0\\\\0.0 & 0.0 & 0.0 & 0.0 & 0.0 & 0.0 & 0.0 & 3.0\\\\\\end{array}\\right)\\end{equation*}" ], "text/plain": [ "Quantum object: dims = [[4, 2], [4, 2]], shape = (8, 8), type = oper, isherm = True\n", "Qobj data =\n", "[[0. 0. 0. 0. 0. 0. 0. 0.]\n", " [0. 0. 0. 0. 0. 0. 0. 0.]\n", " [0. 0. 1. 0. 0. 0. 0. 0.]\n", " [0. 0. 0. 1. 0. 0. 0. 0.]\n", " [0. 0. 0. 0. 2. 0. 0. 0.]\n", " [0. 0. 0. 0. 0. 2. 0. 0.]\n", " [0. 0. 0. 0. 0. 0. 3. 0.]\n", " [0. 0. 0. 0. 0. 0. 0. 3.]]" ] }, "execution_count": 18, "metadata": {}, "output_type": "execute_result" } ], "source": [ "lattice_412 = Lattice1d(num_cell=4, boundary = \"periodic\", cell_num_site = 1, cell_site_dof = [2])\n", "lattice_412.x()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### The crystal momentum operator" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The crystal momentum operator can be produced with the k() method." ] }, { "cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Quantum object: dims = [[4], [4]], shape = (4, 4), type = oper, isherm = True\n", "Qobj data =\n", "[[ 0.78539816+0.j -0.78539816-0.78539816j 0.78539816+0.j\n", " -0.78539816+0.78539816j]\n", " [-0.78539816+0.78539816j 0.78539816+0.j -0.78539816-0.78539816j\n", " 0.78539816+0.j ]\n", " [ 0.78539816+0.j -0.78539816+0.78539816j 0.78539816+0.j\n", " -0.78539816-0.78539816j]\n", " [-0.78539816-0.78539816j 0.78539816+0.j -0.78539816+0.78539816j\n", " 0.78539816+0.j ]]\n" ] } ], "source": [ "lattice_411 = Lattice1d(num_cell=4, boundary = \"periodic\", cell_num_site = 1, cell_site_dof = [1])\n", "k = lattice_411.k()\n", "print(k)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Distribute A Operator\n", "The operator_at_cells() function distributes a user input operator on cells specified \n", "in a list and identity operator on the rest.\n", "The operator distribute_operator() distributes it over all the cells indiscriinately." ] }, { "cell_type": "code", "execution_count": 20, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Quantum object: dims = [[4, 2], [4, 2]], shape = (8, 8), type = oper, isherm = True\n", "Qobj data =\n", "[[0. 0. 0. 0. 0. 0. 0. 0.]\n", " [0. 0. 0. 0. 0. 0. 0. 0.]\n", " [0. 0. 0. 1. 0. 0. 0. 0.]\n", " [0. 0. 1. 0. 0. 0. 0. 0.]\n", " [0. 0. 0. 0. 0. 1. 0. 0.]\n", " [0. 0. 0. 0. 1. 0. 0. 0.]\n", " [0. 0. 0. 0. 0. 0. 0. 0.]\n", " [0. 0. 0. 0. 0. 0. 0. 0.]]\n", "Quantum object: dims = [[4, 2], [4, 2]], shape = (8, 8), type = oper, isherm = True\n", "Qobj data =\n", "[[0. 1. 0. 0. 0. 0. 0. 0.]\n", " [1. 0. 0. 0. 0. 0. 0. 0.]\n", " [0. 0. 0. 1. 0. 0. 0. 0.]\n", " [0. 0. 1. 0. 0. 0. 0. 0.]\n", " [0. 0. 0. 0. 0. 1. 0. 0.]\n", " [0. 0. 0. 0. 1. 0. 0. 0.]\n", " [0. 0. 0. 0. 0. 0. 0. 1.]\n", " [0. 0. 0. 0. 0. 0. 1. 0.]]\n" ] } ], "source": [ "lattice_412 = Lattice1d(num_cell=4, boundary = \"periodic\", cell_num_site = 1, cell_site_dof = [2])\n", "op = Qobj(np.array([[0,1],[1,0]]) )\n", "op_sp = lattice_412.operator_at_cells(op, cells = [1,2])\n", "op_all = lattice_412.distribute_operator(op)\n", "print(op_sp)\n", "print(op_all)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Hamiltonian:\n", "The Hamiltoian() function returns the Hamiltonian for the lattice.\n" ] }, { "cell_type": "code", "execution_count": 21, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Quantum object: dims = [[8], [8]], shape = (8, 8), type = oper, isherm = True\n", "Qobj data =\n", "[[ 0. -1. 0. 0. 0. 0. 0. -1.]\n", " [-1. 0. -1. 0. 0. 0. 0. 0.]\n", " [ 0. -1. 0. -1. 0. 0. 0. 0.]\n", " [ 0. 0. -1. 0. -1. 0. 0. 0.]\n", " [ 0. 0. 0. -1. 0. -1. 0. 0.]\n", " [ 0. 0. 0. 0. -1. 0. -1. 0.]\n", " [ 0. 0. 0. 0. 0. -1. 0. -1.]\n", " [-1. 0. 0. 0. 0. 0. -1. 0.]]\n" ] } ], "source": [ "boundary_condition = \"periodic\"\n", "cells = 8\n", "Periodic_Atom_Chain = Lattice1d(num_cell=cells, boundary = boundary_condition)\n", "Hamt = Periodic_Atom_Chain.Hamiltonian()\n", "print(Hamt)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Dispersion Relation:\n", "plot_dispersion() plots the valid (same as the number of unit cells) points in k-space\n", "over the dispersion relation of an infinite crystal.\n", "\n", "get_dispersion() returns the tuple of two np.ndarrays (knxA,val_kns). knxA has the valid k-values in it and val_kns has the band energies at those k-values. The length of \n", "the unit cell is always set to 1." ] }, { "cell_type": "code", "execution_count": 22, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "[[-3.14159265]\n", " [-2.35619449]\n", " [-1.57079633]\n", " [-0.78539816]\n", " [ 0. ]\n", " [ 0.78539816]\n", " [ 1.57079633]\n", " [ 2.35619449]]\n", "[[ 2. 1.41421356 0. -1.41421356 -2. -1.41421356\n", " 0. 1.41421356]]\n" ] } ], "source": [ "Periodic_Atom_Chain.plot_dispersion()\n", "[knxA,val_kns] = Periodic_Atom_Chain.get_dispersion()\n", "print(knxA)\n", "print(val_kns)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Unitary evolution a Gaussian Wavepacket with mesolve" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### With no initial momentum" ] }, { "cell_type": "code", "execution_count": 23, "metadata": {}, "outputs": [], "source": [ "num_cellN = 51\n", "discrete_space_periodic = Lattice1d(num_cell=num_cellN, boundary = \"periodic\", cell_num_site = 1,\n", " cell_site_dof = [1])\n", "H0 = discrete_space_periodic.Hamiltonian()\n", "xs = np.linspace(0, num_cellN-1, num_cellN)" ] }, { "cell_type": "code", "execution_count": 24, "metadata": {}, "outputs": [], "source": [ "sig = 3 # A standard deviation of 3\n", "xm = num_cellN //2 + 15\n", "psi0 = 1/np.sqrt(2*np.pi*sig**2) * np.exp(-(xs-xm)**2/2/sig/sig)\n", "psi0 = Qobj(np.sqrt(psi0))" ] }, { "cell_type": "code", "execution_count": 25, "metadata": {}, "outputs": [], "source": [ "tlist = np.linspace(0,24,801)\n", "options = Options(atol=1e-12)\n", "options.store_states = True\n", "states_Gauss_0 = mesolve(H0, psi0, tlist, [], [], options=options)" ] }, { "cell_type": "code", "execution_count": 26, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYsAAAENCAYAAAD+CUlOAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4wLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvqOYd8AAAIABJREFUeJzs3Xd4VFX6wPHvmWTSeyekkQQIHUJABUWBoChiAUQFV2QXQV11dVfFuupPV0XXdXVdS7Aiq4IoCoogAZWilBB6SSchCSG9t0nm/P6YmTAhdSCd83meeabcc+89I4/z5rT3CCkliqIoitIaTXdXQFEURen5VLBQFEVR2qSChaIoitImFSwURVGUNqlgoSiKorRJBQtFURSlTSpYKIqiKG1SwUJRFEVpkwoWiqIoSpusu7sCHcXLy0uGhIR0dzUURVF6lX379uVLKb3bKtdngkVISAhxcXHdXQ1FUZReRQiR3p5yqhtKURRFaZMKFoqiKEqbVLBQFEVR2tRnxiwURVG6kk6nIzMzk+rq6u6uSrvY2dkREBCAVqs9r/NVsFAURTkPmZmZODs7ExISghCiu6vTKiklBQUFZGZmMmDAgPO6huqGUhRFOQ/V1dV4enr2+EABIITA09PzglpBKlgoiqKcp94QKEwutK4qWCiK0ifU1NWzclc6uaW9YwyhM6xZs4bY2FhiYmI6/NoqWCiK0uuVVutY8NEenv72CDe/8xvJuWXdXaUusWbNmobX8fHxAERHRzd631FUsFAUpVfLKalm7nu/E3eyiL9NG0RNnZ7Z7/7O3pOF3V21TlVcXMzmzZsb3q9atQo3NzcAQkNDiY2N7dD7qdlQiqL0Wolnyrjroz2UVtfx8cJxXDHQm5vG9GfBR3uY/8Fu3rptNNOH9+v0ejy//ijHsks79JpD/V14duawFo/HxcURFxfHmjVrmDNnDsXFxXh4eDQcLygo6ND6qJaFoii90u7UAua8+xs6vWTVkku5YqAhF16ghwNr7p3AMH8X7v1fPJ/+drJ7K9pJoqOj8fDwYM6cOV1yvy5rWQgh5gDFQKiUssnoi9nxW6SUS4yfLZNSLhVCLG7uHEVRLk4bDp/moS8PEOhhzycLxxPo4dDouIejDZ8vupQHvtjPs+uOcrqkmseuGYxG0zmzl1prAXQVNzc3CgsNXW/FxcV4enp26PW7pGUhhIgEkFLGmr83Ox4NTDMeDzU7vlgIkQKkdkU9FUXp+Q5nlvDnz+MZEeDK1/dOaBIoTOxtrHjvjkjmXRLEe7+m8OnvJ7u0nl3BNEYRHx/PrbfeSmqq4acyNTW1YaC7o3RVN9StGFoNYPjhb/QtpJSxptYE4CGlNA3j3y2lDDMFGUVRlJW70rHXWvHxwnG4Odi0WtbaSsM/bhpOZJAbn+1KR0rZRbXsGqGhoaxZs4bQ0FAiIw1/Y8fGxuLm5tbwvqN0VTeUG2A+NaFJ+0gI4QYsBl42+9jD2OqIlFK+2rlVVBSlpyur1rH+UDYzR/rjYte+HEdCCG4fH8Sjaw6xJ62QS0I7tnumOy1btqzR+8WLF3favXrMALeUstgYEJYIIUKNn8UYWxWexqDRiBBisRAiTggRl5eX19VVVhSli607mE1lbT23jQ+06LwZI/vhbGvNF3syOqlmfV9XBYtiwDSnyw1oNKdLCBFpNk4RD8wxBgLTMH8BEHruRY3BJEpKGeXt3eaugIqi9HJf7jlFhJ8zowPdLDrPwcaam8b0Z8ORHIorazupdn1bVwWLVZz9sQ8FTAPdpn/xaBoHk1TjwzRW4QmoPVMV5SJ2JKuEw1kl3D4+6LzyHN02PpDaOj1r92d1Qu36vi4JFqYBa2NXUrHZAPYW43MMhllQi43H1xi7n6KNrYsCs3MURbkIfbEnA1trDTeN7n9e5w/zd2VUgCtf7MnocwPdXaHLxixM4w/m6yWklGONz8XG4zFSyqVmx9cYH2pwW1EuYpW1dXx3IJsZI/vh6nB+m/cA3DY+iMQz5cRnFLdduJdaunRp24XOQ48Z4FYURWnJ9wdPU15Tx+3jgy7oOjNH+eNoY9VnBrrNEwkCxMTENPmso6hgoShKj/fF3gzCfZyICnZvuVBROsR9BMWnWiziZGvNDaP9+f5QNqXVuk6oadc5N5EgGKbOhoY2mQvUIVSwUBSlRzuRU8r+jGJuGxfYdGC7XgfHvoPPZsGbo+D7h+HdCXDgc2hhXOK2cUFU6/R8dyC7C2rfecwTCXYFlXVWUZQe7cs9p7Cx0jArMuDshwUpEP+pIShU5IFLf7jyMQibArHPw7f3wvHvYeab4NR4Wv3IAFeG9nPhi90Z3HHJ+c2sauLHxyHn8IVfx5zfCLj2lRYPd3UiQdWyUBSlx6rW1fNNfCbTh/vh4WhM7ZH+O7w9Dn57GwLGw7zV8NBhmPwkBF0Kd30PV78IybHwziVwbF2jaxpWdAdy7HQph7NKuuFb9U6qZaEoSo/145HTlFbXnV2xrdfDpifB2Q8WxYKLf9OTNFYw4QEIj4a1S2D1H2DkrXDdP8HOBYAbx/TnHxuO88WeU4wMsGyBX7NaaQF0JvNEgh2dC+pcqmWhKEqP9cXuU4R4OnCZKZ/T0W8gOx6mPN18oDDnMwQWbYErH4fDa+CbuxvGMVzstFw/0p91B7KoqKnr5G/RecwTCYJhdlRcXJzag1tRlItHSl45e04WcptpxXZdDWx5HnxHGFoK7WGlhclPwPSXIXEj7Hqn4dDt44OoqK1n/cHeO9C9bNky5syZ09DCmDNnDkVFRZ2SUFAFC0VReqQtx88AnF2xvScGijPg6hcMXU2WGL8YIq6Hzc9C1j4AIoPcCPJwIPZ4bkdWu89SwUJRlB5pR3IBA32c8HO1g8pC2PaaYRwibLLlFxMCbviPYazjq4VQXYIQgssHerErtYC6en3Hf4E+RgULRVF6nJq6evakFTAx3MvwwbZ/Qk0ZTHvh/C/q4AGzP4SSTFj/F5CSy8O9KK+p42CmmhXVFhUsFEXpceLTi6nW6bk83AsKUw1dUKPng+/QC7tw0CWGwfGja2Hfx1wW6okQsDM5v2Mq3oepYKEoSo+zMzkfK43gklAP2PJ/xoHqpzrm4hMfMize2/gE7uVJDPd3ZYcKFm1SwUJRlB5nR3I+owPdcM47YGgFTHgAXPp1zMU1Grg5Buxc4au7uGqAI/szinr1FNquoIKFoig9SkmVjkOZxUwM84SfngZHH5jwYMfexMkbZi2H/CTmVn6Jrl6y52Rhx96jG8TExBATE9MpacpVsFAUpUfZlVqAXsIMh2NwapchjYetU8ffKPRKGHwtARnfYmcNO5N6X1eUeRLB2NhYoqOjWbx4MampqcTGxrZypuVUsFAUpUfZmZyPg40V4dnrwN7dMLDdWUbdhijP4S6/k71u3OLcFOXmASI0NJTU1NQOvZ/KDaUoSo+yIzmfK4PtsEr8EUbPA2ubzrvZoOlg58oszXbeywkhr6wGb2dbiy+zbM8yThSe6NCqRXhEsHR8y91J5inK58yZ02jVdnx8PLfe2s5V7u3UZS0LIcQcIUS0cZ/t1o6/395zFEXpW7KLq0jNq+BW54NQVwUj53buDa1tYfhswgt+xolKfkvpPa2LllKUm5IKdnRiwS5pWQghIgGklLFCiMVCiEgpZbzZ8WhgmpRyiRBiqal8a+coitL3mNY7jCvdDG5BEHhJ59901O1o4j7iZrt97EwexI2m9CIWaK0F0NViY2NZtmxZh1+3q1oWtwKmHdJTgWjzg1LKWCnlEuNbD2NQaPUcRVH6np3J+Qx2rMAha6chWWBHbEzUloBx4BHGHXa/syMpH9nCDns9kXmKcjDMhnrssccAeu0AtxtgPi/N89wCQgg3IcRjwMvtPUdRlL5DSsmO5ALu8TyAkHoY0cldUCZCwKjbGVx9AFFyipMFlV1z3w5gnqI8NjaWpUuXEhYWhrt7K3uVn6ceM8AtpSwGXhVCbBZCtKu7yTiWsRggKCioM6unKEonSzxTTn55DVc6/gz9RoP3oK67+ci58POL3GS1k53Jkxng5dh1974A5t1N0dHRFBUVddq9uqplUQx4GF+7AQXmB4UQkWbjFPHAnLbOAZBSxkgpo6SUUd7e3uceVhSlF9mRnE+YyMKj5Fj796voKO7ByOCJ3Gqzg51JeV17716iq4LFKiDU+DoUiAVD15Pxs2gaB4bUls5RFKVv2pmcz0KnPSA0MHy2RefmVOTw/sH3mffDPP4V9y/OVJyx+P5i1O0EyWzKUnZTr+894xZdpUuChWkWk3HWU7HZrKYtxucYINTYrVQspVzTyjmKovQxuno9u1LzmSF2QOhV4Ozb9jl6HVvSt3Bf7H1c8/U1vH3gbXR6HZ8e+5Tp30zn6R1Pk1yU3P5KDL2Reo0tV9f9zNFslbL8XF02ZiGlbLIprJRyrPG5GEPAaPMcRVH6ngOnihmiO4675jSMfK7VspW6SmIOxbA2eS2F1YX42Pvwp+F/4uaBNxPoHEhmWSYrjq1gbdJavkv5jkkBk7hr2F1E+UYZtmdtiZ0LukEzmHn8J1YlZjMywK3lshehHjPArSjKxWtHUj6zrHcgtQ6IiOtbLFdSU8L9W+7nUP4hrgq4itmDZjPBfwLWmrM/ZQHOATx5yZPcN+o+vkz4ks+Pf84fN/2RGaEzeO6y57Cztmvx+nZj52N34huqjv4IUy5w74w+RuWGUhSl2+1OOs1M6z2IiBktJg3Mr8rnj5v+yNGCo/zzyn/y5pQ3mRQwqVGgMOdm58Y9o+7hpzk/cd+o+9iQuoG7Nt5FTkVOyxUJvYoyrScj8jZQravvgG/WtdasWUNsbCxLlixpu7CFVLBQFKVblVXrcMn6FRdZ1uLaiqzyLBb8uIBTZad4e+rbTAue1u7r21nbce/oe3lrylucLD3Jbd/fxoHcA80XtrKmKOwmrhT7OXAi5Xy+Tpc6N+vs5s2biY6OJjU1tWGhXkdRwUJRlG61J62QGzQ70Nl6QNjkJsdTilO4c8OdFNcUs/zq5Uzwn3Be97kq8Cr+d93/cNQ6snDTQr5J+qbZcl4TF6AV9ZTFfXle9+kq52adjY6O5v33Dan1CgsLe2duKEVRlJYcTM7gz5p4xIiFhu1TzRzJP8K9sfdirbHm4+kfM8j9whbqhbmF8fmMz3ls22M8+9uzJBQm8Mi4R9Bqzt7XIXAU6VbB+GXHAn9v13VzXnqJmuMdm3XWdkgEfk8+2eLxc7POgiGAxMTE8MQTT3RoXeA8WhZCiEeFEIuMr6d2eI0URbmo2Cb/iK3QYT268UK84wXH+dOmP+GodWTFtSsuOFCYuNq68t+p/+XOoXfy+YnPWbanadK9LO8rGFx7hNqKnjuFtrmss25ubjz22GO8//773bufhRDiFSAFY84mKeUWIcQsKWXz7TlFUZRW6Or1hBdvp9TGG5f+Yxs+r9RV8ti2x3CycWLFtSvwcfDp0Ptaa6x5dNyj6KWelcdXcn3o9Yz2Gd1w3GpgNDY5K0nZv4mwy9vOUdVaC6CrmMYoTOnJ16xZ05BUsCNY2rLYK6VcDpiH2+KWCiuKorTmRGY+EzlEUcCURhlmX4t7jfTSdF6+/OUODxTmHhjzAH6Ofjz/+/Po9LqGz0Mip1Ihbak5/lOn3bsjmGedjY2NpbDQkHu1uLiY0NDQ1k61mKXBwpTK0HwtfMeOoiiKctHIOrgFJ1GN04gZDZ9tSd/CmsQ1LBy+kPH9xnfq/R20Djw5/kmSi5NZcXRFw+e+7i7EW43E58x26MEpy82zzpr23o6JicHNza3JpkgXytIB7jQhxE9AkRDiFiAK6Dm7fiiK0qvYpm2mBhs8hxumwuZW5vLs788y1HMo94++v0vqMDloMlODpvLewfe4JuQaApwDAMj2upwrct+AghTwCu+Suljq3E2OzLdW7WgWtSyklFuAJUAchmR/c6WUWzujYoqi9HFSMqh4B4kOkWDjgF7qeXLHk9TW1/LKFa+gPWdmVGd6fPzjaISGF3e/2LD5kWagYf5OyeEfu6wePZnFs6GklGlSyteMj7TOqJSiKH1ffvoR+sszlAROAeCzY5+x+/Rulo5bygDXAV1aFz9HPx4Y8wA7s3ayKX0TAIOHjCBF34+aE5u6tC49lUXBQgjhKoRYLYTQCyHqhRDvdlbFFEXp2/L3fQeA66jrOV5wnH/H/5upQVOZNXBWt9Tn9ojbGeo5lGV7llFaW8qQfi7sZBTuubtBV9UtdepJLG1ZPAGsklJqpJRWQKwQ4uW2TlIURTmX/clYjstggkKDWbp9KR62Hjx32XOtZ4btRFYaK/5+2d8prC7krfi30FppyPSciFbWQvrObqlTT3I+U2e/Nr0xvo7r2CopitLnVRURUHaQo06X8XnCZ6SVpPGPK/6Bm133pgUf5jmMeRHzWJ2wmgO5B9CGXUGN1FKXuLntk3uQV199tcOvaWmwaG4OWcNnQoiQC6mMoigXB13CZqzQkx94OSuPrWRy4GQu7Xdpd1cLgPvH3I+3gzcv7X6JESG+7NZHoEvomcHCPJGgiSmhYEezNFiME0IsEkLMMj4WAdOMr2cD73d4DRVF6XPKDn1PvnQh1TOP0tpSlozs+JTa58tR68hDkQ9xvPA4RZrd/KIfjX1JChSld3fVGjk3kWBnszRY3AKEAeONj3AMq7nHA+MAzw6tnaIofU99HQ4ZP/OTHMlv+WuZ2H8iw7yGdXetGpkROoOhnkP56Ng7nHA2rjtO2dL6SV3MPJGgSXx8PNHR0Z1yP0sX5S0xrrVolhBiTCvH5mBIDRLa3Hapxv23AcKklEuNny2TUi4VQixWW6wqSh+RuQe7ulLWeXpQUpvBPSPvuaDLSSlBrzc8AKG98PUZGqHhkahH+OOmP+IYkEl2sjf9kmMRUX9stvz21Ynknyq/4Pua8wp04oq5LSdPbC6RoCndR2ewKFicGyiEEFOMn281Pu9v7jwhRKTxeKwQYrEQIlJKGW92PBqIlVKmCiG+EkJESyljgcXGINNz2qiKolyYxI1UCCuS3dIY7ze+UQK/ttQVFVH44YcUrf4KfWUl1Nc3Scdh5e6ONigQm4BAtIEB2AQGYhMUhP2oUQgbm3bfa5zfOK4KvIrfsr7nezmURSm/Iupqwbr91+hKndmqgPPYz8IYIEwZqgSG3FBtreK+FTB1rqUC0YD5Nk6hxkeM8bjp+ndLKZuO4CiK0mvpjv/Ivx1CqaGk3WMV9aWlFH7yKYWffoq+shLn6ddgExSMsNKA0IBGIKyskHo9dTln0GWeourQIUo3bjQEFEAbEID3gw/gMmMGwsqqXff969i/si3zZla7CxYXl0PmHgi5vEm51loAnck8kWBqaiqpqakUFhZSWFhIfHx8h26AZGmK8kcxjFl4YPhRdwNWt+NUN4xpzY0ajW2c08UUCawyvvYwtjoipZQdPxdMUZSuVZgGhYmsCxjIQNfhjPMb12pxfUUFhZ+tpOCjj9CXluI8fTre9/8Z2/D25WqSOh26nByqjx0n//33yH5sKQUffIj3ww/hdNVVba7pGOA6gFsGzmFVwlckVdgyMDm22WDRXUyJBKOjoxsCQ0xMDMXFHZ8M3NIB7mIp5T0YFuY9bnzdYYzdVfGmLiopZYyxO8rTGDTOLb9YCBEnhIjLy8vryKooitIZkn5ivZMjldoaHhx7X4s/1lKvp+irr0iedjV5//43DmPHMmDtNwT8+412BwowjF/YBAbics3VDFizhv7/eh19TTWZ995H+rz5VMa1vUzsvjH3ocGWFzz7Q3Jsu+/dFZYtW8acOXMaWhhgSCaYkpLS4duqWhosUoUQLtBoTUV7VtEUY2iNmMoXtFAu2mxw2zRegbF8k+TsxmASJaWM8vb2bt83UBSl29Ql/Mh7bh7Y6YO5MqD5v9CrExJInzefnGf+jk3oAEJWfUngu+9gN2TIBd1baDS4XHcdYd9/j9/zz6PLyiL9jj+Q9ehj1JdXtHieh50Ho51ns9++jt3FiVCWc0H16K0sTiQI7ANigTVCiE0YxiPasoqzP/ahxvMRQjQEGuOMp1eNr6MxdHOZwrgnaqW4ovRuNWX8mLeP01rBePdbm7Qq9BUVnFn2KmmzZlObnk6/l18m+LPPsB81qkOrIbRa3G+dS9imjXj9+c+U/vADJ2fPpvrYsRbPmTdkHlY6J/7p4U59D2tddBWLU5RLKQdKKUuAqRgGpNtMoG7qVjIGgWKzmVBbzD5fJoRIEUIUGc+JBaKNrYsC89lTiqL0PvqUrSx3ccS22p2Z4VMbPpdSUrp5Mykzrqfw449xmzWLsB834HbzTZ2aJ0pjb4/3A/cT/Okn6KurOXnrbRSu/F9DinJz44N9Kc+dwQlbG9afWNXM1fo+i2dDmRgDxtembql2lG+yTkJKOdb4HMvZXfjMj6uZUIrSR2w+9gVpNlpqM68mKsQwx0VKSd7rr1PwwYfYDh5M/zf+hcOYFpdrdQqHceMY8O1aTj/+BGdefJHK3bvo9+KLWLm6NpRxd7Qh0GYCjrrveL8ulZl1uob6d1fiQ0s1FwQtYXE3lBAiRAgx2vQAlrV5kqIoFzWp17O85Cj96qzxtbkMLydbAPL/8zYFH3yI2+23MeDrNV0eKEys3d0JeO9dfJYupeyXX0m9+WaqDh9uVGZssCfeRSPItNbw65FPsbOzo6Cg4IJ/hLuClJKCggLs7OzO+xqWTp19D8NWqubTYMcC9553DRRF6fO2n/iKBGu4NH8ITkGGVkX++zHkv/MOrnNm4/fMMwjN+QyhdhwhBJ4L78JhbCRZD/+VjAV3EfjBBzhEGgJYZJA7r++bQj+P31mZsIr3Zy0gMzOT3jIT087OjoCAgPM+39JuqM3nTpcVQkxtqbCiKIqUkpgjH9BfV8fx/MksmeBGwSefkPfGG7jMnEm/55/v9kBhzn7kSII//x8Zdy7g1KJFBH6wHIfISCKD3SjAnUU1drxjnUNKWQoRAyK6u7pdxtJ/oaJmPkvpiIooitI37c3Zy8GqHOZVW5Ep/Yncv4XcV5bhfM01+L/8UrtXU3clra8vQStWYO3jw6lFd1O5bx8DfZxxsrVmgIzCXq/nsyMfd3c1u1SrwcI4LrHI9AAihRDvnvOZSkuuKEqLYg69h3e9nnAiuT4zDs1b/8Rp8mT6v/Yqwvq859h0Oq2vD0Gffoq1jw8Zdy+mZn88Y4Lc2FY1kpvKKvjx5Cbyq/K7u5pdpq2WxTQMYxThxocXhpTk4WYPlZZcUZRmHcw7yO6cvSwoLiHpuCP3xa3CceJE+v/7DYuS+nUXra8PQSs+RevrS8bdi5lcm8XawkDmVdZSJ+tZlXDxTKNtK6zHSilfa61Aa2nJFUW5uC0/tBxXjQ3Xp9SR9fN2CgdEEPH2f9DY2nZ31dpN6+ND0KefkHHXQi55/wXCohbiFhzJlXWZrE5YzaIRi7C16j3f53y12rI4N+W4EOJRY9cTQohVQohVNLM+QlEUJaEwgV8zf2VxtiBvuwenHTyp/PsraOztO/W+UkrKi2rIOFbAgdgMtn52nLWvx7PtiwSyk4rQ6y2f6qr18SH400/Q+vXj77s/4UTVYO7Iy6awupANqRs64Vv0PJZ2GKZKKb82Zp8tlFLea9xOVVEUpZHlh5fTv9KOS1eVUKd14JnLFrF+WFC7z8/PLCPtYD5CI9DaWGFto8HaxgqtrRUaK0FNZR3V5TqqymoNj3IdlaW1FJ+ppKayruE69s5aXLzsOfbbaQ7/moWDiw1hY7wJG+tDv3A3NJr2Laqz9vYm5IPlHLj+JjSrdhM5uZZBA7z57Phn3BTeuavNewJLg4Vp5lM0sNT4uuNz4SqK0qullaSxPWET//nKFlkr2DHvDrSa/vi6tL4oTF+vJ/VAPod+PsXp5JJ23UtoBHZOWuydtNg72xAe5YtHP0c8/B3x6OeIg4thbKS2uo70IwWk7MvluFngGHFVAKOjA7G2aXtWlk1Af7bc/leu//QfZO/y4w9DHXmmOondObu5tN+l7apvb2VpsBgnDOEzTEp5wJjqw7WtkxRFubh8vH85j6yVOOdU0n9qLf/TjGJ0YMsJqqvKajm6I5uj27IoL6rBxcuOCbPDGTKhH1pbK3Q19dTV6qmrrUdXW0+9To+tgzX2zjbY2lsj2tE6sLGzZmCULwOjfBsCR8LuHHavS+XYzmwmzg4ndIx3my2EfpdfylsHZvPX/asZ93UCHrf1Y+WxlSpYnGM18AQwTQgxAMN2pxfP3DFFUdqUVZZFwNvfMTxNT7+rBNpLJ5B+uJY/TGwaLPIzyzm09RSJe85QX6cnIMKdSbcNIniEV6PuIStrDTh2XB3NA0fmiUJ2fJXExpgj9B/sxuW3DMIrwKnFc8cEufNc8HgedEmm9Nd4/poYwNPVv3Ky5CQhriEdV8kextI9uEuAx80+erylsoqiXJx2vfwIVxzRY7fgJtxq3uGYi2HrVFPLQuolJ48UcHDLKbISirC20TBkQj9GTA7Ao18HRoR2CojwYO6T4zi2I5td61JZ/Y89DLuiP5fcEIqdk7ZJ+SH9XLCx1rD1miXMSlrAoC/2M+p2LSuPr+TpS5/u8vp3lZ67IkZRlF4nf89OItYeIO2SQK6dHAwbYXv9CKw11UR4O3Ho50wObT1FSV4VTu62XHZzGEMv98fOsemPclfSWGkYfmUA4VG+7Pk+jSO/ZpG8L5cJs8OJuMyvUdeUjbWG4f4u7MgV3H9DP9LXlPPIWskzrt9SMuYBXG37Zs98z0nIoihKr1ZfVkbmI38jzxVCXngJkfozeITxS64DUZ7OrH99P9tXJWLnpOXqRcO448XLiLwmuNsDhTk7Ry2Tbh3ErU+Nw83Xga0rjvPtv/ZTlNN4J73Rge4cyiyBIVMImJCDrdaWB1dV8O3hL7up5p1PBQtFUTrE6eeexzq/hE0LhjDUfySkbUcfNoXK5FImptZRWVLLjD+PZM7SKAZG+WJl1XN/fjz7OzHrkUgm3xFBQVY5X76wh93rUqmrrQdgTJAbNXV6MtwuwcahhqBHF9C/EOTrMdTp69q4eu/Uc/+1FEXpNUrWraPshx9YM1HD5Gvvgcw91NfWsDFpCleXWmPrZcvcp8a8ESf/AAAgAElEQVQRMsKru6vabkIjGHq5P/Oeu5SBUb7EbTjJFy/s4eThfEYFGLqaftcNBGs7HJ2yqLhjBpfsr+T3D17q5pp3DouChRAixOz1GCHEFPPPFEW5+NSeOkXO8/9HZqgzv0/zZ0rQFEoP7eSbwpdJO2HHXlsdU+8bgbPH+W+8050cXGyIXjiUGx8ajUYj+OG/h4j76ATDtLbEZVdD8ARI2Urk0pdJDrXD9T9fUpOU1N3V7nCWtiyiTS+klPullFuByPacKISYI4SIFkI0u2e3EGKx8bGsvecoitK9ZF0d2Y88il5IXppeyW1D55F9ooTVm4ZTrA8gb6QzBzwFoT4tT0XtLQIiPLjtmfFcOW8wpflVXJenwXFXIblu10HeCawqcql6+l4qbCQp99+LvrKyu6vcodoMFkKIAUKIWUKIWcBY02vjYxGGzLRtXSMSGvbabnhvdjwaQ9LCGCDUGCBaPUdRlO6X/847VB08yM75I6nwdCCy7Cp++O8hnMQZ5l6bxG81lYwJdOszqTCsrDUMn9SfO164DEa54VIl+eqHMH4seoyi+O1cP+4OPrjZCTKyyPm/F7q7uh2qzWAhpUwD9gO3AWHA1WaPcODVdtznVs6mBUnFrIViFGr2WarxfVvnKIrSjSr37SP/vfexu+E63vU6xBzdInasSMPXt5abPZ7CeuglJOWWMzqw7+UatbaxYszVQSx3qcb7Um9O1Y5m9Rp3zhyvZMg1t/L15VaUfPstxV9/091V7TDtWmchpUwTQtwNREkpt5zHfdxovG93oz0wjC0Kk0hgFYa9vVs8R1GU7iN1Ok4//Qza/v3ZMiuEoVsn4ZgRTvAIT6b3+wDrRBvi6gYgZQFjglpO89GbjQxwQ6eBrP62LJ60iQ27RrHhXS3jZ07nwQkruKrQF/HCC9iNGI7doEHdXd0L1u4xCylliZRyixDiEbM05VM6sjLGrqZ4KWV8R15XUZSOVfT559SmpeH5+FIObS3h0oyZDBzny7VLhmOdFguhV3EgqwyAUa3khOrNnGytGezrzIFTxTgOHsdNbo8TNsSOw+tymVvwEC9dU4VwdCTr4b+ir6np7upeMEtnQ72CYae8QgAp5VbjWEZbigEP42s3oKCFctFSSvNstq2eYxwQjxNCxOXl5bXzWyiKciHqCgvJe/u/OFwxiXUn6hmcMQHPKA3TFg7FqjAJyrIhbAr7M4oI83bE1b7nLLrraKMD3ThwqhgZcjlaUcs1lxwl8ppgXJNDGJUyn4R7rqc2JYW8N9/q7qpeMEtnQ+2VUi7HEDBM2pOifBWGcQiMz6ZB64Y/OYQQi6WUrxpfR7d0jjkpZYyUMkpKGeXt7W3hV1EU5XzkvfUWuqpajgxZSPlha5JDd3HLH68wZH5N2QqADL2KA6eK++R4hbkxQW6UVOlIq/MC10BE+nYuuzmMyX+IoH/pYI4dCMN6zgIKP/6Yyn37uru6F8TSYGH6lzffaqrNWUqmbiVjECg262baYvb5MiFEihCiqI1zFEXpJtUnTpD/9XqOTX2Wk4mV7Az5hvE3DMBKY9wLImUreA4kU3qTX17bZ8crTEzBcP+pEgi5HE7uACkZOtGffnN1aKvt2FIxjsrQKLKfeLJXT6e1NFikCSF+ApYIId4VQuwF2vUjbmwFxJoPZkspxxqfY6WU7lLKMONzbEvnKIrSPaSUZLz0BvvHPEyBzpX8yw5yMiieG8NuNBSoqzH8WIZNIT6jCKDPB4twHyecbK3Zf6oIQq6AygLIPQ7AjVdGsy1qBZWigrgBd3G6wpXcf77ezTU+fxYFC+NMqCVAHIbprHONC/MURenjstduZoeYQqVTP65YNIBvNSu4MfxGHLQOhgIZv0NdFYRP5cCpYuy1Vgz2de7eSncyK41gZIArB04VG1oWYAiYgFajZcbYaXw55BUc/Ww4NGIJR37JoOL337uxxufP0gHuKVLKNCnla8ZHmhDikc6qnKIoPUNuSgEbNlRTZ+vETX8dwy7tFur0ddwy6JazhVK2gkYLwRPZn1HMiABXrHtwssCOMibIjeOny6hyDADXIDi5veHYrIGz0NlWkT1lF8HDPEgYdDu/vhFLXUlpN9b4/Fj6L7nM/I1x7cWyFsoqitIHZCUW8e3r8Yi6WmbMcsc71JU1iWsY5zeOULfQswVTtkLQpdRY2XMsu5QxfXTK7LnGBLpTr5ccyS6BAVcYWhZ6PQBe9l5MDZ7Kd+lrmbI4goihtqR5TOSHZ76nXqfv5ppbxtJgsU8IsUgI4WIcuxgL3NMJ9VIUpQdI3pfLujcPoK3I50qnPfSfPoHfsn8jqzyLuYPnni1Yngs5hyFsMseyS6mt1/f58QqT0cbvuT+jyNAVVVUIeccbjs8dNJfS2lJiMzcz5YEJjPA6TWatH9++8Au6mvruqrbFLB2zuAf4CsMspleM7zd3RsUUReleh34+xaYPjuAmC4g69CbBSx8AYHXCajztPJkaOPVs4ZSfDc9hU9ifYZhNPyaob0+bNfFysiXQw97wvU3jFmlnu6LG+Y0jxCWEVQmrEEJw+d9vYWTRJnLO6Nnwdjx1ut4RMFoNFkKIkHMSB84CpgKrMST8m4LqhlKUPkVKye9rU9i+KokAbx0jfvk//O6+E5vAQE6Xn2Zb1jZmDZyF1spssV3KVnDwBL9RxGcU4e9qh69L70xJfj7GBLqzL70I6RoIbsGNxi2EEMwdPJdDeYc4UXgCjY0N455dwJCkz8lMKmNTzBHq63p+l1RbLYtbMCQQHG/2GIchT1M4hmSCYZ1ZQUVRuk59vZ4tnx4nflM6EaOcGLj+KZyjxuC1ZAkAa5LWIKVkzqA5Z0+S0hAsQicjhWDvyUKiQjxauEPfNC7EndyyGjKLqgzjFuk7G8YtAG4IuwFbK1tWJ6wGwG7oUIbfOIrBiV9w8nABmz86hr6+ZweMtoJFvJRyrpTycSnl48DLQIHZ+83A3zq9loqidLra6jo2vHOIhF05jLs2kJCNL2FtZ4P/a68hrKzQ6XV8k/QNkwIm4e/kf/bEM0ehIhfCppBZVMWZ0hrGhVwcXVAmpuC492ShYb1FVRHkHm047mrryvSQ6fyQ+gMVOsN+3l733kuoYw6Dz/xESnwuW1ecQOpls9fvCVoNFs1kmI0GxDnHVTZYRenlaqrqWPfmAU4dK2TyHREEHvic2oQE/Je9gtbXB4CtGVvJr8pvPLANkGL8mQibTFy6IVH0xdayGOTrjLOdNXtPFjU7bgEwd/BcKusq+T7lewA0Njb0e+kl+iesZ6hDKgm7c/jliwSk7JkBw9LZUEVSytfO+aw9uaEURemhaqvqWP/WAfLSy5i+ZAQBFUco/uJLPP74R5wmTWoo91XCV/g7+jPRf2LjC6RsBZ+h4OLP3pNFONtZM6iPL8Y7l5VGMDbYnbiTheAaAO4DGhbnmYzwGsEQjyGsSlzVEBDsR4zA848L8dvwOiNHWHFsezY7vkrqkQHD0mDRXB6oNnfKUxSlZ6qtruP7tw+Sm17GNXcPJ8CrltNPP43dyJH4PPSXhnJpJWnsztnNLYNvOZsHCqC2EtJ/hzDDbgVxJwsZG+yOlaZv7IxniXEhHiTlllNUUWtoXaTvAP3ZmU5CCG4ZfAtJRUkczDvY8LnX/fdjM2AAfl//HyMn+XFoaybbVyf1uC4pS4PFFmNK8HeNjyQM2WEVRelldDX1/PDfQ+SklXL1n4YxYLgb2X/7G0hJ/9f/ibCxaSj7VeJXWGusuSn8psYXyfgN6msgbDLFlbUkniln3EXWBWUSFWwYp9mXXgQDJkF1CZw50qjMjAEzcNQ6Ngx0A2js7Oj3j39Qd/o04UlfMyo6kMM/Z/LL5wk9KmBYus5iP4aps/HGR5SU8kBnVExRlM6jq63nh3cOcjq5mGkLhxI+1oe8t96i6uBB+r34AjaBgQ1lq+uq+S75O6KDovGy92p8oZSfwcoWgiYYfiQ5+6N5sRkV6IbWSrA3vbDFcQsHrQPXh17PppObKK4+24PvEDkGjzv/QPEXnzM6sJCx1wZzbEc2W1Yc7zGzpCxO3GLcMW+5cV+LsR29W56iKJ2rrraeDe8cIiuxmKl3DWXgOF+qDh2i4MOPcLvlFlymT29UfuPJjZTWljYd2AZI3gLBl4GNA3tPFqG1En12Z7y22GmtGNHflbiTReDiDx5hTcYtwDDQXauv5buU7xp97v3QQ2iDgsh55u+Mv9qfS24YQMKuHDZ/fIz6HhAwLA4WQogpxpQfizCssbilrXMURekZ6uv0/Pj+YTITiph65xAGX+KHrK3l9FNPY+3jg8/SxxqVl1Ly+fHPCXUNJco3qvHFSrMNaS3CDCu5404WMry/K3ZaKy5W40I8OJxZQrWu3jhu8VujcQuAQe6DGOMzhtUJq9HLs0FAY29PvxdfQJeRQd5/3ibqugFMmBVOclyuYeFeN+eSsjTr7KPAXAyL8cIx5Ib6qhPqpShKB9PrJbEfHyPjaCGT50cQcVk/API/+ICapCT8nv07Vk5Ojc75Pft3jhceZ8GwBQhxzqC1WYqPal09hzJLLtrxCpOoEA9q6/UczioxjFvUlEDOoSblbht8GxllGezIatzycBw/Hre5cyn85BOqDh9hzNVBXHHrINIO5rPhvcPdGjAsbVkUG/NBrTIuzFNJBBWlF5BSsu2LBJL35TJhVjhDLzcsqqtJTib/3fdwue46nCdPbnLeB0c+wMfBh5mhM5teNDkWHH3AdxhHskqorddftOMVJmON39+wOK/x/hbmpoVMw9fBlxVHVzQ55vPoI1h7eXH66aeROh0jJwdw1fzBZBwtYPPHx9B306C3pcEiVQjhAoa8UcbP2tVBKYSYI4SIFkIsbqXMuSnQlxmfWzxHUZS27V6XytHt2UReE8SYq4MAkPX1nH76GawcHPB96skm5xzMO8jenL0sGLqgcR4ogHqdYTHewKtBCMNiNM7+WF6sPBxtCPdxMoxbOPuB58Amg9xg2Bhp/pD57M7ZzYnCE42OWTk74/fcs9QkJFDw4YcADLuiPxNmh5MSn8uOVYndsg7jfHYm2QfEAmuEEJuAW9s6QQgRCYbtU83fn1NmMTDnnI8XCyFSMOzKpyjKeTgQm8G+H9MZOrEfl950NpVb0edfUHXgAL5PPoG1Z9NEDB8c/gBXW9fGeaBMTu02TA0ddA1gGK8I83bE08m2075HbzEuxLA4T6+XZ/NE1dU0KTd70Gzsre357NhnTY45T5mC87XTyf/vO9SkGn7+xkwLYvS0IA7/msW+H9M7/Xucy+JtVaWUA6WUJRim0MYA7fmr/1bOrvROxZA25Nxrx9A0KNxt3Jc71pJ6KopicGLXaXauSSZ0jDdXzo9oGHfQZWWR+8YbOF5+OS433NDkvKSiJH459QvzI+af3TbVXOJGsLKBsMno9ZK49KKLfrzCJCrYg9LqOpJyy2HQtVBbDmnbmpRzsXFh1sBZbEjbQG5lbpPjfk89hXBw4PQzf0cakxJOuDmMwZf4sXtdKsd2ZHf6dzF33nseGqfQfm0MHG1xAwrN3rc3n5SHsevqsbaLKopiLu1gHltXnCAgwp2r/zgMjXFVtZSS0889D0C/559rOnANfHTkI+yt7Zk3ZF7zF0/cZOiTt3UmOa+ckirdRZcPqiXjzJMKDpgENk5w4odmy84fMp96fT1fnviyyTFrLy98n3icqn37KPrScFxoBJPvjCBomCe//O8EqQfyOu+LnMPS2VCuQojVQgi9EKJeCPFuZ1UMDK0NY6vCUwjRpDWiKErzctNL2fTBUbwDnbj2nhFYac/+r166fj0V27fj89BDaPv3b3JuZlkmP6b9yC2DbsHV1rXpxQtSID8RBhnWY+w9afg78GLLNNuSQA97fJxtDXmitHYQPhUSNjRKWd5Q1jmQqUFTWZ24mkpdZZPjrjfeiOPEieT983V02YaWhJWVhumLh+Md7MJPHx4lO7lr0vNZ2rJ4AsNMKI2U0gqIFUK83I7zigHTnx1uQEFbJwghFgshTJ2lBUBoa+UVRTGoLK3lx/cOY++sZcafR2FjZ91wrL68gjOvLMN+1Cjc5zffavjk6CcIIbhz6J3N3yDpJ8PzwKsBiDtZhLezLUEezXRXXYSEEIwL8WgY9GfwDCg/A9nxzZa/c9idlNSUsD5lfbPX8nv+eSRw+vnnGwa2tbZWXH//SJw97NjwziEKsso76+s0sDRY7JVSfm16Y3wd147zVnH2xz4UwwA5QojWZlKlmsph6LZqch9jQIkTQsTl5XVdc0xReqr6Oj0b3z9MdbmO6+4ZiYOLTaPjRSs/o76wEN+nnkRYNV08l1+Vz9qktdwYdiO+jr7N3yRxI3hHgMcAwNCyGBfi3mx31sUqKsSdrOIqsourYOA0EFYtdkWN9h7NCK8RfHb8s0aL9ExsAvrj89BfqPh1G6Xfn72GvZMNMx8chWd/J6xtOn8hpKXBorn5Wg2fmU2nbVxAynjj8WgMazVMIbZhvwxjKyLKNE3W2P0Ubfy8wOwc8+vGSCmjpJRR3t7eFn4VRelbpJRs+zKR0yklTFkwBO+gxmnC60tKKPjwI5wmT8Z+5Mhmr/HZsc+ok3UsHL6w+ZtUl8LJnQ2zoE6XVJFZVEVUsBqvMGcat4hLLwIHDwiZaOiKaoYQgj8M/QPppelsy2w6EA7gPn8+dqNGcuall6grKmr43MXTnpv/Fomrt33Hf4lzWBosxhlTfZj25F4ETDO+ng2839KJpvEH46wn02djzV6vkVK6n3N8jfHxqoX1VJSLztFtWRzbkU3k9GAGRjVtFRR88gn6sjK8H3yg2fNLa0tZlbCKacHTCHYJbv4mKVtBr2sYr4gzdrWomVCNRfg542hjZRi3AENXVN4Jw3hPM6KDo/Fz9GPFsaaL9ACElRX+L75IfXk5Z15uT89/x7M0WNyCIc2HaT/ucKCExntzK4rSxbISi9i+KongEZ5cckPT4b26oiKKPl2B8/Tp2A0Z0uw1Vp1YRYWugj8N/1PLN0rcBHZuEDAeMKyvcLCxYki/i2uzo7ZYW2mIDHY/O24RcZ3huYWuKK1Gy/yI+ezN2cuxgmPNlrEdOBCvu++mdN16yrc3XejX2SwNFktM+2839wDu7oxKKorSstKCKjbGHMHVx55pZlNkzRV88AH66mq8H7i/2WtU1VWx8vhKJvafyBDP5oMJ+nrD4PbAq8HKMGi+92QRkUHuWFud9yz8Pisq2IMTOaWUVuvALQh8R7TYFQUwa9AsHKwdml2kZ+J5zxJswsI4/eyz6CsqOqPaLbJ4UZ4Q4hFj9xPnpic37nfRq5TmV3HycH53V0NRzouutp4f3zuMvl5y3b0jsbW3blomN5ei/32O68zrsQ0La+Yq8E3SNxRWF7J4RCtrbLPioTK/YbyitFrHiZxSotSU2WaNC3FHSohPN7UuZhhWvpc3PxnHtEhvY9pGzlScabaMxsaGfi+8QN3pHHL//WZnVb35e1tSWAjxCoZup0IAKeVWIcSszqhYV9n5dTI/vn+YU8cL2y6sKD2IlJKfVxwnP7Ocq/80DDff5qeuFsQsR+p0eP35z80e19Xr+PjIx0T6RBLp29zOyUaJGw2zesINKcn3ZxSjl2q8oiWjg9yw0oiGcR0irgOpN/x3bMG8IfPQo+eLE1+0WMYhcgzu8+ZRtHIlVQe6bu+585k6uxxDwDDpmhUhnWTyHRG4+zqw4b3D5KS1ZzG6ovQM+zdnkBSXy2U3hRE8vPnhQl12NsWrVuE2axY2QUHNllmfup4zlWe4e2QbvciJmyDoMrA3tCTiThZipRGMvkg3O2qLg401w/1dGhYt4jcSXANb7Ypqa5GeiffDD2Pt58fpZ55B1tZ2dNWbZWmwMLU3zafQtvKnSM9n56hl5oOjcXCx4fv/HOySxS2KcqEyjhawa20K4WN9GrLINif/3fcA8Lq3+d0E6vX1fHj4Q4Z4DGGi/8SWb1iSCWcON3RBAfyeUsBwfxccbZt2fSkG40I82H+qmKraehACBl9r2AektuVAcOfQOymrLWuyk545KydH/J79OzVJyeQvX94ZVW/C0mCRJoT4CVgihHhXCLEXw17cvZqjqy03/mU01loN6946QEleVXdXSVFaVJxbyU8fHsXD34kpdw5pcTFcbXo6xd98g9utt6L192+2zOb0zWSUZXD3yLtbX1SXuMnwbJwyW1qtY/+pYq4YqNY3teaKQd7U1unZnWZMWhExA+qqDFOQWzDaZzQjvUfy2bHPqD9nlz1zzlddhcuMGeS/9z41yckdXfUmLB7gBpZgWE2dCsyVUrb8rXsRFy97Zv5lNPV1eta9uZ+KkqYphRWlu9VW1/Hje4dBwHX3jkBr2/LK3fx33kFotXgubr57SUrJ8sPLGeA6gKlBU1u/ceImcB8AXgMB+C05n3q9ZNIgFSxac8kAD2ytNWxLNE6iCZ4Idq6tdkWBoXVxquwUv2T+0mo536eexOnyy6GZ1fgdzdIB7pellGlSyteMj7TOqlh38PR3Yub9o6kq07HuzQNUV+i6u0qK0kDqJVs+OU7R6QquuXs4Ll4tr9qtjIujZN163OfPQ+vj02yZbZnbSCxKZNGIRWhEKz8FtZWQ9quhVWFsffyamI+TrTVjgtR4RWvstFaMH+DBtiTjDCgrrWHqceLGJntzm5saNBV/R/9md9IzZ+3hQeC772A7YEBHVrtZFi/KM67WHt0ptekBfAe4cN29IyjOreT7tw9SW13X3VVSFAD2bTxJ6oE8JswOJzCi5RlI+ooKsp94Em1AAN733ddsGSklMYdj6O/Un2sHXNv6jdN+hbpqGDy94dxtiXlcFuaJVq2vaNOkgd4k55Yb8kQBDL4OKgsM02hbYK2xZv6Q+cTnxnMk/0gX1bR1lv5Lj5VSfgOUGIPGlDbP6IUCIjy4ZtFwck+WsjHmCPV13bdJuqKAYW+K3evTGHSJL6OmBrZa9syrr6HLzMT/5ZfQODo2W2Zvzl4O5R1i4bCFaDXaZss0SNwINs4QNMFQl/wKsoqrVBdUO5n+O203tS7Cow0bR7Wwmttk1sBZOGodW0wB0tUsHbMoMT6nAQJ4VQixqjMq1t1CR3tz1R0RnDpWyJZPjiG7aZN0RSnIKmfzR8fwCXJmstlud80p376D4lWr8Fi4EIeoqBbLLT+8HC97L24aeFPrN6+vM/yoDYwGa0MG222Jhh+9K9XgdrsM8nXC18X27LiFnYthU6QTP0Are2k72Tgxe+Bsfjr5EzkVOV1U25ZZOmaxSgjxshCiEMPWqLdIKdvcg7u3GjrRn8tuDiMpLpft3bRJunJxqy7XseHdQ2htrbj2npGtpqKuLynh9FNPYRMehvdfHmyx3OG8w+w6vYsFQxdga9XGntknt0NFHgyf3fDR9qR8gj0dCPJU+1e0hxCCKwZ6s8M4KQCAiOuhKA3OHG313PlD5gPw+fHPO7uabbK0G2oakCKl9JBS3tvXBribE3lNcMMm6Xt/ONnd1VEuIvX1ejYuP0xFcS3X3jsCJ/fWf9hzXvwHdYWF+L+yDI1ty2WXH16Oi40LcwfPbbsSR9YYuqDCpwFQW6fn99QCJqlWhUUmDfKmpErHoUzjGuaI60Fo4FjLaykA/J38mRY8jTWJa6jQdW0uqHNZGizullJ+YHojhJjS28ctZH09utOnWy0zYVYYEZf5sff7NA7/ktlFNVMudjtXJ5GVUMxVdwzGb0Az25uaKd30E6Xr1+N1zz3YDx/WYrnUklR+PvUz84bMw0HbRsugrgaOr4ch1xu2BwXi0guprK1X4xUWujzcCyE42xXl5G2YRttGsADjIj1dGWuT1nZyLVtn6ZjF18YAsciYTDAUQ9ryXiv78SdIv+su9JUtr6gUQjD5jghCRnqxbVUiiXu7v/9Q6duObMvi8K9ZjJ4WRMSl/VotW5efT85zz2E3bBheS1pJBAisPLYSG40Ntw2+re1KpGyF6pJGXVDbEvOx1gguDVX5oCzh4WjDiP6uZ6fQAgy9EfITIPdEq+eO8B7BGJ8xrDy+kjp9983OtHTM4lFgLnA1hr0sooCvOqFeXcZtzhx06Rnk/uuNVstprDRcs2gY/uFubPn4OGmHVKZapXNkJxWx/ctEgoZ5cNnNzWeJNZFScvrZ59BXVOC/7BWEtuWZTYXVhaxLWcfMsJl42rdj65kjXxvyQIVe1fDR9qQ8IoPdcbZrYwaV0sSkgd4cOFVMSZVx/daQmYBoV+tiwbAFZJVn8X3q951byVZY2g1VLKW8B1hl3MOi+YQzvYjjJeNx/8MfKFq5kopdLc97BrC2seK6+0biFejExpjDpB8t6KJaKheL4txKfnz/CC7e9lz9p+b3pjBX+OGHlG/ZgvfDD2MbHt5q2VUJq6ipr+HOoXe2XZHaSjixwfDXr5UhMOSV1XA0u5QrVRfUeZk0yJt6veT3FOMfms5+hsSM7QgWUwKnMMJrBG/vf5vquupOrmnzLA0WqUIIF2i033avX8Lp89eHsQkO5vSTT1Jf3noiQVt7a2Y+OBqPfo78+O5hTp1Qqc2VjlGSV8V3b+wHaUjlYevQ+l/vZVu3kvv6v3C57lo87lrQatma+hq+PPElV/S/glC3pjvpNZG0CXQVjbqgdiQbulDU4Pb5GRPkhpOtNb8mmvVKDL0Rco9CflKr5woheCjyIc5UnuHLE192ck2bdz7LL/cBscAaIcQmoF1TZ4UQc4QQ0UKIFjtVhRDLLD2nI2js7en38svocnLIXdb2dt92jlpu+Mto3Hzt2fDfQ2QlFrV5jqK0prTAECh0NfXc8NBo3P2aX0xnUp2QSPYjj2I3bBj9Xnqp9SSAwA+pP1BYXciCYa0HlQZHvgYnP8MgrNG2xHw8HG0Y5u/SvmsojWitNFwW5sm2xLyz0/CHzDQ8t6N1Mb7feCb2n8jyw8sprS3txJo2r81gYdoVD5fKBlEAACAASURBVAyJBKWUA42L86YCMUCbP+RCiEjj+bHm788psxiYY8k5HckhcgweC++i+Kuv2rW/rb2TDTf8ZQzOnnZ8/99DnE5Re2Eo56e8qJrv3thPTVUdN/xlNN6Bre9nXVdYSOZ996FxdCTgv2+jsbNrtbyUkhVHVzDYfTDj/ca3XaHqUkj8CYbdDBrDug69XrI9KZ/Lw73a7BpTWjZpkDdZxVWk5Runwbr2N+xn3o5gAfBw5MOU1Zbx0eGPOrGWzWtPy+LV5nbDk1KWSCm/Nq3qbsOtnN0kKRXDgr5zrxdjPNbuczqa94MPYhMexumnn6G+tO3I7eBiw40Pj8HR1Ybv/3OAM2ldH+2V3q2iuIZv39hPVbmOmQ+Owie49b/aZW0tmQ88SF1+PgHv/Betr2+b99iRtYOUkhQWDFvQZgsEMKwsrq9p1AV1PKeU/PIaNWX2AplWvZtWwQOGrqicQ1CY2sJZZw32GMyM0BmsPL6yxa1XO0t7gsXLUspvhBBThRCzz3NdhRvGrViN2jEV47zOuSAaW1v8X36Fuvx8zvzjpXad4+hqy00Pj8HOScv6/xwgP1NtnqS0T2VpLd/9ez8VJbXMfGB0m2sppJScfv55qvbto99L/8B+xIh23WfFsRX42PswPWR6+yp25GtwDYKAs+lCTOsDrhjo1b5rKM0K8nQg2NOBbUnm4xY3GJ6PrWvXNf48+s/Uy3rePfhuJ9SwZW0GCynla8bnLcaWxFZj4OiTiQTtRwzHc/HdlHz3HWVbtrTrHCd3O258eAxaWyvWv3WAkryW12woCkBVmSFQlBVWM/P+kfQLaz1QABR++iklX3+D13334jpjRrvuk1CYwK7Tu7h9yO1ordox3bWiAFJ/huGzGtKRg2HKbISfM74urXd5KW2bNNCb31MKqKkzpih3CwL/yHZ3RQU4B3Db4NtYm7yW1JK2WyMd5XzzC7sC9wCx7UwkWAyYVvG4Ae2Zc9rmOUKIxUKIOCFEXF5e3rmHz5v3vfdiGxHB6Wf+3ubqbhMXT3tmPjgafb1k3ZsH1OZJSouqyg2BouT/2zvv8KiqvAG/dzLplfROSEBIEAIhIE1EiqACogt2sGNjWUVFF1bU1VVREV1RRL8Ve0FsoKwrTZAOgdACoYR0SO+TybTz/XEnEELJZCYkmJz3eeaZmXvuOXNu7s393fOrRbVc/0hvwrt1arJPzbbtFL72Ot7XXEPg9Ok2/9anaZ/irnVn8mU2xs4eXA4W0xkqKJ3BxM7MMqmCaiGGXRZErdFMSlYDx5iEGyB/F5Rn2zTGA70fwF3rzr93/fsizfJsbDFw32R9H6EoylJFUSzAPGAVEGdjIsFvUKO9sb7XG60v5HZ7zj4NEUJ8IIRIFkIkBwW13IWsuLgQ8cbrCL2e3Ol/xaK3za/ZP8yTcdMT0VUZWfFvWTxJcja11QZ+WpBKeaEqKCIvUJeiHlNZGfmzZuESHU34Ky+jaGx7xivUFbLy+Eomdp2Ir2vTKxdAVUEFdIPQ0yqurRklGMwW6TLbQgyKC0CrUU6n/oBmq6L83fy5p+c9rMleQ2ph6kWY5dnYctX9n6IoJcBi4BiqgOjWnEp5QohdAIqijEIN7Kuv231Kz6MoyiQgud5N9gJ9WgXXrl0Jf+N19AcOcOLZuTZnnA3p4sN1D/WirEDHL+/uxWg4fzUsScdCX23kp7dSKS/Qcf3DvYmKb1pQCCE48Y9n1QSB8984b32Kc/HVoa8wW8xMiZ9iW4eqk5C5UV1VNFBBbThcjJuzhuSYpldAkqbxctWS1LnTmUZu/1gI7W2zKgpgSsIUAtwCWJCyoFUyYtsiLDJQU3w8g1p7265ZWVcBq61eT/Xb+jX4vEwI0alR+1l9WhPvESMI+tsMKlesoPSjJTb3i4r355p7e1JwvIJfF8viSRKroHh7N+UndVz3SC+iEmzLrVT+9ddUr1lD8MyZuPc8f4LAxlQbqlmavpSR0SOJ8rlwsaRTHPgREKq9worFIliVVsCg2ADcnC9+neeOwtXdg0k7UUlOaQP7ZsINkLsdKvJsGsPD2YOHEx9mV+EuNuVvukgzPY0twuLpBsbt7wDF6hV1U4Mo7nZLwEMP4T1mDIXz59sUf1FPXFIwV93enewDJaz55CAWWTypw6KvUQVF2Qkd1z3ci+gE2xz79IcPU/DqPDyHDsX/LhtSdDTgs4OfUWmo5P5e9ze9cz37lkJILwjqfmpTSnYZeeW1TOgT3qzfl1yYcb3V5JDL9+Sf3phgLUR1cIXN49x02U08N+g52+JnHMQWb6g1jb4fR1VHDUBN/9EuK+XVoygK4S//C9du3cib+QR1x20v4dHzyggGTozlyI4CVv3nAGajXGF0NPQ1Rpa/nUrpiRqufbgX0T1tExQWvZ78J55E4+VF+Kuv2GynAKioq+DTA58yImoEPQNtXI3k74a8FOh7xxmbf0rNw81Zw+iEUJt/X9I0Uf4e9OvcieWpDYRFYFcI7tksVZSzxplJl03CxcnlIszyTGwxcI+wvsdYq+QdQbU1+AKj23OlvHrqI2UVJydyH53eZP6ohvQbG8Pgm7pyNKWQn9/dg0HfdimGJa1LnU4VFCX51Vz7YC862ygoAApfe526I0cIf/VVtIHNi2345MAnVBureaTPI7Z32v5/4OwJfW4/tclotvDL3hOMTgjFy1XbrDlImmZin3DSC6o4dLJBMG/PiZC9xaYAvdbGlseVDxRF2YFqu4gFHhJCBFgr5dkWiNAOcImMJOKttzBkZZH/5FMIi+2rhL7XRDPy7njyDpfz45u7qa0yXMSZSi4FTgmKPFVQxPSy/YZftXYtZV9+if/dd+N15dBm/W5JbQmfH/ycsTFj6e7fvekOoMZW7PsWEm8Ft9NeUxuPFFOmM3JDolRBXQyu6xWGk0bhp4ari6Sp4OQCm1rPJdZWbF3bviKE0AghbulIAqIxngOvIOSZZ6j+/XdKPmiezb3HwDCue7gXZSdq+O71FCqLay/SLCVtjaHWxIp39lCcW83YZgoKY14eJ2bPwTUhnqCZjzf7tz/a/xF15joe7vOw7Z12f6qm9xjwwBmbf0zNw9fdWcZXXCQCvFy5slsgy1PzT9s0vUNVVWDqF1BpW4xXa2Grgfv7iz6TPwmd7rwDn3HjKPr3O9Rs2dKsvjG9ApnwWF/01Ua+ez2FkjyZGqS9oQqKVIqyqhjzwOV06W27oDCVlpJ93/0Is5mIN+ajcWmeHrpQV8g36d8wLnYcsb42pCEHsJhhx38g5koIjj+1WWcw8duBAq7rFYaL1t7YXUlT3NAnnLzyWlKyGwToDZ6hBkZufbftJnYObDFwf9caE/mzoCgKYS88j0uXLuQ98STGguYl8wqL8+XGJ5JQgB/m76IgUyYfbC8Y9OqKoiCzimse6ElsH9ufyM3V1eQ8MA3jyZNELX4f19guzf79D/d+iNli5qHEZtQkO/wrVOTAgDOTR69KK6DWaGai9IK6qFyTEIqbs4afUhu4y/p3gcsnwY6PQHfp1MuRjwx2oPH0JPLfb2PR68l7fCbC2LxI7YAIL26a1Q9XDy0/v7OHspM1F2mmktbCoDfx88I9FGRWcs19PYnrG2xzX0tdHbmPTkefnk7k22/hkdT8bPz51fksO7KMid0mEuVtY1wFwPYPwCcCul93xublqfmE+brRP0bW2r6YeLpqGZ0Qyi97T2A0N7CDDn1cLT61/cO2m1wjpLCwE9e4OMJe/Ce1u3ZR+Mb8ZvevzyWlOCksfzuVqtK2KZUocZySvGqWzUvhZEYlo+9NoGs/2wWFMJnIe+IJdNu2Ef7KK3hddZVdc/hg7wcoKDzY+0HbOxWlQ8bvkHwvOJ32diqrMbD+cBETEsNl7YpW4IbEcMp0RjY2zEQbkgCXXQvbFkHdpaGu7vDCwmgxkluVa1df3+uvp9Mdd1D6ySdU/u+3Zvf3C/ZgwoxEDHozy99OlV5SfzKEEOxdl8u3r+xEX2Nk/PREuiU3XV+iYf8Tc5+jevUaQubMwXf8OLvmkV2ZzY9Hf2TyZZMJ9WxGPMSO/1M9b5LOrJ73y74TmCxCBuK1EsMuC8LPw5kfUxtFbl/5BNSWQcrHbTKvxnR4YTH7j9nc/9v9VNTZV+ku5OlZuCX25sTs2c0K2KsnMNKb6x/pTVWpnp8XyjiMPwu11QZWLtrHH98cJrJHJ279xwCbU3iAKigKX3udiu+/J/DRR/Gfcqfdc3l/z/s4a5ybF62tr4TUL6HnTeB1pm1leWo+3YK9SAiT5VNbAxethut6hfHbgQJ0hgb//1H9VceDLQvB1PZZrDu8sLgz4U4KagqYu8n2ZIENUVxciFywAMXZmby/PYa5qqrZY4R382PsA5dTlFPNykX7ZKT3JU7OoVK+fnE72WklDL25G9c/2hsPn+Z5LpV9/gWlS5bQ6Y47CJz+qN1z2VO0h1+O/8KtPW4lyKMZLq57vwFD9VmG7bzyWrZnlnJDn3DbqupJWoQbEsOpNZpZldbIYebKmVB1AvZ81TYTa0CHFxaJQYk81u8x1uas5YuDX9g1hnN4OOFvvEFdRgbZ991vU0nWxsT0DmTk1B7kpZfx20cHsJilwLjUEEKwc2Umy99OxdVdy+RnkkkcEdXsm2rNtu0UvPoqXiNGEDJntt03ZZ1Rx5yNcwj1CG2erUII1bAdngSR/c5oWmHNVTQhMcKuOUnso3+MP2G+bmem/wCIvRrC+sDGt8DctlqHDi8sAKYmTGV41HDmp8xnX9E+u8bwGjqEyLffQn/wINn33Iu5vLzpTo3oPjCMoZO7kbG7yGowtU81Jml5hBBs/fEY25ZncFn/ECbP7k9gpHezxzHm55P32GO4dO5M+GvzmpXzqTELUhaQXZnNS0NfwsvFy/aOx9dD8WG44mwB81NqPn2j/YgO8LB7XpLmo9EoTEgMZ/3hIspqGtguFUW1XZQdh7Qf226CSGEBqLETLw15iWD3YJ7a8JTd9gvvkSOJ/Pfb1B0+TNY992IqK2u6UyMSR0ZxzX090VXU8d1rKaz5OE1W3WtjhBBs/PYIu/6XTc8rwxl1dwLOLs1P122xFtMSRiORCxfi5NWMG3wjNudt5uv0r5mSMIX+of2b13nbB+AReDrLqZXDBVUcPFHJxD5yVdEW3NAnApNF8Mu+RpHbPcZB4GWwcYG6KmwjpLCw4uvqy+tXve6Q/QLA++qriXzvXQzHjpF99z2YSpsfVNOtfwi3vzCQpDHRHN5RwBfPbSV1dTZmqZpqdYRFsP7LdPauzaX3iEiuur07ih3upKrn01z0aWmEv/aaXUF39VTUVfDspmeJ841jRtKM5nXOT4X0X1R3Wecz62n/lJqHk0bhul5hds9NYj/xYd50C/Y6WxWl0ahxFwX74dDPbTM5pLA4g95BvXm83+MO2S8AvK68kshF72HIzCT7rrswFRc33akRLm5aBt3YldvmXkF4Vz82LTvKNy9u5/je4lapiiVRC/+s/ewgB/7IJ2lMZ4ZO7ma3faHs00+pXL6CwBl/xXvE1Q7N6+VtL1OqL+XlK1/G1cnV9o5CwKpnwSMABp9Zx9tgsvBdSh5DugYS5N2MMSUthqIoTOwbwfbMUo4WNoqt6HWzurpY86KaoqUNkMKiEVMSpjhsvwDwGjKEqMXvY8jNI2vqXZiKiprudA78QjwYNz2R6x/pjcUsWPneXpa9upPMfVJoXEzMZgurPzrAoS0nGTC+CwMnxtotKGq2bqPgtdfxGjWSwIeakYrjHPya+Ssrj6/kocSHSAhIaF7no2vg+AYYNuuM7LIA3+/K5WSlnvuH2r/ikTjOrf2jcHd24r3fj57Z4KSFq+dAcTrs+bpN5qa0lxtOcnKy2LlzZ4uMVVFXwc0rbgZg6filthe7Pwc127eT8+BDuERGEP3JJ2j97U+fYDZbOLztJDtXZlJZrCc4xocB47oQ3dNfujm2IEXZVWz89gj5R8oZdGMcSWM62z2WITePzMmTcfL3J+abb3Dysr2GdmMKdYXctPwmor2j+fTaT9FqmlFjwmKGxcNUd9lHd4D2tKuvyWxhxPz1dPJw5sdHh8hrqY156ec0lmzOZN0Tw890NBACPhgOuhL4awpoW2YFqChKihAiuan9Wm1loSjKJEVRRimKMs3WdkVR5lnfz9nnYlFvvyisLeTZTc869ATvOWAAUYvew5Cdo7rV2uElVY+Tk4b4weHc/sJArr6zB7WVBn5euIfvXkuhMEsmJHSUqlI9qz9OY+krOyjJr+bqKT0cEhSm4mJy7rsPYTYTufAdhwSFEILnNj9HnamOl4e+3DxBAWpcRcF+GPncGYICYMXefLJLdUwfYb+aTdJyPDAsFieNwqL1x85sUBQY9Zya+HHnklafV6sIC0VRkgCEEKsbfrehfZqiKMdQCy+1Kr2DejOz30zW5azj07RPHRrLc+BAIhcuxHD0KNkPTLMrcK8hTk4aEoaGc8c/BzL8ju5Ul9Xxw/xdZB8ocWjcjoqh1sTWH4/xxXNbObqzkL6jo5ny4iAShtif7sJcUUH2ffdjLCwk6v33ce3imHpn0Z5FbMzbyMzkmcT4xjSvs7EW1r6kxlX0vPGMJotFsHDtUXqEejOyh+05rSQXjxAfN25JjmJZSg4nKhrVvYm9Wo3q3vA61Dl2H2kurbWyuAWof6TOAEbZ2P6AECKuXoi0NnfG38nI6JG8lfIWe4r2ODSW15VDiXj7bfQHD5Iz7UHM1Y5nmnXSauh5ZQQ3z+6Pb7AHv7y3lyM7m5cyvSMjhCBtUz6fz91Cyq9ZxPYJ4vbnr2DwTV1x9XC2e1xLTQ050x7EkJFB1LsL8Ujq69A8fzz6I4v2LGJi14nc2v3W5g+w7X2ozINrXlSfThvw64GTHCuqYfqIrjJp4CXEg1fFIgQsXt/oOVlRYNTzoCuGrYtadU6tJSz8gIY+pI2LEZ+v3d+qmpp1MSd3PhRF4Z9D/kmIZwhPrn+Scr39KiQA7xFXEzF/PrV795L78MNYalumWp6Hjws3zuxLSBcffvvPAfavty8xYkeitkrN7bTus0P4hXgw+e/JXHNfT3wC3R0a11JXR86j06ndv5+IBW/iOXiwQ+NtPbGVFza/wMCwgcwdNLf5aqKaEvjjTTWDacyZJVqFELyz9iixQZ5ce7l0l72UiOzkwU1JEXy1PZuiqkZxVpHJauzF5nfU89tKXNLeUEKID6yrigBFURqvRlAUZZqiKDsVRdlZZKe3UVP4uPgwf/h8SmpLmL1xNhbhWKyDz5hrCJ83D93OneQ+Oh2LvmVSk7t6ODNhRh9iegWy/qvD7Fx5XHpLnYes/SV89eJ2ctJKGTq5GzfOTCK4s+NJ84TRSN7jM9Ft3Ur4y//Ce9RZl2yzOFJ2hMfXPU6MbwxvDn8TZ40dq50/3lCN2qOeP6tp7aFCDp6o5JHhXXGSq4pLjoeHd8VotvB/G8+hhR/xD1UNtfHNVptPawmLcqDeDcgPaCwOz2q3CoJJ1m0lwFl1Iq3CJFkIkRwUdPHqBPcM6MlT/Z/ij7w/WLLfccOS77jrCXv5ZWq2bCHr9jsw5uc33ckGtC5OjH3wcrpfEcq25cfZ+O0RhEUKjHpMBjMbvj7Mzwv34O7lzOS/J5M4MsquILvGCIuF/NlzqF67lpC5z+J7ww0OjVeoK+SRNY/grnXnvZHv4e3S/NQilB5Xi+f0vROCe5w5X+uqIrKTOzfIVOSXJF0CPRnXO5zPt2SdmQIE1BK4ibep57ci79wDtDCtJSy+4fTNPhaoN2T7XaA9o34/VLVUy/jF2smt3W9lTMwY3tn9DrsKdjk8nt+NE4l8910M2dkcnzSZmu3bW2CWqvF75F3xJI6IYu/aXFYtScNkbJsgnkuJ4twqlr6yk32/q5HYk/+eTECE/ek26hFCUL1pE1lTplK5YgVBjz+O/+23OzSmzqhj+prpVNRV8O7IdwnzslNFtOafoNHC8NlnNW06WkJqTjkPD4/D2emSVjB0aB69uis1BjNLNmee3Tj8GRAWWD+vVebSKleJEGIXgFWVVF7/HVhzvnar+mmUdXVR0qBPm6AoCs8Pep5I70ieXP8kGeWOO2h5j7iamKVLcfL1Jfve+yj9/IsWUR0pGoUhk7sy6MY4juwo4KcFHbuwUvq2kyybl0JdjZHxMxK58ubL0Do3P7dTQ4TFQtXatWTefAs5992PMTeX0BdeIPBBx7y8TRYTT214ivSydN646g3iA+LtG+jgCjjwPQz+K/icLWzeWXuEEB9XJvWLdGi+kotL91BvxvQM4eNNx6nUNyrf3KmzmrZl9+dQfPTcA7QkQoh28erXr59oDQ6XHhZXfX2VGPTlILHjxI4WGdNUWSmyH3pYpHXvIfKe+bsw6/UtMq4QQhzZWSAWTV8nPp2zSZTkVbfYuH8GzCaz+OPbw2Lhg2vED/NThK6yzuExLSaTqPjlF3Fs/ASR1r2HODJylCj9+hthrnN8bIPZIGaumyku//hy8fXBr+0fqDRTiFeihFg8XAjj2fPallEiOj/9s/jPHxkOzFbSWuzNKRedn/5ZLFx75OzGqgIhPp8sRMFBu8cHdgob7rFy/dlMunXqxufXfU6geyDTVk3jv8f/6/CYTt7eRL67kMBHHqHihx/IunMKxryW0UN27RfMjU8kYTJY+O61neSkNT+x4Z8RfbWRFe/sYc/qHHpdHcn4v/XB3bt5BYoaYzx5kqw7p5A38wmE2Uz4a/OI+/W/dLrlZjQujo1tMBuY+ftMfsv6jSeTn+SWHrfYN5DJAMvuAQFMXnJWAJ4Qgn+vOUKApwu3DYh2aM6S1qFXpC/Duwfxn43HqWq8uvAKhjuWnmWTuhhIYWEHkd6RfHbtZ/QK7MWsDbP4aP9HDquPFI2GoBl/JXLhOxiOHSNjwg2Uf/d9i6ilQmJ8mPRMMt4BbqxYuIf9G1rHINZWlORV8+2rO8g/Ws6IqT0YdstlODmol6/euInjN95EXXo6Ya++QuyK5fhOmICibWYk9TnQm/TMWDeD33N+Z/YVs7mr511Ndzofa16AvBSY8G/oFHNW89KdOWw8WsyjV3fF3Y4065K24fFRl1GuM/D88rQ2m4MUFnbi6+rLB9d8wJiYMSxIWcC/tv0Lcwtkg/QeNYouy3/CLSGBE3PmkPvwIxgLCx0f19+Nm57qR3RPf9Z/mc6Grw+3y/Ktx3YVsuy1FExGCzfOTCJ+sGOePsJspuidheQ88ADawEBili3Db+JEh4oWNaTemL05bzPPD3qe23rcZv9g6b+q9Zr73w89J57VnFFUzfPL0xgcF8Ddg2Ps/x1Jq5MY5cf0Ed34blfuqWqGrY1MJOggFmHhrZS3WHJgCcMjhzNv2Dw8nB2vMiYsFko//ZSiNxegcXcn9Pnn8Ln2WsfnaxFs/v4oe1bnEBjlxZj7L8cvpH1URdu7Loc/vjlCSBcfrn2wF55+jiVaM5WUkP/UU9Rs3oLvxImEPjcXjbtjQXsNqTZU8+iaR0ktSuWlIS8xPm68/YNV5ML7Q8E3Eu5bfVatCoPJwqT3N5NVouN/jw0j1NftPANJLlVMZguTF2/haGE1vz42jAi/lrkWL7lEgpcsxUfg0C92d9coGmYmz2T2FbPZkLeBO1beQU5ljsPTUjQaAu6+my4/fI9zdDR5j88kb+YTdlXfO2O+GoWhk7px3cO9qCrVs/TlHaRvO+nwfNsSIQTblmfwxzdH6JIYyMSZfR0WFLqUFI7feBO6lF2EvfQiYa+83KKCoqKugmmrprG3aC+vDXvNMUFhNsGy+8BshEkfnyUoAN5afZi9uRXM+0svKSj+pGidNLx1Sx8sFsHj36RibuUYKiks1r4IS6c6JDAAbutxG4tGLaJQV8itv9zKlvwtLTI917g4Yr76kqC/zaDyt9/IGD+BylWrHB63S2IQt/5jAIFRXqxeksbqj9Mw6Nu2ILw9WCzCGrGeSfyQMMZOu9wht1hhNlP8/vtkTb0Lxc2NmK+/wm/SpBbNxnq47DC3/nwrh0oPMX/4fMbEjHFswHX/gpytMO4tCOx6VvPWjBIWrT/Grf2jGCvTevyp6RzgyT9vuJztx0t5v3FW2ouMVEPpK+GziXBiL9z2FXQb7dA8cipzmLFuBhkVGTzR7wmmJExpsRuN/tAh8v8+m7qDB/G57jpCnv0H2k6dHBrTYrawc2UmO1Zm4hfswTX39SQo2o5o4UbU6YyUFegoL9BRdlJ9Ly/QUVtlILJ7J+L6BRPdM8CuWtb1mI0WVi1J49iuQpLGRDNwYpxDf2tjQSH5s2ah27YNn3HjCH3+OYfqZJ+LVVmrmLNxDl7OXiy4egGJQYmODbhtMfx3FvSdAjcsPKu5Qmdk7NsbcHN24ue/DsXT1XGDvKRtEULw16928+v+k3z38GASo/ya7nQBbFVDSWEBUFsGn0yAonTVDS12uENzqTHWMGfjHNZkr2F87HjmDpqLm7Zllv7CaKT4ww8pXvQ+Tt7ehM6di89YB59Mgbz0MlZ9dIDaGiODJsaROKL5aTCERZC1v4S963LIOXhaXaZoFHyD3PEL8cDF3Yns/aXoa4xoXZ2IuTyAuKRgOvdqnuAw6E389/195B4qY/BfutJ3tGNuoNXr15P/zN+x6PWEPvssvjdObNHVhEVYWLh7IR/u+5DeQb1ZMHwBwR4OpAQXAja8AeteUpPKTfrorGI4Qgimf7mb/x1omZuK5NKhQmfk2rc34KLV8MuMKx16CJDCornoSuHjcVCaAXd+BzFDHJqPRVhYvHcx76W+R8+Anrx85cvE+p6V3spu9OmHOTF7NvoDB/AeO5aQp2fhHOaYiqG22sDaTw+RubeY6AR/RtwVj6dv07p/g97Ewc0n2Lcul4qiWjz9XIkfEkZwtDd+IR74BLmf4bpqMVvIO1LOsZRCMlKLqK0yonXWEBLrS1icL2FdfQnt4ouL++l/ACEEa0etwAAAE4tJREFUVaV6irKqKMyq4vjeYsoLdIyY2oMeA+0/bmEwUPjmAko//hjX7t2JWPAmrrEtd54AqgxVPPPHM2zI3cBN3W5izhVzcHFyIC5DCPjtH6rnU+9b4YZ31bKbjViWksuT3+5h1tjuPDL8bPWU5M/N1owSbvtwKzf3i2LepN52jyOFhT1UF8HH10FlPkz5AaIGODyvtdlr+cemf1BrquWenvfwQO8HcNe2jKFUmEyU/OcjihcuRJhMeA4ahO+NE/EeNcpuY6wQggMb8ti47Cgubk6MmBpPTK/As/YzmywUZlVxNKWAg5tPYNSbCeniQ+KIKGKTgmyOa7CYLeQfreB4ahEnjlVQnFOFEGra/oBIL4I7+1Bdqqcwqwp9jRqQpNEoBER6MWB8l3POzVaMBQXk/nUG+r176XT77QQ/PQuNa8uUqqwnvTSdJ9c/SW5VLk8PeJpbut/i2IrFYoafH4ddn8CAaTB2HpzDjXfdoUIe+WIXvSN9+fKBgTKrbDvl9f8d4t11x1hyT3+u7m7fSlUKC3upPKEKjJpimPoTRCQ13acJimuLeXPnm6zIWEGEVwSzr5jNsMhhjs/ViiE3l4rvf6Dip58w5uWh8fTEe+wY/CZOxD052a6bU0l+Nav+c4CSvBp6j4hkwLguFOdUk3+0nLzD5RRkVGAyWtBoFOL6BZM4IoqQLo6n+TboTRRkVJJ/rJwTR1Xh4eXvRnC0N8GdvQnq7ENAhKfDuZ10u3aT+7cZiBodYa+8gs+Yaxyee0PqzHUs3rOYJfuX4OPqwxtXvUH/0P6ODWo2wvfT1JxPVz6ppqk+x7ldujOHv3+/j/gwb5bcPYAg75YVgJJLB6PZwqdbsrhzYDSuWvv+J6SwcISKXFhyLVQXqmmABz0Kgd0cHnbHyR28tPUlMioyGBk9kmcGPEOoZ2gLTFhFWCzodu6k4sefqPr1Vyw6HS5xcQTcfz++465HcW5ePQST0cyW74+xd12DYkoKBEZ6Ed7N79TL3cuxVBetTdm333Lyny/iHBZG1LsLce3m+LltSEpBCs9vfp7MykwmxE3gqeSn8HNz0F5QWwbfPwhH/gej/wlD/nbWLkKoJVLnrzrMld0CWXRnP7ykQVvSBFJYOEpFHqx/FfZ8A+Y6tdLYoEfVamOOeNyYjXyS9gmL9yxGURTGxozlutjr6B/SHydNy6VfsOh0VP72G6VLPqYuPR1teBgB99yL36S/NFtFlZ1WQv6RckK7+BIa54ubp/0lR9sSYTRS8MorlH35FZ5DhhAx/w2c/FrO6FtlqOKtlLdYengpEV4RzB04l8ERjlXKQwjY/x38+oxqV7t+PiTfc9ZuZotg7k/7+WJbNjf1jeDVv/TGRSs94yVNI4VFS1FdBDv+D3Z8CLoSCEuEQdMhYeJZSdqaQ151HotSF7E6ezU1xhoC3QMZGzOWa7tcS6/AXi3miSOEoGbDBoo/+JDalBScOnXCf+oUOt12W4veKC91TCUl5P3tMXQ7d+J/770Ez3y8RfI6AZysOcnqrNUsObCE4tpi7oi/g+l9pjseyV+WCT/PhGNrIDwJxr8NYWcbMmsNZmZ8vZtVaQU8MjyOp8Z0b1FPLkn7RgqLlsZYC3u+hi3vQskR8AxWn/D63XPOegG2ojfp+SPvD1ZmrGRD7gYMFgNR3lFMumwSf+n2F3xdfVvsEHQpKZR88CHV69ejODvjNXw4PuPH4TV8uMNZUy81zOXl6HbvpnZ3KrW7dlG7bx8AYS+9iO94B6KlreRX57MqaxWrslaxp2gPoFZUnHPFHHoF9XJscLNRvc5+fxU0TjByrprv6Rwrz7T8Smb/sI89ueU8P74nd8mcT5JmIoXFxcJigWNrYfsHcOQ39R84frzqmRI9yCEVVZWhijXZa1h+bDk7Tu7AXevOxK4TuTP+TqJ9Wi6dtD79MBXff0/FL79gLi5G4+ODz5gx+Iwfh0dycoslyWstLDU16NPT0acdRJ+WRm1qKoYMa3EqrRa3+Hg8kvrie+ONuPWwL5WzRVg4WHKQjXkb+T3nd/aX7Acg3j+e0Z1HM6rzKLr4dnHsQEx1kLYcNr0FBfvV+IlrXwPfiLN2zSqp4c1Vh/kpNR9fd2fm/aWXjM6W2IUUFq1BaQbs+A/s/gz0FRCcAPEToPu1qrrKAcGRXprOZ2mfsfL4SkwWE1dFXcXUhKkkBSe1mG1DmEzUbN1G5YrlVK5ajdDpcAoIwGNAfzz698dzwABc4hyLirZ7bmYzhqws6g4fwaLTIUxGhNEIJhPCaMRSV4fhWAb6gwcxZGaqun3AqVMn3Hv3xj0pCfe+fXDv1ctuN+KS2hI2529mU/4mtuRvoVSv1gK5POByRseMZnT0aKJ8ohw/2OIjkPIxpH4JtaXQqQtc8xLEjztr18IqPe+sOcpX27PROincN7QL04bF4ev+57QjSdoeKSxaE4MO9n0LqV9AznZAgHc4XDZGFRxdhoGz9YYlhOorL6zpzLUXdmssri3m60NfszR9KWV1ZWg1WsI9wwn3CifCK4JwL/VzZ+/OxPnF2a0nt+h0VK1ZS/UfG9Bt34HppJpc0MnfH4/kZDySk3FPSsKtR3e7df3CbMZcXo4wGhEmM1jM6rvZhKW2lrrDh9XVwcGD6NPTETrdBcfThofhFp+AW3w8bgkJuCXEow0JcUi4CSHYkr+Fj/Z/xLaT2wDwd/NncPhghkQMYVDYIALcA+we/xT6CjiyShUSmX+otbK7X6eqNrsMPyN2QgjBkcJqftidx8ebMjGaLdw6IIoZI7oR7COTAkoc45ITFtZa2uVArBDiA1vam+rTkDYVFg2pKVbVU+kr4dg6MFSD4gSKRhUQolENCf9YiOwPEckQmQwhl5/TcK436VmdvZqjZUfJr84nryaP/Op8imuLz9gvzDOUON844ny7EOcbS1f/7sT5dW2WEBFCYMzNRbd9O7rtO6jZsR1T/gkAFHd33Hv1wr1vX9z79sG1a1csOh2W6hosNdVYqqowV1djrqjAVFCIqaAAY0EBpoICTMXFYL5wzQ+Nhweu9Tf/+HjcenRH4+OD4uyMotWqr/rPjewsFmHheMVxqgxVWITl9Av1PdQjlM4+nc+5MjNbzKzKXsVH+z7iYOlBgt2DmdR9EsMihxHvH49GcVA1pyuF7C2QuQmyNsLJfeq14BcN/e6GPneCd8ip3etMZrZmlLL2YAFrDhWSW1YLwITEcGaOvoyYQE/H5iORWLmkhIWiKEmoN/xliqJMQ635uutC7dam8/ZpzCUjLBpiqlOfGrO2qDcGjZMqODRa9cnRbIKTeyF3J1Rb04Q7uaoqLL8o8AwCz0DwCFQ/e/irN53yLNVTpiwLfdlx8qvzOa4xk+HszFEXZzKcnTnurKWuwdNphEVDN4073Vw60dUjBG+PYCpc3KjUulCh0VCJhQqT+iQf5BFEsEcwwR7BBLmrn33LjJj27lcNxrt3oz90qMkbv8XTHXOgL5YAPyyBnbAE+qEEdMLHMwBfT39cXdzBSYvipEFxccE1Lg7n6GibbSZ15jr2F+9nd+FudhXsIrUolSpD1QX7uGvd6eHfg4SABBICEujh34O9RXtZsn8J2VXZxPjEcO/l93J97PX2peSoLYfSY1CSoaopS49BwQH1hVDPb2R/NZ1Ml2EQPZhakyCjuJpjRTUcK6wm7UQlm44WozOYcXPWMLRrICN6hDCiR7BMLy5pcS41YTEPWCWEWK0oyiggSQjx2oXagYAL9WnMJSksbEUIqMxThUbuDshPhaoT6iqlruLcfVx9oFNn8Ousls909QYUq51EwYyFPFM1R3UFHKnJ56ihjKPmGjIVE6ZzqGk8LRZ8LWDRaChWwHQOTY6bxhkfrQc+Wk8C8CTupEKnMjNFmloKlCpOaKqocRHoXEHnCnUuF1YHBbgFEOEVQYRXBCGeISgoGC1GjBYjJovpjHej2XiqzWA2oDfrOVZ+DKNFTQES6xtL3+C+9A3uS5B7EIqioFE0p16guiunlaSRVpLGodJD1JpqT80lwT+B+3vexYiwwTgJi+qRZKpVVYyGGjDWqJ+NOlWFpCtRz4+u2Ppegqg6gaIrOX1aUTB6hVPrE0thp75ke/flqHN3ivUKZTojhVV1ZBRVk1deW29yQVEg2t+DoV0DGRUfwqC4ANwcjFaXSC6ErcKitcI7/YDSBt8bK33P1d5Unxbh9f8d4rcDBRdjaDvoBFxjfQGu4OxixFdU4Csq8BOVVClenNCEUoUX6BTQAc2oshiAEZOmADelAn+zgSCznlBzDcGijABLKf6iDE9RiUapxKCpodapllInhRInJyo1GiqdytR3jYYUVw2mMAg2mwk1mYk3mQkxmQmsEfhWagAFs6LBhIIZDQIFvaKhQKvhpFbhpLaQk2VFpGr3UKwFRagXpFaoLyfrZ+cG252tL28huMEIPessxNcJ/DIPAYdQ+AoFAQjrL55+dcHCMCxohAWBhVxnhcMuToSZjVxx/FeUlF+bdbYq8aBM+FAivCkV3hSKRDJFCJkilOMijGwRTJ3eBc7QFGbiqtUQ4OlCgJcrSdGdmNwviq7BXsQFexIT4CmFg+SS5E+dC8CqnpoGEB1tn2tpiI8b3UJatmZBy6PWrKi0fgu1vhwdD8AI5Fhf50QI3Cw1eFqqcLHo8bLoCLDU4ipqcTPX4mKpRStMOGFE62REqzFRJ4yUChMaLCjCjMZ6g1YQeAozsUBXswXMAqUOQKA0tuVYUYDzr30VUEDnrqBTRzm13YK6whJKA3GhaLCgwaI4IdBgUTR4oaFCcea/nk6YFWfMivbUu0lxwah1x6B4YHRyw+TkgVHjRp3WC6OLH2hd0GoUnDQatBoFrZNCgLMTEc5OjHTW4ObshKvWCQ8XJ/w9Xejk6YK/hwvuDtTwkEjaitYSFuWAv/WzH1BiY/uF+mA1en8AqhrKnolNHRTD1EEx9nSVSCSSDkNrCYtvgHqdWCywGkBRFD8hRPn52s+zTSKRSCStTKuE6tZ7MVkN1eUNvJrWnK/9An0kEolE0sq0ms3iXHESQoh+TbRfMLZCIpFIJK3DnysJkEQikUjaBCksJBKJRNIkUlhIJBKJpEmksJBIJBJJk0hhIZFIJJImaTcpyhVFKQKy7OweSKOkDB0AecwdA3nM7R9Hj7ezECKoqZ3ajbBwBEVRdtqSSKs9IY+5YyCPuf3TWscr1VASiUQiaRIpLCQSiUTSJFJYqHTESHF5zB0Decztn1Y5Xmmz6EAoijJPCPF0g+82l62VSC51FEWZVV8gTV7bLU+HX1koijJJUZRR1toY7Rbr8U1q8D0JQAixuuH39oSiKNOsr3kNtrXr893g+BafY1u7PGY4lXB0tPVzR7i251nfpzXYdlHPc4cWFh3hoqrH+nSV0WDTLahPXli3j2r1SV1ErDeP1dbjjrX+E7Xr811/w7QeX6yiKEnt/ZjPQ7u+tq1MUxTlGNb/6dY4zx1aWNAxLqrz0Spla9uQWE6fzwzr93Z9voUQq4UQD1q/+lvT+rfrYwb1xlh/k7TS3q9tgAeEEHENjvuin+c/dVnVFqAjXFQdkkZ66iTUAlv9aOfnW1EUP9RSw69YN3WEa9y/6V3aHf7WlWSS1U5z0c9zRxcWHZmmSt22C6zL8V1CiF2KojS5/58da+XJ1xRFWaUoSrsvGHaOVQV0gGu7/mFIUZTRVqFx0enowqLdX1QX4HylbNsboxp4gLXr891Ab70L2IXq0NCujxnVNhOLeoz+1r9Bu762rQbsUiHEMtTzGUsrnOeObrP4BvUPDe3womqI1ZUwud5ToiOUrVUUZVoDV8pRtP/zPYozbxgZtPNjFkIss940QT3mjnBtZ3D6PAYAO2mF89zh4yysN88MpD92u8J6o/gWVY/rD0wWQqxuz+fbaq+42fo1rn5F1Z6PuaNiffgD9ZzWPxBd1PPc4YWFRCKRSJqmo6uhJBKJRGIDUlhIJBKJpEmksJBIJBJJk0hhIZFIJJImkcJCIpFIJE0ihYVEIpFImkQKC4lEIpE0iRQWEolEImkSKSwkEolE0iQdPZGgRNIkDdJo7ETNuxOLmqhvMbAM2GHdtT/wijXzKw2ygcYCfvVpGaxtSai5nHah5jRaLYQot/aJRU1T0r9hGVyJpC2R6T4kkiawlrD8pkGCumlCiA+s2481SBc9CbhFCDHZ+v0Y0M8qBBYD31rzU/kBa4QQ/az7zbL+1DJgsRCivjzoNBoJGYmkrZArC4mkaRYDqxRFyQBWNbp5nyo4I4RYpijKtw3a+gGjrHU0/DmdFbR+lVLfrz4R3CygvMGKpGExG4mkTZHCQiKxASFEnFV19KCiKN/Wrx7OR/3qATXbbYaiKP1t/KnScxTzkUjaHGnglkia5kFFUfyEELsa1Liu51RJT6saqj419CjUG3+G9bufdZ9RwFIa1Ui2bl/G6aI9DbdLJG2OtFlIJE1gVQ9loFYj80MtqLPaarPwA1ZZd+3foIaEH/AhalGacmv7ZE7bLZKAW6x9Gxu4k7AavhsU9pFI2hQpLCQSO7EKix3yhi7pCEg1lEQikUiaRAoLicQOGsRJPKgoSmxT+0skf3akGkoikUgkTSJXFhKJRCJpEiksJBKJRNIkUlhIJBKJpEmksJBIJBJJk0hhIZFIJJImkcJCIpFIJE0ihYVEIpFImuT/Ac0b6S3lqcFVAAAAAElFTkSuQmCC\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "t0 = 0\n", "t1 = 180\n", "t2 = 360\n", "t3 = 540\n", "t4 = 720\n", "x_t0 = states_Gauss_0.states[t0]\n", "x_t1 = states_Gauss_0.states[t1]\n", "x_t2 = states_Gauss_0.states[t2]\n", "x_t3 = states_Gauss_0.states[t3]\n", "x_t4 = states_Gauss_0.states[t4]\n", "\n", "plt.plot(xs, np.abs(x_t0))\n", "plt.plot(xs, np.abs(x_t1))\n", "plt.plot(xs, np.abs(x_t2))\n", "plt.plot(xs, np.abs(x_t3))\n", "plt.plot(xs, np.abs(x_t4))\n", "plt.xlabel('space', fontsize=14)\n", "plt.ylabel('Wavepacket shape', fontsize=14)\n", "plt.legend(['t0', 't1', 't2', 't3', 't4'])\n", "plt.show()\n", "plt.close()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The wavepacket disperses over time keeping the periodic nature in space, since we picked a periodic boundary cndition for space." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### With initial momentum" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We initialize a Gaussian state with initial crystal momentum $\\pi/3$ and plot the momentum expectation value with the unitary Schrodinger evolution." ] }, { "cell_type": "code", "execution_count": 27, "metadata": {}, "outputs": [], "source": [ "sig = 3\n", "xm = num_cellN //2 + 15\n", "psi0 = 1/np.sqrt(2*np.pi*sig**2) * np.exp(-(xs-xm)**2/2/sig/sig)\n", "psi0 = Qobj(np.sqrt(psi0) * np.exp(np.pi*1j*xs/3) )" ] }, { "cell_type": "code", "execution_count": 28, "metadata": {}, "outputs": [], "source": [ "k = discrete_space_periodic.k()\n", "tlist = np.linspace(0,24,801)\n", "options = Options(atol=1e-12)\n", "options.store_states = True\n", "states_Gauss_k = mesolve(H0, psi0, tlist, [], [k], options=options)" ] }, { "cell_type": "code", "execution_count": 29, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plt.plot(tlist, states_Gauss_k.expect[0])\n", "plt.xlabel('Time', fontsize=14)\n", "plt.ylabel(r'$\\langle k \\rangle$', fontsize=14)\n", "plt.ylim([np.pi/3.01, np.pi/2.99])\n", "plt.show()\n", "plt.close()" ] }, { "cell_type": "code", "execution_count": 30, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "1.0471975511965976" ] }, "execution_count": 30, "metadata": {}, "output_type": "execute_result" } ], "source": [ "np.pi/3" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The crystal momentum operator commutes with the Hamiltonian, so it is conserved in a Hamiltonian evolution, as expected." ] }, { "cell_type": "code", "execution_count": 31, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "t0 = 0\n", "t1 = 40\n", "t2 = 80\n", "t3 = 120\n", "t4 = 160\n", "x_t0 = states_Gauss_k.states[t0]\n", "x_t1 = states_Gauss_k.states[t1]\n", "x_t2 = states_Gauss_k.states[t2]\n", "x_t3 = states_Gauss_k.states[t3]\n", "x_t4 = states_Gauss_k.states[t4]\n", "\n", "plt.plot(xs, np.abs(x_t0))\n", "plt.plot(xs, np.abs(x_t1))\n", "plt.plot(xs, np.abs(x_t2))\n", "plt.plot(xs, np.abs(x_t3))\n", "plt.plot(xs, np.abs(x_t4))\n", "plt.xlabel('space', fontsize=14)\n", "plt.ylabel('Wavepacket shape', fontsize=14)\n", "plt.legend(['t0', 't1', 't2', 't3', 't4'])\n", "plt.show()\n", "plt.close()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Due to the initial momentum, the wave-packet moves to the right keeping the momentum as well as disperses." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Simulating a hardwall" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can simulate a hardwall by putting in a large potential on the first and last site of the lattice as well as change the boundary condition to \"aperiodic\"." ] }, { "cell_type": "code", "execution_count": 32, "metadata": {}, "outputs": [], "source": [ "sig = 3\n", "xm = num_cellN //2 + 5\n", "psi0 = 1/np.sqrt(2*np.pi*sig**2) * np.exp(-(xs-xm)**2/2/sig/sig)\n", "psi0 = Qobj(np.sqrt(psi0) * np.exp(np.pi*1j*xs/3) )" ] }, { "cell_type": "code", "execution_count": 33, "metadata": {}, "outputs": [], "source": [ "discrete_space_aperiodic = Lattice1d(num_cell=num_cellN, boundary = \"aperiodic\",\n", " cell_num_site = 1, cell_site_dof = [1])\n", "\n", "psiL = discrete_space_aperiodic.basis(0,0,[0])\n", "psiR = discrete_space_aperiodic.basis(num_cellN-1,0,[0])\n", "Ha = discrete_space_aperiodic.Hamiltonian()\n", "H_p = 1e4*(psiL * psiL.dag() + psiR * psiR.dag() )\n", "tlist = np.linspace(0,30,5001)\n", "options = Options(atol=1e-12)\n", "options.store_states = True\n", "states_Gauss_k_HW = mesolve(Ha+H_p, psi0, tlist, [], [k], options=options)\n", "# Warning: This calculation takes upto a minute" ] }, { "cell_type": "code", "execution_count": 34, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "t0 = 0\n", "t1 = 1000\n", "t2 = 2000\n", "t3 = 3000\n", "t4 = 4000\n", "t5 = 5000\n", "x_t0 = states_Gauss_k_HW.states[t0]\n", "x_t1 = states_Gauss_k_HW.states[t1]\n", "x_t2 = states_Gauss_k_HW.states[t2]\n", "x_t3 = states_Gauss_k_HW.states[t3]\n", "x_t4 = states_Gauss_k_HW.states[t4]\n", "x_t5 = states_Gauss_k_HW.states[t5]\n", "\n", "plt.plot(xs, np.abs(x_t0))\n", "plt.plot(xs, np.abs(x_t1))\n", "plt.plot(xs, np.abs(x_t2))\n", "plt.plot(xs, np.abs(x_t3))\n", "plt.plot(xs, np.abs(x_t4))\n", "plt.plot(xs, np.abs(x_t5))\n", "plt.xlabel('space', fontsize=14)\n", "plt.ylabel('Wavepacket shape', fontsize=14)\n", "plt.legend(['t0', 't1', 't2', 't3', 't4', 't5'])\n", "plt.show()\n", "plt.close()" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "plt.plot(tlist, states_Gauss_k_HW.expect[0])\n", "plt.xlabel('Time', fontsize=14)\n", "plt.ylabel(r'$\\langle k \\rangle$', fontsize=14)\n", "plt.show()\n", "plt.close()" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "kd = discrete_space_aperiodic.k()\n", "psi_f = states_Gauss_k_HW.states[3200]\n", "kex0 = psi0.dag() * kd * psi0\n", "kexf = psi_f.dag() * kd * psi_f\n", "print('Initital momentum: ', kex0)\n", "print('Final momentum: ', kexf)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We confirm that, the final momentum is indeed exactly the opposite of the initial momentum." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Dissipation induced translational motion " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can initialize a Gaussian state with no initial momentum and devise a dissipation induced translational motion scheme with forming a collapse operator that translates the wavepacket by one lattice point periodically." ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "num_cellN = 51\n", "discrete_space_periodic = Lattice1d(num_cell=num_cellN, boundary = \"periodic\", cell_num_site = 1,\n", " cell_site_dof = [1])\n", "H0 = discrete_space_periodic.Hamiltonian()\n", "xp = discrete_space_periodic.x()\n", "kp = discrete_space_periodic.k()\n", "xs = np.linspace(0, num_cellN-1, num_cellN)" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "sig = 3 # A standard deviation of 3\n", "xm = num_cellN //2\n", "psi0 = 1/np.sqrt(2*np.pi*sig**2) * np.exp(-(xs-xm)**2/2/sig/sig)\n", "psi0 = Qobj(np.sqrt(psi0))" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "lat_trR = np.diag(np.zeros(num_cellN-1)+1, -1)\n", "lat_trR[0, num_cellN-1] = 1 # translate right\n", "lat_trL = np.diag(np.zeros(num_cellN-1)+1, 1)\n", "lat_trL[num_cellN-1, 0] = 1 # translate left\n", "trR = Qobj(lat_trR)\n", "trL = Qobj(lat_trL)" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "gamma = 2\n", "col_op = [np.sqrt(gamma) * trR ]" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "tlistC = np.linspace(0,24,801)\n", "options = Options(atol=1e-12)\n", "options.store_states = True\n", "rho0 = psi0 * psi0.dag()\n", "states_Gauss_0 = mesolve(H0, rho0, tlistC, col_op, [kp], options=options)" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "plt.plot(tlistC, states_Gauss_0.expect[0])\n", "plt.xlabel('Time', fontsize=14)\n", "plt.ylabel(r'$\\langle k \\rangle$', fontsize=14)\n", "plt.ylim([-1e-8, 1e-8])\n", "plt.show()\n", "plt.close()" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "t0 = 0\n", "t1 = 140\n", "t2 = 280\n", "t3 = 420\n", "t4 = 560\n", "\n", "diag_x0 = np.diag(states_Gauss_0.states[t0])\n", "diag_x1 = np.diag(states_Gauss_0.states[t1])\n", "diag_x2 = np.diag(states_Gauss_0.states[t2])\n", "diag_x3 = np.diag(states_Gauss_0.states[t3])\n", "diag_x4 = np.diag(states_Gauss_0.states[t4])\n", "\n", "plt.plot(xs, np.abs(diag_x0))\n", "plt.plot(xs, np.abs(diag_x1))\n", "plt.plot(xs, np.abs(diag_x2))\n", "plt.plot(xs, np.abs(diag_x3))\n", "plt.plot(xs, np.abs(diag_x4))\n", "plt.xlabel('space', fontsize=14)\n", "plt.ylabel('Wavepacket shape', fontsize=14)\n", "plt.title('Nonunitary evolution')\n", "plt.show()\n", "plt.close()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The wave-packet disperses and trannslates to the right, but the momentum expectation remains zero, since the translation is induced by the dissipation." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Example: A Coupled Resonator Optical Waveguide¶" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We now demonstrate the basic functionality of QuTiPs Lattice1d class of the lattice module with the example of a Coupled Resonator Optical Waveguide(CROW)(ref. [2])." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "![title](images/CROW.png)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\\begin{eqnarray}\n", "H_0 = \\sum\\limits_{n} \\left(H_a + H_b + H_{ab} + H^{\\dagger}_{ab} \\right) \\\\\n", "H_a = \\frac{J}{2} a_n^{\\dagger} \\left( e^{-i\\eta} a_{n-1} + e^{i\\eta} a_{n+1} \\right) \\\\\n", "H_b = \\frac{J}{2} b_n^{\\dagger} \\left( e^{i\\eta} b_{n-1} + e^{-i\\eta} b_{n+1} \\right) \\\\\n", "H_{ab} = J a_n^{\\dagger} \\left( sin (\\eta) b_n + \\frac{1}{2} \\left(b_{n-1} + b_{n+1} \\right) \\right)\n", "\\end{eqnarray}" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "For implementation with Lattice1d class, we resolve the Hamiltonian into unitcells.\n", "\\begin{equation}\n", "H = \\sum\\limits_{n} H_n\n", "\\end{equation}" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\\begin{eqnarray}\n", "H_{n}= \\begin{bmatrix}\n", " a_{n}^{\\dagger} & b_{n}^{\\dagger} \n", "\\end{bmatrix} \n", "\\begin{bmatrix}\n", " o & J sin(\\eta) \\\\\n", " J sin(\\eta) & 0 \n", "\\end{bmatrix}\n", "\\begin{bmatrix}\n", " a_{n} \\\\\n", " b_{n} \n", "\\end{bmatrix} \n", "\\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\\\\n", "+ \\left( \\begin{bmatrix}\n", " a_{n}^{\\dagger} & b_{n}^{\\dagger} \n", "\\end{bmatrix} \n", "\\begin{bmatrix}\n", " e^{i\\eta} & 1 \\\\\n", " 1 & e^{-i\\eta} \n", "\\end{bmatrix}\n", "\\begin{bmatrix}\n", " a_{n+1} \\\\\n", " b_{n+1} \n", "\\end{bmatrix} + H.C. \\right)\n", "\\end{eqnarray}" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "In the present case, we have 1 site in every unit cell and 2 dofs per site. And" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\\begin{equation}\n", "\\text{cell_Hamiltonian} = \\begin{bmatrix}\n", " o & J sin(\\eta) \\\\\n", " J sin(\\eta) & 0 \n", "\\end{bmatrix}\n", "\\end{equation}\n", "\\begin{equation}\n", "\\text{inter_hop} = \\begin{bmatrix}\n", " e^{i\\eta} & 1 \\\\\n", " 1 & e^{-i\\eta} \n", "\\end{bmatrix}\n", "\\end{equation}" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "cells = 4\n", "cell_num_site = 1\n", "cell_site_dof = [2]\n", "J = 2" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "### For eta = 0\n", "eta = 0\n", "H_cell = Qobj(np.array([[0, J * np.sin(eta)], [J * np.sin(eta), 0]]))\n", "inter_cell_T = (J/2) * Qobj(np.array([[np.exp(eta * 1j), 1], [1, np.exp(-eta*1j)]]))\n", "CROW_lattice = Lattice1d(num_cell=cells, boundary = \"periodic\", cell_num_site = 1,\n", " cell_site_dof = [2], Hamiltonian_of_cell = H_cell,\n", " inter_hop = inter_cell_T )\n", "CROW_lattice.plot_dispersion()" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "### For eta = pi/4\n", "eta = np.pi/4\n", "H_cell = Qobj(np.array([[0, J * np.sin(eta)], [J * np.sin(eta), 0]]))\n", "inter_cell_T = (J/2) * Qobj(np.array([[np.exp(eta * 1j), 1], [1, np.exp(-eta*1j)]]))\n", "CROW_lattice = Lattice1d(num_cell=cells, boundary = \"periodic\", cell_num_site = 1,\n", " cell_site_dof = [2], Hamiltonian_of_cell = H_cell,\n", " inter_hop = inter_cell_T )\n", "CROW_lattice.plot_dispersion()" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "### For eta = pi/2\n", "eta = np.pi/2\n", "H_cell = Qobj(np.array([[0, J * np.sin(eta)], [J * np.sin(eta), 0]]))\n", "inter_cell_T = (J/2) * Qobj(np.array([[np.exp(eta * 1j), 1], [1, np.exp(-eta*1j)]]))\n", "CROW_lattice = Lattice1d(num_cell=cells, boundary = \"periodic\", cell_num_site = 1,\n", " cell_site_dof = [2], Hamiltonian_of_cell = H_cell,\n", " inter_hop = inter_cell_T )\n", "CROW_lattice.plot_dispersion()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The three dispersion relationships for the three values of $\\eta$ can be compared with the published results in Ref [2]." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Unitary dynamics example" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### No initial momentum" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "num_cell = 100\n", "J = 2\n", "eta = np.pi/2\n", "H_cell = Qobj(np.array([[0, J * np.sin(eta)], [J * np.sin(eta), 0]]))\n", "inter_cell_T = (J/2) * Qobj(np.array([[np.exp(eta * 1j), 1], [1, np.exp(-eta*1j)]]))\n", "CROW_lattice = Lattice1d(num_cell=num_cell, boundary = \"periodic\", cell_num_site = 2,\n", " cell_site_dof = [1], Hamiltonian_of_cell = H_cell,\n", " inter_hop = inter_cell_T)" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "HCROW = CROW_lattice.Hamiltonian()\n", "kC = CROW_lattice.k()" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "nx = 1\n", "ne = 2\n", "positions = np.kron(range(nx), [1/nx for i in range(ne)])\n", "S = np.kron(np.ones(num_cell), positions)\n", "R = np.kron(range(0, num_cell), np.ones(nx*ne))\n", "xA = R+S\n", "sig = 3 # A standard deviation of 3\n", "xm = num_cell //2\n", "psi0 = 1/np.sqrt(2*np.pi*sig**2) * np.exp(-(xA-xm)**2/2/sig/sig)\n", "psi0 = Qobj(np.sqrt(psi0))\n", "tlistW = np.linspace(0,30,5001)\n", "options = Options(atol=1e-12)\n", "options.store_states = True\n", "states_CROW_u = mesolve(HCROW, psi0, tlistW, [], [kC], options=options)" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "plt.plot(tlistW, states_CROW_u.expect[0])\n", "plt.xlabel('Time', fontsize=14)\n", "plt.ylabel(r'$\\langle k \\rangle$', fontsize=14)\n", "plt.ylim([-1e-8, 1e-8])\n", "plt.show()\n", "plt.close()" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "t0 = 0\n", "t1 = 1000\n", "t2 = 2000\n", "t3 = 3000\n", "t4 = 4000\n", "t5 = 5000\n", "x_t0 = states_CROW_u.states[t0]\n", "x_t1 = states_CROW_u.states[t1]\n", "x_t2 = states_CROW_u.states[t2]\n", "x_t3 = states_CROW_u.states[t3]\n", "x_t4 = states_CROW_u.states[t4]\n", "x_t5 = states_CROW_u.states[t5]\n", "\n", "plt.plot(xA, np.abs(x_t0))\n", "plt.plot(xA, np.abs(x_t1))\n", "plt.plot(xA, np.abs(x_t2))\n", "plt.plot(xA, np.abs(x_t3))\n", "plt.plot(xA, np.abs(x_t4))\n", "plt.plot(xA, np.abs(x_t5))\n", "plt.xlabel('space', fontsize=14)\n", "plt.ylabel('Wavepacket shape', fontsize=14)\n", "plt.legend(['t0', 't1', 't2', 't3', 't4', 't5'])\n", "plt.show()\n", "plt.close()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### With Initial momentum" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "sig = 3\n", "xm = num_cell //2 + 15\n", "psi0 = 1/np.sqrt(2*np.pi*sig**2) * np.exp(-(xA-xm)**2/2/sig/sig)\n", "psi0 = Qobj(np.sqrt(psi0) * np.exp(1*np.pi*1j*xA/3) )\n", "tlistCk = np.linspace(0,30,5001)\n", "options = Options(atol=1e-12)\n", "options.store_states = True\n", "states_CROW_uk = mesolve(HCROW, psi0, tlistCk, [], [kC], options=options)" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "plt.plot(tlistCk, states_CROW_uk.expect[0])\n", "plt.xlabel('Time', fontsize=14)\n", "plt.ylabel(r'$\\#langle k \\rangle$', fontsize=14)\n", "plt.ylim([1.046, 1.048])\n", "plt.show()\n", "plt.close()" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "t0 = 0\n", "t1 = 1000\n", "t2 = 2000\n", "t3 = 3000\n", "t4 = 4000\n", "t5 = 5000\n", "x_t0 = states_CROW_u.states[t0]\n", "x_t1 = states_CROW_u.states[t1]\n", "x_t2 = states_CROW_u.states[t2]\n", "x_t3 = states_CROW_u.states[t3]\n", "x_t4 = states_CROW_u.states[t4]\n", "x_t5 = states_CROW_u.states[t5]\n", "\n", "plt.plot(xA, np.abs(x_t0))\n", "plt.plot(xA, np.abs(x_t1))\n", "plt.plot(xA, np.abs(x_t2))\n", "plt.plot(xA, np.abs(x_t3))\n", "plt.plot(xA, np.abs(x_t4))\n", "plt.plot(xA, np.abs(x_t5))\n", "plt.xlabel('space', fontsize=14)\n", "plt.ylabel('Wavepacket shape', fontsize=14)\n", "plt.legend(['t0', 't1', 't2', 't3', 't4', 't5'])\n", "plt.show()\n", "plt.close()" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "t0 = 0\n", "t1 = 1000\n", "t2 = 2000\n", "t3 = 3000\n", "t4 = 4000\n", "t5 = 5000\n", "x_t0 = states_CROW_u.states[t0]\n", "x_t1 = states_CROW_u.states[t1]\n", "x_t2 = states_CROW_u.states[t2]\n", "x_t3 = states_CROW_u.states[t3]\n", "x_t4 = states_CROW_u.states[t4]\n", "x_t5 = states_CROW_u.states[t5]\n", "\n", "plt.plot(xA[range(0,200,2)], np.abs(x_t0.full()[range(0,200,2)]))\n", "plt.plot(xA[range(0,200,2)], np.abs(x_t1.full()[range(0,200,2)]))\n", "plt.plot(xA[range(0,200,2)], np.abs(x_t2.full()[range(0,200,2)]))\n", "plt.plot(xA[range(0,200,2)], np.abs(x_t3.full()[range(0,200,2)]))\n", "plt.plot(xA[range(0,200,2)], np.abs(x_t4.full()[range(0,200,2)]))\n", "plt.plot(xA[range(0,200,2)], np.abs(x_t5.full()[range(0,200,2)]))\n", "plt.xlabel('space(left sublattice)', fontsize=14)\n", "plt.ylabel('Wavepacket shape', fontsize=14)\n", "plt.legend(['t0', 't1', 't2', 't3', 't4', 't5'])\n", "plt.show()\n", "plt.close()" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "t0 = 0\n", "t1 = 1000\n", "t2 = 2000\n", "t3 = 3000\n", "t4 = 4000\n", "t5 = 5000\n", "x_t0 = states_CROW_u.states[t0]\n", "x_t1 = states_CROW_u.states[t1]\n", "x_t2 = states_CROW_u.states[t2]\n", "x_t3 = states_CROW_u.states[t3]\n", "x_t4 = states_CROW_u.states[t4]\n", "x_t5 = states_CROW_u.states[t5]\n", "\n", "plt.plot(xA[range(1,200,2)], np.abs(x_t0.full()[range(1,200,2)]))\n", "plt.plot(xA[range(1,200,2)], np.abs(x_t1.full()[range(1,200,2)]))\n", "plt.plot(xA[range(1,200,2)], np.abs(x_t2.full()[range(1,200,2)]))\n", "plt.plot(xA[range(1,200,2)], np.abs(x_t3.full()[range(1,200,2)]))\n", "plt.plot(xA[range(1,200,2)], np.abs(x_t4.full()[range(1,200,2)]))\n", "plt.plot(xA[range(1,200,2)], np.abs(x_t5.full()[range(1,200,2)]))\n", "plt.xlabel('space(right sublattice)', fontsize=14)\n", "plt.ylabel('Wavepacket shape', fontsize=14)\n", "plt.legend(['t0', 't1', 't2', 't3', 't4', 't5'])\n", "plt.show()\n", "plt.close()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## translation by dissipation" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "cells = 100\n", "nx = 2\n", "ne = 1\n", "positions = np.kron(range(nx), [1/nx for i in range(ne)])\n", "S = np.kron(np.ones(cells), positions)\n", "R = np.kron(range(0, cells), np.ones(nx*ne))\n", "xA = R+S" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "eta = np.pi/2\n", "H_cell = Qobj(np.array([[0, J * np.sin(eta)], [J * np.sin(eta), 0]]))\n", "inter_cell_T = (J/2) * Qobj(np.array([[np.exp(eta * 1j), 1], [1, np.exp(-eta*1j)]]))\n", "CROW_lattice = Lattice1d(num_cell=cells, boundary = \"periodic\", cell_num_site = 2,\n", " cell_site_dof = [1], Hamiltonian_of_cell = H_cell,\n", " inter_hop = inter_cell_T)" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "HCROW = CROW_lattice.Hamiltonian()\n", "kC = CROW_lattice.k()" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "lat_trR = np.diag(np.zeros(cells-1)+1, -1)\n", "lat_trR[0, cells-1] = 1 # translate to the right\n", "\n", "lat_trL = np.diag(np.zeros(cells-1)+1, 1)\n", "lat_trL[cells-1, 0] = 1 # translate to the left\n", "\n", "trR = Qobj(lat_trR)\n", "trL = Qobj(lat_trL)" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "gamma = 0.5\n", "col_op = [np.sqrt(gamma) * tensor(trL, qeye(2)) ] # We could have used trR for translation to the right" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "sig = 3\n", "xm = cells //2 + 15\n", "psi0 = 1/np.sqrt(2*np.pi*sig**2) * np.exp(-(xA-xm)**2/2/sig/sig)\n", "psi0 = Qobj(np.sqrt(psi0))\n", "tlistCN = np.linspace(0,30,601)\n", "options = Options(atol=1e-12)\n", "options.store_states = True\n", "states_CROW_nu = mesolve(HCROW, psi0, tlistCN, col_op, [kC], options=options)" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "plt.plot(tlistCN, states_CROW_nu.expect[0])\n", "plt.xlabel('Time', fontsize=14)\n", "plt.ylabel(r'$\\#langle k \\rangle$', fontsize=14)\n", "plt.ylim([-1e-8, 1e-8])\n", "plt.show()\n", "plt.close()" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "t0 = 0\n", "t1 = 100\n", "t2 = 200\n", "t3 = 300\n", "t4 = 400\n", "t5 = 500\n", "x_t0 = np.diag(states_CROW_nu.states[t0])\n", "x_t1 = np.diag(states_CROW_nu.states[t1])\n", "x_t2 = np.diag(states_CROW_nu.states[t2])\n", "x_t3 = np.diag(states_CROW_nu.states[t3])\n", "x_t4 = np.diag(states_CROW_nu.states[t4])\n", "x_t5 = np.diag(states_CROW_nu.states[t5])\n", "\n", "plt.plot(xA, np.abs(x_t0))\n", "plt.plot(xA, np.abs(x_t1))\n", "plt.plot(xA, np.abs(x_t2))\n", "plt.plot(xA, np.abs(x_t3))\n", "plt.plot(xA, np.abs(x_t4))\n", "plt.plot(xA, np.abs(x_t5))\n", "plt.xlabel('space', fontsize=14)\n", "plt.ylabel('Wavepacket shape', fontsize=14)\n", "plt.legend(['t0', 't1', 't2', 't3', 't4', 't5'])\n", "plt.show()\n", "plt.close()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### References\n", "[1] J. R. Johansson, P. D. Nation, and F. Nori, Comp. Phys. Comm. 183, 1760 (2012). http://qutip.org \n", "\n", "[2] Han, JungYun, Clemens Gneiting, and Daniel Leykam. \"Helical transport in coupled resonator waveguides.\" Physical Review B 99.22 (2019): 224201.\n", "https://journals.aps.org/prb/abstract/10.1103/PhysRevB.99.224201#" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "qutip.about()" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "qutip.cite()" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "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.5.4" } }, "nbformat": 4, "nbformat_minor": 2 }