{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# QuTiP example: Qubism visualizations" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "by [Piotr Migdał](http://migdal.wikidot.com/), June 2014\n", "\n", "For more information about QuTiP see http://qutip.org.\n", "\n", "For more information about Qubism see:\n", "* J. Rodriguez-Laguna, P. Migdał, M. Ibanez Berganza, M. Lewenstein, G. Sierra,\n", " [Qubism: self-similar visualization of many-body wavefunctions](http://dx.doi.org/10.1088/1367-2630/14/5/053028), New J. Phys. 14 053028 (2012), [arXiv:1112.3560](http://arxiv.org/abs/1112.3560),\n", "* [its video abstract](https://www.youtube.com/watch?v=8fPAzOziTZo),\n", "* [C++ and Mathematica code on GitHub](https://github.com/stared/qubism).\n", "\n", "This note describes plotting functions `plot_schmidt` and `plot_qubism`, and additionally - `complex_array_to_rgb`, along with their applications.\n" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "%matplotlib inline" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "import matplotlib.pyplot as plt" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "import numpy as np\n", "from qutip import *" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Colors" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "In quantum mechanics, complex numbers are as natual as real numbers.\n", "\n", "Before going into details of particular plots, we show how `complex_array_to_rgb` maps $z = x + i y$ into colors.\n", "There are two variants, `theme='light'` and `theme='dark'`. For both, we use hue for phase, with red for positive numbers and aqua for negative.\n", "\n", "For a longer comment on coloring complex functions I recommend IPython Notebook [Visualizing complex-valued functions with Matplotlib and Mayavi](http://nbviewer.ipython.org/github/empet/Math/blob/master/DomainColoring.ipynb) by Emilia Petrisor." ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "compl_circ = np.array([[(x + 1j*y) if x**2 + y**2 <= 1 else 0j\n", " for x in np.arange(-1,1,0.005)]\n", " for y in np.arange(-1,1,0.005)])\n", "\n", "fig = plt.figure(figsize=(6, 3))\n", "for i, theme in enumerate(['light', 'dark']):\n", " ax = plt.subplot(1, 2, i + 1)\n", " ax.set_xlabel('x', fontsize=14)\n", " ax.set_ylabel('y', fontsize=14)\n", " ax.imshow(complex_array_to_rgb(compl_circ, rmax=1, theme=theme),\n", " extent=(-1,1,-1,1))\n", "plt.tight_layout()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Schmidt plot" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Arguably, the easiest way to show entanglement is to plot a wavefunction against two variables.\n", "If the plot is a product of them, the state is a product state. If not - it is entangled.\n", "\n", "As writing a wavefunction as a matrix $|\\psi\\rangle_{ij}$ is the the crucial step in [Schmidt decomposition](http://en.wikipedia.org/wiki/Schmidt_decomposition),\n", "we call such plots Schmidt plots.\n", "\n", "Let us consider two states:\n", "\n", "* entangled: singlet state $|\\psi^-\\rangle = (|01\\rangle - |10\\rangle)/\\sqrt{2}$,\n", "* product $(|01\\rangle - |00\\rangle)/\\sqrt{2}$.\n", "\n", "They may look seamingly similar, but the later can be decomposed into a product $|0\\rangle(|1\\rangle - |0\\rangle)/\\sqrt{2}$." ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [], "source": [ "singlet = (ket('01') - ket('10')).unit()\n", "separable = (ket('01') - ket('00')).unit()" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plot_schmidt(singlet, figsize=(2,2));" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plot_schmidt(separable, figsize=(2,2));" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "As we see, for separable state the plot is a product of `x` and `y` coordinates, while for the singlet state - is is not.\n", "\n", "Let us now consider a product of two singlet states: $|\\psi^-\\rangle|\\psi^-\\rangle$.\n", "Schmidt plot, by default, makes spliting of equal numbers of particles.\n", "\n", "(And just for fun, let's multiply it by the imaginary unit, to get diffeerent colors.)" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "data": { "image/png": "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\nTkSuQmCC\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plot_schmidt(1j * tensor([singlet, singlet]), figsize=(2,2));" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "As we see, we have a product, as the state is a product state with the respect to the splitting of first 2 vs last 2 particles.\n", "\n", "But what if we shift particles, getting $|\\psi^-\\rangle_{23}|\\psi^-\\rangle_{41}$?" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plot_schmidt(1j * tensor([singlet, singlet]).permute([1,2,3,0]), figsize=(2,2));" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "So we see that it is entangled.\n", "\n", "`plot_schmidt` allows us to specify other splittings. With parameter `splitting` we decide how many particles we want to have as columns. In general, we can plot systems of various numbers of particles, each being of a different dimension.\n", "\n", "For example:" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "data": { "image/png": "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\nAElFTkSuQmCC\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plot_schmidt(1j * tensor([singlet, singlet]), splitting=1, labels_iteration=(1,3), \n", " figsize=(4,2));" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Qubism plot" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig = plt.figure(figsize=(8, 4))\n", "for i in [1, 2]:\n", " ax = plt.subplot(1, 2, i)\n", " plot_qubism(0 * ket('0000'),\n", " legend_iteration=i, grid_iteration=i,\n", " fig=fig, ax=ax)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "That is, all amplitudes for states starting with:\n", "\n", "* $|00\\rangle$ go to the upper left quadrant,\n", "* $|01\\rangle$ go to the upper right quadrant,\n", "* $|10\\rangle$ go to the lower left quadrant,\n", "* $|11\\rangle$ go to the lower right quadrant.\n", "\n", "And we proceed recursively with the next particles. So, for example:" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAO4AAADuCAYAAAA+7jsiAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAA+NJREFUeJzt17FtG2cch+HvAhVq0il12GgC3QCexh4jnENzeIAMQNUq\n1CSNYCAuEhhI+2UEkY7Oh5d4nvpf/IjjiyOXOecAWn7aewBwOeFCkHAhSLgQJFwIEi4ECReChAtB\nwoWgm0uO7+7u5uFw2GgK7+3l5WXc39/vPWMT38br3hM28eWPv8c/X/9d3rq7KNzD4TBOp9P3r+KH\nWtf1ap/X7+O494RNfFofz7rzUxmChAtBwoUg4UKQcCFIuBAkXAgSLgQJF4KEC0HChSDhQpBwIUi4\nECRcCBIuBAkXgoQLQcKFIOFCkHAhSLgQJFwIEi4ECReChAtBwoUg4UKQcCFIuBAkXAgSLgQJF4KE\nC0HChSDhQpBwIUi4ECRcCBIuBAkXgoQLQcKFIOFCkHAhSLgQJFwIEi4ECReChAtBwoWgm4uun57G\nWJaNpuxozr0XbOZp7wEb+TCOe0/YxM/j81l33rgQJFwIEi4ECReChAtBwoUg4UKQcCFIuBAkXAgS\nLgQJF4KEC0HChSDhQpBwIUi4ECRcCBIuBAkXgoQLQcKFIOFCkHAhSLgQJFwIEi4ECReChAtBwoUg\n4UKQcCFIuBAkXAgSLgQJF4KEC0HChSDhQpBwIUi4ECRcCBIuBAkXgoQLQcKFIOFCkHAhSLgQJFwI\nEi4ECReChAtBwoWgm4uuHx7GOJ02msIWHvYesJHjsveCbbyeefdmuMuyfBxjfBxjjNvb27Gu6//Z\nxQ/0/Px8tc/r3C/4tVrmnGcfr+s6T964Geu6jmt9Xtf6xn0c63idpzc/nf+4ECRcCBIuBAkXgoQL\nQcKFIOFCkHAhSLgQJFwIEi4ECReChAtBwoUg4UKQcCFIuBAkXAgSLgQJF4KEC0HChSDhQpBwIUi4\nECRcCBIuBAkXgoQLQcKFIOFCkHAhSLgQJFwIEi4ECReChAtBwoUg4UKQcCFIuBAkXAgSLgQJF4KE\nC0HChSDhQpBwIUi4ECRcCBIuBN3sPQC+x/G3494TNvH58fWsO29cCBIuBAkXgoQLQcKFIOFCkHAh\nSLgQJFwIEi4ECReChAtBwoUg4UKQcCFIuBAkXAgSLgQJF4KEC0HChSDhQpBwIUi4ECRcCBIuBAkX\ngoQLQcKFIOFCkHAhSLgQJFwIEi4ECReChAtBwoUg4UKQcCFIuBAkXAgSLgQJF4KEC0HChSDhQpBw\nIUi4ECRcCBIuBAkXgoQLQcKFIOFC0DLnPP94Wf4aY/y53Rze2d0Y4+veI7jIr3POX946uihcWpZl\nOc0517138P78VIYg4UKQcK/b494D2Ib/uBDkjQtBwoUg4UKQcCFIuBD0HwViTWU4IcNSAAAAAElF\nTkSuQmCC\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "state = ket('0010') + 0.5 * ket('1111') + 0.5j * ket('0101') - 1j * ket('1101') \\\n", " - 0.2 * ket('0110')\n", "plot_qubism(state, figsize=(4,4));" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Or if we want to make sure how did we map amplitudes to particular regions in the plot:" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plot_qubism(state, legend_iteration=2, figsize=(4,4));" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Or how about making it dark? (E.g. to fit out slides with black background)." ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plot_qubism(state, legend_iteration=2, theme='dark', figsize=(4,4));" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The most important property of Qubism is the recursive structure. So that we can add more particles seamlessly.\n", "For example, let's consider a plot of `k` copies of the singlet states, i.e. $|\\psi^-\\rangle^{\\otimes k}$:" ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAA1oAAAClCAYAAABFjozPAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAABzpJREFUeJzt3UFu1EgYBeCq0SxyAFhPNpwgPhOHmjPFaxbZwHq4g2eB\nQMHtdFeT1+2y/X2SxSYkpnmy8lT+q+o0TQUAAICcv9a+AQAAgL1RtAAAAMIULQAAgDBFCwAAIEzR\nAgAACFO0AAAAwhQtAACAMEULAAAgTNECAAAI+/uaL/7w4cP0+Ph4o1vZvpdxLJ/WvomOfS2lfJ+m\nes+fKbPnvby8lE+fOkvtOK59B798LTLbmy4zmxLI/tcis73ZdWZbNOR6LOX7NE0f73A3pRSZbXH4\n3L62kOHWzF5VtB4fH8vz8/M1f+VQhlqLT+dtwwo/U2bPG4ahv8+n3vV3xLNktj9dZjYlkH2Z7c+u\nM9uiIde1lG93uJNfZPayw+f2tYUMt2bWq4MAAABhihYAAEDYVa8OAgAA7NX8RcFpmha+qO1Vbyta\nAAAAYYoWAABAmKIFAAAQZkYLAICrtUypLM63nHyjfo714FiWkteQ2GZWtAAAAMIULQAAgDBFCwAA\nIEzRAgAACLMZBgAAsH+zjVeaNmt5BytaAAAAYYoWAABAmKIFAAAQZkYLAN4hddRqZFZgGN7/PaA0\nHkZ887uAP7d4GPGNZ7LmrGgBAACEKVoAAABhihYAAECYogUAABBmMwwAAGDb7nwYcQsrWgAAAGGK\nFgAAQJiiBQAAEGZGCwDgSOrl44h7mG+BNy1luMPMWtECAAAIU7QAAADCFC0AAIAwRQsAACDMZhgA\nAEC35ltfbGWzFitaAAAAYYoWAABAmKIFAAAQZkYLDmwsp+89r62r966HYe074IZS2e8osdCU666e\nszCzlOGtJtaKFgAAQJiiBQAAEKZoAQAAhClaAAAAYTbDAAAA1lF/3/5iT5u1WNECAAAIU7QAAADC\nFC0AAIAwM1oAAFtQLx9HvKf5FnZoKcM7zqwVLQAAgDBFCwAAIEzRAgAACFO0AAAAwmyGAQAAxM23\nvjjaZi1WtAAAAMIULQAAgDBFCwAAIMyMFgDbMY5Nh7a2ONqsAJ1rybXM0rOFDB/9OWtFCwAAIEzR\nAgAACFO0AAAAwhQtAACAMJthAAAAVzn6YcQtrGgBAACEKVoAAABhihYAAECYGS0AgBsZy+ksyxLz\nLfRsKcMSe5kVLQAAgDBFCwAAIEzRAgAACFO0AAAAwmyGAQAA/FDr738Wm7X8KStaAAAAYYoWAABA\nmKIFAAAQdlXR+nnonmv5Kk9PpUyT663r6emauO3S2hmdX0/lx4GDPV3sU5fPWXin5HMW1nLynP35\nO5vn5btd3Ayj1vq5lPK5lFLKw0Mpw3Dre9qsL1++lMHns7rXmX14ePB/cobM9kFm28lsH2S2ncz2\nQWbbDUVuU+o1u4jUYZjK8/MNb2fbnoahPPt83jT8+HzqnX/m1NP/yV3/8Q1k9jyZzUl9iDJ7nsze\nV8sHLbOX1VrHaZru9lv9kTO7ZJ7jqfx6lqxxO5vQmlkzWgAAAGGKFgAAQJgDiwEA4Ajq6QuvDiO+\nHStaAAAAYYoWAABAmKIFAAAQpmgBAACEKVoAAHO1XrymUi5esKp5bqfp9OJmFC0AAIAwRQsAACBM\n0QIAAAhzYDEAAGzc6VHEDiNemxUtAACAMEULAAAgTNECAAAIU7QAAADCbIYBwNvq0nj19VID2UPk\nu3B4Lbm2iQC9m+XYxhf9saIFAAAQpmgBAACEKVoAAABhZrQAAKBjDiPeJitaAAAAYYoWAABAmKIF\nAAAQpmgBAACE2QwDANiNliO2bSJA7+Y5lthtsqIFAAAQpmgBAACEKVoAAABhZrQAAGAt9XSy0Bzh\nPljRAgAACFO0AAAAwhQtAACAMEULAAAgzGYY7Ns4Lg6ZrqW34dZh7RvgdlK57yyzHFxDrnt7zsKJ\neY5ldresaAEAAIQpWgAAAGGKFgAAQJgZLQAAuIGlqUJzhMdhRQsAACBM0QIAAAhTtAAAAMIULQAA\ngDCbYQAAq2s5YtsmAvRunmOJPTYrWgAAAGGKFgAAQJiiBQAAEGZGCwAArlVPJwvNEfKaFS0AAIAw\nRQsAACBM0QIAAAhTtAAAAMJshgHQkbG0Hdx6iYFsetJ0GPHN7wLe5+QwYs9ZLrCiBQAAEKZoAQAA\nhClaAAAAYWa0AADgNYcRE2BFCwAAIEzRAgAACFO0AAAAwhQtAACAMJthAAB/bhwXNw54zSYCdG+e\nYZklwIoWAABAmKIFAAAQpmgBAACEmdECAOAwxlLKfKrQHCG3YEULAAAgTNECAAAIU7QAAADCFC0A\nAICwes3wX631v1LKt9vdzuZ9KKV8X/smOvbPNE0f7/kDZfYimT1PZvsjs+fJbH9k9rK75lZmm8jt\neU2ZvapocV6t9XmapmHt+4BWMsvWyCxbI7NskdxmeHUQAAAgTNECAAAIU7Sy/l37BuBKMsvWyCxb\nI7NskdwGmNECAAAIs6IFAAAQpmgBAACEKVoAAABhihYAAECYogUAABD2P1BTZIHl2NswAAAAAElF\nTkSuQmCC\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig = plt.figure(figsize=(15, 3))\n", "for k in range(1,6):\n", " ax = plt.subplot(1, 5, k)\n", " plot_qubism(tensor([singlet]*k),\n", " fig=fig, ax=ax)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "OK, but once we can type the wavefunction by hand, plots offer little added value.\n", "\n", "Let's see how we can plot ground states.\n", "Before doing that, we define some functions to easy make a translationally-invariant Hamiltonian." ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [], "source": [ "def spinchainize(op, n, bc='periodic'):\n", " \n", " if isinstance(op, list):\n", " return sum([spinchainize(each, n, bc=bc) for each in op])\n", " \n", " k = len(op.dims[0])\n", " d = op.dims[0][0]\n", "\n", " expanded = tensor([op] + [qeye(d)]*(n - k))\n", "\n", " if bc == 'periodic':\n", " shifts = n\n", " elif bc == 'open':\n", " shifts = n - k + 1\n", "\n", " shifteds = [expanded.permute([(i + j) % n for i in range(n)])\n", " for j in range(shifts)]\n", "\n", " return sum(shifteds)\n", "\n", "\n", "def gs_of(ham):\n", " gval, gstate = ham.groundstate()\n", " return gstate" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "For example, let us consider Hamiltonian for $N$ particles, of the following form (a generalization of the [Majumdar-Ghosh model](http://en.wikipedia.org/wiki/Majumdar%E2%80%93Ghosh_Model)):\n", "\n", "$$H = \\sum_{i=1}^N \\vec{S}_i \\cdot \\vec{S}_{i+1} + J \\sum_{i=1}^N \\vec{S}_i \\cdot \\vec{S}_{i+2},$$\n", "\n", "where $\\vec{S}_i = \\tfrac{1}{2} (\\sigma^x, \\sigma^y, \\sigma^z)$ is the spin operator (with sigmas being [Pauli matrices](http://en.wikipedia.org/wiki/Pauli_matrices)).\n", "\n", "Moreover, we can set two different boundary conditions:\n", "\n", "* periodic - spin chain forms a loop ($N+1 \\equiv 1$ and $N+2 \\equiv 2$),\n", "* open - spin chain forms a line (we remove terms with $N+1$ and $N+2$)." ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAagAAAEtCAYAAABdz/SrAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJztnXucVNWV73+LprFBQIFGWnxBRBhFMUIn8cU4BmNu5jqG\nJCLKfK7mqU5MMrnmY8YZJ5m8xxknziPRiXHmTpJJcAgkcaKTGJUkxvhI0hBFkYig+EIIjSggb9j3\njyqq1l6na59z+pyqPlX9+34+fNi79zl776reVbvPWmv/ljjnQAghhBSNIQM9AUIIIaQvuEERQggp\nJNygCCGEFBJuUIQQQgoJNyhCCCGFhBsUIYSQQsINihBCSCHhBkUIIaSQcIMihBBSSIYO9AQAoLOz\n002aNGmgp1F3nn76aZxwwgkDPY3cWaYr69bB9fZK1j65JpqcZ56pFNe9/jp6d+/mmkhIq66Jvar8\nwrp1eCXB90QhNqhJkyahp6dnoKdRd7q7u1vydXqrrLs7lz65Jpqc+fMrxe57782lS66J5maDKr89\n4fcETXyEEEIKSSGeoFqWzZsbP+a2bX591Kjk9+r5jhvnt916a83b3JVXVsr5PD+RZsDaZ9yiRdWK\nLuf0VN2yDIBg93pTn5jmZj1fMatgwwbUoqurq1JuTzgUn6AIIYQUEm5QhBBCCglNfPVk2LDGj7ln\nT//vXbKkWlZmuz656KL+j0OaBm3AsYYoz6QHeIERJDnrrZmsAUy0ZsU0c9i4sVpWZrs+mTAheb99\nwCcoQgghhYQbFCGEkELCDYoQQkghGTQ+KGs/T2P11SegbXikDaocr8ptaUK8Dft1PzFj6oDwdhse\nbrhDlU8xbccrv9Mdpm1unE+KNC/a/2B8E7q2yHyI5reiz2n7dr8+cmTiW1eo8gzbuHSpV901Z06l\nnCrE27BLlTtixlyhxpwR43NaqMoLbrjBb7zuuj6vA4AFcT6plPAJihBCSCHhBkUIIaSQBE18IjIK\nwF7n3K4a7R0A2p1z2/pqLxJZAjlDp56DD7QZlCSsWS/xmFbxwZjm5ia8N2LSs69Fh9BnMGWS+hNR\nfLAXhJQMVCh5S5r0LClMepaIWU+jzGuAMcdlUJKImPUCY3rzs4oPxjS3QFeUSc/eGzHpmdeiQ+j7\nY8qs+QQlIucA2ALgrMD9ZwPYIiJn9mNsQgghpCYhE99VAO50zi2tdYFz7j6U/OlX5z0xQgghg5vQ\nBnU2gO8m6GMJgNn5TIcQQggpEfJBTQDwQoI+XixfW2j2mnpSNV0A2KrKowNtADBcjxET8h1CW4it\nz2m5qWur+dSYcPC1qvyaaZup7rWh7F0ZXgtpADZsWPkC0ng4BkUoeYAVph70K0VuVnfPmFG7DcAK\n1R4X8h1Eh5Ibn1PE99jZWa309ob7VaHlYnxQTvudTCi7nUOWEHog/AS1FcDYBH2MBbA99ipCCCEk\nBaEN6lEAFyTo408A/Daf6RBCCCElQhvUfwB4r4jUjEwWkXcDuBzA/8t7YoQQQgY3NX1QzrnvlDen\n74nIXQDuBPBcufk4lJ6cLgCwxDlnFS8KR5YTyTtU2fqghpt6XtpRj6iy/QvhMFM/NkW/j6vy6YHr\nxgfayAARkCTKcpZG+53mNz7zQ6GYmuXmTZtqNq0wPqkZWlIpw9mrhcrns8C0OSNRtEL5neJ8awuV\n38kF/Ey7Que7ciDu+3Q+gL8CcA1KG9LBpSwAXgXwaQB/m/OcCCGEkPAG5Zw7AOALIvJ3ALoBHFNu\negFAj3POBscRQgghuZDIIlXeiB4u/xtY9iud7zYjCLTX7JdDqy+vLS6Uc60KwD7WN5p1taugdD0+\ngHY7hzTcoTTDT/cNbnN1KKeRJTk+jWLwHb4u+dy5QbGjChleFclAKINtFjOeh8mE25Kh5LuUOluH\nMTyZkO/tyvwWZ2zTRrPrTD9eiPUuXx1uhp1DGrPewqoHZekC35Cna1ZRYY4JDw+a9Rb6XpoFehxj\nxtPkbdKzxG5QIjIcQJtzbnu5fgiA96L0ejcB+IZzbl0d50gIIWQQUnODEpHDAHwLwB8DGCIiPwZw\nGYC7UTL3HeTPReQtzrnVdZ0pIYSQQUUouO1TAN6K0lPtX6KU3+5OAIcDeDOAQwGcCWAzSsEShBBC\nSG6ETHxzAXzaOfePACAijwD4OYDLnHM95WseEZEvobSZNYaQz6c9jYCR4fjjs49vsakvLAn9QVYK\nP9WYaTLh6pQaVtpom8mosmdP7WtJTawndJap5+Rl8jE+J7Siz8lifT4aE/KdJsjb8+pYOaOk41ts\n6guL8gfV9gaF22LHXGCD1ANoX6jx7a83l04MXJuE0BPUMQB6VP1g2ZryngJwVOqRCSGEkAChDaod\nwG5VP1jeZ67bBwZ9EUIIyZk4gYW+LA51sUIQQgghmrgw8ztFZI/52Y9ERB84GoYmIJI+IsW9oXQb\nNvWFliE63vp/brst8Zj6DbaeNWtj1VLyM2N8TrrfnaZttPIlRd4vpnVPTorUF92oD5580WDwOeVF\nTPqIIIF0G5HUF1qGyKZUT4E+iRXxiOn0GgBESR25GL+2168976Vfm3m/Jtr3K0sqEYQ3qG9m6pkQ\nQgjJQEgs9n2NnAghhBCiyUt8u6VZo8ozTZsNUU2jLB7ieVW2AfA2O+SUFP2qQHKMCFzHwPEY6qQs\n3l8imXAHuSr5QCDK9GVXgDPmtjTK4iFmBEyFYrLmulDGX9uvNt2Nr53bYIUx6WV5LX2RJQsFIYQQ\nUje4QRFCCCkk3KAIIYQUkubzQemUGlbaaLUJwJ48uVLsipNBWq4Cxqf4Xp2Zo1VwuZEImZpGhsii\n+xrhe4SO12Mu94PZZ860nrAAOo0IgK6Ekk4ZRKNahoakvugvgyFlRhYC/pZOc2mvvjYurFz5HleY\nNaBrkdQXxh+Uxlej+7LeoBna72RCup1dowG/0w2mfl3C8Pq8fU4WPkERQggpJIk2KBF5n4h8pkbb\nZ0Tk8lxnRQghZNCT1MT35wD+vUbb7wF8HI062Bsy1U2dWrPpDlOP6IgHzGbaSGaz2dqc93rHjxUo\nDJgH9XznmrmFtI8jPRqTns4HfMBcqt9Za8BqyajlgOIDUDxNL6pDpCBgzuq1P1DXLjRNEY1vtUYi\nI6iQb5vN1mgxQH9Txemeh4xter4LrEnPqmJ4nfq9Wi0LnQ/YKtd4r3u7OfSSJlNwApKa+KYAWFmj\nbRWiR3UIIYSQTCTdoPYh6ls8SO1TXIQQQkg/SbpB/RrAVTXargLwm3ymQwghhJRI6oP6IoD7RORX\nAP4NwEsoJSn8IErqP2+rz/T6QIdN25BpE46NiRMrxblx4eBbt9Zs8kK+9/pep/YsWXx1mPl6Pxel\n53cy4fNdAV9bBDPfNjXfkI+sVXxOERVpr1I0L5OBoeT9RodNR7TCje9xqVoHcXllrS9J44V8GwXw\nGTHSQiG0J2mOmbv2O0XC5/urxA6gQ803OPOcfU6WRBuUc+5+EbkIwD8B0DnF1wF4j3Pu5/lPjRBC\nyGAm8UFd59x/A/hvEZmGkpZor3POBngQQgghuZBaScI591Q9JkIIIYRoam5QInIZgP9xzm0ul4M4\n576V68xq8fjj1bL1QSmfE4CgTHyEHTuq5XGBZBNDc1SHeuSRavmUU2pfpySbUjOk9cVCQpJEBfcy\nRdF+J/qc+s11C9UJoQW+Z2mp8T3O2aVO/XSETyVt0vcFMs1uNz6nLJ6aOeq13GDmrv1rvaHMt3Gk\n8Ws3kNC37TcAnI5SCqFvxPTjADRmgyKEEDIoCG1QkwG8rMqEEEJIwwilfH+ur3Ij0GGCF5m2cXOr\nIkXbTNuoFMrim019XNJ7rTxOCjbBf21Xzo0ILvVNllD2tljBpeYgkMG26cx4ii2ghFF/0ZJfE0yb\naLOeOcIxx7oCAmY9u7a8wO2ACS2LSW8v/NfWpV5LJGQ+4XxiiTFtDhSt76AghBDSlISCJJ5Fij9O\nnXNvyGVGhBBCCMI+qPvhb1BzUHqSfhDAxnL5LJSeRgOyuYQQQkh6JJJ1sa+LRK5AKaXG+c65F9XP\njwFwN4B/cs7dlmrgUp9XAEBHR8es6dOnp7m9Odi0yauu6u3FiSeeWN8x9+3z62nC4g+oBBw2PN32\nu2VLtWzC+Xt6evrlqBsUa0K/bwBWbdhQ/zXRIJap8izTxjURwMiRrVqzptBrQs821jseyICeZE0k\n3aCeBvBXzrnFfbRdDOBLzrkp0TuT0d3d7Xp6evp7e3G59Vav2n3bbaj769xswj9CZ7os21TYyahR\n4X6XLKmWr7yyUuzu7u73l5GmZdeE0dfrvvHG+q+JBlHrPBrXRAwb/Axv3RdcUP81Yb/3UwR/6ZCT\nibbR9rtxY7WsAtGSromkQRJHw89hpdmNknAsIYQQkhtJN6gnAVwrIl4soogMB3BtuZ0QQgjJjaQO\nik8C+B8Az4vIj1ANkvhjAIcBeEd9ppcf+009zemgkM11rakrISbMVaYvAMBtyd10+kHZPgfbNPPa\n+NYVY9LT78Mm09alzHp3mLa5tl/72khNguecbryxsZPJgjUDtdB5tINYM1Ga00FaaCiUDh4AFqrU\nHAtSnN+MoFOum9QXNjXIDJ0CPiYVh34fOkzq+Inq3oXwWWDXSJbXhuTpNpaKyGkA/hrAbABHoqQy\ncQ+ALzjnfpdpFoQQQoghTbqNVQD+tI5zIYQQQiqkkuYWEQFwEoCxKFmWVrkkYYAF4ICppzHxPavK\nVvP3NVM/PUW/IXRQtzUr7jT1ESn61Wa99aZNP4wHtNVJDIvMJ2J+M6UnDpnxmuOjngmb4C6NeNCM\nTpXTtrfXa5PrfJEil8LcFmKFMuvZuc6w6uYpsjtos56Y+elVsMCYLnFdUIwpNYmljkTkgyiZ9VYA\n+DlK7pb1IvKBXGdECCGEIOETlIj8KYCvo6QY8W2U1CO6UDL5fV1Edjjnbq/bLAkhhAw60kTxfcc5\n93/Mz78pIv8J4C8AcIMihBCSG0k3qGkobVJ98W1Eo5Lrh7aDW3u5kQzRcj3tcWknzGluzVQdKnmH\n/1JnJk2Z0Rf7VdD3Ad9L1q5lQdb6weyjbSbhEGa+XWq+oQDQFCMQow5R9JQZ1iXmeZZaxM+kgq+j\nqS+sb0Zlk50Rk3YiJDo6R/udFvoB2M5k9U3ld9IZf1f7XrIZKsWG8QbhujTpN8x8dRbi4IrI2edk\nSeqD2oaSmkRfHI1oaiZCCCEkE0k3qB8D+JKIzNY/FJEzAHyh3E4IIYTkRhof1OkAfi4iL6EUzdeF\n0tPTGtQ2/+VPSNQwkHnWKj5ETFiBE8/LVdma9Laaa3foLmv2WEabHY0J0suoaUx6dsw1en52DDNf\nbQR91r/SC6G3ahUZcvq2JIXPgtuiGYiTEsxoGzJ9xYRNhwxznliuNelZs6LOdBBn7tNmRzt3FQ5+\nne3HjCnq3sgaMPP1VDF0+DzghdBH1CpsvxlJqiSxQUTeCOD9KClJjAWwDqWcUd9wzu0I3E4IIYSk\nJo2SxA4AXy3/I4QQQupK4oO6hBBCSCOp+QQlIs8AeJdz7jEReRZh07VzzjUmMjmQoRFbjXdmR9Xy\neHycqq6+d80ar2nmTOXZiQn5Hh0exUe/lmd9j1CXCn3F8uVe2+iZvqcp4nfSmPD5dvU+WNkm77pQ\nn4ORgoWSB0PFgZYJF+832v9i/DbWb6Llv+bEhE17vhnjD9eqb5lCviODVkftNP30ar9TBrV5Gz7v\nebOMbJMmb5+TJWTiux9Vf/z9GBy+VUIIIQWh5gblnHufKr+3IbMhhBBCysT6oERkmIgsF5HzGzEh\nQgghBEgQxeec2yMik+FngBg4Nqv8sXF+pZjssh7a7zQycIri2GOT9xnH889XyzozpmXKlPzGJMnR\nfqcB8DmF/Ey0t4dZqnw1caJCcwL+Kov2O3UaH4/21Fxnzz1l8EHdoO7tDfiZVpj51Ns/1AiSRvHd\nC4BPUIQQQhpG0nNQXwHwbREZipIw7MuIaEy6Z3KeGyGEkEFM0g3q/vL/1wD4vzWuSZOkNogy4mGY\naRulzHqbTdu40cmDvG819StnBoO1qwTklOLYZMa9MqkqeYrXFSHODEoqRDLhNsKst2xZTVkimvHC\n6PdH1vv5oedMnNjndUAfpq+A+c3mOOhSv5/awdfhPuPYa8b1At8DxweymPT6n9O3viTdoN4Xfwkh\nhBCSH0m1+L5Z74kQQgghmlRSRyIyREROFpFzROTQek2KEEIISSwWKyJXA/gbAJ0omXXfBGC5iNwB\n4KfOuX/Ja1JJg8NTBJFHUv5emeJeL/VFoA0AHlFlm2t3fIpxVa7diHPPpsJQweqxmXC1BdueG9De\ntf2mLTcHY4GI+JwCmVwyEUh9gVmzgJ6eOg3c2ni/LuVzCl4Xg8kriwV9XlUDlfoikkJjqS8mtFC1\n2zHakSBVTxmVaxc2F3AkFYZOJRKXCVcde1lhjt1oX9cu+ITzEacn0ROUiHwIwD+j9D1/Mfzf+QMA\n3pPzvAghhAxykpr4rgHwZefcFQB+YNp+B2BarrMihBAy6Em6QU0G8JMaba8DODyf6RBCCCElkvqg\negFMqtE2DcBLucwmCfuVd8SkSbepJfBI1SM0d671CBl06gstQQSTcv0O35vVZfqNGcVH+yP2+R6h\nNn3eKpAyA4jxO+33vUmi3rPQia5W9DkB8OSL8jrnxNQXBWSX8o50+J6RSGqJhVXP0wKbqt2iJIxu\nMGedvJTrC403y/SbxrelRdBGGgmlDjWHYMoMIOx32mW8ScrvFDpflbfPyZL0CeouAJ8WkTeonzkR\n6UTp4K6NQSCEEEIykXSD+msAuwE8AeA+lP5I/BcAq1AK+PpcXWZHCCFk0JL0oG6viHQD+DiAtwNY\nW773qwD+0Tm3NXR/rmxS+S+tjI+RO8EppyTvV2e0DSmLn3568j7j0Ga9nTv9Nm3iGzGi/2McOODX\nrVm01TGZcPurSk5l8eZiqTLrWVPXHKMIfoMywcYEX3sZbUPK4kuNSS+LlJA2660wZkVdG59hDKxe\n7dezZADOkcTnoJxz2wB8vvyPEEIIqSuJNygAEJHRAE4GcBSAFwE8Ud64CCGEkFxJoyTxaQCfADAS\nVYvHNhG50Tn3hXpMjhBCyOAl0QYlIp8F8CkA/wbgvwBsBDABwKUAPisiQ51zn8lrUvqRbI9pG6f8\nTv1OmdHXvVOnJrsxQ/qKffBThIzTfqZQGo8s6TYypAdpRjKlzAj4FOhnKiDK5+yM1JH2+YRSZgBh\nv5O910uxETg+kDV9hZdKRPmDQp6hTF6jgvicLEmfoD6EkpLEtepnKwH8VEReA3AFgM/kPDdCCCGD\nmKRh5oehtpLE3eV2QgghJDeSPkH9CiX18vv6aHtTuT03RoUalZLDlVYdYu1av/7449WyuTaiKq6V\nJDabXL3arGeUGdKEbQ+FUWDXfenweTvmXqNfnsZsZ80Q1ozVCqRQh9CvnooPTY4y60VWtVJy6DIh\n3zeYS6/Tqg/m2ohBX4V8LzVmMc+sZ5UZOtJpLnivR/W11PTjjWlUJtKY7ezBmpF9XtV4km5QHwPw\nAxHZB2Axqj6oiwG8H8A7RaTyNOacO9BnL4QQQkhCkm5QB7fmGxD9A0QAqEcVuBT9EkIIIX2SdCP5\nHBjIRAghpIEklTr6TJ3n4aE9QEtMm/Y7RULFjze63rZeYwzAhHyHQskzSAUdgB9CP0r3FRozS6h4\nC/qcgqHkgVBxgH9ltRL6d7nRtGm/kw0Vj4SVBxTM7XrRId/BUPKUPiePvXt92TblawuOmSFUvCg+\nJ0vSKD5CCCGkoXCDIoQQUki4QRFCCCkkhYy2s36nWlyUYYxhGe7tLwcQlW4iydB+p/lDAn4mnmUa\nNFi/Uy0mZBhDbAofI6lUF9rbPemm1vMiJ4dPUIQQQgoJNyhCCCGFpBgmvmXLvPDgKxOaacbFX1KT\noJxSnYhIHZGaPANgvgryXaTDx2nGG5zs3QtsqAaNdyXMLJDJRNYIk14fDGaznoZPUIQQQgoJNyhC\nCCGFhBsUIYSQQiKuAPZ8EdkE4LmBnkcD6IRJytmCHOecG5+1E66JloJrIh1cE2UKsUENFkSkxznX\nPdDzIMWBa4JYuCaq0MRHCCGkkHCDIoQQUki4QTWWrw/0BEjh4JogFq6JMvRBEUIIKSR8giKEEFJI\nuEERQggpJNygCCGEFBJuUIQQQgoJNyhCCCGFhBsUIYSQQsINihBCSCHhBkUIIaSQcIMihBBSSLhB\nEUIIKSTcoAghhBQSblCEEEIKCTcoQgghhYQbFCGEkELCDYoQQkgh4QZFCCGkkHCDIoQQUki4QRFC\nCCkkQwd6AgDQ2dnpJk2aNNDTqDtPP/00TjjhhIGeRu4s05V16+B6eyVrn1wTzc1KVd67bh32cU0k\nplXXxH5Vfn7dOmxOsCYKsUFNmjQJPT09Az2NutPd3d2Sr9NbZd3dufTJNdHcnKzKa7kmUtGqa2Kr\nKp+TcE3QxEcIIaSQFOIJqmVZvbrxYx444NeHpPgbZOfOann4cL9t8WK/rl6bu/76Sjmfv5VbmH37\nGj7kflNv6+e9kfuc8+vTp1eKTzz5ZKXMNRFm+wCMaVdhqo1gq3oWGj3aa1pjLp2yrOoAGD1rVqWc\ndA3yCYoQQkgh4QZFCCGkkNDEV0/Gjm38mHv2+PWOjuT33nVXtTxvnt/27LN+/b3vTTUtUqYtjYEt\nH1z8JTVpe/31auXQQ/1G4+h2yqyXOWRvELF7AMYcumuX/4MU3xNPKLPeyaZtiv4OAbDrgguqQyQe\noQqfoAghhBQSblCEEEIKCTcoQgghhWTQ+KCsHT6NjVxZ4WGs8HjC1P9AlYd2dqYYxUfP1851r6nr\nvzLaYmzJj6myfS1TlN/pZtN29Sc/Gey3KbFh0pJiVeh7zX02hFd7nSTNGHZI3Y9ttOHrapyhcX4v\ndTRhhzmWMEL5nWaa25Yv8zREWsPvpH1uQNTvFuAhVT7TNn7rW151y2WXVcrjEo/QB4F1iP3+AYNX\n1DoYG/M90avKnV/9qtd28kc+UinfaO67VvmcgP75nTR8giKEEFJIuEERQggpJIPGxJfF/BB6yLdh\nlh6vvdbvMUPzbQ/d+MMf+vULL/Sqp4bu/eIXK8WrlToEAOCll/z6yJHV8mGHhXotLhnMbaF7Qx8q\na55NNWSocWhg1CeMIfpks2qVWW+EvVeZfZcbNZGI2VyrmKRRMCkSKUx6lohZT6NMegAwRldeeaXf\nYwbXsDHt6kMvO/0rYXRj4DknlEkPALBiRaV47YwZXtPLgX4P73uWQZp0FRFCCGl1uEERQggpJNyg\nCCGEFJJB44MywaNBv5JloypPMG2vmvooVW7L4JvRgkXDTNuLpq5FS6YYn5NFqw0/Z9rmKL+TETbC\n5KOOCvbbjBjd91R/rel7I/dZRXkVCtyeRepor/JgtfueSOsP0l6nU6zPyaLmd5HxaSxRfqfYoxrN\n6ndSbDL18Wluvueeavn8872mn5lLz92xo1rJIIkWOnpgRM8w7KmnKuXh06aFO15ZTTk5T6nUA8Bi\n7Xe6/Xav7chLLw33m5LmX1GEEEJaEm5QhBBCCgk3KEIIIYVk0PigrB8nDaEcqKNMPa8dX/uKTjJt\ndj7HpOj3J6r8x4Hrjk3RZ7OS5WzcEC0jE+NXcqo9y5g7ld/JnltZZ+qnhCRwDO9W7Uv6N7WWYXyG\nNBS9yu9kRc7O1VloARxQKSuyfGdIIAu29RnuVH4nu34sTyq/02IjaQWVGXeL8TmNQb7wCYoQQkgh\n4QZFCCGkkDSfiS8QahtRIh5RFW5pj5O10Y+xRr7jKD2OUcBuyyKXs359tWwez08aox6WX/QDyycd\nfXTyMW66yatefc01iW5rfN7X/hNU+bYh3+r3Fassrn7XzlwrymwXCVc34dZpVog239qsp8O1uclk\nOJ48ebLfUei1zZ3rVb9/xx2J5tZUauVbtlTLY3zDkz0acrheIzEmvd+r8hHbt3ttnUr+KxLirUx6\nQMonA7UO1pn5TdLfG5s3e22HjEuhk27W00l6PSmTniVvk56FT1CEEEIKSc0NSkRGi8iXRWRO4Jo5\n5WtG1rqGEEII6Q+hJ6irAVwMPw+X5SEA8wD8WZ6TIoQQQkI+qHcBuNU5Z5XZKzjndorIrQAuQjS5\nYn2wfidNBqn8kJ3VI43PKS7dxsSJyfpJ43OaP9+vL1qU/N7Vq6vlqVP9tt5ev65/DwOcbiP4G8ki\nv6P9VaEhUnS5Mqbd+0CG/CHW5xTirLP8+oMPJr931apq+cQT/TYt1wP473WK8Oy6MKa2dySS9iHF\nGjlCV0bWNhylOtZifecW9V5OCl2Xxue0caNfT7OeXlVevMP9d9N8S3ipgfrzLRH6zZwI4JEEffyq\nfC0hhBCSG6ENaiiS5Vfbi5gceoQQQkhaQhvUC4hJGFvmZEQFtgkhhJBMhHxQ9wD4qIj8u3NuV18X\niMgIAB8F8ON6TC5P7A6awqvjpUe2EiFbTV17wbKk29CPrvbx9Fem/rwqz4vxOWlr93bTNkH5nUyC\ndxzVacVbWgAtVwTEShZ5hKSE9hkxqhdeqBSnp7H1pxnTnM87U7U/FOdzUueAVhl/zInK72Q9qoeN\niCSIb37U7woAcEwKIbGAD/d2c+mlL6vk6EcemXwMwzZVtrJrMBJF31V+9osn2MRBht27K8UHDjnE\na5qt/U7f/a7X1nnxxeF+UxJ6gvo7lNIf3Scip9nG8s/uRclv2JgACUIIIYOGmk9QzrkXROSdABYD\n6BGRl1HNcXccgCMBbAbwTufcCzW6IYQQQvpFUOrIOfcLEZkG4EMAzkNVOHslgH8G8G/OuS217i8S\nGQLQPXObNfFZI0de0hyPq/JM02az3b41Rb/63pCZsytFn83KAWPSS/W705Jbw0xQ8dq1XtUpFelM\nckFaksfMfbYx+T2UQs38YWXW6w5cNyhO49vQ+RTcosx6HzZtly5c6NVfXbCgUo6EvadglMqSC5Ml\n99/N0ZkFSIFa07O/+U2/7fLLK8XfGpNexNSWkVgtPufcqyiZ8GjGI4QQ0jD6/Qe/iIwXkSxplggh\nhJCaBDfSAPPyAAAXNklEQVQoEXmTiPytiPyDiJxe/tnFIrIewAYAr4nIv4gIRWcJIYTkSk0Tn4ic\nD+AulLIZ7AHwMRG5AsBtKCVmXQngVJQ0+1YCuLXuswW88EeY8EesWePXVUjvmLgQ4g0bquXx472m\n0fpek75haBYpnZdUMLeRcJp5hBJVWbzYa7tk3rzkY5hQ05MTSjo1U7qNUPi1CSRHm/r92bQYFu17\ntFe2KRv9c6btOOMLSON3cjXKADBEr8PZs722Bx54wL845HcyYednWCmkGjTVmnhceXFPOcVrsgln\nbtIyXuZ3F+Gee6rlM8/0mj6spI82wKdrge8BSuV32lYNJv/eKD+Y/D16vu96l9f2gR/8IPEQPzH1\nt+v1o3xOlrx9TpbQJ/SvAPwcpfdyNICbAdwC4Bbn3AXOub9wzv0vAF9HKYiCEEIIyY3QBjUdwFec\nczudcw7A3wPoAHCnue6/ARxfp/kRQggZpISi+MYB0JK3B5NJvmKu24LSE1ZjsGY9zZQpNZvWm3pE\nR7yrdmC1NhO1GbOQNcNoYk07Rx1Vs+kqVf6aMelZRWxtLoj0aEx6WuPAzk+bcOzrKnQ21YA5K2KW\n0r+/TZv8NmPaDQpMqizHxxm1+SxrQmqUAf9DttWY9Lb5l3pq2pFPjDXpqZD5A8bUrFd7U60JY9bT\n3GR/oFRS7jNN59lrzz+/9pjqd9JlTLAvm0uP1Comce4HZdZ7j2m6V5XfZk16D5lMSdo9cu65XtPb\nTb/6O+9R0+Z9o2w1Wjqj890KGNxACCGkkMSdg/oTETkoGDsEpT+iLhSRN6pr3lCXmRFCCBnUxG1Q\n1/fxs0/38bOQVYMQQghJTWiDyiC7XEfWrauWJ03y2140muVKsXdiKBMv4CtbGz9Tm/ZxGNVoSZNh\n17JSeZN0WCyAr11ySbXyK1+/fPpb3pJ8jL1+Sq+hce9DmUL7Fwwh5Xeb0Ewr0482PieL/k3/3rRN\n0H6nHNeEPsQwxNjzt2p7v8lwPCqF2rx9T9rVmgjZ/JtpTXxZlT9hG9/8Zq/64q9/XSlHfE4GLWJl\ncxV0ar+TyZJ7pM32nUI5/5eqfLZZW29Ta8/Kub1uwuCDPPaYV2079dRKOXgwJWefkyUkFmuPdxBC\nCCENg0EShBBCCgk3KEIIIYUkVs28cITk8LU8EAAMTfHysviS+stXvlItX3FF7etm2oQbKUjzHjQp\n+myX9UHtNvXRKdJQ6KzCRxs/k77XmX6yrKQh+ve1c2fN65zxOaUZsz1LJuEm4RM/Vkm+3/EOr+2X\nyucEAGfvUgnDOzqC/Y5R5bH2u0hlGN5vfE5Z3uGzH364Ur7ZrMOrVfn1nh7/xu5Q8hTD9On9mFn9\n4RMUIYSQQsINihBCSCEppP3nh6pshUU6TjqpUj5g2obYzKYBIrItSVXJM5gCnwEwX9UXfe1ryW5M\nGBreJwNhuqwH2pxi5K6GaxOVMYuNHG5yIIfej40bverR6phC6L4s7/Ayc7/bt6/WpbmN2SomPf35\nf9W0jdVmvS1+0u+zx4zxLw6Z9cwxjbH6szjC5tOukuUd3g//9Rx+xhmV8tWRqxVpTHqWgroCEs9K\nRM4BcCmAY1ESjdU459ycPCdGCCFkcJNogxKRKwH8K0pCsasR9T23yJ/phBBCikLSJ6hPAFgI4P3O\nuT11nA8hhBACIPkGdRSA/8hzcypn570CADo6OtBdw376ubwGHAieecar7t69G2vV68xgMW48Nsz6\ntdeq5cNT5QetSdI10dSYDMcjRozAiXVeExFpoxT3etJLOV6blEGxJkzY/+rVq3FenV9nltQpXvoh\n22h9qBl9W+LsF09fF4n8AsB/OuduyzRaDbq7u12PjeFvBebP96rda9ei7q8zcF4nFp3O3gaN6LMi\ngJ/6+sILK8Xu7m709PRkNvm27Jowv4/uWbPqviY2mvqEPq/qGx1yYsJNYE5TeXZ/HT7ANRHDq36I\nR/d559V9TWT5o0WHnIyxja+YdIH6j1f1nZJ0TST9Q+djAD4uIn+Y8HpCCCEkE0mfv+5EKaHnz0Rk\nB/xNFChF8R2X68wIIYQMapJuUEvR5DmfsthcQ+kclpv611X5a4sW+Y0p7Mp6vnau9rXo+pAYk56+\n1j7mD1OP4E+atpPsWRFl1mtWrIkq1dmVgGSSfV+1aWyfNcGm8TUExoysb5V6ZoJJSR/pVt+3fbvX\nNnzkyGrFnDFrM2fMap8Kah7sKbQ0HhRtlIv8Vm++2as+fHX1RNMZWXy4gdTxVhRuhDK/tY8dG+xW\nG/Q7fvlLr23M2WdXyj+Gzzti+k1LovffOffeXEclhBBCYqDUESGEkEKSRkniNACfAvCHAA4H8Gbn\n3HIR+RKAXzjn7q7THHPBPrqniVrRZjyby3a1qX80Rb95kcb2qt8HmyVWG4JawVwTR5uRsUkjKdWr\nTGw2l+04U98Xio5MgVZNt4ZcMTJNOOqoxP2KztRrpaE0BZXDyZOVpn5qn1f1TbdWMDcZdeVqX6TI\nabOZMpml5XVl1rMZdUeYrMve0ZAYU1yHMhG/2cxPa8G/48tf9trwiUj+4kwk+rSIyNkAHgbwBygd\n2NX3HQBwVa6zIoQQMuhJ+ufcDQB+AmA6gGtM23IAGRIWEUIIIVGSPrPPBPBu55wTEWtR6gUwPt9p\nEUIIGewk3aB2obZb4kgAr9Voy59QRlSbKVRd2x5nP39J5U81J7vforNNXuVbMy9JmjKjLwIqHqJf\nm3ldYsJJg+HR69d71faJEyvlUPDxpFCfRSO0Jg74SVn2Kh9Qe5zPabfSRtjjq3x1jhpVrYwe7bVt\n1T4dIJ3fKeGaeNG0ealBYthk6uPN/GuSJe1Lg9G/gcirM3JTeOMbK8VTY1KR/EyVDzFtZ2q/0733\nem3ubW/zL07hd/KkhV5+2Ws79MgjK+UHzH2zTdZl2Lrmvvv8+nnnVYq/RoCcfU6WpJ+cX6KkJKF/\newc/SR8A8NNcZ0UIIWTQk/QJ6lMAHgTwGIAlKG1Ol4vITQBmAXhTfaZHCCFksJL0oO5jZR2+GwFc\nj1KU60dQeqo8xzn3VP2maAgpJQQez81DPWbZC3RYrgnRXazK84xJz4Zq68Dl2EDfwGvxlKHN67IK\nCNpk02U7UiY9e++z5tIpqmwTfllzRqEIrQljXtNGqgfNpWfZe3XmXpPFd7YqP2BNesas6M0vTrw3\n1P7cc5Xi0ccZZTFr3tZzMKY56zD21prtR629LGosjSZotJwV+fRX+clP/Prb3+5Vzw10+y5V/oE1\n6X3ve15123veUymPQhjv069MegCADRsqxdld/qff1wQBHlJlm6lcm/SAUmDBQTqvMXFxN91UKT5u\nujnF9puRxAcbnHPLAcwRkQ4AYwG86pyzahqEEEJILqQ+Neic2wVgLzcnQggh9STxBiUi54jI/SKy\nE8AGEdkpIj9nCg5CCCH1IJGJT0TmAfgvlJR9bkQpB1oXgIsA/FRELnHOLanbLDUB9V4bHg4l1zHr\n5JPD/f5eeZN+6gclzrvkkmplua9ffsTMDGeUdUixsf0P0WHxxsfRZsKCI34nzRY/M0rbmGqKsSn2\nWkWhfU6W0JqwckYqEdxZZ5wR7NZT+Z4922t74IFqUG9EFT2DnJFeE08Zf9Q05Xeyqa2H2dcdCpc2\nPrIher6B+4rsc4rw299Wy6ed5jV901x6mSqL8TlF0IruCxd6TT/4wAcqZeuUn6Z8TkC838lDfa8t\nNMrnC7Tf6ZZbvLaRH/6wV4/4nRSR+eqK8jlZ8vY5WZL6oD4H4H8AzHXOVVa3iPwNgB8C+DxK0X2E\nEEJILiT9U28ygH/VmxMAlOu3oMnOdRJCCCk+STeop1Fbzmg8gDX5TIcQQggpkdTEdz2AfxaRVc65\n3xz8oYi8BcBn0MgsEyruP5JSYLc5vTN5cvJ+778/2X2n5Gh11b6AHSYoUvuZskjMGNl/KB9Uy6Cz\nwB52mN+2xv/b6YDyO8X9dSZnnlkpu4ce8ttUOc+kas8qv9PxgeuyiA7tNz6yVJmEm4TvKr/Txabt\n8gd8UaDdyr8Y63u9885KcZnyOQH+2cpp27b5941K5XXyeFn5nRbcfrvfeOmlleJq43OammKMoqbX\nSbpBXQugA8AjIvICSkESEwAcUy5/UkQ+Wb7WOefOyX2mhBBCBhVJN6j9AH5X/neQZxEVIyCEEEJy\nIanU0R/VeR4eWhrdBAmjU5n1bDbbqSkUneeb+qJ585LdmMHcth/+aztMh/SGFKVDWU7jODqkWd48\n7FJlIySEEcqst8q0nXjiiV49ZI6zUkcPKrNeKMQ6U/j1zp3Aymoe18laOb9OY7aMSU9niDXHCS5W\nyt3m8AkON0cGQmY9k6cYEy6uGgwDgkmZTHoHAGjDvCdupEx6ljQmPcsxGe6tJ3mazwkhhJDcSKMk\ncaSI/IOI/EZE1pb//3sRCZ4TJYQQQvpDog1KRKYCeBTAx1ASyf11+f8/B/CoiJxQtxkSQggZlCQN\nkvg7lJJUvsU5t+7gD0XkOAD3lNvfndekDou/BEA6m6sV61iU4l6dvdR6dLaYuhJCwUTT1obkr82T\n2TFt1i+3QpWDdnHTr1X7PTQwxkDnUu1IeN2J8ZdUmGvqNv1GCB0dZA8l7DL1jn37qhWb2Xn4cCCh\n38k7lmDllEwmXqfC1eP8Va5GGTB/wdpsv3GpQ+qNPVJQg8PjL6lgo75SHFTBZlUeZxvXrfOquyZN\nqpTt2h4C/7MYRGd6HjbMa7LpNkZqObcjjgh266VgsRJyKuzdfv/lfYglqYnvXACf0psTADjnnkPp\nHFQoTQohhBCSmqQb1DAA22q0bSu3E0IIIbmRdIN6FMBHRcS7XkQEwIfL7YQQQkhupFEzvwvAKhFZ\nBOBllLI8zANwAoD/XZ/p9UEotcKzxoL8ox9VitdcfXW4Xy2T9PLLXtPRyl6MJ5/02sacdJJfD4/i\no236JgWC6Nf20kteW7uReAr6ncz5EFHnuEJ27oH2OaVCv4/WL2LTr190UaV4x/e/H+5WlcWsrcla\nDkunYADQYc+tWb9TcNDqqAfMa9FpMSIpPsy1Qe+Q8SVJUn/VQPuc0qDTzBh5r2Xm0lnqMz3ZfJ4j\n6N+18QOOO6R6ospfEcBw/R2C5D5VAN4a3mrGHK39Tr29XttIdRYMQNDvFPGb6srhtb149RZOS3pQ\n924RuQDAF1DS5ROUPr/LAFzgnLunflMkhBAyGEn8p51z7m4Ad4vICJQ2zi1M+04IIaRepLA9lChv\nSgO3MT3/fLVsVcefecavx2XH1LzwQrXcEXgAnxLKQ5sSbX6y6sf6sTqNiciyx+RezaKM3oxc7GtZ\nO2XWizNYyeOPVyuBjMx7jUkvk9J4QnNbmzVdpsniW7Rw8TpwuzLrWXGgWUbWbOXixZVyXMD/U+p3\nPc1+thTDc3yPd6jf7eif/cxvPLcaQH2PMemFMuhaOjZt8n8wvlZ2pcZCqSNCCCGFhBsUIYSQQsIN\nihBCSCHJ4NyoHzolhZXrOEr5nb5o2q6fMyfxGD809QuT+paG9f9McjDdRiCUEynSiEQ4NLFoSqHx\npFcC9n2bNGXxkiX+pYExnjD1kxNmT87k1XPOOwrQltRHmMbnlOe9RUJL8JhQ/0uPrCapWAGfGcrn\nBMT4nUy/07S/MfRdkMHntA/AK6o+VjeeW1u0J43PKUJBfE6WFlmphBBCWg1uUIQQQgpJIU18h9Uo\nAwBuvrlSvN6qQ6xZ49dfV3kpTz3Va7rQ9qsVKmwIrza7ZAgfjaiZa5Xr3/3Ov1iHNevXAaQz27VI\nSLHR2PIbZ86sFBcvX+637fBPRBwYMaLvPgHYQHKt1mBVvr0PTpb3WKT2+tpv9CLUcQM7nzS/1Sz3\nFgptFrcm8htvrBRnXHut1/RV081HtAKDVV+wqiCvVI1v+8d6xjcvU3GW93gojFlPqWJ8y6hiXKYr\nKgM0AODMMxOPab5hkqup1xk+QRFCCCkk3KAIIYQUEm5QhBBCCkkhfVBau/s7pu2Tyu+02LTNSyFD\nFFHv1SHfViVdkzF8VOsNd2oJo4CUTqZQ8Sb1OUVQvplZ5jUtU36niC1d+ZyAmL/ItE8QQFtSiamM\n77Gnmq77CoyfZcQWWRHAruqn+C4jT3aB9js94R8g+Ij9rFm/kx7C1DuU3ynwLZHtPd63D9is8vOO\nq+bnvayPyyuk8DlZiuJzsvAJihBCSCHhBkUIIaSQcIMihBBSSArpg/qGKk8NXHdBhjH6L1jUf6yE\nSW3LN7GcpHwzKwPXHWrPDoX8iZYB8Nc5+OetCvmBLCjLlN/pAnsGUvmjtxqf0+gUY3QYv2Sm1DdJ\nGTIEUNl5BzN8giKEEFJIuEERQggpJMWwKCxb5plXrrfSMTUYHn9JTQZiZ+5A2GRJFCtXeqH3Tz5h\ntcZrkMakl+e9/URQlA9hE7B/P7B1a6U6a7Qy1gWOmKQx6UVohEnPMmQIMHJk48ctIHyCIoQQUki4\nQRFCCCkk3KAIIYQUEnEJ/T11nYTIJgDPDfQ8GkAnfLWjVuQ451zm9JxcEy0F10Q6uCbKFGKDGiyI\nSI9zrnug50GKA9cEsXBNVKGJjxBCSCHhBkUIIaSQcINqLF8f6AmQwsE1QSxcE2XogyKEEFJI+ARF\nCCGkkHCDIoQQUki4QRFCCCkk3KAIIYQUEm5QhBBCCgk3KEIIIYWEGxQhhJBCwg2KEEJIIeEG1Qci\n8hERcSIyvU79HyMiS0TkNRHZKiLfF5FjG3U/SU+R14SI/FF5bvbfq/WYKylRzzUhIkeLyFdE5GER\n2VEeZ1LKPpr+e4LZpvvmNAA7APwu745FZASAnwLYDeByAA7AFwD8TERmOOder+f9pN8Udk0oPgbg\nN6q+L9eJEkvd1gSAKQAuBrAMwAMAzk9zc6t8T3CD6pvTAKxwzu2vQ98fAvAGANOcc2sAQERWAHga\nwJUAbqrz/aR/FHlNHGSVc+6ROsyP9E0918QvnHMTAEBEPoiUGxRa5HuCJj6DiLQDmA7gt3Ua4kIA\njxxcNADgnHsWwIMA3tmA+0lKmmBNkAZT7zXhnDuQsYuWWFPcoKJMBzAMwPK+GqXE0AT/2gL9P9HH\nz1cCOCnh/LLcT9JT9DVxkO+IyH4R2SwiC5vN39Bk1HtN5DG/pv+e4AYV5bTy/30uPADnANib4N/S\nGvePBbClj5+/AmBMgvllvZ+kp+hr4jUAXwbwQQBvBfB5AOcBeFhEjkhwP0lPvddEVlrie4I+qCin\nobRw+vrrAyg5Ld+UoJ9tuc2IDDSFXhPOud/CNzXdLyK/APBrAB8F8Kl6jDvIKfSaaBW4QUU5DcBK\n59yeGu3bATyaoJ9aiba2oO+/YGr9xZP3/SQ9RV8T0YGcWy4iqwG8uT/3k1jqvSay0hLfEzTxKURE\nAJyK2o/tQPZH95Uo2YctJwF4MsE0s95PUtAka4I0kAatiay0xJriE5TP8QBGIRyZk/XR/YcA/kFE\n3uCcewYAygfwzgJwXYJ+s95P0tEMayKCiHQDmAZgSX/uJ0EasSay0hLfE0z5rhCReQC+C+As59xD\ndRrjUACPAdgJ4K9ResT/PEoLfoZzbru69hyU/sJ6v3PuW2nvJ9lpkjXxbQBrUfrC3IqS+ekvUTpE\nOtM511uPeQ9WGrEmyuNcVC7OAXAVgA8D2ARgk3PufnVdy35P8AnK50wAexB+dM+Ec+51EXkrgH8E\n8J8ABKXF9fE+Fo0AaIMyxaa8n2Sn8GsCJXPOpQA+DmAEgA0Avg/gb7g51YW6r4kyi039lvL/9wP4\nI/Xzlv2e4BNUGRE5BMBTAB51zs0d6PmQgYdrgli4JhrLoH+CKp8TmQngzwB0AfjswM6IDDRcE8TC\nNTEwMIqvZBb5DkqmkdnlMyVkcMM1QSxcEwMATXyEEEIKCZ+gCCGEFBJuUIQQQgoJNyhCCCGFhBsU\nIYSQQsINihBCSCHhBkUIIaSQcIMihBBSSP4/vGRWfsOpIDIAAAAASUVORK5CYII=\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "heis = sum([tensor([pauli]*2) for pauli in [sigmax(), sigmay(), sigmaz()]])\n", "heis2 = sum([tensor([pauli, qeye(2), pauli]) for pauli in [sigmax(), sigmay(), sigmaz()]])\n", "\n", "N = 10\n", "Js = [0., 0.5, 1.]\n", "\n", "fig = plt.figure(figsize=(2*len(Js), 4.4))\n", "\n", "for b in [0, 1]: \n", " for k, J in enumerate(Js):\n", " ax = plt.subplot(2, len(Js), b*len(Js) + k + 1)\n", " \n", " if b == 0:\n", " spinchain = spinchainize([heis, J*heis2], N, bc='periodic')\n", " elif b ==1:\n", " spinchain = spinchainize([heis, J*heis2], N, bc='open')\n", "\n", " plot_qubism(gs_of(spinchain), ax=ax)\n", " \n", " if k == 0:\n", " if b == 0:\n", " ax.set_ylabel(\"periodic BC\",\n", " fontsize=16)\n", " else:\n", " ax.set_ylabel(\"open BC\",\n", " fontsize=16)\n", " if b == 1:\n", " ax.set_xlabel(\"$J={0:.1f}$\".format(J),\n", " fontsize=16)\n", "\n", "plt.tight_layout()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We are not restricted to qubits. We can have it for other dimensions, e.g. qutrits.\n", "\n", "Let us consider [AKLT model](http://en.wikipedia.org/wiki/AKLT_Model) for spin-1 particles:\n", "\n", "$$H = \\sum_{i=1}^N \\vec{S}_i \\cdot \\vec{S}_{i+1} + \\tfrac{1}{3} \\sum_{i=1}^N (\\vec{S}_i \\cdot \\vec{S}_{i+1})^2.$$\n", "\n", "where $\\vec{S}_i$ is [spin operator](http://en.wikipedia.org/wiki/Pauli_matrices#Physics) for spin-1 particles (or for `qutip`: `jmat(1, 'x')`, `jmat(1, 'y')` and `jmat(1, 'z')`)." ] }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [ { "data": { "image/png": "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\nCCRcCCRcCPQ/qmL2fMQ7tO4AAAAASUVORK5CYII=\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "ss = sum([tensor([jmat(1, s)]*2) for s in ['x', 'y', 'z']])\n", "H = spinchainize([ss, (1./3.) * ss**2], n=6, bc='periodic')\n", "plot_qubism(gs_of(H), figsize=(4,4));" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Qubism for qutrits works similarly as for qubits:" ] }, { "cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAkMAAAETCAYAAAA1XwLxAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3X1sFPeBPvBngF1MDSao/GIKBtMW2sa0FcEb4YaoIYQQ\nDAUsXpy2wTJnn30kplzVCFHISUYtiXsN0qkQXRCBxoeKQnK4MpwdO9Ruc614U+0zaUKBHGEddykm\nvJpgwzrcfn9/EG92dmd3v7M7L7s7z0daiRnPzDP7ZLL+end2RhFCgIiIiMiphtm9A0RERER24mCI\niIiIHI2DISIiInI0DoaIiIjI0TgYIiIiIkfjYIiIiIgcjYMhIiIicjQOhoiIiMjROBgiIiIiR+Ng\niIiIiBxthJ6Fx48fL6ZOnWrSrjjP//7v/2L69Ol270ZGYafG6u7uxpUrVxS798MIVr9+WX0s2nHs\nZ/pzZF76Z3Z2dl4RQvy/eMvpGgxNnToVHR0die8VqXg8HvZpMHZqLI/HY/cuGMbq1y+rj0U7jv1M\nf47MS/9MRVE+klmOH5MRERGRo3EwRERERI7GwRARERE5GgdDRERE5GgcDBEREZGjcTBEREREjsbB\nEBERETkaB0NERETkaBwMERElqbe3FwMDA8xL40zmOTtP1xWoiYgyQXd3N+rr67FhwwY8++yzcLvd\nmDt3LkpKSlTTTz/9NPr7++Mu09PTg7Nnz6KsrMzwvO985zt44YUX0NfXhwMHDgCAqXnZ2dlobm7G\nzZs3UVlZiQULFsTNi5Wptf9mdiqTZ2SnMnmJdBotT2tbZvYpk2dknzJ5iR6jMQkhpB+FhYWCjMM+\njcdOjfVZn7peJ1L1EXpseL1eUVtbK/bu3SsOHTokhBCitLQ0YloIIbVMIBAQ69ev1+ou6bwhK1as\nCP7birxr166JioqKqHmymVr7b2anMnlay1iRF69TPXmh27Kiz1h5Wh3EO2aMyJM5RgF0CInXB35M\nRkSO5fP5MHnyZADA8OHDI6Zll1EUBW63G36/3/A8LVbkbd26FTU1NbryZPffzE4TXcaKvEQ6ldmW\nFX3GytNiRV6ix6gWDoaIyLHy8vLg8/kAAIFAIGJadhkA8Pv9cLlchudFY1aeEAIbN25EcXExZs2a\npStPdv/N7DTRZczMS6ZTmW2Z2adMXjRm5SV7jGrhYIiIHGv58uVoaGjAM888gyVLlkRMyy4zODgI\nl8uFYcNiv6Qmknf16lWsXbsWXV1dqKurMz1vx44daGtrw4EDB7Bz505debL7b2anMnlGdiqTl0yn\nMtsys0+ZPCP7lMlL9hjVJPNZmtD4zJ2Sxz6Nx06NlennDBmlpaVFNDU1qeZlep4dmcxL77zQTKvy\nIHnOEL9NRkSUpIULFzIvzTOZ5+w85d7ASY7H4xEdHR1JBdLnPB4P2Kex2KmxPutTsXs/jGD165fV\nx6Idx36mP0fmpX+moiidQghPvOV4zhARERE5mmGDoTVr1kBRFCiKgqlTpxq1Wcdin8Zjp0REpCUl\nzxn629/+huPHj6Onpwe3b99GTk4Opk+fjjlz5iAnJydls7Zt24YNGzYAAEaMGIHLly/jvvvuM3R/\nE2Fln0ZK1T4Bazrt7e3Fe++9B6/Xi+vXrwMAxo0bh0mTJmH27NkYP3687m2mcqdERLaROctaaHwb\nI1x5ebkAIACI/Pz8hM4Gb21tFXPmzAluJ/zhcrnEU089Jc6ePZvQ9s3O+uCDD1Tb+M1vfhNz+Uzp\n8/Lly6KlpUX87Gc/E0uWLBETJkyIyPJ6vbq3q7dPIdK70/7+fvHmm2+KiooKkZ+fHzVj6PHggw+K\n3bt3izt37khnJHiM2v5NMCMeVn/TMNPz7MhkXnrn2ZEJyW+TpcRg6NNPPxXV1dVxX/yHHiNHjhS/\n/vWvdWVYlVVQUBBcd9WqVTGXTec+Ozs7RWlpqfjyl78slZHIYEgIfX0Kkb6dvvjiiyI7O1t6+6GP\nGTNmiK6uLumsBI5R2wcyRjwy/ReNE36xMS+98+zIlB0M2X4CtRACZWVl2LVrl2q+oiiYNGkSCgsL\nkZubq/qZ3+9HRUUFdu/enXJZy5YtC/67tbU14UuDJ8qqPv/yl7/gzTffhNfrNWS/o7G7T8CaTjs7\nO9Hf36/5swkTJuDb3/62Zg4AnDp1Co888giOHj0qlZUKnRIRpRLbB0Pbt2/H/v37VfOWLl2KU6dO\nwefzoaOjA729vTh27Bgefvhh1XI1NTU4efJkSmWVlJQE//3JJ5/g97//vfT+GcHKPqMZPXp00tsY\nYnefgPWdZmVl4Yc//CHeeOMNXLp0CRcvXsS7774bzHn//fcj7szc39+PxYsXo7e3N+72U6FTIqKU\nIvP2kZB4mzmRjyCuX78u7rvvPtVb/pWVlSIQCGguf/v2bfHkk0+qlp8/f35KZQUCATFx4sTgOtXV\n1VGXTec+X3vtNQFAjBo1ShQVFYl169aJ+vp68f7774v/+7//M+xjMj19CpG+na5YsUKMHz9e/PKX\nvxTXrl2T2rfXXntNKIqiylqzZk3c9RI4Rm3/iMuIR6Z/BOGEjzyYl955dmQiHc4Zev7551Uv5F/9\n6lfFwMBAzHUuXrwoxo0bp1rvD3/4Q0plrV27Nrj8l770pai/ONO5z48++kicPHlSfPrpp5o/N2ow\nJIR8n0Kkb6eHDx8WN2/elNqnUP/8z/+sysnKyhK3bt2Ku57OY9T2gYwRj0z/ReOEX2zMS+88OzJl\nB0O2fbVeCIE9e/ao5v30pz/FqFGjYq43YcIEPPPMM3jxxReD83bt2oW5c+emRBZw75yMoZvHXbx4\nESdOnEBRUVHMdZJl9XOcMmUKpkyZkvD+6mFHn4C1nT7xxBMJ7eNPf/pTbN++/d5fNgDu3LmDd955\nB4sXL465nl2dWk1RlGoA1cC9jx89nrgXojXM6dOnMzrPjkzmpXeeXZlSZEZMQuIvK71/dR89elT1\nF212drb45JNPpEZ6H374oWrdsWPHisHBwZTIEkIIv98vcnJyguts3LhRc7l07VNG6PaQ5DtDsn0K\nkdmdRvP1r39dlfXv//7vcdfReYza/q6OEY9M/6vbCX/lMy+98+zIRKp/m6ypqUk1/fDDD0ufePuV\nr3wF06ZNC0739fXhj3/8Y0pkAYDb7UZxcXFw+uDBg1JZybD6OVrJjj6B9Ol03LhxqukbN27EXceu\nTomIUpFtg6Guri7V9Jw5c3StH758+PbsyhoS+vXlM2fO4IMPPtCVqZcdz9FKVvcJpE+nFy5cUE3L\nXpnajk6JiFKRbYOh06dPq6YLCgp0rR++fPj27MoasmjRIrhcruB0Y2Ojrky97HiOVrK6TyA9Oj1/\n/jx8Pp9q3te+9jWpde3olIgoFdkyGLp9+zZ6enpU8/SejDt58mTV9JkzZ2zPCjV27FjVCbNm/qKx\n6zlayco+gfTpdM+ePcGTp4F7H5nJvoNldadERKnKlsHQlStXEAgEVPPy8vJ0bSN8+Y8//tj2rHCh\nF7c7ceIELl26pCtXlp3P0UpW9QmkR6cXLlzA9u3bVfNWr16NESPkvyRqZadERKnKlsHQrVu3IuZl\nZ2fr2kb48lrbtDor3NKlS6EoCgAgEAjg0KFDunJl2fkcrWRVn0DqdyqEQGVlpWqbY8aMwebNm3Vt\nx8pOiYhSVcoMhrKysnRtI/xaL3oGQ2ZlhcvLy0NhYWFw2qxv7Nj5HK1kVZ9A6ne6detWvP3226p5\n27Ztw4QJE3Rtx8pOiYhSlS2DoTt37kTMc7vdurYxcuRI1fTt27dtz9IS+o2d9vZ2UwYZdj9HK1nR\nJ5DanTY0NKC2tlY1b/ny5aiurk5oe1Z1SkSUqmwZDGn9hT04OKhrG+F32o72V7uVWVpCz8m4c+cO\nWltbdWXLsPs5WsmKPoHU7fRPf/oTVq9erTppeubMmaivr094m1Z1msl6e3sxMDDAvDTOZJ6z82wZ\nDGlduE7rL/FYwv/KjnYxPCuztHzzm99UnUhrxi8au5+jlazoE0jNTk+ePIklS5ao9mP69OlobW3F\nmDFjEt6uVZ2mku7ubmzZsgX9/f0oLy9HVVUV9u3bFzEN3Lt8QWVlJVauXAkAmsv09PSgoaHBlLzw\nabPzGhsbUVVVhaeeegqHDx+WyouVqbX/ZnYqk2dkpzJ5iXQaLU9rW2b2KZNnZJ8yeYkeo7GkzGCo\nv79f1zbCl9czGDIrS8uNGzfQ29sbnP7GN76hK1uG3c/RSlb0CaRep2fPnsWCBQvQ19cXnDd58mS0\ntbUhNzc34e0C1nWain77299i5cqVePXVV3Ho0KGIaeDe1cRD71GntcxDDz2Ejo4OU/LCp83OKykp\nwauvvoqdO3fijTfe0JWnlam1/2Z2KpNnZKcyecl0Gp6ntS0z+5TJM7JPmbxkj1EttgyGxo8fH/wG\ny5DwC8fFE778/fffb3uWlubmZty9ezc4HfqRhFHsfo5WsqJPILU69Xq9mD9/Pi5fvhycl5ubi/b2\ndkNulmtVp6nI5/MFrwc1fPjwiGmZdQBAURS43e6Ij0aNyNNiRd7WrVtRU1OjK08rU4aRnSbKirxE\nOo2WF7otmXXMzNNiRV6ix6gWWwZDo0aNQn5+vmpe+AXu4glf/oEHHrA9S0vohewKCgpU96syit3P\n0UpW9AmkTqcXLlzA448/rhpYffGLX0R7ezumT5+ue3tarOo0FeXl5QW7DQQCEdMy6wzx+/2qK3ob\nlReNWXlCCGzcuBHFxcWYNWuWrjytTBlGdpoMs/KS6TQ8L9q2ZPbRrLxozMpL9hjVYtvtOMJ/MZw6\ndUrX+uG3Noj1i8bKrFB+v191/oWZf3Hb9RytZGWfgP2dfvzxx3j88cfh9XqD88aOHYvDhw9jxowZ\nurYVjdWdpprly5ejoaEBzzzzDJYsWRIxDQBXr17F2rVr0dXVhbq6Os1lBgcH4XK5MGxY7JfURPLC\np83O27FjB9ra2nDgwAHs3LlTV55Wptb+m9mpTJ6RncrkJdNpeJ7WtszsUybPyD5l8pI9RjXJ3Np+\n6FFYWCiiKS8vFwAEAJGfnx91uSGbN28OLg9APPHEE3HXCTVt2jTV+r/73e9SIitUc3Ozar0TJ06o\nfp6ufcoI3RYA4fV6k9qeEPH7FCJzOr169ar41re+pVp/9OjR4tixY7r2IR7JY1TX60SqPkKPDa/X\nK2pra5OpTqWlpUU0NTWp5mV6nh2ZzEvvvNBMq/IAdAiJ1wf56/Yb7Hvf+x5efPHF4PTRo0dx69Yt\nqZNMz58/j3PnzgWnc3Jy8N3vfjclskKFXsBu4sSJeOihh6TWS4Rdz9FKVvYJ2NfpzZs38eSTT+K9\n994LzvvCF76ApqYmFBUV6XgG8VndaaZauHAh89I8k3nOzrPtY7LZs2ervgXT39+P/fv3S60bftb6\nokWLYl4Qz8qsIUII1a0NQm97YAY7nqOVrO4TsKfT/v5+LFq0SPWtiJEjR6KxsRGPPvqo5J7LsaPT\nVDF16lRs2bKFeWmcyTzmGcm2wdCwYcNQUVGhmveLX/wi7lV6e3t78corr6jmVVVVpUzWkOPHj6u+\nrmz2uRh2PEcrWd0nYH2nfr8fJSUlOHLkSHCe2+1GQ0MDnnjiCR17LseOTomIUpFtgyEA2LBhA8aO\nHRuc/vDDD/GjH/1IdXXdUH6/H2vWrMH169eD8+bNm4d58+alVBag/vghJycHjz32mNR6ybD6OVrJ\njj4B6zq9e/cuSktL0dbWFpw3YsQIvP7661i8eHGSz0KbXZ0SEaUa284ZAoBx48ahtrYWP/nJT4Lz\n9uzZgytXrqCurk717Zvjx4/jueeew9GjR4PzXC4XXnrppZTLAtRfVy4uLrbkYyern2NnZ6fql34s\nR44cUZ1DE2r+/Plx17ejT8C6TquqqiLuGL9mzRrk5OSoBkgyJk6ciIKCgrjL2dUpEVHKkTnLWmh8\nGyOc3m/qDAkEAmLVqlUR3z5SFEXk5eWJwsJCkZubG/FzAOKVV16RzrEy68yZM6p1X3/9dc3l0r3P\nRx99VHM7eh/xyPYpRPp2mp+fb0iXAER5eXncPJ3HqO3fBDPiEevYMEOm59mRybz0zrMjE6n+bbIh\niqJg3759yMnJUZ10KoSAz+fTvOqv2+3Gyy+/rPvcFquyQv/idrlcKC4u1rWfybCyT6vY2SfATomI\nMp2t5wwNcblc2L17N956662YXx0eMWIEVq1ahXfffTfhXzJWZIWei/HYY4+pzjmxgpV9WsHuPgF2\nSkSUyWx/ZyhUcXExiouL0dPTg2PHjqGnpwd+vx9jxozBtGnT8Mgjjxj2om1W1qVLl3DixIng9LJl\nywzZ30SY3ec777xj3M5GkUp9AuZ12t3dbfzORpFqnRIR2S2lBkNDpkyZYsgNKO3IOnjwYPBeMIqi\npMQvGiv7NFoq9gmwUyKiTJISH5NlktCPHzweDyZNmmTj3qQ/9mk8dkpEpJaS7wylq1u3bqG9vT04\nzb+4k8M+jee0ThVFqQZQDQBZWVnweDyWZZ8+fTqj8+zIZF5659mVKYODIQO1trbC7/cHp3lF3+Sw\nT+M5rVMhxC4AuwDA4/GI0NucmM3j8SCT8+zIZF5659mRKXuLIQ6GDJSXlxe8DYPL5cKMGTNs3qP0\nxj6Nx06JiCJxMGSgoqIiw+8q7mTs03jslIgoEk+gJiIiIkfjYIiIiIgcjYMhIiIicjTDBkP19fXB\nG55ZeTXdTMU+jcdOiYhIC98ZIiIiIkfjYIiIiIgcjYMhIqIk9fb2YmBggHlpnMk8Z+fxOkNE5Djd\n3d2or6/Hhg0b8Oyzz8LtdmPu3LkoKSlRTT/99NNobGxEc3Mzbt68icrKSsyZMydimZ6eHpw9exZl\nZWWG502bNg0vvPAC+vr6cODAAQAwNW9gYEA1vWDBgrh5sTK/853vROy/mZ3K5BnZqUxeIp1Gy8vO\nzo7Ylpl9yuQZ2adMXqLHaExDJ5TKPAoLCwUZh30aj50a67M+db1OpOoj9Njwer2itrZW7N27Vxw6\ndEgIIURpaWnEdKhr166JiooKzWUCgYBYv369VndJ5w1ZsWJF8N9W5IVOa+XJZmrtf3iGkZ3K5Gkt\nY0VevE715IVvO3SeGX3GytPqIN4xY0SezDEKoENIvD7wYzIiciyfz4fJkycDAIYPHx4xHWrr1q2o\nqanRXEZRFLjdbtV934zK02JFXui0bJ5WZixmdCqTp8WKvEQ6jZan9VzM7DNWnhYr8hI9RrVwMERE\njpWXlwefzwcACAQCEdPAvXfPN27ciOLiYsyaNUtzGQDw+/1wuVyG50VjVl60fJk8rUwtZnYqkxeN\nWXnJdBqep7UtM/uUyYvGrLxkj1EtPGeIiBxr+fLlWLduHZqbm7FkyRKUlJSopgFgx44daGtrQ19f\nH86dO4eysrKIZQYHB+FyuTBsWOy/LxPJW7VqFZ5//nl0dXWhrq4OmzZtMjVvcHBQNb127VrpPK3M\nq1evRuy/mZ3K5BnZqUxeMp2G54Vve+3atab2KZNnZJ8yeckeo5pkPksbevB8DGOxT+OxU2Nl+jlD\nRmlpaRFNTU2qeZmeZ0cm89I7LzTTqjxInjPEd4aIiJK0cOFC5qV5JvOcnafcGzjJ8Xg8oqOjI6lA\n+pzH4wH7NBY7NdZnfSp274cRrH79svpYtOPYz/TnyLz0z1QUpVMI4Ym3HE+gJiIiIkfjYIiIiIgc\njYMhIiIicjQOhoiIiMjROBgiIiIiR+NgiIiIiByNgyEiIiJyNA6GiIiIyNE4GCIiIiJHi3s7DkVR\nqgFUA0BWVhY8nrgXciRJp0+fZp8GY6cUys7XL6uPRTuO/Ux/jszLjEwZvB2HjXjrCOOxU2PxdhxJ\n5fHWCsxjns2ZvB0HERERkQQOhoiIiMjROBgiIiIiR+NgiIiIiByNgyEiIiJyNA6GiIiIyNE4GCIi\nIiJH42CIiIiIHI2DISKiJPX29mJgYIB5aZzJPGfncTBERI7T3d2NLVu24Pz586isrMTKlSsBAP39\n/SgvL0dVVRX27dunOU9rmZ6eHjQ0NJiSF76O2XmNjY2oqqrCU089hcOHD0vlxcrU2n8zO5XJM7JT\nmbxEOo2Wp7UtM/uUyTOyT5m8RI/RmIQQ0o/CwkJBxmGfxmOnxvqsT12vE6n6CD02vF6vqK2tDU6v\nWLFCCCHE3r17xaFDh4QQQpSWlmrO01omEAiI9evXa3WXdF74OlblXbt2TVRUVETNk83UmjazU5k8\nrWWsyIvXqZ680G1Z0WesPK114h0zRuTJHKMAOoTE6wPfGSIi+ozP58PkyZMBAMOHD9ecp7WMoihw\nu93w+/2G52mxIm/r1q2oqalJKk92P4zsVCZPixV5RnYaui0r+oyVp8WKPCP75GCIiOgzeXl58Pl8\nAIBAIKA5T2sZAPD7/XC5XIbnRWNWnhACGzduRHFxMWbNmpVUnux+GNmpTF40ZuUZ2anWtszsUyYv\nGrPyzDhGORgiIse6evUq1q5di66uLtTV1WH58uVoaGjAM888gyVLlgBAxDytZQYHB+FyuTBsWOyX\n1ETywtcxO2/Hjh1oa2vDgQMHsHPnTl15Wpla+29mpzJ5RnYqk5dMp+Hb19qWmX3K5BnZp0xesseo\nJpnP0oTGZ+6UPPZpPHZqLKecM5SslpYW0dTUpJqX6Xl2ZDIvvfNCM63Kg+Q5QyMSG0IREdGQhQsX\nMi/NM5nn7Dzl3sBJjsfjER0dHUkF0uc8Hg/Yp7HYqbE+61Oxez+MYPXrl9XHoh3HfqY/R+alf6ai\nKJ1CCE+85XjOEBERETkaB0NERETkaIYNhtasWQNFUaAoCqZOnWrUZh2LfRqPnRIRkRbHn0D9t7/9\nDcePH0dPTw9u376NnJwcTJ8+HXPmzEFOTo6ubW3btg0bNmwAAIwYMQKXL1/GfffdZ8ZuO4LT++zt\n7cV7770Hr9eL69evAwDGjRuHSZMmYfbs2Rg/frzubTq9UyIiLSkzGLpy5Qo6Ojrw5z//Ofjo7e1V\nLeP1eg37i/7tt9/Gz3/+cxw5ckTz5y6XC8uXL8fPfvYzfO1rX5Pa5rJly4K/aO7evYvm5mY8/fTT\nhuyvXlb2aVZWKvUJmN/pwMAAmpub0draivb2dnz00Ucxl3/wwQdRU1OD1atXY+TIkVIZqdYpEVEq\nsHUw9D//8z/413/9V/z5z3+G1+u1JPPu3buoqanBrl27Yi736aef4o033kBjYyNeeeUV/MM//EPc\nbU+fPh0FBQX461//CgA4ePCgpb9orOzTiiy7+wSs67Surg4vvPAC+vv7pdfp6urCP/7jP+Lf/u3f\n8Jvf/AYzZ86Mu04qdEpElGpsPYH6L3/5C958803LBkJCCJSVlUUMhBRFwaRJk1BYWIjc3FzVz/x+\nPyoqKrB7926pjGXLlgX/3draati9fGRY2adVWXb2CVj3PDs7O6MOhCZMmIBvf/vbmscnAJw6dQqP\nPPIIjh49KpVld6dERKkmZb9NNnr0aMO3uX37duzfv181b+nSpTh16hR8Ph86OjrQ29uLY8eO4eGH\nH1YtV1NTg5MnT8bNKCkpCf77k08+we9//3tjdj5JZvRpRVaq9gmY12lWVhZ++MMf4o033sClS5dw\n8eJFvPvuu8Hj8/3330dZWZlqnf7+fixevDjiYzstqdwpEZEdUmIwNGrUKBQVFWHdunWor6/H+++/\nj76+PkMzbty4gS1btqjmVVZWorGxEQ888IBqflFREdrb2/Hkk08G5w0ODgbPtYjloYcewsSJE4PT\njY2Nye14Aqzo06qsVOgTsKbT8ePH45e//CX+/ve/Y9++fSgtLcX9998fsdyMGTOwd+9evPbaa1CU\nz6+HeOPGDWzatCluTqp0SkSUKmw9Z2jevHk4efIkZsyYgREjzN2Vbdu24caNG8Hpr371q9ixY4fq\nl0morKws1NfXo6CgIPhNnra2NrzzzjuYO3du1BxFUbB06dLgzeP+67/+Czt37oyaYyQr+7Qqy84+\nAeue5z/90z/htddew5gxY6TXWbNmDU6ePIlf/epXwXn79+/Hyy+/jOzs7Kjr2d2plRRFqQZQDdz7\nf9rjiXshWsOcPn06o/PsyGReeufZlSlF5gZmQuNGh+HKy8sFAAFA5OfnG3HfteD2hh5erzeh7QQC\nATFhwgTVtl599VWpdTdv3qxa7wc/+EHcdVpaWlTrHDt2THO5dO3T6izZPoXI7E61XLx4USiKotoH\nrZsVhtN5jNp+k1UjHlbfxDfT8+zIZF5659mRCckbtabEx2RmO378uOpciuzsbHz/+9+XWreyslI1\n/dZbb+HTTz+Nuc68efNU1yjixxDJYZ/RTZgwIeLSDz09PXHXY6dERJ9zxGCoqalJNf3www9Ln/z6\nla98BdOmTQtO9/X14Y9//GPMddxuN4qLi4PTBw8e1LG3FI59xjZu3DjVdOjHwdGwUyKizzliMNTV\n1aWanjNnjq71w5cP356W0K8vnzlzBh988IGuTFJjn9FduHBBNS17ZWp2SkR0jyMGQ6dPn1ZNFxQU\n6Fo/fPnw7WlZtGgRXC5XcJofQySHfWo7f/48fD6fap7sFdPZKRHRPRk/GLp9+3bEORRTpkzRtY3J\nkyerps+cORN3nbFjx6q+dcZfNMlhn9r27NmDe+cI3jNu3Djpdz7ZKRHRPRk/GLpy5QoCgYBqXl5e\nnq5thC//8ccfS60XenG7EydO4NKlS7pySY19ql24cAHbt29XzVu9erWuSwCwUyIiBwyGbt26FTEv\n1jVYtIQvr7VNLUuXLg1euyUQCODQoUO6ckmNfX5OCIHKykrVsThmzBhs3rxZ13bYKRGRQwdDWVlZ\nurYxatSouNvUkpeXh8LCwuA0v7GTHPb5ua1bt+Ltt99Wzdu2bRsmTJigazvslIjIAYOhO3fuRMxz\nu926tjFy5EjV9O3bt6XXDf3GTnt7u/RAirSxT6ChoQG1tbWqecuXL0d1dXVC22OnROR0GT8Y0noX\naHBwUNc2wu/qreedpdBzMu7cuYPW1lZd2aTm9D7/9Kc/YfXq1aqTpmfOnIn6+vqEt+n0To3Q29uL\ngYEB5qWWOF61AAAgAElEQVRxJvOcnZfxgyGtiytqvVsUS/g7QXruVv7Nb35TdQI2f9Ekx8l9njx5\nEkuWLFEdv9OnT0dra6uue5qFc2Kn3d3d2LJlC86fP4/KykqsXLkSANDf34/y8nJUVVVh3759ACC1\nTE9PDxoaGkzJC582O6+xsRFVVVV46qmncPjwYam8WJla+29mpzJ5RnYqk5dIp9HytLZlZp8yeUb2\nKZOX6DEaiyMHQ/39/bq2Eb68nsHQjRs3VLcC+cY3vqErm9Sc2ufZs2exYMEC9PX1BedNnjwZbW1t\nyM3NTWrbTu0UuHeF+T179gSnf/vb32LlypV49dVXgyeTyyzz0EMPoaOjw5S88Gmz80pKSvDqq69i\n586deOONN3Tlye6/mZ3K5BnZqUxeMp3KbMvMPmXyjOxTJi/ZY1RLxg+Gxo8fH3E37vCL1MUTvvz9\n998vvW5zczPu3r0bnA79SIL0c2KfXq8X8+fPx+XLl4PzcnNz0d7ervuaWVqc2Gk0Pp8veF2x4cOH\nSy+jKArcbnfER+pG5GmxIm/r1q2oqalJKi+Z/TI7M5wVeUZ2GrqtcGb0GStPixV5RvaZ8YOhUaNG\nIT8/XzVP5kaWsZZ/4IEHpNcNvZBdQUGB6j5npJ/T+rxw4QIef/xx1YD8i1/8Itrb2zF9+nRDMpzW\naSx5eXnBrsOvTxZvGb/fr7qit1F50ZiVJ4TAxo0bUVxcjFmzZiWVl+x+mZmpxaw8IzuNtq1QRvYp\nkxeNWXlmHKMZPxgCIgcvp06d0rV++O03ZAdDfr9fdf6Fk//iNoLT+vz444/x+OOPw+v1BueNHTsW\nhw8fxowZMwzJcFqn4a5evYq1a9eiq6sLdXV1WL58ORoaGvDMM89gyZIl0ssMDg7C5XJh2LDYL6mJ\n5IVPm523Y8cOtLW14cCBA9i5c6euPNn9N7NTmTwjO5XJS6ZTmW2Z2adMnpF9yuQle4xqEkJIPwoL\nC0U05eXlAoAAIPLz86Mup8fQ9oYeXq83oe1s3rxZtZ0nnnhC1/rTpk1Trf+73/1Oar3m5mbVeidO\nnFD9PF37tCsrXp9CZE6nV69eFd/61rdU2x49erQ4duyYIdsfInmM6nqdSNVH6LHh9XpFbW1tMtWp\ntLS0iKamJtW8TM+zI5N56Z0XmmlVHoAOIfH6IH/d/jT2ve99Dy+++GJw+ujRo7h165bUidDnz5/H\nuXPngtM5OTn47ne/K5UbegG7iRMn4qGHHtKx1xTOKX3evHkTTz75JN57773gvC984QtoampCUVGR\noVlO6dRsCxcuZF6aZzLP2XmO+Jhs9uzZqm/c9Pf3Y//+/VLrhp8hv2jRIqmLNgohVLc2CL3tAenn\nlD77+/uxaNEi1bciRo4cicbGRjz66KOGZjmlUy1Tp07Fli1bmJfGmcxjnpEcMRgaNmwYKioqVPN+\n8YtfxL2SdG9vL1555RXVvKqqKqnM48ePq76u7LRzMYzmhD79fj9KSkpw5MiR4Dy3242GhgY88cQT\nhuc5oVMiIhmOGAwBwIYNGzB27Njg9Icffogf/ehHqiv5hvL7/VizZg2uX78enDdv3jzMmzdPKi/0\n44ecnBw89thjCe45AZnf5927d1FaWoq2trbgvBEjRuD111/H4sWLTcnM9E6JiGTZfs5QZ2enasAR\ny5EjR1Tn74SaP39+zHXHjRuH2tpa/OQnPwnO27NnD65cuYK6ujrVN8SOHz+O5557DkePHg3Oc7lc\neOmll6T2E1B/Xbm4uFj3/dASZVWfVmfZ1SdgzfOsqqqKuGP8mjVrkJOToxogyZg4cSIKCgriLmdn\np0REqcT2wdBzzz2H//7v/5ZadvXq1VF/Fu0dnlA//vGPcezYMfznf/5ncN7Bgwdx6NAhTJo0Cbm5\nufD5fLh06VLEutu3b5e+xsLZs2dx9uzZ4LSVHz9Y2adVWXb2CVjzPP/whz9EzNu9ezd2794tlRuq\nvLw87r3K7O6UiCiV2D4YspKiKNi3bx9ycnJUJ0YLIeDz+TSvTO12u/Hyyy9LnysEqP/idrlcKC4u\nTm7HHY59Go+dEhF9zjHnDA1xuVzYvXs33nrrrZhfUx4xYgRWrVqFd999V9dACFCfi/HYY4+pzlUi\n/din8dgpEdHnbH9n6J133rElt7i4GMXFxejp6cGxY8fQ09MDv9+PMWPGYNq0aXjkkUcS+gVx6dIl\nnDhxIji9bNkyI3c7Liv7tCLL7j4Ba55nd3e36RlDUqFTIqJUYvtgyG5Tpkwx5GaXQw4ePBi8F4yi\nKPxFkyT2aTx2SkSk5riPycwW+vGDx+PBpEmTbNyb9Mc+jcdOiYjUHP/OkJFu3bqF9vb24DT/4k4O\n+zSe0zpVFKUaQDUAZGVlwePxWJZ9+vTpjM6zI5N56Z1nV6YMDoYM1NraCr/fH5zm15WTwz6N57RO\nhRC7AOwCAI/HI0Jvc2I2j8eDTM6zI5N56Z1nR6bsLYY4GDJQXl5e8PYdLpcLM2bMsHmP0hv7NB47\nJSKKxMGQgYqKigy/q7iTsU/jsVMiokg8gZqIiIgcjYMhIiIicjQOhoiIiMjRDBsM1dfXQwgBIYSl\nV9PNVOzTeOyUiIi08J0hIiIicjQOhoiIiMjROBgiIkpSb28vBgYGmJfGmcxzdh4HQ0TkON3d3diy\nZQvOnz+PyspKrFy5EgDQ39+P8vJyVFVVYd++fQCAxsZGVFVV4amnnsLhw4c1l+np6UFDQ4MpeeHr\nmJ0XPi2TFytTa//N7FQmz8hOZfIS6TRanta2zOxTJs/IPmXyEj1GYxo6oVTmUVhYKMg47NN47NRY\nn/Wp63UiVR+hx4bX6xW1tbXB6RUrVgghhNi7d684dOiQEEKI0tJSVRfXrl0TFRUVmssEAgGxfv16\nre6Szgtfx6q80GmtPNnMaNOhGUZ2KpOntYwVefE61ZMXvu3QeWb0GStPa514x4wReTLHKIAOIfH6\nwHeGiIg+4/P5MHnyZADA8OHDVT/bunUrampqNJdRFAVut1t13zej8rRYkRc6nWhePGZ0KpOnxYo8\nIzvVei5m9hkrT4sVeUb2ycEQEdFn8vLy4PP5AACBQADAvXfPN27ciOLiYsyaNUtzGQDw+/1wuVyG\n50VjVl60/ETyojGzU5m8aMzKM7JTrW2Z2adMXjRm5ZlxjPLeZETkWFevXsXzzz+Prq4u1NXVYf36\n9Vi3bh2am5uxZMkSAMCOHTvQ1taGvr4+nDt3DmVlZRHLDA4OwuVyYdiw2H9fJpK3atUq1TqbNm0y\nNW9wcFA1vXbtWuk8rczq6uqI/TezU5k8IzuVyUum0/C87OzsiG2Z2adMnpF9yuQle4xqkvksbejB\n8zGMxT6Nx06N5ZRzhpLV0tIimpqaVPMyPc+OTOald15oplV5kDxniO8MERElaeHChcxL80zmOTtP\nuTdwkuPxeERHR0dSgfQ5j8cD9mksdmqsz/pU7N4PI1j9+mX1sWjHsZ/pz5F56Z+pKEqnEMITbzme\nQE1ERESOxsEQERERORoHQ0RERORoHAwRERGRo3EwRERERI7GwRARERE5GgdDRERE5GgcDBEREZGj\ncTBEREREjhb3dhyKolQDqAaArKwseDxxL+RIkk6fPs0+DcZOKZSdr19WH4t2HPuZ/hyZlxmZMng7\nDhvx1hHGY6fG4u04ksrjrRWYxzybM3k7DiIiIiIJHAwRERGRo3EwRERERI7GwRARERE5GgdDRERE\n5GgcDBEREZGjcTBEREREjsbBEBERETkaB0NEREnq7e3FwMAA89I4k3nOzot7Ow4iokzT3d2N+vp6\nzJw5E83Nzbh58yYqKysxZ84cPPvss3C73Zg7dy6efvpp9Pf3q+aVlJRELNPT04OzZ8+irKzM8Lzv\nfOc7eOGFF9DX14cDBw4AgKl52dnZqnUWLFgQNy9W5rRp0yL238xOZfKM7FQmL5FOo+UNDAxEbMvM\nPmXyjOxTJi/RYzQmIYT0o7CwUJBx2Kfx2KmxPutT1+tEqj5Cjw2v1ytqa2uD09euXRMVFRVi7969\n4tChQ0IIIUpLS4UQImKe1jKBQECsX79eq7uk84asWLEi+G8r8obWiZYnm6m1/2Z2KpOntYwVefE6\n1ZMXOm1Fn7HytDqId8wYkSdzjALoEBKvD/yYjIgcb+vWraipqYHP58PkyZMBAMOHDweAiHlayyiK\nArfbDb/fb3ieFivyhtZJJC98/XBmdiqTp8WKvGQ6Dc8Lnbaiz1h5WqzIS/YYDcXBEBE5lhACGzdu\nRHFxMWbNmoW8vDz4fD4AQCAQAICIeVrLAIDf74fL5TI8Lxqz8sLX0ZOnlanFzE5l8qIxKy+ZTsPX\n1dqWmX3K5EVjVl6yx6gWnjNERI61Y8cOtLW1oa+vD+fOnUNZWRnWrVuH5uZmLFmyBACwfPly1byS\nkpKIZQYHB+FyuTBsWOy/LxPJu3r1Kp5//nl0dXWhrq4OmzZtMjUvfJ21a9dK52llrlq1KmL/zexU\nJs/ITmXykuk0fN3BwcGIbZnZp0yekX3K5CV7jGqS+Sxt6MHzMYzFPo3HTo3llHOGktXS0iKamppU\n8zI9z45M5qV3XmimVXmQPGeI7wwRESVp4cKFzEvzTOY5O0+5N3CS4/F4REdHR1KB9DmPxwP2aSx2\naqzP+lTs3g8jWP36ZfWxaMexn+nPkXnpn6koSqcQwhNvOZ5ATURERI7GwRARERE5mmGDoTVr1kBR\nFCiKgqlTpxq1Wcdin8Zjp0REpCWlTqDu7e3Fe++9B6/Xi+vXrwMAxo0bh0mTJmH27NkYP3684Zl/\n+9vfcPz4cfT09OD27dvIycnB9OnTMWfOHOTk5Oja1rZt27BhwwYAwIgRI3D58mXcd999hu+zLDv6\nNFKq9QlY26kZWanYKRGR3WwdDA3dg6S1tRXt7e346KOPYi7/4IMPoqamBqtXr8bIkSOTyn777bfx\n85//HEeOHNH8ucvlwvLly/Gzn/0MX/va16S2uWzZsuAvmrt376K5uRlPP/10Uvuph119XrlyBR0d\nHfjzn/8cfPT29qqW8Xq9ut+NsbtPwNpOrchKhU6JiFKOzPfvhcZ1OsKVl5cLAAKAyM/Pj3tNgBdf\nfFFkZ2cH19HzmDFjhujq6pK7+ECYTz/9VFRXV0tnjRw5Uvz617+W3n5BQUFw3VWrVsVcNp377Ozs\nFKWlpeLLX/6yVIbX69W1/SF6+hQifTu1MiuBY9T2awQZ8bD6GlSZnmdHJvPSO8+OTKT6vck6OzvR\n39+v+bMJEybg29/+NgoLC5Gbmxvx81OnTuGRRx7B0aNHdWUKIVBWVoZdu3ap5iuKgkmTJmnm+f1+\nVFRUYPfu3VIZy5YtC/67tbU14fuk6GV1n3/5y1/w5ptvwuv1JrzPMuzqE7C2Uyuz7OyUiCgVpcS3\nybKysvDDH/4Qb7zxBi5duoSLFy/i3XffRUdHB3p7e/H++++jrKxMtU5/fz8WL14c8XFMLNu3b8f+\n/ftV85YuXYpTp07B5/MF844dO4aHH35YtVxNTQ1OnjwZN6OkpCT4708++QS///3vpffPKFb1Gc3o\n0aOT3saQVOgTsLZTs7NSpVMiolRh62Bo/Pjx+OUvf4m///3v2LdvH0pLS3H//fdHLDdjxgzs3bsX\nr732GhTl8+u/3bhxA5s2bZLKunHjBrZs2aKaV1lZicbGRjzwwAOq+UVFRWhvb8eTTz4ZnDc4OBg8\n1yKWhx56CBMnTgxONzY2Su2fEazsc8ioUaNQVFSEdevWob6+Hu+//z76+vqSfi5D7OwTsLZTq7Ls\n7pSIKNUYdgXqNWvW4D/+4z8AAPn5+eju7o65rd/97ncoKirCmDFjpPMB4Mc//jF+9atfBaezsrJw\n5coVZGdnx1zvX/7lX/DCCy8Ep7/61a/ivffew6hRo6Ku09vbi4KCguA3eQDgD3/4A+bOnRsz65ln\nnsHOnTsBAF/60pdw4cIF1S+tIbGuxJnqffb09OD69euYMWMGRoyIPA8//PkmcgL1ENk+gfTt1Or/\nfjqP0bS9ArWiKNUAqgEgKyurcMaMGZZlnz59OuIPrUzKsyOTeemdZ0dmZ2en1BWobTuBOlEXL14U\niqKoTiDVujlbqEAgICZMmKBa59VXX5XK27x5s2q9H/zgB3HXaWlpUa1z7NgxzeXStU8ZCDvJN9ET\nqIWQ71OIzO7UyCydx6jtJz8b8cj0k1OdcDIs89I7z45MpPoJ1ImaMGFCxFfde3p6Yq5z/Phx1bkU\n2dnZ+P73vy+VV1lZqZp+66238Omnn8ZcZ968eaprFKXyxxCJ9Gm1dOoTsLbTRLPSrVMiIjOl3WAI\nuHfhuVA3btyIuXxTU5Nq+uGHH5Y+yfcrX/kKpk2bFpzu6+vDH//4x5jruN1uFBcXB6cPHjwolWUX\nvX1aLd36BKztNJGsdOyUiMgsaTkYunDhgmo63pV4u7q6VNNz5szRlRe+fPj2tIR+ffnMmTP44IMP\ndGVaSW+fdkinPgFrO000K906JSIyS9oNhs6fPw+fz6eaF+8K0adPn1ZNFxQU6MoMXz58e1oWLVoE\nl8sVnE7VjyES6dMO6dInYG2nyWSlU6dERGZKu8HQnj17IEK+ATdu3LiY7/Tcvn074hyKKVOm6Mqc\nPHmyavrMmTNx1xk7dqzqW2ep+otGb592SZc+AWs7TSYrnTolIjJTWg2GLly4gO3bt6vmrV69WvOr\n3UOuXLmCQCCgmpeXl6crN3z5jz/+WGq90IvbnThxApcuXdKVa7ZE+rRTqvcJWNupEVnp0CkRkdnS\nZjAkhEBlZSVu3boVnDdmzBhs3rw55nqhyw+Jdw2WeMtrbVPL0qVLg9duCQQCOHTokK5cMyXap51S\nuU/A2k6Nykr1TomIrJA2g6GtW7fi7bffVs3btm0bJkyYEHM9rYFLVlaWruzwCzPKDoby8vJQWFgY\nnE6lb+wk2qedUrlPwNpOjcpK9U6JiKyQFoOhhoYG1NbWquYtX74c1dXVcde9c+dOxDy3260rf+TI\nkarp27dvS68b+o2d9vZ26YGUmZLp026p2CdgbadGZ6Vqp+mkt7cXAwMDzEvjTOY5Oy/lB0N/+tOf\nsHr1atVJojNnzkR9fb3U+lrvAg0ODurah/C7eut5Zyn0nIw7d+6gtbVVV7bRku3TbqnWJ2Btp2Zk\npWKnZuvu7saWLVvQ2NiIqqoqPPXUUzh8+DD6+/tRXl6Oqqoq7Nu3D8C9b+xVVlZi5cqVAKC5TE9P\nDxoaGkzJC582Oy98HZm8WJla+29mpzJ5RnYqk5dIp9HytLZlZp8yeUb2KZOX6DEak8xlqoceVt/q\noKurS4wdO1Z124Dp06eL3t5e6W389a9/jbg1xPXr13XtR2dnp2r93NxcXevn5eUF162srAzOT8c+\nZYV3nsztOMJF61OIzO7UzKw4x6jtt9Iw4hF6bHi9XlFbWxucvnbtmqioqBB79+4Vhw4dEkIIUVpa\nqupoxYoVQgihuUwgEBDr169XLW9Unta0FXlD60TLk82Mtv3QeUZ2KpOnNW1FXrxO9eSFT4fmmdFn\nrDyt6XjHjBF5Msco0v12HGfPnsWCBQtUd0CfPHky2trakJubK70drStN9/f369qX8OVlr14N3Lsa\ncOitQL7xjW/oyjaKUX3aLVX6BKzt1MysVOrULlu3bkVNTQ18Pl/wUhrDhw/XXFZrGUVR4Ha7I95F\nNiJPixV5Q+skkhe+fjxGdpooK/KS6TQ8L1a+GX3qfb5W5CV7jIZKycGQ1+vF/Pnzcfny5eC83Nxc\ntLe3675G0Pjx4yPuxh1+kbp4wpe///77pddtbm7G3bt3g9OhH0lYxcg+7ZYKfQLWdmp2Vqp0agch\nBDZu3Iji4mLMmjULeXl5wf/fwy/JMSTaMn6/X3URS6PyojErL3wdPXmx1o/FyE6TYVZeMp2GryuT\nb2SfyfRrVl6yx6iWlLugzIULF/D444+rBiBf/OIX0d7ejunTp+ve3qhRo5Cfn4/u7u7gvJ6eHsye\nPVt6G+EXbXzggQek1w29kF1BQYHqPmdWMLpPu9ndJ2Btp1ZkpUKndtmxYwfa2trQ19eHc+fOoays\nDOvWrUNzczOWLFkCALh69Sqef/55dHV1oa6uDuvXr49YZnBwEC6XC8OGxf77MpG86upq1fSmTZtM\nzcvOzlats3btWuk8rcxVq1ZF7L+ZncrkGdmpTF4ynYbnDQ4ORmzLzD5l8ozsUyYv2WNUk8xnaUMP\ns8/HuHTpkvj617+uOidi7NixorOzM6HtDSkuLlZtM/RzShmhzw2AeOmll6TWu3Pnjhg9enRwvc2b\nN6t+nq59ygjNhEHnDMXrU4jM6tSKLMlj1PbzfYx4xDo/IlktLS2iqalJNS/T8+zIZF5654VmWpUH\nyXOGUuadoWvXrmH+/Pk4e/ZscN7o0aPR2tqa9FufDz74IFpaWoLTR48e1bX+kSNHVNMzZ86UWi/8\na8qhX2E2m5l92sXOPgFrO7Uqy+5OM8XChQuZl+aZzHN4nsyISWj8ZRUumb+6+/r6hMfjUf0F/IUv\nfEG88847urYTzdGjR1Xbzs7OFp988onUuh9++KFq3ZycHOH3+6XWra6uDq43ceJEEQgEVD9P1z5l\nhGbDoHeG4vUpRGZ0amWW5DFq+7s6RjxiHRtmyPQ8OzKZl955dmQiXb5N1t/fj0WLFqGjoyM4b+TI\nkWhsbMSjjz5qSMbs2bNV37jp7+/H/v37pdbds2ePanrRokVSF20UQqhubRB62wMzWdGnHezqE7C2\nUyuz7OyUiCiV2DoY8vv9KCkpUX0M5Xa70dDQgCeeeMKwnGHDhqGiokI17xe/+EXcK0n39vbilVde\nUc2rqqqSyjx+/Ljq68pWfEPHqj7tYEefgLWdWv3fz65OiYhSjW2Dobt376K0tBRtbW3BeSNGjMDr\nr7+OxYsXG563YcMGjB07Njj94Ycf4kc/+hHuvYsWye/3Y82aNbh+/Xpw3rx58zBv3jypvNB7POXk\n5OCxxx5LcM/lWN2n1azuE7C2Uzv++9nRKRFRKrLtBOqqqqqIO2SvWbMGOTk5ql8IMiZOnIiCgoKY\ny4wbNw61tbX4yU9+Epy3Z88eXLlyBXV1daqvyx8/fhzPPfec6kRrl8uFl156SXqfQr+uXFxcrPt+\naHpZ3ScAdHZ2qgaLsRw5cgTnzp3T/Nn8+fPjrm91n4C1ndrx38+OTomIUpLMiUVC4gREvSen5ufn\nR5xkm+ijvLxc6kSqQCAgVq1aFbG+oigiLy9PFBYWitzcXM2MV155RSpDCCHOnDmjWvf111/XXC7d\n+3z00UcNyYtHtk8h0rdTq//76TxGbT/52YhHpp+c6oSTYZmX3nl2ZCLdvlpvBUVRsG/fPuTk5KhO\njBZCwOfzaV6Z2u124+WXX5Y+VwhQ/8XtcrlQXFyc3I47HPs0HjslIvqc7d8ms5rL5cLu3bvx1ltv\noaioKOpyI0aMwKpVq/Duu+/qGggB6nMxHnvsMdW5SqQf+zQeOyUi+pxt7wyF3h7DDsXFxSguLkZP\nTw+OHTuGnp4e+P1+jBkzBtOmTcMjjzyS0C+IS5cu4cSJE8Fpqy5iZ0ef77zzjukZdvUJWNuplVl2\ndkpElIoc9TGZlilTphh6Y82DBw8Gb4ynKAp/0SSJfRqPnRIRqTl+MGS00I8fPB4PJk2aZOPepD/2\naTwndaooSjWAagDIysqCx+OxLPv06dMZnWdHJvPSO8+uTBkcDBno1q1baG9vD07zL+7ksE/jOa1T\nIcQuALsAwOPxiNAre5vN4/Egk/PsyGReeufZkSl7VX3HnUBtptbWVvj9/uA0r+ibHPZpPHZKRBSJ\n7wwZKC8vL3j7DpfLhRkzZti8R+mNfRqPnRIRReJgyEBFRUUxv65P+rBP47FTIqJI/JiMiIiIHI2D\nISIiInI0DoaIiIjI0QwbDNXX1wdveGb31aUzAfs0HjslIiItfGeIiIiIHI2DISKiJPX29mJgYIB5\naZzJPGfn8av1ROQ43d3dqK+vx8yZM9Hc3IybN2+isrISc+bMwbPPPgu32425c+fi6aefRmNjY9xl\nenp6cPbsWZSVlRmeN23aNLzwwgvo6+vDgQMHAMDUvIGBAdX0ggUL4ubFytTafzM7lckzslOZvEQ6\njZantS0z+5TJM7JPmbxEj9GYhs6hkHkUFhYKMg77NB47NdZnfep6nUjVR+ix4fV6RW1tbXD62rVr\noqKiQuzdu1ccOnRICCFEaWmpqotYywQCAbF+/Xqt7pLOG7JixYrgv63IC53WypPN1Np/mf1K9DnK\n5GktY0VevE715IVPh84zo89YeVodxDtmjMiTOUYBdAiJ1wd+TEZEjrd161bU1NTA5/Nh8uTJAIDh\nw4dLL6MoCtxut+pWJ0blabEiL3Rab168/ZfZr0SfY6LLWJGXTKexthU+z4w+Y+VpsSIv2WM0FAdD\nRORYQghs3LgRxcXFmDVrFvLy8uDz+QAAgUBAehkA8Pv9cLlchudFY1ZetHyZPNn9N7PTRJcxMy+Z\nTmW2ZWafMnnRmJWX7DGqhecMEZFj7dixA21tbejr68O5c+dQVlaGdevWobm5GUuWLJFeZnBwEC6X\nC8OGxf77MpG8VatW4fnnn0dXVxfq6uqwadMmU/MGBwdV02vXrpXOk91/MzuVyTOyU5m8ZDqV2ZaZ\nfcrkGdmnTF6yx6gmmc/Shh48H8NY7NN47NRYTjlnKFktLS2iqalJNS/T8+zIZF5654VmWpUHyXOG\n+M4QEVGSFi5cyLw0z2Ses/OUewMnOR6PR3R0dCQVSJ/zeDxgn8Zip8b6rE/F7v0wgtWvX1Yfi3Yc\n+5n+HJmX/pmKonQKITzxluMJ1ERERORoHAwRERGRo3EwRERERI7GwRARERE5GgdDRERE5GgcDBER\nEZGjcTBEREREjsbBEBERETkaB0NERETkaLquQK0oymUAH5m3O44zHsAVu3ciw7BTY+ULIf6f3Tth\nBNhgFlEAAACOSURBVBtev6w+Fu049jP9OTIv/TOlXsN0DYbIWIqidMhcJpzksVNKFVYfi3Yc+5n+\nHJmXGZky+DEZERERORoHQ0RERORoHAzZa5fdO5CB2CmlCquPRTuO/Ux/jszLjMy4eM4QERERORrf\nGSIiIiJH42CIiIiIHI2DISIiInI0DoaIiIjI0TgYIiIiIkf7/3jqu2iIizJPAAAAAElFTkSuQmCC\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig = plt.figure(figsize=(10, 5))\n", "for i in [1, 2]:\n", " ax = plt.subplot(1, 2, i)\n", " plot_qubism(0 * ket('0000', dim=3),\n", " legend_iteration=i, grid_iteration=i,\n", " fig=fig, ax=ax)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Just in this case we interpret:\n", "\n", "* 0 as $s_z=-1$,\n", "* 1 as $s_z=\\ \\ 0$,\n", "* 2 as $s_z=+1$.\n", "\n", "While qubism works best for translationally-invariants states (so in particular, all particles need to have the same dimension), we can do it for others.\n", "\n", "Also, there are a few other Qubism-related plotting schemes. For example `how='pairs_skewed'`:" ] }, { "cell_type": "code", "execution_count": 20, "metadata": {}, "outputs": [ { "data": { "image/png": "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\nXOtFAAAAAElFTkSuQmCC\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig = plt.figure(figsize=(8, 4))\n", "for i in [1, 2]:\n", " ax = plt.subplot(1, 2, i)\n", " plot_qubism(0 * ket('0000'),\n", " how='pairs_skewed',\n", " legend_iteration=i, grid_iteration=i,\n", " fig=fig, ax=ax)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The one above emphasis ferromagnetic (put on the left) vs antiferromagnetic (put on the right) states.\n", "\n", "Another one `how='before_after'` (inspired by [this](http://commons.wikimedia.org/wiki/File:Ising-tartan.png)) works in a bit different way: it uses typical recursion, but starting from middle particles. For example, the top left quadrant correspons to $|00\\rangle_{N/2,N/2+1}$: " ] }, { "cell_type": "code", "execution_count": 21, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig = plt.figure(figsize=(8, 4))\n", "for i in [1, 2]:\n", " ax = plt.subplot(1, 2, i)\n", " plot_qubism(0 * ket('0000'),\n", " how='before_after',\n", " legend_iteration=i, grid_iteration=i,\n", " fig=fig, ax=ax)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "It is very similar to the Schmidt plot (for the default splitting), with the only difference being ordering of the `y` axis (particle order is reversed). All entanglement properties are the same.\n", "\n", "So how does it work on the same example? \n", "Well, let us take spin chain for (Majumdar-Ghosh model for $J=0$), i.e.\n", "$$H = \\sum_{i=1}^N \\vec{S}_i \\cdot \\vec{S}_{i+1}$$\n", "for qubits." ] }, { "cell_type": "code", "execution_count": 22, "metadata": {}, "outputs": [ { "data": { "image/png": "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\nomR07JSkTcn7tTHal5LzWpYu2FqfKukfrk76h2FaaEFaYCrZfldk22/Bdt2vtMBMLz80/D/N7MUd\ntxeb2a3tNgsAAAAAhk8vKYJL3X3/+A13f0rSS9prEgAAAAAMp14GWEfNbNn4DTM7S13CLwAAAABg\nvuplgPXrkr5oZv/dzD4l6XZJ7+2lcjPbZmZn1/+/yMy2m9lOM7uiY5lrzOwJM7s3eHx4X5e6svLF\nZnZDL20GAAAAgOmacoDl7n+pKgfg05Kuk/Td7l40B8vMRiRdJeliSaskrTezVfXdWyRdlDx00n1Z\nXd2eo76s8RQzW1LSbgAAAAAo0e13sF7h7l81s/Fok/GoqmVmtszdk4iv0PmSdrr7g3Xd10m6RNL9\n7n77+LdcEyX3ZXVty56jftzNktaqGrRNfK0bJG2QpGXLlk28u9jhJOUkSjRZt29fuOyBJFGmJE9m\nT5YWWJDkdiBJ2Gkz8W7s4MFJZXuSlJ4sT2YsWq9LZj6+PpwkR812Ws3QuOeeuDzazpK0QC1dOvN2\nZAlZJdvIsVP+TnvzvvzlyWXnnVdWxznnNNOWiY7p5YKIeSY6Xnhyhb0l2XgnnDDzdkTb+3d918zr\nLZUklyk5Vw2ELC3w6NG4fKQgHzNLCyxIzdMzz/T+fJlHHplc9txzM6+3ISXn3fDcr2b6Mlk/pKhP\n1UDfrlTYp0r2uaxPFfZVm+hTFfSXh023HsIvqxp0fCi4zyW9vuB5Tpf0aMft3ZIuKHh8L3VN9Rw3\nSvqgggGWu18t6WpJWrNmDfPLAAAAAExLt9/B2lD/92J3/6fO+8zs+FZb1QJ3325mK2e7HQAAAADm\nrl6u6fhSj2XdPCbpzI7bZ9Rl05HV1fU56vTDh6b5nAAAAAAwpW5zsMZUXXZ3gpn9S337x9MXSTqx\n8HnulHSumZ2jatBzqaSfLm9u17q2T/Ecl6i6TBAAAAAAWtFtDtaPSnqbqm+CPqRvD7AOSPq1kidx\n9yNmdrmkWyWNSLrG3e+TJDO7VtL3SzrVzHZL+k13/0S3+7rUFZbX1kp6a0m7O0XTWUeSiaijyYTM\naOnRZJJg0YTHZLLtWDbZNpnsOeN2FMomu9nChZPKsomXqQYmX0bmwsTLpm0Kyt6ULLskmVg7eQqu\ntDCZ/Foinu4sLWmg7jSUoAF7Fa/XjU2EAWST9meqZHL/fFa63TTwfu0LtvemjpAHg7onH8HrdiTb\n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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "heis = sum([tensor([pauli]*2) for pauli in [sigmax(), sigmay(), sigmaz()]])\n", "N = 10\n", "gs = gs_of(spinchainize(heis, N, bc='periodic'))\n", "\n", "fig = plt.figure(figsize=(12, 4))\n", "for i, how in enumerate(['schmidt_plot', 'pairs', 'pairs_skewed', 'before_after']):\n", " ax = plt.subplot(1, 4, i + 1)\n", " if how == 'schmidt_plot': \n", " plot_schmidt(gs,\n", " fig=fig, ax=ax)\n", " else:\n", " plot_qubism(gs,\n", " how=how,\n", " fig=fig, ax=ax)\n", " ax.set_title(how)\n", "plt.tight_layout()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Seeing entanglement" ] }, { "cell_type": "code", "execution_count": 23, "metadata": {}, "outputs": [], "source": [ "product_1 = ket('0000')\n", "product_2 = tensor([(ket('0') + ket('1')).unit()]*4)\n", "w = (ket('0001') + ket('0010') + ket('0100') + ket('1000')).unit()\n", "dicke_2of4 = (ket('0011') + ket('0101') + ket('0110') + ket('1001') + ket('1010') + ket('1100')).unit()\n", "ghz = (ket('0000') + ket('1111')).unit()" ] }, { "cell_type": "code", "execution_count": 24, "metadata": {}, "outputs": [ { "data": { "image/png": "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\nf4LGfpTMT6kdAAAAAElFTkSuQmCC\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "states = ['product_1', 'product_2', 'w', 'dicke_2of4', 'ghz']\n", "fig = plt.figure(figsize=(2 * len(states), 2))\n", "for i, state_str in enumerate(states):\n", " ax = plt.subplot(1, len(states), i + 1)\n", " plot_qubism(eval(state_str), fig=fig, ax=ax)\n", " ax.set_title(state_str)\n", "plt.tight_layout()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Then entanglement (or exactly: Schmidt rank) for a given partition is equal to number to different, non-zero squares. (We don't allow rotations, we do allow multiplication by a factor and, what may be more tricky, linear superposition.)\n", "\n", "Here we use partition of first 2 particles vs last 2, as indicated by lines.\n", "\n", "That is,\n", "* `product_1` - only 1 non-zero square: Schmidt rank 1,\n", "* `product_2` - 4 non-zero squares, but they are the same: Schmidt rank 1,\n", "* `w` - 3 non-zero quares, but two of them are the same: Schmidt rank 2,\n", "* `dicke_2of4` - 4 non-zero squares, but two of them are the same: Schmidt rank 3,\n", "* `ghz` - 2 non-zero squares, each one different: Schmidt rank 2.\n", "\n", "This is basis-independent, but it may be easier to work in one basis rather than another.\n", "\n", "And for a comparision, let us see product states:\n", "\n", "$$\\left( \\cos(\\theta/2) |0\\rangle + \\sin(\\theta/2) e^{i \\varphi} |1\\rangle \\right)^N $$" ] }, { "cell_type": "code", "execution_count": 25, "metadata": {}, "outputs": [ { "data": { "image/png": "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\nUiIikqz/D/7nGQ4Zm5bDAAAAAElFTkSuQmCC\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "def product_state(theta, phi=0, n=1):\n", " single = Qobj([[np.cos(theta/2.)], [np.sin(theta/2.) * np.exp(1j*phi)]])\n", " return tensor([single]*n)\n", "\n", "thetas = 0.5 * np.pi * np.array([0., 0.5, 0.75, 1.])\n", "phis = np.pi * np.array([0., 0.1, 0.2, 0.3])\n", "\n", "fig, axes2d = plt.subplots(nrows=len(phis), ncols=len(thetas),\n", " figsize=(6,6))\n", "\n", "for i, row in enumerate(axes2d):\n", " for j, cell in enumerate(row):\n", " plot_qubism(product_state(thetas[j], phi=phis[i], n=8),\n", " grid_iteration=1,\n", " ax=cell)\n", " if i == len(axes2d) - 1:\n", " cell.set_xlabel(\"$\\\\theta={0:s}\\pi$\".format([\"0\", \"(1/4)\", \"(3/8)\", \"(1/2)\"][j]),\n", " fontsize=16)\n", " if j == 0:\n", " cell.set_ylabel(\"$\\\\varphi={0:.1f}\\pi$\".format(phis[i] / np.pi),\n", " fontsize=16)\n", "\n", "plt.tight_layout()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "In each plot squares are the same, up to a factor (which is visualized as intensity and hue).\n", "\n", "You can lookup previous plots. Setting `grid_iteration=2` would show splitting of the first 4 particles vs N-4 others.\n", "And for `how='before_after'` it is the middle particles vs all others." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Versions" ] }, { "cell_type": "code", "execution_count": 26, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
SoftwareVersion
QuTiP4.3.0.dev0+6e5b1d43
Numpy1.13.1
SciPy0.19.1
matplotlib2.0.2
Cython0.25.2
Number of CPUs2
BLAS InfoINTEL MKL
IPython6.1.0
Python3.6.2 |Anaconda custom (x86_64)| (default, Jul 20 2017, 13:14:59) \n", "[GCC 4.2.1 Compatible Apple LLVM 6.0 (clang-600.0.57)]
OSposix [darwin]
Thu Jul 20 22:29:31 2017 MDT
" ], "text/plain": [ "" ] }, "execution_count": 26, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from qutip.ipynbtools import version_table\n", "version_table()" ] } ], "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.6.2" } }, "nbformat": 4, "nbformat_minor": 1 }