From e40e75aa79e4d00eb34ae85dda8bdafc14f14f20 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Kn=C3=BCttel?= Date: Mon, 13 Jan 2020 13:47:56 +0100 Subject: [PATCH] some changes to how the local clifford group is expressed as products of smiZ and siX --- computations/C_L_as_products.ipynb | 97 ++++++++++++++++++++++++------ 1 file changed, 80 insertions(+), 17 deletions(-) diff --git a/computations/C_L_as_products.ipynb b/computations/C_L_as_products.ipynb index a23dd71..ffc31f5 100644 --- a/computations/C_L_as_products.ipynb +++ b/computations/C_L_as_products.ipynb @@ -448,12 +448,12 @@ "outputs": [ { "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAAoAAAAOCAYAAAAWo42rAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAA4ElEQVQoFXWSCw0CQQxEb0/BBRyAAzQg4bCABBIkIAEN4AAsIAEc8HFwvLe0BBJoMnTbznan5cowDI1WSulwa3AFY2C8o37EN43EIG/znF4i6Gs9SEsSyySkJ2fXk3HLQZuCRT39+4mOc+qKPYDuo+OWuL70qVE9ksUKSKr6arO8HZ03QZR8ApOsp0bX01PQ1OtKZuBMXlmv9eCc+ms9xF608x10ucMa5DPpIUyC3Lfxjzjpg+SXkbuQ2INRG4QHF7z9y1z6MZ9WsFO+d+jzmNpXnksknNop/ShuIO39UTwBncWwmlIdE58AAAAASUVORK5CYII=\n", + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAOCAYAAAASVl2WAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAWUlEQVQYGWP4//8/AwwzMDAYAfFdIBaAibEwMjIKAAVmA/E7IDYBYiUgRgCYShANBGVADGLATWACieIDowogoUMwHBhBQQyMj9VA9aA4AcUFiL4HxOeA+DQAT1cpCApe64MAAAAASUVORK5CYII=\n", "text/latex": [ - "$\\displaystyle 8$" + "$\\displaystyle 1$" ], "text/plain": [ - "8" + "1" ] }, "execution_count": 15, @@ -462,7 +462,7 @@ } ], "source": [ - "get_product_index(siZ)" + "get_product_index(Dagger(siZ))" ] }, { @@ -472,12 +472,12 @@ "outputs": [ { "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAABMAAAAOCAYAAADNGCeJAAAACXBIWXMAAA7EAAAOxAGVKw4bAAABBklEQVQ4EaWTDQ3CQAxGbwQBCxLAAQkOkAAWwAFoAAdgAQnMAjgACQwH471ll1z4ywZNvlzba7/r2jVUVRUiQghjcAF59KUn/iHYNThxHsE4xqCHHByAQQZU4IUMn0SHmOiJbIDKtLafLlfN5TsyH3znL/GX8vRQ2sqUwDLLMr8klQIjxz/sQmbSlQruKVOi5/3E+KpCMv8Q4NAc4rlLZS9cfJpEDmbt5V9k5DuUPVVt/yKjKn+lAqKlRMpPlUG0MDkl0m49AIMViGYco5QIn33rVhlJNnwCUd1wCRrxgVvryprXbXiBbr+iDFDcz2295BgGubSuhrvmsutbERRj4t56/4yTcQ/S5q0FawIcEQAAAABJRU5ErkJggg==\n", + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAAoAAAAOCAYAAAAWo42rAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAA00lEQVQoFXWSgQ2CQAxF74gDEEfADYwjMAKJG7iKYQRHMIwgK8gGsoHBDfD940oaEpqU9v/+a3sX4jzPwVuMsfWY/IlmCBJmcQX5wWvHdeKECxIzkT1kbwSxxMeEc7cGoB1K67aNNvaNaNoWPT6ktiGciQMXUbziX/yEd4jXVbSHxqrrzXcBT3gjTmZC8PICFqk9cInLAvJHIltut+T21RQ1utjzSGQHTORj5YU6uWejPU+NYndH7ZyEKQnhhbhVnrEmrLeOmUwj8w9hKxwh79QHFf8zQq2xR+TPOQAAAABJRU5ErkJggg==\n", "text/latex": [ - "$\\displaystyle 12$" + "$\\displaystyle 6$" ], "text/plain": [ - "12" + "6" ] }, "execution_count": 16, @@ -486,7 +486,7 @@ } ], "source": [ - "get_product_index(smiX)" + "get_product_index(Dagger(smiX))" ] }, { @@ -496,7 +496,7 @@ "outputs": [], "source": [ "def str2vops(s):\n", - " c2v = {'s': 8, 'x': 12}\n", + " c2v = {'s': 1, 'x': 6}\n", " result = [c2v[c] for c in s]\n", " return result + ([0] * (5 - len(result)))\n" ] @@ -508,17 +508,17 @@ "outputs": [ { "data": { - "image/png": "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\n", + "image/png": "iVBORw0KGgoAAAANSUhEUgAADcoAAAAVCAYAAADMmTxVAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAcVElEQVR4Ae2djdHcRBKGbYoAXL4MIAMwEXBkgLkIOGcARQRXJgMgAg4yOGdA2SGQAT8ZcN2fZ7BWO1qNND3P/Gxv1aLVrDRP9/u+Gn1wpdvHjx49+kreL+Str+d//fXXG/3w+PHj5Lh+56/xFSD9JVnjOzNeB7S/NG88R8aumPaX5o3tzljV097SvLHcGL9a2l+aN75DY3VA+kuyxnJhjmppf2neHC6N0wXpL8kax4F5KqX9pXnzODVGJ7S/NG8MF+apkvSXZM3j0Did0P7SvHGcmKNS0l+SNYc7Y3VB+0vzxnJj/Gppf2ne+A6N0wHtLc0bx4k5KqX9pXlzuDROF6S/JGscB+aplPaX5s3j1Bid0P7SvDFcmKNK2luaN4dL43RB+0vzxnFijkpJf0nWHO6M1cWWv+vx96Stf8j7hTwg92F8SC60ujU+lhJebVIB8fpb9Vy+/FneT5MH2Q16luy07G4mOEvav+epuxTYFeR5stPy3mfyLN17Amz79zzZ6nnvs8F58r+bJg4cnCVV0vPkebJSwLNkpWSH8/ja1KEpA5fkeRrYvA5Lh/Pk97oOM2BVEpwlLdvzZGVeh/PAefIsdZgBq5LgLGnZnicr8zqcx/PUoSmDluRZGtS4Tsv2PHVqzKBlwXnyv5sGzUlO2XCWtCTPU44xgx7jeRrUuA7L9ix1aMrAJXmeBjavw9LhPPnfTR1mwKqkrSytx98/C5Qn7j6Sc3+S98cy6Z9n59k7TzgvV8f8KLyHX71bjRfvUiyKo4JQPpWIT9ZIsUBOvD5+Ew/0wceXcn38WuJH6lzpB+Gk2EfHQO2RNVD7n62nUfK0qDPG0O8/UYmMLZHbhUdV18CMdncPIfTQIhaaxJo8t1GJne1Cu67zRGVJ5aJYlPYUJ2g3xN9OlMeN8qRYfdVcB5G/B0mf3kp27p9UnRRHVaBYwolrRhR/+NzGRs5sG+he9d6/8LcqR7WmWBTnTH7W54B5Qu4JK59ju1XWDFC7uAZWv0aiYGe2lB7BYyRPcE/R5yh/rdxGjucpKE35LJyo/RQeL/rpOksTrxm+DsYrCdxS60XILbVmIFma9VosiR+Vp8V6Hcut8jfGjLldaNf1vW5RJ+ExsmZQ10fIbfWeFh51nSVKjxhUymeKE/Sj7t8IJ3p1dktpv7jGYqk173XV14yQJYoTs9T1+kRlqZH2RG6jz1VZpE+xkTNbqk6KoxoIi/IY4ZA9nclQPGdSj6e6/yyuja7vcyHzlPYIh76OF17HS9T878EFY4Q8Ies1tQ5S2lOc1fXRdZ4oj1eaTHEdU3my4Bx6UE6AT8ShH+T9u7yfyfsDeVd5CUvn/p+89dfuXilExvTBPH3rA0FmL4oFcjCfzpogWmA1UiyKEzUX3mv5/B+5PvRXAfX6UE1fy/Yzy4flKI72cPYVeq++NlEc1YFiUZzorfCQ3Ebema3U6PefM8LJOWSeBskSea/z3J7MrZ7We57gawvLLak96THJOhP7WfMkfSHrIKUfxTmToeU5VJ0UJ6xL2DoofU2V22U2jn4mPQ4+I/9eIn0hnFl7OpqjeDyVJ4qz6Kv6mtGgJ+waiToe2ZJ6UCyKE3UWXvXcLliepyAG6fOMHktPXWdJbaY8pjiz9hT6wtZB5R19kR5rbcKrrgfZE8WiOEfzsz6erFNY1bMU+yNYpHbal/BGuNchHlPaU5zgL/nftkbIEqkHwiLzFDJFXY8IR3s6+yK1FxaiB9UTxYneCq/r9YnUA2YhuVWfpa/qLFK7mN0zW6pOihM1IDxWFsWhWVHHI9sZPW7QE3L/kb4QzpH8rI+ltKc4sT/hVb//0KwR8qSaENo3yBNyLZMek6x4rRzZNvAYWTNI3SmWFee9IwGRh2/+lPdzeb+Q8348cu6JY/WBuFfCenhILpyv/2HJ/NeyZE6KhXBgn4I1xzZkjRSL4qjSsgD8WzZPhPnwkJyOKV82uv+d7lu8KE5prZT2FEf1oFgUR3saJU9SKrJWqybyolgIh8rTKFmi9HgbJSxL0+V2hDyRWSJZlPYURy8OkhWu/cMb0mOSJUJMda+DtTuco3gCVSfF0b5IluCmym3MxZktqTu1VlMc1ZtiUZwzGVqeQ+WJ4ix6q75mkD2NkCdSD4pFccjcKsvztFBcPsI+V1+bSI9HyJLqQXlMcWbtSfuSF3KNvEUd/yfpcaiuuh5kTxSL4hxP0OUZcJ3Vs7TorjqL1G6Ue53oX1139ZjSnuKQPY2SpRm1J3vSTMkLuR5BzkNTZ/4Ba4/oTvVEcdTXEdYnUg+SJfIjuQ3Xb3UWrF1o6/iGqpPiLBSo7jGVpQY9LZD5H2f0mOyJuv9QnPzkpI+ktKc4iy6ptUmR1Vmj5CnoX10PMk+U9hRHPSJZIROHN6THobjquSV1p1iWnEO/KHc4USdPkAY/l1P1Z1A/XU4hAf1suW/xmWJRHAtNfI4hFHguVb5JVPqLjH0ledOH6PTBudIXxSmt088fQ4Hu80Su1RSL4sAR7D5LpB6kxxSL4gSfPE9kYC9ZlPYUR7sjWZdq3vEevGbcsdLeuqUCnltLNQ/PRa3VFEcFoFgU57Cps58w6ZrheZo8uHBuPU8N8jSpx56lBlmaFQlfI93L6Hp0b9EwBZJZIlmgAd3f6ybVHbQYQ3WfJUyJiUHU9UhxRrHK9Sh2ytenYgmPT0DmlmQdV8LPsFCA8pjiqCYky8KD2nNMqgd1/6E4tWMw3PxkbkHWEHkC9SBzSWlPcVQ7kkV6dYoF5pbUnWKZcQ79otwpp8+d9I2cpr9eZ/Ggz14FFIvi7PXr38+hwD+ljd8TrcRrRr+3eFEci1p9jv4VGCFP5FpNsSgOmcARskTqQXpMsSiO+uR5ItN6yaK0pziep0t/yT1yzSD7ctbcCnhu2/lL3RcojipJsShOu3T0S55xzfA89Zs3q8rI3HqerFw7Ns+MHnuWjmXAj76tAHmN3K6kj29djz58mKEKMkski/JmhHvdjLpT/pKcEbJE6jEri7oeKc4oPrkeZU75+lSm39mzydySrLN6+HllClAeUxxVg2SVqc+cPaMe1P2H4jBJGItC5pZijZInSg8ykZT2FEe1I1mkV2dZVG5J3SmWGef9s+5VPk9/Te6NPE2p23/J+zd5fyjvn+ThuVeytXxRLIpjqY3P1aECcl08ySjracYxNw+hODeL8C+nUWCgPJFrNcWiOEheB8oSokeAkB5TLITjeSJjesmitKc42h3JulTT90QBZM1wpV0BYwU8t8aC5kxHrdUUR3umWBQnx8c7PWaqNcPzdDcpRnLreWqap6k89iw1zdKscOQaGUg812MgszovlcwSyaou+0D3uql0r25sA8BAWWqgznRI6nqkOKMY5HqcdMrXp5PC2ZxG5pZk2ajjsxxVgPKY4mj/JOuo3i2On0oP6v5DcVoEYhAmmdvqrMHyVF0PMoOU9hRHtSNZpFeFrOq5JXWnWNac7h6UWzX4TB6M+zoGTb77Q95fytjPcaxkS7EoTokWfu5QCjwN1cZfj1sWH39lLudhuuV5qc8UJ8X2sfkU6D5P5FpNsSgOHNfus0TqQXpMsShO8MnzRAb2kkVpT3G0O5J1qeYd78Frxh0r7a1bKuC5tVTz8FzUWk1xVACKRXEOmzr7CZOuGZ6nyYML59bz1CBPk3rsWWqQpVmR8DXSvYyuR/cWDVMgmSWSBRrQ/b1uUt1BizFU91nClJgYRF2PFGcUq1yPYqd8fSqW8PgEZG5J1nEl/AwLBSiPKY5qQrIsPKg9x6R6UPcfilM7BsPNT+YWZA2RJ1APMpeU9hRHtSNZpFenWGBuSd0plinnvVMOMid9JA/Efb9C/Vf2f1gFaHXIqV2KRXFOieAnTaXAP6BuKA7UjmMaK9BLnsi1mmJRnMYR+hvfS5b+Lgj4QHpMsSjOnj33mKc9TajvKe0pjupGsiifeuH0smb0oofXMYYCnts+faLWaoqjKlMsitNncupXdW9rhuepfqYIQi+59TzVc/vePPYs1cvSrDP3co30oq/r0YsT49dBZolk9eBML/e6e9O9B++ta+glS9Z93eN81PVIcUbx0PWo55SvT/W0JXNLsuop5jPfUoDymOJoryTrlra9fHdvelD3H4rTS47oOsjckqwtHXvKUw96bOlUY5zSnuKoRiSrhidn5uwht6TuFCub092DcvJwXPyVrF8TiXotY/pLWc8S3x0eolgU57AAfsKoCsRfjUvVH5+k/S315cExinOwLD98UAW6zxO5VlMsigNnsvsskXqQHlMsihN88jyRgb1kUdpTHO2OZF2qecd78Jpxx0p765YKeG4t1Tw8F7VWUxwVgGJRnMOmzn7CpGuG52ny4MK59Tw1yNOkHnuWGmRpViR8jXQvo+vRvUXDFEhmiWSBBnR/r5tUd9BiDNV9ljAlJgZR1yPFGcUq16PYKV+fiiU8PgGZW5J1XAk/w0IBymOKo5qQLAsPas8xqR7U/Yfi1I7BcPOTuQVZQ+QJ1IPMJaU9xVHtSBbp1SkWmFtSd4plyunuQbmQKH1ILj4wlwrZB6nBk2MUi+KclMFPG0WBxQKqD42uX3Es9aDp+tib+xTnZhH+5TQKDJQncq2mWBQHyetAWUL0CBDSY4qFcDxPZEwvWZT2FEe7I1mXavqeKICsGa60K2CsgOfWWNCc6ai1muJozxSL4uT4eKfHTLVmeJ7uJsVIbj1PTfM0lceepaZZmhWOXCMDied6DGRW56WSWSJZ1WUf6F43le7VjW0AGChLDdSZDkldjxRnFINcj5NO+fp0Ujib08jckiwbdXyWowpQHlMc7Z9kHdW7xfFT6UHdfyhOi0AMwiRzW501WJ6q60FmkNKe4qh2JIv0qpBVPbek7hTLmtPzg3LxgZ9UzjQ8Vi+di2BRHCtdfJ6+FXgl5aUeGI2/KKffW7wojkWtPkf/CoyQJ3KtplgUh0zgCFki9SA9plgUR33yPJFpvWRR2lMcz9Olv+QeuWaQfTlrbgU8t+38pe4LFEeVpFgUp106+iXPuGZ4nvrNm1VlZG49T1auHZtnRo89S8cy4EffVoC8Rm5X0se3rkcfPsxQBZklkkV5M8K9bkbdKX9JzghZIvWYlUVdjxRnFJ9cjzKnfH0q0+/s2WRuSdZZPfy8MgUojymOqkGyytRnzp5RD+r+Q3GYJIxFIXNLsUbJE6UHmUhKe4qj2pEs0quzLCq3pO4Uy4xT7UG5x48f33r4bC80L+WA1ENAH8v4n/K0oArw8Crk6BwUi+K8FcbwnwYaF1VD8imWAecnEfVZQli9Rt4snqh9VMjK5iRqSQ4V1pOc88ggxac42jvFMuCY5smgnlR0yLWaYlGclJ6bY4X+mWZJiyysZ7PP3C8K+aTHFIviqEVT5akwS7mRfTjOgJWtfSGL4pjnqbDvQ36mDib5hSxyzUhJlRwr7Ck5Z8lg63ooPsVRLwpZXeY2J2OFfecgbh5jwKfuCxRH9aJY2ZybJi6+NPBzMdvxjxTfgNPdmmHQ01R5MtAjO8AUy4BD5tY0Twa9Z/uZOpDkF7K69LiwJ9Msqb+F9aQicmiM4lMcUlODnrKvkRxTDerJwWweY8DP1sOAtdnH8guKo0yStexx63Pregr5ZJZI1pZdF+OF2ulcpvc6g3ou+gs73emudVXq9ap/imPQk2mWDOq50vLowEDaZ7dm0BN1PWZzcps36D0XlTyukJ+tRyEnWfvWIMUy4JiuTwb1bEmaNU7yC1lkbklWlk+5BxVqnIvZPI7iG3AojymOepLN2jRw8YWBxovZjn804GfrYcDKatCAk33/KWRlc7Ial4MK68nFbB5H8Q04ZG4p1ih5ovTYzOn6C4M8ZWtfyKI4KlE2a61nar+w79SUh8YM+FRus3U36IliZXP2TK3yoFwQ8g/Zvt4rIPV9eBDulZyvIXl4hTm/kJ0vw1C8QZ/m6DwUi+JEbay2pV6W1kHyKZYFR/L0vWj7u8z1edQ4zGt6jeRyYg17W4ve9xi3vqf4FEd7pVgWHMs8WdSTygq5VlMsipPSc2us1D/LLGmNpfVs9Zk7XsonPaZYFEc9milPpVnKzaweZ8HK1b6URXFUl1yWHrv3Ku17b/6970l+KUt01/8jFeTfH/d0i9+X9hTnsdq2rofiUxz1pZTVY25z8lbadw7j1jEW/Ny1upRFcVQvipXLueXh8rtSjZdznflM8S04on1X9zqjnrL+21autxY15bLWx5FsimXBIXNruT5Z9L7OyJF9kl/K6tFjg56mWZs0d6V65GaX4ozWU+41kqMzqXGqHgt+rh4WrFQP6zGKo1ySte4ztd+6nlI+mSWSlfJqPVaqnc4nPZnd6yzqWfcYauzq33+0plq9rvunOBY9WWbJop61lkf3R9I+tzeLnqh1MJdD9p7LSh1Xqn2uHqWcVO1bYxTLgmO5PlnUs6VpzjjJL2WRuSVZOT7lHlOqcS5n6ziKb8GhPKY46kkua8u/5biFxsv5jn624OfqYcHK6c+CIz1l/btWKSuXk9O3HlNaTy5n6ziKb8Ehc0uxRskTpcdWTtfjRnnqas0ge1rrmdq3qCc1b+6YBZ/Kbe51bNRTV7nN8fP9nIOWx4hQ+pSe/lpc/DWr1zL2RvZ/EbG/1WNl+6eMPfxkoAqr+zp+5CXnfCbnvpT3d+G8p7L9VMaV9fCy4OhEFIviaE+i265Petzey0rjFCenRis+xaI4QU/99bhvhBl/ffET2a9xjexyUv6mxqz8TM1NaU9xtEeKRXGCbyZ5qpklmdvvPyfv3WRuhWWSJa25Zp6o68tz++iJaH3qb07NgLy6zxOVJRWDZOVob3SN7npsxFEJd1l60N7LsJ4rFOkxxSLXQaqnHM6VuRsDM+QpRw+rPilWb7ndiM/FsJXGF5OGHUr3gNtdq416pTjaFsXa5QSNdzdGGic5VJ4ojjZJrRlkT9JW93ki9aBYFIfMrbLkZZKnGdYmFYPymVqbtCd57Xps5N8u5205+/80qicJojymONokxaI42lPONaLH7b1myJL2mKOHRa+kxxQrh7OXo/i9hcZxrvU2p04LPpUl7Y9iUdoFz0zudRZerjMU9yndlUdpT3HInoRlkiWtuWaeZtSe7Im6HnM4mpWc1wx5ytHDqk8qTxQnZMRkfbLSOJVbUg+KReaWYuVol/I3NTZDnnL0sOqT8pjiaCZyWKnsrMesNF7Pq/szekz2JBLu3n+M/NvlpPxNjRnVk5oayxPpcc51bKUpyBoiT5QeZJ56WjOscpvTU3LBWA0a1rOaec57XY7uhprurhlGrF3OlbmJgcMPyknxzxPzXA3JcR/KgvH3r11dHZAxIHN8vXeYBUcZFAvkZPm0p2/QptjLFEe0yKrRwmOKRXGCL/oAavVrRHrK4qQ8To1Z+LkxL5In2OMZezLLU60sab5k7urXVswxxQI5VG7NshQ8n+Fe57mNF9bBrVwf3edJakSurXA9kKws7aX/oms01+NSTtAvq6ecmFrUk+LIvKTHJAtZByn9cjkpj1Njo+cpVw+LPmFWV7lNZWc9ZqHxek7dh3XPWqtLe5XzEU7QD2Hl9pTyODVWqnFqzqAHcv+R+hFO7FN41dcMsidhZeU29r+3lfmK/mZMzQ/rgeSJ7Ek1FV713AaOWZ5qZCnUiHjcgNWVx6X+yflmWQpemK9NpMeix3S5JXsKXu1eI3rc3qs021vz96hHaa9kTxQrl7Pl83q8VOP1fHE/t04Lvsyxe21ZcLQ3giUMcr01u9dZaRwztNwSugd/Ee1hj6mezLIUvBj676ZZ8xT6QtbcnOte68l51Vqf4GuZ0p1aMxCO5kN8MlufJskSqT2S2+BzdVbuNZ+zLoWah77X5ephdd3IPNU9prIUM5LTUzz21tZK4zVD5sXWC2Xn6FHaK9mTsLLuPwY9ZXHW/m7tl9ZzY14kT6TH2qvwkLWJYkk/Q+QJ1APJbegnS/vSazTX41LOkZ702L2XRT0phsyLeax84VVfM4SBZCn0g7Bye0p5vBx7b7lT4fMnodAKU19MSXEUSrEozoWQN3Za10PyKRbFIXN7I0IXX5G9X4DDDsWnONoWxaI4Kd9SY63rIfkUi+KQuU1lJzVG9t6ST/ZJsShOyretsZY1kewZWWRPW/lZjreuh+RTLIqjPpKsZW62Preuh+JTHNJjsqet/CzHW9dD8ikWxSFzu8zMrc9k76k6KD7FIT0me0p5lxprWRPJplgUh8xtKjepMbL31nyqV4rjebpOFKU9xSE9Jnu6du56pHU9JJ9iURwyt9fJSY+QvacqoPgUh/SY7Cnl3XqsdT0kn2JRHDK369xs7ZO9p2og+RSL4nierhNFaU9xSI/Jnq6dux5pXQ/Jp1gUh8ztdXLSI2TvqQooPsUhPSZ7Snm3HmtdD8mnWBSHzO06N1v7ZO+pGig+xaE9JvtK+bcea10Pxac4ZJ7Inta5Se23rofkUyyKQ+Y2lZ2HsWoPysmvyT0Rwm+bZKMvKI6WS7EoTq4Fresh+RSL4pC59TxdKjCjx2RPl2qm91rXQ/IpFsVRR0lWOkGXo63rofgUh/SY7OkyNdt7LWsi2TOyyJ62E/Tum9b1kHyKRXHURZL1LjXbn1rXQ/EpDukx2dN2gt5907oekk+xKA6Z23eJuf2J7D1VCcWnOKTHZE8p71JjLWsi2RSL4pC5TeUmNUb23ppP9UpxPE/XiaK0pzikx2RP185dj7Suh+RTLIpD5vY6OekRsvdUBRSf4pAekz2lvFuPta6H5FMsikPmdp2brX2y91QNJJ9iURzP03WiKO0pDukx2dO1c9cjresh+RSL4pC5vU5OeoTsPVUBxac4pMdkTynv1mOt6yH5FIvikLld52Zrn+w9VQPFpzi0x2RfKf/WY63rofgUh8wT2dM6N6n91vWQfIpFccjcprKzHKv2oJxAvpBfk/t2Cav0meJo+RSL4uRa0roekk+xKA6ZW8/TpQIzekz2dKlmeq91PSSfYlEcdZRkpRN0Odq6HopPcUiPyZ4uU7O917Imkj0ji+xpO0HvvmldD8mnWBRHXSRZ71Kz/al1PRSf4pAekz1tJ+jdN63rIfkUi+KQuX2XmNufyN5TlVB8ikN6TPaU8i411rImkk2xKA6Z21RuUmNk7635VK8Ux/N0nShKe4pDekz2dO3c9Ujrekg+xaI4ZG6vk5MeIXtPVUDxKQ7pMdlTyrv1WOt6SD7Fojhkbte52done0/VQPIpFsXxPF0nitKe4pAekz1dO3c90roekk+xKA6Z2+vkpEfI3lMVUHyKQ3pM9pTybj3Wuh6ST7EoDpnbdW629sneUzVQfIpDe0z2lfJvPda6HopPccg8kT2tc5Pab10PyadYFIfMbSo7f489lk8v5f15GHkuD7e90c/y1GByPBznm8EVEH+/khZeyPupvNX3V7Va8izVUraPecksaceepz58r1WF56mWsvc3r2fp/jyv2bHnqaa69zc3mSdh+b/TTRwxMksqo+dp4jC99df/G8HcFmPd+dqESX0XIM/TXdiMNUnmyf9uwmxtAiKzpA16nprYjEHJPHmWMFubgMgsaYOepyY2Y1DPEyb19CDP0vQWow16nlC5p4eReRKW/291EyeKzJLK6HmaOExv/cX+tzrPk2fJUgFfmyzV7G8uv9f158nIFZF58rVp5KTs176VpfX4/wF17iBIAqJwPQAAAABJRU5ErkJggg==\n", "text/latex": [ - "$\\displaystyle \\left[ \\left[ 8, \\ 12, \\ 12, \\ 12, \\ 8\\right], \\ \\left[ 8, \\ 8, \\ 8, \\ 0, \\ 0\\right], \\ \\left[ 8, \\ 8, \\ 8, \\ 8, \\ 0\\right], \\ \\left[ 12, \\ 12, \\ 12, \\ 8, \\ 0\\right], \\ \\left[ 8, \\ 12, \\ 12, \\ 12, \\ 0\\right], \\ \\left[ 8, \\ 8, \\ 0, \\ 0, \\ 0\\right], \\ \\left[ 8, \\ 8, \\ 12, \\ 8, \\ 8\\right], \\ \\left[ 8, \\ 8, \\ 8, \\ 12, \\ 8\\right], \\ \\left[ 8, \\ 0, \\ 0, \\ 0, \\ 0\\right], \\ \\left[ 8, \\ 8, \\ 12, \\ 8, \\ 0\\right], \\ \\left[ 8, \\ 8, \\ 8, \\ 12, \\ 0\\right], \\ \\left[ 8, \\ 8, \\ 12, \\ 0, \\ 0\\right], \\ \\left[ 8, \\ 8, \\ 8, \\ 8, \\ 12\\right], \\ \\left[ 8, \\ 12, \\ 8, \\ 8, \\ 8\\right], \\ \\left[ 8, \\ 12, \\ 12, \\ 8, \\ 0\\right], \\ \\left[ 12, \\ 8, \\ 8, \\ 8, \\ 0\\right], \\ \\left[ 8, \\ 8, \\ 8, \\ 12, \\ 12\\right], \\ \\left[ 8, \\ 12, \\ 8, \\ 8, \\ 0\\right], \\ \\left[ 8, \\ 8, \\ 12, \\ 12, \\ 8\\right], \\ \\left[ 8, \\ 8, \\ 12, \\ 12, \\ 12\\right], \\ \\left[ 8, \\ 12, \\ 8, \\ 0, \\ 0\\right], \\ \\left[ 8, \\ 8, \\ 12, \\ 12, \\ 0\\right], \\ \\left[ 12, \\ 8, \\ 0, \\ 0, \\ 0\\right], \\ \\left[ 8, \\ 12, \\ 0, \\ 0, \\ 0\\right]\\right]$" + "$\\displaystyle \\left[ \\left[ 1, \\ 6, \\ 6, \\ 6, \\ 1\\right], \\ \\left[ 1, \\ 1, \\ 1, \\ 0, \\ 0\\right], \\ \\left[ 1, \\ 1, \\ 1, \\ 1, \\ 0\\right], \\ \\left[ 6, \\ 6, \\ 6, \\ 1, \\ 0\\right], \\ \\left[ 1, \\ 6, \\ 6, \\ 6, \\ 0\\right], \\ \\left[ 1, \\ 1, \\ 0, \\ 0, \\ 0\\right], \\ \\left[ 1, \\ 1, \\ 6, \\ 1, \\ 1\\right], \\ \\left[ 1, \\ 1, \\ 1, \\ 6, \\ 1\\right], \\ \\left[ 1, \\ 0, \\ 0, \\ 0, \\ 0\\right], \\ \\left[ 1, \\ 1, \\ 6, \\ 1, \\ 0\\right], \\ \\left[ 1, \\ 1, \\ 1, \\ 6, \\ 0\\right], \\ \\left[ 1, \\ 1, \\ 6, \\ 0, \\ 0\\right], \\ \\left[ 1, \\ 1, \\ 1, \\ 1, \\ 6\\right], \\ \\left[ 1, \\ 6, \\ 1, \\ 1, \\ 1\\right], \\ \\left[ 1, \\ 6, \\ 6, \\ 1, \\ 0\\right], \\ \\left[ 6, \\ 1, \\ 1, \\ 1, \\ 0\\right], \\ \\left[ 1, \\ 1, \\ 1, \\ 6, \\ 6\\right], \\ \\left[ 1, \\ 6, \\ 1, \\ 1, \\ 0\\right], \\ \\left[ 1, \\ 1, \\ 6, \\ 6, \\ 1\\right], \\ \\left[ 1, \\ 1, \\ 6, \\ 6, \\ 6\\right], \\ \\left[ 1, \\ 6, \\ 1, \\ 0, \\ 0\\right], \\ \\left[ 1, \\ 1, \\ 6, \\ 6, \\ 0\\right], \\ \\left[ 6, \\ 1, \\ 0, \\ 0, \\ 0\\right], \\ \\left[ 1, \\ 6, \\ 0, \\ 0, \\ 0\\right]\\right]$" ], "text/plain": [ - "[[8, 12, 12, 12, 8], [8, 8, 8, 0, 0], [8, 8, 8, 8, 0], [12, 12, 12, 8, 0], [8,\n", - " 12, 12, 12, 0], [8, 8, 0, 0, 0], [8, 8, 12, 8, 8], [8, 8, 8, 12, 8], [8, 0, 0\n", - ", 0, 0], [8, 8, 12, 8, 0], [8, 8, 8, 12, 0], [8, 8, 12, 0, 0], [8, 8, 8, 8, 12\n", - "], [8, 12, 8, 8, 8], [8, 12, 12, 8, 0], [12, 8, 8, 8, 0], [8, 8, 8, 12, 12], [\n", - "8, 12, 8, 8, 0], [8, 8, 12, 12, 8], [8, 8, 12, 12, 12], [8, 12, 8, 0, 0], [8, \n", - "8, 12, 12, 0], [12, 8, 0, 0, 0], [8, 12, 0, 0, 0]]" + "[[1, 6, 6, 6, 1], [1, 1, 1, 0, 0], [1, 1, 1, 1, 0], [6, 6, 6, 1, 0], [1, 6, 6,\n", + " 6, 0], [1, 1, 0, 0, 0], [1, 1, 6, 1, 1], [1, 1, 1, 6, 1], [1, 0, 0, 0, 0], [1\n", + ", 1, 6, 1, 0], [1, 1, 1, 6, 0], [1, 1, 6, 0, 0], [1, 1, 1, 1, 6], [1, 6, 1, 1,\n", + " 1], [1, 6, 6, 1, 0], [6, 1, 1, 1, 0], [1, 1, 1, 6, 6], [1, 6, 1, 1, 0], [1, 1\n", + ", 6, 6, 1], [1, 1, 6, 6, 6], [1, 6, 1, 0, 0], [1, 1, 6, 6, 0], [6, 1, 0, 0, 0]\n", + ", [1, 6, 0, 0, 0]]" ] }, "execution_count": 18, @@ -529,6 +529,69 @@ "source": [ "[str2vops(s) for s in lookup_table]" ] + }, + { + "cell_type": "code", + "execution_count": 22, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "'sssxs'" + ] + }, + "execution_count": 22, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "lookup_table[7]" + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "['sxxxs',\n", + " 'sss',\n", + " 'ssss',\n", + " 'xxxs',\n", + " 'sxxx',\n", + " 'ss',\n", + " 'ssxss',\n", + " 'sssxs',\n", + " 's',\n", + " 'ssxs',\n", + " 'sssx',\n", + " 'ssx',\n", + " 'ssssx',\n", + " 'sxsss',\n", + " 'sxxs',\n", + " 'xsss',\n", + " 'sssxx',\n", + " 'sxss',\n", + " 'ssxxs',\n", + " 'ssxxx',\n", + " 'sxs',\n", + " 'ssxx',\n", + " 'xs',\n", + " 'sx']" + ] + }, + "execution_count": 23, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "lookup_table" + ] } ], "metadata": {