{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "

Quantum Error Correction

" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Imports" ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "collapsed": true }, "outputs": [], "source": [ "%matplotlib inline" ] }, { "cell_type": "code", "execution_count": 9, "metadata": { "collapsed": true }, "outputs": [], "source": [ "from IPython.display import display" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "collapsed": false }, "outputs": [], "source": [ "from sympy import init_printing\n", "init_printing(use_latex=True)" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "collapsed": false }, "outputs": [], "source": [ "from sympy import sqrt, symbols, Rational\n", "from sympy import expand, Eq, Symbol, simplify, exp, sin\n", "from sympy.physics.quantum import *\n", "from sympy.physics.quantum.qubit import *\n", "from sympy.physics.quantum.gate import *\n", "from sympy.physics.quantum.grover import *\n", "from sympy.physics.quantum.qft import QFT, IQFT, Fourier\n", "from sympy.physics.quantum.circuitplot import circuit_plot" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "

5 qubit code

" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAGEAAAARBAMAAAA/Ct9RAAAAMFBMVEX///8AAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMA782ru0RUEN2ZIjKJ\nZnbgt/12AAAACXBIWXMAAA7EAAAOxAGVKw4bAAABzklEQVQoFVWRvU8bQRDFHxjbnO8OojSWoDD8\nA7EVIoVQYBdRKLHoEUaKIB2GiiINAhQphUEKEoI0F1GlysmpUtkSSpMCLEEDDW5QSr4sPgXHm7vd\n41jpZubN/p53dg0g83LgzTn8te9VMOd9CIQ9et1MZlulQEWo+CUwnw7ayDdgv1U1YvfAXjlQUcoo\nAf2Oomp9+K1KwDyHmVMqSsWAjjtNtd+lNMNW1t3SG1HKBPIlvZG4CBm2ZoZC+zMKFufVKzOiK+a2\nlrqF9KLUSZONqnSB3SaDtbYuNawHiTvffJ9PoSCdxA3Dn0EpOeALhn947YvYGZPRMApMPoXElWxM\n5JACPkkJY4tvja+oOaI25YJG3T5lHVCfxcE3hKEd380WW8v4VWQy3FqBCXKGov6L48cXYFw5rCJW\nHPYwI6P/ReetiFlXU+Y0HckFbtLkT3UMHK0KVOHXVYQtV+x6FVJWko72Hr5TIXDESHfLuZbY3vHz\nygycSlGH4sgvve/3Gr6j6vUinr3OAQccPHvmYsxbpMO8VFSyKQ69grcKVLwed3Wft0jpfzixsXHD\nH1drUhfM1amP5VB2OnY6FKmnM36uDIdtZDzvSZg7206o9i9Kj86ah2S0lcUpAAAAAElFTkSuQmCC\n", "text/latex": [ "$$Z_{1} X_{2} X_{3} Z_{4}$$" ], "text/plain": [ "Z ⋅X ⋅X ⋅Z \n", " 1 2 3 4" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "M0 = Z(1)*X(2)*X(3)*Z(4)\n", "M0" ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAGEAAAARBAMAAAA/Ct9RAAAAMFBMVEX///8AAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMA782ru0RUEN2ZIjKJ\nZnbgt/12AAAACXBIWXMAAA7EAAAOxAGVKw4bAAAB3UlEQVQoFVWRQWsTQRiGnzRNN+lukuJFsIfY\nX5CgorSX9CB6bPAuLiiCpwZPnhTRInioHgpFbTGlPyChgichuXjxYCN6EYQGwUNBkNZga4Ou78zs\npnFgvnnfb55vZr9ZoHTi7Ll97PgULXM7uuRMfuGw55X7oXMjVOYX3Dnp0lS75C/EmvQf+Fh3bpTK\nhTDTiKn2aV7FEvx9/ErsRqk0jA8SamwwmTBKlVubycYo5UM1TDYmfg4ZpRbnhuX/UQT63mSULidK\na6ofd2Fyo9SPnvzKqkmzLU2w67oP/poU4zYaqvC+Y/TEb4V3nDGa6pTCOivWpPfssmhustQXrpvM\ntQqTPKbdkM5t6q1ZY0cRntsGvW1TYaklitJ6Q3Is0awp/8LvG9TdkWu156UL9xLKG5AKYeMRXNWG\nuTuo8aQh7U0r8JbskZbXpsJS/hHZLt59eRWxrPkNdp5q/dpTKNTImxY7qnCUf0C2x9gp2JrX8SLT\nmsUDQfarZrVGdfINVThKd6R6VB9enIm68FmF0TSZ8mFFZDv0y3strkQPuIsqHKU+ijVzoBmZTqbl\nlO2iqTPicevZy/VEu7dybuvmjXqS11N/ODbQHJpd9z8sWIqiYQFvvs8dG/IL5xMXrK3yD1r+jfTY\nOMMpAAAAAElFTkSuQmCC\n", "text/latex": [ "$$Z_{2} X_{3} X_{4} Z_{0}$$" ], "text/plain": [ "Z ⋅X ⋅X ⋅Z \n", " 2 3 4 0" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "M1 = Z(2)*X(3)*X(4)*Z(0)\n", "M1" ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAGAAAAARBAMAAADQyLRvAAAAMFBMVEX///8AAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMA782ru0RUEN2ZIjKJ\nZnbgt/12AAAACXBIWXMAAA7EAAAOxAGVKw4bAAAByElEQVQoFVWRv0tbURzFj4m+Z/ISFQcLFfzx\nF7xABauDySA6NnQXX6e6GZwcCqW0UCg0cXCxKkScnAw6CcLr0sGpFp1cDIIUIVBMYqsVfT3fe9+7\nSe/wved87+fk3e8NgOH+Z2N1qHUaFLEUzGiTfnFbtd2mp12L6voNLD/RXWSPkR4PNeIPwElBuzYq\n4QGj5RDyR7AfSsCpw8mEro2KA533ERS7T0YIW25lOzpooxwg60V9q2EQthYnTfo/KsW7Rmt4NlLc\nO5rhBNJro35Vaa/0rN+puXKqph5lq9WUEQp7Iq07lk2sika2T6r1Ryri1yzpr5ZcTFEHz6U9n0ES\nGzgXndjmIwNvdOCLDNedhzhFYYGKj4cEd/WFdadJiZ8qkKj4OeBtBQOGksDWR2AOsAepU3mUyjx9\nrQLf0P0X8Mv4bCgG7Hd8CWYuqgxcAucrzNkS6MkjzfH8AoqGYiD2lLPneM4rxQn3kj1TgQk2g4J8\nYchQDGQ/TI8Gxzzzvb1gEF3ubcauMuC41xW8DN7LDDeGkhnU4gS7klLLWlu7MyZ6JX1kAviEH4WQ\n55ZUQ2vfs6L+B21eGeawNmk0cNrwWu7oyPzUTmnqH7+iirVlrhjbAAAAAElFTkSuQmCC\n", "text/latex": [ "$$Z_{3} X_{4} X_{0} Z_{1}$$" ], "text/plain": [ "Z ⋅X ⋅X ⋅Z \n", " 3 4 0 1" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "M2 = Z(3)*X(4)*X(0)*Z(1)\n", "M2" ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAGEAAAARBAMAAAA/Ct9RAAAAMFBMVEX///8AAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMA782ru0RUEN2ZIjKJ\nZnbgt/12AAAACXBIWXMAAA7EAAAOxAGVKw4bAAAB0UlEQVQoFVWRQWsTQRTHf2nMbpLZmNKLYA9p\nP0GCCqKX5CB6NHgXFxQ9Gjx58BDRUvBQCxZq1UOkH8CQfoD04sWDBuzFIrgXEU/SJpi2Qdc3M7vD\nOoc37//m95+d9xaoLZy/cIhZe/EaD+KrVlSuH0V+fRJalaEKv+HhGVumOaJyMcnJ/4HPHauyVCmE\n5V5CDZfYSVJQh6hGorJUHk7NUmpuVk4ZKdX72+lBllLQDNMDb+wYKd2/7Oz/UQTy3nTVrqWZ7LlJ\n0oWuZalfka60dOBTJOH0x12JAv3VUS3piKaCjU2descmTnWkOS/hK7eNyB/Ipl50tTDUB87p/FaD\nMjwyjtK2zJoVquY5r0yDXtdRzxj2zAwpwQ/jeK0m4M/IhUKV+sOWbMYhkxZqhXdteLsKN1H3tCNo\n87yHOqE4EvWe4knqsJSMr4P/WB6wSuBrx3f4to6aUoyk/zYV3aL+RkLBGsydhUGLfe3Ir0N1qr+R\nE8cloWO5TjsSikCI5tMry/HIj8QxiBcp1I8a0ke1reoHfW7ET6zDUvBFbrHL29o6HqXCzSo567qD\nwm6h70TZzMrKn8n/sMqbd9Dg7p2OE3vj0OXBm02XU345jlJVi2P+ASO3i5a6bIHKAAAAAElFTkSu\nQmCC\n", "text/latex": [ "$$Z_{4} X_{0} X_{1} Z_{2}$$" ], "text/plain": [ "Z ⋅X ⋅X ⋅Z \n", " 4 0 1 2" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "M3 = Z(4)*X(0)*X(1)*Z(2)\n", "M3" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "These operators should mutually commute." ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAAoAAAAOBAMAAADkjZCYAAAAMFBMVEX///8AAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMAEJmJZjLNVN0i77ur\nRHZ72Yd1AAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAVElEQVQIHWNgEDIxZWBgSGeQmMDAsoCBOYGB\n+wAD+0cG/gMMvN8Z5BUYeP8xzDdgYP3MMF8BREJEgLLs3xm4NzCwfATpYkpgYGhnkApgYBB+d5QB\nAPogE3QldevOAAAAAElFTkSuQmCC\n", "text/latex": [ "$$0$$" ], "text/plain": [ "0" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "gate_simp(Commutator(M0,M1).doit())" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "And square to the identity." ] }, { "cell_type": "code", "execution_count": 10, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAPBAMAAAArJJMAAAAAHlBMVEX///8AAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAACGjDitAAAACXRSTlMAVO8Qq5l2zWYZcMvdAAAACXBIWXMAAA7EAAAOxAGV\nKw4bAAAAHUlEQVQIHWNgAANGZQYGk5DJQDYbqQSr03QPsBkAJYgIYEZbtZEAAAAASUVORK5CYII=\n", "text/latex": [ "$$1$$" ], "text/plain": [ "1" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAPBAMAAAArJJMAAAAAHlBMVEX///8AAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAACGjDitAAAACXRSTlMAVO8Qq5l2zWYZcMvdAAAACXBIWXMAAA7EAAAOxAGV\nKw4bAAAAHUlEQVQIHWNgAANGZQYGk5DJQDYbqQSr03QPsBkAJYgIYEZbtZEAAAAASUVORK5CYII=\n", "text/latex": [ "$$1$$" ], "text/plain": [ "1" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAPBAMAAAArJJMAAAAAHlBMVEX///8AAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAACGjDitAAAACXRSTlMAVO8Qq5l2zWYZcMvdAAAACXBIWXMAAA7EAAAOxAGV\nKw4bAAAAHUlEQVQIHWNgAANGZQYGk5DJQDYbqQSr03QPsBkAJYgIYEZbtZEAAAAASUVORK5CYII=\n", "text/latex": [ "$$1$$" ], "text/plain": [ "1" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAPBAMAAAArJJMAAAAAHlBMVEX///8AAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAACGjDitAAAACXRSTlMAVO8Qq5l2zWYZcMvdAAAACXBIWXMAAA7EAAAOxAGV\nKw4bAAAAHUlEQVQIHWNgAANGZQYGk5DJQDYbqQSr03QPsBkAJYgIYEZbtZEAAAAASUVORK5CYII=\n", "text/latex": [ "$$1$$" ], "text/plain": [ "1" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "for o in [M0,M1,M2,M3]:\n", " display(gate_simp(o*o))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "

Codewords

" ] }, { "cell_type": "code", "execution_count": 11, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "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\n", "text/latex": [ "$$\\frac{1}{4} \\left(1 + Z_{1} X_{2} X_{3} Z_{4}\\right) \\left(1 + Z_{2} X_{3} X_{4} Z_{0}\\right) \\left(1 + Z_{3} X_{4} X_{0} Z_{1}\\right) \\left(1 + Z_{4} X_{0} X_{1} Z_{2}\\right) {\\left|0\\right\\rangle }$$" ], "text/plain": [ "⎛1 + Z ⋅X ⋅X ⋅Z ⎞⋅⎛1 + Z ⋅X ⋅X ⋅Z ⎞⋅⎛1 + Z ⋅X ⋅X ⋅Z ⎞⋅⎛1 + Z ⋅X ⋅X ⋅Z ⎞⋅❘0⟩\n", "⎝ 1 2 3 4⎠ ⎝ 2 3 4 0⎠ ⎝ 3 4 0 1⎠ ⎝ 4 0 1 2⎠ \n", "───────────────────────────────────────────────────────────────────────────\n", " 4 " ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ "zero = Rational(1,4)*(1+M0)*(1+M1)*(1+M2)*(1+M3)*IntQubit(0, 5)\n", "zero" ] }, { "cell_type": "code", "execution_count": 12, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "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\n", "text/latex": [ "$${\\left|0\\right\\rangle } + {\\left|3\\right\\rangle } - {\\left|5\\right\\rangle } + {\\left|6\\right\\rangle } - {\\left|9\\right\\rangle } - {\\left|10\\right\\rangle } + {\\left|12\\right\\rangle } - {\\left|15\\right\\rangle } + {\\left|17\\right\\rangle } - {\\left|18\\right\\rangle } - {\\left|20\\right\\rangle } - {\\left|23\\right\\rangle } + {\\left|24\\right\\rangle } - {\\left|27\\right\\rangle } - {\\left|29\\right\\rangle } - {\\left|30\\right\\rangle }$$" ], "text/plain": [ "❘0⟩ + ❘3⟩ - ❘5⟩ + ❘6⟩ - ❘9⟩ - ❘10⟩ + ❘12⟩ - ❘15⟩ + ❘17⟩ - ❘18⟩ - ❘20⟩ - ❘23⟩ +\n", " ❘24⟩ - ❘27⟩ - ❘29⟩ - ❘30⟩" ] }, "execution_count": 12, "metadata": {}, "output_type": "execute_result" } ], "source": [ "qapply(4*zero)" ] }, { "cell_type": "code", "execution_count": 13, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "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\n2IGIHPgPeCASQHE4fCYAAAAASUVORK5CYII=\n", "text/latex": [ "$$\\frac{1}{4} \\left(1 + Z_{1} X_{2} X_{3} Z_{4}\\right) \\left(1 + Z_{2} X_{3} X_{4} Z_{0}\\right) \\left(1 + Z_{3} X_{4} X_{0} Z_{1}\\right) \\left(1 + Z_{4} X_{0} X_{1} Z_{2}\\right) {\\left|31\\right\\rangle }$$" ], "text/plain": [ "⎛1 + Z ⋅X ⋅X ⋅Z ⎞⋅⎛1 + Z ⋅X ⋅X ⋅Z ⎞⋅⎛1 + Z ⋅X ⋅X ⋅Z ⎞⋅⎛1 + Z ⋅X ⋅X ⋅Z ⎞⋅❘31⟩\n", "⎝ 1 2 3 4⎠ ⎝ 2 3 4 0⎠ ⎝ 3 4 0 1⎠ ⎝ 4 0 1 2⎠ \n", "────────────────────────────────────────────────────────────────────────────\n", " 4 " ] }, "execution_count": 13, "metadata": {}, "output_type": "execute_result" } ], "source": [ "one = Rational(1,4)*(1+M0)*(1+M1)*(1+M2)*(1+M3)*IntQubit(2**5-1, 5)\n", "one" ] }, { "cell_type": "code", "execution_count": 14, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "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\n", "text/latex": [ "$$- {\\left|1\\right\\rangle } - {\\left|2\\right\\rangle } - {\\left|4\\right\\rangle } + {\\left|7\\right\\rangle } - {\\left|8\\right\\rangle } - {\\left|11\\right\\rangle } - {\\left|13\\right\\rangle } + {\\left|14\\right\\rangle } - {\\left|16\\right\\rangle } + {\\left|19\\right\\rangle } - {\\left|21\\right\\rangle } - {\\left|22\\right\\rangle } + {\\left|25\\right\\rangle } - {\\left|26\\right\\rangle } + {\\left|28\\right\\rangle } + {\\left|31\\right\\rangle }$$" ], "text/plain": [ "-❘1⟩ - ❘2⟩ - ❘4⟩ + ❘7⟩ - ❘8⟩ - ❘11⟩ - ❘13⟩ + ❘14⟩ - ❘16⟩ + ❘19⟩ - ❘21⟩ - ❘22⟩ \n", "+ ❘25⟩ - ❘26⟩ + ❘28⟩ + ❘31⟩" ] }, "execution_count": 14, "metadata": {}, "output_type": "execute_result" } ], "source": [ "qapply(4*one)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "

The encoding circuit

" ] }, { "cell_type": "code", "execution_count": 15, "metadata": { "collapsed": false }, "outputs": [], "source": [ "encoding_circuit = H(3)*H(4)*CNOT(2,0)*CNOT(3,0)*CNOT(4,0)*H(1)*H(4)*\\\n", " CNOT(2,1)*CNOT(4,1)*H(2)*CNOT(3,2)*CNOT(4,2)*H(3)*\\\n", " H(4)*CNOT(4, 3)*Z(4)*H(4)*Z(4)" ] }, { "cell_type": "code", "execution_count": 17, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "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\nYII=\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "circuit_plot(encoding_circuit, nqubits=5, scale=0.5);" ] }, { "cell_type": "code", "execution_count": 18, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "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\n", "text/latex": [ "$$\\left[\\begin{array}{cccccccccccccccccccccccccccccccc}1 & 0 & 1 & 0 & 1 & 0 & 1 & 0 & 0 & -1 & 0 & -1 & 0 & -1 & 0 & -1 & 0 & -1 & 0 & -1 & 0 & -1 & 0 & -1 & -1 & 0 & -1 & 0 & -1 & 0 & -1 & 0\\\\0 & 1 & 0 & 1 & 0 & 1 & 0 & 1 & -1 & 0 & -1 & 0 & -1 & 0 & -1 & 0 & -1 & 0 & -1 & 0 & -1 & 0 & -1 & 0 & 0 & -1 & 0 & -1 & 0 & -1 & 0 & -1\\\\0 & 1 & 0 & -1 & 0 & 1 & 0 & -1 & -1 & 0 & 1 & 0 & -1 & 0 & 1 & 0 & -1 & 0 & 1 & 0 & -1 & 0 & 1 & 0 & 0 & -1 & 0 & 1 & 0 & -1 & 0 & 1\\\\1 & 0 & -1 & 0 & 1 & 0 & -1 & 0 & 0 & -1 & 0 & 1 & 0 & -1 & 0 & 1 & 0 & -1 & 0 & 1 & 0 & -1 & 0 & 1 & -1 & 0 & 1 & 0 & -1 & 0 & 1 & 0\\\\0 & -1 & 0 & -1 & 0 & 1 & 0 & 1 & 1 & 0 & 1 & 0 & -1 & 0 & -1 & 0 & -1 & 0 & -1 & 0 & 1 & 0 & 1 & 0 & 0 & -1 & 0 & -1 & 0 & 1 & 0 & 1\\\\-1 & 0 & -1 & 0 & 1 & 0 & 1 & 0 & 0 & 1 & 0 & 1 & 0 & -1 & 0 & -1 & 0 & -1 & 0 & -1 & 0 & 1 & 0 & 1 & -1 & 0 & -1 & 0 & 1 & 0 & 1 & 0\\\\1 & 0 & -1 & 0 & -1 & 0 & 1 & 0 & 0 & -1 & 0 & 1 & 0 & 1 & 0 & -1 & 0 & 1 & 0 & -1 & 0 & -1 & 0 & 1 & 1 & 0 & -1 & 0 & -1 & 0 & 1 & 0\\\\0 & 1 & 0 & -1 & 0 & -1 & 0 & 1 & -1 & 0 & 1 & 0 & 1 & 0 & -1 & 0 & 1 & 0 & -1 & 0 & -1 & 0 & 1 & 0 & 0 & 1 & 0 & -1 & 0 & -1 & 0 & 1\\\\0 & -1 & 0 & -1 & 0 & -1 & 0 & -1 & 1 & 0 & 1 & 0 & 1 & 0 & 1 & 0 & -1 & 0 & -1 & 0 & -1 & 0 & -1 & 0 & 0 & -1 & 0 & -1 & 0 & -1 & 0 & -1\\\\-1 & 0 & -1 & 0 & -1 & 0 & -1 & 0 & 0 & 1 & 0 & 1 & 0 & 1 & 0 & 1 & 0 & -1 & 0 & -1 & 0 & -1 & 0 & -1 & -1 & 0 & -1 & 0 & -1 & 0 & -1 & 0\\\\-1 & 0 & 1 & 0 & -1 & 0 & 1 & 0 & 0 & 1 & 0 & -1 & 0 & 1 & 0 & -1 & 0 & -1 & 0 & 1 & 0 & -1 & 0 & 1 & -1 & 0 & 1 & 0 & -1 & 0 & 1 & 0\\\\0 & -1 & 0 & 1 & 0 & -1 & 0 & 1 & 1 & 0 & -1 & 0 & 1 & 0 & -1 & 0 & -1 & 0 & 1 & 0 & -1 & 0 & 1 & 0 & 0 & -1 & 0 & 1 & 0 & -1 & 0 & 1\\\\1 & 0 & 1 & 0 & -1 & 0 & -1 & 0 & 0 & -1 & 0 & -1 & 0 & 1 & 0 & 1 & 0 & -1 & 0 & -1 & 0 & 1 & 0 & 1 & -1 & 0 & -1 & 0 & 1 & 0 & 1 & 0\\\\0 & 1 & 0 & 1 & 0 & -1 & 0 & -1 & -1 & 0 & -1 & 0 & 1 & 0 & 1 & 0 & -1 & 0 & -1 & 0 & 1 & 0 & 1 & 0 & 0 & -1 & 0 & -1 & 0 & 1 & 0 & 1\\\\0 & -1 & 0 & 1 & 0 & 1 & 0 & -1 & 1 & 0 & -1 & 0 & -1 & 0 & 1 & 0 & 1 & 0 & -1 & 0 & -1 & 0 & 1 & 0 & 0 & 1 & 0 & -1 & 0 & -1 & 0 & 1\\\\-1 & 0 & 1 & 0 & 1 & 0 & -1 & 0 & 0 & 1 & 0 & -1 & 0 & -1 & 0 & 1 & 0 & 1 & 0 & -1 & 0 & -1 & 0 & 1 & 1 & 0 & -1 & 0 & -1 & 0 & 1 & 0\\\\0 & 1 & 0 & 1 & 0 & 1 & 0 & 1 & 1 & 0 & 1 & 0 & 1 & 0 & 1 & 0 & -1 & 0 & -1 & 0 & -1 & 0 & -1 & 0 & 0 & 1 & 0 & 1 & 0 & 1 & 0 & 1\\\\1 & 0 & 1 & 0 & 1 & 0 & 1 & 0 & 0 & 1 & 0 & 1 & 0 & 1 & 0 & 1 & 0 & -1 & 0 & -1 & 0 & -1 & 0 & -1 & 1 & 0 & 1 & 0 & 1 & 0 & 1 & 0\\\\-1 & 0 & 1 & 0 & -1 & 0 & 1 & 0 & 0 & -1 & 0 & 1 & 0 & -1 & 0 & 1 & 0 & 1 & 0 & -1 & 0 & 1 & 0 & -1 & -1 & 0 & 1 & 0 & -1 & 0 & 1 & 0\\\\0 & -1 & 0 & 1 & 0 & -1 & 0 & 1 & -1 & 0 & 1 & 0 & -1 & 0 & 1 & 0 & 1 & 0 & -1 & 0 & 1 & 0 & -1 & 0 & 0 & -1 & 0 & 1 & 0 & -1 & 0 & 1\\\\-1 & 0 & -1 & 0 & 1 & 0 & 1 & 0 & 0 & -1 & 0 & -1 & 0 & 1 & 0 & 1 & 0 & -1 & 0 & -1 & 0 & 1 & 0 & 1 & 1 & 0 & 1 & 0 & -1 & 0 & -1 & 0\\\\0 & -1 & 0 & -1 & 0 & 1 & 0 & 1 & -1 & 0 & -1 & 0 & 1 & 0 & 1 & 0 & -1 & 0 & -1 & 0 & 1 & 0 & 1 & 0 & 0 & 1 & 0 & 1 & 0 & -1 & 0 & -1\\\\0 & -1 & 0 & 1 & 0 & 1 & 0 & -1 & -1 & 0 & 1 & 0 & 1 & 0 & -1 & 0 & -1 & 0 & 1 & 0 & 1 & 0 & -1 & 0 & 0 & 1 & 0 & -1 & 0 & -1 & 0 & 1\\\\-1 & 0 & 1 & 0 & 1 & 0 & -1 & 0 & 0 & -1 & 0 & 1 & 0 & 1 & 0 & -1 & 0 & -1 & 0 & 1 & 0 & 1 & 0 & -1 & 1 & 0 & -1 & 0 & -1 & 0 & 1 & 0\\\\1 & 0 & 1 & 0 & 1 & 0 & 1 & 0 & 0 & 1 & 0 & 1 & 0 & 1 & 0 & 1 & 0 & 1 & 0 & 1 & 0 & 1 & 0 & 1 & -1 & 0 & -1 & 0 & -1 & 0 & -1 & 0\\\\0 & 1 & 0 & 1 & 0 & 1 & 0 & 1 & 1 & 0 & 1 & 0 & 1 & 0 & 1 & 0 & 1 & 0 & 1 & 0 & 1 & 0 & 1 & 0 & 0 & -1 & 0 & -1 & 0 & -1 & 0 & -1\\\\0 & -1 & 0 & 1 & 0 & -1 & 0 & 1 & -1 & 0 & 1 & 0 & -1 & 0 & 1 & 0 & -1 & 0 & 1 & 0 & -1 & 0 & 1 & 0 & 0 & 1 & 0 & -1 & 0 & 1 & 0 & -1\\\\-1 & 0 & 1 & 0 & -1 & 0 & 1 & 0 & 0 & -1 & 0 & 1 & 0 & -1 & 0 & 1 & 0 & -1 & 0 & 1 & 0 & -1 & 0 & 1 & 1 & 0 & -1 & 0 & 1 & 0 & -1 & 0\\\\0 & -1 & 0 & -1 & 0 & 1 & 0 & 1 & -1 & 0 & -1 & 0 & 1 & 0 & 1 & 0 & 1 & 0 & 1 & 0 & -1 & 0 & -1 & 0 & 0 & -1 & 0 & -1 & 0 & 1 & 0 & 1\\\\-1 & 0 & -1 & 0 & 1 & 0 & 1 & 0 & 0 & -1 & 0 & -1 & 0 & 1 & 0 & 1 & 0 & 1 & 0 & 1 & 0 & -1 & 0 & -1 & -1 & 0 & -1 & 0 & 1 & 0 & 1 & 0\\\\-1 & 0 & 1 & 0 & 1 & 0 & -1 & 0 & 0 & -1 & 0 & 1 & 0 & 1 & 0 & -1 & 0 & 1 & 0 & -1 & 0 & -1 & 0 & 1 & -1 & 0 & 1 & 0 & 1 & 0 & -1 & 0\\\\0 & -1 & 0 & 1 & 0 & 1 & 0 & -1 & -1 & 0 & 1 & 0 & 1 & 0 & -1 & 0 & 1 & 0 & -1 & 0 & -1 & 0 & 1 & 0 & 0 & -1 & 0 & 1 & 0 & 1 & 0 & -1\\end{array}\\right]$$" ], "text/plain": [ "⎡1 0 1 0 1 0 1 0 0 -1 0 -1 0 -1 0 -1 0 -1 0 -\n", "⎢ \n", "⎢0 1 0 1 0 1 0 1 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0\n", "⎢ \n", "⎢0 1 0 -1 0 1 0 -1 -1 0 1 0 -1 0 1 0 -1 0 1 0\n", "⎢ \n", "⎢1 0 -1 0 1 0 -1 0 0 -1 0 1 0 -1 0 1 0 -1 0 1\n", "⎢ \n", "⎢0 -1 0 -1 0 1 0 1 1 0 1 0 -1 0 -1 0 -1 0 -1 0\n", "⎢ \n", "⎢-1 0 -1 0 1 0 1 0 0 1 0 1 0 -1 0 -1 0 -1 0 -\n", "⎢ \n", "⎢1 0 -1 0 -1 0 1 0 0 -1 0 1 0 1 0 -1 0 1 0 -\n", "⎢ \n", "⎢0 1 0 -1 0 -1 0 1 -1 0 1 0 1 0 -1 0 1 0 -1 0\n", "⎢ \n", "⎢0 -1 0 -1 0 -1 0 -1 1 0 1 0 1 0 1 0 -1 0 -1 0\n", "⎢ \n", "⎢-1 0 -1 0 -1 0 -1 0 0 1 0 1 0 1 0 1 0 -1 0 -\n", "⎢ \n", "⎢-1 0 1 0 -1 0 1 0 0 1 0 -1 0 1 0 -1 0 -1 0 1\n", "⎢ \n", "⎢0 -1 0 1 0 -1 0 1 1 0 -1 0 1 0 -1 0 -1 0 1 0\n", "⎢ \n", "⎢1 0 1 0 -1 0 -1 0 0 -1 0 -1 0 1 0 1 0 -1 0 -\n", "⎢ \n", "⎢0 1 0 1 0 -1 0 -1 -1 0 -1 0 1 0 1 0 -1 0 -1 0\n", "⎢ \n", "⎢0 -1 0 1 0 1 0 -1 1 0 -1 0 -1 0 1 0 1 0 -1 0\n", "⎢ \n", "⎢-1 0 1 0 1 0 -1 0 0 1 0 -1 0 -1 0 1 0 1 0 -\n", "⎢ \n", "⎢0 1 0 1 0 1 0 1 1 0 1 0 1 0 1 0 -1 0 -1 0\n", "⎢ \n", "⎢1 0 1 0 1 0 1 0 0 1 0 1 0 1 0 1 0 -1 0 -\n", "⎢ \n", "⎢-1 0 1 0 -1 0 1 0 0 -1 0 1 0 -1 0 1 0 1 0 -\n", "⎢ \n", "⎢0 -1 0 1 0 -1 0 1 -1 0 1 0 -1 0 1 0 1 0 -1 0\n", "⎢ \n", "⎢-1 0 -1 0 1 0 1 0 0 -1 0 -1 0 1 0 1 0 -1 0 -\n", "⎢ \n", "⎢0 -1 0 -1 0 1 0 1 -1 0 -1 0 1 0 1 0 -1 0 -1 0\n", "⎢ \n", "⎢0 -1 0 1 0 1 0 -1 -1 0 1 0 1 0 -1 0 -1 0 1 0\n", "⎢ \n", "⎢-1 0 1 0 1 0 -1 0 0 -1 0 1 0 1 0 -1 0 -1 0 1\n", "⎢ \n", "⎢1 0 1 0 1 0 1 0 0 1 0 1 0 1 0 1 0 1 0 1\n", "⎢ \n", "⎢0 1 0 1 0 1 0 1 1 0 1 0 1 0 1 0 1 0 1 0\n", "⎢ \n", "⎢0 -1 0 1 0 -1 0 1 -1 0 1 0 -1 0 1 0 -1 0 1 0\n", "⎢ \n", "⎢-1 0 1 0 -1 0 1 0 0 -1 0 1 0 -1 0 1 0 -1 0 1\n", "⎢ \n", "⎢0 -1 0 -1 0 1 0 1 -1 0 -1 0 1 0 1 0 1 0 1 0\n", "⎢ \n", "⎢-1 0 -1 0 1 0 1 0 0 -1 0 -1 0 1 0 1 0 1 0 1\n", "⎢ \n", "⎢-1 0 1 0 1 0 -1 0 0 -1 0 1 0 1 0 -1 0 1 0 -\n", "⎢ \n", "⎣0 -1 0 1 0 1 0 -1 -1 0 1 0 1 0 -1 0 1 0 -1 0\n", "\n", "1 0 -1 0 -1 -1 0 -1 0 -1 0 -1 0 ⎤\n", " ⎥\n", " -1 0 -1 0 0 -1 0 -1 0 -1 0 -1⎥\n", " ⎥\n", " -1 0 1 0 0 -1 0 1 0 -1 0 1 ⎥\n", " ⎥\n", " 0 -1 0 1 -1 0 1 0 -1 0 1 0 ⎥\n", " ⎥\n", " 1 0 1 0 0 -1 0 -1 0 1 0 1 ⎥\n", " ⎥\n", "1 0 1 0 1 -1 0 -1 0 1 0 1 0 ⎥\n", " ⎥\n", "1 0 -1 0 1 1 0 -1 0 -1 0 1 0 ⎥\n", " ⎥\n", " -1 0 1 0 0 1 0 -1 0 -1 0 1 ⎥\n", " ⎥\n", " -1 0 -1 0 0 -1 0 -1 0 -1 0 -1⎥\n", " ⎥\n", "1 0 -1 0 -1 -1 0 -1 0 -1 0 -1 0 ⎥\n", " ⎥\n", " 0 -1 0 1 -1 0 1 0 -1 0 1 0 ⎥\n", " ⎥\n", " -1 0 1 0 0 -1 0 1 0 -1 0 1 ⎥\n", " ⎥\n", "1 0 1 0 1 -1 0 -1 0 1 0 1 0 ⎥\n", " ⎥\n", " 1 0 1 0 0 -1 0 -1 0 1 0 1 ⎥\n", " ⎥\n", " -1 0 1 0 0 1 0 -1 0 -1 0 1 ⎥\n", " ⎥\n", "1 0 -1 0 1 1 0 -1 0 -1 0 1 0 ⎥\n", " ⎥\n", " -1 0 -1 0 0 1 0 1 0 1 0 1 ⎥\n", " ⎥\n", "1 0 -1 0 -1 1 0 1 0 1 0 1 0 ⎥\n", " ⎥\n", "1 0 1 0 -1 -1 0 1 0 -1 0 1 0 ⎥\n", " ⎥\n", " 1 0 -1 0 0 -1 0 1 0 -1 0 1 ⎥\n", " ⎥\n", "1 0 1 0 1 1 0 1 0 -1 0 -1 0 ⎥\n", " ⎥\n", " 1 0 1 0 0 1 0 1 0 -1 0 -1⎥\n", " ⎥\n", " 1 0 -1 0 0 1 0 -1 0 -1 0 1 ⎥\n", " ⎥\n", " 0 1 0 -1 1 0 -1 0 -1 0 1 0 ⎥\n", " ⎥\n", " 0 1 0 1 -1 0 -1 0 -1 0 -1 0 ⎥\n", " ⎥\n", " 1 0 1 0 0 -1 0 -1 0 -1 0 -1⎥\n", " ⎥\n", " -1 0 1 0 0 1 0 -1 0 1 0 -1⎥\n", " ⎥\n", " 0 -1 0 1 1 0 -1 0 1 0 -1 0 ⎥\n", " ⎥\n", " -1 0 -1 0 0 -1 0 -1 0 1 0 1 ⎥\n", " ⎥\n", " 0 -1 0 -1 -1 0 -1 0 1 0 1 0 ⎥\n", " ⎥\n", "1 0 -1 0 1 -1 0 1 0 1 0 -1 0 ⎥\n", " ⎥\n", " -1 0 1 0 0 -1 0 1 0 1 0 -1⎦" ] }, "execution_count": 18, "metadata": {}, "output_type": "execute_result" } ], "source": [ "represent(4*encoding_circuit, nqubits=5)" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.5.1" } }, "nbformat": 4, "nbformat_minor": 0 }