From 722fbe63aeef14b7e974f34192f712b96326cf19 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Kn=C3=BCttel?= Date: Fri, 15 Nov 2019 10:53:46 +0100 Subject: [PATCH] did some work; fixed a bug --- computations/C_L_elements_and_products.ipynb | 53 +- computations/lookup_table_2_qbits_CZ.ipynb | 864 ----------------- .../lookup_table_2_qbits_CZ_matrices.ipynb | 877 ++++++++++++++++++ .../lookup_table_2_qbits_CZ_states.ipynb | 663 +++++++++++++ 4 files changed, 1580 insertions(+), 877 deletions(-) delete mode 100644 computations/lookup_table_2_qbits_CZ.ipynb create mode 100644 computations/lookup_table_2_qbits_CZ_matrices.ipynb create mode 100644 computations/lookup_table_2_qbits_CZ_states.ipynb diff --git a/computations/C_L_elements_and_products.ipynb b/computations/C_L_elements_and_products.ipynb index 903a2d3..e0347e3 100644 --- a/computations/C_L_elements_and_products.ipynb +++ b/computations/C_L_elements_and_products.ipynb @@ -244,7 +244,8 @@ " product_table.append(row)\n", " row = []\n", " row.append(p[0] * p[1])\n", - " \n", + "product_table.append(row)\n", + "\n", "product_table = product_table[1:]" ] }, @@ -255,9 +256,9 @@ "outputs": [ { "data": { - "image/png": "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\n", + "image/png": "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\n", "text/latex": [ - "$\\displaystyle \\left[ \\left[ 2, \\ 4, \\ 0, \\ 12, \\ 1, \\ 7, \\ 15, \\ 5, \\ 10, \\ 19, \\ 8, \\ 22, \\ 3, \\ 14, \\ 13, \\ 6, \\ 23, \\ 18, \\ 17, \\ 9, \\ 21, \\ 20, \\ 11, \\ 16\\right], \\ \\left[ 3, \\ 5, \\ 1, \\ 13, \\ 6, \\ 8, \\ 17, \\ 9, \\ 2, \\ 20, \\ 11, \\ 23, \\ 10, \\ 15, \\ 16, \\ 0, \\ 21, \\ 19, \\ 14, \\ 4, \\ 22, \\ 18, \\ 7, \\ 12\\right], \\ \\left[ 0, \\ 1, \\ 2, \\ 3, \\ 4, \\ 5, \\ 6, \\ 7, \\ 8, \\ 9, \\ 10, \\ 11, \\ 12, \\ 13, \\ 14, \\ 15, \\ 16, \\ 17, \\ 18, \\ 19, \\ 20, \\ 21, \\ 22, \\ 23\\right], \\ \\left[ 1, \\ 6, \\ 3, \\ 10, \\ 5, \\ 9, \\ 0, \\ 8, \\ 11, \\ 4, \\ 2, \\ 7, \\ 13, \\ 16, \\ 15, \\ 17, \\ 12, \\ 14, \\ 19, \\ 20, \\ 18, \\ 22, \\ 23, \\ 21\\right], \\ \\left[ 12, \\ 7, \\ 4, \\ 14, \\ 15, \\ 10, \\ 18, \\ 19, \\ 0, \\ 21, \\ 22, \\ 16, \\ 8, \\ 6, \\ 23, \\ 2, \\ 20, \\ 9, \\ 13, \\ 1, \\ 11, \\ 17, \\ 5, \\ 3\\right], \\ \\left[ 13, \\ 8, \\ 5, \\ 15, \\ 17, \\ 2, \\ 19, \\ 20, \\ 1, \\ 22, \\ 23, \\ 12, \\ 11, \\ 0, \\ 21, \\ 3, \\ 18, \\ 4, \\ 16, \\ 6, \\ 7, \\ 14, \\ 9, \\ 10\\right], \\ \\left[ 10, \\ 9, \\ 6, \\ 16, \\ 0, \\ 11, \\ 14, \\ 4, \\ 3, \\ 18, \\ 7, \\ 21, \\ 2, \\ 17, \\ 12, \\ 1, \\ 22, \\ 20, \\ 15, \\ 5, \\ 23, \\ 19, \\ 8, \\ 13\\right], \\ \\left[ 14, \\ 10, \\ 7, \\ 6, \\ 18, \\ 0, \\ 9, \\ 21, \\ 4, \\ 11, \\ 16, \\ 3, \\ 22, \\ 2, \\ 20, \\ 12, \\ 17, \\ 1, \\ 23, \\ 15, \\ 5, \\ 13, \\ 19, \\ 8\\right], \\ \\left[ 15, \\ 2, \\ 8, \\ 0, \\ 19, \\ 1, \\ 4, \\ 22, \\ 5, \\ 7, \\ 12, \\ 10, \\ 23, \\ 3, \\ 18, \\ 13, \\ 14, \\ 6, \\ 21, \\ 17, \\ 9, \\ 16, \\ 20, \\ 11\\right], \\ \\left[ 16, \\ 11, \\ 9, \\ 17, \\ 14, \\ 3, \\ 20, \\ 18, \\ 6, \\ 23, \\ 21, \\ 13, \\ 7, \\ 1, \\ 22, \\ 10, \\ 19, \\ 5, \\ 12, \\ 0, \\ 8, \\ 15, \\ 4, \\ 2\\right], \\ \\left[ 6, \\ 0, \\ 10, \\ 2, \\ 9, \\ 4, \\ 1, \\ 11, \\ 7, \\ 5, \\ 3, \\ 8, \\ 16, \\ 12, \\ 17, \\ 14, \\ 13, \\ 15, \\ 20, \\ 18, \\ 19, \\ 23, \\ 21, \\ 22\\right], \\ \\left[ 17, \\ 3, \\ 11, \\ 1, \\ 20, \\ 6, \\ 5, \\ 23, \\ 9, \\ 8, \\ 13, \\ 2, \\ 21, \\ 10, \\ 19, \\ 16, \\ 15, \\ 0, \\ 22, \\ 14, \\ 4, \\ 12, \\ 18, \\ 7\\right], \\ \\left[ 4, \\ 15, \\ 12, \\ 8, \\ 7, \\ 19, \\ 2, \\ 10, \\ 22, \\ 1, \\ 0, \\ 5, \\ 14, \\ 23, \\ 6, \\ 18, \\ 3, \\ 13, \\ 9, \\ 21, \\ 17, \\ 11, \\ 16, \\ 20\\right], \\ \\left[ 5, \\ 17, \\ 13, \\ 11, \\ 8, \\ 20, \\ 3, \\ 2, \\ 23, \\ 6, \\ 1, \\ 9, \\ 15, \\ 21, \\ 0, \\ 19, \\ 10, \\ 16, \\ 4, \\ 22, \\ 14, \\ 7, \\ 12, \\ 18\\right], \\ \\left[ 7, \\ 18, \\ 14, \\ 22, \\ 10, \\ 21, \\ 12, \\ 0, \\ 16, \\ 15, \\ 4, \\ 19, \\ 6, \\ 20, \\ 2, \\ 9, \\ 8, \\ 23, \\ 1, \\ 11, \\ 13, \\ 5, \\ 3, \\ 17\\right], \\ \\left[ 8, \\ 19, \\ 15, \\ 23, \\ 2, \\ 22, \\ 13, \\ 1, \\ 12, \\ 17, \\ 5, \\ 20, \\ 0, \\ 18, \\ 3, \\ 4, \\ 11, \\ 21, \\ 6, \\ 7, \\ 16, \\ 9, \\ 10, \\ 14\\right], \\ \\left[ 9, \\ 14, \\ 16, \\ 7, \\ 11, \\ 18, \\ 10, \\ 3, \\ 21, \\ 0, \\ 6, \\ 4, \\ 17, \\ 22, \\ 1, \\ 20, \\ 2, \\ 12, \\ 5, \\ 23, \\ 15, \\ 8, \\ 13, \\ 19\\right], \\ \\left[ 11, \\ 20, \\ 17, \\ 21, \\ 3, \\ 23, \\ 16, \\ 6, \\ 13, \\ 14, \\ 9, \\ 18, \\ 1, \\ 19, \\ 10, \\ 5, \\ 7, \\ 22, \\ 0, \\ 8, \\ 12, \\ 4, \\ 2, \\ 15\\right], \\ \\left[ 22, \\ 21, \\ 18, \\ 20, \\ 12, \\ 16, \\ 23, \\ 15, \\ 14, \\ 13, \\ 19, \\ 17, \\ 4, \\ 9, \\ 8, \\ 7, \\ 5, \\ 11, \\ 2, \\ 10, \\ 3, \\ 1, \\ 0, \\ 6\\right], \\ \\left[ 23, \\ 22, \\ 19, \\ 18, \\ 13, \\ 12, \\ 21, \\ 17, \\ 15, \\ 16, \\ 20, \\ 14, \\ 5, \\ 4, \\ 11, \\ 8, \\ 9, \\ 7, \\ 3, \\ 2, \\ 10, \\ 6, \\ 1, \\ 0\\right], \\ \\left[ 21, \\ 23, \\ 20, \\ 19, \\ 16, \\ 13, \\ 22, \\ 14, \\ 17, \\ 12, \\ 18, \\ 15, \\ 9, \\ 5, \\ 7, \\ 11, \\ 4, \\ 8, \\ 10, \\ 3, \\ 2, \\ 0, \\ 6, \\ 1\\right], \\ \\left[ 20, \\ 16, \\ 21, \\ 9, \\ 23, \\ 14, \\ 11, \\ 13, \\ 18, \\ 3, \\ 17, \\ 6, \\ 19, \\ 7, \\ 5, \\ 22, \\ 1, \\ 10, \\ 8, \\ 12, \\ 0, \\ 2, \\ 15, \\ 4\\right], \\ \\left[ 18, \\ 12, \\ 22, \\ 4, \\ 21, \\ 15, \\ 7, \\ 16, \\ 19, \\ 10, \\ 14, \\ 0, \\ 20, \\ 8, \\ 9, \\ 23, \\ 6, \\ 2, \\ 11, \\ 13, \\ 1, \\ 3, \\ 17, \\ 5\\right]\\right]$" + "$\\displaystyle \\left[ \\left[ 2, \\ 4, \\ 0, \\ 12, \\ 1, \\ 7, \\ 15, \\ 5, \\ 10, \\ 19, \\ 8, \\ 22, \\ 3, \\ 14, \\ 13, \\ 6, \\ 23, \\ 18, \\ 17, \\ 9, \\ 21, \\ 20, \\ 11, \\ 16\\right], \\ \\left[ 3, \\ 5, \\ 1, \\ 13, \\ 6, \\ 8, \\ 17, \\ 9, \\ 2, \\ 20, \\ 11, \\ 23, \\ 10, \\ 15, \\ 16, \\ 0, \\ 21, \\ 19, \\ 14, \\ 4, \\ 22, \\ 18, \\ 7, \\ 12\\right], \\ \\left[ 0, \\ 1, \\ 2, \\ 3, \\ 4, \\ 5, \\ 6, \\ 7, \\ 8, \\ 9, \\ 10, \\ 11, \\ 12, \\ 13, \\ 14, \\ 15, \\ 16, \\ 17, \\ 18, \\ 19, \\ 20, \\ 21, \\ 22, \\ 23\\right], \\ \\left[ 1, \\ 6, \\ 3, \\ 10, \\ 5, \\ 9, \\ 0, \\ 8, \\ 11, \\ 4, \\ 2, \\ 7, \\ 13, \\ 16, \\ 15, \\ 17, \\ 12, \\ 14, \\ 19, \\ 20, \\ 18, \\ 22, \\ 23, \\ 21\\right], \\ \\left[ 12, \\ 7, \\ 4, \\ 14, \\ 15, \\ 10, \\ 18, \\ 19, \\ 0, \\ 21, \\ 22, \\ 16, \\ 8, \\ 6, \\ 23, \\ 2, \\ 20, \\ 9, \\ 13, \\ 1, \\ 11, \\ 17, \\ 5, \\ 3\\right], \\ \\left[ 13, \\ 8, \\ 5, \\ 15, \\ 17, \\ 2, \\ 19, \\ 20, \\ 1, \\ 22, \\ 23, \\ 12, \\ 11, \\ 0, \\ 21, \\ 3, \\ 18, \\ 4, \\ 16, \\ 6, \\ 7, \\ 14, \\ 9, \\ 10\\right], \\ \\left[ 10, \\ 9, \\ 6, \\ 16, \\ 0, \\ 11, \\ 14, \\ 4, \\ 3, \\ 18, \\ 7, \\ 21, \\ 2, \\ 17, \\ 12, \\ 1, \\ 22, \\ 20, \\ 15, \\ 5, \\ 23, \\ 19, \\ 8, \\ 13\\right], \\ \\left[ 14, \\ 10, \\ 7, \\ 6, \\ 18, \\ 0, \\ 9, \\ 21, \\ 4, \\ 11, \\ 16, \\ 3, \\ 22, \\ 2, \\ 20, \\ 12, \\ 17, \\ 1, \\ 23, \\ 15, \\ 5, \\ 13, \\ 19, \\ 8\\right], \\ \\left[ 15, \\ 2, \\ 8, \\ 0, \\ 19, \\ 1, \\ 4, \\ 22, \\ 5, \\ 7, \\ 12, \\ 10, \\ 23, \\ 3, \\ 18, \\ 13, \\ 14, \\ 6, \\ 21, \\ 17, \\ 9, \\ 16, \\ 20, \\ 11\\right], \\ \\left[ 16, \\ 11, \\ 9, \\ 17, \\ 14, \\ 3, \\ 20, \\ 18, \\ 6, \\ 23, \\ 21, \\ 13, \\ 7, \\ 1, \\ 22, \\ 10, \\ 19, \\ 5, \\ 12, \\ 0, \\ 8, \\ 15, \\ 4, \\ 2\\right], \\ \\left[ 6, \\ 0, \\ 10, \\ 2, \\ 9, \\ 4, \\ 1, \\ 11, \\ 7, \\ 5, \\ 3, \\ 8, \\ 16, \\ 12, \\ 17, \\ 14, \\ 13, \\ 15, \\ 20, \\ 18, \\ 19, \\ 23, \\ 21, \\ 22\\right], \\ \\left[ 17, \\ 3, \\ 11, \\ 1, \\ 20, \\ 6, \\ 5, \\ 23, \\ 9, \\ 8, \\ 13, \\ 2, \\ 21, \\ 10, \\ 19, \\ 16, \\ 15, \\ 0, \\ 22, \\ 14, \\ 4, \\ 12, \\ 18, \\ 7\\right], \\ \\left[ 4, \\ 15, \\ 12, \\ 8, \\ 7, \\ 19, \\ 2, \\ 10, \\ 22, \\ 1, \\ 0, \\ 5, \\ 14, \\ 23, \\ 6, \\ 18, \\ 3, \\ 13, \\ 9, \\ 21, \\ 17, \\ 11, \\ 16, \\ 20\\right], \\ \\left[ 5, \\ 17, \\ 13, \\ 11, \\ 8, \\ 20, \\ 3, \\ 2, \\ 23, \\ 6, \\ 1, \\ 9, \\ 15, \\ 21, \\ 0, \\ 19, \\ 10, \\ 16, \\ 4, \\ 22, \\ 14, \\ 7, \\ 12, \\ 18\\right], \\ \\left[ 7, \\ 18, \\ 14, \\ 22, \\ 10, \\ 21, \\ 12, \\ 0, \\ 16, \\ 15, \\ 4, \\ 19, \\ 6, \\ 20, \\ 2, \\ 9, \\ 8, \\ 23, \\ 1, \\ 11, \\ 13, \\ 5, \\ 3, \\ 17\\right], \\ \\left[ 8, \\ 19, \\ 15, \\ 23, \\ 2, \\ 22, \\ 13, \\ 1, \\ 12, \\ 17, \\ 5, \\ 20, \\ 0, \\ 18, \\ 3, \\ 4, \\ 11, \\ 21, \\ 6, \\ 7, \\ 16, \\ 9, \\ 10, \\ 14\\right], \\ \\left[ 9, \\ 14, \\ 16, \\ 7, \\ 11, \\ 18, \\ 10, \\ 3, \\ 21, \\ 0, \\ 6, \\ 4, \\ 17, \\ 22, \\ 1, \\ 20, \\ 2, \\ 12, \\ 5, \\ 23, \\ 15, \\ 8, \\ 13, \\ 19\\right], \\ \\left[ 11, \\ 20, \\ 17, \\ 21, \\ 3, \\ 23, \\ 16, \\ 6, \\ 13, \\ 14, \\ 9, \\ 18, \\ 1, \\ 19, \\ 10, \\ 5, \\ 7, \\ 22, \\ 0, \\ 8, \\ 12, \\ 4, \\ 2, \\ 15\\right], \\ \\left[ 22, \\ 21, \\ 18, \\ 20, \\ 12, \\ 16, \\ 23, \\ 15, \\ 14, \\ 13, \\ 19, \\ 17, \\ 4, \\ 9, \\ 8, \\ 7, \\ 5, \\ 11, \\ 2, \\ 10, \\ 3, \\ 1, \\ 0, \\ 6\\right], \\ \\left[ 23, \\ 22, \\ 19, \\ 18, \\ 13, \\ 12, \\ 21, \\ 17, \\ 15, \\ 16, \\ 20, \\ 14, \\ 5, \\ 4, \\ 11, \\ 8, \\ 9, \\ 7, \\ 3, \\ 2, \\ 10, \\ 6, \\ 1, \\ 0\\right], \\ \\left[ 21, \\ 23, \\ 20, \\ 19, \\ 16, \\ 13, \\ 22, \\ 14, \\ 17, \\ 12, \\ 18, \\ 15, \\ 9, \\ 5, \\ 7, \\ 11, \\ 4, \\ 8, \\ 10, \\ 3, \\ 2, \\ 0, \\ 6, \\ 1\\right], \\ \\left[ 20, \\ 16, \\ 21, \\ 9, \\ 23, \\ 14, \\ 11, \\ 13, \\ 18, \\ 3, \\ 17, \\ 6, \\ 19, \\ 7, \\ 5, \\ 22, \\ 1, \\ 10, \\ 8, \\ 12, \\ 0, \\ 2, \\ 15, \\ 4\\right], \\ \\left[ 18, \\ 12, \\ 22, \\ 4, \\ 21, \\ 15, \\ 7, \\ 16, \\ 19, \\ 10, \\ 14, \\ 0, \\ 20, \\ 8, \\ 9, \\ 23, \\ 6, \\ 2, \\ 11, \\ 13, \\ 1, \\ 3, \\ 17, \\ 5\\right], \\ \\left[ 19, \\ 13, \\ 23, \\ 5, \\ 22, \\ 17, \\ 8, \\ 12, \\ 20, \\ 2, \\ 15, \\ 1, \\ 18, \\ 11, \\ 4, \\ 21, \\ 0, \\ 3, \\ 7, \\ 16, \\ 6, \\ 10, \\ 14, \\ 9\\right]\\right]$" ], "text/plain": [ "[[2, 4, 0, 12, 1, 7, 15, 5, 10, 19, 8, 22, 3, 14, 13, 6, 23, 18, 17, 9, 21, 20\n", @@ -285,7 +286,9 @@ ", 14, 5, 4, 11, 8, 9, 7, 3, 2, 10, 6, 1, 0], [21, 23, 20, 19, 16, 13, 22, 14, \n", "17, 12, 18, 15, 9, 5, 7, 11, 4, 8, 10, 3, 2, 0, 6, 1], [20, 16, 21, 9, 23, 14,\n", " 11, 13, 18, 3, 17, 6, 19, 7, 5, 22, 1, 10, 8, 12, 0, 2, 15, 4], [18, 12, 22, \n", - "4, 21, 15, 7, 16, 19, 10, 14, 0, 20, 8, 9, 23, 6, 2, 11, 13, 1, 3, 17, 5]]" + "4, 21, 15, 7, 16, 19, 10, 14, 0, 20, 8, 9, 23, 6, 2, 11, 13, 1, 3, 17, 5], [19\n", + ", 13, 23, 5, 22, 17, 8, 12, 20, 2, 15, 1, 18, 11, 4, 21, 0, 3, 7, 16, 6, 10, 1\n", + "4, 9]]" ] }, "execution_count": 8, @@ -307,6 +310,30 @@ "product_table_indices" ] }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAABMAAAAOCAYAAADNGCeJAAAACXBIWXMAAA7EAAAOxAGVKw4bAAABOElEQVQ4EX2TjU0DMQxGL0xwYoSyARIblA2Q2AA2aGfoCLBCR6ArdAS6QrvB8d7JiZLcUUtWnM//sTNM0zRAG/gr+Mz5Az+ru8fa6JNtkOdAxwx4QgdYYVvjvYz+Fy6+yMMRHlcMr+DXHs93dDu4CfYAsNUppTRy1nTiMoL7BA2B2d4tuOgMptOFjCrXqE+izTv23wvjXHZ/YmgLwO0QwGxvIw45rPJmVragaMP29rUyWr4R6FLjRe4zR0arKiPPNmCHLIfd/crI7r6dMP4sGRHAPzjU/UtNm+HgQ/WBbNn1WW8vwqco18xvYC/cyzuBGUTybBLM6DDo4xbMGzF/Fy7uTfMekcTJLRZaXehd7DLNxMWs/kWj1/TIxf/5VIO1TOXuh+/7mnEnIrjG51xFfWLrIGo/i9n9ATCSR9TdYl8YAAAAAElFTkSuQmCC\n", + "text/latex": [ + "$\\displaystyle 24$" + ], + "text/plain": [ + "24" + ] + }, + "execution_count": 9, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "len(product_table_indices)" + ] + }, { "cell_type": "markdown", "metadata": {}, @@ -316,7 +343,7 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": 10, "metadata": {}, "outputs": [], "source": [ @@ -325,7 +352,7 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": 11, "metadata": {}, "outputs": [ { @@ -358,7 +385,7 @@ " [-0.5+0.5j, -0.5-0.5j]])]" ] }, - "execution_count": 10, + "execution_count": 11, "metadata": {}, "output_type": "execute_result" } @@ -369,7 +396,7 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": 12, "metadata": {}, "outputs": [ { @@ -384,7 +411,7 @@ "⎣1 0 ⎦" ] }, - "execution_count": 11, + "execution_count": 12, "metadata": {}, "output_type": "execute_result" } @@ -398,7 +425,7 @@ }, { "cell_type": "code", - "execution_count": 12, + "execution_count": 13, "metadata": {}, "outputs": [ { @@ -411,7 +438,7 @@ "21" ] }, - "execution_count": 12, + "execution_count": 13, "metadata": {}, "output_type": "execute_result" } @@ -422,7 +449,7 @@ }, { "cell_type": "code", - "execution_count": 13, + "execution_count": 14, "metadata": {}, "outputs": [ { @@ -435,7 +462,7 @@ "20" ] }, - "execution_count": 13, + "execution_count": 14, "metadata": {}, "output_type": "execute_result" } diff --git a/computations/lookup_table_2_qbits_CZ.ipynb b/computations/lookup_table_2_qbits_CZ.ipynb deleted file mode 100644 index 2091aae..0000000 --- a/computations/lookup_table_2_qbits_CZ.ipynb +++ /dev/null @@ -1,864 +0,0 @@ -{ - "cells": [ - { - "cell_type": "code", - "execution_count": 1, - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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\n", - "text/latex": [ - "$\\displaystyle \\left[ \\left[\\begin{matrix}\\frac{\\sqrt{2}}{2} & \\frac{\\sqrt{2}}{2}\\\\\\frac{\\sqrt{2}}{2} & - \\frac{\\sqrt{2}}{2}\\end{matrix}\\right], \\ \\left[\\begin{matrix}1 & 0\\\\0 & i\\end{matrix}\\right], \\ \\left[\\begin{matrix}1 & 0\\\\0 & 1\\end{matrix}\\right], \\ \\left[\\begin{matrix}\\frac{\\sqrt{2}}{2} & \\frac{\\sqrt{2}}{2}\\\\\\frac{\\sqrt{2} i}{2} & - \\frac{\\sqrt{2} i}{2}\\end{matrix}\\right], \\ \\left[\\begin{matrix}\\frac{\\sqrt{2}}{2} & \\frac{\\sqrt{2} i}{2}\\\\\\frac{\\sqrt{2}}{2} & - \\frac{\\sqrt{2} i}{2}\\end{matrix}\\right], \\ \\left[\\begin{matrix}1 & 0\\\\0 & -1\\end{matrix}\\right], \\ \\left[\\begin{matrix}\\frac{\\sqrt{2}}{2} & \\frac{\\sqrt{2} i}{2}\\\\\\frac{\\sqrt{2} i}{2} & \\frac{\\sqrt{2}}{2}\\end{matrix}\\right], \\ \\left[\\begin{matrix}\\frac{\\sqrt{2}}{2} & - \\frac{\\sqrt{2}}{2}\\\\\\frac{\\sqrt{2}}{2} & \\frac{\\sqrt{2}}{2}\\end{matrix}\\right], \\ \\left[\\begin{matrix}1 & 0\\\\0 & - i\\end{matrix}\\right], \\ \\left[\\begin{matrix}\\frac{\\sqrt{2}}{2} & - \\frac{\\sqrt{2}}{2}\\\\\\frac{\\sqrt{2} i}{2} & \\frac{\\sqrt{2} i}{2}\\end{matrix}\\right], \\ \\left[\\begin{matrix}\\frac{\\sqrt{2}}{2} & - \\frac{\\sqrt{2} i}{2}\\\\\\frac{\\sqrt{2}}{2} & \\frac{\\sqrt{2} i}{2}\\end{matrix}\\right], \\ \\left[\\begin{matrix}\\frac{\\sqrt{2}}{2} & - \\frac{\\sqrt{2} i}{2}\\\\\\frac{\\sqrt{2} i}{2} & - \\frac{\\sqrt{2}}{2}\\end{matrix}\\right], \\ \\left[\\begin{matrix}\\frac{1}{2} + \\frac{i}{2} & \\frac{1}{2} - \\frac{i}{2}\\\\\\frac{1}{2} - \\frac{i}{2} & \\frac{1}{2} + \\frac{i}{2}\\end{matrix}\\right], \\ \\left[\\begin{matrix}\\frac{\\sqrt{2}}{2} & \\frac{\\sqrt{2}}{2}\\\\- \\frac{\\sqrt{2}}{2} & \\frac{\\sqrt{2}}{2}\\end{matrix}\\right], \\ \\left[\\begin{matrix}0 & 1\\\\1 & 0\\end{matrix}\\right], \\ \\left[\\begin{matrix}\\frac{\\sqrt{2}}{2} & \\frac{\\sqrt{2}}{2}\\\\- \\frac{\\sqrt{2} i}{2} & \\frac{\\sqrt{2} i}{2}\\end{matrix}\\right], \\ \\left[\\begin{matrix}0 & 1\\\\i & 0\\end{matrix}\\right], \\ \\left[\\begin{matrix}\\frac{1}{2} - \\frac{i}{2} & \\frac{1}{2} + \\frac{i}{2}\\\\- \\frac{1}{2} + \\frac{i}{2} & \\frac{1}{2} + \\frac{i}{2}\\end{matrix}\\right], \\ \\left[\\begin{matrix}0 & i\\\\1 & 0\\end{matrix}\\right], \\ \\left[\\begin{matrix}\\frac{\\sqrt{2}}{2} & \\frac{\\sqrt{2} i}{2}\\\\- \\frac{\\sqrt{2} i}{2} & - \\frac{\\sqrt{2}}{2}\\end{matrix}\\right], \\ \\left[\\begin{matrix}\\frac{1}{2} - \\frac{i}{2} & - \\frac{1}{2} + \\frac{i}{2}\\\\- \\frac{1}{2} + \\frac{i}{2} & - \\frac{1}{2} + \\frac{i}{2}\\end{matrix}\\right], \\ \\left[\\begin{matrix}0 & -1\\\\1 & 0\\end{matrix}\\right], \\ \\left[\\begin{matrix}\\frac{\\sqrt{2}}{2} & - \\frac{\\sqrt{2}}{2}\\\\- \\frac{\\sqrt{2} i}{2} & - \\frac{\\sqrt{2} i}{2}\\end{matrix}\\right], \\ \\left[\\begin{matrix}\\frac{1}{2} - \\frac{i}{2} & \\frac{i \\left(-1 + i\\right)}{2}\\\\- \\frac{1}{2} + \\frac{i}{2} & \\frac{i \\left(-1 + i\\right)}{2}\\end{matrix}\\right]\\right]$" - ], - "text/plain": [ - "⎡⎡√2 √2 ⎤ ⎡ √2 √2 ⎤ ⎡√2 √2⋅ⅈ ⎤ ⎡ √2 √2⋅\n", - "⎢⎢── ── ⎥ ⎢ ── ── ⎥ ⎢── ──── ⎥ ⎢ ── ───\n", - "⎢⎢2 2 ⎥ ⎡1 0⎤ ⎡1 0⎤ ⎢ 2 2 ⎥ ⎢2 2 ⎥ ⎡1 0 ⎤ ⎢ 2 2 \n", - "⎢⎢ ⎥, ⎢ ⎥, ⎢ ⎥, ⎢ ⎥, ⎢ ⎥, ⎢ ⎥, ⎢ \n", - "⎢⎢√2 -√2 ⎥ ⎣0 ⅈ⎦ ⎣0 1⎦ ⎢√2⋅ⅈ -√2⋅ⅈ ⎥ ⎢√2 -√2⋅ⅈ ⎥ ⎣0 -1⎦ ⎢√2⋅ⅈ √2\n", - "⎢⎢── ────⎥ ⎢──── ──────⎥ ⎢── ──────⎥ ⎢──── ──\n", - "⎣⎣2 2 ⎦ ⎣ 2 2 ⎦ ⎣2 2 ⎦ ⎣ 2 2 \n", - "\n", - "ⅈ⎤ ⎡√2 -√2 ⎤ ⎡ √2 -√2 ⎤ ⎡√2 -√2⋅ⅈ ⎤ ⎡ √2 -√2⋅ⅈ ⎤ ⎡1 ⅈ 1\n", - "─⎥ ⎢── ────⎥ ⎢ ── ────⎥ ⎢── ──────⎥ ⎢ ── ──────⎥ ⎢─ + ─ ─\n", - " ⎥ ⎢2 2 ⎥ ⎡1 0 ⎤ ⎢ 2 2 ⎥ ⎢2 2 ⎥ ⎢ 2 2 ⎥ ⎢2 2 2\n", - " ⎥, ⎢ ⎥, ⎢ ⎥, ⎢ ⎥, ⎢ ⎥, ⎢ ⎥, ⎢ \n", - " ⎥ ⎢√2 √2 ⎥ ⎣0 -ⅈ⎦ ⎢√2⋅ⅈ √2⋅ⅈ⎥ ⎢√2 √2⋅ⅈ ⎥ ⎢√2⋅ⅈ -√2 ⎥ ⎢1 ⅈ 1\n", - " ⎥ ⎢── ── ⎥ ⎢──── ────⎥ ⎢── ──── ⎥ ⎢──── ──── ⎥ ⎢─ - ─ ─\n", - " ⎦ ⎣2 2 ⎦ ⎣ 2 2 ⎦ ⎣2 2 ⎦ ⎣ 2 2 ⎦ ⎣2 2 2\n", - "\n", - " ⅈ⎤ ⎡ √2 √2⎤ ⎡ √2 √2 ⎤ ⎡ 1 ⅈ 1 ⅈ⎤ ⎡\n", - " - ─⎥ ⎢ ── ──⎥ ⎢ ── ── ⎥ ⎢ ─ - ─ ─ + ─⎥ ⎢\n", - " 2⎥ ⎢ 2 2 ⎥ ⎡0 1⎤ ⎢ 2 2 ⎥ ⎡0 1⎤ ⎢ 2 2 2 2⎥ ⎡0 ⅈ⎤ ⎢\n", - " ⎥, ⎢ ⎥, ⎢ ⎥, ⎢ ⎥, ⎢ ⎥, ⎢ ⎥, ⎢ ⎥, ⎢\n", - " ⅈ⎥ ⎢-√2 √2⎥ ⎣1 0⎦ ⎢-√2⋅ⅈ √2⋅ⅈ⎥ ⎣ⅈ 0⎦ ⎢ 1 ⅈ 1 ⅈ⎥ ⎣1 0⎦ ⎢\n", - " + ─⎥ ⎢──── ──⎥ ⎢────── ────⎥ ⎢- ─ + ─ ─ + ─⎥ ⎢\n", - " 2⎦ ⎣ 2 2 ⎦ ⎣ 2 2 ⎦ ⎣ 2 2 2 2⎦ ⎣\n", - "\n", - " √2 √2⋅ⅈ⎤ ⎡ 1 ⅈ 1 ⅈ⎤ ⎡ √2 -√2 ⎤ ⎡ 1 ⅈ ⅈ⋅(-1 \n", - " ── ────⎥ ⎢ ─ - ─ - ─ + ─⎥ ⎢ ── ──── ⎥ ⎢ ─ - ─ ──────\n", - " 2 2 ⎥ ⎢ 2 2 2 2⎥ ⎡0 -1⎤ ⎢ 2 2 ⎥ ⎢ 2 2 2 \n", - " ⎥, ⎢ ⎥, ⎢ ⎥, ⎢ ⎥, ⎢ \n", - "-√2⋅ⅈ -√2 ⎥ ⎢ 1 ⅈ 1 ⅈ⎥ ⎣1 0 ⎦ ⎢-√2⋅ⅈ -√2⋅ⅈ ⎥ ⎢ 1 ⅈ ⅈ⋅(-1 \n", - "────── ────⎥ ⎢- ─ + ─ - ─ + ─⎥ ⎢────── ──────⎥ ⎢- ─ + ─ ──────\n", - " 2 2 ⎦ ⎣ 2 2 2 2⎦ ⎣ 2 2 ⎦ ⎣ 2 2 2 \n", - "\n", - "+ ⅈ)⎤⎤\n", - "────⎥⎥\n", - " ⎥⎥\n", - " ⎥⎥\n", - "+ ⅈ)⎥⎥\n", - "────⎥⎥\n", - " ⎦⎦" - ] - }, - "execution_count": 1, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "import sympy\n", - "import numpy as np\n", - "\n", - "M = sympy.Matrix\n", - "simplify = sympy.simplify\n", - "sqrt = sympy.sqrt\n", - "i = sympy.I\n", - "_i = i\n", - "\n", - "from sympy.physics.quantum import Dagger\n", - "from sympy.physics.quantum import tensorproduct\n", - "\n", - "sympy.init_printing()\n", - "H = simplify(M([[1, 1], [1, -1]]) / sqrt(2))\n", - "S = M([[1, 0], [0, i]])\n", - "C_L = [H, S]\n", - "basis_vectors = [M([1, 0]), M([0, 1])]\n", - "\n", - "def getitem(m, i, j):\n", - " # Note that sympy uses an extremely weird way to store the matrices,\n", - " # in particular the internal representation is vastly different from what\n", - " # is printed. For instance the H matrix is stored as a Mul object\n", - " # (even after using simplify) instead of a matrix. \n", - " # Therefore m[i][j] will NOT work. This is a workaround.\n", - " return (Dagger(basis_vectors[i]) * m * basis_vectors[j])[0]\n", - "\n", - "def is_known(C_L, a):\n", - " for c in C_L:\n", - " test = c * Dagger(a)\n", - " if(simplify(getitem(test, 0, 1)) != 0):\n", - " continue\n", - " if(simplify(getitem(test, 0, 0) / getitem(test, 1, 1)) == 1):\n", - " return True\n", - " return False\n", - "for i in range(5):\n", - " for m in (H, S):\n", - " for c in C_L:\n", - " c = simplify(c*m)\n", - " if(is_known(C_L, c)):\n", - " continue\n", - " C_L.append(c)\n", - "C_L" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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\n", - "text/latex": [ - "$\\displaystyle \\left[\\begin{matrix}\\frac{1}{2} & \\frac{1}{2} & \\frac{1}{2} & \\frac{1}{2}\\\\\\frac{1}{2} & - \\frac{1}{2} & \\frac{1}{2} & - \\frac{1}{2}\\\\\\frac{1}{2} & \\frac{1}{2} & - \\frac{1}{2} & - \\frac{1}{2}\\\\\\frac{1}{2} & - \\frac{1}{2} & - \\frac{1}{2} & \\frac{1}{2}\\end{matrix}\\right]$" - ], - "text/plain": [ - "⎡1/2 1/2 1/2 1/2 ⎤\n", - "⎢ ⎥\n", - "⎢1/2 -1/2 1/2 -1/2⎥\n", - "⎢ ⎥\n", - "⎢1/2 1/2 -1/2 -1/2⎥\n", - "⎢ ⎥\n", - "⎣1/2 -1/2 -1/2 1/2 ⎦" - ] - }, - "execution_count": 2, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "H2 = tensorproduct.matrix_tensor_product(H, H)\n", - "H2" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "metadata": {}, - "outputs": [], - "source": [ - "zero_state = M([1, 0, 0, 0])" - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAB0AAABlCAYAAACx4uijAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAC/klEQVRoBe1ay03DQBB1EGeUEwWYDkgJhA4QHRBKQFSAQgdJAVxSApRAKAApKYADIArAvOfsrhxn7czYgIOYkSb78ey89dvfZJMky7JEo0mS9KEj6FzTrmi71+v1jqFZhc7gPAhtUSAggalRgd2iwl/GBvuFVrfILwplZpfFMnr7hPITHJ4V6yP5caTuFHV5uyLoBE7XQCINRVXwMy0boqOsykH3yg9/o2ygP8pyJ/QWZ+/Wt8MMTGF0CR1CU5QnSBeYrVxuYlGBuiV1JfZeYdgJvZ2AiunF+OX7ZgVjeTXoz7edOhs+E4NKHW4D5PPdppc9BMU8zq6Zh3D5UC7AwvsqK/sU0+vcjQHAdZqLW6dzFI5clSjR0jsC0LDgmecmNwke7mLRgvItH8XeKwxV9ILa8uHMTixRz4hCLNo3DY4dpYwEBqFSmGkECsAU/jmeA+3MZb9U9LKBBwQYAy2WOYneURbHV6o3dYA8zm4I5gA5rq9QsWjflGuSGwTTIHjLsHZDZU1GC3oCX0Pn7xJgqk3B90MFChBpsO39R1PVmEY9NKg00AakyZv8H3pVS8btSNwIuFYt2N46ozqZSBxTnhB30M+6LmI82wbbzw4nh+F5SIcp9lbV9Y7GHv55K4MmmQXbICIuFmzHeamoVW2DmHkWbFcQGa9W0UsX7qThLP57wfaBI8GncU5WtW2C7UPvmPR+uIJP/bNY2ibYfvEOVWOKcbRg2zMnSjuJHAxUNDZNjVRLxoJtLc2dzF7xmH5DsB0IEYNi3xVdlQfPNZndppcdB8V2s80vYWLRjim/+tvN9o/Rmzv2sS8KdrNdS7V4G3Re2gTboSNa0DbBdjNQC7YDb8KMdhsUuq03M9B6flo+Va1TC7a1bHcye8VjasG2djxpL6aXxhZsgwELtjkVNqTx5uAotb+RbFBaruDM429tMZ0hAgy/v8Emhd5D2cYr/1bSL9nxz8kxfzDLEt4j8Nv1OTQm/K/Rg3+AcXxDnvZrApu1+wjY8ce8qMB2+gXddflBWpRqZgAAAABJRU5ErkJggg==\n", - "text/latex": [ - "$\\displaystyle \\left[\\begin{matrix}\\frac{1}{2}\\\\\\frac{1}{2}\\\\\\frac{1}{2}\\\\\\frac{1}{2}\\end{matrix}\\right]$" - ], - "text/plain": [ - "⎡1/2⎤\n", - "⎢ ⎥\n", - "⎢1/2⎥\n", - "⎢ ⎥\n", - "⎢1/2⎥\n", - "⎢ ⎥\n", - "⎣1/2⎦" - ] - }, - "execution_count": 4, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "plus_state = H2 * zero_state\n", - "plus_state" - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "metadata": {}, - "outputs": [], - "source": [ - "I = M([[1, 0], [0, 1]])" - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "metadata": {}, - "outputs": [], - "source": [ - "C_L_0 = [tensorproduct.matrix_tensor_product(I, c) for c in C_L]" - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "metadata": {}, - "outputs": [], - "source": [ - "C_L_1 = [tensorproduct.matrix_tensor_product(c, I) for c in C_L]" - ] - }, - { - "cell_type": "code", - "execution_count": 8, - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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\n", - "text/latex": [ - "$\\displaystyle \\left[\\begin{matrix}1 & 0 & 0 & 0\\\\0 & 1 & 0 & 0\\\\0 & 0 & 1 & 0\\\\0 & 0 & 0 & -1\\end{matrix}\\right]$" - ], - "text/plain": [ - "⎡1 0 0 0 ⎤\n", - "⎢ ⎥\n", - "⎢0 1 0 0 ⎥\n", - "⎢ ⎥\n", - "⎢0 0 1 0 ⎥\n", - "⎢ ⎥\n", - "⎣0 0 0 -1⎦" - ] - }, - "execution_count": 8, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "CZ = M([[1, 0, 0, 0], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, -1]])\n", - "CZ" - ] - }, - { - "cell_type": "code", - "execution_count": 9, - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAC0AAABlCAYAAADZEWqbAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAD30lEQVR4Ae1cXW7UMBjcVDyj0gcOsEgcgB6B7Q2AB95pj4A4ASo3aA/Qlx4BuAHtAZC2B+ABVhyAZSZ8jtxgb7Lx2CjIllz/xPt5Mpn97HxNttlutwtlaprmEPZeIZ/B9rHStrN1gEmeIW8j+doNHFPSFsadIhM486QEO+sInpbhB57VD6ivvTard732ziaYvcWAW0z4YufA4YPngSEn6Gvt+qAvMOleIAOGJV3Acdk3BCLY1YI+6B+cQ7uCLnWVKtOlmPa9R/Kc+IYvYeQMeYW8RPsC5RregO5UlqSgzWW+laGLGKqajhAj75bJA/od3HlBPu2ylnoWMtAqQGNOaJaaljFNhiARbkffGVt0f0xvcBU2f6qav1LQgHQOgPTTbTI/fYPGE+uSFGp5nALoykPGfTEXGd4cyJIaNFn+IkMXMSSVB6TR37zzJO7QzzsaWVIz3QEzSfBOQ35zmwU0AC8Blno+VnsOsiKVBw06wADLG1G2+SXcoC27/5QybYC5HX1PsAaYuv6OLEtqpumTucCw7BJY7nx315lQUYN+Diwrw8MIk3RRcecpBQ2QqmCNwxcspZoOzpChs4LOQGrQZGU6SEuGzlkyLXV5tiJyIaGvrsEaX2WzlMcsQVPT3IFdIf/yL8G+deg5d7Dmq+FckOkj5NfISaxj39EMZcyRkp7iw8SZBjQFQcpn1S6vBmtiVyNJxwGjNVgTIKXtkmoa3qMGa2JMqzXdzmMbpxqs8VmXMm0MFwnWPLSzcKV/UvvWcwZrHjsw9B4/reFKd2xKmTNY880BUru8GqxxzPZL6RexbzxXu4LOxWzfbmW6z0iuttTl1WDNjstUNb2DHOkhmaYLBGu6E5eBZqCms5q5MktNy5gmuZBIDdbEVKaWRw3WxJiWaroGa2I0o1+t6XYq2zjVYI1PvJRpYzh7sIYnwGeM+E+eJb5Ii5QMGz/MFu112beJfi5AfOvoxu8fqttnMGyrffAKBh/BeDThSpCglQ0g+ElJ6vKGEOCkJMEcqaaHQKuOV9AqJofsVKaHGFIdnyXTRV2erZjJT94UBQ0/zSd7k1+TmqU8Zgl6lDygRe4TPiPvs194act26zRgQ/bkzSjQmHyDmZOe7YcNWTDn/5VHe30Ff0xmya9JjZKHAK8zIXlNqrQ8JMGc0qC5Gia/JlVUHvAgkidvSjPttO1e2pn0mtQ/AW0bp8nBnKLyIM0OMKSS9JqUi3t0cQrYdvVrGE+Khfifh90l8kdkzukygzuHvXH8cRSH4V7JcVxauZ/gb8yEEt8l/BQ6MKUPLDOY89f+BXPcW+IxjsGcYMLYy9/xqBy2/jxphQAAAABJRU5ErkJggg==\n", - "text/latex": [ - "$\\displaystyle \\left[\\begin{matrix}\\frac{1}{2}\\\\\\frac{1}{2}\\\\\\frac{1}{2}\\\\- \\frac{1}{2}\\end{matrix}\\right]$" - ], - "text/plain": [ - "⎡1/2 ⎤\n", - "⎢ ⎥\n", - "⎢1/2 ⎥\n", - "⎢ ⎥\n", - "⎢1/2 ⎥\n", - "⎢ ⎥\n", - "⎣-1/2⎦" - ] - }, - "execution_count": 9, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "CZ * plus_state" - ] - }, - { - "cell_type": "code", - "execution_count": 10, - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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\n", - "text/latex": [ - "$\\displaystyle \\left[\\begin{matrix}1 & 0 & 0 & 0\\\\0 & 1 & 0 & 0\\\\0 & 0 & 1 & 0\\\\0 & 0 & 0 & 1\\end{matrix}\\right]$" - ], - "text/plain": [ - "⎡1 0 0 0⎤\n", - "⎢ ⎥\n", - "⎢0 1 0 0⎥\n", - "⎢ ⎥\n", - "⎢0 0 1 0⎥\n", - "⎢ ⎥\n", - "⎣0 0 0 1⎦" - ] - }, - "execution_count": 10, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "I_4 = M([[1, 0, 0, 0], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]])\n", - "I_4" - ] - }, - { - "cell_type": "code", - "execution_count": 11, - "metadata": { - "scrolled": true - }, - "outputs": [], - "source": [ - "from itertools import product\n", - "starting_states = [ c0 * c1 * ent * plus_state for ent, c0, c1 in product((I_4, CZ), C_L_0, C_L_1)]\n" - ] - }, - { - "cell_type": "code", - "execution_count": 12, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "True" - ] - }, - "execution_count": 12, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "len(starting_states) == 2 * 24**2" - ] - }, - { - "cell_type": "code", - "execution_count": 13, - "metadata": {}, - "outputs": [], - "source": [ - "resulting_states = [CZ * s for s in starting_states]" - ] - }, - { - "cell_type": "code", - "execution_count": 14, - "metadata": {}, - "outputs": [], - "source": [ - "starting_states_np = [np.array(s).astype(np.cdouble)[:, 0] for s in starting_states]\n", - "resulting_states_np = [np.array(s).astype(np.cdouble)[:, 0] for s in resulting_states]" - ] - }, - { - "cell_type": "code", - "execution_count": 15, - "metadata": {}, - "outputs": [], - "source": [ - "from collections import defaultdict" - ] - }, - { - "cell_type": "code", - "execution_count": 16, - "metadata": {}, - "outputs": [], - "source": [ - "state_indices = defaultdict(list)\n", - "\n", - "for rs_np in resulting_states_np:\n", - " for j, ss_np in enumerate(starting_states_np):\n", - " c = ss_np.transpose().conjugate().dot(rs_np)\n", - " if(c * c.conjugate() == 1):\n", - " state_indices[tuple(rs_np)].append(i)\n" - ] - }, - { - "cell_type": "code", - "execution_count": 17, - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAB0AAAAPCAYAAAAYjcSfAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAB2klEQVQ4EZ2UgU0CQRBFgVCA2oHQAWAFYgcYO4AOtARDCZRgsAPowEgH0oFCB/jeenO5W+6McZKf3f0zOzM3M3ud0+nUQUauVcBdgEFw7sFcPrj/rl0vdrvdg87ADijulTH6oxtsZixr9y1yxPayquPOsnpm/4LNrl+QX6xiBPbgFTxHQPbKDTAp9dpWZcrhKQiCWZUNWOBjKw9nwmIYQXco71X+IpZ1nOuLALbGREN0vo2ABWn1TLiT+siyxqDW0/yMzSznPOd3tQMqWnv/56AtAe1ZbQg5v4NDk31wUV5rniaTC8oQrDCyh41SlNWAZS8LQ+dih971AXwC/VnN1N/4UpteloO9g2CJppFdvqKzbzU9Z/vmPb92Xr3D2ReSWtTaRwxM5KN6MfbwKak4xwofQaHqM4JuBdLT7LFpEydtENOZGS04n5WeQOlNo/uZ0volv96kJj2cboBEm2iYixOav9WwMWAED666DvzSCWhyfKUl2de+iAS1tbxtjg3a5A86SarCMq+/Z8T6b3IdnH8fDZzus5kIfa7THqSnxJqyrjmAe9QAlBMdTuDi8Tcmqx3iEJZ69n55Ob19jPaUbAnMRLGs9usaXVMJLbf8G2gU7t01+LyFT636Br8XM4/ij6J4AAAAAElFTkSuQmCC\n", - "text/latex": [ - "$\\displaystyle 576$" - ], - "text/plain": [ - "576" - ] - }, - "execution_count": 17, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "missing = []\n", - "for rs, rs_np in zip(resulting_states, resulting_states_np):\n", - " if(not tuple(rs_np) in state_indices\n", - " or state_indices[tuple(rs_np)] == []):\n", - " missing.append(rs)\n", - "len(missing)" - ] - }, - { - "cell_type": "code", - "execution_count": 18, - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAACMAAAAOCAYAAACl66WxAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAB+ElEQVQ4EZWVjW3CMBCFk4oBEN0ANqDtBE03oOoGZQOYgW4AK9ANygYVbFA6AYUN0vdZPnRxHAQnnWy/e7bvx7mUdV0XZVkOi6KYS5FH6Z90LtsOoEu0byzbVLxpFyfFtWcRsYPGkXSh/Xvj4cgap0whSGtpZVhulP1H2tib4xkm7lY6cet+PGMIhqylfSPYKOyI2jodZZtJr3ZG3Hf4mXMI/Av8TpNKelT68NLLRot+LKHHKSvlOUVt2C4sXmXLlf1beMX9OMOle3nG4TlJnYTzJv4qR76AETRvMRW7t+rpUDzOCdHzjhrRKALKs8xt6MKIusvm8AGZaUksAw/bvrDAEQ52koPn19/anAcGEbYseJZlK5TJG2zOo17p0g8D4shnfGt5kiM6l/etzCh6SrDRpY3eIZyv4abyuGstegedp5a1Q8OZeCHvJHWE8vD531qecKP2WXlyb8ewfc/8kyMTzUfeEWE4gTA+aU35vPDIhxHni2y8MU/UnK/WzvMmy8wmdF1ZOJS2fO7CzCV8Oa2GaDzZaIxXdWDxKHOriQqj9FvOLDXB2y8pnnvB47FI/D+yoozgMe/rxQjCSDtO7oQ/GM4oGx2bf95nXMP9lT4LCy2E/wWH5jR4LGKasRCN20MwM+NpzqVLW9sojMtp/2QcpewEHM7/BytymT8mTB2JAAAAAElFTkSuQmCC\n", - "text/latex": [ - "$\\displaystyle 24.0$" - ], - "text/plain": [ - "24.0" - ] - }, - "execution_count": 18, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "len(missing) / 24 " - ] - }, - { - "cell_type": "code", - "execution_count": 19, - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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\n", - "text/latex": [ - "$\\displaystyle \\left[\\begin{matrix}\\frac{\\sqrt{2}}{2}\\\\0\\\\\\frac{\\sqrt{2} i}{2}\\\\0\\end{matrix}\\right]$" - ], - "text/plain": [ - "⎡ √2 ⎤\n", - "⎢ ── ⎥\n", - "⎢ 2 ⎥\n", - "⎢ ⎥\n", - "⎢ 0 ⎥\n", - "⎢ ⎥\n", - "⎢√2⋅ⅈ⎥\n", - "⎢────⎥\n", - "⎢ 2 ⎥\n", - "⎢ ⎥\n", - "⎣ 0 ⎦" - ] - }, - "execution_count": 19, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "missing[0]" - ] - }, - { - "cell_type": "code", - "execution_count": 46, - "metadata": {}, - "outputs": [], - "source": [ - "starting_matrices = [a * b * c for a, b, c in product(C_L_0, C_L_1, (I_4, CZ))]" - ] - }, - { - "cell_type": "code", - "execution_count": 47, - "metadata": {}, - "outputs": [], - "source": [ - "resulting_matrices = [CZ * c for c in starting_matrices]" - ] - }, - { - "cell_type": "code", - "execution_count": 49, - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAGoAAAAVCAYAAACuVXuDAAAACXBIWXMAAA7EAAAOxAGVKw4bAAADtklEQVRoBe2ZjXEaMRCFjScFMEkHuAMSOsAdJKQDuwOnhqQDu4Q4HWCXQDqADmLTAXmfkDQSJ7jjLGlgxjuzSFrt7Vvt6u+OwWazuQhpMBiMJFuFsvd63QikcnAZuiCFO7XHoSx3XRgN+5INcS431hnbG9lc+CH4RKnjq6SftJr++N6gov6xeCkeBuJGtYPes3Q24oXlpYwsxC+hMfXh7L1ldOfiRpLDZ3LWwQI7p82UrRSOcvCErvrIyZbs1kfwF9RDlgz5oxiHCSb75DDUCZ5v1bO6JAbGFuVPcWRTbVbXY4hj9XhmGspL1YWDb5EPJbAO4aiPmJvYmMSoQSJuDjmifrbFZKLC59r01N86eHTEUfLAEL3CIV6JujAYa/FEteGo/0Z8zxjd1jdT40HCU6GpHHnV0t/dZtkSip5nbEXCWFtWUYa64NiczIjDpX4Iyqnd8kjISo4SsBTtJjCl01f2vdKk7YpDbmYf9PNNbA6vviM79jlNDpa0C/aV6izvv86O6viUInOZCHVTSn1l8ostr8YF4hgccnNNor7UcE4YjkjQbwXbrBYFh4sDt8lryfZOGPWTJHR/iLOT9WMtH4ruLj1wOCunnFEELroaZ49CYFCBICEmSYhtYEhQ20zmgvEg/V88V4BuZbvGOX0sDrkZkqiPYh+4AgHoYpJZzHsTK6ZBkpPEJwXyttGZQSD75naVwdRBEz1xTGxIVDWSo7y08m6wj1jdEdnBsfJKJYnJwatAjS2vD45ZSJxRONgIUBStfA3Ow9Q2izMkw18oaCtJvJlfhUmSzKy6jIHF3kR22VpDMmeilXMDfevZ2BeH3LyQKAJnBh96WajOGZMa8FR40UVCASJQk4Q+yYvOEukyU3tt33oO3AhbbSYJL9dst9ENtC/WsTj4YIlJvLrUD7N4YoWlC/PtLgTRwLmqQj4gkjFxzNcJ1d33PkpkHMY+KZIx43g5PrSlSuVowi7sqRBWA8cDbiufVcypMpuXGrz5nLRbqo/goMgMc9/nkN2Fump31SMJXA5gnqFkRXh8td13RfB2OfVNkissHNkJbXatywb+hPiM3Y9V9SxYbTjOX4s3MsGxjbHrPMdSY2BLfHOiuoy9FpZwmNRmEbH1QXzBLnKrMtbr/HCeretAmbOzBhbnObm5MInSADmc977HoHjKZM+OfzV8rIUlHFYT/7ZvL05uqUvIoTZ37XMq5ffBv2hyjqUWFrkQ+618wCAc2Szyx1x0/XX972WdCCgPfCnh1cC/hP8HWgYo7Ny1PQYAAAAASUVORK5CYII=\n", - "text/latex": [ - "$\\displaystyle \\left( 1152, \\ 4, \\ 4\\right)$" - ], - "text/plain": [ - "(1152, 4, 4)" - ] - }, - "execution_count": 49, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "starting_matrices_np = np.array([np.array(m).astype(np.cdouble) for m in starting_matrices])\n", - "\n", - "starting_matrices_np.shape" - ] - }, - { - "cell_type": "code", - "execution_count": 50, - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAGoAAAAVCAYAAACuVXuDAAAACXBIWXMAAA7EAAAOxAGVKw4bAAADtklEQVRoBe2ZjXEaMRCFjScFMEkHuAMSOsAdJKQDuwOnhqQDu4Q4HWCXQDqADmLTAXmfkDQSJ7jjLGlgxjuzSFrt7Vvt6u+OwWazuQhpMBiMJFuFsvd63QikcnAZuiCFO7XHoSx3XRgN+5INcS431hnbG9lc+CH4RKnjq6SftJr++N6gov6xeCkeBuJGtYPes3Q24oXlpYwsxC+hMfXh7L1ldOfiRpLDZ3LWwQI7p82UrRSOcvCErvrIyZbs1kfwF9RDlgz5oxiHCSb75DDUCZ5v1bO6JAbGFuVPcWRTbVbXY4hj9XhmGspL1YWDb5EPJbAO4aiPmJvYmMSoQSJuDjmifrbFZKLC59r01N86eHTEUfLAEL3CIV6JujAYa/FEteGo/0Z8zxjd1jdT40HCU6GpHHnV0t/dZtkSip5nbEXCWFtWUYa64NiczIjDpX4Iyqnd8kjISo4SsBTtJjCl01f2vdKk7YpDbmYf9PNNbA6vviM79jlNDpa0C/aV6izvv86O6viUInOZCHVTSn1l8ostr8YF4hgccnNNor7UcE4YjkjQbwXbrBYFh4sDt8lryfZOGPWTJHR/iLOT9WMtH4ruLj1wOCunnFEELroaZ49CYFCBICEmSYhtYEhQ20zmgvEg/V88V4BuZbvGOX0sDrkZkqiPYh+4AgHoYpJZzHsTK6ZBkpPEJwXyttGZQSD75naVwdRBEz1xTGxIVDWSo7y08m6wj1jdEdnBsfJKJYnJwatAjS2vD45ZSJxRONgIUBStfA3Ow9Q2izMkw18oaCtJvJlfhUmSzKy6jIHF3kR22VpDMmeilXMDfevZ2BeH3LyQKAJnBh96WajOGZMa8FR40UVCASJQk4Q+yYvOEukyU3tt33oO3AhbbSYJL9dst9ENtC/WsTj4YIlJvLrUD7N4YoWlC/PtLgTRwLmqQj4gkjFxzNcJ1d33PkpkHMY+KZIx43g5PrSlSuVowi7sqRBWA8cDbiufVcypMpuXGrz5nLRbqo/goMgMc9/nkN2Fump31SMJXA5gnqFkRXh8td13RfB2OfVNkissHNkJbXatywb+hPiM3Y9V9SxYbTjOX4s3MsGxjbHrPMdSY2BLfHOiuoy9FpZwmNRmEbH1QXzBLnKrMtbr/HCeretAmbOzBhbnObm5MInSADmc977HoHjKZM+OfzV8rIUlHFYT/7ZvL05uqUvIoTZ37XMq5ffBv2hyjqUWFrkQ+618wCAc2Szyx1x0/XX972WdCCgPfCnh1cC/hP8HWgYo7Ny1PQYAAAAASUVORK5CYII=\n", - "text/latex": [ - "$\\displaystyle \\left( 1152, \\ 4, \\ 4\\right)$" - ], - "text/plain": [ - "(1152, 4, 4)" - ] - }, - "execution_count": 50, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "resulting_matrices_np = np.array([np.array(m).astype(np.cdouble) for m in resulting_matrices])\n", - "\n", - "resulting_matrices_np.shape" - ] - }, - { - "cell_type": "code", - "execution_count": 51, - "metadata": {}, - "outputs": [], - "source": [ - "resulting_matrices_np_invers = np.array([m.transpose().conjugate() for m in resulting_matrices_np])" - ] - }, - { - "cell_type": "code", - "execution_count": 52, - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAACcAAAAPCAYAAABnXNZuAAAACXBIWXMAAA7EAAAOxAGVKw4bAAABw0lEQVRIDcWWgVECMRBFOccCbigBOkDtADvQFrQDqUE7wBKkBOjAkQ6gBKADfC8kR+5A0BmQnVmS3fxsfjabHMV6vW6dWoqi6BF3msfFV2K38c9z/8G+5JIC7KEztEy+fe0xHONL1F1/RTXmTlx8HXQYVewYdWOBE/2WOxqhggQYdIecPvQozsBIIqNh/xWtxcSW2CgRifPEOacf7MbgSxysBcoxMchBXHPR5vwYw43urIPPrC/FXNG5lPRZeBlrMecwwSjxdy5JThJzMrTKmWX98jozTtpl508EtE6VLjqESHWD6T+Gkd0fL6UXYnoucpL6SFnxiLBntPf4zNheYVxiYgcBADh/Sg4WesIy8Ve4hLdFfCZmua/Zdxw1w4HTf9acj28nZpFuXfD7lE0g9pxGTk6ORcao7+VPkuqwGgdvfZqtipj2OWrulrgLgzekrQ2B6lJoQ+yBppsTw2fdneWde2chb2dTfNdqlwESXoA78JsLsJ0h4cU5MjdkUYu6OiJsL5BSPR8xO34lJuLD6ObHDPt9fSv4MbXhU4LTI7EmLF7T/ymINsgfcNvngH8iTPaYB8RabSKF47Quzdw+mYK9+QYkdqlSSVVlyAAAAABJRU5ErkJggg==\n", - "text/latex": [ - "$\\displaystyle 1152$" - ], - "text/plain": [ - "1152" - ] - }, - "execution_count": 52, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "indices = defaultdict(list)\n", - "\n", - "for rm_np, rm_np_i in zip(resulting_matrices_np, resulting_matrices_np_invers):\n", - " for i, sm_np in enumerate(starting_matrices_np):\n", - " test = sm_np.dot(rm_np_i)\n", - " check_indices_zero = [(1,2), (1,3), (1,4), (2,3), (2,4), (3,4)]\n", - " check_indices_zero += [(k,i) for i,k in check_indices_zero]\n", - " check_indices_zero = [(i - 1, k - 1) for i, k in check_indices_zero]\n", - " for check in check_indices_zero:\n", - " if(not np.allclose(test[check], 0)):\n", - " continue\n", - "\n", - " diag = np.diagonal(test)\n", - " phases = np.angle(diag)\n", - " phases = phases - phases[0]\n", - " if(not np.allclose(phases, np.zeros(4))):\n", - " continue\n", - " indices[tuple((tuple(r) for r in rm_np))].append(i)\n", - " \n", - "len(indices.keys())" - ] - }, - { - "cell_type": "code", - "execution_count": 54, - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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FJp3/c7ab/Z5edHyvLVvKTTn+tZ9jq6M1609o5K/zZ11FzXuzL/Z/fOZ8Xhn3XfOMzM8x2bnzRxdGa931n6zMzM8x2ZrP0fXltete0uhede39vO0rXm+s+4S1535N3stM+ddu7PuO+fn5UXL853z5s7sO+dbmTnv+s6bedq2PN9Z+83emt1517f287Steb6z7hLXnfk3ey0z5127s+475+flRcvznfPmzuw751uZOe/6zpt52rY831n7zd6a3XnXt/bztK153rr//+3T4W0UQQwGUIUSqI3QAh3QAxRHS8eNRKT8yMzsRveh9fmddApar4z9/N1KJ1tjn/Wdda/sPnaqPL/ZZ6nMPq/sLvPZbKy6V85N5dllfpXKbE1usr6r7pXtzb66bLbGPus7617ZfexUeX6zz1KZfV7Z/YyMPc9oXftdt7z2fc5O1+GeHXYcd7fn2fRf9323vO5tPjNZh3t22HHcvsOeHXbscssue8rsuPTzfDrcs8OOI5H29LusJiCz1S42n9ct5zYVKx3u2WHHkT17VvwFfjyzW37sUvVph3t22HHkr8OeHXbscssue8rsuPTzfb48YKXvt9vt9wP67Fr8r/9nN8f7upnea8z/zWlu81Zh9Cax/stp7fNW5fQmsf7Lae1ztnpFz6M7mP2o1OPfY/940yMduR9RyrzDPuO668p9J5Srs8/ZrjpXdh97VZ7f7Ktk5mqV3WU+l4td58q5qTy7zO+SmavLTc5217myvdl3183V2edsV50ru4+9Ks9v9lUyc7XK7jKfy8Wuc+XcVJ5d5nfJzNXlJme761zZ3uy76+bq7HO2q87cVzrZGvus76x7ZfexU+X5zT5LZfZ5ZXeZz2Zj1V1uVjrZWmV7s2ezserOfqWTq3HP2e46s98JZeqV3YdI5fnNnsn0rmtld5nfXTdXr5ybyrPLfC7Tu85ysxPK1Svbmz2Xi11n9juhTJ17xvVIV/ZHlB7/TmX3oVF5frM/Ps9HOlZ2l/kjF868IzcZ1yNdK9ub/ciFM++wz7juunLfCeXq7HO2q86V3cdelec3+yqZuVpld5nP5WLXuXJuKs8u87tk5upyk7Pdda5sb/bddXN19jnbVefK7mOvyvObfZXMXK2yu8zncrHrXDk3lWeX+V0yc3W5ydnuOle2N/vuurk6+5ztqjP3lU62xj7rO+te2X3sVHl+s89SmX1e2V3ms9lYda+cm8qzy/wqldma3GR9V90r25t9ddlsjX3Wd9a9svvYqfL8Zp+lMvu8svsZGXue0br2u2557fucna7DPTvsOO5uz7Ppv+77bnnd23xmsg737LDjuH2HPTvs2OWWXfaU2XHp5/l0uGeHHUci7el3WU1AZqtdbD6vW85tKlY63LPDjiN79qz4C/x4Zrf82KXq0w737LDjyF+HPTvs2OWWXfaU2XHpJ/u83Pf5df9++7fX6+12+/NkO1qHAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIFiAi8vLz/vI/+4f7/ev69/AYm7tJVU7WDkAAAAAElFTkSuQmCC\n", - "text/latex": [ - "$\\displaystyle \\left[ 3, \\ 5, \\ 11, \\ 14, \\ 17, \\ 18, \\ 40, \\ 44, \\ 49, \\ 62, \\ 66, \\ 88, \\ 92, \\ 97, \\ 110, \\ 114, \\ 125, \\ 136, \\ 140, \\ 158, \\ 162, \\ 184, \\ 188, \\ 206, \\ 210, \\ 213, \\ 215, \\ 217, \\ 232, \\ 236, \\ 239, \\ 241, \\ 251, \\ 254, \\ 258, \\ 280, \\ 284, \\ 302, \\ 306, \\ 309, \\ 311, \\ 313, \\ 328, \\ 332, \\ 335, \\ 336, \\ 338, \\ 340, \\ 342, \\ 344, \\ 346, \\ 348, \\ 350, \\ 352, \\ 354, \\ 356, \\ 358, \\ 360, \\ 362, \\ 364, \\ 365, \\ 366, \\ 368, \\ 369, \\ 370, \\ 372, \\ 374, \\ 376, \\ 378, \\ 380, \\ 382, \\ 385, \\ 398, \\ 402, \\ 424, \\ 428, \\ 432, \\ 434, \\ 436, \\ 438, \\ 440, \\ 442, \\ 444, \\ 446, \\ 448, \\ 450, \\ 452, \\ 454, \\ 456, \\ 458, \\ 460, \\ 462, \\ 464, \\ 466, \\ 468, \\ 470, \\ 472, \\ 474, \\ 476, \\ 478, \\ 489, \\ 493, \\ 494, \\ 498, \\ 515, \\ 519, \\ 520, \\ 524, \\ 537, \\ 541, \\ 542, \\ 546, \\ 563, \\ 567, \\ 568, \\ 572, \\ 585, \\ 589, \\ 590, \\ 594, \\ 611, \\ 615, \\ 616, \\ 620, \\ 638, \\ 642, \\ 653, \\ 661, \\ 664, \\ 667, \\ 668, \\ 677, \\ 686, \\ 687, \\ 690, \\ 699, \\ 712, \\ 716, \\ 734, \\ 738, \\ 760, \\ 764, \\ 782, \\ 783, \\ 786, \\ 808, \\ 812, \\ 830, \\ 834, \\ 837, \\ 839, \\ 841, \\ 856, \\ 860, \\ 863, \\ 878, \\ 882, \\ 891, \\ 904, \\ 908, \\ 926, \\ 930, \\ 933, \\ 935, \\ 937, \\ 952, \\ 956, \\ 959, \\ 960, \\ 962, \\ 964, \\ 966, \\ 968, \\ 970, \\ 972, \\ 974, \\ 976, \\ 978, \\ 980, \\ 982, \\ 984, \\ 986, \\ 988, \\ 990, \\ 992, \\ 994, \\ 996, \\ 998, \\ 1000, \\ 1002, \\ 1004, \\ 1006, \\ 1022, \\ 1026, \\ 1035, \\ 1048, \\ 1051, \\ 1052, \\ 1056, \\ 1058, \\ 1060, \\ 1062, \\ 1064, \\ 1066, \\ 1068, \\ 1070, \\ 1072, \\ 1074, \\ 1076, \\ 1078, \\ 1080, \\ 1082, \\ 1084, \\ 1086, \\ 1088, \\ 1090, \\ 1092, \\ 1094, \\ 1096, \\ 1098, \\ 1100, \\ 1102, \\ 1113, \\ 1117, \\ 1118, \\ 1122, \\ 1139, \\ 1143, \\ 1144, \\ 1148\\right]$" - ], - "text/plain": [ - "[3, 5, 11, 14, 17, 18, 40, 44, 49, 62, 66, 88, 92, 97, 110, 114, 125, 136, 140\n", - ", 158, 162, 184, 188, 206, 210, 213, 215, 217, 232, 236, 239, 241, 251, 254, 2\n", - "58, 280, 284, 302, 306, 309, 311, 313, 328, 332, 335, 336, 338, 340, 342, 344,\n", - " 346, 348, 350, 352, 354, 356, 358, 360, 362, 364, 365, 366, 368, 369, 370, 37\n", - "2, 374, 376, 378, 380, 382, 385, 398, 402, 424, 428, 432, 434, 436, 438, 440, \n", - "442, 444, 446, 448, 450, 452, 454, 456, 458, 460, 462, 464, 466, 468, 470, 472\n", - ", 474, 476, 478, 489, 493, 494, 498, 515, 519, 520, 524, 537, 541, 542, 546, 5\n", - "63, 567, 568, 572, 585, 589, 590, 594, 611, 615, 616, 620, 638, 642, 653, 661,\n", - " 664, 667, 668, 677, 686, 687, 690, 699, 712, 716, 734, 738, 760, 764, 782, 78\n", - "3, 786, 808, 812, 830, 834, 837, 839, 841, 856, 860, 863, 878, 882, 891, 904, \n", - "908, 926, 930, 933, 935, 937, 952, 956, 959, 960, 962, 964, 966, 968, 970, 972\n", - ", 974, 976, 978, 980, 982, 984, 986, 988, 990, 992, 994, 996, 998, 1000, 1002,\n", - " 1004, 1006, 1022, 1026, 1035, 1048, 1051, 1052, 1056, 1058, 1060, 1062, 1064,\n", - " 1066, 1068, 1070, 1072, 1074, 1076, 1078, 1080, 1082, 1084, 1086, 1088, 1090,\n", - " 1092, 1094, 1096, 1098, 1100, 1102, 1113, 1117, 1118, 1122, 1139, 1143, 1144,\n", - " 1148]" - ] - }, - "execution_count": 54, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "indices[tuple(((tuple(r) for r in resulting_matrices_np[0])))]" - ] - }, - { - "cell_type": "code", - "execution_count": 56, - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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\n", - "text/latex": [ - "$\\displaystyle \\left[ 2, \\ 4, \\ 10, \\ 15, \\ 16, \\ 19, \\ 41, \\ 45, \\ 48, \\ 63, \\ 67, \\ 89, \\ 93, \\ 96, \\ 111, \\ 115, \\ 124, \\ 137, \\ 141, \\ 159, \\ 163, \\ 185, \\ 189, \\ 207, \\ 211, \\ 212, \\ 214, \\ 216, \\ 233, \\ 237, \\ 238, \\ 240, \\ 250, \\ 255, \\ 259, \\ 281, \\ 285, \\ 303, \\ 307, \\ 308, \\ 310, \\ 312, \\ 329, \\ 333, \\ 334, \\ 337, \\ 339, \\ 341, \\ 343, \\ 345, \\ 347, \\ 349, \\ 351, \\ 353, \\ 355, \\ 357, \\ 359, \\ 361, \\ 363, \\ 364, \\ 365, \\ 367, \\ 368, \\ 369, \\ 371, \\ 373, \\ 375, \\ 377, \\ 379, \\ 381, \\ 383, \\ 384, \\ 399, \\ 403, \\ 425, \\ 429, \\ 433, \\ 435, \\ 437, \\ 439, \\ 441, \\ 443, \\ 445, \\ 447, \\ 449, \\ 451, \\ 453, \\ 455, \\ 457, \\ 459, \\ 461, \\ 463, \\ 465, \\ 467, \\ 469, \\ 471, \\ 473, \\ 475, \\ 477, \\ 479, \\ 488, \\ 492, \\ 495, \\ 499, \\ 514, \\ 518, \\ 521, \\ 525, \\ 536, \\ 540, \\ 543, \\ 547, \\ 562, \\ 566, \\ 569, \\ 573, \\ 584, \\ 588, \\ 591, \\ 595, \\ 610, \\ 614, \\ 617, \\ 621, \\ 639, \\ 643, \\ 652, \\ 660, \\ 665, \\ 666, \\ 669, \\ 676, \\ 686, \\ 687, \\ 691, \\ 698, \\ 713, \\ 717, \\ 735, \\ 739, \\ 761, \\ 765, \\ 782, \\ 783, \\ 787, \\ 809, \\ 813, \\ 831, \\ 835, \\ 836, \\ 838, \\ 840, \\ 857, \\ 861, \\ 862, \\ 879, \\ 883, \\ 890, \\ 905, \\ 909, \\ 927, \\ 931, \\ 932, \\ 934, \\ 936, \\ 953, \\ 957, \\ 958, \\ 961, \\ 963, \\ 965, \\ 967, \\ 969, \\ 971, \\ 973, \\ 975, \\ 977, \\ 979, \\ 981, \\ 983, \\ 985, \\ 987, \\ 989, \\ 991, \\ 993, \\ 995, \\ 997, \\ 999, \\ 1001, \\ 1003, \\ 1005, \\ 1007, \\ 1023, \\ 1027, \\ 1034, \\ 1049, \\ 1050, \\ 1053, \\ 1057, \\ 1059, \\ 1061, \\ 1063, \\ 1065, \\ 1067, \\ 1069, \\ 1071, \\ 1073, \\ 1075, \\ 1077, \\ 1079, \\ 1081, \\ 1083, \\ 1085, \\ 1087, \\ 1089, \\ 1091, \\ 1093, \\ 1095, \\ 1097, \\ 1099, \\ 1101, \\ 1103, \\ 1112, \\ 1116, \\ 1119, \\ 1123, \\ 1138, \\ 1142, \\ 1145, \\ 1149\\right]$" - ], - "text/plain": [ - "[2, 4, 10, 15, 16, 19, 41, 45, 48, 63, 67, 89, 93, 96, 111, 115, 124, 137, 141\n", - ", 159, 163, 185, 189, 207, 211, 212, 214, 216, 233, 237, 238, 240, 250, 255, 2\n", - "59, 281, 285, 303, 307, 308, 310, 312, 329, 333, 334, 337, 339, 341, 343, 345,\n", - " 347, 349, 351, 353, 355, 357, 359, 361, 363, 364, 365, 367, 368, 369, 371, 37\n", - "3, 375, 377, 379, 381, 383, 384, 399, 403, 425, 429, 433, 435, 437, 439, 441, \n", - "443, 445, 447, 449, 451, 453, 455, 457, 459, 461, 463, 465, 467, 469, 471, 473\n", - ", 475, 477, 479, 488, 492, 495, 499, 514, 518, 521, 525, 536, 540, 543, 547, 5\n", - "62, 566, 569, 573, 584, 588, 591, 595, 610, 614, 617, 621, 639, 643, 652, 660,\n", - " 665, 666, 669, 676, 686, 687, 691, 698, 713, 717, 735, 739, 761, 765, 782, 78\n", - "3, 787, 809, 813, 831, 835, 836, 838, 840, 857, 861, 862, 879, 883, 890, 905, \n", - "909, 927, 931, 932, 934, 936, 953, 957, 958, 961, 963, 965, 967, 969, 971, 973\n", - ", 975, 977, 979, 981, 983, 985, 987, 989, 991, 993, 995, 997, 999, 1001, 1003,\n", - " 1005, 1007, 1023, 1027, 1034, 1049, 1050, 1053, 1057, 1059, 1061, 1063, 1065,\n", - " 1067, 1069, 1071, 1073, 1075, 1077, 1079, 1081, 1083, 1085, 1087, 1089, 1091,\n", - " 1093, 1095, 1097, 1099, 1101, 1103, 1112, 1116, 1119, 1123, 1138, 1142, 1145,\n", - " 1149]" - ] - }, - "execution_count": 56, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "indices[tuple(((tuple(r) for r in resulting_matrices_np[1])))]" - ] - }, - { - "cell_type": "code", - "execution_count": 55, - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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\n", - "text/latex": [ - "$\\displaystyle \\left[\\begin{matrix}\\frac{1}{2} & \\frac{1}{2} & \\frac{1}{2} & \\frac{1}{2}\\\\\\frac{1}{2} & - \\frac{1}{2} & \\frac{1}{2} & - \\frac{1}{2}\\\\\\frac{1}{2} & \\frac{1}{2} & - \\frac{1}{2} & - \\frac{1}{2}\\\\- \\frac{1}{2} & \\frac{1}{2} & \\frac{1}{2} & - \\frac{1}{2}\\end{matrix}\\right]$" - ], - "text/plain": [ - "⎡1/2 1/2 1/2 1/2 ⎤\n", - "⎢ ⎥\n", - "⎢1/2 -1/2 1/2 -1/2⎥\n", - "⎢ ⎥\n", - "⎢1/2 1/2 -1/2 -1/2⎥\n", - "⎢ ⎥\n", - "⎣-1/2 1/2 1/2 -1/2⎦" - ] - }, - "execution_count": 55, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "resulting_matrices[0]" - ] - }, - { - "cell_type": "code", - "execution_count": 60, - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAGAAAAAVCAYAAAC5d+tKAAAACXBIWXMAAA7EAAAOxAGVKw4bAAADDElEQVRYCe2ZjVHjMBCFzxkKyNx1YDqAowPoAEIHXAdQAyVwLXAdhBZCB6EDfjrIvU+RzFqW73IeyzfKZGc2lp5+vHqydtdOtdlsvlipqqoW9mKxQ3kcBlLczuzU6nCr+onFDuVRGag9x82kzQao4VLoNz39v5pWFdg16YPXla5L6V83iT6MsXONVda8Rdokbp/gQPbD9Va8C5qrtqJsVVgtfYywe2H4rXOLx2W1r+OxcZ8hdc1ZvE1aw0o6Z/2OcFV4Um9iQoQ9ho62Tdg7ajFbVhuuLNcGFG+TuLmRPsBZcEELVX4KjOVcwLuODCfECkdpjiuwIGVhuKcPr0BjS/E2ea4X8DrTDwvqy3og+kUDIDQl8cbQ57pnM1Pjh2D7YhOcL470cyV1wSFmQ0TSlhIXhNX+bBu1mbieLIE33GcfbPJrgfMLXNB3Kf56J/EuBtdzZwcIB/sQQX2nyXYftVySTWbhcO5cOIVLEdfKgPrq6kt/F0BsH2H3UZ1I38qgbPuY5ZJsCuuWzaSia07AV2mfj1fTp+hJw708aZIfn6gLvC6qW2yqckk2RZzgKWo2YCfRQiGZUxKTzzEip/0frqcYmxIkuwefIAxxqWymGSPyOS7Hlnxhzn8J53qmOvm5FQI1b6zgZFKtmGE7DimXZlPiAYXzN9a+lN6qQzIGqA0iW/6dvoyRure51Fi18bLWiQF/GpOaJ4VpjuJt0ho4vctKP3xa4AtoJ+X0TzkbFKepHJ8TjTnWNSkayy4RLy5CB2HsOhvzLPw04P9y3RebtA7iqcs+eRFbi5DOCRBOJgORKe18O2IOCRPbca0TpjZuivaenpQtAYvmju0qySY4qB3pnhCe6M4m5MB0P2LKoA3IYQ9zTmmT7kXcdA/9jDtLcEOt7Mah+X7OtOidUt98JnRmntImEhI4336MExl8iCNjCZkNbVnEx4HXLJMPnHRKmzzHxNztx0+OHyohQC5DPddV9+h89s51r13nndImOJY27rfCyCB+d/ijJfVpOnQ7XAcyIH5JPckMm5fW3+gnifLF8ptzAAAAAElFTkSuQmCC\n", - "text/latex": [ - "$\\displaystyle \\left( 24, \\ 24, \\ 2\\right)$" - ], - "text/plain": [ - "(24, 24, 2)" - ] - }, - "execution_count": 60, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "from collections import deque\n", - "lookup_edge_c0_c1_to_number = []\n", - "r = []\n", - "c = []\n", - "\n", - "i = 0\n", - "\n", - "for _ in C_L_0:\n", - " r = []\n", - " for _ in C_L_1:\n", - " c = []\n", - " for _ in (I_4, CZ):\n", - " c.append(i)\n", - " i += 1 \n", - " r.append(c)\n", - " lookup_edge_c0_c1_to_number.append(r)\n", - " \n", - "lookup_edge_c0_c1_to_number = np.array(lookup_edge_c0_c1_to_number, dtype=np.int)\n", - "lookup_edge_c0_c1_to_number.shape" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "indices_contracted = {k: contract_indices(v) for k,v in indices.items()}" - ] - }, - { - "cell_type": "code", - "execution_count": 64, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "{\n", - " , { {0, 1}, {2, 3}, {4, 5}, {6, 7}, {8, 9}, {10, 11}, {12, 13}, {14, 15}, {16, 17}, {18, 19}, {20, 21}, {22, 23}, {24, 25}, {26, 27}, {28, 29}, {30, 31}, {32, 33}, {34, 35}, {36, 37}, {38, 39}, {40, 41}, {42, 43}, {44, 45}, {46, 47} }\n", - " , { {48, 49}, {50, 51}, {52, 53}, {54, 55}, {56, 57}, {58, 59}, {60, 61}, {62, 63}, {64, 65}, {66, 67}, {68, 69}, {70, 71}, {72, 73}, {74, 75}, {76, 77}, {78, 79}, {80, 81}, {82, 83}, {84, 85}, {86, 87}, {88, 89}, {90, 91}, {92, 93}, {94, 95} }\n", - " , { {96, 97}, {98, 99}, {100, 101}, {102, 103}, {104, 105}, {106, 107}, {108, 109}, {110, 111}, {112, 113}, {114, 115}, {116, 117}, {118, 119}, {120, 121}, {122, 123}, {124, 125}, {126, 127}, {128, 129}, {130, 131}, {132, 133}, {134, 135}, {136, 137}, {138, 139}, {140, 141}, {142, 143} }\n", - " , { {144, 145}, {146, 147}, {148, 149}, {150, 151}, {152, 153}, {154, 155}, {156, 157}, {158, 159}, {160, 161}, {162, 163}, {164, 165}, {166, 167}, {168, 169}, {170, 171}, {172, 173}, {174, 175}, {176, 177}, {178, 179}, {180, 181}, {182, 183}, {184, 185}, {186, 187}, {188, 189}, {190, 191} }\n", - " , { {192, 193}, {194, 195}, {196, 197}, {198, 199}, {200, 201}, {202, 203}, {204, 205}, {206, 207}, {208, 209}, {210, 211}, {212, 213}, {214, 215}, {216, 217}, {218, 219}, {220, 221}, {222, 223}, {224, 225}, {226, 227}, {228, 229}, {230, 231}, {232, 233}, {234, 235}, {236, 237}, {238, 239} }\n", - " , { {240, 241}, {242, 243}, {244, 245}, {246, 247}, {248, 249}, {250, 251}, {252, 253}, {254, 255}, {256, 257}, {258, 259}, {260, 261}, {262, 263}, {264, 265}, {266, 267}, {268, 269}, {270, 271}, {272, 273}, {274, 275}, {276, 277}, {278, 279}, {280, 281}, {282, 283}, {284, 285}, {286, 287} }\n", - " , { {288, 289}, {290, 291}, {292, 293}, {294, 295}, {296, 297}, {298, 299}, {300, 301}, {302, 303}, {304, 305}, {306, 307}, {308, 309}, {310, 311}, {312, 313}, {314, 315}, {316, 317}, {318, 319}, {320, 321}, {322, 323}, {324, 325}, {326, 327}, {328, 329}, {330, 331}, {332, 333}, {334, 335} }\n", - " , { {336, 337}, {338, 339}, {340, 341}, {342, 343}, {344, 345}, {346, 347}, {348, 349}, {350, 351}, {352, 353}, {354, 355}, {356, 357}, {358, 359}, {360, 361}, {362, 363}, {364, 365}, {366, 367}, {368, 369}, {370, 371}, {372, 373}, {374, 375}, {376, 377}, {378, 379}, {380, 381}, {382, 383} }\n", - " , { {384, 385}, {386, 387}, {388, 389}, {390, 391}, {392, 393}, {394, 395}, {396, 397}, {398, 399}, {400, 401}, {402, 403}, {404, 405}, {406, 407}, {408, 409}, {410, 411}, {412, 413}, {414, 415}, {416, 417}, {418, 419}, {420, 421}, {422, 423}, {424, 425}, {426, 427}, {428, 429}, {430, 431} }\n", - " , { {432, 433}, {434, 435}, {436, 437}, {438, 439}, {440, 441}, {442, 443}, {444, 445}, {446, 447}, {448, 449}, {450, 451}, {452, 453}, {454, 455}, {456, 457}, {458, 459}, {460, 461}, {462, 463}, {464, 465}, {466, 467}, {468, 469}, {470, 471}, {472, 473}, {474, 475}, {476, 477}, {478, 479} }\n", - " , { {480, 481}, {482, 483}, {484, 485}, {486, 487}, {488, 489}, {490, 491}, {492, 493}, {494, 495}, {496, 497}, {498, 499}, {500, 501}, {502, 503}, {504, 505}, {506, 507}, {508, 509}, {510, 511}, {512, 513}, {514, 515}, {516, 517}, {518, 519}, {520, 521}, {522, 523}, {524, 525}, {526, 527} }\n", - " , { {528, 529}, {530, 531}, {532, 533}, {534, 535}, {536, 537}, {538, 539}, {540, 541}, {542, 543}, {544, 545}, {546, 547}, {548, 549}, {550, 551}, {552, 553}, {554, 555}, {556, 557}, {558, 559}, {560, 561}, {562, 563}, {564, 565}, {566, 567}, {568, 569}, {570, 571}, {572, 573}, {574, 575} }\n", - " , { {576, 577}, {578, 579}, {580, 581}, {582, 583}, {584, 585}, {586, 587}, {588, 589}, {590, 591}, {592, 593}, {594, 595}, {596, 597}, {598, 599}, {600, 601}, {602, 603}, {604, 605}, {606, 607}, {608, 609}, {610, 611}, {612, 613}, {614, 615}, {616, 617}, {618, 619}, {620, 621}, {622, 623} }\n", - " , { {624, 625}, {626, 627}, {628, 629}, {630, 631}, {632, 633}, {634, 635}, {636, 637}, {638, 639}, {640, 641}, {642, 643}, {644, 645}, {646, 647}, {648, 649}, {650, 651}, {652, 653}, {654, 655}, {656, 657}, {658, 659}, {660, 661}, {662, 663}, {664, 665}, {666, 667}, {668, 669}, {670, 671} }\n", - " , { {672, 673}, {674, 675}, {676, 677}, {678, 679}, {680, 681}, {682, 683}, {684, 685}, {686, 687}, {688, 689}, {690, 691}, {692, 693}, {694, 695}, {696, 697}, {698, 699}, {700, 701}, {702, 703}, {704, 705}, {706, 707}, {708, 709}, {710, 711}, {712, 713}, {714, 715}, {716, 717}, {718, 719} }\n", - " , { {720, 721}, {722, 723}, {724, 725}, {726, 727}, {728, 729}, {730, 731}, {732, 733}, {734, 735}, {736, 737}, {738, 739}, {740, 741}, {742, 743}, {744, 745}, {746, 747}, {748, 749}, {750, 751}, {752, 753}, {754, 755}, {756, 757}, {758, 759}, {760, 761}, {762, 763}, {764, 765}, {766, 767} }\n", - " , { {768, 769}, {770, 771}, {772, 773}, {774, 775}, {776, 777}, {778, 779}, {780, 781}, {782, 783}, {784, 785}, {786, 787}, {788, 789}, {790, 791}, {792, 793}, {794, 795}, {796, 797}, {798, 799}, {800, 801}, {802, 803}, {804, 805}, {806, 807}, {808, 809}, {810, 811}, {812, 813}, {814, 815} }\n", - " , { {816, 817}, {818, 819}, {820, 821}, {822, 823}, {824, 825}, {826, 827}, {828, 829}, {830, 831}, {832, 833}, {834, 835}, {836, 837}, {838, 839}, {840, 841}, {842, 843}, {844, 845}, {846, 847}, {848, 849}, {850, 851}, {852, 853}, {854, 855}, {856, 857}, {858, 859}, {860, 861}, {862, 863} }\n", - " , { {864, 865}, {866, 867}, {868, 869}, {870, 871}, {872, 873}, {874, 875}, {876, 877}, {878, 879}, {880, 881}, {882, 883}, {884, 885}, {886, 887}, {888, 889}, {890, 891}, {892, 893}, {894, 895}, {896, 897}, {898, 899}, {900, 901}, {902, 903}, {904, 905}, {906, 907}, {908, 909}, {910, 911} }\n", - " , { {912, 913}, {914, 915}, {916, 917}, {918, 919}, {920, 921}, {922, 923}, {924, 925}, {926, 927}, {928, 929}, {930, 931}, {932, 933}, {934, 935}, {936, 937}, {938, 939}, {940, 941}, {942, 943}, {944, 945}, {946, 947}, {948, 949}, {950, 951}, {952, 953}, {954, 955}, {956, 957}, {958, 959} }\n", - " , { {960, 961}, {962, 963}, {964, 965}, {966, 967}, {968, 969}, {970, 971}, {972, 973}, {974, 975}, {976, 977}, {978, 979}, {980, 981}, {982, 983}, {984, 985}, {986, 987}, {988, 989}, {990, 991}, {992, 993}, {994, 995}, {996, 997}, {998, 999}, {1000, 1001}, {1002, 1003}, {1004, 1005}, {1006, 1007} }\n", - " , { {1008, 1009}, {1010, 1011}, {1012, 1013}, {1014, 1015}, {1016, 1017}, {1018, 1019}, {1020, 1021}, {1022, 1023}, {1024, 1025}, {1026, 1027}, {1028, 1029}, {1030, 1031}, {1032, 1033}, {1034, 1035}, {1036, 1037}, {1038, 1039}, {1040, 1041}, {1042, 1043}, {1044, 1045}, {1046, 1047}, {1048, 1049}, {1050, 1051}, {1052, 1053}, {1054, 1055} }\n", - " , { {1056, 1057}, {1058, 1059}, {1060, 1061}, {1062, 1063}, {1064, 1065}, {1066, 1067}, {1068, 1069}, {1070, 1071}, {1072, 1073}, {1074, 1075}, {1076, 1077}, {1078, 1079}, {1080, 1081}, {1082, 1083}, {1084, 1085}, {1086, 1087}, {1088, 1089}, {1090, 1091}, {1092, 1093}, {1094, 1095}, {1096, 1097}, {1098, 1099}, {1100, 1101}, {1102, 1103} }\n", - " , { {1104, 1105}, {1106, 1107}, {1108, 1109}, {1110, 1111}, {1112, 1113}, {1114, 1115}, {1116, 1117}, {1118, 1119}, {1120, 1121}, {1122, 1123}, {1124, 1125}, {1126, 1127}, {1128, 1129}, {1130, 1131}, {1132, 1133}, {1134, 1135}, {1136, 1137}, {1138, 1139}, {1140, 1141}, {1142, 1143}, {1144, 1145}, {1146, 1147}, {1148, 1149}, {1150, 1151} }\n", - "}\n" - ] - } - ], - "source": [ - "print(\"{\")\n", - "for r in lookup_edge_c0_c1_to_number:\n", - " print(\" , {\", \", \".join((\"{%d, %d}\" % (c[0], c[1]) for c in r)), \"}\")\n", - "print(\"}\") " - ] - }, - { - "cell_type": "code", - "execution_count": 68, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "array([ 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108,\n", - " 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121,\n", - " 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134,\n", - " 135, 136, 137, 138, 139, 140, 141, 142, 143])" - ] - }, - "execution_count": 68, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "I0_indices = lookup_edge_c0_c1_to_number[2, :, :].reshape(2*24)\n", - "I0_indices" - ] - }, - { - "cell_type": "code", - "execution_count": 69, - "metadata": { - "scrolled": true - }, - "outputs": [ - { - "data": { - "text/plain": [ - "array([ 4, 5, 52, 53, 100, 101, 148, 149, 196, 197, 244,\n", - " 245, 292, 293, 340, 341, 388, 389, 436, 437, 484, 485,\n", - " 532, 533, 580, 581, 628, 629, 676, 677, 724, 725, 772,\n", - " 773, 820, 821, 868, 869, 916, 917, 964, 965, 1012, 1013,\n", - " 1060, 1061, 1108, 1109])" - ] - }, - "execution_count": 69, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "I1_indices = lookup_edge_c0_c1_to_number[:, 2, :].reshape(2*24)\n", - "I1_indices" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - } - ], - "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.7.3" - } - }, - "nbformat": 4, - "nbformat_minor": 2 -} diff --git a/computations/lookup_table_2_qbits_CZ_matrices.ipynb b/computations/lookup_table_2_qbits_CZ_matrices.ipynb new file mode 100644 index 0000000..9c9961a --- /dev/null +++ b/computations/lookup_table_2_qbits_CZ_matrices.ipynb @@ -0,0 +1,877 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 14, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/latex": [ + "$\\displaystyle \\left[ \\left[\\begin{matrix}\\frac{\\sqrt{2}}{2} & \\frac{\\sqrt{2}}{2}\\\\\\frac{\\sqrt{2}}{2} & - \\frac{\\sqrt{2}}{2}\\end{matrix}\\right], \\ \\left[\\begin{matrix}1 & 0\\\\0 & i\\end{matrix}\\right], \\ \\left[\\begin{matrix}1 & 0\\\\0 & 1\\end{matrix}\\right], \\ \\left[\\begin{matrix}\\frac{\\sqrt{2}}{2} & \\frac{\\sqrt{2}}{2}\\\\\\frac{\\sqrt{2} i}{2} & - \\frac{\\sqrt{2} i}{2}\\end{matrix}\\right], \\ \\left[\\begin{matrix}\\frac{\\sqrt{2}}{2} & \\frac{\\sqrt{2} i}{2}\\\\\\frac{\\sqrt{2}}{2} & - \\frac{\\sqrt{2} i}{2}\\end{matrix}\\right], \\ \\left[\\begin{matrix}1 & 0\\\\0 & -1\\end{matrix}\\right], \\ \\left[\\begin{matrix}\\frac{\\sqrt{2}}{2} & \\frac{\\sqrt{2} i}{2}\\\\\\frac{\\sqrt{2} i}{2} & \\frac{\\sqrt{2}}{2}\\end{matrix}\\right], \\ \\left[\\begin{matrix}\\frac{\\sqrt{2}}{2} & - \\frac{\\sqrt{2}}{2}\\\\\\frac{\\sqrt{2}}{2} & \\frac{\\sqrt{2}}{2}\\end{matrix}\\right], \\ \\left[\\begin{matrix}1 & 0\\\\0 & - i\\end{matrix}\\right], \\ \\left[\\begin{matrix}\\frac{\\sqrt{2}}{2} & - \\frac{\\sqrt{2}}{2}\\\\\\frac{\\sqrt{2} i}{2} & \\frac{\\sqrt{2} i}{2}\\end{matrix}\\right], \\ \\left[\\begin{matrix}\\frac{\\sqrt{2}}{2} & - \\frac{\\sqrt{2} i}{2}\\\\\\frac{\\sqrt{2}}{2} & \\frac{\\sqrt{2} i}{2}\\end{matrix}\\right], \\ \\left[\\begin{matrix}\\frac{\\sqrt{2}}{2} & - \\frac{\\sqrt{2} i}{2}\\\\\\frac{\\sqrt{2} i}{2} & - \\frac{\\sqrt{2}}{2}\\end{matrix}\\right], \\ \\left[\\begin{matrix}\\frac{1}{2} + \\frac{i}{2} & \\frac{1}{2} - \\frac{i}{2}\\\\\\frac{1}{2} - \\frac{i}{2} & \\frac{1}{2} + \\frac{i}{2}\\end{matrix}\\right], \\ \\left[\\begin{matrix}\\frac{\\sqrt{2}}{2} & \\frac{\\sqrt{2}}{2}\\\\- \\frac{\\sqrt{2}}{2} & \\frac{\\sqrt{2}}{2}\\end{matrix}\\right], \\ \\left[\\begin{matrix}0 & 1\\\\1 & 0\\end{matrix}\\right], \\ \\left[\\begin{matrix}\\frac{\\sqrt{2}}{2} & \\frac{\\sqrt{2}}{2}\\\\- \\frac{\\sqrt{2} i}{2} & \\frac{\\sqrt{2} i}{2}\\end{matrix}\\right], \\ \\left[\\begin{matrix}0 & 1\\\\i & 0\\end{matrix}\\right], \\ \\left[\\begin{matrix}\\frac{1}{2} - \\frac{i}{2} & \\frac{1}{2} + \\frac{i}{2}\\\\- \\frac{1}{2} + \\frac{i}{2} & \\frac{1}{2} + \\frac{i}{2}\\end{matrix}\\right], \\ \\left[\\begin{matrix}0 & i\\\\1 & 0\\end{matrix}\\right], \\ \\left[\\begin{matrix}\\frac{\\sqrt{2}}{2} & \\frac{\\sqrt{2} i}{2}\\\\- \\frac{\\sqrt{2} i}{2} & - \\frac{\\sqrt{2}}{2}\\end{matrix}\\right], \\ \\left[\\begin{matrix}\\frac{1}{2} - \\frac{i}{2} & - \\frac{1}{2} + \\frac{i}{2}\\\\- \\frac{1}{2} + \\frac{i}{2} & - \\frac{1}{2} + \\frac{i}{2}\\end{matrix}\\right], \\ \\left[\\begin{matrix}0 & -1\\\\1 & 0\\end{matrix}\\right], \\ \\left[\\begin{matrix}\\frac{\\sqrt{2}}{2} & - \\frac{\\sqrt{2}}{2}\\\\- \\frac{\\sqrt{2} i}{2} & - \\frac{\\sqrt{2} i}{2}\\end{matrix}\\right], \\ \\left[\\begin{matrix}\\frac{1}{2} - \\frac{i}{2} & \\frac{i \\left(-1 + i\\right)}{2}\\\\- \\frac{1}{2} + \\frac{i}{2} & \\frac{i \\left(-1 + i\\right)}{2}\\end{matrix}\\right]\\right]$" + ], + "text/plain": [ + "⎡⎡√2 √2 ⎤ ⎡ √2 √2 ⎤ ⎡√2 √2⋅ⅈ ⎤ ⎡ √2 √2⋅\n", + "⎢⎢── ── ⎥ ⎢ ── ── ⎥ ⎢── ──── ⎥ ⎢ ── ───\n", + "⎢⎢2 2 ⎥ ⎡1 0⎤ ⎡1 0⎤ ⎢ 2 2 ⎥ ⎢2 2 ⎥ ⎡1 0 ⎤ ⎢ 2 2 \n", + "⎢⎢ ⎥, ⎢ ⎥, ⎢ ⎥, ⎢ ⎥, ⎢ ⎥, ⎢ ⎥, ⎢ \n", + "⎢⎢√2 -√2 ⎥ ⎣0 ⅈ⎦ ⎣0 1⎦ ⎢√2⋅ⅈ -√2⋅ⅈ ⎥ ⎢√2 -√2⋅ⅈ ⎥ ⎣0 -1⎦ ⎢√2⋅ⅈ √2\n", + "⎢⎢── ────⎥ ⎢──── ──────⎥ ⎢── ──────⎥ ⎢──── ──\n", + "⎣⎣2 2 ⎦ ⎣ 2 2 ⎦ ⎣2 2 ⎦ ⎣ 2 2 \n", + "\n", + "ⅈ⎤ ⎡√2 -√2 ⎤ ⎡ √2 -√2 ⎤ ⎡√2 -√2⋅ⅈ ⎤ ⎡ √2 -√2⋅ⅈ ⎤ ⎡1 ⅈ 1\n", + "─⎥ ⎢── ────⎥ ⎢ ── ────⎥ ⎢── ──────⎥ ⎢ ── ──────⎥ ⎢─ + ─ ─\n", + " ⎥ ⎢2 2 ⎥ ⎡1 0 ⎤ ⎢ 2 2 ⎥ ⎢2 2 ⎥ ⎢ 2 2 ⎥ ⎢2 2 2\n", + " ⎥, ⎢ ⎥, ⎢ ⎥, ⎢ ⎥, ⎢ ⎥, ⎢ ⎥, ⎢ \n", + " ⎥ ⎢√2 √2 ⎥ ⎣0 -ⅈ⎦ ⎢√2⋅ⅈ √2⋅ⅈ⎥ ⎢√2 √2⋅ⅈ ⎥ ⎢√2⋅ⅈ -√2 ⎥ ⎢1 ⅈ 1\n", + " ⎥ ⎢── ── ⎥ ⎢──── ────⎥ ⎢── ──── ⎥ ⎢──── ──── ⎥ ⎢─ - ─ ─\n", + " ⎦ ⎣2 2 ⎦ ⎣ 2 2 ⎦ ⎣2 2 ⎦ ⎣ 2 2 ⎦ ⎣2 2 2\n", + "\n", + " ⅈ⎤ ⎡ √2 √2⎤ ⎡ √2 √2 ⎤ ⎡ 1 ⅈ 1 ⅈ⎤ ⎡\n", + " - ─⎥ ⎢ ── ──⎥ ⎢ ── ── ⎥ ⎢ ─ - ─ ─ + ─⎥ ⎢\n", + " 2⎥ ⎢ 2 2 ⎥ ⎡0 1⎤ ⎢ 2 2 ⎥ ⎡0 1⎤ ⎢ 2 2 2 2⎥ ⎡0 ⅈ⎤ ⎢\n", + " ⎥, ⎢ ⎥, ⎢ ⎥, ⎢ ⎥, ⎢ ⎥, ⎢ ⎥, ⎢ ⎥, ⎢\n", + " ⅈ⎥ ⎢-√2 √2⎥ ⎣1 0⎦ ⎢-√2⋅ⅈ √2⋅ⅈ⎥ ⎣ⅈ 0⎦ ⎢ 1 ⅈ 1 ⅈ⎥ ⎣1 0⎦ ⎢\n", + " + ─⎥ ⎢──── ──⎥ ⎢────── ────⎥ ⎢- ─ + ─ ─ + ─⎥ ⎢\n", + " 2⎦ ⎣ 2 2 ⎦ ⎣ 2 2 ⎦ ⎣ 2 2 2 2⎦ ⎣\n", + "\n", + " √2 √2⋅ⅈ⎤ ⎡ 1 ⅈ 1 ⅈ⎤ ⎡ √2 -√2 ⎤ ⎡ 1 ⅈ ⅈ⋅(-1 \n", + " ── ────⎥ ⎢ ─ - ─ - ─ + ─⎥ ⎢ ── ──── ⎥ ⎢ ─ - ─ ──────\n", + " 2 2 ⎥ ⎢ 2 2 2 2⎥ ⎡0 -1⎤ ⎢ 2 2 ⎥ ⎢ 2 2 2 \n", + " ⎥, ⎢ ⎥, ⎢ ⎥, ⎢ ⎥, ⎢ \n", + "-√2⋅ⅈ -√2 ⎥ ⎢ 1 ⅈ 1 ⅈ⎥ ⎣1 0 ⎦ ⎢-√2⋅ⅈ -√2⋅ⅈ ⎥ ⎢ 1 ⅈ ⅈ⋅(-1 \n", + "────── ────⎥ ⎢- ─ + ─ - ─ + ─⎥ ⎢────── ──────⎥ ⎢- ─ + ─ ──────\n", + " 2 2 ⎦ ⎣ 2 2 2 2⎦ ⎣ 2 2 ⎦ ⎣ 2 2 2 \n", + "\n", + "+ ⅈ)⎤⎤\n", + "────⎥⎥\n", + " ⎥⎥\n", + " ⎥⎥\n", + "+ ⅈ)⎥⎥\n", + "────⎥⎥\n", + " ⎦⎦" + ] + }, + "execution_count": 14, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "import sympy\n", + "import numpy as np\n", + "\n", + "from collections import defaultdict\n", + "from itertools import product\n", + "\n", + "M = sympy.Matrix\n", + "simplify = sympy.simplify\n", + "sqrt = sympy.sqrt\n", + "i = sympy.I\n", + "_i = i\n", + "\n", + "from sympy.physics.quantum import Dagger\n", + "from sympy.physics.quantum import tensorproduct\n", + "\n", + "sympy.init_printing()\n", + "H = simplify(M([[1, 1], [1, -1]]) / sqrt(2))\n", + "S = M([[1, 0], [0, i]])\n", + "C_L = [H, S]\n", + "basis_vectors = [M([1, 0]), M([0, 1])]\n", + "\n", + "def getitem(m, i, j):\n", + " # Note that sympy uses an extremely weird way to store the matrices,\n", + " # in particular the internal representation is vastly different from what\n", + " # is printed. For instance the H matrix is stored as a Mul object\n", + " # (even after using simplify) instead of a matrix. \n", + " # Therefore m[i][j] will NOT work. This is a workaround.\n", + " return (Dagger(basis_vectors[i]) * m * basis_vectors[j])[0]\n", + "\n", + "def is_known(C_L, a):\n", + " for c in C_L:\n", + " test = c * Dagger(a)\n", + " if(simplify(getitem(test, 0, 1)) != 0):\n", + " continue\n", + " if(simplify(getitem(test, 0, 0) / getitem(test, 1, 1)) == 1):\n", + " return True\n", + " return False\n", + "for i in range(5):\n", + " for m in (H, S):\n", + " for c in C_L:\n", + " c = simplify(c*m)\n", + " if(is_known(C_L, c)):\n", + " continue\n", + " C_L.append(c)\n", + "C_L" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/latex": [ + "$\\displaystyle \\left[\\begin{matrix}\\frac{1}{2} & \\frac{1}{2} & \\frac{1}{2} & \\frac{1}{2}\\\\\\frac{1}{2} & - \\frac{1}{2} & \\frac{1}{2} & - \\frac{1}{2}\\\\\\frac{1}{2} & \\frac{1}{2} & - \\frac{1}{2} & - \\frac{1}{2}\\\\\\frac{1}{2} & - \\frac{1}{2} & - \\frac{1}{2} & \\frac{1}{2}\\end{matrix}\\right]$" + ], + "text/plain": [ + "⎡1/2 1/2 1/2 1/2 ⎤\n", + "⎢ ⎥\n", + "⎢1/2 -1/2 1/2 -1/2⎥\n", + "⎢ ⎥\n", + "⎢1/2 1/2 -1/2 -1/2⎥\n", + "⎢ ⎥\n", + "⎣1/2 -1/2 -1/2 1/2 ⎦" + ] + }, + "execution_count": 2, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "H2 = tensorproduct.matrix_tensor_product(H, H)\n", + "H2" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [], + "source": [ + "zero_state = M([1, 0, 0, 0])" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAB0AAABlCAYAAACx4uijAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAC/klEQVRoBe1ay03DQBB1EGeUEwWYDkgJhA4QHRBKQFSAQgdJAVxSApRAKAApKYADIArAvOfsrhxn7czYgIOYkSb78ey89dvfZJMky7JEo0mS9KEj6FzTrmi71+v1jqFZhc7gPAhtUSAggalRgd2iwl/GBvuFVrfILwplZpfFMnr7hPITHJ4V6yP5caTuFHV5uyLoBE7XQCINRVXwMy0boqOsykH3yg9/o2ygP8pyJ/QWZ+/Wt8MMTGF0CR1CU5QnSBeYrVxuYlGBuiV1JfZeYdgJvZ2AiunF+OX7ZgVjeTXoz7edOhs+E4NKHW4D5PPdppc9BMU8zq6Zh3D5UC7AwvsqK/sU0+vcjQHAdZqLW6dzFI5clSjR0jsC0LDgmecmNwke7mLRgvItH8XeKwxV9ILa8uHMTixRz4hCLNo3DY4dpYwEBqFSmGkECsAU/jmeA+3MZb9U9LKBBwQYAy2WOYneURbHV6o3dYA8zm4I5gA5rq9QsWjflGuSGwTTIHjLsHZDZU1GC3oCX0Pn7xJgqk3B90MFChBpsO39R1PVmEY9NKg00AakyZv8H3pVS8btSNwIuFYt2N46ozqZSBxTnhB30M+6LmI82wbbzw4nh+F5SIcp9lbV9Y7GHv55K4MmmQXbICIuFmzHeamoVW2DmHkWbFcQGa9W0UsX7qThLP57wfaBI8GncU5WtW2C7UPvmPR+uIJP/bNY2ibYfvEOVWOKcbRg2zMnSjuJHAxUNDZNjVRLxoJtLc2dzF7xmH5DsB0IEYNi3xVdlQfPNZndppcdB8V2s80vYWLRjim/+tvN9o/Rmzv2sS8KdrNdS7V4G3Re2gTboSNa0DbBdjNQC7YDb8KMdhsUuq03M9B6flo+Va1TC7a1bHcye8VjasG2djxpL6aXxhZsgwELtjkVNqTx5uAotb+RbFBaruDM429tMZ0hAgy/v8Emhd5D2cYr/1bSL9nxz8kxfzDLEt4j8Nv1OTQm/K/Rg3+AcXxDnvZrApu1+wjY8ce8qMB2+gXddflBWpRqZgAAAABJRU5ErkJggg==\n", + "text/latex": [ + "$\\displaystyle \\left[\\begin{matrix}\\frac{1}{2}\\\\\\frac{1}{2}\\\\\\frac{1}{2}\\\\\\frac{1}{2}\\end{matrix}\\right]$" + ], + "text/plain": [ + "⎡1/2⎤\n", + "⎢ ⎥\n", + "⎢1/2⎥\n", + "⎢ ⎥\n", + "⎢1/2⎥\n", + "⎢ ⎥\n", + "⎣1/2⎦" + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "plus_state = H2 * zero_state\n", + "plus_state" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [], + "source": [ + "I = M([[1, 0], [0, 1]])" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [], + "source": [ + "C_L_0 = [tensorproduct.matrix_tensor_product(I, c) for c in C_L]" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [], + "source": [ + "C_L_1 = [tensorproduct.matrix_tensor_product(c, I) for c in C_L]" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/latex": [ + "$\\displaystyle \\left[\\begin{matrix}1 & 0 & 0 & 0\\\\0 & 1 & 0 & 0\\\\0 & 0 & 1 & 0\\\\0 & 0 & 0 & -1\\end{matrix}\\right]$" + ], + "text/plain": [ + "⎡1 0 0 0 ⎤\n", + "⎢ ⎥\n", + "⎢0 1 0 0 ⎥\n", + "⎢ ⎥\n", + "⎢0 0 1 0 ⎥\n", + "⎢ ⎥\n", + "⎣0 0 0 -1⎦" + ] + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "CZ = M([[1, 0, 0, 0], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, -1]])\n", + "CZ" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAC0AAABlCAYAAADZEWqbAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAD30lEQVR4Ae1cXW7UMBjcVDyj0gcOsEgcgB6B7Q2AB95pj4A4ASo3aA/Qlx4BuAHtAZC2B+ABVhyAZSZ8jtxgb7Lx2CjIllz/xPt5Mpn97HxNttlutwtlaprmEPZeIZ/B9rHStrN1gEmeIW8j+doNHFPSFsadIhM486QEO+sInpbhB57VD6ivvTard732ziaYvcWAW0z4YufA4YPngSEn6Gvt+qAvMOleIAOGJV3Acdk3BCLY1YI+6B+cQ7uCLnWVKtOlmPa9R/Kc+IYvYeQMeYW8RPsC5RregO5UlqSgzWW+laGLGKqajhAj75bJA/od3HlBPu2ylnoWMtAqQGNOaJaaljFNhiARbkffGVt0f0xvcBU2f6qav1LQgHQOgPTTbTI/fYPGE+uSFGp5nALoykPGfTEXGd4cyJIaNFn+IkMXMSSVB6TR37zzJO7QzzsaWVIz3QEzSfBOQ35zmwU0AC8Blno+VnsOsiKVBw06wADLG1G2+SXcoC27/5QybYC5HX1PsAaYuv6OLEtqpumTucCw7BJY7nx315lQUYN+Diwrw8MIk3RRcecpBQ2QqmCNwxcspZoOzpChs4LOQGrQZGU6SEuGzlkyLXV5tiJyIaGvrsEaX2WzlMcsQVPT3IFdIf/yL8G+deg5d7Dmq+FckOkj5NfISaxj39EMZcyRkp7iw8SZBjQFQcpn1S6vBmtiVyNJxwGjNVgTIKXtkmoa3qMGa2JMqzXdzmMbpxqs8VmXMm0MFwnWPLSzcKV/UvvWcwZrHjsw9B4/reFKd2xKmTNY880BUru8GqxxzPZL6RexbzxXu4LOxWzfbmW6z0iuttTl1WDNjstUNb2DHOkhmaYLBGu6E5eBZqCms5q5MktNy5gmuZBIDdbEVKaWRw3WxJiWaroGa2I0o1+t6XYq2zjVYI1PvJRpYzh7sIYnwGeM+E+eJb5Ii5QMGz/MFu112beJfi5AfOvoxu8fqttnMGyrffAKBh/BeDThSpCglQ0g+ElJ6vKGEOCkJMEcqaaHQKuOV9AqJofsVKaHGFIdnyXTRV2erZjJT94UBQ0/zSd7k1+TmqU8Zgl6lDygRe4TPiPvs194act26zRgQ/bkzSjQmHyDmZOe7YcNWTDn/5VHe30Ff0xmya9JjZKHAK8zIXlNqrQ8JMGc0qC5Gia/JlVUHvAgkidvSjPttO1e2pn0mtQ/AW0bp8nBnKLyIM0OMKSS9JqUi3t0cQrYdvVrGE+Khfifh90l8kdkzukygzuHvXH8cRSH4V7JcVxauZ/gb8yEEt8l/BQ6MKUPLDOY89f+BXPcW+IxjsGcYMLYy9/xqBy2/jxphQAAAABJRU5ErkJggg==\n", + "text/latex": [ + "$\\displaystyle \\left[\\begin{matrix}\\frac{1}{2}\\\\\\frac{1}{2}\\\\\\frac{1}{2}\\\\- \\frac{1}{2}\\end{matrix}\\right]$" + ], + "text/plain": [ + "⎡1/2 ⎤\n", + "⎢ ⎥\n", + "⎢1/2 ⎥\n", + "⎢ ⎥\n", + "⎢1/2 ⎥\n", + "⎢ ⎥\n", + "⎣-1/2⎦" + ] + }, + "execution_count": 9, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "CZ * plus_state" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/latex": [ + "$\\displaystyle \\left[\\begin{matrix}1 & 0 & 0 & 0\\\\0 & 1 & 0 & 0\\\\0 & 0 & 1 & 0\\\\0 & 0 & 0 & 1\\end{matrix}\\right]$" + ], + "text/plain": [ + "⎡1 0 0 0⎤\n", + "⎢ ⎥\n", + "⎢0 1 0 0⎥\n", + "⎢ ⎥\n", + "⎢0 0 1 0⎥\n", + "⎢ ⎥\n", + "⎣0 0 0 1⎦" + ] + }, + "execution_count": 10, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "I_4 = M([[1, 0, 0, 0], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]])\n", + "I_4" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Compute all possible starting matrices: Two qbits either entangled or unentangled with any of the 24 $C_L$ operators." + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": {}, + "outputs": [], + "source": [ + "starting_matrices = [a * b * c for a, b, c in product(C_L_0, C_L_1, (I_4, CZ))]" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Compute the resulting matrix after a $CZ$ has been applied." + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": {}, + "outputs": [], + "source": [ + "resulting_matrices = [CZ * c for c in starting_matrices]" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAGoAAAAVCAYAAACuVXuDAAAACXBIWXMAAA7EAAAOxAGVKw4bAAADtklEQVRoBe2ZjXEaMRCFjScFMEkHuAMSOsAdJKQDuwOnhqQDu4Q4HWCXQDqADmLTAXmfkDQSJ7jjLGlgxjuzSFrt7Vvt6u+OwWazuQhpMBiMJFuFsvd63QikcnAZuiCFO7XHoSx3XRgN+5INcS431hnbG9lc+CH4RKnjq6SftJr++N6gov6xeCkeBuJGtYPes3Q24oXlpYwsxC+hMfXh7L1ldOfiRpLDZ3LWwQI7p82UrRSOcvCErvrIyZbs1kfwF9RDlgz5oxiHCSb75DDUCZ5v1bO6JAbGFuVPcWRTbVbXY4hj9XhmGspL1YWDb5EPJbAO4aiPmJvYmMSoQSJuDjmifrbFZKLC59r01N86eHTEUfLAEL3CIV6JujAYa/FEteGo/0Z8zxjd1jdT40HCU6GpHHnV0t/dZtkSip5nbEXCWFtWUYa64NiczIjDpX4Iyqnd8kjISo4SsBTtJjCl01f2vdKk7YpDbmYf9PNNbA6vviM79jlNDpa0C/aV6izvv86O6viUInOZCHVTSn1l8ostr8YF4hgccnNNor7UcE4YjkjQbwXbrBYFh4sDt8lryfZOGPWTJHR/iLOT9WMtH4ruLj1wOCunnFEELroaZ49CYFCBICEmSYhtYEhQ20zmgvEg/V88V4BuZbvGOX0sDrkZkqiPYh+4AgHoYpJZzHsTK6ZBkpPEJwXyttGZQSD75naVwdRBEz1xTGxIVDWSo7y08m6wj1jdEdnBsfJKJYnJwatAjS2vD45ZSJxRONgIUBStfA3Ow9Q2izMkw18oaCtJvJlfhUmSzKy6jIHF3kR22VpDMmeilXMDfevZ2BeH3LyQKAJnBh96WajOGZMa8FR40UVCASJQk4Q+yYvOEukyU3tt33oO3AhbbSYJL9dst9ENtC/WsTj4YIlJvLrUD7N4YoWlC/PtLgTRwLmqQj4gkjFxzNcJ1d33PkpkHMY+KZIx43g5PrSlSuVowi7sqRBWA8cDbiufVcypMpuXGrz5nLRbqo/goMgMc9/nkN2Fump31SMJXA5gnqFkRXh8td13RfB2OfVNkissHNkJbXatywb+hPiM3Y9V9SxYbTjOX4s3MsGxjbHrPMdSY2BLfHOiuoy9FpZwmNRmEbH1QXzBLnKrMtbr/HCeretAmbOzBhbnObm5MInSADmc977HoHjKZM+OfzV8rIUlHFYT/7ZvL05uqUvIoTZ37XMq5ffBv2hyjqUWFrkQ+618wCAc2Szyx1x0/XX972WdCCgPfCnh1cC/hP8HWgYo7Ny1PQYAAAAASUVORK5CYII=\n", + "text/latex": [ + "$\\displaystyle \\left( 1152, \\ 4, \\ 4\\right)$" + ], + "text/plain": [ + "(1152, 4, 4)" + ] + }, + "execution_count": 17, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "starting_matrices_np = np.array([np.array(m).astype(np.cdouble) for m in starting_matrices])\n", + "\n", + "starting_matrices_np.shape" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAGoAAAAVCAYAAACuVXuDAAAACXBIWXMAAA7EAAAOxAGVKw4bAAADtklEQVRoBe2ZjXEaMRCFjScFMEkHuAMSOsAdJKQDuwOnhqQDu4Q4HWCXQDqADmLTAXmfkDQSJ7jjLGlgxjuzSFrt7Vvt6u+OwWazuQhpMBiMJFuFsvd63QikcnAZuiCFO7XHoSx3XRgN+5INcS431hnbG9lc+CH4RKnjq6SftJr++N6gov6xeCkeBuJGtYPes3Q24oXlpYwsxC+hMfXh7L1ldOfiRpLDZ3LWwQI7p82UrRSOcvCErvrIyZbs1kfwF9RDlgz5oxiHCSb75DDUCZ5v1bO6JAbGFuVPcWRTbVbXY4hj9XhmGspL1YWDb5EPJbAO4aiPmJvYmMSoQSJuDjmifrbFZKLC59r01N86eHTEUfLAEL3CIV6JujAYa/FEteGo/0Z8zxjd1jdT40HCU6GpHHnV0t/dZtkSip5nbEXCWFtWUYa64NiczIjDpX4Iyqnd8kjISo4SsBTtJjCl01f2vdKk7YpDbmYf9PNNbA6vviM79jlNDpa0C/aV6izvv86O6viUInOZCHVTSn1l8ostr8YF4hgccnNNor7UcE4YjkjQbwXbrBYFh4sDt8lryfZOGPWTJHR/iLOT9WMtH4ruLj1wOCunnFEELroaZ49CYFCBICEmSYhtYEhQ20zmgvEg/V88V4BuZbvGOX0sDrkZkqiPYh+4AgHoYpJZzHsTK6ZBkpPEJwXyttGZQSD75naVwdRBEz1xTGxIVDWSo7y08m6wj1jdEdnBsfJKJYnJwatAjS2vD45ZSJxRONgIUBStfA3Ow9Q2izMkw18oaCtJvJlfhUmSzKy6jIHF3kR22VpDMmeilXMDfevZ2BeH3LyQKAJnBh96WajOGZMa8FR40UVCASJQk4Q+yYvOEukyU3tt33oO3AhbbSYJL9dst9ENtC/WsTj4YIlJvLrUD7N4YoWlC/PtLgTRwLmqQj4gkjFxzNcJ1d33PkpkHMY+KZIx43g5PrSlSuVowi7sqRBWA8cDbiufVcypMpuXGrz5nLRbqo/goMgMc9/nkN2Fump31SMJXA5gnqFkRXh8td13RfB2OfVNkissHNkJbXatywb+hPiM3Y9V9SxYbTjOX4s3MsGxjbHrPMdSY2BLfHOiuoy9FpZwmNRmEbH1QXzBLnKrMtbr/HCeretAmbOzBhbnObm5MInSADmc977HoHjKZM+OfzV8rIUlHFYT/7ZvL05uqUvIoTZ37XMq5ffBv2hyjqUWFrkQ+618wCAc2Szyx1x0/XX972WdCCgPfCnh1cC/hP8HWgYo7Ny1PQYAAAAASUVORK5CYII=\n", + "text/latex": [ + "$\\displaystyle \\left( 1152, \\ 4, \\ 4\\right)$" + ], + "text/plain": [ + "(1152, 4, 4)" + ] + }, + "execution_count": 18, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "resulting_matrices_np = np.array([np.array(m).astype(np.cdouble) for m in resulting_matrices])\n", + "\n", + "resulting_matrices_np.shape" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Invert the resulting matrices to check if they match a starting matrix." + ] + }, + { + "cell_type": "code", + "execution_count": 64, + "metadata": {}, + "outputs": [], + "source": [ + "resulting_matrices_np_invers = np.array([m.transpose().conjugate() for m in resulting_matrices_np])" + ] + }, + { + "cell_type": "code", + "execution_count": 61, + "metadata": {}, + "outputs": [], + "source": [ + "resulting_matrices_np_invers = np.array([m.transpose().conjugate() for m in starting_matrices_np])" + ] + }, + { + "cell_type": "code", + "execution_count": 68, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAB0AAAAOCAYAAADT0Rc6AAAACXBIWXMAAA7EAAAOxAGVKw4bAAABsklEQVQ4EaWUj1FCMQyHeZ4DcLgBbAA6gYyAK+gGeoygG+AKuAFs4MEGsIHABvh9pcHy7w4wd3lN0uTXNMlrtV6va0FVVbWRh3AH+yrssbLfRH7L+j3rQh3fabalBb86Qh/+ge9g9SF+Y9ZEyYA0gCewWdRNpmRsHmjg1o7+Duvf3bMPSl0Z8jK9JJebGF/hU4cadCyZJfZl4CA/y6HHaiw8Ub9BOJe6OC5z6coYS1bPpdfegp8UTtElhwo+J9PVCTBvIo3gLkmM9hK0FbaQWu726GR5S79SBmK2gdnpta2wTbKYHpb6aey/DgXIaU/AZSIJ+G/I3HdAm+FzSXmJOyBv9AnYR7lDWXtZt7+2xeRm2J2L629KqCU79ms4vTt2dJPwxk56/aryEngAHKUL4NBjxe5/7sG9Wz4XUS5dC7CXCMQmoOQL5b98MOHY5vh9sd+4qKcE2ZsHAOIpRE1k+Rb5sFWRRN7eLv5W47NvmoEcnDHy5n/bYDVY2hwYw+TDMMTnMSeRvNBtyQjbvOJTw5CeOIw+4mYzh33EvwMMH8femx6jKX6d2MBXvz5suYO2D/4vzMjHQvKY+PsAAAAASUVORK5CYII=\n", + "text/latex": [ + "$\\displaystyle 128$" + ], + "text/plain": [ + "128" + ] + }, + "execution_count": 68, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "indices = defaultdict(list)\n", + "check_indices_zero = [(1,2), (1,3), (1,4), (2,3), (2,4), (3,4)]\n", + "check_indices_zero += [(k,i) for i,k in check_indices_zero]\n", + "check_indices_zero = [(i - 1, k - 1) for i, k in check_indices_zero]\n", + "\n", + "for rm_np, rm_np_i in zip(resulting_matrices_np, resulting_matrices_np_invers):\n", + " rm_tuple = tuple((tuple(r) for r in rm_np))\n", + " for i, sm_np in enumerate(starting_matrices_np):\n", + " test = sm_np.dot(rm_np_i)\n", + "\n", + " #for check in check_indices_zero:\n", + " # if(not np.allclose(test[check], 0)):\n", + " # continue\n", + " \n", + " diag = np.diagonal(test)\n", + " if(not np.allclose(np.absolute(diag), np.ones(4))):\n", + " continue\n", + " \n", + " phases = np.angle(diag)\n", + " phases = phases - phases[0]\n", + " #if(not np.allclose(phases, np.zeros(4))):\n", + " #print(phases)\n", + " #print(test)\n", + " # continue\n", + "\n", + " if(not (phases[0] == phases[1]\n", + " and phases[2] == phases[3])):\n", + " continue\n", + " \n", + " indices[rm_tuple].append(i)\n", + " \n", + "len(indices.keys())" + ] + }, + { + "cell_type": "code", + "execution_count": 30, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAGAAAAAVCAYAAAC5d+tKAAAACXBIWXMAAA7EAAAOxAGVKw4bAAADDElEQVRYCe2ZjVHjMBCFzxkKyNx1YDqAowPoAEIHXAdQAyVwLXAdhBZCB6EDfjrIvU+RzFqW73IeyzfKZGc2lp5+vHqydtdOtdlsvlipqqoW9mKxQ3kcBlLczuzU6nCr+onFDuVRGag9x82kzQao4VLoNz39v5pWFdg16YPXla5L6V83iT6MsXONVda8Rdokbp/gQPbD9Va8C5qrtqJsVVgtfYywe2H4rXOLx2W1r+OxcZ8hdc1ZvE1aw0o6Z/2OcFV4Um9iQoQ9ho62Tdg7ajFbVhuuLNcGFG+TuLmRPsBZcEELVX4KjOVcwLuODCfECkdpjiuwIGVhuKcPr0BjS/E2ea4X8DrTDwvqy3og+kUDIDQl8cbQ57pnM1Pjh2D7YhOcL470cyV1wSFmQ0TSlhIXhNX+bBu1mbieLIE33GcfbPJrgfMLXNB3Kf56J/EuBtdzZwcIB/sQQX2nyXYftVySTWbhcO5cOIVLEdfKgPrq6kt/F0BsH2H3UZ1I38qgbPuY5ZJsCuuWzaSia07AV2mfj1fTp+hJw708aZIfn6gLvC6qW2yqckk2RZzgKWo2YCfRQiGZUxKTzzEip/0frqcYmxIkuwefIAxxqWymGSPyOS7Hlnxhzn8J53qmOvm5FQI1b6zgZFKtmGE7DimXZlPiAYXzN9a+lN6qQzIGqA0iW/6dvoyRure51Fi18bLWiQF/GpOaJ4VpjuJt0ho4vctKP3xa4AtoJ+X0TzkbFKepHJ8TjTnWNSkayy4RLy5CB2HsOhvzLPw04P9y3RebtA7iqcs+eRFbi5DOCRBOJgORKe18O2IOCRPbca0TpjZuivaenpQtAYvmju0qySY4qB3pnhCe6M4m5MB0P2LKoA3IYQ9zTmmT7kXcdA/9jDtLcEOt7Mah+X7OtOidUt98JnRmntImEhI4336MExl8iCNjCZkNbVnEx4HXLJMPnHRKmzzHxNztx0+OHyohQC5DPddV9+h89s51r13nndImOJY27rfCyCB+d/ijJfVpOnQ7XAcyIH5JPckMm5fW3+gnifLF8ptzAAAAAElFTkSuQmCC\n", + "text/latex": [ + "$\\displaystyle \\left( 24, \\ 24, \\ 2\\right)$" + ], + "text/plain": [ + "(24, 24, 2)" + ] + }, + "execution_count": 30, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "from collections import deque\n", + "lookup_edge_c0_c1_to_number = []\n", + "r = []\n", + "c = []\n", + "\n", + "i = 0\n", + "\n", + "for _ in C_L_0:\n", + " r = []\n", + " for _ in C_L_1:\n", + " c = []\n", + " for _ in (I_4, CZ):\n", + " c.append(i)\n", + " i += 1 \n", + " r.append(c)\n", + " lookup_edge_c0_c1_to_number.append(r)\n", + " \n", + "lookup_edge_c0_c1_to_number = np.array(lookup_edge_c0_c1_to_number, dtype=np.int)\n", + "lookup_edge_c0_c1_to_number.shape" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Produce (almost valid) `C` code to look up the lookup table number from given clifford operator indices and entanglement (0 means no entanglement)." + ] + }, + { + "cell_type": "code", + "execution_count": 31, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "{\n", + " , { {0, 1}, {2, 3}, {4, 5}, {6, 7}, {8, 9}, {10, 11}, {12, 13}, {14, 15}, {16, 17}, {18, 19}, {20, 21}, {22, 23}, {24, 25}, {26, 27}, {28, 29}, {30, 31}, {32, 33}, {34, 35}, {36, 37}, {38, 39}, {40, 41}, {42, 43}, {44, 45}, {46, 47} }\n", + " , { {48, 49}, {50, 51}, {52, 53}, {54, 55}, {56, 57}, {58, 59}, {60, 61}, {62, 63}, {64, 65}, {66, 67}, {68, 69}, {70, 71}, {72, 73}, {74, 75}, {76, 77}, {78, 79}, {80, 81}, {82, 83}, {84, 85}, {86, 87}, {88, 89}, {90, 91}, {92, 93}, {94, 95} }\n", + " , { {96, 97}, {98, 99}, {100, 101}, {102, 103}, {104, 105}, {106, 107}, {108, 109}, {110, 111}, {112, 113}, {114, 115}, {116, 117}, {118, 119}, {120, 121}, {122, 123}, {124, 125}, {126, 127}, {128, 129}, {130, 131}, {132, 133}, {134, 135}, {136, 137}, {138, 139}, {140, 141}, {142, 143} }\n", + " , { {144, 145}, {146, 147}, {148, 149}, {150, 151}, {152, 153}, {154, 155}, {156, 157}, {158, 159}, {160, 161}, {162, 163}, {164, 165}, {166, 167}, {168, 169}, {170, 171}, {172, 173}, {174, 175}, {176, 177}, {178, 179}, {180, 181}, {182, 183}, {184, 185}, {186, 187}, {188, 189}, {190, 191} }\n", + " , { {192, 193}, {194, 195}, {196, 197}, {198, 199}, {200, 201}, {202, 203}, {204, 205}, {206, 207}, {208, 209}, {210, 211}, {212, 213}, {214, 215}, {216, 217}, {218, 219}, {220, 221}, {222, 223}, {224, 225}, {226, 227}, {228, 229}, {230, 231}, {232, 233}, {234, 235}, {236, 237}, {238, 239} }\n", + " , { {240, 241}, {242, 243}, {244, 245}, {246, 247}, {248, 249}, {250, 251}, {252, 253}, {254, 255}, {256, 257}, {258, 259}, {260, 261}, {262, 263}, {264, 265}, {266, 267}, {268, 269}, {270, 271}, {272, 273}, {274, 275}, {276, 277}, {278, 279}, {280, 281}, {282, 283}, {284, 285}, {286, 287} }\n", + " , { {288, 289}, {290, 291}, {292, 293}, {294, 295}, {296, 297}, {298, 299}, {300, 301}, {302, 303}, {304, 305}, {306, 307}, {308, 309}, {310, 311}, {312, 313}, {314, 315}, {316, 317}, {318, 319}, {320, 321}, {322, 323}, {324, 325}, {326, 327}, {328, 329}, {330, 331}, {332, 333}, {334, 335} }\n", + " , { {336, 337}, {338, 339}, {340, 341}, {342, 343}, {344, 345}, {346, 347}, {348, 349}, {350, 351}, {352, 353}, {354, 355}, {356, 357}, {358, 359}, {360, 361}, {362, 363}, {364, 365}, {366, 367}, {368, 369}, {370, 371}, {372, 373}, {374, 375}, {376, 377}, {378, 379}, {380, 381}, {382, 383} }\n", + " , { {384, 385}, {386, 387}, {388, 389}, {390, 391}, {392, 393}, {394, 395}, {396, 397}, {398, 399}, {400, 401}, {402, 403}, {404, 405}, {406, 407}, {408, 409}, {410, 411}, {412, 413}, {414, 415}, {416, 417}, {418, 419}, {420, 421}, {422, 423}, {424, 425}, {426, 427}, {428, 429}, {430, 431} }\n", + " , { {432, 433}, {434, 435}, {436, 437}, {438, 439}, {440, 441}, {442, 443}, {444, 445}, {446, 447}, {448, 449}, {450, 451}, {452, 453}, {454, 455}, {456, 457}, {458, 459}, {460, 461}, {462, 463}, {464, 465}, {466, 467}, {468, 469}, {470, 471}, {472, 473}, {474, 475}, {476, 477}, {478, 479} }\n", + " , { {480, 481}, {482, 483}, {484, 485}, {486, 487}, {488, 489}, {490, 491}, {492, 493}, {494, 495}, {496, 497}, {498, 499}, {500, 501}, {502, 503}, {504, 505}, {506, 507}, {508, 509}, {510, 511}, {512, 513}, {514, 515}, {516, 517}, {518, 519}, {520, 521}, {522, 523}, {524, 525}, {526, 527} }\n", + " , { {528, 529}, {530, 531}, {532, 533}, {534, 535}, {536, 537}, {538, 539}, {540, 541}, {542, 543}, {544, 545}, {546, 547}, {548, 549}, {550, 551}, {552, 553}, {554, 555}, {556, 557}, {558, 559}, {560, 561}, {562, 563}, {564, 565}, {566, 567}, {568, 569}, {570, 571}, {572, 573}, {574, 575} }\n", + " , { {576, 577}, {578, 579}, {580, 581}, {582, 583}, {584, 585}, {586, 587}, {588, 589}, {590, 591}, {592, 593}, {594, 595}, {596, 597}, {598, 599}, {600, 601}, {602, 603}, {604, 605}, {606, 607}, {608, 609}, {610, 611}, {612, 613}, {614, 615}, {616, 617}, {618, 619}, {620, 621}, {622, 623} }\n", + " , { {624, 625}, {626, 627}, {628, 629}, {630, 631}, {632, 633}, {634, 635}, {636, 637}, {638, 639}, {640, 641}, {642, 643}, {644, 645}, {646, 647}, {648, 649}, {650, 651}, {652, 653}, {654, 655}, {656, 657}, {658, 659}, {660, 661}, {662, 663}, {664, 665}, {666, 667}, {668, 669}, {670, 671} }\n", + " , { {672, 673}, {674, 675}, {676, 677}, {678, 679}, {680, 681}, {682, 683}, {684, 685}, {686, 687}, {688, 689}, {690, 691}, {692, 693}, {694, 695}, {696, 697}, {698, 699}, {700, 701}, {702, 703}, {704, 705}, {706, 707}, {708, 709}, {710, 711}, {712, 713}, {714, 715}, {716, 717}, {718, 719} }\n", + " , { {720, 721}, {722, 723}, {724, 725}, {726, 727}, {728, 729}, {730, 731}, {732, 733}, {734, 735}, {736, 737}, {738, 739}, {740, 741}, {742, 743}, {744, 745}, {746, 747}, {748, 749}, {750, 751}, {752, 753}, {754, 755}, {756, 757}, {758, 759}, {760, 761}, {762, 763}, {764, 765}, {766, 767} }\n", + " , { {768, 769}, {770, 771}, {772, 773}, {774, 775}, {776, 777}, {778, 779}, {780, 781}, {782, 783}, {784, 785}, {786, 787}, {788, 789}, {790, 791}, {792, 793}, {794, 795}, {796, 797}, {798, 799}, {800, 801}, {802, 803}, {804, 805}, {806, 807}, {808, 809}, {810, 811}, {812, 813}, {814, 815} }\n", + " , { {816, 817}, {818, 819}, {820, 821}, {822, 823}, {824, 825}, {826, 827}, {828, 829}, {830, 831}, {832, 833}, {834, 835}, {836, 837}, {838, 839}, {840, 841}, {842, 843}, {844, 845}, {846, 847}, {848, 849}, {850, 851}, {852, 853}, {854, 855}, {856, 857}, {858, 859}, {860, 861}, {862, 863} }\n", + " , { {864, 865}, {866, 867}, {868, 869}, {870, 871}, {872, 873}, {874, 875}, {876, 877}, {878, 879}, {880, 881}, {882, 883}, {884, 885}, {886, 887}, {888, 889}, {890, 891}, {892, 893}, {894, 895}, {896, 897}, {898, 899}, {900, 901}, {902, 903}, {904, 905}, {906, 907}, {908, 909}, {910, 911} }\n", + " , { {912, 913}, {914, 915}, {916, 917}, {918, 919}, {920, 921}, {922, 923}, {924, 925}, {926, 927}, {928, 929}, {930, 931}, {932, 933}, {934, 935}, {936, 937}, {938, 939}, {940, 941}, {942, 943}, {944, 945}, {946, 947}, {948, 949}, {950, 951}, {952, 953}, {954, 955}, {956, 957}, {958, 959} }\n", + " , { {960, 961}, {962, 963}, {964, 965}, {966, 967}, {968, 969}, {970, 971}, {972, 973}, {974, 975}, {976, 977}, {978, 979}, {980, 981}, {982, 983}, {984, 985}, {986, 987}, {988, 989}, {990, 991}, {992, 993}, {994, 995}, {996, 997}, {998, 999}, {1000, 1001}, {1002, 1003}, {1004, 1005}, {1006, 1007} }\n", + " , { {1008, 1009}, {1010, 1011}, {1012, 1013}, {1014, 1015}, {1016, 1017}, {1018, 1019}, {1020, 1021}, {1022, 1023}, {1024, 1025}, {1026, 1027}, {1028, 1029}, {1030, 1031}, {1032, 1033}, {1034, 1035}, {1036, 1037}, {1038, 1039}, {1040, 1041}, {1042, 1043}, {1044, 1045}, {1046, 1047}, {1048, 1049}, {1050, 1051}, {1052, 1053}, {1054, 1055} }\n", + " , { {1056, 1057}, {1058, 1059}, {1060, 1061}, {1062, 1063}, {1064, 1065}, {1066, 1067}, {1068, 1069}, {1070, 1071}, {1072, 1073}, {1074, 1075}, {1076, 1077}, {1078, 1079}, {1080, 1081}, {1082, 1083}, {1084, 1085}, {1086, 1087}, {1088, 1089}, {1090, 1091}, {1092, 1093}, {1094, 1095}, {1096, 1097}, {1098, 1099}, {1100, 1101}, {1102, 1103} }\n", + " , { {1104, 1105}, {1106, 1107}, {1108, 1109}, {1110, 1111}, {1112, 1113}, {1114, 1115}, {1116, 1117}, {1118, 1119}, {1120, 1121}, {1122, 1123}, {1124, 1125}, {1126, 1127}, {1128, 1129}, {1130, 1131}, {1132, 1133}, {1134, 1135}, {1136, 1137}, {1138, 1139}, {1140, 1141}, {1142, 1143}, {1144, 1145}, {1146, 1147}, {1148, 1149}, {1150, 1151} }\n", + "}\n" + ] + } + ], + "source": [ + "print(\"{\")\n", + "for r in lookup_edge_c0_c1_to_number:\n", + " print(\" , {\", \", \".join((\"{%d, %d}\" % (c[0], c[1]) for c in r)), \"}\")\n", + "print(\"}\") " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "To satisfy some constraints try one wants to keep the indentity on one qbit if possible." + ] + }, + { + "cell_type": "code", + "execution_count": 32, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([ 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108,\n", + " 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121,\n", + " 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134,\n", + " 135, 136, 137, 138, 139, 140, 141, 142, 143])" + ] + }, + "execution_count": 32, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "I0_indices = lookup_edge_c0_c1_to_number[2, :, :].reshape(2*24)\n", + "I0_indices" + ] + }, + { + "cell_type": "code", + "execution_count": 33, + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "data": { + "text/plain": [ + "array([ 4, 5, 52, 53, 100, 101, 148, 149, 196, 197, 244,\n", + " 245, 292, 293, 340, 341, 388, 389, 436, 437, 484, 485,\n", + " 532, 533, 580, 581, 628, 629, 676, 677, 724, 725, 772,\n", + " 773, 820, 821, 868, 869, 916, 917, 964, 965, 1012, 1013,\n", + " 1060, 1061, 1108, 1109])" + ] + }, + "execution_count": 33, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "I1_indices = lookup_edge_c0_c1_to_number[:, 2, :].reshape(2*24)\n", + "I1_indices" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Throw away all the matrices that produce the same result that we don't need." + ] + }, + { + "cell_type": "code", + "execution_count": 34, + "metadata": {}, + "outputs": [], + "source": [ + "def contract_indices(equivs):\n", + " indices_I1 = [e for e in equivs if e in I1_indices]\n", + " indices_I0 = [e for e in equivs if e in I0_indices]\n", + " \n", + " if(not indices_I0 and not indices_I1):\n", + " return [equivs[0], -1, -1]\n", + " if(indices_I0 and not indices_I1):\n", + " return [-1, indices_I0[0], -1]\n", + " if(indices_I1 and not indices_I0):\n", + " return [-1, -1, indices_I1[0]]\n", + " return [-1, indices_I0[0], indices_I1[0]]" + ] + }, + { + "cell_type": "code", + "execution_count": 35, + "metadata": {}, + "outputs": [], + "source": [ + "indices_contracted = {k: contract_indices(v) for k,v in indices.items()}" + ] + }, + { + "cell_type": "code", + "execution_count": 36, + "metadata": {}, + "outputs": [], + "source": [ + "def get_resulting_matrix_index(tpl):\n", + " arr = np.array(tpl)\n", + " for i, test in enumerate(resulting_matrices_np):\n", + " if(np.allclose(test, arr)):\n", + " return i" + ] + }, + { + "cell_type": "code", + "execution_count": 37, + "metadata": {}, + "outputs": [], + "source": [ + "indices_contracted_by_resulting_index = {get_resulting_matrix_index(k): v for k,v in indices_contracted.items()}" + ] + }, + { + "cell_type": "code", + "execution_count": 38, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "False" + ] + }, + "execution_count": 38, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "None in indices_contracted_by_resulting_index" + ] + }, + { + "cell_type": "code", + "execution_count": 39, + "metadata": {}, + "outputs": [], + "source": [ + "remap_lookup_table_multiple_results = [v for k,v in sorted(indices_contracted_by_resulting_index.items())]" + ] + }, + { + "cell_type": "code", + "execution_count": 40, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAVCAYAAAB7R6/OAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAARUlEQVQoFWNgYGAoA+K7UGyEhc/QCRR0+f//PwMyBoqBxZmADLxgVAEkeEbDgchwYIEmp5mMjIwgZigQuwBxOhALAfFuAP68FOR8/BSoAAAAAElFTkSuQmCC\n", + "text/latex": [ + "$\\displaystyle \\left[ \\right]$" + ], + "text/plain": [ + "[]" + ] + }, + "execution_count": 40, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "remap_lookup_table_multiple_results[0:10]" + ] + }, + { + "cell_type": "code", + "execution_count": 41, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAAoAAAAOCAYAAAAWo42rAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAxElEQVQoFYWRjQ2CMBCFbeMABDeADfyZQEZgBndwBGZhBFhBNpANUDco7zV95DRNbHJt7/W7n7YuhLDTcM51ab9grWEdzueoEUzwA0Jr/AL+E1bF8wTdKArSCo0VBgsOEHoBWqG1MPZWeEwcDewVd9/TJ7mNxwXYy79RMmOZKEXbIFXZStvD3P7AjIrKAaq2eNxQJXO9Spt16xHpqkxKZRwF9oDOGfAEbYpVzePyu36/8A3tSGZvsjD6jndVCxf4V0ATmRXq32m5fsF9TwAAAABJRU5ErkJggg==\n", + "text/latex": [ + "$\\displaystyle 0$" + ], + "text/plain": [ + "0" + ] + }, + "execution_count": 41, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "len(remap_lookup_table_multiple_results)" + ] + }, + { + "cell_type": "code", + "execution_count": 42, + "metadata": {}, + "outputs": [], + "source": [ + "starting_indices_to_operators = {i: (c0, c1, e) for i, (c0, c1, e) in enumerate(product(range(24), range(24), range(2)))}" + ] + }, + { + "cell_type": "code", + "execution_count": 43, + "metadata": {}, + "outputs": [], + "source": [ + "def contract_indices_to_single(result_index, indices):\n", + " c0, c1, e = starting_indices_to_operators[result_index]\n", + " # Preserve identity on one qbit.\n", + " # Note that there is no case where both vops are the identity,\n", + " # As they are handled by a different case.\n", + " if(c0 == 2):\n", + " return indices[1]\n", + " if(c1 == 2):\n", + " return indices[2]\n", + " \n", + " # Try to have an identity if it is possible.\n", + " if(indices[1] != -1):\n", + " return indices[1]\n", + " if(indices[2] != -1):\n", + " return indices[2]\n", + " # No identity is possible.\n", + " return indices[0]" + ] + }, + { + "cell_type": "code", + "execution_count": 44, + "metadata": {}, + "outputs": [], + "source": [ + "remap_lookup_table_indices = [contract_indices_to_single(i, indices) for i,indices in enumerate(remap_lookup_table_multiple_results)]" + ] + }, + { + "cell_type": "code", + "execution_count": 45, + "metadata": {}, + "outputs": [], + "source": [ + "remap_lookup_table_operators = [starting_indices_to_operators[i] for i in remap_lookup_table_indices]" + ] + }, + { + "cell_type": "code", + "execution_count": 46, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAVCAYAAAB7R6/OAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAARUlEQVQoFWNgYGAoA+K7UGyEhc/QCRR0+f//PwMyBoqBxZmADLxgVAEkeEbDgchwYIEmp5mMjIwgZigQuwBxOhALAfFuAP68FOR8/BSoAAAAAElFTkSuQmCC\n", + "text/latex": [ + "$\\displaystyle \\left[ \\right]$" + ], + "text/plain": [ + "[]" + ] + }, + "execution_count": 46, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "remap_lookup_table_operators[0:10]" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Produce some (almost valid) `C` code from the lookup table:" + ] + }, + { + "cell_type": "code", + "execution_count": 47, + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "{\n", + "\n", + "}\n" + ] + } + ], + "source": [ + "print(\"{\")\n", + "print(\"\\n , \".join((\"{%d, %d, %d}\" % i for i in remap_lookup_table_operators)))\n", + "print(\"}\")" + ] + } + ], + "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.7.3" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/computations/lookup_table_2_qbits_CZ_states.ipynb b/computations/lookup_table_2_qbits_CZ_states.ipynb new file mode 100644 index 0000000..36bd041 --- /dev/null +++ b/computations/lookup_table_2_qbits_CZ_states.ipynb @@ -0,0 +1,663 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/latex": [ + "$\\displaystyle \\left[ \\left[\\begin{matrix}\\frac{\\sqrt{2}}{2} & \\frac{\\sqrt{2}}{2}\\\\\\frac{\\sqrt{2}}{2} & - \\frac{\\sqrt{2}}{2}\\end{matrix}\\right], \\ \\left[\\begin{matrix}1 & 0\\\\0 & i\\end{matrix}\\right], \\ \\left[\\begin{matrix}1 & 0\\\\0 & 1\\end{matrix}\\right], \\ \\left[\\begin{matrix}\\frac{\\sqrt{2}}{2} & \\frac{\\sqrt{2}}{2}\\\\\\frac{\\sqrt{2} i}{2} & - \\frac{\\sqrt{2} i}{2}\\end{matrix}\\right], \\ \\left[\\begin{matrix}\\frac{\\sqrt{2}}{2} & \\frac{\\sqrt{2} i}{2}\\\\\\frac{\\sqrt{2}}{2} & - \\frac{\\sqrt{2} i}{2}\\end{matrix}\\right], \\ \\left[\\begin{matrix}1 & 0\\\\0 & -1\\end{matrix}\\right], \\ \\left[\\begin{matrix}\\frac{\\sqrt{2}}{2} & \\frac{\\sqrt{2} i}{2}\\\\\\frac{\\sqrt{2} i}{2} & \\frac{\\sqrt{2}}{2}\\end{matrix}\\right], \\ \\left[\\begin{matrix}\\frac{\\sqrt{2}}{2} & - \\frac{\\sqrt{2}}{2}\\\\\\frac{\\sqrt{2}}{2} & \\frac{\\sqrt{2}}{2}\\end{matrix}\\right], \\ \\left[\\begin{matrix}1 & 0\\\\0 & - i\\end{matrix}\\right], \\ \\left[\\begin{matrix}\\frac{\\sqrt{2}}{2} & - \\frac{\\sqrt{2}}{2}\\\\\\frac{\\sqrt{2} i}{2} & \\frac{\\sqrt{2} i}{2}\\end{matrix}\\right], \\ \\left[\\begin{matrix}\\frac{\\sqrt{2}}{2} & - \\frac{\\sqrt{2} i}{2}\\\\\\frac{\\sqrt{2}}{2} & \\frac{\\sqrt{2} i}{2}\\end{matrix}\\right], \\ \\left[\\begin{matrix}\\frac{\\sqrt{2}}{2} & - \\frac{\\sqrt{2} i}{2}\\\\\\frac{\\sqrt{2} i}{2} & - \\frac{\\sqrt{2}}{2}\\end{matrix}\\right], \\ \\left[\\begin{matrix}\\frac{1}{2} + \\frac{i}{2} & \\frac{1}{2} - \\frac{i}{2}\\\\\\frac{1}{2} - \\frac{i}{2} & \\frac{1}{2} + \\frac{i}{2}\\end{matrix}\\right], \\ \\left[\\begin{matrix}\\frac{\\sqrt{2}}{2} & \\frac{\\sqrt{2}}{2}\\\\- \\frac{\\sqrt{2}}{2} & \\frac{\\sqrt{2}}{2}\\end{matrix}\\right], \\ \\left[\\begin{matrix}0 & 1\\\\1 & 0\\end{matrix}\\right], \\ \\left[\\begin{matrix}\\frac{\\sqrt{2}}{2} & \\frac{\\sqrt{2}}{2}\\\\- \\frac{\\sqrt{2} i}{2} & \\frac{\\sqrt{2} i}{2}\\end{matrix}\\right], \\ \\left[\\begin{matrix}0 & 1\\\\i & 0\\end{matrix}\\right], \\ \\left[\\begin{matrix}\\frac{1}{2} - \\frac{i}{2} & \\frac{1}{2} + \\frac{i}{2}\\\\- \\frac{1}{2} + \\frac{i}{2} & \\frac{1}{2} + \\frac{i}{2}\\end{matrix}\\right], \\ \\left[\\begin{matrix}0 & i\\\\1 & 0\\end{matrix}\\right], \\ \\left[\\begin{matrix}\\frac{\\sqrt{2}}{2} & \\frac{\\sqrt{2} i}{2}\\\\- \\frac{\\sqrt{2} i}{2} & - \\frac{\\sqrt{2}}{2}\\end{matrix}\\right], \\ \\left[\\begin{matrix}\\frac{1}{2} - \\frac{i}{2} & - \\frac{1}{2} + \\frac{i}{2}\\\\- \\frac{1}{2} + \\frac{i}{2} & - \\frac{1}{2} + \\frac{i}{2}\\end{matrix}\\right], \\ \\left[\\begin{matrix}0 & -1\\\\1 & 0\\end{matrix}\\right], \\ \\left[\\begin{matrix}\\frac{\\sqrt{2}}{2} & - \\frac{\\sqrt{2}}{2}\\\\- \\frac{\\sqrt{2} i}{2} & - \\frac{\\sqrt{2} i}{2}\\end{matrix}\\right], \\ \\left[\\begin{matrix}\\frac{1}{2} - \\frac{i}{2} & \\frac{i \\left(-1 + i\\right)}{2}\\\\- \\frac{1}{2} + \\frac{i}{2} & \\frac{i \\left(-1 + i\\right)}{2}\\end{matrix}\\right]\\right]$" + ], + "text/plain": [ + "⎡⎡√2 √2 ⎤ ⎡ √2 √2 ⎤ ⎡√2 √2⋅ⅈ ⎤ ⎡ √2 √2⋅\n", + "⎢⎢── ── ⎥ ⎢ ── ── ⎥ ⎢── ──── ⎥ ⎢ ── ───\n", + "⎢⎢2 2 ⎥ ⎡1 0⎤ ⎡1 0⎤ ⎢ 2 2 ⎥ ⎢2 2 ⎥ ⎡1 0 ⎤ ⎢ 2 2 \n", + "⎢⎢ ⎥, ⎢ ⎥, ⎢ ⎥, ⎢ ⎥, ⎢ ⎥, ⎢ ⎥, ⎢ \n", + "⎢⎢√2 -√2 ⎥ ⎣0 ⅈ⎦ ⎣0 1⎦ ⎢√2⋅ⅈ -√2⋅ⅈ ⎥ ⎢√2 -√2⋅ⅈ ⎥ ⎣0 -1⎦ ⎢√2⋅ⅈ √2\n", + "⎢⎢── ────⎥ ⎢──── ──────⎥ ⎢── ──────⎥ ⎢──── ──\n", + "⎣⎣2 2 ⎦ ⎣ 2 2 ⎦ ⎣2 2 ⎦ ⎣ 2 2 \n", + "\n", + "ⅈ⎤ ⎡√2 -√2 ⎤ ⎡ √2 -√2 ⎤ ⎡√2 -√2⋅ⅈ ⎤ ⎡ √2 -√2⋅ⅈ ⎤ ⎡1 ⅈ 1\n", + "─⎥ ⎢── ────⎥ ⎢ ── ────⎥ ⎢── ──────⎥ ⎢ ── ──────⎥ ⎢─ + ─ ─\n", + " ⎥ ⎢2 2 ⎥ ⎡1 0 ⎤ ⎢ 2 2 ⎥ ⎢2 2 ⎥ ⎢ 2 2 ⎥ ⎢2 2 2\n", + " ⎥, ⎢ ⎥, ⎢ ⎥, ⎢ ⎥, ⎢ ⎥, ⎢ ⎥, ⎢ \n", + " ⎥ ⎢√2 √2 ⎥ ⎣0 -ⅈ⎦ ⎢√2⋅ⅈ √2⋅ⅈ⎥ ⎢√2 √2⋅ⅈ ⎥ ⎢√2⋅ⅈ -√2 ⎥ ⎢1 ⅈ 1\n", + " ⎥ ⎢── ── ⎥ ⎢──── ────⎥ ⎢── ──── ⎥ ⎢──── ──── ⎥ ⎢─ - ─ ─\n", + " ⎦ ⎣2 2 ⎦ ⎣ 2 2 ⎦ ⎣2 2 ⎦ ⎣ 2 2 ⎦ ⎣2 2 2\n", + "\n", + " ⅈ⎤ ⎡ √2 √2⎤ ⎡ √2 √2 ⎤ ⎡ 1 ⅈ 1 ⅈ⎤ ⎡\n", + " - ─⎥ ⎢ ── ──⎥ ⎢ ── ── ⎥ ⎢ ─ - ─ ─ + ─⎥ ⎢\n", + " 2⎥ ⎢ 2 2 ⎥ ⎡0 1⎤ ⎢ 2 2 ⎥ ⎡0 1⎤ ⎢ 2 2 2 2⎥ ⎡0 ⅈ⎤ ⎢\n", + " ⎥, ⎢ ⎥, ⎢ ⎥, ⎢ ⎥, ⎢ ⎥, ⎢ ⎥, ⎢ ⎥, ⎢\n", + " ⅈ⎥ ⎢-√2 √2⎥ ⎣1 0⎦ ⎢-√2⋅ⅈ √2⋅ⅈ⎥ ⎣ⅈ 0⎦ ⎢ 1 ⅈ 1 ⅈ⎥ ⎣1 0⎦ ⎢\n", + " + ─⎥ ⎢──── ──⎥ ⎢────── ────⎥ ⎢- ─ + ─ ─ + ─⎥ ⎢\n", + " 2⎦ ⎣ 2 2 ⎦ ⎣ 2 2 ⎦ ⎣ 2 2 2 2⎦ ⎣\n", + "\n", + " √2 √2⋅ⅈ⎤ ⎡ 1 ⅈ 1 ⅈ⎤ ⎡ √2 -√2 ⎤ ⎡ 1 ⅈ ⅈ⋅(-1 \n", + " ── ────⎥ ⎢ ─ - ─ - ─ + ─⎥ ⎢ ── ──── ⎥ ⎢ ─ - ─ ──────\n", + " 2 2 ⎥ ⎢ 2 2 2 2⎥ ⎡0 -1⎤ ⎢ 2 2 ⎥ ⎢ 2 2 2 \n", + " ⎥, ⎢ ⎥, ⎢ ⎥, ⎢ ⎥, ⎢ \n", + "-√2⋅ⅈ -√2 ⎥ ⎢ 1 ⅈ 1 ⅈ⎥ ⎣1 0 ⎦ ⎢-√2⋅ⅈ -√2⋅ⅈ ⎥ ⎢ 1 ⅈ ⅈ⋅(-1 \n", + "────── ────⎥ ⎢- ─ + ─ - ─ + ─⎥ ⎢────── ──────⎥ ⎢- ─ + ─ ──────\n", + " 2 2 ⎦ ⎣ 2 2 2 2⎦ ⎣ 2 2 ⎦ ⎣ 2 2 2 \n", + "\n", + "+ ⅈ)⎤⎤\n", + "────⎥⎥\n", + " ⎥⎥\n", + " ⎥⎥\n", + "+ ⅈ)⎥⎥\n", + "────⎥⎥\n", + " ⎦⎦" + ] + }, + "execution_count": 1, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "import sympy\n", + "import numpy as np\n", + "\n", + "from collections import defaultdict\n", + "from itertools import product\n", + "\n", + "M = sympy.Matrix\n", + "simplify = sympy.simplify\n", + "sqrt = sympy.sqrt\n", + "i = sympy.I\n", + "_i = i\n", + "\n", + "from sympy.physics.quantum import Dagger\n", + "from sympy.physics.quantum import tensorproduct\n", + "\n", + "sympy.init_printing()\n", + "H = simplify(M([[1, 1], [1, -1]]) / sqrt(2))\n", + "S = M([[1, 0], [0, i]])\n", + "C_L = [H, S]\n", + "basis_vectors = [M([1, 0]), M([0, 1])]\n", + "\n", + "def getitem(m, i, j):\n", + " # Note that sympy uses an extremely weird way to store the matrices,\n", + " # in particular the internal representation is vastly different from what\n", + " # is printed. For instance the H matrix is stored as a Mul object\n", + " # (even after using simplify) instead of a matrix. \n", + " # Therefore m[i][j] will NOT work. This is a workaround.\n", + " return (Dagger(basis_vectors[i]) * m * basis_vectors[j])[0]\n", + "\n", + "def is_known(C_L, a):\n", + " for c in C_L:\n", + " test = c * Dagger(a)\n", + " if(simplify(getitem(test, 0, 1)) != 0):\n", + " continue\n", + " if(simplify(getitem(test, 0, 0) / getitem(test, 1, 1)) == 1):\n", + " return True\n", + " return False\n", + "for i in range(5):\n", + " for m in (H, S):\n", + " for c in C_L:\n", + " c = simplify(c*m)\n", + " if(is_known(C_L, c)):\n", + " continue\n", + " C_L.append(c)\n", + "C_L" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/latex": [ + "$\\displaystyle \\left[\\begin{matrix}\\frac{1}{2} & \\frac{1}{2} & \\frac{1}{2} & \\frac{1}{2}\\\\\\frac{1}{2} & - \\frac{1}{2} & \\frac{1}{2} & - \\frac{1}{2}\\\\\\frac{1}{2} & \\frac{1}{2} & - \\frac{1}{2} & - \\frac{1}{2}\\\\\\frac{1}{2} & - \\frac{1}{2} & - \\frac{1}{2} & \\frac{1}{2}\\end{matrix}\\right]$" + ], + "text/plain": [ + "⎡1/2 1/2 1/2 1/2 ⎤\n", + "⎢ ⎥\n", + "⎢1/2 -1/2 1/2 -1/2⎥\n", + "⎢ ⎥\n", + "⎢1/2 1/2 -1/2 -1/2⎥\n", + "⎢ ⎥\n", + "⎣1/2 -1/2 -1/2 1/2 ⎦" + ] + }, + "execution_count": 2, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "H2 = tensorproduct.matrix_tensor_product(H, H)\n", + "H2" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [], + "source": [ + "zero_state = M([1, 0, 0, 0])" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAB0AAABlCAYAAACx4uijAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAC/klEQVRoBe1ay03DQBB1EGeUEwWYDkgJhA4QHRBKQFSAQgdJAVxSApRAKAApKYADIArAvOfsrhxn7czYgIOYkSb78ey89dvfZJMky7JEo0mS9KEj6FzTrmi71+v1jqFZhc7gPAhtUSAggalRgd2iwl/GBvuFVrfILwplZpfFMnr7hPITHJ4V6yP5caTuFHV5uyLoBE7XQCINRVXwMy0boqOsykH3yg9/o2ygP8pyJ/QWZ+/Wt8MMTGF0CR1CU5QnSBeYrVxuYlGBuiV1JfZeYdgJvZ2AiunF+OX7ZgVjeTXoz7edOhs+E4NKHW4D5PPdppc9BMU8zq6Zh3D5UC7AwvsqK/sU0+vcjQHAdZqLW6dzFI5clSjR0jsC0LDgmecmNwke7mLRgvItH8XeKwxV9ILa8uHMTixRz4hCLNo3DY4dpYwEBqFSmGkECsAU/jmeA+3MZb9U9LKBBwQYAy2WOYneURbHV6o3dYA8zm4I5gA5rq9QsWjflGuSGwTTIHjLsHZDZU1GC3oCX0Pn7xJgqk3B90MFChBpsO39R1PVmEY9NKg00AakyZv8H3pVS8btSNwIuFYt2N46ozqZSBxTnhB30M+6LmI82wbbzw4nh+F5SIcp9lbV9Y7GHv55K4MmmQXbICIuFmzHeamoVW2DmHkWbFcQGa9W0UsX7qThLP57wfaBI8GncU5WtW2C7UPvmPR+uIJP/bNY2ibYfvEOVWOKcbRg2zMnSjuJHAxUNDZNjVRLxoJtLc2dzF7xmH5DsB0IEYNi3xVdlQfPNZndppcdB8V2s80vYWLRjim/+tvN9o/Rmzv2sS8KdrNdS7V4G3Re2gTboSNa0DbBdjNQC7YDb8KMdhsUuq03M9B6flo+Va1TC7a1bHcye8VjasG2djxpL6aXxhZsgwELtjkVNqTx5uAotb+RbFBaruDM429tMZ0hAgy/v8Emhd5D2cYr/1bSL9nxz8kxfzDLEt4j8Nv1OTQm/K/Rg3+AcXxDnvZrApu1+wjY8ce8qMB2+gXddflBWpRqZgAAAABJRU5ErkJggg==\n", + "text/latex": [ + "$\\displaystyle \\left[\\begin{matrix}\\frac{1}{2}\\\\\\frac{1}{2}\\\\\\frac{1}{2}\\\\\\frac{1}{2}\\end{matrix}\\right]$" + ], + "text/plain": [ + "⎡1/2⎤\n", + "⎢ ⎥\n", + "⎢1/2⎥\n", + "⎢ ⎥\n", + "⎢1/2⎥\n", + "⎢ ⎥\n", + "⎣1/2⎦" + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "plus_state = H2 * zero_state\n", + "plus_state" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [], + "source": [ + "I = M([[1, 0], [0, 1]])" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [], + "source": [ + "C_L_0 = [tensorproduct.matrix_tensor_product(I, c) for c in C_L]" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [], + "source": [ + "C_L_1 = [tensorproduct.matrix_tensor_product(c, I) for c in C_L]" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/latex": [ + "$\\displaystyle \\left[\\begin{matrix}1 & 0 & 0 & 0\\\\0 & 1 & 0 & 0\\\\0 & 0 & 1 & 0\\\\0 & 0 & 0 & -1\\end{matrix}\\right]$" + ], + "text/plain": [ + "⎡1 0 0 0 ⎤\n", + "⎢ ⎥\n", + "⎢0 1 0 0 ⎥\n", + "⎢ ⎥\n", + "⎢0 0 1 0 ⎥\n", + "⎢ ⎥\n", + "⎣0 0 0 -1⎦" + ] + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "CZ = M([[1, 0, 0, 0], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, -1]])\n", + "CZ" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAC0AAABlCAYAAADZEWqbAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAD30lEQVR4Ae1cXW7UMBjcVDyj0gcOsEgcgB6B7Q2AB95pj4A4ASo3aA/Qlx4BuAHtAZC2B+ABVhyAZSZ8jtxgb7Lx2CjIllz/xPt5Mpn97HxNttlutwtlaprmEPZeIZ/B9rHStrN1gEmeIW8j+doNHFPSFsadIhM486QEO+sInpbhB57VD6ivvTard732ziaYvcWAW0z4YufA4YPngSEn6Gvt+qAvMOleIAOGJV3Acdk3BCLY1YI+6B+cQ7uCLnWVKtOlmPa9R/Kc+IYvYeQMeYW8RPsC5RregO5UlqSgzWW+laGLGKqajhAj75bJA/od3HlBPu2ylnoWMtAqQGNOaJaaljFNhiARbkffGVt0f0xvcBU2f6qav1LQgHQOgPTTbTI/fYPGE+uSFGp5nALoykPGfTEXGd4cyJIaNFn+IkMXMSSVB6TR37zzJO7QzzsaWVIz3QEzSfBOQ35zmwU0AC8Blno+VnsOsiKVBw06wADLG1G2+SXcoC27/5QybYC5HX1PsAaYuv6OLEtqpumTucCw7BJY7nx315lQUYN+Diwrw8MIk3RRcecpBQ2QqmCNwxcspZoOzpChs4LOQGrQZGU6SEuGzlkyLXV5tiJyIaGvrsEaX2WzlMcsQVPT3IFdIf/yL8G+deg5d7Dmq+FckOkj5NfISaxj39EMZcyRkp7iw8SZBjQFQcpn1S6vBmtiVyNJxwGjNVgTIKXtkmoa3qMGa2JMqzXdzmMbpxqs8VmXMm0MFwnWPLSzcKV/UvvWcwZrHjsw9B4/reFKd2xKmTNY880BUru8GqxxzPZL6RexbzxXu4LOxWzfbmW6z0iuttTl1WDNjstUNb2DHOkhmaYLBGu6E5eBZqCms5q5MktNy5gmuZBIDdbEVKaWRw3WxJiWaroGa2I0o1+t6XYq2zjVYI1PvJRpYzh7sIYnwGeM+E+eJb5Ii5QMGz/MFu112beJfi5AfOvoxu8fqttnMGyrffAKBh/BeDThSpCglQ0g+ElJ6vKGEOCkJMEcqaaHQKuOV9AqJofsVKaHGFIdnyXTRV2erZjJT94UBQ0/zSd7k1+TmqU8Zgl6lDygRe4TPiPvs194act26zRgQ/bkzSjQmHyDmZOe7YcNWTDn/5VHe30Ff0xmya9JjZKHAK8zIXlNqrQ8JMGc0qC5Gia/JlVUHvAgkidvSjPttO1e2pn0mtQ/AW0bp8nBnKLyIM0OMKSS9JqUi3t0cQrYdvVrGE+Khfifh90l8kdkzukygzuHvXH8cRSH4V7JcVxauZ/gb8yEEt8l/BQ6MKUPLDOY89f+BXPcW+IxjsGcYMLYy9/xqBy2/jxphQAAAABJRU5ErkJggg==\n", + "text/latex": [ + "$\\displaystyle \\left[\\begin{matrix}\\frac{1}{2}\\\\\\frac{1}{2}\\\\\\frac{1}{2}\\\\- \\frac{1}{2}\\end{matrix}\\right]$" + ], + "text/plain": [ + "⎡1/2 ⎤\n", + "⎢ ⎥\n", + "⎢1/2 ⎥\n", + "⎢ ⎥\n", + "⎢1/2 ⎥\n", + "⎢ ⎥\n", + "⎣-1/2⎦" + ] + }, + "execution_count": 9, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "CZ * plus_state" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/latex": [ + "$\\displaystyle \\left[\\begin{matrix}1 & 0 & 0 & 0\\\\0 & 1 & 0 & 0\\\\0 & 0 & 1 & 0\\\\0 & 0 & 0 & 1\\end{matrix}\\right]$" + ], + "text/plain": [ + "⎡1 0 0 0⎤\n", + "⎢ ⎥\n", + "⎢0 1 0 0⎥\n", + "⎢ ⎥\n", + "⎢0 0 1 0⎥\n", + "⎢ ⎥\n", + "⎣0 0 0 1⎦" + ] + }, + "execution_count": 10, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "I_4 = M([[1, 0, 0, 0], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]])\n", + "I_4" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Compute all possible starting matrices: Two qbits either entangled or unentangled with any of the 24 $C_L$ operators." + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": {}, + "outputs": [], + "source": [ + "starting_matrices = [a * b * c for a, b, c in product(C_L_0, C_L_1, (I_4, CZ))]" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Compute the resulting matrix after a $CZ$ has been applied." + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": {}, + "outputs": [], + "source": [ + "resulting_matrices = [CZ * c for c in starting_matrices]" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAGoAAAAVCAYAAACuVXuDAAAACXBIWXMAAA7EAAAOxAGVKw4bAAADtklEQVRoBe2ZjXEaMRCFjScFMEkHuAMSOsAdJKQDuwOnhqQDu4Q4HWCXQDqADmLTAXmfkDQSJ7jjLGlgxjuzSFrt7Vvt6u+OwWazuQhpMBiMJFuFsvd63QikcnAZuiCFO7XHoSx3XRgN+5INcS431hnbG9lc+CH4RKnjq6SftJr++N6gov6xeCkeBuJGtYPes3Q24oXlpYwsxC+hMfXh7L1ldOfiRpLDZ3LWwQI7p82UrRSOcvCErvrIyZbs1kfwF9RDlgz5oxiHCSb75DDUCZ5v1bO6JAbGFuVPcWRTbVbXY4hj9XhmGspL1YWDb5EPJbAO4aiPmJvYmMSoQSJuDjmifrbFZKLC59r01N86eHTEUfLAEL3CIV6JujAYa/FEteGo/0Z8zxjd1jdT40HCU6GpHHnV0t/dZtkSip5nbEXCWFtWUYa64NiczIjDpX4Iyqnd8kjISo4SsBTtJjCl01f2vdKk7YpDbmYf9PNNbA6vviM79jlNDpa0C/aV6izvv86O6viUInOZCHVTSn1l8ostr8YF4hgccnNNor7UcE4YjkjQbwXbrBYFh4sDt8lryfZOGPWTJHR/iLOT9WMtH4ruLj1wOCunnFEELroaZ49CYFCBICEmSYhtYEhQ20zmgvEg/V88V4BuZbvGOX0sDrkZkqiPYh+4AgHoYpJZzHsTK6ZBkpPEJwXyttGZQSD75naVwdRBEz1xTGxIVDWSo7y08m6wj1jdEdnBsfJKJYnJwatAjS2vD45ZSJxRONgIUBStfA3Ow9Q2izMkw18oaCtJvJlfhUmSzKy6jIHF3kR22VpDMmeilXMDfevZ2BeH3LyQKAJnBh96WajOGZMa8FR40UVCASJQk4Q+yYvOEukyU3tt33oO3AhbbSYJL9dst9ENtC/WsTj4YIlJvLrUD7N4YoWlC/PtLgTRwLmqQj4gkjFxzNcJ1d33PkpkHMY+KZIx43g5PrSlSuVowi7sqRBWA8cDbiufVcypMpuXGrz5nLRbqo/goMgMc9/nkN2Fump31SMJXA5gnqFkRXh8td13RfB2OfVNkissHNkJbXatywb+hPiM3Y9V9SxYbTjOX4s3MsGxjbHrPMdSY2BLfHOiuoy9FpZwmNRmEbH1QXzBLnKrMtbr/HCeretAmbOzBhbnObm5MInSADmc977HoHjKZM+OfzV8rIUlHFYT/7ZvL05uqUvIoTZ37XMq5ffBv2hyjqUWFrkQ+618wCAc2Szyx1x0/XX972WdCCgPfCnh1cC/hP8HWgYo7Ny1PQYAAAAASUVORK5CYII=\n", + "text/latex": [ + "$\\displaystyle \\left( 1152, \\ 4, \\ 4\\right)$" + ], + "text/plain": [ + "(1152, 4, 4)" + ] + }, + "execution_count": 13, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "starting_matrices_np = np.array([np.array(m).astype(np.cdouble) for m in starting_matrices])\n", + "\n", + "starting_matrices_np.shape" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAGoAAAAVCAYAAACuVXuDAAAACXBIWXMAAA7EAAAOxAGVKw4bAAADtklEQVRoBe2ZjXEaMRCFjScFMEkHuAMSOsAdJKQDuwOnhqQDu4Q4HWCXQDqADmLTAXmfkDQSJ7jjLGlgxjuzSFrt7Vvt6u+OwWazuQhpMBiMJFuFsvd63QikcnAZuiCFO7XHoSx3XRgN+5INcS431hnbG9lc+CH4RKnjq6SftJr++N6gov6xeCkeBuJGtYPes3Q24oXlpYwsxC+hMfXh7L1ldOfiRpLDZ3LWwQI7p82UrRSOcvCErvrIyZbs1kfwF9RDlgz5oxiHCSb75DDUCZ5v1bO6JAbGFuVPcWRTbVbXY4hj9XhmGspL1YWDb5EPJbAO4aiPmJvYmMSoQSJuDjmifrbFZKLC59r01N86eHTEUfLAEL3CIV6JujAYa/FEteGo/0Z8zxjd1jdT40HCU6GpHHnV0t/dZtkSip5nbEXCWFtWUYa64NiczIjDpX4Iyqnd8kjISo4SsBTtJjCl01f2vdKk7YpDbmYf9PNNbA6vviM79jlNDpa0C/aV6izvv86O6viUInOZCHVTSn1l8ostr8YF4hgccnNNor7UcE4YjkjQbwXbrBYFh4sDt8lryfZOGPWTJHR/iLOT9WMtH4ruLj1wOCunnFEELroaZ49CYFCBICEmSYhtYEhQ20zmgvEg/V88V4BuZbvGOX0sDrkZkqiPYh+4AgHoYpJZzHsTK6ZBkpPEJwXyttGZQSD75naVwdRBEz1xTGxIVDWSo7y08m6wj1jdEdnBsfJKJYnJwatAjS2vD45ZSJxRONgIUBStfA3Ow9Q2izMkw18oaCtJvJlfhUmSzKy6jIHF3kR22VpDMmeilXMDfevZ2BeH3LyQKAJnBh96WajOGZMa8FR40UVCASJQk4Q+yYvOEukyU3tt33oO3AhbbSYJL9dst9ENtC/WsTj4YIlJvLrUD7N4YoWlC/PtLgTRwLmqQj4gkjFxzNcJ1d33PkpkHMY+KZIx43g5PrSlSuVowi7sqRBWA8cDbiufVcypMpuXGrz5nLRbqo/goMgMc9/nkN2Fump31SMJXA5gnqFkRXh8td13RfB2OfVNkissHNkJbXatywb+hPiM3Y9V9SxYbTjOX4s3MsGxjbHrPMdSY2BLfHOiuoy9FpZwmNRmEbH1QXzBLnKrMtbr/HCeretAmbOzBhbnObm5MInSADmc977HoHjKZM+OfzV8rIUlHFYT/7ZvL05uqUvIoTZ37XMq5ffBv2hyjqUWFrkQ+618wCAc2Szyx1x0/XX972WdCCgPfCnh1cC/hP8HWgYo7Ny1PQYAAAAASUVORK5CYII=\n", + "text/latex": [ + "$\\displaystyle \\left( 1152, \\ 4, \\ 4\\right)$" + ], + "text/plain": [ + "(1152, 4, 4)" + ] + }, + "execution_count": 14, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "resulting_matrices_np = np.array([np.array(m).astype(np.cdouble) for m in resulting_matrices])\n", + "\n", + "resulting_matrices_np.shape" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Invert the resulting matrices to check if they match a starting matrix." + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": {}, + "outputs": [], + "source": [ + "resulting_matrices_np_invers = np.array([m.transpose().conjugate() for m in resulting_matrices_np])" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": {}, + "outputs": [], + "source": [ + "plus_state_np = np.array(plus_state).astype(np.cdouble)" + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "metadata": {}, + "outputs": [], + "source": [ + "starting_states = np.array([m.dot(plus_state) for m in starting_matrices_np], dtype=np.cdouble)" + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "metadata": {}, + "outputs": [], + "source": [ + "resulting_states = np.array([m.dot(plus_state) for m in resulting_matrices_np], dtype=np.cdouble)" + ] + }, + { + "cell_type": "code", + "execution_count": 41, + "metadata": {}, + "outputs": [], + "source": [ + "def state_eq(s1, s2):\n", + " if(not np.allclose(np.absolute(s1), np.absolute(s2))):\n", + " return False\n", + " angles = np.angle(s1) - np.angle(s2)\n", + " if(angles[0] != angles[1] or\n", + " angles[2] != angles[3]):\n", + " return False\n", + " #if(not np.allclose(angles - angles[0], np.zeros(4))):\n", + " # return False\n", + " return True\n" + ] + }, + { + "cell_type": "code", + "execution_count": 42, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAACcAAAAOCAYAAACsAAXLAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAB3ElEQVRIDbWVgVECMRBFOccCbrACpQPQCqQEbEE70KEE7QBbwA6gAwc6gA4EOsD3MskR8BiYkduZvd1sNpufzW6u2G63rURFUXTRx3AP+ybZD+UpP+bvWPMW190jV46JOY+2IPArUYbwD3wDOx7jN0UGCga0ETyDRVsKOmdtsMBP+QnMDar1jN9h4/YP7KN8rA65xyDo+STGV7gW3Ll+MXjd4dbMrVMc9Gc5jZPEZhJmjq9QLk19Aq7jleWxvaoyXrn2DvykcoyaACeIJSffHNnUzEgTuA/YycFBLAFLp3Xt55IEqGPZsNmsw9AUyCmgvjANYDNtA5nNCXPaG7lW4+4RGwss7+AwHw/yEZ3NmJ1ddXQT1xr32hN24CdgEpAwCWizJpkxy8FDLLBbtyHNecv/u1sBUMVTh6yfuifDbt2zMxasi+zs8uI1R9CKyIAABPtSGXeK13i7Gwa/L9aYxQXcbwxcvLJODgybdSf5x/At/NPR2Jb42RDtRmqO4NbOAxulXxjDQF7bKoLaZGDjdCV8bqYXz1zc0AbwqQjvVdyyjewCLDWFT84Yn8cINrgxthR8TpYFnxYGg4nWVlYuYVv6Owt2lh+x/D+buTqaE6+XJvDVbwh7zYmqH/8vW6V5halvul4AAAAASUVORK5CYII=\n", + "text/latex": [ + "$\\displaystyle 1128$" + ], + "text/plain": [ + "1128" + ] + }, + "execution_count": 42, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "found_indices = defaultdict(list)\n", + "\n", + "for i, result in enumerate(resulting_states):\n", + " for j, start in enumerate(starting_states):\n", + " if(state_eq(result, start)):\n", + " found_indices[i].append(j)\n", + " \n", + "len(found_indices.keys())" + ] + }, + { + "cell_type": "code", + "execution_count": 43, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/latex": [ + "$\\displaystyle \\left[ 373, \\ 376, \\ 379, \\ 468, \\ 503, \\ 527, \\ 549, \\ 575, \\ 623, \\ 713, \\ 879, \\ 968, \\ 974, \\ 989, \\ 1003, \\ 1023, \\ 1049, \\ 1078, \\ 1097, \\ 1102, \\ 1125, \\ 1127, \\ 1129, \\ 1151\\right]$" + ], + "text/plain": [ + "[373, 376, 379, 468, 503, 527, 549, 575, 623, 713, 879, 968, 974, 989, 1003, 1\n", + "023, 1049, 1078, 1097, 1102, 1125, 1127, 1129, 1151]" + ] + }, + "execution_count": 43, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "not_found = [i for i in range(1152) if not i in found_indices]\n", + "not_found" + ] + }, + { + "cell_type": "code", + "execution_count": 44, + "metadata": { + "collapsed": true + }, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[[ 0. +0.70710678j],\n", + " [ 0. +0.j ],\n", + " [ 0. +0.j ],\n", + " [-0.70710678+0.j ]],\n", + "\n", + " [[ 0. +0.j ],\n", + " [ 0. +0.j ],\n", + " [ 0. +0.j ],\n", + " [ 0.70710678-0.70710678j]],\n", + "\n", + " [[-0.70710678+0.j ],\n", + " [ 0. +0.j ],\n", + " [ 0. +0.j ],\n", + " [-0.70710678+0.j ]],\n", + "\n", + " [[ 0. +0.j ],\n", + " [-0.70710678+0.j ],\n", + " [ 0. +0.j ],\n", + " [ 0. -0.70710678j]],\n", + "\n", + " [[ 0.5 -0.5j ],\n", + " [ 0. +0.j ],\n", + " [ 0. +0.j ],\n", + " [ 0.5 -0.5j ]],\n", + "\n", + " [[ 0. -0.70710678j],\n", + " [ 0. +0.j ],\n", + " [ 0. +0.j ],\n", + " [ 0.70710678+0.j ]],\n", + "\n", + " [[ 0.5 -0.5j ],\n", + " [ 0. +0.j ],\n", + " [ 0. +0.j ],\n", + " [ 0.5 -0.5j ]],\n", + "\n", + " [[ 0. -0.70710678j],\n", + " [ 0. +0.j ],\n", + " [ 0. +0.j ],\n", + " [ 0. +0.70710678j]],\n", + "\n", + " [[ 0.5 -0.5j ],\n", + " [ 0. +0.j ],\n", + " [ 0. +0.j ],\n", + " [ 0.5 -0.5j ]],\n", + "\n", + " [[ 0.5 -0.5j ],\n", + " [ 0. +0.j ],\n", + " [ 0. +0.j ],\n", + " [ 0.5 -0.5j ]],\n", + "\n", + " [[ 0. +0.70710678j],\n", + " [ 0. +0.j ],\n", + " [ 0. +0.j ],\n", + " [-0.70710678+0.j ]],\n", + "\n", + " [[ 0. +0.j ],\n", + " [-0.70710678+0.j ],\n", + " [ 0. +0.j ],\n", + " [ 0. -0.70710678j]],\n", + "\n", + " [[ 0. +0.j ],\n", + " [ 0. +0.j ],\n", + " [ 0. +0.j ],\n", + " [ 0.70710678-0.70710678j]],\n", + "\n", + " [[ 0.5 -0.5j ],\n", + " [ 0. +0.j ],\n", + " [ 0. +0.j ],\n", + " [ 0.5 -0.5j ]],\n", + "\n", + " [[-0.5 +0.5j ],\n", + " [ 0. +0.j ],\n", + " [ 0. +0.j ],\n", + " [ 0.5 -0.5j ]],\n", + "\n", + " [[-0.70710678+0.j ],\n", + " [ 0. +0.j ],\n", + " [ 0. +0.j ],\n", + " [-0.70710678+0.j ]],\n", + "\n", + " [[-0.5 +0.5j ],\n", + " [ 0. +0.j ],\n", + " [ 0. +0.j ],\n", + " [ 0.5 -0.5j ]],\n", + "\n", + " [[ 0. +0.j ],\n", + " [-0.5 -0.5j ],\n", + " [ 0. +0.j ],\n", + " [-0.5 -0.5j ]],\n", + "\n", + " [[-0.35355339+0.35355339j],\n", + " [-0.35355339-0.35355339j],\n", + " [-0.35355339+0.35355339j],\n", + " [-0.35355339-0.35355339j]],\n", + "\n", + " [[ 0. +0.j ],\n", + " [-0.70710678+0.j ],\n", + " [ 0. +0.j ],\n", + " [ 0. -0.70710678j]],\n", + "\n", + " [[ 0. -0.70710678j],\n", + " [ 0. +0.j ],\n", + " [ 0. +0.j ],\n", + " [ 0.70710678+0.j ]],\n", + "\n", + " [[ 0. -0.70710678j],\n", + " [ 0. +0.j ],\n", + " [ 0. +0.j ],\n", + " [ 0. +0.70710678j]],\n", + "\n", + " [[ 0.5 -0.5j ],\n", + " [ 0. +0.j ],\n", + " [ 0. +0.j ],\n", + " [ 0.5 -0.5j ]],\n", + "\n", + " [[-0.5 -0.5j ],\n", + " [ 0. +0.j ],\n", + " [ 0. +0.j ],\n", + " [-0.5 +0.5j ]]])" + ] + }, + "execution_count": 44, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "resulting_states[not_found]" + ] + } + ], + "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.7.3" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +}