Show More
The requested changes are too big and content was truncated. Show full diff
@@ -1,282 +1,402 b'' | |||||
1 | { |
|
1 | { | |
|
2 | "metadata": { | |||
|
3 | "name": "basic_quantum" | |||
|
4 | }, | |||
|
5 | "nbformat": 2, | |||
2 | "worksheets": [ |
|
6 | "worksheets": [ | |
3 | { |
|
7 | { | |
4 | "cells": [ |
|
8 | "cells": [ | |
5 | { |
|
9 | { | |
6 | "source": "<h1>Basic Symbolic Quantum Mechanics</h1>", |
|
10 | "cell_type": "markdown", | |
7 |
" |
|
11 | "source": [ | |
|
12 | "<h1>Basic Symbolic Quantum Mechanics</h1>" | |||
|
13 | ] | |||
8 | }, |
|
14 | }, | |
9 | { |
|
15 | { | |
10 | "cell_type": "code", |
|
16 | "cell_type": "code", | |
|
17 | "collapsed": true, | |||
|
18 | "input": [ | |||
|
19 | "%load_ext sympyprinting" | |||
|
20 | ], | |||
11 | "language": "python", |
|
21 | "language": "python", | |
12 | "outputs": [], |
|
22 | "outputs": [], | |
13 |
" |
|
23 | "prompt_number": 18 | |
14 | "prompt_number": 18, |
|
|||
15 | "input": "%load_ext sympyprinting" |
|
|||
16 | }, |
|
24 | }, | |
17 | { |
|
25 | { | |
18 | "cell_type": "code", |
|
26 | "cell_type": "code", | |
|
27 | "collapsed": true, | |||
|
28 | "input": [ | |||
|
29 | "from sympy import sqrt, symbols, Rational", | |||
|
30 | "from sympy import expand, Eq, Symbol, simplify, exp, sin", | |||
|
31 | "from sympy.physics.quantum import *", | |||
|
32 | "from sympy.physics.quantum.qubit import *", | |||
|
33 | "from sympy.physics.quantum.gate import *", | |||
|
34 | "from sympy.physics.quantum.grover import *", | |||
|
35 | "from sympy.physics.quantum.qft import QFT, IQFT, Fourier", | |||
|
36 | "from sympy.physics.quantum.circuitplot import circuit_plot" | |||
|
37 | ], | |||
19 | "language": "python", |
|
38 | "language": "python", | |
20 | "outputs": [], |
|
39 | "outputs": [], | |
21 |
" |
|
40 | "prompt_number": 19 | |
22 | "prompt_number": 19, |
|
|||
23 | "input": "from sympy import sqrt, symbols, Rational\nfrom sympy import expand, Eq, Symbol, simplify, exp, sin\nfrom sympy.physics.quantum import *\nfrom sympy.physics.quantum.qubit import *\nfrom sympy.physics.quantum.gate import *\nfrom sympy.physics.quantum.grover import *\nfrom sympy.physics.quantum.qft import QFT, IQFT, Fourier\nfrom sympy.physics.quantum.circuitplot import circuit_plot" |
|
|||
24 | }, |
|
41 | }, | |
25 | { |
|
42 | { | |
26 |
" |
|
43 | "cell_type": "markdown", | |
27 |
" |
|
44 | "source": [ | |
|
45 | "<h2>Bras and Kets</h2>" | |||
|
46 | ] | |||
28 | }, |
|
47 | }, | |
29 | { |
|
48 | { | |
30 |
" |
|
49 | "cell_type": "markdown", | |
31 |
" |
|
50 | "source": [ | |
|
51 | "Create symbolic states" | |||
|
52 | ] | |||
32 | }, |
|
53 | }, | |
33 | { |
|
54 | { | |
34 | "cell_type": "code", |
|
55 | "cell_type": "code", | |
|
56 | "collapsed": true, | |||
|
57 | "input": [ | |||
|
58 | "phi, psi = Ket('phi'), Ket('psi')", | |||
|
59 | "alpha, beta = symbols('alpha beta', complex=True)" | |||
|
60 | ], | |||
35 | "language": "python", |
|
61 | "language": "python", | |
36 | "outputs": [], |
|
62 | "outputs": [], | |
37 |
" |
|
63 | "prompt_number": 20 | |
38 | "prompt_number": 20, |
|
|||
39 | "input": "phi, psi = Ket('phi'), Ket('psi')\nalpha, beta = symbols('alpha beta', complex=True)" |
|
|||
40 | }, |
|
64 | }, | |
41 | { |
|
65 | { | |
42 |
" |
|
66 | "cell_type": "markdown", | |
43 |
" |
|
67 | "source": [ | |
|
68 | "Create a superposition" | |||
|
69 | ] | |||
44 | }, |
|
70 | }, | |
45 | { |
|
71 | { | |
46 | "cell_type": "code", |
|
72 | "cell_type": "code", | |
|
73 | "collapsed": false, | |||
|
74 | "input": [ | |||
|
75 | "state = alpha*psi + beta*phi; state" | |||
|
76 | ], | |||
47 | "language": "python", |
|
77 | "language": "python", | |
48 | "outputs": [ |
|
78 | "outputs": [ | |
49 | { |
|
79 | { | |
|
80 | "latex": [ | |||
|
81 | "$$\\alpha {\\left|\\psi\\right\\rangle } + \\beta {\\left|\\phi\\right\\rangle }$$" | |||
|
82 | ], | |||
50 | "output_type": "pyout", |
|
83 | "output_type": "pyout", | |
51 | "latex": "$$\\alpha {\\left|\\psi\\right\\rangle } + \\beta {\\left|\\phi\\right\\rangle }$$", |
|
|||
52 | "prompt_number": 21, |
|
|||
53 | "png": "iVBORw0KGgoAAAANSUhEUgAAAF8AAAAXCAYAAABtR5P0AAAABHNCSVQICAgIfAhkiAAABHBJREFU\naIHt2VmsXWMUB/Dfvb0dqBYtjZCrWvdBOiDVlmpTLTW0UiSGkHjRpoZETSUkTQyJseaIGzFUESXE\nA0rwwJWK4UE0SjwgaFNqnkra4PKw9s7Zd9+99z2nd0By/y/nfGt9a531/771rW/tfRjE/xL3Y8y/\nHUQ/o185NvfCdjSGNTD/JgzNyS7HhF7E0FeYhnYR41pciyaNcbwUB+RklfxaGgyyNxiJP3Kyp7Ac\nVwxgHHksxV+4WMTXjC/wSYN+2vB5TlbJrzeZ3wjG4tsC+SbsgVG99D9tJ+2Ow59Yo5YYnfgNhzXg\np1lsYB6V/AZq8Y9CR4luNZb00v8dO2EzCvPxSE4+XmTx2w34mor3S3Sl/AZq8WcoJ/MWZg5gLCnO\nwmMF8hvxiigZ9WKu8uQq5VdU8ycmgbViHL7Glfgl0Tfh7wK7YTgPR2IDbsnohqod69vFxXRqRr8O\ni/FsCYH+wHjRzYzGQ9guYv8KRyvmmEUrVuB7nISDsAtuwKe5uXXxO1jUqUXJuBn3Jcbpzt2dfD6J\nfTK2l2CS2OXt2C2R76XrhbMav+d+t0VxFtaLjgbnj8rENEpswmqR7Z1YkOjyHFNchJexv1iXexP5\n4diie9fTI782setX5+QniiyYif0y+mxgQ3FX8n0FflDbrNNE2UkxVvfMgKtwSFWAFehocP4iwSeP\n4fhOcKN48c/BR2rJNQ3LMvrn8GCB70p+a8Xij8zJW8XiLxcLv29BYMPFxsBGcVpSXI8hmfEQkWV5\njFHLoEbR0eD8lbmYstiIV5Pv+cWfgB1YmJGtEImb4gHF91s3fmnNb8axeEG0WVlsTj6PEH3slwWO\nd4jjNhlTRM+coknXNmw6Hi7wkc4twwQ8o/hibhP3TB5bxMnNo0Vxa9iCA/FSSQwL8VNO36brM8F0\nvFNi34VfuviTRW3+oMSIaKeWVuhhjiC1PhnvLS7sLCbiiQLbc0XWlOEz5f18B+b1EFuK0UlcRThZ\nXJrrSvST8bHaZdwinhNStInkW1lg241fmkWbEof5hSJqW6fY7e0lQaXoxDa1rJqH1zL6Zblxihax\nue/14L8vMBfH636CWkQJWYPXS2zXq5Vd4kHs3eR7k+ia2vFige9u/NIAfhZH+vic0QLcKo7RuGT+\nKSWBwfOilp6QjCeJ0zQCq8SdsrXA7nQ8XeG3LzED14i2OK37acfyo64lM4914kn9zGQ8XyTTWHGa\nN+CyArtCftk+/2zcJi6ZzUlAb+IC0YLeI148PV4R3FZR867DLNFRrEp07aJ0FGFx8vsDgRGiuViK\nR0Xi7Yk3cL7q/n4bjhFNxGxRZsdgV9ys+N6hH/iV9cAppuLCOvzMUp1t9aCjznm7K67HZajiOESt\nva5CKb/+fKSfr75FWaK49WwE39Q5b644zX2BQ5W/z8milF9vFr9TcbuWYgo+7MFHq6izv/YiDjij\nznmzNfbCrIrjHFGqqtBX/Lqhp9fA7XX4GOg/Uxp9+1nF8c467P8rfxYNYhCDGAT8A+0w3Ws5danI\nAAAAAElFTkSuQmCC\n", |
|
84 | "png": "iVBORw0KGgoAAAANSUhEUgAAAF8AAAAXCAYAAABtR5P0AAAABHNCSVQICAgIfAhkiAAABHBJREFU\naIHt2VmsXWMUB/Dfvb0dqBYtjZCrWvdBOiDVlmpTLTW0UiSGkHjRpoZETSUkTQyJseaIGzFUESXE\nA0rwwJWK4UE0SjwgaFNqnkra4PKw9s7Zd9+99z2nd0By/y/nfGt9a531/771rW/tfRjE/xL3Y8y/\nHUQ/o185NvfCdjSGNTD/JgzNyS7HhF7E0FeYhnYR41pciyaNcbwUB+RklfxaGgyyNxiJP3Kyp7Ac\nVwxgHHksxV+4WMTXjC/wSYN+2vB5TlbJrzeZ3wjG4tsC+SbsgVG99D9tJ+2Ow59Yo5YYnfgNhzXg\np1lsYB6V/AZq8Y9CR4luNZb00v8dO2EzCvPxSE4+XmTx2w34mor3S3Sl/AZq8WcoJ/MWZg5gLCnO\nwmMF8hvxiigZ9WKu8uQq5VdU8ycmgbViHL7Glfgl0Tfh7wK7YTgPR2IDbsnohqod69vFxXRqRr8O\ni/FsCYH+wHjRzYzGQ9guYv8KRyvmmEUrVuB7nISDsAtuwKe5uXXxO1jUqUXJuBn3Jcbpzt2dfD6J\nfTK2l2CS2OXt2C2R76XrhbMav+d+t0VxFtaLjgbnj8rENEpswmqR7Z1YkOjyHFNchJexv1iXexP5\n4diie9fTI782setX5+QniiyYif0y+mxgQ3FX8n0FflDbrNNE2UkxVvfMgKtwSFWAFehocP4iwSeP\n4fhOcKN48c/BR2rJNQ3LMvrn8GCB70p+a8Xij8zJW8XiLxcLv29BYMPFxsBGcVpSXI8hmfEQkWV5\njFHLoEbR0eD8lbmYstiIV5Pv+cWfgB1YmJGtEImb4gHF91s3fmnNb8axeEG0WVlsTj6PEH3slwWO\nd4jjNhlTRM+coknXNmw6Hi7wkc4twwQ8o/hibhP3TB5bxMnNo0Vxa9iCA/FSSQwL8VNO36brM8F0\nvFNi34VfuviTRW3+oMSIaKeWVuhhjiC1PhnvLS7sLCbiiQLbc0XWlOEz5f18B+b1EFuK0UlcRThZ\nXJrrSvST8bHaZdwinhNStInkW1lg241fmkWbEof5hSJqW6fY7e0lQaXoxDa1rJqH1zL6Zblxihax\nue/14L8vMBfH636CWkQJWYPXS2zXq5Vd4kHs3eR7k+ia2vFige9u/NIAfhZH+vic0QLcKo7RuGT+\nKSWBwfOilp6QjCeJ0zQCq8SdsrXA7nQ8XeG3LzED14i2OK37acfyo64lM4914kn9zGQ8XyTTWHGa\nN+CyArtCftk+/2zcJi6ZzUlAb+IC0YLeI148PV4R3FZR867DLNFRrEp07aJ0FGFx8vsDgRGiuViK\nR0Xi7Yk3cL7q/n4bjhFNxGxRZsdgV9ys+N6hH/iV9cAppuLCOvzMUp1t9aCjznm7K67HZajiOESt\nva5CKb/+fKSfr75FWaK49WwE39Q5b644zX2BQ5W/z8milF9vFr9TcbuWYgo+7MFHq6izv/YiDjij\nznmzNfbCrIrjHFGqqtBX/Lqhp9fA7XX4GOg/Uxp9+1nF8c467P8rfxYNYhCDGAT8A+0w3Ws5danI\nAAAAAElFTkSuQmCC\n", | |
54 | "text": "\u03b1\u22c5\u2758\u03c8\u27e9 + \u03b2\u22c5\u2758\u03c6\u27e9" |
|
85 | "prompt_number": 21, | |
|
86 | "text": [ | |||
|
87 | "\u03b1\u22c5\u2758\u03c8\u27e9 + \u03b2\u22c5\u2758\u03c6\u27e9" | |||
|
88 | ] | |||
55 | } |
|
89 | } | |
56 | ], |
|
90 | ], | |
57 |
" |
|
91 | "prompt_number": 21 | |
58 | "prompt_number": 21, |
|
|||
59 | "input": "state = alpha*psi + beta*phi; state\n" |
|
|||
60 | }, |
|
92 | }, | |
61 | { |
|
93 | { | |
62 | "source": "Dagger the superposition and multiply the original", |
|
94 | "cell_type": "markdown", | |
63 |
" |
|
95 | "source": [ | |
|
96 | "Dagger the superposition and multiply the original" | |||
|
97 | ] | |||
64 | }, |
|
98 | }, | |
65 | { |
|
99 | { | |
66 | "cell_type": "code", |
|
100 | "cell_type": "code", | |
|
101 | "collapsed": false, | |||
|
102 | "input": [ | |||
|
103 | "ip = Dagger(state)*state; ip" | |||
|
104 | ], | |||
67 | "language": "python", |
|
105 | "language": "python", | |
68 | "outputs": [ |
|
106 | "outputs": [ | |
69 | { |
|
107 | { | |
|
108 | "latex": [ | |||
|
109 | "$$\\left(\\overline{\\alpha} {\\left\\langle \\psi\\right|} + \\overline{\\beta} {\\left\\langle \\phi\\right|}\\right) \\left(\\alpha {\\left|\\psi\\right\\rangle } + \\beta {\\left|\\phi\\right\\rangle }\\right)$$" | |||
|
110 | ], | |||
70 | "output_type": "pyout", |
|
111 | "output_type": "pyout", | |
71 | "latex": "$$\\left(\\overline{\\alpha} {\\left\\langle \\psi\\right|} + \\overline{\\beta} {\\left\\langle \\phi\\right|}\\right) \\left(\\alpha {\\left|\\psi\\right\\rangle } + \\beta {\\left|\\phi\\right\\rangle }\\right)$$", |
|
|||
72 | "prompt_number": 22, |
|
|||
73 | "png": "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\n2Kc62Q7y4E4AAAAASUVORK5CYII=\n", |
|
112 | "png": "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\n2Kc62Q7y4E4AAAAASUVORK5CYII=\n", | |
74 | "text": "\u239b\u23bd \u23bd \u239e \n\u239d\u03b1\u22c5\u27e8\u03c8\u2758 + \u03b2\u22c5\u27e8\u03c6\u2758\u23a0\u22c5(\u03b1\u22c5\u2758\u03c8\u27e9 + \u03b2\u22c5\u2758\u03c6\u27e9)" |
|
113 | "prompt_number": 22, | |
|
114 | "text": [ | |||
|
115 | "\u239b\u23bd \u23bd \u239e ", | |||
|
116 | "\u239d\u03b1\u22c5\u27e8\u03c8\u2758 + \u03b2\u22c5\u27e8\u03c6\u2758\u23a0\u22c5(\u03b1\u22c5\u2758\u03c8\u27e9 + \u03b2\u22c5\u2758\u03c6\u27e9)" | |||
|
117 | ] | |||
75 | } |
|
118 | } | |
76 | ], |
|
119 | ], | |
77 |
" |
|
120 | "prompt_number": 22 | |
78 | "prompt_number": 22, |
|
|||
79 | "input": "ip = Dagger(state)*state; ip\n" |
|
|||
80 | }, |
|
121 | }, | |
81 | { |
|
122 | { | |
82 |
" |
|
123 | "cell_type": "markdown", | |
83 |
" |
|
124 | "source": [ | |
|
125 | "Distribute" | |||
|
126 | ] | |||
84 | }, |
|
127 | }, | |
85 | { |
|
128 | { | |
86 | "cell_type": "code", |
|
129 | "cell_type": "code", | |
|
130 | "collapsed": false, | |||
|
131 | "input": [ | |||
|
132 | "qapply(expand(ip))" | |||
|
133 | ], | |||
87 | "language": "python", |
|
134 | "language": "python", | |
88 | "outputs": [ |
|
135 | "outputs": [ | |
89 | { |
|
136 | { | |
|
137 | "latex": [ | |||
|
138 | "$$\\alpha \\overline{\\alpha} \\left\\langle \\psi \\right. {\\left|\\psi\\right\\rangle } + \\alpha \\overline{\\beta} \\left\\langle \\phi \\right. {\\left|\\psi\\right\\rangle } + \\beta \\overline{\\alpha} \\left\\langle \\psi \\right. {\\left|\\phi\\right\\rangle } + \\beta \\overline{\\beta} \\left\\langle \\phi \\right. {\\left|\\phi\\right\\rangle }$$" | |||
|
139 | ], | |||
90 | "output_type": "pyout", |
|
140 | "output_type": "pyout", | |
91 | "latex": "$$\\alpha \\overline{\\alpha} \\left\\langle \\psi \\right. {\\left|\\psi\\right\\rangle } + \\alpha \\overline{\\beta} \\left\\langle \\phi \\right. {\\left|\\psi\\right\\rangle } + \\beta \\overline{\\alpha} \\left\\langle \\psi \\right. {\\left|\\phi\\right\\rangle } + \\beta \\overline{\\beta} \\left\\langle \\phi \\right. {\\left|\\phi\\right\\rangle }$$", |
|
|||
92 | "prompt_number": 23, |
|
|||
93 | "png": "iVBORw0KGgoAAAANSUhEUgAAAU8AAAAaCAYAAAA3+d4CAAAABHNCSVQICAgIfAhkiAAAB9VJREFU\neJztnHuIFVUcxz+brmBpWq1ampbP3HVVxCil1KsUoehKpRlFUZlZVhQ9oKzIHogZSBm9JDV6UWQU\nPf6oP2x7P6C3UlSQ9tK07KEF+cj++M2ws3NnZs/vnJm5szJfWNg78zu/M/dzvndmzm/OvXWU6gyq\nB55P2H818G1Ox1KqlFalf0uVKlWqVKlSpUqVslaXWh+Aoy4CdgI7an0gB7BKxtmrZJyNMuV6UBZJ\nDTUZGGcYOxc4KmL7CKBB0WdUnllens6kOuBs4C7gfuBmoGtMrCnn4QiLsA4ExhpeWuXt46hxqjVf\n0DE2jc3Tu2qurifPeuDlhL9hCW0vBDYY9nMysMX+MBPzfAhcnkLuvHQEcCfwG3ATcuzNwMqYeFPO\npwCbUji+ojE24dWZfBw1TrX2sMaTmtg8vavm6nr13QPMtGjXBHzjtTfRfxZ9mOb5BfnwHI7b7X0v\n4E+H9ibqCiwFFiPm87UBuARYFIrXcG4CHkrhGLNibMPXlFdn8nHUONXSwxpPamLz9q6aa62m7QuB\nVYaxjcCXKfSZlGcVsMAx/zrH9ia6HriV9sYDmIAYLSwN5/3en4uyZGzDV8tLq1r4OG6cauVhDWNN\nbN7eVXOtxcmzAal5/GoYXwHWp9BvUp5PkamDy514vUNbEx0C9AS2hraPBU5FpkBBaTgPI52TSYXs\nGGv5anlpVQsfJ41TLTysYayJzdu7VlyjQNcD04CpyJt4D3gU2BeTXBu/EHg4Yvt45OnYB8Bjge1D\naFtAOxupTVwZk9slz3PAHODphNxpS8NuLrDW+/8CpH7WBZiETDnfD8XHcQ5qJlKQPx7YBQwCVtBx\nXa4zMNbyKpqPgzIdp7w9rGGsic3SuzY5IrmG7zwbgI+BE4FlwA3AmcDyQMy1DvH1yNOrjaF+KwjM\npcAjQN/AvmCdaAZwBVKbiZJLnheBlpi8WUjLbihtV8cJyBRjJHAsMCaUO46zryHI+x2KPPH8ETgP\neAox8eiE467QORhreBXNx76045S3hzWMTWOz9K5tjg65Hgp8RHWdYQ7yRhu9mOWW8XgHOCOi75XI\nbfppXtsB3vYm4PxAXAOybsufXixDBsI1j6+rgIkRx2eiVkWsDbslMbleQqY3wQthHGeAfsDm0P4H\nA//fDrwbeF0Uxq3K+CUx28O8iuhj0I+Tr7w8DDpPmsZm6V2bHL4Sud4H/E31OrQRiBHmI0/DxljG\nAzyJmCuoOmSqBPAEMl3ytQg4OhT/TOD/IByXPL56Yl6kDqtVEatl1wicFZNrsdemT2BbFGdfbwJr\nAq+baD99PBd5wtnNe10Uxq2KWA2vovnYl3acfOXlYQ1jTWxW3rXN4auKa7DmORN4her5vl+nGYtc\nKR+wjO+G1I/CT7T2A68D3YHTgRsD+wYgt9S+DkPWXkUpjTw7kbuMOPVAPhhRteLRyJrAsPYgC4L/\nDWzTsqsQ/yR0CLDd+4N4ziBTpEnAdYFtUxFuwfexBdgd0T5rxmnxrWDOq2g+BrdxysvDFcwZm8Zm\n6V3XHFVcfYDDvcRrqJZfq2mh7Syujcc7mC1eu00R7SYCBwOveq/rqC7WT0buFJLkkmcayVffXcCl\nRBvvWW9fWHtpbzobds20n1r46gpMp/3gJ3GeiBjzs8C2UbSdGEDM9FpEX+E8WTBOgy+Y8yqqj13G\nKQ8Pg86TprFZezcTrv29pOfEdLqP9jUfbbyvY5ACbZTO8HJ291430/5WfxwwJdQm6rbcJo+vtYjx\nbdRqGGfDbitS3A5rHvJhGBzaHsd5FHJS6O29rqO9cRYg9aDgg46iMG5VxJryKqqPbcbJVx4eBp0n\nNbFZejdVrn6R9mekaH5CqMFAZNX95kCH4y3ifW1Gpiw9Ig5uPXLlme69nkLbFWk2cgfwRkS7tPIM\nA34C/jHow0VadqOAx4GLQ/GNwD3IgH8X2hfHeSPwNlKUB5mSfu7934LUflqAbR28hyIz1vAqqo9t\nxykvD2sYa/2bpXdT5Rq8dZ+FFGtXIrfM/ZGvJF2D1CxWALcgSzps4n2tRb6zGp62/IGsfbsDWW/l\nLxcYiRTfb8NMtnku8445D2nYHQvci9RqXkBqZQOQK/QM4JOYPuI4T0eW0QxFTLoDKYRvQ67SJh+8\nIjOuoONVVB/bjFNeHq5gzlgT6ytL72bKtQ9wZMT2HkQXorXxIAXrpG83DUOuVgMTYiB6SmmTpxcd\nL8rtSK0WbUzY3R3aNwjzaVkS527ISSOq/6CKwrjVMM6WV1F9bDpOeXpYw9h2PLL2rjPXqIPbTvVX\nqEBqE3+lEA/yRC/phxgGIwtTf0iIMZFpnvnAase+4r6JkqSO2NVRvWzje8ynZUmcdwO/x/SvUV6M\nTfi68Cqqj03HKS8Paxi7jEfW3nXmWqsfBlmHfIMjThXs7uRs8nRB6llJS0dMNM+xfZSaga8c2idx\nPg742iG3rwr5MDbh68pLqzx8bDJOeXpYw9hlPLL2rjPXWp089yLF2+aY/f1oWyOWpNXAFwn7TfK0\nILUYV5n+QIRGU4C3HNoncT4JeMcgR1EYm/B15aVVHj42Gac8Paxh7DIeWXs3T66pq5742kfUr23b\nyCRPb+K/0VBr9UshRxznvqRz8SwS4zR4aZW1j03GKU8Paxi7jkeW3i0a11KlSpUqVapUqVKlSpUq\nVapUevofz4SOwufiq5gAAAAASUVORK5CYII=\n", |
|
141 | "png": "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\nVapUevofz4SOwufiq5gAAAAASUVORK5CYII=\n", | |
94 | "text": "\u23bd \u23bd \u23bd \u23bd \n\u03b1\u22c5\u03b1\u22c5\u27e8\u03c8\u2758\u03c8\u27e9 + \u03b1\u22c5\u03b2\u22c5\u27e8\u03c6\u2758\u03c8\u27e9 + \u03b2\u22c5\u03b1\u22c5\u27e8\u03c8\u2758\u03c6\u27e9 + \u03b2\u22c5\u03b2\u22c5\u27e8\u03c6\u2758\u03c6\u27e9" |
|
142 | "prompt_number": 23, | |
|
143 | "text": [ | |||
|
144 | "\u23bd \u23bd \u23bd \u23bd ", | |||
|
145 | "\u03b1\u22c5\u03b1\u22c5\u27e8\u03c8\u2758\u03c8\u27e9 + \u03b1\u22c5\u03b2\u22c5\u27e8\u03c6\u2758\u03c8\u27e9 + \u03b2\u22c5\u03b1\u22c5\u27e8\u03c8\u2758\u03c6\u27e9 + \u03b2\u22c5\u03b2\u22c5\u27e8\u03c6\u2758\u03c6\u27e9" | |||
|
146 | ] | |||
95 | } |
|
147 | } | |
96 | ], |
|
148 | ], | |
97 |
" |
|
149 | "prompt_number": 23 | |
98 | "prompt_number": 23, |
|
|||
99 | "input": "qapply(expand(ip))\n" |
|
|||
100 | }, |
|
150 | }, | |
101 | { |
|
151 | { | |
102 |
" |
|
152 | "cell_type": "markdown", | |
103 |
" |
|
153 | "source": [ | |
|
154 | "<h2>Operators</h2>" | |||
|
155 | ] | |||
104 | }, |
|
156 | }, | |
105 | { |
|
157 | { | |
106 |
" |
|
158 | "cell_type": "markdown", | |
107 |
" |
|
159 | "source": [ | |
|
160 | "Create symbolic operators" | |||
|
161 | ] | |||
108 | }, |
|
162 | }, | |
109 | { |
|
163 | { | |
110 | "cell_type": "code", |
|
164 | "cell_type": "code", | |
|
165 | "collapsed": true, | |||
|
166 | "input": [ | |||
|
167 | "A = Operator('A')", | |||
|
168 | "B = Operator('B')", | |||
|
169 | "C = Operator('C')" | |||
|
170 | ], | |||
111 | "language": "python", |
|
171 | "language": "python", | |
112 | "outputs": [], |
|
172 | "outputs": [], | |
113 |
" |
|
173 | "prompt_number": 24 | |
114 | "prompt_number": 24, |
|
|||
115 | "input": "A = Operator('A')\nB = Operator('B')\nC = Operator('C')" |
|
|||
116 | }, |
|
174 | }, | |
117 | { |
|
175 | { | |
118 |
" |
|
176 | "cell_type": "markdown", | |
119 |
" |
|
177 | "source": [ | |
|
178 | "Test commutativity" | |||
|
179 | ] | |||
120 | }, |
|
180 | }, | |
121 | { |
|
181 | { | |
122 | "cell_type": "code", |
|
182 | "cell_type": "code", | |
|
183 | "collapsed": false, | |||
|
184 | "input": [ | |||
|
185 | "A*B == B*A" | |||
|
186 | ], | |||
123 | "language": "python", |
|
187 | "language": "python", | |
124 | "outputs": [ |
|
188 | "outputs": [ | |
125 | { |
|
189 | { | |
126 | "output_type": "pyout", |
|
190 | "output_type": "pyout", | |
127 | "prompt_number": 25, |
|
191 | "prompt_number": 25, | |
128 |
"text": |
|
192 | "text": [ | |
|
193 | "False" | |||
|
194 | ] | |||
129 | } |
|
195 | } | |
130 | ], |
|
196 | ], | |
131 |
" |
|
197 | "prompt_number": 25 | |
132 | "prompt_number": 25, |
|
|||
133 | "input": "A*B == B*A\n" |
|
|||
134 | }, |
|
198 | }, | |
135 | { |
|
199 | { | |
136 |
" |
|
200 | "cell_type": "markdown", | |
137 |
" |
|
201 | "source": [ | |
|
202 | "Distribute A+B squared" | |||
|
203 | ] | |||
138 | }, |
|
204 | }, | |
139 | { |
|
205 | { | |
140 | "cell_type": "code", |
|
206 | "cell_type": "code", | |
|
207 | "collapsed": false, | |||
|
208 | "input": [ | |||
|
209 | "expand((A+B)**2)" | |||
|
210 | ], | |||
141 | "language": "python", |
|
211 | "language": "python", | |
142 | "outputs": [ |
|
212 | "outputs": [ | |
143 | { |
|
213 | { | |
|
214 | "latex": [ | |||
|
215 | "$$A B + \\left(A\\right)^{2} + B A + \\left(B\\right)^{2}$$" | |||
|
216 | ], | |||
144 | "output_type": "pyout", |
|
217 | "output_type": "pyout", | |
145 | "latex": "$$A B + \\left(A\\right)^{2} + B A + \\left(B\\right)^{2}$$", |
|
|||
146 | "prompt_number": 26, |
|
|||
147 | "png": "iVBORw0KGgoAAAANSUhEUgAAAMAAAAAZCAYAAABn7SHgAAAABHNCSVQICAgIfAhkiAAABONJREFU\neJzt2luoFVUcx/FP6jnZsdNNKzVFKLsX1EORpGYIKRkFRgRJD70oFBRFmlQv0ksPQUVYPYXRTcTq\nISqKouhCD0YSdCUKtItd0JJSuunpYe3N2U4ze681M/scOcwXDps9a83M//f/nTXrv9ZsGhoaGhI5\nEmdgyngH0tCTrl5NHttYJgQrsBLHYCOmYtu4RtRQRONVzQzgpdYnnI4RXDhuETUU0XjVB07An1jQ\ncewPrBmfcBq6EOVVag27EoPY3KXPRswraPsHO1vnf5B471QG8XdC/zxt2WvswbH4q/V9Po7Sfy1F\n9CPXMR7XTZFXKfr67tWJrYs+1qPfIM4XppvnMSQMtCmYg4dbbevKBhLBLKxO6F+k7V6jU2geW7E+\nLbRaqTvXsR7XSTevUvT13asnWjd7MaLvilbf63PaBvAz9gkCY0hZrE8SDEw5p0jbmXi84Jy1uCXh\nHt2oshlRZ65TPC6ibq9i9ZXyalJkoJcK08sIZkb0X9z6fDun7UDrOkdE3n8pbovo1+YmvN66Twzd\ntH0pJPi8zPFV+EyYogewMCG+LKn6stSV61SP8+iHV7H6dijhVcw/4BTch7uxW/wA+Bw/5bQtxUl4\nVlik9GJA/EwBNwir/xhitL3g0KfHdThHSPpVguFHJ8SXJVVfljpyXcbjPPrhVYq+vnh1u9GV8yfY\n36P/kPAkeTSnbaFQY24RXlDEsFx87XY83ozsS5y2IWGxBdPxPj7M/M1OuGeWFH15sdWR61SPi6jb\nq1R9yV712gWajauFkQY/4lxhdb234JwFwpPgZKPJGG4FvA/X4q0e9y3LqdgV2TdW234cFJ5su4VS\n4XChjlyX8bgOYrxK1ZfsVa8B8IAwLR5sfW9PQzMVJ6dds60VRmibrXgQG/AVvusVXAmmC4mJIUXb\nTmG3YkfVAGumjlyX8bgOYrwqoy/Jq25rgKXCXmvnvmlncopYhC/wDX7r+Nsu1HyL8HRMcCXYi7kR\n/VK1zcLv1ULrC1VzXdbjOojxqoy+JK+KZoBBYdW8HQ91HL+44yZ5DOASPFPQ/oMgYLEwlXUGukxY\ntGSZI7zVm5/T9h42dXzfKfzwqRup2gYxA7/2uG4v6tDXSZVcU95jxsarMvqSvSoaAHcKK+stmePf\nCnVZ0dPhIuFt27sF7WfjOGFUZw3ZJtRtWRYIiXoypy1bQ+4S6sBub4FTtZ0m1JkjBdeLpQ59nVTJ\nNeU9Zmy8KqMv2au8ATAPlwuj/GCmbWbmM0u7ZisK+sbW51M5bXscWue1mYFpwgo+hs3C1Ji3w1BG\n2xLFT6EU6tLXpkquq3jM2HhVRt8SFb0axjvCW7U85guja1NB+yuKF1yrW+c+JyQpltRtwiG85v+v\nxctom4FXhX3kflF2G7Rsrqt63I26vCJdXymv2jPAMO7BNThL2BPe4NBdgDXCCCM8PdbhZXyNm4VV\n/RXCNtp6/NsR2JWC2FvxSEqAJdgv7GqsFmrcKtpWCdqqlj91MVX5XFfJw6e1Kwlkvaqi7w4lvGqP\nlmFc1nF8BG8Y/SUdYbrMjtSP8Esr2KKRdwAfC4uWMizHBbg/8bxT8L1q2iYLNXE/SdE3oHyuq+Qh\n1ruqXlXRN1f/vRoXluGu8Q6ij0wkfRNJy2HDNP3fkx5PJpK+iaSloaGhoaGhoWGi8h+sZcLwhv0Q\nuwAAAABJRU5ErkJggg==\n", |
|
218 | "png": "iVBORw0KGgoAAAANSUhEUgAAAMAAAAAZCAYAAABn7SHgAAAABHNCSVQICAgIfAhkiAAABONJREFU\neJzt2luoFVUcx/FP6jnZsdNNKzVFKLsX1EORpGYIKRkFRgRJD70oFBRFmlQv0ksPQUVYPYXRTcTq\nISqKouhCD0YSdCUKtItd0JJSuunpYe3N2U4ze681M/scOcwXDps9a83M//f/nTXrv9ZsGhoaGhI5\nEmdgyngH0tCTrl5NHttYJgQrsBLHYCOmYtu4RtRQRONVzQzgpdYnnI4RXDhuETUU0XjVB07An1jQ\ncewPrBmfcBq6EOVVag27EoPY3KXPRswraPsHO1vnf5B471QG8XdC/zxt2WvswbH4q/V9Po7Sfy1F\n9CPXMR7XTZFXKfr67tWJrYs+1qPfIM4XppvnMSQMtCmYg4dbbevKBhLBLKxO6F+k7V6jU2geW7E+\nLbRaqTvXsR7XSTevUvT13asnWjd7MaLvilbf63PaBvAz9gkCY0hZrE8SDEw5p0jbmXi84Jy1uCXh\nHt2oshlRZ65TPC6ibq9i9ZXyalJkoJcK08sIZkb0X9z6fDun7UDrOkdE3n8pbovo1+YmvN66Twzd\ntH0pJPi8zPFV+EyYogewMCG+LKn6stSV61SP8+iHV7H6dijhVcw/4BTch7uxW/wA+Bw/5bQtxUl4\nVlik9GJA/EwBNwir/xhitL3g0KfHdThHSPpVguFHJ8SXJVVfljpyXcbjPPrhVYq+vnh1u9GV8yfY\n36P/kPAkeTSnbaFQY24RXlDEsFx87XY83ozsS5y2IWGxBdPxPj7M/M1OuGeWFH15sdWR61SPi6jb\nq1R9yV712gWajauFkQY/4lxhdb234JwFwpPgZKPJGG4FvA/X4q0e9y3LqdgV2TdW234cFJ5su4VS\n4XChjlyX8bgOYrxK1ZfsVa8B8IAwLR5sfW9PQzMVJ6dds60VRmibrXgQG/AVvusVXAmmC4mJIUXb\nTmG3YkfVAGumjlyX8bgOYrwqoy/Jq25rgKXCXmvnvmlncopYhC/wDX7r+Nsu1HyL8HRMcCXYi7kR\n/VK1zcLv1ULrC1VzXdbjOojxqoy+JK+KZoBBYdW8HQ91HL+44yZ5DOASPFPQ/oMgYLEwlXUGukxY\ntGSZI7zVm5/T9h42dXzfKfzwqRup2gYxA7/2uG4v6tDXSZVcU95jxsarMvqSvSoaAHcKK+stmePf\nCnVZ0dPhIuFt27sF7WfjOGFUZw3ZJtRtWRYIiXoypy1bQ+4S6sBub4FTtZ0m1JkjBdeLpQ59nVTJ\nNeU9Zmy8KqMv2au8ATAPlwuj/GCmbWbmM0u7ZisK+sbW51M5bXscWue1mYFpwgo+hs3C1Ji3w1BG\n2xLFT6EU6tLXpkquq3jM2HhVRt8SFb0axjvCW7U85guja1NB+yuKF1yrW+c+JyQpltRtwiG85v+v\nxctom4FXhX3kflF2G7Rsrqt63I26vCJdXymv2jPAMO7BNThL2BPe4NBdgDXCCCM8PdbhZXyNm4VV\n/RXCNtp6/NsR2JWC2FvxSEqAJdgv7GqsFmrcKtpWCdqqlj91MVX5XFfJw6e1Kwlkvaqi7w4lvGqP\nlmFc1nF8BG8Y/SUdYbrMjtSP8Esr2KKRdwAfC4uWMizHBbg/8bxT8L1q2iYLNXE/SdE3oHyuq+Qh\n1ruqXlXRN1f/vRoXluGu8Q6ij0wkfRNJy2HDNP3fkx5PJpK+iaSloaGhoaGhoWGi8h+sZcLwhv0Q\nuwAAAABJRU5ErkJggg==\n", | |
148 | "text": "2 2\nA\u22c5B + A + B\u22c5A + B" |
|
219 | "prompt_number": 26, | |
|
220 | "text": [ | |||
|
221 | "2 2", | |||
|
222 | "A\u22c5B + A + B\u22c5A + B" | |||
|
223 | ] | |||
149 | } |
|
224 | } | |
150 | ], |
|
225 | ], | |
151 |
" |
|
226 | "prompt_number": 26 | |
152 | "prompt_number": 26, |
|
|||
153 | "input": "expand((A+B)**2)" |
|
|||
154 | }, |
|
227 | }, | |
155 | { |
|
228 | { | |
156 |
" |
|
229 | "cell_type": "markdown", | |
157 |
" |
|
230 | "source": [ | |
|
231 | "Create a commutator" | |||
|
232 | ] | |||
158 | }, |
|
233 | }, | |
159 | { |
|
234 | { | |
160 | "cell_type": "code", |
|
235 | "cell_type": "code", | |
|
236 | "collapsed": false, | |||
|
237 | "input": [ | |||
|
238 | "comm = Commutator(A,B); comm" | |||
|
239 | ], | |||
161 | "language": "python", |
|
240 | "language": "python", | |
162 | "outputs": [ |
|
241 | "outputs": [ | |
163 | { |
|
242 | { | |
|
243 | "latex": [ | |||
|
244 | "$$\\left[A,B\\right]$$" | |||
|
245 | ], | |||
164 | "output_type": "pyout", |
|
246 | "output_type": "pyout", | |
165 | "latex": "$$\\left[A,B\\right]$$", |
|
|||
166 | "prompt_number": 27, |
|
|||
167 | "png": "iVBORw0KGgoAAAANSUhEUgAAAC4AAAAWCAYAAAC/kK73AAAABHNCSVQICAgIfAhkiAAAAkhJREFU\nSInt182LTWEcB/DPvOWlJpTGYLKwUFMzzYZmMzNJiWl2/gHFQlZm4yUbY4WtQsqUFRYiSoQ4aIpS\n8rKQRORdSZEMM1g8z+XOnXPmnntnZkG+dXvO/X3P7/v73t9znuc8l78UNSXfL+ArLuFAmdw9qMO2\nKuoOYC068QND+BK5RizB2Xjf+xjvx0o0oK9UMMlZuB3fcawK0wU0CGZPpXBtUf8eaku4REowD2qw\nD/VoriK/gOWYhYsp3ANcFhrUlpZcjfH1sdhnkzPeE8erGXwrRvE8j1hShp8XC9XjMT7kEc3AObzK\n4NbhpzCzpUjSElKDRTiEVfF6KIrPKOcwBbX4iOMl8dnYHLntxm8evz3WV1BshdDxK/H72zg241kF\nOtCBOZiLvTE2E6uFXW0NblUimGTEa3FN2KYKOCh0vLOSAhFbYu6yFG4jvmHDRB7zLs5Nwt5evFCK\nO14pevAOj1K4QbwWGtOYJZDnUWnCzlikqyjeEsdqjHfj+gT8J2F2l+JuHsEkJXYUvSnxPmG6d+UR\nLkJrzOvP4BdG/qkJFme5R6VLeIOdT+FexDGt44sm0Czs3zcy+IE4HhF+QC4kRdfteIMFGfcujsKn\nS+IdwvljMCPvpPDyqiuJN2E/RrAjp8cxwfnCGWE0Gnvoz/NcwAm8jPyw0L3CwacFT3Df2Kk+g5sx\nZyReJ/FzW3jNHzZ2HVVkfKqwewq1ipFQ3VklL6ZTe9rEe3FnmrQx3viI8Gcia6vKq9kt/Zw9GWwV\nvA1Pse5//Nv4Bfpvd5tNLRluAAAAAElFTkSuQmCC\n", |
|
247 | "png": "iVBORw0KGgoAAAANSUhEUgAAAC4AAAAWCAYAAAC/kK73AAAABHNCSVQICAgIfAhkiAAAAkhJREFU\nSInt182LTWEcB/DPvOWlJpTGYLKwUFMzzYZmMzNJiWl2/gHFQlZm4yUbY4WtQsqUFRYiSoQ4aIpS\n8rKQRORdSZEMM1g8z+XOnXPmnntnZkG+dXvO/X3P7/v73t9znuc8l78UNSXfL+ArLuFAmdw9qMO2\nKuoOYC068QND+BK5RizB2Xjf+xjvx0o0oK9UMMlZuB3fcawK0wU0CGZPpXBtUf8eaku4REowD2qw\nD/VoriK/gOWYhYsp3ANcFhrUlpZcjfH1sdhnkzPeE8erGXwrRvE8j1hShp8XC9XjMT7kEc3AObzK\n4NbhpzCzpUjSElKDRTiEVfF6KIrPKOcwBbX4iOMl8dnYHLntxm8evz3WV1BshdDxK/H72zg241kF\nOtCBOZiLvTE2E6uFXW0NblUimGTEa3FN2KYKOCh0vLOSAhFbYu6yFG4jvmHDRB7zLs5Nwt5evFCK\nO14pevAOj1K4QbwWGtOYJZDnUWnCzlikqyjeEsdqjHfj+gT8J2F2l+JuHsEkJXYUvSnxPmG6d+UR\nLkJrzOvP4BdG/qkJFme5R6VLeIOdT+FexDGt44sm0Czs3zcy+IE4HhF+QC4kRdfteIMFGfcujsKn\nS+IdwvljMCPvpPDyqiuJN2E/RrAjp8cxwfnCGWE0Gnvoz/NcwAm8jPyw0L3CwacFT3Df2Kk+g5sx\nZyReJ/FzW3jNHzZ2HVVkfKqwewq1ipFQ3VklL6ZTe9rEe3FnmrQx3viI8Gcia6vKq9kt/Zw9GWwV\nvA1Pse5//Nv4Bfpvd5tNLRluAAAAAElFTkSuQmCC\n", | |
168 |
" |
|
248 | "prompt_number": 27, | |
|
249 | "text": [ | |||
|
250 | "[A,B]" | |||
|
251 | ] | |||
169 | } |
|
252 | } | |
170 | ], |
|
253 | ], | |
171 |
" |
|
254 | "prompt_number": 27 | |
172 | "prompt_number": 27, |
|
|||
173 | "input": "comm = Commutator(A,B); comm\n" |
|
|||
174 | }, |
|
255 | }, | |
175 | { |
|
256 | { | |
176 |
" |
|
257 | "cell_type": "markdown", | |
177 |
" |
|
258 | "source": [ | |
|
259 | "Carry out the commutator" | |||
|
260 | ] | |||
178 | }, |
|
261 | }, | |
179 | { |
|
262 | { | |
180 | "cell_type": "code", |
|
263 | "cell_type": "code", | |
|
264 | "collapsed": false, | |||
|
265 | "input": [ | |||
|
266 | "comm.doit()" | |||
|
267 | ], | |||
181 | "language": "python", |
|
268 | "language": "python", | |
182 | "outputs": [ |
|
269 | "outputs": [ | |
183 | { |
|
270 | { | |
|
271 | "latex": [ | |||
|
272 | "$$A B - B A$$" | |||
|
273 | ], | |||
184 | "output_type": "pyout", |
|
274 | "output_type": "pyout", | |
185 | "latex": "$$A B - B A$$", |
|
|||
186 | "prompt_number": 28, |
|
|||
187 | "png": "iVBORw0KGgoAAAANSUhEUgAAAE4AAAASCAYAAAD15uiRAAAABHNCSVQICAgIfAhkiAAAAi5JREFU\nWIXt1ztoVEEYBeDPGEGLlQQMahQipBUF0SqYwmdhrCxFO+0F0UKxUVS0ELENaWOhQhorFfGBlY+g\nIppOgmDAKkrUqLGYQddk7u59JAFhDyx3ds4/c87ZuXPnLi2UwpKC9VcwiTMNagaxDZvwFU/wPXKr\n0InrOIepgvqNsBC6efI2xVb8xFCO2g2YwaUEty9yI1XMLIJukbyZaMPdKHw7R/2hWLsrgx+LpmpV\nTC2gbtO8bTkNHcUNTGNNjvp+YZs8TnA1rMcEPufUz4v50i2aN4ku4ddvwzg+5BjzFg8zuBPCSh4p\na2iBdcvkTWIIfbH9FD80vlNXR4NnZ/V3xL4JHC5rZhF0c+VtbzJJH5b6e+t/jN+7YjuF/njtxcXY\nrmEA7+KcY03tF8d86JbJOwfteIS1dX1DwqpubjDuGr5heYI7Lxzvu/OaKICqumXzzsExHJ/VdyFO\ntLfBuFHphzOsEB6474sYyYmquoXyZm3V7jjJG/8e7T3xmnXSdGAjLmfw08JdsU7YRpPCVjqdUZ/C\niBCoqm49yuadg2HsSPQfEFbgZMa4/ZEfyOC3R/5OXiM5UVW3cN7U6bgTn3AvwY3Ha9YK9Eeh1JZZ\nhlOxPZgxviyq6FbJ+wdbhNOjM4PvjQaHM/jneJno78FNfMHBZiZKoKxu1by68Qq/YuFr4b2oHreE\nl8EZ4U/0A+zBSmG1XkRuSjid7sfPKJ7hqvAcmi9U0a2St4UWWvh/8Bt1v8TG07AChQAAAABJRU5E\nrkJggg==\n", |
|
275 | "png": "iVBORw0KGgoAAAANSUhEUgAAAE4AAAASCAYAAAD15uiRAAAABHNCSVQICAgIfAhkiAAAAi5JREFU\nWIXt1ztoVEEYBeDPGEGLlQQMahQipBUF0SqYwmdhrCxFO+0F0UKxUVS0ELENaWOhQhorFfGBlY+g\nIppOgmDAKkrUqLGYQddk7u59JAFhDyx3ds4/c87ZuXPnLi2UwpKC9VcwiTMNagaxDZvwFU/wPXKr\n0InrOIepgvqNsBC6efI2xVb8xFCO2g2YwaUEty9yI1XMLIJukbyZaMPdKHw7R/2hWLsrgx+LpmpV\nTC2gbtO8bTkNHcUNTGNNjvp+YZs8TnA1rMcEPufUz4v50i2aN4ku4ddvwzg+5BjzFg8zuBPCSh4p\na2iBdcvkTWIIfbH9FD80vlNXR4NnZ/V3xL4JHC5rZhF0c+VtbzJJH5b6e+t/jN+7YjuF/njtxcXY\nrmEA7+KcY03tF8d86JbJOwfteIS1dX1DwqpubjDuGr5heYI7Lxzvu/OaKICqumXzzsExHJ/VdyFO\ntLfBuFHphzOsEB6474sYyYmquoXyZm3V7jjJG/8e7T3xmnXSdGAjLmfw08JdsU7YRpPCVjqdUZ/C\niBCoqm49yuadg2HsSPQfEFbgZMa4/ZEfyOC3R/5OXiM5UVW3cN7U6bgTn3AvwY3Ha9YK9Eeh1JZZ\nhlOxPZgxviyq6FbJ+wdbhNOjM4PvjQaHM/jneJno78FNfMHBZiZKoKxu1by68Qq/YuFr4b2oHreE\nl8EZ4U/0A+zBSmG1XkRuSjid7sfPKJ7hqvAcmi9U0a2St4UWWvh/8Bt1v8TG07AChQAAAABJRU5E\nrkJggg==\n", | |
188 |
" |
|
276 | "prompt_number": 28, | |
|
277 | "text": [ | |||
|
278 | "A\u22c5B - B\u22c5A" | |||
|
279 | ] | |||
189 | } |
|
280 | } | |
190 | ], |
|
281 | ], | |
191 |
" |
|
282 | "prompt_number": 28 | |
192 | "prompt_number": 28, |
|
|||
193 | "input": "comm.doit()" |
|
|||
194 | }, |
|
283 | }, | |
195 | { |
|
284 | { | |
196 |
" |
|
285 | "cell_type": "markdown", | |
197 |
" |
|
286 | "source": [ | |
|
287 | "Create a more fancy commutator" | |||
|
288 | ] | |||
198 | }, |
|
289 | }, | |
199 | { |
|
290 | { | |
200 | "cell_type": "code", |
|
291 | "cell_type": "code", | |
|
292 | "collapsed": false, | |||
|
293 | "input": [ | |||
|
294 | "comm = Commutator(A*B,B+C); comm" | |||
|
295 | ], | |||
201 | "language": "python", |
|
296 | "language": "python", | |
202 | "outputs": [ |
|
297 | "outputs": [ | |
203 | { |
|
298 | { | |
|
299 | "latex": [ | |||
|
300 | "$$\\left[A B,B + C\\right]$$" | |||
|
301 | ], | |||
204 | "output_type": "pyout", |
|
302 | "output_type": "pyout", | |
205 | "latex": "$$\\left[A B,B + C\\right]$$", |
|
|||
206 | "prompt_number": 29, |
|
|||
207 | "png": "iVBORw0KGgoAAAANSUhEUgAAAGAAAAAWCAYAAAA/45nkAAAABHNCSVQICAgIfAhkiAAAA3tJREFU\naIHt2E2sXVMUB/DfexqvUvr0QxXFQI2k8dn4at+A1wglkfiImRIhEhEDDBrVCNLGM2qjHRA6EMSE\ngfhIkSt9jU7E90cISaWEpBJaDarFYO3b3l7n3LPP6733Te5/ss/Za+3/XufstdZeezPAtGKo7f1N\n/ImteKpi7Docgwc76GzCpTgPf+H91MJcnISX8Sh+r2F3r3iPBiO4Idl1rviPI9iMl7AWD+FjXIb9\nRSSNzMmW4G+8kKG7EP9iQ4HsyiR7K3PefvBOBRfhc2zBFeLHS+3j2IjfMC6cfGYZUSNjsiG8Lj7w\n3Qz9m5LutSXyT5N8XgZXL3nn4YyaNhCevV95JhjCJP4QP/6oF2AV7sNefJGhvxEHMLtANjPx/ILh\nDK5e8l4vvqsObheLfEeF3hq8k56PWIAZNSecg1uxAveINFCFMXyIPQWyO3E87sU/NW3pFW8uzhbp\nbweeqdD9TjhLJRoV8s0ix8F2sfoj5epOxEFMtPWPCq/Yrdp7+sVbNwK2ie8fz9C9EIvT85QjYKmI\ngGbe/zm1C7GzZMxykQLOxPrUN0vk7Z1J/mUNG3rNm4s5uByf4O0M/Q9yiRsl/cN4z5Gb1CbhARd3\n4JsQoXdCgexh7MPKXON6zFsnAlaKb3+u5hy0RUDuBnWXOBt839LXGgFlGBN1794C2bo0/7P+fx6p\nQq94c9F0us8ydOfqUInlpKAFWI2vsaylf1FqyxZgFi5QfqA7KEqzBcnA3Rm2dIN3lWJPH8WxSd6O\n5/Fky3sz5f6YYe9qPJahh+IUtAVXF/Q3w3BtCdeKJL+xRL40ySdzjesxb50UdFaa44kKvcW4v62v\nVgpaJk68bxTIdqW2LALGUrutQDZDVCvwdMn4U3vE2w18K6rA6xTvQ8QirRF7ZTYaLc9L8BNOLtE9\nTXjBKyXyHfimoH8RXhRp4raSsc1T7gNd5u2EumXobLEIkzi9pX8Ut4hCoahEryxD54tS8xyHq59x\nhz2euFxanp6vEd64Po17TZRp54sLsu0iioj6vZkeLhEbaRF24QcRgRM4rku83cQeXCUOfRuEA3yF\nX0XBUuQ8lWh0ybhu4ZE+zjWVq4ipYEpl6HRgWHh1v7BP/66uD6HuXVA/cTde7eN8W/s41yG0R8AB\nESL9CMVOmC/y/kfTbEc3cbP4t6fo3QXhAAMMMEAd/Af3QOJHSnIYNwAAAABJRU5ErkJggg==\n", |
|
303 | "png": "iVBORw0KGgoAAAANSUhEUgAAAGAAAAAWCAYAAAA/45nkAAAABHNCSVQICAgIfAhkiAAAA3tJREFU\naIHt2E2sXVMUB/DfexqvUvr0QxXFQI2k8dn4at+A1wglkfiImRIhEhEDDBrVCNLGM2qjHRA6EMSE\ngfhIkSt9jU7E90cISaWEpBJaDarFYO3b3l7n3LPP6733Te5/ss/Za+3/XufstdZeezPAtGKo7f1N\n/ImteKpi7Docgwc76GzCpTgPf+H91MJcnISX8Sh+r2F3r3iPBiO4Idl1rviPI9iMl7AWD+FjXIb9\nRSSNzMmW4G+8kKG7EP9iQ4HsyiR7K3PefvBOBRfhc2zBFeLHS+3j2IjfMC6cfGYZUSNjsiG8Lj7w\n3Qz9m5LutSXyT5N8XgZXL3nn4YyaNhCevV95JhjCJP4QP/6oF2AV7sNefJGhvxEHMLtANjPx/ILh\nDK5e8l4vvqsObheLfEeF3hq8k56PWIAZNSecg1uxAveINFCFMXyIPQWyO3E87sU/NW3pFW8uzhbp\nbweeqdD9TjhLJRoV8s0ix8F2sfoj5epOxEFMtPWPCq/Yrdp7+sVbNwK2ie8fz9C9EIvT85QjYKmI\ngGbe/zm1C7GzZMxykQLOxPrUN0vk7Z1J/mUNG3rNm4s5uByf4O0M/Q9yiRsl/cN4z5Gb1CbhARd3\n4JsQoXdCgexh7MPKXON6zFsnAlaKb3+u5hy0RUDuBnWXOBt839LXGgFlGBN1794C2bo0/7P+fx6p\nQq94c9F0us8ydOfqUInlpKAFWI2vsaylf1FqyxZgFi5QfqA7KEqzBcnA3Rm2dIN3lWJPH8WxSd6O\n5/Fky3sz5f6YYe9qPJahh+IUtAVXF/Q3w3BtCdeKJL+xRL40ySdzjesxb50UdFaa44kKvcW4v62v\nVgpaJk68bxTIdqW2LALGUrutQDZDVCvwdMn4U3vE2w18K6rA6xTvQ8QirRF7ZTYaLc9L8BNOLtE9\nTXjBKyXyHfimoH8RXhRp4raSsc1T7gNd5u2EumXobLEIkzi9pX8Ut4hCoahEryxD54tS8xyHq59x\nhz2euFxanp6vEd64Po17TZRp54sLsu0iioj6vZkeLhEbaRF24QcRgRM4rku83cQeXCUOfRuEA3yF\nX0XBUuQ8lWh0ybhu4ZE+zjWVq4ipYEpl6HRgWHh1v7BP/66uD6HuXVA/cTde7eN8W/s41yG0R8AB\nESL9CMVOmC/y/kfTbEc3cbP4t6fo3QXhAAMMMEAd/Af3QOJHSnIYNwAAAABJRU5ErkJggg==\n", | |
208 |
" |
|
304 | "prompt_number": 29, | |
|
305 | "text": [ | |||
|
306 | "[A\u22c5B,B + C]" | |||
|
307 | ] | |||
209 | } |
|
308 | } | |
210 | ], |
|
309 | ], | |
211 |
" |
|
310 | "prompt_number": 29 | |
212 | "prompt_number": 29, |
|
|||
213 | "input": "comm = Commutator(A*B,B+C); comm" |
|
|||
214 | }, |
|
311 | }, | |
215 | { |
|
312 | { | |
216 |
" |
|
313 | "cell_type": "markdown", | |
217 |
" |
|
314 | "source": [ | |
|
315 | "Expand the commutator" | |||
|
316 | ] | |||
218 | }, |
|
317 | }, | |
219 | { |
|
318 | { | |
220 | "cell_type": "code", |
|
319 | "cell_type": "code", | |
|
320 | "collapsed": false, | |||
|
321 | "input": [ | |||
|
322 | "comm.expand(commutator=True)" | |||
|
323 | ], | |||
221 | "language": "python", |
|
324 | "language": "python", | |
222 | "outputs": [ |
|
325 | "outputs": [ | |
223 | { |
|
326 | { | |
|
327 | "latex": [ | |||
|
328 | "$$\\left[A,B\\right] B + \\left[A,C\\right] B + A \\left[B,C\\right]$$" | |||
|
329 | ], | |||
224 | "output_type": "pyout", |
|
330 | "output_type": "pyout", | |
225 | "latex": "$$\\left[A,B\\right] B + \\left[A,C\\right] B + A \\left[B,C\\right]$$", |
|
|||
226 | "prompt_number": 30, |
|
|||
227 | "png": "iVBORw0KGgoAAAANSUhEUgAAAN8AAAAWCAYAAABAHklQAAAABHNCSVQICAgIfAhkiAAABOVJREFU\neJztm0toXUUYx3+JCWnF+KrU+kYLYtHahY+gJKWIr9q6EVypFHRRxYAFn3RjXFnBjYKK1EgEURc+\nUNCIQh0fQVxpiwuRgO83ilItautj8c3h3hxnzpk58829t3J+EE4y38x3vu9/58ycOzOBlpaWvjBU\n+vtV4HfgdeChmrb3AocAdzS47wxwOTAB/A0sAPusbRw4GXjJ1vvBlm8DNgCjwCYlnzmI0RDSdCwY\nAq4EJoFzkfzHgOeAB4HVwAc2pkHXr446vXz6z5AvPw39MYE3WwvsB56KDLKbUST55x22s6z/PcBw\nyWYy+NTERNTV0PFUe895pAOM2/Jh4HrgSeBTYDogvkHQr4oQvUyFLUd+avp7DV0MAa8A/wC7IoIs\nc4H1caPHPm/tZ5fKTQafPo4GTgmsW2AC62nouAXYCzyKzAYuHrf3OCMgPm39oJmGLkL1MhU27fyS\n9G8ygm0BXgN+BVY1aF+w3l7f8NjXAH8Bn/fR54XA1RH3jyFVxylgFvngtyJ5uZgHvgI+CvCZ4zPR\n0lCj32nmp66/qbEfhQQ+AiwCPwUE6eNl4GuP7SpktLjPYTMZfPrYDNwWUR/CZr5UHY8EPkNyXV5T\n9xzgicD4tPWDZhqWidHLVNi08suiv9dgeQS4yP6+gAQ7VtPGxTDwM/B0qfxQ4CZru5P/LghVxZji\n00euhy9Vx522zXRdReAkZPapiy+HfqDz8MXoZTzlmvmp6D8S0LjgPGQEKt63v7PXVcgoEMM64Ahk\nBNlhy5YBlyArVZcB7w2Azxxo6LgZ+a6xM6DuF/anjkHVT6vfaeaXQ//KUeNNZDm24GHk6Z8IcVzi\nFtv2dIftBuBPZKUoJsYUnz60Zz4NHVfb+u9GxlVgPOU59IO0ma+JXsZTrpWfmv6hCy5bkT2K7i+i\n3SNQLOuB74GPHbZZ4BtE5HGHvZc+tdHQseh0HwbUHWNpx61iEPXT7Hda+anpH/LauRLYjgQ92VV+\nor02Xal7q8K+Fwn6NGB3D3xeB9zqaHM4IuC1DtszdF5fQtDSsXjV8i0cdHMzsukcQupnoq2hdr/T\n6nO59HdO2XPARkf5JmT6vTvUuWWNbbfNYz/O2j8hfMEl1acPzdfOOXR0HAV+Q05jVHEYcL+j3DjK\ncukHzV8752iml3GUaeanpn/da+cksus/77B9aa+uEej4Cp/FXsvbHvuMvT6GCBJCDp+aaOq4H5kx\nppCVNBcrkGNNDwTGN2j6NdXLR9P8eqU/sHTUWAt8CxzrqXuCDfSFUvk65GzbrKfds8hGaflEwEok\n4APAXYExavn0oTHz5dBxBOkAi8ixqILlwKXI0vyKwPggn34Qr2FTvQqMo6xJftn1d33nOwZZ1j2T\nzmrTxXRGHOg8+QBXICPKDmQT80fkLNv5yBRejCQvIoJOIKcBFpAlXpApepkt2wC84wm8TA6fWuTS\nEaSzXIOszm1HVvAWgV+QfKfxn7joZpD0S9XLRUp+vdB/CSa2QQX3KPrqxmTy6yLXJnsM2joaZX91\naGyyx2CU/WXTP+fp9H6dfNdkH/K60k8Odh0HQcMUsukfc8Ilho3A+5l895JdpP3nRir/Bx37rWEK\nWfUvP9UHkH0J35JsqM8p3P8zlcLtSGx/KPvVRkND0NfxYNEvlVb/lpaWlpaWlpaWlg7/Ap2JCsCY\nEBHmAAAAAElFTkSuQmCC\n", |
|
331 | "png": "iVBORw0KGgoAAAANSUhEUgAAAN8AAAAWCAYAAABAHklQAAAABHNCSVQICAgIfAhkiAAABOVJREFU\neJztm0toXUUYx3+JCWnF+KrU+kYLYtHahY+gJKWIr9q6EVypFHRRxYAFn3RjXFnBjYKK1EgEURc+\nUNCIQh0fQVxpiwuRgO83ilItautj8c3h3hxnzpk58829t3J+EE4y38x3vu9/58ycOzOBlpaWvjBU\n+vtV4HfgdeChmrb3AocAdzS47wxwOTAB/A0sAPusbRw4GXjJ1vvBlm8DNgCjwCYlnzmI0RDSdCwY\nAq4EJoFzkfzHgOeAB4HVwAc2pkHXr446vXz6z5AvPw39MYE3WwvsB56KDLKbUST55x22s6z/PcBw\nyWYy+NTERNTV0PFUe895pAOM2/Jh4HrgSeBTYDogvkHQr4oQvUyFLUd+avp7DV0MAa8A/wC7IoIs\nc4H1caPHPm/tZ5fKTQafPo4GTgmsW2AC62nouAXYCzyKzAYuHrf3OCMgPm39oJmGLkL1MhU27fyS\n9G8ygm0BXgN+BVY1aF+w3l7f8NjXAH8Bn/fR54XA1RH3jyFVxylgFvngtyJ5uZgHvgI+CvCZ4zPR\n0lCj32nmp66/qbEfhQQ+AiwCPwUE6eNl4GuP7SpktLjPYTMZfPrYDNwWUR/CZr5UHY8EPkNyXV5T\n9xzgicD4tPWDZhqWidHLVNi08suiv9dgeQS4yP6+gAQ7VtPGxTDwM/B0qfxQ4CZru5P/LghVxZji\n00euhy9Vx522zXRdReAkZPapiy+HfqDz8MXoZTzlmvmp6D8S0LjgPGQEKt63v7PXVcgoEMM64Ahk\nBNlhy5YBlyArVZcB7w2Azxxo6LgZ+a6xM6DuF/anjkHVT6vfaeaXQ//KUeNNZDm24GHk6Z8IcVzi\nFtv2dIftBuBPZKUoJsYUnz60Zz4NHVfb+u9GxlVgPOU59IO0ma+JXsZTrpWfmv6hCy5bkT2K7i+i\n3SNQLOuB74GPHbZZ4BtE5HGHvZc+tdHQseh0HwbUHWNpx61iEPXT7Hda+anpH/LauRLYjgQ92VV+\nor02Xal7q8K+Fwn6NGB3D3xeB9zqaHM4IuC1DtszdF5fQtDSsXjV8i0cdHMzsukcQupnoq2hdr/T\n6nO59HdO2XPARkf5JmT6vTvUuWWNbbfNYz/O2j8hfMEl1acPzdfOOXR0HAV+Q05jVHEYcL+j3DjK\ncukHzV8752iml3GUaeanpn/da+cksus/77B9aa+uEej4Cp/FXsvbHvuMvT6GCBJCDp+aaOq4H5kx\nppCVNBcrkGNNDwTGN2j6NdXLR9P8eqU/sHTUWAt8CxzrqXuCDfSFUvk65GzbrKfds8hGaflEwEok\n4APAXYExavn0oTHz5dBxBOkAi8ixqILlwKXI0vyKwPggn34Qr2FTvQqMo6xJftn1d33nOwZZ1j2T\nzmrTxXRGHOg8+QBXICPKDmQT80fkLNv5yBRejCQvIoJOIKcBFpAlXpApepkt2wC84wm8TA6fWuTS\nEaSzXIOszm1HVvAWgV+QfKfxn7joZpD0S9XLRUp+vdB/CSa2QQX3KPrqxmTy6yLXJnsM2joaZX91\naGyyx2CU/WXTP+fp9H6dfNdkH/K60k8Odh0HQcMUsukfc8Ilho3A+5l895JdpP3nRir/Bx37rWEK\nWfUvP9UHkH0J35JsqM8p3P8zlcLtSGx/KPvVRkND0NfxYNEvlVb/lpaWlpaWlpaWlg7/Ap2JCsCY\nEBHmAAAAAElFTkSuQmCC\n", | |
228 | "text": "[A,B]\u22c5B + [A,C]\u22c5B + A\u22c5[B,C]" |
|
332 | "prompt_number": 30, | |
|
333 | "text": [ | |||
|
334 | "[A,B]\u22c5B + [A,C]\u22c5B + A\u22c5[B,C]" | |||
|
335 | ] | |||
229 | } |
|
336 | } | |
230 | ], |
|
337 | ], | |
231 |
" |
|
338 | "prompt_number": 30 | |
232 | "prompt_number": 30, |
|
|||
233 | "input": "comm.expand(commutator=True)" |
|
|||
234 | }, |
|
339 | }, | |
235 | { |
|
340 | { | |
236 | "source": "Carry out and expand the commutators", |
|
341 | "cell_type": "markdown", | |
237 |
" |
|
342 | "source": [ | |
|
343 | "Carry out and expand the commutators" | |||
|
344 | ] | |||
238 | }, |
|
345 | }, | |
239 | { |
|
346 | { | |
240 | "cell_type": "code", |
|
347 | "cell_type": "code", | |
|
348 | "collapsed": false, | |||
|
349 | "input": [ | |||
|
350 | "_.doit().expand()" | |||
|
351 | ], | |||
241 | "language": "python", |
|
352 | "language": "python", | |
242 | "outputs": [ |
|
353 | "outputs": [ | |
243 | { |
|
354 | { | |
|
355 | "latex": [ | |||
|
356 | "$$A B C + A \\left(B\\right)^{2} - B A B - C A B$$" | |||
|
357 | ], | |||
244 | "output_type": "pyout", |
|
358 | "output_type": "pyout", | |
245 | "latex": "$$A B C + A \\left(B\\right)^{2} - B A B - C A B$$", |
|
|||
246 | "prompt_number": 31, |
|
|||
247 | "png": "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\n", |
|
359 | "png": "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\n", | |
248 | "text": "2 \nA\u22c5B\u22c5C + A\u22c5B - B\u22c5A\u22c5B - C\u22c5A\u22c5B" |
|
360 | "prompt_number": 31, | |
|
361 | "text": [ | |||
|
362 | "2 ", | |||
|
363 | "A\u22c5B\u22c5C + A\u22c5B - B\u22c5A\u22c5B - C\u22c5A\u22c5B" | |||
|
364 | ] | |||
249 | } |
|
365 | } | |
250 | ], |
|
366 | ], | |
251 |
" |
|
367 | "prompt_number": 31 | |
252 | "prompt_number": 31, |
|
|||
253 | "input": "_.doit().expand()\n" |
|
|||
254 | }, |
|
368 | }, | |
255 | { |
|
369 | { | |
256 |
" |
|
370 | "cell_type": "markdown", | |
257 |
" |
|
371 | "source": [ | |
|
372 | "Take the dagger" | |||
|
373 | ] | |||
258 | }, |
|
374 | }, | |
259 | { |
|
375 | { | |
260 | "cell_type": "code", |
|
376 | "cell_type": "code", | |
|
377 | "collapsed": false, | |||
|
378 | "input": [ | |||
|
379 | "Dagger(_)" | |||
|
380 | ], | |||
261 | "language": "python", |
|
381 | "language": "python", | |
262 | "outputs": [ |
|
382 | "outputs": [ | |
263 | { |
|
383 | { | |
|
384 | "latex": [ | |||
|
385 | "$$- B^{\\dagger} A^{\\dagger} B^{\\dagger} - B^{\\dagger} A^{\\dagger} C^{\\dagger} + \\left(B^{\\dagger}\\right)^{2} A^{\\dagger} + C^{\\dagger} B^{\\dagger} A^{\\dagger}$$" | |||
|
386 | ], | |||
264 | "output_type": "pyout", |
|
387 | "output_type": "pyout", | |
265 | "latex": "$$- B^{\\dagger} A^{\\dagger} B^{\\dagger} - B^{\\dagger} A^{\\dagger} C^{\\dagger} + \\left(B^{\\dagger}\\right)^{2} A^{\\dagger} + C^{\\dagger} B^{\\dagger} A^{\\dagger}$$", |
|
|||
266 | "prompt_number": 32, |
|
|||
267 | "png": "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\n", |
|
388 | "png": "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\n", | |
268 | "text": "2 \n \u2020 \u2020 \u2020 \u2020 \u2020 \u2020 \u239b \u2020\u239e \u2020 \u2020 \u2020 \u2020\n- B \u22c5A \u22c5B - B \u22c5A \u22c5C + \u239dB \u23a0 \u22c5A + C \u22c5B \u22c5A" |
|
389 | "prompt_number": 32, | |
|
390 | "text": [ | |||
|
391 | "2 ", | |||
|
392 | " \u2020 \u2020 \u2020 \u2020 \u2020 \u2020 \u239b \u2020\u239e \u2020 \u2020 \u2020 \u2020", | |||
|
393 | "- B \u22c5A \u22c5B - B \u22c5A \u22c5C + \u239dB \u23a0 \u22c5A + C \u22c5B \u22c5A" | |||
|
394 | ] | |||
269 | } |
|
395 | } | |
270 | ], |
|
396 | ], | |
271 |
" |
|
397 | "prompt_number": 32 | |
272 | "prompt_number": 32, |
|
|||
273 | "input": "Dagger(_)" |
|
|||
274 | } |
|
398 | } | |
275 | ] |
|
399 | ] | |
276 | } |
|
400 | } | |
277 |
] |
|
401 | ] | |
278 | "metadata": { |
|
|||
279 | "name": "basic_quantum" |
|
|||
280 | }, |
|
|||
281 | "nbformat": 2 |
|
|||
282 | } No newline at end of file |
|
402 | } |
@@ -1,56 +1,90 b'' | |||||
1 | { |
|
1 | { | |
|
2 | "metadata": { | |||
|
3 | "name": "clear_output" | |||
|
4 | }, | |||
|
5 | "nbformat": 2, | |||
2 | "worksheets": [ |
|
6 | "worksheets": [ | |
3 | { |
|
7 | { | |
4 | "cells": [ |
|
8 | "cells": [ | |
5 | { |
|
9 | { | |
6 | "source": "A demonstration of the ability to clear the output of a cell during execution.", |
|
10 | "cell_type": "markdown", | |
7 |
" |
|
11 | "source": [ | |
|
12 | "A demonstration of the ability to clear the output of a cell during execution." | |||
|
13 | ] | |||
8 | }, |
|
14 | }, | |
9 | { |
|
15 | { | |
10 | "cell_type": "code", |
|
16 | "cell_type": "code", | |
|
17 | "collapsed": true, | |||
|
18 | "input": [ | |||
|
19 | "from IPython.core.display import clear_output, display" | |||
|
20 | ], | |||
11 | "language": "python", |
|
21 | "language": "python", | |
12 | "outputs": [], |
|
22 | "outputs": [], | |
13 |
" |
|
23 | "prompt_number": 8 | |
14 | "prompt_number": 8, |
|
|||
15 | "input": "from IPython.core.display import clear_output, display" |
|
|||
16 | }, |
|
24 | }, | |
17 | { |
|
25 | { | |
18 | "cell_type": "code", |
|
26 | "cell_type": "code", | |
|
27 | "collapsed": true, | |||
|
28 | "input": [ | |||
|
29 | "import time" | |||
|
30 | ], | |||
19 | "language": "python", |
|
31 | "language": "python", | |
20 | "outputs": [], |
|
32 | "outputs": [], | |
21 |
" |
|
33 | "prompt_number": 4 | |
22 | "prompt_number": 4, |
|
|||
23 | "input": "import time" |
|
|||
24 | }, |
|
34 | }, | |
25 | { |
|
35 | { | |
26 | "source": "First we show how this works with ``display``:", |
|
36 | "cell_type": "markdown", | |
27 |
" |
|
37 | "source": [ | |
|
38 | "First we show how this works with ``display``:" | |||
|
39 | ] | |||
28 | }, |
|
40 | }, | |
29 | { |
|
41 | { | |
30 | "cell_type": "code", |
|
42 | "cell_type": "code", | |
|
43 | "collapsed": false, | |||
|
44 | "input": [ | |||
|
45 | "for i in range(10):", | |||
|
46 | " clear_output()", | |||
|
47 | " print \"Time step: %i\" % i", | |||
|
48 | " time.sleep(0.5)" | |||
|
49 | ], | |||
31 | "language": "python", |
|
50 | "language": "python", | |
32 | "outputs": [ |
|
51 | "outputs": [ | |
33 | { |
|
52 | { | |
34 | "output_type": "stream", |
|
53 | "output_type": "stream", | |
35 | "stream": "stdout", |
|
54 | "stream": "stdout", | |
36 |
"text": |
|
55 | "text": [ | |
|
56 | "", | |||
|
57 | "Time step: 9" | |||
|
58 | ] | |||
37 | }, |
|
59 | }, | |
38 | { |
|
60 | { | |
39 | "output_type": "stream", |
|
61 | "output_type": "stream", | |
40 | "stream": "stdout", |
|
62 | "stream": "stdout", | |
41 |
"text": |
|
63 | "text": [ | |
|
64 | "" | |||
|
65 | ] | |||
42 | } |
|
66 | } | |
43 | ], |
|
67 | ], | |
44 |
" |
|
68 | "prompt_number": 20 | |
45 | "prompt_number": 20, |
|
|||
46 | "input": "for i in range(10):\n clear_output()\n print \"Time step: %i\" % i\n time.sleep(0.5)\n" |
|
|||
47 | }, |
|
69 | }, | |
48 | { |
|
70 | { | |
49 | "source": "Next, we show that ``clear_output`` can also be used to create a primitive form of animation using\nmatplotlib:", |
|
71 | "cell_type": "markdown", | |
50 |
" |
|
72 | "source": [ | |
|
73 | "Next, we show that ``clear_output`` can also be used to create a primitive form of animation using", | |||
|
74 | "matplotlib:" | |||
|
75 | ] | |||
51 | }, |
|
76 | }, | |
52 | { |
|
77 | { | |
53 | "cell_type": "code", |
|
78 | "cell_type": "code", | |
|
79 | "collapsed": false, | |||
|
80 | "input": [ | |||
|
81 | "for i in range(10):", | |||
|
82 | " figure()", | |||
|
83 | " plot(rand(100))", | |||
|
84 | " clear_output()", | |||
|
85 | " show()", | |||
|
86 | " time.sleep(0.25)" | |||
|
87 | ], | |||
54 | "language": "python", |
|
88 | "language": "python", | |
55 | "outputs": [ |
|
89 | "outputs": [ | |
56 | { |
|
90 | { | |
@@ -58,52 +92,66 b'' | |||||
58 | "png": "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\n8P8BdhDzr6dIpNsAAAAASUVORK5CYII=\n" |
|
92 | "png": "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\n8P8BdhDzr6dIpNsAAAAASUVORK5CYII=\n" | |
59 | } |
|
93 | } | |
60 | ], |
|
94 | ], | |
61 |
" |
|
95 | "prompt_number": 18 | |
62 | "prompt_number": 18, |
|
|||
63 | "input": "for i in range(10):\n figure()\n plot(rand(100))\n clear_output()\n show()\n time.sleep(0.25)\n" |
|
|||
64 | }, |
|
96 | }, | |
65 | { |
|
97 | { | |
66 | "source": "And we can even selectively clear only a subset of stdout/stderr/other display such as figures\n(all are cleared by default).", |
|
98 | "cell_type": "markdown", | |
67 |
" |
|
99 | "source": [ | |
|
100 | "And we can even selectively clear only a subset of stdout/stderr/other display such as figures", | |||
|
101 | "(all are cleared by default)." | |||
|
102 | ] | |||
68 | }, |
|
103 | }, | |
69 | { |
|
104 | { | |
70 | "cell_type": "code", |
|
105 | "cell_type": "code", | |
|
106 | "collapsed": false, | |||
|
107 | "input": [ | |||
|
108 | "for i in range(4):", | |||
|
109 | " print \"Time step: %i\" % i", | |||
|
110 | " figure()", | |||
|
111 | " plot(rand(100))", | |||
|
112 | " # clear plots, but not stdout:", | |||
|
113 | " clear_output(stdout=False)", | |||
|
114 | " show()", | |||
|
115 | " time.sleep(0.25)" | |||
|
116 | ], | |||
71 | "language": "python", |
|
117 | "language": "python", | |
72 | "outputs": [ |
|
118 | "outputs": [ | |
73 | { |
|
119 | { | |
74 | "output_type": "stream", |
|
120 | "output_type": "stream", | |
75 | "stream": "stdout", |
|
121 | "stream": "stdout", | |
76 |
"text": |
|
122 | "text": [ | |
|
123 | "Time step: 0" | |||
|
124 | ] | |||
77 | }, |
|
125 | }, | |
78 | { |
|
126 | { | |
79 | "output_type": "stream", |
|
127 | "output_type": "stream", | |
80 | "stream": "stdout", |
|
128 | "stream": "stdout", | |
81 |
"text": |
|
129 | "text": [ | |
|
130 | "Time step: 1" | |||
|
131 | ] | |||
82 | }, |
|
132 | }, | |
83 | { |
|
133 | { | |
84 | "output_type": "stream", |
|
134 | "output_type": "stream", | |
85 | "stream": "stdout", |
|
135 | "stream": "stdout", | |
86 |
"text": |
|
136 | "text": [ | |
|
137 | "Time step: 2" | |||
|
138 | ] | |||
87 | }, |
|
139 | }, | |
88 | { |
|
140 | { | |
89 | "output_type": "stream", |
|
141 | "output_type": "stream", | |
90 | "stream": "stdout", |
|
142 | "stream": "stdout", | |
91 |
"text": |
|
143 | "text": [ | |
|
144 | "Time step: 3" | |||
|
145 | ] | |||
92 | }, |
|
146 | }, | |
93 | { |
|
147 | { | |
94 | "output_type": "display_data", |
|
148 | "output_type": "display_data", | |
95 | "png": "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\nZjzrn0OUXq0AAAAASUVORK5CYII=\n" |
|
149 | "png": "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\nZjzrn0OUXq0AAAAASUVORK5CYII=\n" | |
96 | } |
|
150 | } | |
97 | ], |
|
151 | ], | |
98 |
" |
|
152 | "prompt_number": 19 | |
99 | "prompt_number": 19, |
|
|||
100 | "input": "for i in range(4):\n print \"Time step: %i\" % i\n figure()\n plot(rand(100))\n # clear plots, but not stdout:\n clear_output(stdout=False)\n show()\n time.sleep(0.25)\n" |
|
|||
101 | } |
|
153 | } | |
102 | ] |
|
154 | ] | |
103 | } |
|
155 | } | |
104 |
] |
|
156 | ] | |
105 | "metadata": { |
|
|||
106 | "name": "clear_output" |
|
|||
107 | }, |
|
|||
108 | "nbformat": 2 |
|
|||
109 | } No newline at end of file |
|
157 | } |
@@ -1,250 +1,362 b'' | |||||
1 | { |
|
1 | { | |
2 | "nbformat": 2, |
|
|||
3 | "metadata": { |
|
2 | "metadata": { | |
4 | "name": "decompose" |
|
3 | "name": "decompose" | |
5 | }, |
|
4 | }, | |
|
5 | "nbformat": 2, | |||
6 | "worksheets": [ |
|
6 | "worksheets": [ | |
7 | { |
|
7 | { | |
8 | "cells": [ |
|
8 | "cells": [ | |
9 | { |
|
9 | { | |
10 |
" |
|
10 | "cell_type": "markdown", | |
11 |
" |
|
11 | "source": [ | |
|
12 | "<h1>Gate Decomposition</h1>" | |||
|
13 | ] | |||
12 | }, |
|
14 | }, | |
13 | { |
|
15 | { | |
14 | "cell_type": "code", |
|
16 | "cell_type": "code", | |
|
17 | "collapsed": true, | |||
|
18 | "input": [ | |||
|
19 | "%load_ext sympyprinting" | |||
|
20 | ], | |||
15 | "language": "python", |
|
21 | "language": "python", | |
16 | "outputs": [], |
|
22 | "outputs": [], | |
17 |
" |
|
23 | "prompt_number": 1 | |
18 | "prompt_number": 1, |
|
|||
19 | "input": "%load_ext sympyprinting" |
|
|||
20 | }, |
|
24 | }, | |
21 | { |
|
25 | { | |
22 | "cell_type": "code", |
|
26 | "cell_type": "code", | |
|
27 | "collapsed": true, | |||
|
28 | "input": [ | |||
|
29 | "from sympy import sqrt, symbols, Rational", | |||
|
30 | "from sympy import expand, Eq, Symbol, simplify, exp, sin", | |||
|
31 | "from sympy.physics.quantum import *", | |||
|
32 | "from sympy.physics.quantum.qubit import *", | |||
|
33 | "from sympy.physics.quantum.gate import *", | |||
|
34 | "from sympy.physics.quantum.grover import *", | |||
|
35 | "from sympy.physics.quantum.qft import QFT, IQFT, Fourier", | |||
|
36 | "from sympy.physics.quantum.circuitplot import circuit_plot" | |||
|
37 | ], | |||
23 | "language": "python", |
|
38 | "language": "python", | |
24 | "outputs": [], |
|
39 | "outputs": [], | |
25 |
" |
|
40 | "prompt_number": 2 | |
26 | "prompt_number": 2, |
|
|||
27 | "input": "from sympy import sqrt, symbols, Rational\nfrom sympy import expand, Eq, Symbol, simplify, exp, sin\nfrom sympy.physics.quantum import *\nfrom sympy.physics.quantum.qubit import *\nfrom sympy.physics.quantum.gate import *\nfrom sympy.physics.quantum.grover import *\nfrom sympy.physics.quantum.qft import QFT, IQFT, Fourier\nfrom sympy.physics.quantum.circuitplot import circuit_plot" |
|
|||
28 | }, |
|
41 | }, | |
29 | { |
|
42 | { | |
30 |
" |
|
43 | "cell_type": "markdown", | |
31 |
" |
|
44 | "source": [ | |
|
45 | "<h2>Example 1</h2>" | |||
|
46 | ] | |||
32 | }, |
|
47 | }, | |
33 | { |
|
48 | { | |
34 | "source": "Create a symbolic controlled-Y gate", |
|
49 | "cell_type": "markdown", | |
35 |
" |
|
50 | "source": [ | |
|
51 | "Create a symbolic controlled-Y gate" | |||
|
52 | ] | |||
36 | }, |
|
53 | }, | |
37 | { |
|
54 | { | |
38 | "cell_type": "code", |
|
55 | "cell_type": "code", | |
|
56 | "collapsed": false, | |||
|
57 | "input": [ | |||
|
58 | "CY10 = CGate(1, Y(0)); CY10" | |||
|
59 | ], | |||
39 | "language": "python", |
|
60 | "language": "python", | |
40 | "outputs": [ |
|
61 | "outputs": [ | |
41 | { |
|
62 | { | |
|
63 | "latex": [ | |||
|
64 | "$$C_{1}{\\left(Y_{0}\\right)}$$" | |||
|
65 | ], | |||
42 | "output_type": "pyout", |
|
66 | "output_type": "pyout", | |
43 | "latex": "$$C_{1}{\\left(Y_{0}\\right)}$$", |
|
|||
44 | "prompt_number": 3, |
|
|||
45 | "png": "iVBORw0KGgoAAAANSUhEUgAAADcAAAAYCAYAAABeIWWlAAAABHNCSVQICAgIfAhkiAAAAxZJREFU\nWIXt2EuoVlUUwPHfvb6KW3aLwgd1UySvNAgfGYJpBQ5CwhCCBmrq4KKENXBQ0WMWESIRohMRH1yp\nIKJEMGgQQoWIID2wBBU1xAi0p2mhlYO1Pzz33PP6PrMG+YfDx9l7PfZjrbX3+fgfMxVr8S4+w0d4\nC5PRhR0Y34Hdtfgaf6fnFNYVyC3BX0nmN2zvwNcwRuAFnMbTuCfTdxf2YhsOt2GzF0/l2naJgS+q\n0PsA6zGqoO9ZdLcxBn3YhxOYViIzMw1qY0ObYzGIW3LtTyQ7O0v0VohdLuMRvNlwDEZiP45jQo3s\n91jc0O42TC9ovwE/4xx6cn3zsaGB7a1iB2t5Tazk0gayn4pQq2M6dlf0b00+l2TapuAdsdh13CbS\n48YqoRn4E4c0i+MnG8jA23ison+BmNye9N6L9zVbuBavYmWVwEvJyUAbRusYiTMi58roFoXrIiaK\nxZjSpp+lIp1K+VBMblabhquYiy8ayL2RfB8SudYu9+OSijD+QYRlZewmpjZ0usyVcKtikZjciw3t\n5rk56U/KNmZz6yR+woUaQ3eoie8M45PNOmam3yYLUcSv+A53Zxuzk9srKk9fjaE1hp8tfaK65Rmt\nWcWbLxbhy4K+CXgOq5PfiSU2zuGmMgdz8Lu4mZSxKj0tevCyOISPFsgPqM+5UTiv/LjYhYczYywq\nHKNFQZpd5ejR5OgZQ3OvH69jYYneAsWTW5jsdVX4nCfy5fmCvn5RC0ak9y5xebgvJ3dvsnFnhR/E\n7NfjE3FR3iF2Z3KFTtnkbhVVbFJB3zKxC2fTwE7iY0Pz5nF8k9P7HMtzbYtxLO+gKB8OpOef4Ecx\ngX5xV80ymJ4qbhc7n+WC4XfUaeIoG0JbN+oO2SwuyJ1wXOxqlh4Rqi26xVGyJa/8b0xuUFwMHupA\n96A4erKMw7eZ9zU4IsL1mlCWcy1miVAf04Htw658T84Qx0VrU/rwlfLj4aroEh+z74nceEX59elB\nxRWxjtli91dgEx7I9G1SUeiqSnRT8n8znMcvJbJj8EeHfop0r8beda7zX3AZgzubCkf7gz4AAAAA\nSUVORK5CYII=\n", |
|
67 | "png": "iVBORw0KGgoAAAANSUhEUgAAADcAAAAYCAYAAABeIWWlAAAABHNCSVQICAgIfAhkiAAAAxZJREFU\nWIXt2EuoVlUUwPHfvb6KW3aLwgd1UySvNAgfGYJpBQ5CwhCCBmrq4KKENXBQ0WMWESIRohMRH1yp\nIKJEMGgQQoWIID2wBBU1xAi0p2mhlYO1Pzz33PP6PrMG+YfDx9l7PfZjrbX3+fgfMxVr8S4+w0d4\nC5PRhR0Y34Hdtfgaf6fnFNYVyC3BX0nmN2zvwNcwRuAFnMbTuCfTdxf2YhsOt2GzF0/l2naJgS+q\n0PsA6zGqoO9ZdLcxBn3YhxOYViIzMw1qY0ObYzGIW3LtTyQ7O0v0VohdLuMRvNlwDEZiP45jQo3s\n91jc0O42TC9ovwE/4xx6cn3zsaGB7a1iB2t5Tazk0gayn4pQq2M6dlf0b00+l2TapuAdsdh13CbS\n48YqoRn4E4c0i+MnG8jA23ison+BmNye9N6L9zVbuBavYmWVwEvJyUAbRusYiTMi58roFoXrIiaK\nxZjSpp+lIp1K+VBMblabhquYiy8ayL2RfB8SudYu9+OSijD+QYRlZewmpjZ0usyVcKtikZjciw3t\n5rk56U/KNmZz6yR+woUaQ3eoie8M45PNOmam3yYLUcSv+A53Zxuzk9srKk9fjaE1hp8tfaK65Rmt\nWcWbLxbhy4K+CXgOq5PfiSU2zuGmMgdz8Lu4mZSxKj0tevCyOISPFsgPqM+5UTiv/LjYhYczYywq\nHKNFQZpd5ejR5OgZQ3OvH69jYYneAsWTW5jsdVX4nCfy5fmCvn5RC0ak9y5xebgvJ3dvsnFnhR/E\n7NfjE3FR3iF2Z3KFTtnkbhVVbFJB3zKxC2fTwE7iY0Pz5nF8k9P7HMtzbYtxLO+gKB8OpOef4Ecx\ngX5xV80ymJ4qbhc7n+WC4XfUaeIoG0JbN+oO2SwuyJ1wXOxqlh4Rqi26xVGyJa/8b0xuUFwMHupA\n96A4erKMw7eZ9zU4IsL1mlCWcy1miVAf04Htw658T84Qx0VrU/rwlfLj4aroEh+z74nceEX59elB\nxRWxjtli91dgEx7I9G1SUeiqSnRT8n8znMcvJbJj8EeHfop0r8beda7zX3AZgzubCkf7gz4AAAAA\nSUVORK5CYII=\n", | |
46 | "text": "C \u239bY \u239e\n 1\u239d 0\u23a0" |
|
68 | "prompt_number": 3, | |
|
69 | "text": [ | |||
|
70 | "C \u239bY \u239e", | |||
|
71 | " 1\u239d 0\u23a0" | |||
|
72 | ] | |||
47 | } |
|
73 | } | |
48 | ], |
|
74 | ], | |
49 |
" |
|
75 | "prompt_number": 3 | |
50 | "prompt_number": 3, |
|
|||
51 | "input": "CY10 = CGate(1, Y(0)); CY10\n" |
|
|||
52 | }, |
|
76 | }, | |
53 | { |
|
77 | { | |
54 | "source": "Decompose it into elementary gates and plot it", |
|
78 | "cell_type": "markdown", | |
55 |
" |
|
79 | "source": [ | |
|
80 | "Decompose it into elementary gates and plot it" | |||
|
81 | ] | |||
56 | }, |
|
82 | }, | |
57 | { |
|
83 | { | |
58 | "cell_type": "code", |
|
84 | "cell_type": "code", | |
|
85 | "collapsed": false, | |||
|
86 | "input": [ | |||
|
87 | "CY10.decompose()" | |||
|
88 | ], | |||
59 | "language": "python", |
|
89 | "language": "python", | |
60 | "outputs": [ |
|
90 | "outputs": [ | |
61 | { |
|
91 | { | |
|
92 | "latex": [ | |||
|
93 | "$$S_{0} CNOT_{1,0} S_{0} Z_{0}$$" | |||
|
94 | ], | |||
62 | "output_type": "pyout", |
|
95 | "output_type": "pyout", | |
63 | "latex": "$$S_{0} CNOT_{1,0} S_{0} Z_{0}$$", |
|
|||
64 | "prompt_number": 4, |
|
|||
65 | "png": "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\nwL9xjqSsQYpqzQAAAABJRU5ErkJggg==\n", |
|
96 | "png": "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\nwL9xjqSsQYpqzQAAAABJRU5ErkJggg==\n", | |
66 | "text": "S \u22c5CNOT \u22c5S \u22c5Z \n 0 1,0 0 0" |
|
97 | "prompt_number": 4, | |
|
98 | "text": [ | |||
|
99 | "S \u22c5CNOT \u22c5S \u22c5Z ", | |||
|
100 | " 0 1,0 0 0" | |||
|
101 | ] | |||
67 | } |
|
102 | } | |
68 | ], |
|
103 | ], | |
69 |
" |
|
104 | "prompt_number": 4 | |
70 | "prompt_number": 4, |
|
|||
71 | "input": "CY10.decompose()\n" |
|
|||
72 | }, |
|
105 | }, | |
73 | { |
|
106 | { | |
74 | "cell_type": "code", |
|
107 | "cell_type": "code", | |
|
108 | "collapsed": false, | |||
|
109 | "input": [ | |||
|
110 | "circuit_plot(CY10.decompose(), nqubits=2)" | |||
|
111 | ], | |||
75 | "language": "python", |
|
112 | "language": "python", | |
76 | "outputs": [ |
|
113 | "outputs": [ | |
77 | { |
|
114 | { | |
78 | "output_type": "pyout", |
|
115 | "output_type": "pyout", | |
79 | "prompt_number": 5, |
|
116 | "prompt_number": 5, | |
80 | "text": "<sympy.physics.quantum.circuitplot.CircuitPlot object at 0x2c85f10>" |
|
117 | "text": [ | |
|
118 | "<sympy.physics.quantum.circuitplot.CircuitPlot object at 0x2c85f10>" | |||
|
119 | ] | |||
81 | }, |
|
120 | }, | |
82 | { |
|
121 | { | |
83 | "output_type": "display_data", |
|
122 | "output_type": "display_data", | |
84 | "png": "iVBORw0KGgoAAAANSUhEUgAAAQ8AAACOCAYAAAAvtI33AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAACT5JREFUeJzt3EtIVH8YxvH32DCjleCFLhhoGBRBEGFEEFmLSMzSLLu4\nkGhTUFItui2sIIqiFkEUFaUuwqg2brqH1SK6/BehdLEL2t0wKmy6p/b+d5HlqPN69MyM3w/M5pwz\nP57feeNpjoM6qhoUkUQBgDA4qqpehwAQfeK8DgAgOlEeAEwoDwAmlAcAE8oDgAnlAcCE8gBgQnkA\nMKE8AJhQHgBMKA8AJpQHABPKA4AJ5QHAhPIAYEJ5ADChPACYUB4ATCgPACaUBwATygOACeUBwITy\nAGBCeQAwoTwAmFAeAEwoDwAmlAcAE8oDgAnlAcCE8gBgQnkAMKE8AJhQHogqz58/l0ePHomqeh1l\nwKM8EBWamppk8uTJMn78eMnKypLRo0fLnTt3vI41oDlKhSMKZGVlSV1dnbS3t/8+lpycLE1NTRIf\nH+9hsoGLTx6IeE+fPpX6+voOxSEi0t7eLhcvXvQoFUJ+8nAcp7+zAIgivlAneJpBpPj165ekp6fL\n69evOxxPSEiQV69eSUpKikfJBjYeWxDx4uLipLq6WpKSkiQxMVFEROLj46WyspLi8BA/MEXU+Pr1\nq1y4cEEWLlwo7969k9TUVK8jDWiUB6KO4zg8VkcAHlsAmFAeAEwoDwAmlAcAE8oDgAnlAcCE8gBg\nQnkAMKE8AJhQHgBMKA8AJpQHABPKA4AJ5QHAhPIAYEJ5ADChPACYUB4ATCgPACaUBwATygOACeUB\nwITyAGBCeQAwoTwAmFAeAEwoDwAmlAcAE8oDgAnlAcCE8gBgQnkAMKE8AJhQHgBMKA8AJpQHABPK\nA4AJ5QHAhPIAYEJ5ADCJqfJISUkRx3FcfaWkpHi9rQ7c3GOk7S3WxdrsHFVVr0O4xXEccXs7fbFm\nb7iZJ9L21lPkjox7EFOfPBCbXrx4IWVlZTJu3DhJSkoSEZHRo0fLqlWr5O7dux6nG7gGRHm8fftW\n/H6/xMXFid/vl7Fjx8rs2bMlNzdXcnNzJTU1VeLi4qS6utrrqL3S1tYm+/fvl5KSEikuLpbCwkKp\nqKiQL1++yLx587yOF7Y3b97IggULZNKkSfLp0yc5efKkNDY2iojIpUuXZOTIkZKbmyvZ2dlSV1fn\ncdrei7r5aQwJtZ2KigoNBAK6f/9+bWtr63CuurpaBw0apGvXrg1rTa+EyvP161fNy8vTnTt3dji+\na9cuHTt2rBYXF/d4rUjw+PFjzcjI0C1btujnz587nPsz98+fP7W8vFyHDRumNTU1/R0zLF3d73Dn\nFwmz8z6Bi0Ld0IULF+rZs2f/OX7r1i1NSEjQ+fPnh72mV0LlKSoq0hUrVnR6Li0tTcvLy3u8ltea\nm5s1MzNTDx8+3On5znJfvXpVhw0bprW1tX0dz6yr+x3u/CJhdt4ncFFnN/THjx86c+bMf443NDTo\n8OHDdcqUKfrt27ew1vRSZ3laWlrU7/fr5cuXO31PTk6OPnv2rEdrRYLS0lJds2ZNyPOhch89elSz\ns7P7KlavhcptmV8kzC7mf+bR3NwsZWVlHY59+PBB5syZI0OGDJEzZ85IfHy8R+nccf36dWltbZXH\njx93en769OmSkZHRz6lsPn36JFVVVbJhw4aw37ts2TJ58uSJ3Lt3rw+S9Z2onZ/X7eWmnmzn+/fv\nOn36dE1JSdH6+npX1uxPneV59+6d+nw+DQQCun79er1+/bq2traa1vLaoUOHtLCwsMtrusq9detW\nXbVqlduxXBEqt2V+kTA77xO4qLsb+uvXLy0uLtZAIKBXr151Zc3+FirP3r17NRAIqOM46jiODhky\nRFevXq0tLS1hr+WlgoICPXnyZJfXdJX7wYMHmpmZ6XYsV3SVO9z5RcLsvE/gou5u6ObNm9VxHD1+\n/Lhra/a3rvI8fPhQt23bptnZ2er3+9VxHC0qKjKt5ZXs7Oxui72r3O/fv9ekpCSXU7mju/sdzvwi\nYXYhE4hIVL5COXLkiDqOo9u3b+9w/Nu3b3rlypXQNygC9tTTPf7p/v37mp6ern6/X3/8+BE1e4v1\nV091Nz+v9yEiA+OTx/nz59Xn8+ny5cv/OVdeXq7V1dVhr+mVv/Ps3r075LWbN29Wv9+v379/79Fa\nkWDJkiWdfq38p65y//fffzp+/Hi3Y7mis9zW+UXC7GL+25ba2lpZvHixzJw5U44ePfrP+crKSsnJ\nyfEgWe99/vxZrl27FvJ8MBiUrKwsCQQC/ReqlxYtWiSVlZXm91dWVsrixYtdTNR3on5+XreXm/7e\nzsuXLzUtLU0nTJigwWDwn+urqqo0Pz8/rDW99meec+fOqc/n04aGhn+ua25u1hEjRui1a9d6tFak\naG1t1VGjRmldXV3Ia0Ll/vjxoyYnJ+vr16/7Kl6v/J27N/OLhNnF7CePYDAoc+bMEVWVs2fPSmJi\n4u9zTU1Nsnv3bikpKZGCggIPU/bOlStXJDMzUzZt2iT19fW/jzc2NkpBQYFs2rRJZsyY4WHC8Pl8\nPlm5cqWUlZVJe3t7WO/dtWuXzJo1S9LS0voonbuifX4+rwP0lXXr1sn9+/dl1KhRsmTJEhER+fnz\npzQ0NEgwGBQREb/fH5m/cNRDzc3Ncvv2bamtrZW1a9dKS0uLpKamSkJCguzbt0+mTp3qdUSTjRs3\nSk5OjpSWlsqBAwdk0KBB3b7n4MGDcurUKbl582Y/JHRHtM+Pv+fhwZq9EWt/EyKUlpYWKSwslKFD\nh8qOHTtk4sSJv8/9mfv58+eyZ88euXz5spw/f17GjBnjVeRuxdrsYvaxBdEtKSlJLly4IFOnTpW5\nc+fKtGnT5NixY3Lp0iURETlx4oTk5+dLVlaW+P1+uXHjRkQXRyzik4cHa/ZGrP3v1RNtbW1y5swZ\nOX36tLx9+1ZqampkwYIFkpeXJ0uXLpXBgwd7HbFHYm12lIcHa/ZGrP0DHEhibXY8tgAwiblvWxzH\ncXW95ORkV9dzg1t7jMS9xbpYml1MPbYA6D88tgAwoTwAmFAeAEwoDwAmlAcAE8oDgAnlAcCE8gBg\nQnkAMKE8AJhQHgBMKA8AJpQHABPKA4AJ5QHAhPIAYEJ5ADChPACYUB4ATCgPACaUBwATygOACeUB\nwITyAGBCeQAwoTwAmFAeAEwoDwAmlAcAE8oDgAnlAcCE8gBgQnkAMKE8AJj8DwAon3puf4mgAAAA\nAElFTkSuQmCC\n" |
|
123 | "png": "iVBORw0KGgoAAAANSUhEUgAAAQ8AAACOCAYAAAAvtI33AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAACT5JREFUeJzt3EtIVH8YxvH32DCjleCFLhhoGBRBEGFEEFmLSMzSLLu4\nkGhTUFItui2sIIqiFkEUFaUuwqg2brqH1SK6/BehdLEL2t0wKmy6p/b+d5HlqPN69MyM3w/M5pwz\nP57feeNpjoM6qhoUkUQBgDA4qqpehwAQfeK8DgAgOlEeAEwoDwAmlAcAE8oDgAnlAcCE8gBgQnkA\nMKE8AJhQHgBMKA8AJpQHABPKA4AJ5QHAhPIAYEJ5ADChPACYUB4ATCgPACaUBwATygOACeUBwITy\nAGBCeQAwoTwAmFAeAEwoDwAmlAcAE8oDgAnlAcCE8gBgQnkAMKE8AJhQHogqz58/l0ePHomqeh1l\nwKM8EBWamppk8uTJMn78eMnKypLRo0fLnTt3vI41oDlKhSMKZGVlSV1dnbS3t/8+lpycLE1NTRIf\nH+9hsoGLTx6IeE+fPpX6+voOxSEi0t7eLhcvXvQoFUJ+8nAcp7+zAIgivlAneJpBpPj165ekp6fL\n69evOxxPSEiQV69eSUpKikfJBjYeWxDx4uLipLq6WpKSkiQxMVFEROLj46WyspLi8BA/MEXU+Pr1\nq1y4cEEWLlwo7969k9TUVK8jDWiUB6KO4zg8VkcAHlsAmFAeAEwoDwAmlAcAE8oDgAnlAcCE8gBg\nQnkAMKE8AJhQHgBMKA8AJpQHABPKA4AJ5QHAhPIAYEJ5ADChPACYUB4ATCgPACaUBwATygOACeUB\nwITyAGBCeQAwoTwAmFAeAEwoDwAmlAcAE8oDgAnlAcCE8gBgQnkAMKE8AJhQHgBMKA8AJpQHABPK\nA4AJ5QHAhPIAYEJ5ADCJqfJISUkRx3FcfaWkpHi9rQ7c3GOk7S3WxdrsHFVVr0O4xXEccXs7fbFm\nb7iZJ9L21lPkjox7EFOfPBCbXrx4IWVlZTJu3DhJSkoSEZHRo0fLqlWr5O7dux6nG7gGRHm8fftW\n/H6/xMXFid/vl7Fjx8rs2bMlNzdXcnNzJTU1VeLi4qS6utrrqL3S1tYm+/fvl5KSEikuLpbCwkKp\nqKiQL1++yLx587yOF7Y3b97IggULZNKkSfLp0yc5efKkNDY2iojIpUuXZOTIkZKbmyvZ2dlSV1fn\ncdrei7r5aQwJtZ2KigoNBAK6f/9+bWtr63CuurpaBw0apGvXrg1rTa+EyvP161fNy8vTnTt3dji+\na9cuHTt2rBYXF/d4rUjw+PFjzcjI0C1btujnz587nPsz98+fP7W8vFyHDRumNTU1/R0zLF3d73Dn\nFwmz8z6Bi0Ld0IULF+rZs2f/OX7r1i1NSEjQ+fPnh72mV0LlKSoq0hUrVnR6Li0tTcvLy3u8ltea\nm5s1MzNTDx8+3On5znJfvXpVhw0bprW1tX0dz6yr+x3u/CJhdt4ncFFnN/THjx86c+bMf443NDTo\n8OHDdcqUKfrt27ew1vRSZ3laWlrU7/fr5cuXO31PTk6OPnv2rEdrRYLS0lJds2ZNyPOhch89elSz\ns7P7KlavhcptmV8kzC7mf+bR3NwsZWVlHY59+PBB5syZI0OGDJEzZ85IfHy8R+nccf36dWltbZXH\njx93en769OmSkZHRz6lsPn36JFVVVbJhw4aw37ts2TJ58uSJ3Lt3rw+S9Z2onZ/X7eWmnmzn+/fv\nOn36dE1JSdH6+npX1uxPneV59+6d+nw+DQQCun79er1+/bq2traa1vLaoUOHtLCwsMtrusq9detW\nXbVqlduxXBEqt2V+kTA77xO4qLsb+uvXLy0uLtZAIKBXr151Zc3+FirP3r17NRAIqOM46jiODhky\nRFevXq0tLS1hr+WlgoICPXnyZJfXdJX7wYMHmpmZ6XYsV3SVO9z5RcLsvE/gou5u6ObNm9VxHD1+\n/Lhra/a3rvI8fPhQt23bptnZ2er3+9VxHC0qKjKt5ZXs7Oxui72r3O/fv9ekpCSXU7mju/sdzvwi\nYXYhE4hIVL5COXLkiDqOo9u3b+9w/Nu3b3rlypXQNygC9tTTPf7p/v37mp6ern6/X3/8+BE1e4v1\nV091Nz+v9yEiA+OTx/nz59Xn8+ny5cv/OVdeXq7V1dVhr+mVv/Ps3r075LWbN29Wv9+v379/79Fa\nkWDJkiWdfq38p65y//fffzp+/Hi3Y7mis9zW+UXC7GL+25ba2lpZvHixzJw5U44ePfrP+crKSsnJ\nyfEgWe99/vxZrl27FvJ8MBiUrKwsCQQC/ReqlxYtWiSVlZXm91dWVsrixYtdTNR3on5+XreXm/7e\nzsuXLzUtLU0nTJigwWDwn+urqqo0Pz8/rDW99meec+fOqc/n04aGhn+ua25u1hEjRui1a9d6tFak\naG1t1VGjRmldXV3Ia0Ll/vjxoyYnJ+vr16/7Kl6v/J27N/OLhNnF7CePYDAoc+bMEVWVs2fPSmJi\n4u9zTU1Nsnv3bikpKZGCggIPU/bOlStXJDMzUzZt2iT19fW/jzc2NkpBQYFs2rRJZsyY4WHC8Pl8\nPlm5cqWUlZVJe3t7WO/dtWuXzJo1S9LS0voonbuifX4+rwP0lXXr1sn9+/dl1KhRsmTJEhER+fnz\npzQ0NEgwGBQREb/fH5m/cNRDzc3Ncvv2bamtrZW1a9dKS0uLpKamSkJCguzbt0+mTp3qdUSTjRs3\nSk5OjpSWlsqBAwdk0KBB3b7n4MGDcurUKbl582Y/JHRHtM+Pv+fhwZq9EWt/EyKUlpYWKSwslKFD\nh8qOHTtk4sSJv8/9mfv58+eyZ88euXz5spw/f17GjBnjVeRuxdrsYvaxBdEtKSlJLly4IFOnTpW5\nc+fKtGnT5NixY3Lp0iURETlx4oTk5+dLVlaW+P1+uXHjRkQXRyzik4cHa/ZGrP3v1RNtbW1y5swZ\nOX36tLx9+1ZqampkwYIFkpeXJ0uXLpXBgwd7HbFHYm12lIcHa/ZGrP0DHEhibXY8tgAwiblvWxzH\ncXW95ORkV9dzg1t7jMS9xbpYml1MPbYA6D88tgAwoTwAmFAeAEwoDwAmlAcAE8oDgAnlAcCE8gBg\nQnkAMKE8AJhQHgBMKA8AJpQHABPKA4AJ5QHAhPIAYEJ5ADChPACYUB4ATCgPACaUBwATygOACeUB\nwITyAGBCeQAwoTwAmFAeAEwoDwAmlAcAE8oDgAnlAcCE8gBgQnkAMKE8AJj8DwAon3puf4mgAAAA\nAElFTkSuQmCC\n" | |
85 | } |
|
124 | } | |
86 | ], |
|
125 | ], | |
87 |
" |
|
126 | "prompt_number": 5 | |
88 | "prompt_number": 5, |
|
|||
89 | "input": "circuit_plot(CY10.decompose(), nqubits=2)" |
|
|||
90 | }, |
|
127 | }, | |
91 | { |
|
128 | { | |
92 |
" |
|
129 | "cell_type": "markdown", | |
93 |
" |
|
130 | "source": [ | |
|
131 | "<h2>Example 2</h2>" | |||
|
132 | ] | |||
94 | }, |
|
133 | }, | |
95 | { |
|
134 | { | |
96 |
" |
|
135 | "cell_type": "markdown", | |
97 |
" |
|
136 | "source": [ | |
|
137 | "Create a controlled-Z gate" | |||
|
138 | ] | |||
98 | }, |
|
139 | }, | |
99 | { |
|
140 | { | |
100 | "cell_type": "code", |
|
141 | "cell_type": "code", | |
|
142 | "collapsed": false, | |||
|
143 | "input": [ | |||
|
144 | "CZ01 = CGate(0, Z(1)); CZ01" | |||
|
145 | ], | |||
101 | "language": "python", |
|
146 | "language": "python", | |
102 | "outputs": [ |
|
147 | "outputs": [ | |
103 | { |
|
148 | { | |
|
149 | "latex": [ | |||
|
150 | "$$C_{0}{\\left(Z_{1}\\right)}$$" | |||
|
151 | ], | |||
104 | "output_type": "pyout", |
|
152 | "output_type": "pyout", | |
105 | "latex": "$$C_{0}{\\left(Z_{1}\\right)}$$", |
|
|||
106 | "prompt_number": 6, |
|
|||
107 | "png": "iVBORw0KGgoAAAANSUhEUgAAADkAAAAYCAYAAABA6FUWAAAABHNCSVQICAgIfAhkiAAAA1JJREFU\nWIXt2FuIVWUUwPHfNOMMXZjR0pp5qLBoxqgH04rIQEnoMkQQXYToYsJkRBFEpBURBYm9GdRDPiQy\nUEQvRZQihD50E8EuUEZBWg9O9wtZmWT1sPbOc/bsvc93zpyHHuYP+2F/a5219trfWutb+zCLUdyP\nl/E2duAFLEQPtmK4C34m8E92/Yr3sT273szWf8ZgF3z9Ry/W4yDuxjkNstOxC1vwaRs25+K2Ctnr\n+AKXlsi24ghW1ti+r43nAGfgXRzAogqdJeLtPpNocxCTGCqRnYD9FbLHMz+rW9i/Bk8mPos+7M6c\njrTQ/QbXJdrdgsUVsmvxUMn6ahHgE4k+XsKaFMUNmeFbEnTfEinYisV4rUZ+vem7uFKk6GSC/Zxh\nfII5dUoX4Cg+xnEJRlclOn9RpFMq54smsxP9bfwONuHGOoVHxC5OtGm4jj58L70rjuAr7MO8Dvzd\nJbpxJdtEkEs7MF7FMnyYqHsS9opaX9ihvxU4VKfwo0jX4xOMjSY6vRVvJOj1Znq/4aKC7EKcluhv\nRGzU/MbFxtr7UtTCHy0MLcAdiU6HM5uteBZX4mbsKcjW4ZdEf1NimDizcbExyF04WZyTddwjCjxn\nmRgcHsDDBd1+UZd1rMNaMVm9WpCdLSarw9n9HDyPs2rsHRKpX8olmbH1NQbWZlfOAjH19Gb3m7KH\nzZlQX5Or8DeeLpH1ibPv9ux+jTgz/1I9pAyKdD23xqer8Dvu1VybY9iI8YL+Y9jccH+5OKtyxjN7\nPSW+LhMv9RXNGdWXBbFNBHRK4XeHVQd5sQiy6fwuptJ2LBdveIeozyl8jufEJNTIIs3z60HxFgfw\npxgP+0WNHGjQ68+CGxCd9J1sfUikaH6g78QPFQGVMYaPFPpAWb3sMb34q5gvdionb1pD+BY/iTFx\nTHOQRxQ6YJfIM6CJlMmmjv0iPXJOdOyzKGczbpihnxT6cLVoTE3MNMi9OLXhfhhfi53KmRQDxvIZ\n+mrFg3gPn3Xb8BLNqf0UHi3RW5rpDXTBZ1njGcUHKkqgt2yxDaYyw1fgPLGrGzTvZK63DzeJfxg6\nYVx8fq0Q5+Bcx46njbhTjITTKGvtndAjOmIxuCJ51+2EeZoz4Si+64LdWWb5P/EvN2Kn7DFqDnoA\nAAAASUVORK5CYII=\n", |
|
153 | "png": "iVBORw0KGgoAAAANSUhEUgAAADkAAAAYCAYAAABA6FUWAAAABHNCSVQICAgIfAhkiAAAA1JJREFU\nWIXt2FuIVWUUwPHfNOMMXZjR0pp5qLBoxqgH04rIQEnoMkQQXYToYsJkRBFEpBURBYm9GdRDPiQy\nUEQvRZQihD50E8EuUEZBWg9O9wtZmWT1sPbOc/bsvc93zpyHHuYP+2F/a5219trfWutb+zCLUdyP\nl/E2duAFLEQPtmK4C34m8E92/Yr3sT273szWf8ZgF3z9Ry/W4yDuxjkNstOxC1vwaRs25+K2Ctnr\n+AKXlsi24ghW1ti+r43nAGfgXRzAogqdJeLtPpNocxCTGCqRnYD9FbLHMz+rW9i/Bk8mPos+7M6c\njrTQ/QbXJdrdgsUVsmvxUMn6ahHgE4k+XsKaFMUNmeFbEnTfEinYisV4rUZ+vem7uFKk6GSC/Zxh\nfII5dUoX4Cg+xnEJRlclOn9RpFMq54smsxP9bfwONuHGOoVHxC5OtGm4jj58L70rjuAr7MO8Dvzd\nJbpxJdtEkEs7MF7FMnyYqHsS9opaX9ihvxU4VKfwo0jX4xOMjSY6vRVvJOj1Znq/4aKC7EKcluhv\nRGzU/MbFxtr7UtTCHy0MLcAdiU6HM5uteBZX4mbsKcjW4ZdEf1NimDizcbExyF04WZyTddwjCjxn\nmRgcHsDDBd1+UZd1rMNaMVm9WpCdLSarw9n9HDyPs2rsHRKpX8olmbH1NQbWZlfOAjH19Gb3m7KH\nzZlQX5Or8DeeLpH1ibPv9ux+jTgz/1I9pAyKdD23xqer8Dvu1VybY9iI8YL+Y9jccH+5OKtyxjN7\nPSW+LhMv9RXNGdWXBbFNBHRK4XeHVQd5sQiy6fwuptJ2LBdveIeozyl8jufEJNTIIs3z60HxFgfw\npxgP+0WNHGjQ68+CGxCd9J1sfUikaH6g78QPFQGVMYaPFPpAWb3sMb34q5gvdionb1pD+BY/iTFx\nTHOQRxQ6YJfIM6CJlMmmjv0iPXJOdOyzKGczbpihnxT6cLVoTE3MNMi9OLXhfhhfi53KmRQDxvIZ\n+mrFg3gPn3Xb8BLNqf0UHi3RW5rpDXTBZ1njGcUHKkqgt2yxDaYyw1fgPLGrGzTvZK63DzeJfxg6\nYVx8fq0Q5+Bcx46njbhTjITTKGvtndAjOmIxuCJ51+2EeZoz4Si+64LdWWb5P/EvN2Kn7DFqDnoA\nAAAASUVORK5CYII=\n", | |
108 | "text": "C \u239bZ \u239e\n 0\u239d 1\u23a0" |
|
154 | "prompt_number": 6, | |
|
155 | "text": [ | |||
|
156 | "C \u239bZ \u239e", | |||
|
157 | " 0\u239d 1\u23a0" | |||
|
158 | ] | |||
109 | } |
|
159 | } | |
110 | ], |
|
160 | ], | |
111 |
" |
|
161 | "prompt_number": 6 | |
112 | "prompt_number": 6, |
|
|||
113 | "input": "CZ01 = CGate(0, Z(1)); CZ01\n" |
|
|||
114 | }, |
|
162 | }, | |
115 | { |
|
163 | { | |
116 |
" |
|
164 | "cell_type": "markdown", | |
117 |
" |
|
165 | "source": [ | |
|
166 | "Decompose and plot it" | |||
|
167 | ] | |||
118 | }, |
|
168 | }, | |
119 | { |
|
169 | { | |
120 | "cell_type": "code", |
|
170 | "cell_type": "code", | |
|
171 | "collapsed": false, | |||
|
172 | "input": [ | |||
|
173 | "CZ01.decompose()" | |||
|
174 | ], | |||
121 | "language": "python", |
|
175 | "language": "python", | |
122 | "outputs": [ |
|
176 | "outputs": [ | |
123 | { |
|
177 | { | |
|
178 | "latex": [ | |||
|
179 | "$$H_{1} CNOT_{0,1} H_{1}$$" | |||
|
180 | ], | |||
124 | "output_type": "pyout", |
|
181 | "output_type": "pyout", | |
125 | "latex": "$$H_{1} CNOT_{0,1} H_{1}$$", |
|
|||
126 | "prompt_number": 7, |
|
|||
127 | "png": "iVBORw0KGgoAAAANSUhEUgAAAHwAAAAcCAYAAACj6tvkAAAABHNCSVQICAgIfAhkiAAABWZJREFU\naIHtmmtsFUUUx39FoAg+QKiSqtxGULCAqEAk1mINPj6IGJGEDxBBER/1kWAkBmPUqISYGKL4qApG\nHsHY+Pogii2oBVFRa1KxKPVF1EggJGAVCeDzw3/W7t07s7u3dy80dH9f5t45s2dm58ycOWfuhZQU\n4A1gG/Av8CfQAiw1sgzwPvCLkf8GfAbclof+Y4GZwNPARqABaAKmGfllwHxf+yeBzcBfwN/AORad\na4H9Zkx7gcWWNiOA54BXgGXA20A9MNoxzllG30GgGXgH+NrU/QqsN2P/HPgH+CbknTtLsW3xPxOM\nkicc8gVGPr0TetvQoGuA3qa+D/AY8DiwD7go8Nwg4AvT57MO3bPRBJUE6nsAdeb54GKZghbKdRZ9\nDcD9vjFCxyK43dL3u45xFUqxbJHFfKPkCoe8Ae22AXnoXAgcAu50yI9BK/R3oFdAdg0wA9hq5Mdb\nnr8LGBuoK0GLay1aVDYeRbuj3Fc3EHmCIC+geRkeqB+CFlUxKIYtcliDjNPPIuuFdmFLHvpq0aBn\nRrRbCLxlqV8MnAbcYfTUWtqsRIvGzxLk8gaF9DnJ6HzAVzcX+wR/C+y01I8F5oX0UQhJ2yKHHugc\n/NAhvxBN0JKY+kYit9kUo+0c7BPn7bYTgT+ALwPyEmBVoO5hM86rI/rMmHav+epmoXnwU27a2Xb+\nSGB8RD+dIVFbBF/IYwzQH7eBLjHlhjidAMtRoHZfjLat6Bz2cwLQbj63Ay8Bo8g+50cjd+9RDtyD\ndveaiD6HmrKvr24FCsT8TDTlRouOreg4SppEbdHTUe+92OXknokA40xpe/Egp5j2nwKbYrT/xFJX\nRfYKrwNuBG716bw4MJ5a5O5WofMtjMqQvv148xJ3oSdBkrZw8jpKgY6zyHoil/pVTF3XIpdTSECz\niI5d6LEZpUtl5vsKsgO9DabfK2Poryc8KPJoBfaQmwUUkyRtYXXpJUA1SmH2WeTnI9cXd0VdYMrW\nGG3LsEeaZwDfB+rqULo0x3zvjfJUj2Gm3B7RZwaYCuwCPgppNxB5gk1ocRwOkraF1eCVKKL9wPGM\nd27GdWs/mnJHjLb3km000Nm/39K2Hu22m9GY2wLyXaZsJ5x5aKfMRemei2pkgIJcZ54kbQurwb0z\nw3XeVpnS9uLTUC7sp8mU50WMpRLtxuBKnoD9bD2AgsEK5PKD4/EmaVJIn+OQoV8E3owYX1jAVgbc\nDdyCLo4qInR52ObL1mdStrDyMnJZgx3yncB3gbrx6EaqBXgkICtB0esWsqNgP8OR8UotsgeBsx3P\nnYki6UPIE/iZiM6+esezI4DdwKvYz8cgzcgD2ALd1cBk83kUShldGRCEz5efpG2RQ6lREjwvPcaY\nASx3yJc5OhmAjP4ecKqvvj+6PVtE9vWlx8nAz3QEZjbW4T57ZyAj+Xd5XxRItqEoPw4ZtHjWW2Sn\nI6/kX6w/oPw4Ctd8QZFs4a3CDHIL21AaNQSlQd5t1lXAx3S88BR0blQRj73ApejHimdQirYSeMjI\nFqBd6lFq+vsJ3a61oJzaxlNoIdlYjYw7FbntpcDzyOVOJjxzqKDjR51mdINXjdxrIwqYAM4y73DQ\n9+wOoo8wF8W2RaKErdijlenkBozrUAAaRTHnK3SHp3Se7eSmaf1QBtHlSA1eOFuAkwJ1g9Fx1OVI\nDV44B1Bgea757mUOjeb7MHJvCY8Yrrv0fBmKgocadNW3G/2iFOey5WhgNgo8G1Fufz2K6kG//deQ\n/ceLYs5XqO6k7oT7oBTLzx6yI+/uQCnZ0Tpojm9Af5zwKOZ8pbboAtx0pAeQcvioRpckKd2EpOKk\nlJSUlJSUlG7Mf20dXidP7IWnAAAAAElFTkSuQmCC\n", |
|
182 | "png": "iVBORw0KGgoAAAANSUhEUgAAAHwAAAAcCAYAAACj6tvkAAAABHNCSVQICAgIfAhkiAAABWZJREFU\naIHtmmtsFUUUx39FoAg+QKiSqtxGULCAqEAk1mINPj6IGJGEDxBBER/1kWAkBmPUqISYGKL4qApG\nHsHY+Pogii2oBVFRa1KxKPVF1EggJGAVCeDzw3/W7t07s7u3dy80dH9f5t45s2dm58ycOWfuhZQU\n4A1gG/Av8CfQAiw1sgzwPvCLkf8GfAbclof+Y4GZwNPARqABaAKmGfllwHxf+yeBzcBfwN/AORad\na4H9Zkx7gcWWNiOA54BXgGXA20A9MNoxzllG30GgGXgH+NrU/QqsN2P/HPgH+CbknTtLsW3xPxOM\nkicc8gVGPr0TetvQoGuA3qa+D/AY8DiwD7go8Nwg4AvT57MO3bPRBJUE6nsAdeb54GKZghbKdRZ9\nDcD9vjFCxyK43dL3u45xFUqxbJHFfKPkCoe8Ae22AXnoXAgcAu50yI9BK/R3oFdAdg0wA9hq5Mdb\nnr8LGBuoK0GLay1aVDYeRbuj3Fc3EHmCIC+geRkeqB+CFlUxKIYtcliDjNPPIuuFdmFLHvpq0aBn\nRrRbCLxlqV8MnAbcYfTUWtqsRIvGzxLk8gaF9DnJ6HzAVzcX+wR/C+y01I8F5oX0UQhJ2yKHHugc\n/NAhvxBN0JKY+kYit9kUo+0c7BPn7bYTgT+ALwPyEmBVoO5hM86rI/rMmHav+epmoXnwU27a2Xb+\nSGB8RD+dIVFbBF/IYwzQH7eBLjHlhjidAMtRoHZfjLat6Bz2cwLQbj63Ay8Bo8g+50cjd+9RDtyD\ndveaiD6HmrKvr24FCsT8TDTlRouOreg4SppEbdHTUe+92OXknokA40xpe/Egp5j2nwKbYrT/xFJX\nRfYKrwNuBG716bw4MJ5a5O5WofMtjMqQvv148xJ3oSdBkrZw8jpKgY6zyHoil/pVTF3XIpdTSECz\niI5d6LEZpUtl5vsKsgO9DabfK2Poryc8KPJoBfaQmwUUkyRtYXXpJUA1SmH2WeTnI9cXd0VdYMrW\nGG3LsEeaZwDfB+rqULo0x3zvjfJUj2Gm3B7RZwaYCuwCPgppNxB5gk1ocRwOkraF1eCVKKL9wPGM\nd27GdWs/mnJHjLb3km000Nm/39K2Hu22m9GY2wLyXaZsJ5x5aKfMRemei2pkgIJcZ54kbQurwb0z\nw3XeVpnS9uLTUC7sp8mU50WMpRLtxuBKnoD9bD2AgsEK5PKD4/EmaVJIn+OQoV8E3owYX1jAVgbc\nDdyCLo4qInR52ObL1mdStrDyMnJZgx3yncB3gbrx6EaqBXgkICtB0esWsqNgP8OR8UotsgeBsx3P\nnYki6UPIE/iZiM6+esezI4DdwKvYz8cgzcgD2ALd1cBk83kUShldGRCEz5efpG2RQ6lREjwvPcaY\nASx3yJc5OhmAjP4ecKqvvj+6PVtE9vWlx8nAz3QEZjbW4T57ZyAj+Xd5XxRItqEoPw4ZtHjWW2Sn\nI6/kX6w/oPw4Ctd8QZFs4a3CDHIL21AaNQSlQd5t1lXAx3S88BR0blQRj73ApejHimdQirYSeMjI\nFqBd6lFq+vsJ3a61oJzaxlNoIdlYjYw7FbntpcDzyOVOJjxzqKDjR51mdINXjdxrIwqYAM4y73DQ\n9+wOoo8wF8W2RaKErdijlenkBozrUAAaRTHnK3SHp3Se7eSmaf1QBtHlSA1eOFuAkwJ1g9Fx1OVI\nDV44B1Bgea757mUOjeb7MHJvCY8Yrrv0fBmKgocadNW3G/2iFOey5WhgNgo8G1Fufz2K6kG//deQ\n/ceLYs5XqO6k7oT7oBTLzx6yI+/uQCnZ0Tpojm9Af5zwKOZ8pbboAtx0pAeQcvioRpckKd2EpOKk\nlJSUlJSUlG7Mf20dXidP7IWnAAAAAElFTkSuQmCC\n", | |
128 | "text": "H \u22c5CNOT \u22c5H \n 1 0,1 1" |
|
183 | "prompt_number": 7, | |
|
184 | "text": [ | |||
|
185 | "H \u22c5CNOT \u22c5H ", | |||
|
186 | " 1 0,1 1" | |||
|
187 | ] | |||
129 | } |
|
188 | } | |
130 | ], |
|
189 | ], | |
131 |
" |
|
190 | "prompt_number": 7 | |
132 | "prompt_number": 7, |
|
|||
133 | "input": "CZ01.decompose()\n" |
|
|||
134 | }, |
|
191 | }, | |
135 | { |
|
192 | { | |
136 | "cell_type": "code", |
|
193 | "cell_type": "code", | |
|
194 | "collapsed": false, | |||
|
195 | "input": [ | |||
|
196 | "circuit_plot(CZ01.decompose(), nqubits=2)" | |||
|
197 | ], | |||
137 | "language": "python", |
|
198 | "language": "python", | |
138 | "outputs": [ |
|
199 | "outputs": [ | |
139 | { |
|
200 | { | |
140 | "output_type": "pyout", |
|
201 | "output_type": "pyout", | |
141 | "prompt_number": 8, |
|
202 | "prompt_number": 8, | |
142 | "text": "<sympy.physics.quantum.circuitplot.CircuitPlot object at 0x472d550>" |
|
203 | "text": [ | |
|
204 | "<sympy.physics.quantum.circuitplot.CircuitPlot object at 0x472d550>" | |||
|
205 | ] | |||
143 | }, |
|
206 | }, | |
144 | { |
|
207 | { | |
145 | "output_type": "display_data", |
|
208 | "output_type": "display_data", | |
146 | "png": "iVBORw0KGgoAAAANSUhEUgAAANcAAACOCAYAAACi/J2KAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAB1NJREFUeJzt3U1IVG0bwPHrTI9Zk2VZk5CLKKiRXGiUC5nyYxOVVAiR\nUqsKDMYWtYn2LSJpq7XKoXbZIoJSNDQsozADN9GmNFtUQwb2oVbOXM/qid7XGdPJyzNz5v8DN97N\n6Tre/p07ncpR1c8islIALChHVdXtIQAv8rk9AOBVxAUYIS7ACHEBRogLMEJcgBHiAowQF2CEuAAj\nxAUYIS7ACHEBRogLMEJcgBHiAowQF2CEuAAjxAUYIS7ACHEBRogLMEJcgBHiAowQF2CEuAAjxAUY\n8URcBQUF4jiO2VtBQYHbt+hpXt0/T/xb8Y7jiOVtWF8/23l1//5Z9N8RC05V5fHjxxKJRGR0dFSm\npqYkPz9fKioq5OTJk7J+/Xq3R8xKnjgWZitVlUgkImVlZXLixAkpLi6Ws2fPSl9fnxw/flxevXol\nwWBQjh07Ji9fvnR73OyjHjDbbdTV1WlxcbE6jqM5OTlaVlamjY2Nqqo6MjKiNTU1WlRUpI7j6KpV\nq7S8vFxbWlrmfH23TE9Pa2Njo5aWlur9+/c1Ho//Wvt93k+fPumlS5c0EAhoT0+PG6P+kVf3L/0+\na1Lwpw/ekydP1HEcPXPmTML1ixcvquM4evPmzZSuv9ji8bg2NTVpdXW1fv78ecZ6onl7enp03bp1\nOjAwsBgjzotX9y8rjoV9fX0iIrJ///6E6729vbJkyRLZs2fPYo6Vss7OTunu7pbbt2/LypVz+09B\na2pq5OrVq9LQ0CDxeNx4woWVsfvnStIL7E+3UVtbq7m5uToxMTFj7cePH7pixQrdvn17ytdfbLW1\ntdrW1pZ0Pdm88Xhcd+zYoR0dHUaTpcar++f5Z654PC79/f1SXl4uy5cvn7E+MDAgExMTUllZ6cJ0\n8zc8PCxPnz6V+vr6eT/WcRwJh8PS0tJiMJmNTN4/z8c1NDQk4+PjUl1dnXC9t7dXRESqqqoWcarU\n3bp1S44cOZLwE20uGhoapKenR75+/brAk9nI5P3z/M+5/juvd3V1ybNnz2asDwwMiOM4afmVL5Fo\nNCobN25M+fF+v1/Wrl0rY2NjkpeXt4CT2cjo/Ut2XhSRjHpLpq6uTnNycvTbt28z1qanp9Xv92tJ\nScmsZ2e37y0b3ry4f0mfuTSDXu7jOE7C96uqPHz4UEpLS8Xv989YHxwclMnJyTl91UuXj8eFCxfk\ny5cv0tzcnPTXzPZyn1gsJqtXr5bR0VFZs2aN1Zjz4tX98/SfuV68eCFjY2Oye/fuhOuPHj0SkfQ8\nryezb98+aW9vl1gsltLj7927JyUlJWkT1mwyff88Hdd/5/Vdu3YlXO/v7xcRSc/zehI7d+6UQCAg\nnZ2dKT2+tbVVwuHwAk9lI+P3b9bDaoZIdhv19fXq8/n0w4cPCdcLCwt1y5YtKV/fLZFIRCsrK/Xn\nz58J15PNOzg4qIFAQCcnJy3Hmzev7p9nn7m+f/8uDx48kM2bNyd8VfjQ0JBEo1EJhUIuTPd3jh49\nKrm5uXL69Ok5v9pieHhYDh06JC0tLbJs2TLjCf+eJ/bPlaQX2O+38ebNG62srNRNmzapz+fTpUuX\naigU0itXrqiq6p07d7SiokIDgYD6fD4tKCjQqqoq7e/vn9P108X4+LiGQiGtr6/X9+/f/8/a7/PG\n43Ht7u7WDRs2aGtr62KPOSde3T/+smQaXD9VU1NTcu7cOblx44bs3btXTp06Jdu2bZPCwkIZGRmR\nu3fvSmtrq8RiMWlubpYDBw64PXJCXt0/4kqD6/+t8fFxuX79urS1tcnbt2/l48ePUlRUJBUVFRIO\nh6W6ujrpt7vTgVf3j7jS4PoLjXkX9/rJePYbGoDbPPPaQstjTyb8wDXTeXH/PBFXJh2BMJNX949j\nIWCEuAAjxAUYIS7ACHEBRogLMEJcgBHiAowQF2CEuAAjxAUYIS7ACHEBRogLMEJcgBHiAowQF2CE\nuAAjxAUYIS7ACHEBRogLMEJcgBHiAowQF2CEuAAjxAUYIS7ACHEBRogLMEJcgBHiAowQF2CEuAAj\nxAUYIS7ACHEBRogLMEJcgBHi8pBYLCZdXV0iIvL69WuXpwFxecS7d+9k69atcvjwYRERKSkpkfPn\nz7s8VXZzVFXdHgJ/7+DBg9LR0SHT09O/3uf3+6Wrq0tCoZCLk2Uvnrk84v/DEhGZnJyU9vZ2lyZC\n0mcux3EWexbAU/5JtsBpMbM0NTXJtWvXZGpq6tf7/H6/PH/+XILBoIuTZS+OhR5x+fJlqa2tldzc\nXMnLy5P8/HyJRCKE5SK+oeEx0WhUotGoBINBycnJcXucrEZcgBGOhYAR4gKMEBdghLgAI8QFGCEu\nwAhxAUaICzBCXIAR4gKMEBdghLgAI8QFGCEuwAhxAUaICzBCXIAR4gKMEBdghLgAI8QFGCEuwAhx\nAUaICzBCXIAR4gKMEBdghLgAI8QFGCEuwAhxAUaICzBCXIAR4gKMEBdghLgAI8QFGCEuwAhxAUaI\nCzBCXIAR4gKM/Avn+MC2/OP35gAAAABJRU5ErkJggg==\n" |
|
209 | "png": "iVBORw0KGgoAAAANSUhEUgAAANcAAACOCAYAAACi/J2KAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAB1NJREFUeJzt3U1IVG0bwPHrTI9Zk2VZk5CLKKiRXGiUC5nyYxOVVAiR\nUqsKDMYWtYn2LSJpq7XKoXbZIoJSNDQsozADN9GmNFtUQwb2oVbOXM/qid7XGdPJyzNz5v8DN97N\n6Tre/p07ncpR1c8islIALChHVdXtIQAv8rk9AOBVxAUYIS7ACHEBRogLMEJcgBHiAowQF2CEuAAj\nxAUYIS7ACHEBRogLMEJcgBHiAowQF2CEuAAjxAUYIS7ACHEBRogLMEJcgBHiAowQF2CEuAAjxAUY\n8URcBQUF4jiO2VtBQYHbt+hpXt0/T/xb8Y7jiOVtWF8/23l1//5Z9N8RC05V5fHjxxKJRGR0dFSm\npqYkPz9fKioq5OTJk7J+/Xq3R8xKnjgWZitVlUgkImVlZXLixAkpLi6Ws2fPSl9fnxw/flxevXol\nwWBQjh07Ji9fvnR73OyjHjDbbdTV1WlxcbE6jqM5OTlaVlamjY2Nqqo6MjKiNTU1WlRUpI7j6KpV\nq7S8vFxbWlrmfH23TE9Pa2Njo5aWlur9+/c1Ho//Wvt93k+fPumlS5c0EAhoT0+PG6P+kVf3L/0+\na1Lwpw/ekydP1HEcPXPmTML1ixcvquM4evPmzZSuv9ji8bg2NTVpdXW1fv78ecZ6onl7enp03bp1\nOjAwsBgjzotX9y8rjoV9fX0iIrJ///6E6729vbJkyRLZs2fPYo6Vss7OTunu7pbbt2/LypVz+09B\na2pq5OrVq9LQ0CDxeNx4woWVsfvnStIL7E+3UVtbq7m5uToxMTFj7cePH7pixQrdvn17ytdfbLW1\ntdrW1pZ0Pdm88Xhcd+zYoR0dHUaTpcar++f5Z654PC79/f1SXl4uy5cvn7E+MDAgExMTUllZ6cJ0\n8zc8PCxPnz6V+vr6eT/WcRwJh8PS0tJiMJmNTN4/z8c1NDQk4+PjUl1dnXC9t7dXRESqqqoWcarU\n3bp1S44cOZLwE20uGhoapKenR75+/brAk9nI5P3z/M+5/juvd3V1ybNnz2asDwwMiOM4afmVL5Fo\nNCobN25M+fF+v1/Wrl0rY2NjkpeXt4CT2cjo/Ut2XhSRjHpLpq6uTnNycvTbt28z1qanp9Xv92tJ\nScmsZ2e37y0b3ry4f0mfuTSDXu7jOE7C96uqPHz4UEpLS8Xv989YHxwclMnJyTl91UuXj8eFCxfk\ny5cv0tzcnPTXzPZyn1gsJqtXr5bR0VFZs2aN1Zjz4tX98/SfuV68eCFjY2Oye/fuhOuPHj0SkfQ8\nryezb98+aW9vl1gsltLj7927JyUlJWkT1mwyff88Hdd/5/Vdu3YlXO/v7xcRSc/zehI7d+6UQCAg\nnZ2dKT2+tbVVwuHwAk9lI+P3b9bDaoZIdhv19fXq8/n0w4cPCdcLCwt1y5YtKV/fLZFIRCsrK/Xn\nz58J15PNOzg4qIFAQCcnJy3Hmzev7p9nn7m+f/8uDx48kM2bNyd8VfjQ0JBEo1EJhUIuTPd3jh49\nKrm5uXL69Ok5v9pieHhYDh06JC0tLbJs2TLjCf+eJ/bPlaQX2O+38ebNG62srNRNmzapz+fTpUuX\naigU0itXrqiq6p07d7SiokIDgYD6fD4tKCjQqqoq7e/vn9P108X4+LiGQiGtr6/X9+/f/8/a7/PG\n43Ht7u7WDRs2aGtr62KPOSde3T/+smQaXD9VU1NTcu7cOblx44bs3btXTp06Jdu2bZPCwkIZGRmR\nu3fvSmtrq8RiMWlubpYDBw64PXJCXt0/4kqD6/+t8fFxuX79urS1tcnbt2/l48ePUlRUJBUVFRIO\nh6W6ujrpt7vTgVf3j7jS4PoLjXkX9/rJePYbGoDbPPPaQstjTyb8wDXTeXH/PBFXJh2BMJNX949j\nIWCEuAAjxAUYIS7ACHEBRogLMEJcgBHiAowQF2CEuAAjxAUYIS7ACHEBRogLMEJcgBHiAowQF2CE\nuAAjxAUYIS7ACHEBRogLMEJcgBHiAowQF2CEuAAjxAUYIS7ACHEBRogLMEJcgBHiAowQF2CEuAAj\nxAUYIS7ACHEBRogLMEJcgBHi8pBYLCZdXV0iIvL69WuXpwFxecS7d+9k69atcvjwYRERKSkpkfPn\nz7s8VXZzVFXdHgJ/7+DBg9LR0SHT09O/3uf3+6Wrq0tCoZCLk2Uvnrk84v/DEhGZnJyU9vZ2lyZC\n0mcux3EWexbAU/5JtsBpMbM0NTXJtWvXZGpq6tf7/H6/PH/+XILBoIuTZS+OhR5x+fJlqa2tldzc\nXMnLy5P8/HyJRCKE5SK+oeEx0WhUotGoBINBycnJcXucrEZcgBGOhYAR4gKMEBdghLgAI8QFGCEu\nwAhxAUaICzBCXIAR4gKMEBdghLgAI8QFGCEuwAhxAUaICzBCXIAR4gKMEBdghLgAI8QFGCEuwAhx\nAUaICzBCXIAR4gKMEBdghLgAI8QFGCEuwAhxAUaICzBCXIAR4gKMEBdghLgAI8QFGCEuwAhxAUaI\nCzBCXIAR4gKM/Avn+MC2/OP35gAAAABJRU5ErkJggg==\n" | |
147 | } |
|
210 | } | |
148 | ], |
|
211 | ], | |
149 |
" |
|
212 | "prompt_number": 8 | |
150 | "prompt_number": 8, |
|
|||
151 | "input": "circuit_plot(CZ01.decompose(), nqubits=2)" |
|
|||
152 | }, |
|
213 | }, | |
153 | { |
|
214 | { | |
154 |
" |
|
215 | "cell_type": "markdown", | |
155 |
" |
|
216 | "source": [ | |
|
217 | "<h2>Example 3</h2>" | |||
|
218 | ] | |||
156 | }, |
|
219 | }, | |
157 | { |
|
220 | { | |
158 |
" |
|
221 | "cell_type": "markdown", | |
159 |
" |
|
222 | "source": [ | |
|
223 | "Create a SWAP gate" | |||
|
224 | ] | |||
160 | }, |
|
225 | }, | |
161 | { |
|
226 | { | |
162 | "cell_type": "code", |
|
227 | "cell_type": "code", | |
|
228 | "collapsed": false, | |||
|
229 | "input": [ | |||
|
230 | "SWAP10 = SWAP(1, 0); SWAP10" | |||
|
231 | ], | |||
163 | "language": "python", |
|
232 | "language": "python", | |
164 | "outputs": [ |
|
233 | "outputs": [ | |
165 | { |
|
234 | { | |
|
235 | "latex": [ | |||
|
236 | "$$SWAP_{1,0}$$" | |||
|
237 | ], | |||
166 | "output_type": "pyout", |
|
238 | "output_type": "pyout", | |
167 | "latex": "$$SWAP_{1,0}$$", |
|
|||
168 | "prompt_number": 9, |
|
|||
169 | "png": "iVBORw0KGgoAAAANSUhEUgAAAE8AAAAcCAYAAAAgLuLfAAAABHNCSVQICAgIfAhkiAAABDdJREFU\naIHt2HuIV1UQB/CP7ur63DRre/0RuET2QHpQ0sO0skhJwhJKoiiVIAiDpDAqwYwsih5Y9KSo7EVG\nUVErbiXawyikCI0okvKPyNI0rVxbsz/m/Ni71/v7/W4+SnS/cDnnzJwzM2fuuTNzLj3YI2jEDCzA\nS3gd0zAQ76AdHdiOTizH4LR2Fr5PvO34HFdmZF+FtYm3GXeWsOc1TK3B74NF+DbJ3YDFaMMyfIe3\ncGIJXbuE/knRreidod+Mr4Uz4e5k6JMFMloT79UqOk7FxxhUwp6Lk6zZJeZemOZen6P3wePYgnNK\nyKmL3lXoz+JH3IG/M/R54nS1p/Ha1G4pkNGU2r5VdFyUns11bByI21P/0DpzYXRq23P0vzA32TW9\nhJy6KHLeAWJTr1RZ8yXeTf11NWTPSO2wAt7x+EmX82vhNjyQ+mWcNwbrsaqANyC1h5WQUxdFzjtT\nHPGjqqxZhtWpv77KnHH4BpsUO+9aPFLCvmPE5/+M+BTrOW8gTsaHaX4eo1K7oITuncJBIgF04F5d\nzizCGcLIhzK0JhEv+won/5xbMwkTStryNoan/joR9GvhvGTPTQW8BnyVbBpcwN9tuFFXJq1kxIcx\nJDdvhB2dNxsTU/8z8SJ6pXET5pe04XIRoypYhT/qrJmb7Dk9Rz9CVAsLRVja4xiBOViKrcmohbk5\nLbo7rxVvZPiLEn9oGs/E0SV0N+MTXTEK3kuyam1+KbaJ7P9oep5O+xhXQu8ewXH4QWSsfhl6o+7O\nezPNreCFxG8VQXpOSX0PYnKO9mKSVc35/UTW/7Skjl1GPmHMqjJvJZ4XxvfK0DuxMfUni8J4ZYb/\nS2qH4QbcV8KmEzBFlBNtmee0xK+WNEaJsLCkhI7dgsZMfxDG4q4qc5uxAn/m6OtEAJ6Nswt4MF4U\n1xvVRi/h4DEiuGcxUySwas47K7VL6ujog8dEDVsvARHha5KoHI4U+8z7wHhxkloLBLSIuizvHOIz\n6dBV12VxnTity1UvyLOYJpJVES5VfHOooF3Y31xD/lRRcHcKp9RDg0hUh6TxdDxVNPEeUZstxLEZ\n+nCx+ZlVFLQlBY0FvCliw6MLeHlcIOJqQxX+uUnWvAJeM34X2b0MtijnvEvwUWbcIk7dgPzE53Cg\nOF2LxYlqExfyfOrP4gmcX4U3JsmthZPES6uURct1fxH98b4IAdvxWxqPTM8yrEm8TfhAlDm1UNZ5\nt9jxptUpCvH9FmWdd7+43WSxSfqxUCYO7c9Ybcdr3gDpWtrjvNpYIeJcBS2iIljz/5izd6Dosx2J\nw3O0QeLXXCVBXIGXK8xqmW1fxQTxF3uscMwQfJF483GZ7gluqzhl14gb0inilrThP7F2L8NQUWRX\nnoMzvAZcXWNtU55QVJvty/i1Bm+b2v7o2M227FOYKK5fPdgJ7G9fYQ960IMe/Cv8A97G6Y4Q7MLo\nAAAAAElFTkSuQmCC\n", |
|
239 | "png": "iVBORw0KGgoAAAANSUhEUgAAAE8AAAAcCAYAAAAgLuLfAAAABHNCSVQICAgIfAhkiAAABDdJREFU\naIHt2HuIV1UQB/CP7ur63DRre/0RuET2QHpQ0sO0skhJwhJKoiiVIAiDpDAqwYwsih5Y9KSo7EVG\nUVErbiXawyikCI0okvKPyNI0rVxbsz/m/Ni71/v7/W4+SnS/cDnnzJwzM2fuuTNzLj3YI2jEDCzA\nS3gd0zAQ76AdHdiOTizH4LR2Fr5PvO34HFdmZF+FtYm3GXeWsOc1TK3B74NF+DbJ3YDFaMMyfIe3\ncGIJXbuE/knRreidod+Mr4Uz4e5k6JMFMloT79UqOk7FxxhUwp6Lk6zZJeZemOZen6P3wePYgnNK\nyKmL3lXoz+JH3IG/M/R54nS1p/Ha1G4pkNGU2r5VdFyUns11bByI21P/0DpzYXRq23P0vzA32TW9\nhJy6KHLeAWJTr1RZ8yXeTf11NWTPSO2wAt7x+EmX82vhNjyQ+mWcNwbrsaqANyC1h5WQUxdFzjtT\nHPGjqqxZhtWpv77KnHH4BpsUO+9aPFLCvmPE5/+M+BTrOW8gTsaHaX4eo1K7oITuncJBIgF04F5d\nzizCGcLIhzK0JhEv+won/5xbMwkTStryNoan/joR9GvhvGTPTQW8BnyVbBpcwN9tuFFXJq1kxIcx\nJDdvhB2dNxsTU/8z8SJ6pXET5pe04XIRoypYhT/qrJmb7Dk9Rz9CVAsLRVja4xiBOViKrcmohbk5\nLbo7rxVvZPiLEn9oGs/E0SV0N+MTXTEK3kuyam1+KbaJ7P9oep5O+xhXQu8ewXH4QWSsfhl6o+7O\nezPNreCFxG8VQXpOSX0PYnKO9mKSVc35/UTW/7Skjl1GPmHMqjJvJZ4XxvfK0DuxMfUni8J4ZYb/\nS2qH4QbcV8KmEzBFlBNtmee0xK+WNEaJsLCkhI7dgsZMfxDG4q4qc5uxAn/m6OtEAJ6Nswt4MF4U\n1xvVRi/h4DEiuGcxUySwas47K7VL6ujog8dEDVsvARHha5KoHI4U+8z7wHhxkloLBLSIuizvHOIz\n6dBV12VxnTity1UvyLOYJpJVES5VfHOooF3Y31xD/lRRcHcKp9RDg0hUh6TxdDxVNPEeUZstxLEZ\n+nCx+ZlVFLQlBY0FvCliw6MLeHlcIOJqQxX+uUnWvAJeM34X2b0MtijnvEvwUWbcIk7dgPzE53Cg\nOF2LxYlqExfyfOrP4gmcX4U3JsmthZPES6uURct1fxH98b4IAdvxWxqPTM8yrEm8TfhAlDm1UNZ5\nt9jxptUpCvH9FmWdd7+43WSxSfqxUCYO7c9Ybcdr3gDpWtrjvNpYIeJcBS2iIljz/5izd6Dosx2J\nw3O0QeLXXCVBXIGXK8xqmW1fxQTxF3uscMwQfJF483GZ7gluqzhl14gb0inilrThP7F2L8NQUWRX\nnoMzvAZcXWNtU55QVJvty/i1Bm+b2v7o2M227FOYKK5fPdgJ7G9fYQ960IMe/Cv8A97G6Y4Q7MLo\nAAAAAElFTkSuQmCC\n", | |
170 |
" |
|
240 | "prompt_number": 9, | |
|
241 | "text": [ | |||
|
242 | "SWAP ", | |||
|
243 | " 1,0" | |||
|
244 | ] | |||
171 | } |
|
245 | } | |
172 | ], |
|
246 | ], | |
173 |
" |
|
247 | "prompt_number": 9 | |
174 | "prompt_number": 9, |
|
|||
175 | "input": "SWAP10 = SWAP(1, 0); SWAP10\n" |
|
|||
176 | }, |
|
248 | }, | |
177 | { |
|
249 | { | |
178 |
" |
|
250 | "cell_type": "markdown", | |
179 |
" |
|
251 | "source": [ | |
|
252 | "Decompose and plot it" | |||
|
253 | ] | |||
180 | }, |
|
254 | }, | |
181 | { |
|
255 | { | |
182 | "cell_type": "code", |
|
256 | "cell_type": "code", | |
|
257 | "collapsed": false, | |||
|
258 | "input": [ | |||
|
259 | "SWAP10.decompose()" | |||
|
260 | ], | |||
183 | "language": "python", |
|
261 | "language": "python", | |
184 | "outputs": [ |
|
262 | "outputs": [ | |
185 | { |
|
263 | { | |
|
264 | "latex": [ | |||
|
265 | "$$CNOT_{1,0} CNOT_{0,1} CNOT_{1,0}$$" | |||
|
266 | ], | |||
186 | "output_type": "pyout", |
|
267 | "output_type": "pyout", | |
187 | "latex": "$$CNOT_{1,0} CNOT_{0,1} CNOT_{1,0}$$", |
|
|||
188 | "prompt_number": 10, |
|
|||
189 | "png": "iVBORw0KGgoAAAANSUhEUgAAAOQAAAAcCAYAAABxlhP5AAAABHNCSVQICAgIfAhkiAAABThJREFU\neJztm3uIVUUcxz93t01ta0PD2h7uZqQGWWRgSvZ+K0QEYUQPemCREj0kkLTAiEoIAwuWipDNsqRa\ngghCxY0sLXAVCrPWjc2gMrQnvShs++P3u7tzZ+ecM/ees+nemQ9czj3z+83re+bM/c3ccyASiYwa\npgIPAK8DHwLrgbXAZKAEdAKt6nsS0A3sBgaAbY7yZgKfq30A6AMutnwagOuALmCNftYDjwNHWL7d\nWs5+YJP6/aRpvcC7mr5H0x6qqvfVEbXypxqtIOpFI7AE+BZYCEwxbJOA94DViAA2i4FPtJGzE8rv\nBq51pJ8C7AQ6gGYjvQm5YL1aP8AJwD5glqPsf4DxRtphwEbg5oT25CFq5U8erSA8vQBoA7YCXwGn\nJficjYjyrMO2Fpij9s6E/K840iYB/cCtCXnGaZu69Pxe4BrL53DgD6T9No8wXOC8RK38yasVhKUX\nIHf7x0jjj8/w/Z7hM1EJWKffe4A/gQmWzwRglZXWisxQz2XUuQa5GO1aT6NlL1+sFY68z1A5s+Ul\nauVPXq0gEL0arPNHgXOAh4HvMvLuRn7CTaYjYQFIaDAWuM3yOR/4wDhvQX7yjwTuy6izT49nAe8A\nByz7hXp835G3B1kDFEXUyp+8WkFYegEwQxuxk+E3qovrHWmLGGp4M/AzInDJ8FlJ5YL9QWTmecKj\nzpfU11U3yEL7AHC0R1l5iFr5U4RWEI5egyzVBi3IUUYnMnOVWaVlXm6kvWp8bwC+Vp9pHuVvU9+T\nHbZG4Fdgu39zayZq5U8RWkEgepkz1nl6zFPpWOAv47xDj3frsQX4xbC3Iwvu/cAXGWWPB04H9iIL\ncJsZwFG4Q4qiiVr5U4RWEIhe5g05C/gX+Mwj31RH2hQkhDDZhWxlXw2ciFycLYb9VD32e9S5ELko\nXQn2C/T4fwyyqJU/ebWCsPQaZAfwg4ffRNwx+R3AFY70+UgosBx4ksqQ4Ey1bciocwwye/UjM5WL\nt7SsiRllFUHUyp+8WkFYeg3ytFbaluG3HDjOkf4isptl04R0+BvgTcvWgOxO/U7l+sBmBTLLXpRg\nLyGhic8s3Aa85uE3F9kUWMpQWFQmBK3S+u8iSde8WsHo0AuKGVuDzEZi9CUpBd2lHxfrEtIBHkMu\nyssO2/Nqm5uQdzHyh+ztKeVP1zI6UnyagWXahr4UP5A/rj9iaAfvDWQ2LlPvWmX13yRL17xawaGv\nV5Fjq4KrtIH3IE8vlJmGhATzEvLdCLyd0og2ZMv4ToetSfNuofKP3nZk1vwUWXCnsQwR7aYMP4DL\nyBbtBeTpizK3IM8ymtSzVj79t0nTtVatYHToVaaosVXBTOApYLM6dmqjJjt85wFfMvRA7w4kdnfR\nRfKifQxwPxKarNZPB/J84LiEPAuQ9cFWJOQYQEKXTcgjVkn4iLYZWbeYefY5/OpVK9/+Y/mk6VqN\nVjC69CpT5NgKBh/RdgE3GOdzgL9HrEWHHrX030fXeif32PJ5ciJE+pFZsUwz8ONBasvBIPT+jySp\n2sYb0s124FjjvBV56iMUQu//SJKqbbwhh7gU2QQAeTPhEsN2Jem7bPVGVv9NrSLZeI8t+xWTeqaE\nPJExH3nvrjwZ7UHE6gF+QwTrRd5OOAM4F9nFW0llqFHPpPXf1ipN11CIY6tGWq1Pi2FrQragTRqR\nd/lCJan/tlZpuoZCIWMrtMG2N8V2DMPfabPfiQuNpP7bWqXpGgpxbBXMIuKa2peoVXVEvWogtGgh\nD1Gr6oh6RSKRSCQSiUQikUikcP4DcImNVwb6bzMAAAAASUVORK5CYII=\n", |
|
268 | "png": "iVBORw0KGgoAAAANSUhEUgAAAOQAAAAcCAYAAABxlhP5AAAABHNCSVQICAgIfAhkiAAABThJREFU\neJztm3uIVUUcxz93t01ta0PD2h7uZqQGWWRgSvZ+K0QEYUQPemCREj0kkLTAiEoIAwuWipDNsqRa\ngghCxY0sLXAVCrPWjc2gMrQnvShs++P3u7tzZ+ecM/ees+nemQ9czj3z+83re+bM/c3ccyASiYwa\npgIPAK8DHwLrgbXAZKAEdAKt6nsS0A3sBgaAbY7yZgKfq30A6AMutnwagOuALmCNftYDjwNHWL7d\nWs5+YJP6/aRpvcC7mr5H0x6qqvfVEbXypxqtIOpFI7AE+BZYCEwxbJOA94DViAA2i4FPtJGzE8rv\nBq51pJ8C7AQ6gGYjvQm5YL1aP8AJwD5glqPsf4DxRtphwEbg5oT25CFq5U8erSA8vQBoA7YCXwGn\nJficjYjyrMO2Fpij9s6E/K840iYB/cCtCXnGaZu69Pxe4BrL53DgD6T9No8wXOC8RK38yasVhKUX\nIHf7x0jjj8/w/Z7hM1EJWKffe4A/gQmWzwRglZXWisxQz2XUuQa5GO1aT6NlL1+sFY68z1A5s+Ul\nauVPXq0gEL0arPNHgXOAh4HvMvLuRn7CTaYjYQFIaDAWuM3yOR/4wDhvQX7yjwTuy6izT49nAe8A\nByz7hXp835G3B1kDFEXUyp+8WkFYegEwQxuxk+E3qovrHWmLGGp4M/AzInDJ8FlJ5YL9QWTmecKj\nzpfU11U3yEL7AHC0R1l5iFr5U4RWEI5egyzVBi3IUUYnMnOVWaVlXm6kvWp8bwC+Vp9pHuVvU9+T\nHbZG4Fdgu39zayZq5U8RWkEgepkz1nl6zFPpWOAv47xDj3frsQX4xbC3Iwvu/cAXGWWPB04H9iIL\ncJsZwFG4Q4qiiVr5U4RWEIhe5g05C/gX+Mwj31RH2hQkhDDZhWxlXw2ciFycLYb9VD32e9S5ELko\nXQn2C/T4fwyyqJU/ebWCsPQaZAfwg4ffRNwx+R3AFY70+UgosBx4ksqQ4Ey1bciocwwye/UjM5WL\nt7SsiRllFUHUyp+8WkFYeg3ytFbaluG3HDjOkf4isptl04R0+BvgTcvWgOxO/U7l+sBmBTLLXpRg\nLyGhic8s3Aa85uE3F9kUWMpQWFQmBK3S+u8iSde8WsHo0AuKGVuDzEZi9CUpBd2lHxfrEtIBHkMu\nyssO2/Nqm5uQdzHyh+ztKeVP1zI6UnyagWXahr4UP5A/rj9iaAfvDWQ2LlPvWmX13yRL17xawaGv\nV5Fjq4KrtIH3IE8vlJmGhATzEvLdCLyd0og2ZMv4ToetSfNuofKP3nZk1vwUWXCnsQwR7aYMP4DL\nyBbtBeTpizK3IM8ymtSzVj79t0nTtVatYHToVaaosVXBTOApYLM6dmqjJjt85wFfMvRA7w4kdnfR\nRfKifQxwPxKarNZPB/J84LiEPAuQ9cFWJOQYQEKXTcgjVkn4iLYZWbeYefY5/OpVK9/+Y/mk6VqN\nVjC69CpT5NgKBh/RdgE3GOdzgL9HrEWHHrX030fXeif32PJ5ciJE+pFZsUwz8ONBasvBIPT+jySp\n2sYb0s124FjjvBV56iMUQu//SJKqbbwhh7gU2QQAeTPhEsN2Jem7bPVGVv9NrSLZeI8t+xWTeqaE\nPJExH3nvrjwZ7UHE6gF+QwTrRd5OOAM4F9nFW0llqFHPpPXf1ipN11CIY6tGWq1Pi2FrQragTRqR\nd/lCJan/tlZpuoZCIWMrtMG2N8V2DMPfabPfiQuNpP7bWqXpGgpxbBXMIuKa2peoVXVEvWogtGgh\nD1Gr6oh6RSKRSCQSiUQikUikcP4DcImNVwb6bzMAAAAASUVORK5CYII=\n", | |
190 | "text": "CNOT \u22c5CNOT \u22c5CNOT \n 1,0 0,1 1,0" |
|
269 | "prompt_number": 10, | |
|
270 | "text": [ | |||
|
271 | "CNOT \u22c5CNOT \u22c5CNOT ", | |||
|
272 | " 1,0 0,1 1,0" | |||
|
273 | ] | |||
191 | } |
|
274 | } | |
192 | ], |
|
275 | ], | |
193 |
" |
|
276 | "prompt_number": 10 | |
194 | "prompt_number": 10, |
|
|||
195 | "input": "SWAP10.decompose()" |
|
|||
196 | }, |
|
277 | }, | |
197 | { |
|
278 | { | |
198 | "cell_type": "code", |
|
279 | "cell_type": "code", | |
|
280 | "collapsed": false, | |||
|
281 | "input": [ | |||
|
282 | "circuit_plot(SWAP10.decompose(), nqubits=2)" | |||
|
283 | ], | |||
199 | "language": "python", |
|
284 | "language": "python", | |
200 | "outputs": [ |
|
285 | "outputs": [ | |
201 | { |
|
286 | { | |
202 | "output_type": "pyout", |
|
287 | "output_type": "pyout", | |
203 | "prompt_number": 11, |
|
288 | "prompt_number": 11, | |
204 | "text": "<sympy.physics.quantum.circuitplot.CircuitPlot object at 0x7f082c973650>" |
|
289 | "text": [ | |
|
290 | "<sympy.physics.quantum.circuitplot.CircuitPlot object at 0x7f082c973650>" | |||
|
291 | ] | |||
205 | }, |
|
292 | }, | |
206 | { |
|
293 | { | |
207 | "output_type": "display_data", |
|
294 | "output_type": "display_data", | |
208 | "png": "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\n" |
|
295 | "png": "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\n" | |
209 | } |
|
296 | } | |
210 | ], |
|
297 | ], | |
211 |
" |
|
298 | "prompt_number": 11 | |
212 | "prompt_number": 11, |
|
|||
213 | "input": "circuit_plot(SWAP10.decompose(), nqubits=2)" |
|
|||
214 | }, |
|
299 | }, | |
215 | { |
|
300 | { | |
216 |
" |
|
301 | "cell_type": "markdown", | |
217 |
" |
|
302 | "source": [ | |
|
303 | "<h2>All together now</h2>" | |||
|
304 | ] | |||
218 | }, |
|
305 | }, | |
219 | { |
|
306 | { | |
220 | "cell_type": "code", |
|
307 | "cell_type": "code", | |
|
308 | "collapsed": true, | |||
|
309 | "input": [ | |||
|
310 | "gates = [CGate(1,Y(0)), CGate(0,Z(1)), SWAP(1, 0)]" | |||
|
311 | ], | |||
221 | "language": "python", |
|
312 | "language": "python", | |
222 | "outputs": [], |
|
313 | "outputs": [], | |
223 |
" |
|
314 | "prompt_number": 12 | |
224 | "prompt_number": 12, |
|
|||
225 | "input": "gates = [CGate(1,Y(0)), CGate(0,Z(1)), SWAP(1, 0)]" |
|
|||
226 | }, |
|
315 | }, | |
227 | { |
|
316 | { | |
228 | "cell_type": "code", |
|
317 | "cell_type": "code", | |
|
318 | "collapsed": false, | |||
|
319 | "input": [ | |||
|
320 | "for g in gates:", | |||
|
321 | " dg = g.decompose()", | |||
|
322 | " display(Eq(g, dg))", | |||
|
323 | " circuit_plot(g, nqubits=2)", | |||
|
324 | " circuit_plot(dg, nqubits=2) " | |||
|
325 | ], | |||
229 | "language": "python", |
|
326 | "language": "python", | |
230 | "outputs": [ |
|
327 | "outputs": [ | |
231 | { |
|
328 | { | |
|
329 | "latex": [ | |||
|
330 | "$$C_{1}{\\left(Y_{0}\\right)} = S_{0} CNOT_{1,0} S_{0} Z_{0}$$" | |||
|
331 | ], | |||
232 | "output_type": "display_data", |
|
332 | "output_type": "display_data", | |
233 | "latex": "$$C_{1}{\\left(Y_{0}\\right)} = S_{0} CNOT_{1,0} S_{0} Z_{0}$$", |
|
|||
234 | "png": "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\nYII=\n", |
|
333 | "png": "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\nYII=\n", | |
235 | "text": "C \u239bY \u239e = S \u22c5CNOT \u22c5S \u22c5Z \n 1\u239d 0\u23a0 0 1,0 0 0" |
|
334 | "text": [ | |
|
335 | "C \u239bY \u239e = S \u22c5CNOT \u22c5S \u22c5Z ", | |||
|
336 | " 1\u239d 0\u23a0 0 1,0 0 0" | |||
|
337 | ] | |||
236 | }, |
|
338 | }, | |
237 | { |
|
339 | { | |
|
340 | "latex": [ | |||
|
341 | "$$C_{0}{\\left(Z_{1}\\right)} = H_{1} CNOT_{0,1} H_{1}$$" | |||
|
342 | ], | |||
238 | "output_type": "display_data", |
|
343 | "output_type": "display_data", | |
239 | "latex": "$$C_{0}{\\left(Z_{1}\\right)} = H_{1} CNOT_{0,1} H_{1}$$", |
|
|||
240 | "png": "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\n", |
|
344 | "png": "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\n", | |
241 | "text": "C \u239bZ \u239e = H \u22c5CNOT \u22c5H \n 0\u239d 1\u23a0 1 0,1 1" |
|
345 | "text": [ | |
|
346 | "C \u239bZ \u239e = H \u22c5CNOT \u22c5H ", | |||
|
347 | " 0\u239d 1\u23a0 1 0,1 1" | |||
|
348 | ] | |||
242 | }, |
|
349 | }, | |
243 | { |
|
350 | { | |
|
351 | "latex": [ | |||
|
352 | "$$SWAP_{1,0} = CNOT_{1,0} CNOT_{0,1} CNOT_{1,0}$$" | |||
|
353 | ], | |||
244 | "output_type": "display_data", |
|
354 | "output_type": "display_data", | |
245 | "latex": "$$SWAP_{1,0} = CNOT_{1,0} CNOT_{0,1} CNOT_{1,0}$$", |
|
|||
246 | "png": "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\n", |
|
355 | "png": "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\n", | |
247 | "text": "SWAP = CNOT \u22c5CNOT \u22c5CNOT \n 1,0 1,0 0,1 1,0" |
|
356 | "text": [ | |
|
357 | "SWAP = CNOT \u22c5CNOT \u22c5CNOT ", | |||
|
358 | " 1,0 1,0 0,1 1,0" | |||
|
359 | ] | |||
248 | }, |
|
360 | }, | |
249 | { |
|
361 | { | |
250 | "output_type": "display_data", |
|
362 | "output_type": "display_data", | |
@@ -271,9 +383,7 b'' | |||||
271 | "png": "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\n" |
|
383 | "png": "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\n" | |
272 | } |
|
384 | } | |
273 | ], |
|
385 | ], | |
274 |
" |
|
386 | "prompt_number": 16 | |
275 | "prompt_number": 16, |
|
|||
276 | "input": "for g in gates:\n dg = g.decompose()\n display(Eq(g, dg))\n circuit_plot(g, nqubits=2)\n circuit_plot(dg, nqubits=2) " |
|
|||
277 | } |
|
387 | } | |
278 | ] |
|
388 | ] | |
279 | } |
|
389 | } |
@@ -1,82 +1,141 b'' | |||||
1 | { |
|
1 | { | |
2 | "nbformat": 2, |
|
|||
3 | "metadata": { |
|
2 | "metadata": { | |
4 | "name": "dense_coding" |
|
3 | "name": "dense_coding" | |
5 | }, |
|
4 | }, | |
|
5 | "nbformat": 2, | |||
6 | "worksheets": [ |
|
6 | "worksheets": [ | |
7 | { |
|
7 | { | |
8 | "cells": [ |
|
8 | "cells": [ | |
9 | { |
|
9 | { | |
10 |
" |
|
10 | "cell_type": "markdown", | |
11 |
" |
|
11 | "source": [ | |
|
12 | "<h1>Dense Coding", | |||
|
13 | "</h1>" | |||
|
14 | ] | |||
12 | }, |
|
15 | }, | |
13 | { |
|
16 | { | |
14 | "cell_type": "code", |
|
17 | "cell_type": "code", | |
|
18 | "collapsed": true, | |||
|
19 | "input": [ | |||
|
20 | "%load_ext sympyprinting" | |||
|
21 | ], | |||
15 | "language": "python", |
|
22 | "language": "python", | |
16 | "outputs": [], |
|
23 | "outputs": [], | |
17 |
" |
|
24 | "prompt_number": 2 | |
18 | "prompt_number": 2, |
|
|||
19 | "input": "%load_ext sympyprinting" |
|
|||
20 | }, |
|
25 | }, | |
21 | { |
|
26 | { | |
22 | "cell_type": "code", |
|
27 | "cell_type": "code", | |
|
28 | "collapsed": true, | |||
|
29 | "input": [ | |||
|
30 | "from sympy import sqrt, symbols, Rational", | |||
|
31 | "from sympy import expand, Eq, Symbol, simplify, exp, sin", | |||
|
32 | "from sympy.physics.quantum import *", | |||
|
33 | "from sympy.physics.quantum.qubit import *", | |||
|
34 | "from sympy.physics.quantum.gate import *", | |||
|
35 | "from sympy.physics.quantum.grover import *", | |||
|
36 | "from sympy.physics.quantum.qft import QFT, IQFT, Fourier", | |||
|
37 | "from sympy.physics.quantum.circuitplot import circuit_plot" | |||
|
38 | ], | |||
23 | "language": "python", |
|
39 | "language": "python", | |
24 | "outputs": [], |
|
40 | "outputs": [], | |
25 |
" |
|
41 | "prompt_number": 3 | |
26 | "prompt_number": 3, |
|
|||
27 | "input": "from sympy import sqrt, symbols, Rational\nfrom sympy import expand, Eq, Symbol, simplify, exp, sin\nfrom sympy.physics.quantum import *\nfrom sympy.physics.quantum.qubit import *\nfrom sympy.physics.quantum.gate import *\nfrom sympy.physics.quantum.grover import *\nfrom sympy.physics.quantum.qft import QFT, IQFT, Fourier\nfrom sympy.physics.quantum.circuitplot import circuit_plot" |
|
|||
28 | }, |
|
42 | }, | |
29 | { |
|
43 | { | |
30 | "cell_type": "code", |
|
44 | "cell_type": "code", | |
|
45 | "collapsed": false, | |||
|
46 | "input": [ | |||
|
47 | "psi = Qubit('00')/sqrt(2) + Qubit('11')/sqrt(2); psi" | |||
|
48 | ], | |||
31 | "language": "python", |
|
49 | "language": "python", | |
32 | "outputs": [ |
|
50 | "outputs": [ | |
33 | { |
|
51 | { | |
|
52 | "latex": [ | |||
|
53 | "$$\\frac{1}{2} \\sqrt{2} {\\left|00\\right\\rangle } + \\frac{1}{2} \\sqrt{2} {\\left|11\\right\\rangle }$$" | |||
|
54 | ], | |||
34 | "output_type": "pyout", |
|
55 | "output_type": "pyout", | |
35 | "latex": "$$\\frac{1}{2} \\sqrt{2} {\\left|00\\right\\rangle } + \\frac{1}{2} \\sqrt{2} {\\left|11\\right\\rangle }$$", |
|
|||
36 | "prompt_number": 4, |
|
|||
37 | "png": "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\n0rjOgKiDGwAAAABJRU5ErkJggg==\n", |
|
56 | "png": "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\n0rjOgKiDGwAAAABJRU5ErkJggg==\n", | |
38 | "text": "\u23bd\u23bd\u23bd \u23bd\u23bd\u23bd \n\u2572\u2571 2 \u22c5\u275800\u27e9 \u2572\u2571 2 \u22c5\u275811\u27e9\n\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 + \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n 2 2" |
|
57 | "prompt_number": 4, | |
|
58 | "text": [ | |||
|
59 | "\u23bd\u23bd\u23bd \u23bd\u23bd\u23bd ", | |||
|
60 | "\u2572\u2571 2 \u22c5\u275800\u27e9 \u2572\u2571 2 \u22c5\u275811\u27e9", | |||
|
61 | "\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 + \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500", | |||
|
62 | " 2 2" | |||
|
63 | ] | |||
39 | } |
|
64 | } | |
40 | ], |
|
65 | ], | |
41 |
" |
|
66 | "prompt_number": 4 | |
42 | "prompt_number": 4, |
|
|||
43 | "input": "psi = Qubit('00')/sqrt(2) + Qubit('11')/sqrt(2); psi\n" |
|
|||
44 | }, |
|
67 | }, | |
45 | { |
|
68 | { | |
46 | "cell_type": "code", |
|
69 | "cell_type": "code", | |
|
70 | "collapsed": true, | |||
|
71 | "input": [ | |||
|
72 | "circuits = [H(1)*CNOT(1,0), H(1)*CNOT(1,0)*X(1), H(1)*CNOT(1,0)*Z(1), H(1)*CNOT(1,0)*Z(1)*X(1)]" | |||
|
73 | ], | |||
47 | "language": "python", |
|
74 | "language": "python", | |
48 | "outputs": [], |
|
75 | "outputs": [], | |
49 |
" |
|
76 | "prompt_number": 5 | |
50 | "prompt_number": 5, |
|
|||
51 | "input": "circuits = [H(1)*CNOT(1,0), H(1)*CNOT(1,0)*X(1), H(1)*CNOT(1,0)*Z(1), H(1)*CNOT(1,0)*Z(1)*X(1)]" |
|
|||
52 | }, |
|
77 | }, | |
53 | { |
|
78 | { | |
54 | "cell_type": "code", |
|
79 | "cell_type": "code", | |
|
80 | "collapsed": false, | |||
|
81 | "input": [ | |||
|
82 | "for circuit in circuits:", | |||
|
83 | " circuit_plot(circuit, nqubits=2)", | |||
|
84 | " display(Eq(circuit*psi,qapply(circuit*psi)))" | |||
|
85 | ], | |||
55 | "language": "python", |
|
86 | "language": "python", | |
56 | "outputs": [ |
|
87 | "outputs": [ | |
57 | { |
|
88 | { | |
|
89 | "latex": [ | |||
|
90 | "$$H_{1} CNOT_{1,0} \\left(\\frac{1}{2} \\sqrt{2} {\\left|00\\right\\rangle } + \\frac{1}{2} \\sqrt{2} {\\left|11\\right\\rangle }\\right) = {\\left|00\\right\\rangle }$$" | |||
|
91 | ], | |||
58 | "output_type": "display_data", |
|
92 | "output_type": "display_data", | |
59 | "latex": "$$H_{1} CNOT_{1,0} \\left(\\frac{1}{2} \\sqrt{2} {\\left|00\\right\\rangle } + \\frac{1}{2} \\sqrt{2} {\\left|11\\right\\rangle }\\right) = {\\left|00\\right\\rangle }$$", |
|
|||
60 | "png": "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\ny/8BXM2fWYIlT5QAAAAASUVORK5CYII=\n", |
|
93 | "png": "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\ny/8BXM2fWYIlT5QAAAAASUVORK5CYII=\n", | |
61 | "text": "\u239b \u23bd\u23bd\u23bd \u23bd\u23bd\u23bd \u239e \n \u239c\u2572\u2571 2 \u22c5\u275800\u27e9 \u2572\u2571 2 \u22c5\u275811\u27e9\u239f \nH \u22c5CNOT \u22c5\u239c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 + \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u239f = \u275800\u27e9\n 1 1,0 \u239d 2 2 \u23a0" |
|
94 | "text": [ | |
|
95 | "\u239b \u23bd\u23bd\u23bd \u23bd\u23bd\u23bd \u239e ", | |||
|
96 | " \u239c\u2572\u2571 2 \u22c5\u275800\u27e9 \u2572\u2571 2 \u22c5\u275811\u27e9\u239f ", | |||
|
97 | "H \u22c5CNOT \u22c5\u239c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 + \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u239f = \u275800\u27e9", | |||
|
98 | " 1 1,0 \u239d 2 2 \u23a0" | |||
|
99 | ] | |||
62 | }, |
|
100 | }, | |
63 | { |
|
101 | { | |
|
102 | "latex": [ | |||
|
103 | "$$H_{1} CNOT_{1,0} X_{1} \\left(\\frac{1}{2} \\sqrt{2} {\\left|00\\right\\rangle } + \\frac{1}{2} \\sqrt{2} {\\left|11\\right\\rangle }\\right) = {\\left|01\\right\\rangle }$$" | |||
|
104 | ], | |||
64 | "output_type": "display_data", |
|
105 | "output_type": "display_data", | |
65 | "latex": "$$H_{1} CNOT_{1,0} X_{1} \\left(\\frac{1}{2} \\sqrt{2} {\\left|00\\right\\rangle } + \\frac{1}{2} \\sqrt{2} {\\left|11\\right\\rangle }\\right) = {\\left|01\\right\\rangle }$$", |
|
|||
66 | "png": "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\nrkJggg==\n", |
|
106 | "png": "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\nrkJggg==\n", | |
67 | "text": "\u239b \u23bd\u23bd\u23bd \u23bd\u23bd\u23bd \u239e \n \u239c\u2572\u2571 2 \u22c5\u275800\u27e9 \u2572\u2571 2 \u22c5\u275811\u27e9\u239f \nH \u22c5CNOT \u22c5X \u22c5\u239c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 + \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u239f = \u275801\u27e9\n 1 1,0 1 \u239d 2 2 \u23a0" |
|
107 | "text": [ | |
|
108 | "\u239b \u23bd\u23bd\u23bd \u23bd\u23bd\u23bd \u239e ", | |||
|
109 | " \u239c\u2572\u2571 2 \u22c5\u275800\u27e9 \u2572\u2571 2 \u22c5\u275811\u27e9\u239f ", | |||
|
110 | "H \u22c5CNOT \u22c5X \u22c5\u239c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 + \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u239f = \u275801\u27e9", | |||
|
111 | " 1 1,0 1 \u239d 2 2 \u23a0" | |||
|
112 | ] | |||
68 | }, |
|
113 | }, | |
69 | { |
|
114 | { | |
|
115 | "latex": [ | |||
|
116 | "$$H_{1} CNOT_{1,0} Z_{1} \\left(\\frac{1}{2} \\sqrt{2} {\\left|00\\right\\rangle } + \\frac{1}{2} \\sqrt{2} {\\left|11\\right\\rangle }\\right) = {\\left|10\\right\\rangle }$$" | |||
|
117 | ], | |||
70 | "output_type": "display_data", |
|
118 | "output_type": "display_data", | |
71 | "latex": "$$H_{1} CNOT_{1,0} Z_{1} \\left(\\frac{1}{2} \\sqrt{2} {\\left|00\\right\\rangle } + \\frac{1}{2} \\sqrt{2} {\\left|11\\right\\rangle }\\right) = {\\left|10\\right\\rangle }$$", |
|
|||
72 | "png": "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\nL5K2XHBY3nYAAAAASUVORK5CYII=\n", |
|
119 | "png": "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\nL5K2XHBY3nYAAAAASUVORK5CYII=\n", | |
73 | "text": "\u239b \u23bd\u23bd\u23bd \u23bd\u23bd\u23bd \u239e \n \u239c\u2572\u2571 2 \u22c5\u275800\u27e9 \u2572\u2571 2 \u22c5\u275811\u27e9\u239f \nH \u22c5CNOT \u22c5Z \u22c5\u239c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 + \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u239f = \u275810\u27e9\n 1 1,0 1 \u239d 2 2 \u23a0" |
|
120 | "text": [ | |
|
121 | "\u239b \u23bd\u23bd\u23bd \u23bd\u23bd\u23bd \u239e ", | |||
|
122 | " \u239c\u2572\u2571 2 \u22c5\u275800\u27e9 \u2572\u2571 2 \u22c5\u275811\u27e9\u239f ", | |||
|
123 | "H \u22c5CNOT \u22c5Z \u22c5\u239c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 + \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u239f = \u275810\u27e9", | |||
|
124 | " 1 1,0 1 \u239d 2 2 \u23a0" | |||
|
125 | ] | |||
74 | }, |
|
126 | }, | |
75 | { |
|
127 | { | |
|
128 | "latex": [ | |||
|
129 | "$$H_{1} CNOT_{1,0} Z_{1} X_{1} \\left(\\frac{1}{2} \\sqrt{2} {\\left|00\\right\\rangle } + \\frac{1}{2} \\sqrt{2} {\\left|11\\right\\rangle }\\right) = {\\left|11\\right\\rangle }$$" | |||
|
130 | ], | |||
76 | "output_type": "display_data", |
|
131 | "output_type": "display_data", | |
77 | "latex": "$$H_{1} CNOT_{1,0} Z_{1} X_{1} \\left(\\frac{1}{2} \\sqrt{2} {\\left|00\\right\\rangle } + \\frac{1}{2} \\sqrt{2} {\\left|11\\right\\rangle }\\right) = {\\left|11\\right\\rangle }$$", |
|
|||
78 | "png": "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\n", |
|
132 | "png": "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\n", | |
79 | "text": "\u239b \u23bd\u23bd\u23bd \u23bd\u23bd\u23bd \u239e \n \u239c\u2572\u2571 2 \u22c5\u275800\u27e9 \u2572\u2571 2 \u22c5\u275811\u27e9\u239f \nH \u22c5CNOT \u22c5Z \u22c5X \u22c5\u239c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 + \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u239f = \u275811\u27e9\n 1 1,0 1 1 \u239d 2 2 \u23a0" |
|
133 | "text": [ | |
|
134 | "\u239b \u23bd\u23bd\u23bd \u23bd\u23bd\u23bd \u239e ", | |||
|
135 | " \u239c\u2572\u2571 2 \u22c5\u275800\u27e9 \u2572\u2571 2 \u22c5\u275811\u27e9\u239f ", | |||
|
136 | "H \u22c5CNOT \u22c5Z \u22c5X \u22c5\u239c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 + \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u239f = \u275811\u27e9", | |||
|
137 | " 1 1,0 1 1 \u239d 2 2 \u23a0" | |||
|
138 | ] | |||
80 | }, |
|
139 | }, | |
81 | { |
|
140 | { | |
82 | "output_type": "display_data", |
|
141 | "output_type": "display_data", | |
@@ -95,9 +154,7 b'' | |||||
95 | "png": "iVBORw0KGgoAAAANSUhEUgAAAQ8AAACOCAYAAAAvtI33AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAC5hJREFUeJzt3V9QVPX/x/HXWf6JjIo7GiDhQo3hHyhNnYHhbw6iWdFq\nIzBO/3DGCJ3+XBUXdtONTU3NWJmpJM0wmOOFNk0025KF5RZl/zARnBoKDBzWoRJiEmF7fy/66U9l\nF+HtLmd3eT1muHA/e47v3bM+PXtW0BCRfgAzQEQ0AYaIiNlDEFHosZg9ABGFJsaDiFQYDyJSYTyI\nSIXxICIVxoOIVBgPIlJhPIhIhfEgIhXGg4hUGA8iUmE8iEiF8SAiFcaDiFQYDyJSYTyISIXxICIV\nxoOIVBgPIlJhPIhIhfEgIhXGg4hUGA8iUmE8iEiF8SAiFcaDiFQYjxBitVphGIZfv6xWq9kPK+wF\n4rgFwzHk/1UbQgzDgL8PVyD2SdcK9HNs1jGMnPTf0SRnzpzB3r170dbWhr///hszZszA4sWLsWXL\nFtxxxx1mj0cUcsL+bcvRo0dRVFSEgoICxMTEYOvWrfjiiy9QVVWFiIgI5OXlobi4GE1NTWaPShRa\nJIy98cYbkpSUJPX19XLx4sUrt1/9sC9evCh1dXWSmJgob7/9thljjpuvw9Xb2ytRUVFiGIZERUXJ\nggULZPXq1bJ27VpZu3atWK1WMQxDDh8+PO59kv/4eo7Xr18vCxcuvHLcli5dKk888YSIiPz2229y\nzz33SHJyshiGITNnzpSVK1fKrl27xr3/QAvbV87+/fslLS1NOjo6Rq15e7J/+eUXsdlsUldXNxnj\nqfh6kezfv19iYmLk9ddfl5GRkWvWjhw5IhEREfLMM89MaJ/kP2M9x83NzWIYhjz77LNe13fs2CGG\nYcihQ4dU+w+ksHzlnD17VqxWq7S3t3td9/Vknzp1SmbPni3nzp0L5HhqvuZ+6KGHpKGhYdTtzc3N\nEhsbK3a7fcL7JP8Z6zl++eWXxTAMcTqdXteLi4slMjJS/vrrL9X+Ayksr3ns27cPmzZtQnp6+oS2\nW7JkCTZu3Ih33nknQJP536VLl9DX14d169Zdc3tHRwdKSkqQmZmJ9957z6Tp/K+zsxNnzpwJm0+I\njh07hujoaOTm5o5aGx4ehsvlQmZmJmbNmmXCdDdgSrICaGhoSJKSkqS1tdXnfcZ62D/88IOkpKTI\n8PBwIMa7Kd7m7urqkk8++eSa2/r6+iQ9PV3S0tLE7XZPeJ/BqLu7W5YvXy6xsbESFxcn8+fPl+++\n+87sscbF13Ps8XgkPj5ecnNzva67XC4xDMPnW84b7T/Qwu6j2uPHj2P+/PlYvHixavulS5dizpw5\naG5u9vq3QbBJSUlBSkrKlV8PDQ3Bbrfj/PnzcLlcmDt3ronT+c8DDzyAlpYWeDweAMDg4CCKiorQ\n09ODadOmmTydTktLCy5cuIDCwkKv65999hkAoKCgYBKnGr+wi4fb7YbNZrupfdhsNrjdbj9NNHlE\nBBUVFfjmm2/gcDiwcOFCs0fyi19//RVtbW1XwnGZx+PBxx9/jAcffNCkyW7O559/DgBwOp349ttv\nR62fOHEChmEgPz9/skcbH1+nJAD4FYRfY6murhbDMCb0iZHZj2eqfHmzfv16iYqKksHBwVFrIyMj\nMn36dFmyZEnwHsNxv8pCRENDg6xatWrM+9zoD2FeXp40Njb6cyy/GGvuPXv2iGEY8uKLL15z+z//\n/COffvqpap/BwuPxSHJy8qgXb2xsrPT19Zk93g15e47//fdfmTNnjqxYscLrNl9//bUYhiFVVVWq\n/U+GsPu0JTc3F99//z16enpU23d1daG1tRXZ2dl+nixwHA4Htm3bhscffxwvvPDCNWsHDhzAhQsX\nTJrMPywWC44cOYL4+HjMmDEDADBt2jTU1taG7Df2nT59Gn19fcjLy/O6fvz4cQDBe70DCMN/nj5z\n5kyUl5ejpqZGtf3evXvx8MMPIy4uzs+TBcaPP/6I0tJSFBYWYt++faPWa2trsWbNGhMm86+VK1ei\nu7sb7777LgDg999/R1lZmblD3YTL1zt8XZR3uVwAELzXO4AQOGdVOHnypCQlJfk8pfX1sM+fPy8J\nCQnS1tYWyPHUrp/77NmzMm/ePMnIyJD+/v5R96+vr5eSkpIJ7TMUhNrM3uYtKysTi8Uivb29XrdJ\nSEiQBQsWqPc/GcLuzAMAMjMzsWnTJtjtdgwODo5rm4GBAZSUlKCioiIkPqXo7+/HunXrICJoaGi4\ncjoPAD09PXjppZfwyCOPhOwnEeFsaGgITU1NuO2223DLLbeMWm9paYHb7UZOTo4J002AKcmaBB6P\nRzZv3iwrVqwYdSZx/cNubW2VZcuWSWVlpXg8nskcc0KunruiokIsFoukpKRIVlaWZGVlyd133y2z\nZs0SwzDEMAyJiYkJm38kdrVQm/nyvJ2dnZKfny9paWlisVgkOjpacnJyZPfu3SIi8sEHH0h2drbM\nnTtXLBaLWK1WKSgoEJfLNa79T7aw/mFAIoLXXnsNr7zyCjIyMlBVVYXs7GwkJyeju7sbLpcLb731\nFtrb21FdXY2nn34ahmGYPbZP/GFA/wm1mcP1hwGFdTwuu3TpEg4fPow9e/agra0Nvb29SExMxKJF\ni/Dkk0/CbrcjOjra7DFviPH4T6jNzHiQ6RiP/4TazOEaj7C8YEpEgRd239sS7vx9TWb27Nl+3R95\nF8hraWYdQ8YjhITSqTr9v3A9bnzbQkQqjAcRqTAeRKTCeBCRCuNBRCqMBxGpMB5EpMJ4EJEK40FE\nKowHEakwHkSkwngQkQrjQUQqjAcRqTAeRKTCeBCRCuNBRCqMBxGpMB5EpMJ4EJEK40FEKowHEakw\nHkSkwngQkQrjQUQqjAcRqTAeRKTCeBCRCuNBRCqMBxGpMB5EpMJ4EJEK40FEKowHEakwHhT0urq6\nsH37dqSnpyM+Ph4AkJqaiq1bt+Knn34yebqpi/GgoHXu3Dls2LABy5Ytw8DAAA4ePIiOjg4AgNPp\nRGJiIu69917k5+ejpaXF5GmnHkNExOwhiK73888/Y/Xq1Xj00Ufx/PPPIy4u7sqaYRi4/LIdHh5G\nXV0dqqurcfDgQaxatcqskaccxoOCjtvtRnZ2Np577jlUVlaOWr86Hpc1NTWhtLQUjY2NuOuuuyZr\n1CmN8aCg89RTT8FisWDnzp1e173FAwBqampQV1eHY8eOBXpEAuNBQWZgYAA2mw0nT57Erbfe6vU+\nvuIxPDwMm80Gp9OJjIyMQI865fGCKQWV+vp6FBYW+gzHWKKiorBlyxbs3r07AJPR9RgPCioOhwNl\nZWXq7cvLy+FwOPw4EfnCeFBQ+fPPP5GQkKDePiEhAX/88YcfJyJffF7zMAxjsmchohAS6WuB11HJ\nDOXl5SguLsbmzZt93sfXBVMAOHHiBB577DGcPn06UCPS/+HbFgoqGzduRG1trXr72tpalJaW+nEi\n8oUf1VJQGRkZQWpqKj766CPceeedXu/j68yjv78fqampOHXqFObNmxfoUac8nnlQUImMjERlZSW2\nb98Oj8czoW137NiBoqIihmOS8MyDgs7Q0BDWrFmDRYsW4c0330RERMQ1697OPHbt2oVXX30VX331\n1U19WkPjxzMPCjoxMTF4//330d7eDrvdPuZ3zHZ2dmLbtm3YuXMnGhsbGY5JxHhQUIqPj4fD4UBW\nVhbuv/9+5OTkoKamBk6nEwBw4MABlJSUYPny5YiOjsaXX36J22+/3eSppxa+baGgNzIygg8//BCH\nDh2C2+3G0aNHsWHDBtx3330oLy/H9OnTzR5xSmI8iEiFb1uISIXxICIVxoOIVBgPIlJhPIhIhfEg\nIhXGg4hUGA8iUmE8iEiF8SAiFcaDiFQYDyJSYTyISIXxICIVxoOIVBgPIlJhPIhIhfEgIhXGg4hU\nGA8iUmE8iEiF8SAiFcaDiFQYDyJSYTyISIXxICIVxoOIVBgPIlJhPIhIhfEgIhXGg4hUGA8iUmE8\niEiF8SAiFcaDiFQYDyJSYTyISOV/yPbwgtf3gNAAAAAASUVORK5CYII=\n" |
|
154 | "png": "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\n" | |
96 | } |
|
155 | } | |
97 | ], |
|
156 | ], | |
98 |
" |
|
157 | "prompt_number": 6 | |
99 | "prompt_number": 6, |
|
|||
100 | "input": "for circuit in circuits:\n circuit_plot(circuit, nqubits=2)\n display(Eq(circuit*psi,qapply(circuit*psi)))" |
|
|||
101 | } |
|
158 | } | |
102 | ] |
|
159 | ] | |
103 | } |
|
160 | } |
@@ -1,180 +1,379 b'' | |||||
1 | { |
|
1 | { | |
|
2 | "metadata": { | |||
|
3 | "name": "display_protocol" | |||
|
4 | }, | |||
|
5 | "nbformat": 2, | |||
2 | "worksheets": [ |
|
6 | "worksheets": [ | |
3 | { |
|
7 | { | |
4 | "cells": [ |
|
8 | "cells": [ | |
5 | { |
|
9 | { | |
6 | "source": "# Using the IPython display protocol for your own objects\n\nIPython extends the idea of the ``__repr__`` method in Python to support multiple representations for a given\nobject, which clients can use to display the object according to their capabilities. An object can return multiple\nrepresentations of itself by implementing special methods, and you can also define at runtime custom display \nfunctions for existing objects whose methods you can't or won't modify. In this notebook, we show how both approaches work.\n\n<br/>\n**Note:** this notebook has had all output cells stripped out so we can include it in the IPython documentation with \na minimal file size. You'll need to manually execute the cells to see the output (you can run all of them with the \n\"Run All\" button, or execute each individually). You must start this notebook with\n<pre>\nipython notebook --pylab inline\n</pre>\n\nto ensure pylab support is available for plots.\n\n## Custom-built classes with dedicated ``_repr_*_`` methods\n\nIn our first example, we illustrate how objects can expose directly to IPython special representations of\nthemselves, by providing methods such as ``_repr_svg_``, ``_repr_png_``, ``_repr_latex_``, etc. For a full\nlist of the special ``_repr_*_`` methods supported, see the code in ``IPython.core.displaypub``.\n\nAs an illustration, we build a class that holds data generated by sampling a Gaussian distribution with given mean \nand variance. The class can display itself in a variety of ways: as a LaTeX expression or as an image in PNG or SVG \nformat. Each frontend can then decide which representation it can handle.\nFurther, we illustrate how to expose directly to the user the ability to directly access the various alternate \nrepresentations (since by default displaying the object itself will only show one, and which is shown will depend on the \nrequired representations that even cache necessary data in cases where it may be expensive to compute.\n\nThe next cell defines the Gaussian class:", |
|
10 | "cell_type": "markdown", | |
7 |
" |
|
11 | "source": [ | |
|
12 | "# Using the IPython display protocol for your own objects", | |||
|
13 | "", | |||
|
14 | "IPython extends the idea of the ``__repr__`` method in Python to support multiple representations for a given", | |||
|
15 | "object, which clients can use to display the object according to their capabilities. An object can return multiple", | |||
|
16 | "representations of itself by implementing special methods, and you can also define at runtime custom display ", | |||
|
17 | "functions for existing objects whose methods you can't or won't modify. In this notebook, we show how both approaches work.", | |||
|
18 | "", | |||
|
19 | "<br/>", | |||
|
20 | "**Note:** this notebook has had all output cells stripped out so we can include it in the IPython documentation with ", | |||
|
21 | "a minimal file size. You'll need to manually execute the cells to see the output (you can run all of them with the ", | |||
|
22 | "\"Run All\" button, or execute each individually). You must start this notebook with", | |||
|
23 | "<pre>", | |||
|
24 | "ipython notebook --pylab inline", | |||
|
25 | "</pre>", | |||
|
26 | "", | |||
|
27 | "to ensure pylab support is available for plots.", | |||
|
28 | "", | |||
|
29 | "## Custom-built classes with dedicated ``_repr_*_`` methods", | |||
|
30 | "", | |||
|
31 | "In our first example, we illustrate how objects can expose directly to IPython special representations of", | |||
|
32 | "themselves, by providing methods such as ``_repr_svg_``, ``_repr_png_``, ``_repr_latex_``, etc. For a full", | |||
|
33 | "list of the special ``_repr_*_`` methods supported, see the code in ``IPython.core.displaypub``.", | |||
|
34 | "", | |||
|
35 | "As an illustration, we build a class that holds data generated by sampling a Gaussian distribution with given mean ", | |||
|
36 | "and variance. The class can display itself in a variety of ways: as a LaTeX expression or as an image in PNG or SVG ", | |||
|
37 | "format. Each frontend can then decide which representation it can handle.", | |||
|
38 | "Further, we illustrate how to expose directly to the user the ability to directly access the various alternate ", | |||
|
39 | "representations (since by default displaying the object itself will only show one, and which is shown will depend on the ", | |||
|
40 | "required representations that even cache necessary data in cases where it may be expensive to compute.", | |||
|
41 | "", | |||
|
42 | "The next cell defines the Gaussian class:" | |||
|
43 | ] | |||
8 | }, |
|
44 | }, | |
9 | { |
|
45 | { | |
10 | "cell_type": "code", |
|
46 | "cell_type": "code", | |
|
47 | "collapsed": true, | |||
|
48 | "input": [ | |||
|
49 | "from IPython.lib.pylabtools import print_figure", | |||
|
50 | "from IPython.core.display import Image, SVG, Math", | |||
|
51 | "", | |||
|
52 | "class Gaussian(object):", | |||
|
53 | " \"\"\"A simple object holding data sampled from a Gaussian distribution.", | |||
|
54 | " \"\"\"", | |||
|
55 | " def __init__(self, mean=0, std=1, size=1000):", | |||
|
56 | " self.data = np.random.normal(mean, std, size)", | |||
|
57 | " self.mean = mean", | |||
|
58 | " self.std = std", | |||
|
59 | " self.size = size", | |||
|
60 | " # For caching plots that may be expensive to compute", | |||
|
61 | " self._png_data = None", | |||
|
62 | " self._svg_data = None", | |||
|
63 | " ", | |||
|
64 | " def _figure_data(self, format):", | |||
|
65 | " fig, ax = plt.subplots()", | |||
|
66 | " ax.plot(self.data, 'o')", | |||
|
67 | " ax.set_title(self._repr_latex_())", | |||
|
68 | " data = print_figure(fig, format)", | |||
|
69 | " # We MUST close the figure, otherwise IPython's display machinery", | |||
|
70 | " # will pick it up and send it as output, resulting in a double display", | |||
|
71 | " plt.close(fig)", | |||
|
72 | " return data", | |||
|
73 | " ", | |||
|
74 | " # Here we define the special repr methods that provide the IPython display protocol", | |||
|
75 | " # Note that for the two figures, we cache the figure data once computed.", | |||
|
76 | " ", | |||
|
77 | " def _repr_png_(self):", | |||
|
78 | " if self._png_data is None:", | |||
|
79 | " self._png_data = self._figure_data('png')", | |||
|
80 | " return self._png_data", | |||
|
81 | "", | |||
|
82 | "", | |||
|
83 | " def _repr_svg_(self):", | |||
|
84 | " if self._svg_data is None:", | |||
|
85 | " self._svg_data = self._figure_data('svg')", | |||
|
86 | " return self._svg_data", | |||
|
87 | " ", | |||
|
88 | " def _repr_latex_(self):", | |||
|
89 | " return r'$\\mathcal{N}(\\mu=%.2g, \\sigma=%.2g),\\ N=%d$' % (self.mean,", | |||
|
90 | " self.std, self.size)", | |||
|
91 | " ", | |||
|
92 | " # We expose as properties some of the above reprs, so that the user can see them", | |||
|
93 | " # directly (since otherwise the client dictates which one it shows by default)", | |||
|
94 | " @property", | |||
|
95 | " def png(self):", | |||
|
96 | " return Image(self._repr_png_(), embed=True)", | |||
|
97 | " ", | |||
|
98 | " @property", | |||
|
99 | " def svg(self):", | |||
|
100 | " return SVG(self._repr_svg_())", | |||
|
101 | " ", | |||
|
102 | " @property", | |||
|
103 | " def latex(self):", | |||
|
104 | " return Math(self._repr_svg_())", | |||
|
105 | " ", | |||
|
106 | " # An example of using a property to display rich information, in this case", | |||
|
107 | " # the histogram of the distribution. We've hardcoded the format to be png", | |||
|
108 | " # in this case, but in production code it would be trivial to make it an option", | |||
|
109 | " @property", | |||
|
110 | " def hist(self):", | |||
|
111 | " fig, ax = plt.subplots()", | |||
|
112 | " ax.hist(self.data, bins=100)", | |||
|
113 | " ax.set_title(self._repr_latex_())", | |||
|
114 | " data = print_figure(fig, 'png')", | |||
|
115 | " plt.close(fig)", | |||
|
116 | " return Image(data, embed=True)" | |||
|
117 | ], | |||
11 | "language": "python", |
|
118 | "language": "python", | |
12 | "outputs": [], |
|
119 | "outputs": [], | |
13 |
" |
|
120 | "prompt_number": 1 | |
14 | "prompt_number": 1, |
|
|||
15 | "input": "from IPython.lib.pylabtools import print_figure\nfrom IPython.core.display import Image, SVG, Math\n\nclass Gaussian(object):\n \"\"\"A simple object holding data sampled from a Gaussian distribution.\n \"\"\"\n def __init__(self, mean=0, std=1, size=1000):\n self.data = np.random.normal(mean, std, size)\n self.mean = mean\n self.std = std\n self.size = size\n # For caching plots that may be expensive to compute\n self._png_data = None\n self._svg_data = None\n \n def _figure_data(self, format):\n fig, ax = plt.subplots()\n ax.plot(self.data, 'o')\n ax.set_title(self._repr_latex_())\n data = print_figure(fig, format)\n # We MUST close the figure, otherwise IPython's display machinery\n # will pick it up and send it as output, resulting in a double display\n plt.close(fig)\n return data\n \n # Here we define the special repr methods that provide the IPython display protocol\n # Note that for the two figures, we cache the figure data once computed.\n \n def _repr_png_(self):\n if self._png_data is None:\n self._png_data = self._figure_data('png')\n return self._png_data\n\n\n def _repr_svg_(self):\n if self._svg_data is None:\n self._svg_data = self._figure_data('svg')\n return self._svg_data\n \n def _repr_latex_(self):\n return r'$\\mathcal{N}(\\mu=%.2g, \\sigma=%.2g),\\ N=%d$' % (self.mean,\n self.std, self.size)\n \n # We expose as properties some of the above reprs, so that the user can see them\n # directly (since otherwise the client dictates which one it shows by default)\n @property\n def png(self):\n return Image(self._repr_png_(), embed=True)\n \n @property\n def svg(self):\n return SVG(self._repr_svg_())\n \n @property\n def latex(self):\n return Math(self._repr_svg_())\n \n # An example of using a property to display rich information, in this case\n # the histogram of the distribution. We've hardcoded the format to be png\n # in this case, but in production code it would be trivial to make it an option\n @property\n def hist(self):\n fig, ax = plt.subplots()\n ax.hist(self.data, bins=100)\n ax.set_title(self._repr_latex_())\n data = print_figure(fig, 'png')\n plt.close(fig)\n return Image(data, embed=True)" |
|
|||
16 | }, |
|
121 | }, | |
17 | { |
|
122 | { | |
18 | "source": "Now, we create an instance of the Gaussian distribution, whose default representation will be its LaTeX form:", |
|
123 | "cell_type": "markdown", | |
19 |
" |
|
124 | "source": [ | |
|
125 | "Now, we create an instance of the Gaussian distribution, whose default representation will be its LaTeX form:" | |||
|
126 | ] | |||
20 | }, |
|
127 | }, | |
21 | { |
|
128 | { | |
22 | "cell_type": "code", |
|
129 | "cell_type": "code", | |
|
130 | "collapsed": true, | |||
|
131 | "input": [ | |||
|
132 | "x = Gaussian()", | |||
|
133 | "x" | |||
|
134 | ], | |||
23 | "language": "python", |
|
135 | "language": "python", | |
24 | "outputs": [], |
|
136 | "outputs": [], | |
25 |
" |
|
137 | "prompt_number": 2 | |
26 | "prompt_number": 2, |
|
|||
27 | "input": "x = Gaussian()\nx" |
|
|||
28 | }, |
|
138 | }, | |
29 | { |
|
139 | { | |
30 | "source": "We can view the data in png or svg formats:", |
|
140 | "cell_type": "markdown", | |
31 |
" |
|
141 | "source": [ | |
|
142 | "We can view the data in png or svg formats:" | |||
|
143 | ] | |||
32 | }, |
|
144 | }, | |
33 | { |
|
145 | { | |
34 | "cell_type": "code", |
|
146 | "cell_type": "code", | |
|
147 | "collapsed": true, | |||
|
148 | "input": [ | |||
|
149 | "x.png" | |||
|
150 | ], | |||
35 | "language": "python", |
|
151 | "language": "python", | |
36 | "outputs": [], |
|
152 | "outputs": [], | |
37 |
" |
|
153 | "prompt_number": 3 | |
38 | "prompt_number": 3, |
|
|||
39 | "input": "x.png" |
|
|||
40 | }, |
|
154 | }, | |
41 | { |
|
155 | { | |
42 | "cell_type": "code", |
|
156 | "cell_type": "code", | |
|
157 | "collapsed": true, | |||
|
158 | "input": [ | |||
|
159 | "x.svg" | |||
|
160 | ], | |||
43 | "language": "python", |
|
161 | "language": "python", | |
44 | "outputs": [], |
|
162 | "outputs": [], | |
45 |
" |
|
163 | "prompt_number": 4 | |
46 | "prompt_number": 4, |
|
|||
47 | "input": "x.svg" |
|
|||
48 | }, |
|
164 | }, | |
49 | { |
|
165 | { | |
50 | "source": "Since IPython only displays by default as an ``Out[]`` cell the result of the last computation, we can use the\n``display()`` function to show more than one representation in a single cell:", |
|
166 | "cell_type": "markdown", | |
51 |
" |
|
167 | "source": [ | |
|
168 | "Since IPython only displays by default as an ``Out[]`` cell the result of the last computation, we can use the", | |||
|
169 | "``display()`` function to show more than one representation in a single cell:" | |||
|
170 | ] | |||
52 | }, |
|
171 | }, | |
53 | { |
|
172 | { | |
54 | "cell_type": "code", |
|
173 | "cell_type": "code", | |
|
174 | "collapsed": true, | |||
|
175 | "input": [ | |||
|
176 | "display(x.png)", | |||
|
177 | "display(x.svg)" | |||
|
178 | ], | |||
55 | "language": "python", |
|
179 | "language": "python", | |
56 | "outputs": [], |
|
180 | "outputs": [], | |
57 |
" |
|
181 | "prompt_number": 5 | |
58 | "prompt_number": 5, |
|
|||
59 | "input": "display(x.png)\ndisplay(x.svg)" |
|
|||
60 | }, |
|
182 | }, | |
61 | { |
|
183 | { | |
62 | "source": "Now let's create a new Gaussian with different parameters", |
|
184 | "cell_type": "markdown", | |
63 |
" |
|
185 | "source": [ | |
|
186 | "Now let's create a new Gaussian with different parameters" | |||
|
187 | ] | |||
64 | }, |
|
188 | }, | |
65 | { |
|
189 | { | |
66 | "cell_type": "code", |
|
190 | "cell_type": "code", | |
|
191 | "collapsed": true, | |||
|
192 | "input": [ | |||
|
193 | "x2 = Gaussian(0.5, 0.2, 2000)", | |||
|
194 | "x2" | |||
|
195 | ], | |||
67 | "language": "python", |
|
196 | "language": "python", | |
68 | "outputs": [], |
|
197 | "outputs": [], | |
69 |
" |
|
198 | "prompt_number": 6 | |
70 | "prompt_number": 6, |
|
|||
71 | "input": "x2 = Gaussian(0.5, 0.2, 2000)\nx2" |
|
|||
72 | }, |
|
199 | }, | |
73 | { |
|
200 | { | |
74 | "source": "We can easily compare them by displaying their histograms", |
|
201 | "cell_type": "markdown", | |
75 |
" |
|
202 | "source": [ | |
|
203 | "We can easily compare them by displaying their histograms" | |||
|
204 | ] | |||
76 | }, |
|
205 | }, | |
77 | { |
|
206 | { | |
78 | "cell_type": "code", |
|
207 | "cell_type": "code", | |
|
208 | "collapsed": true, | |||
|
209 | "input": [ | |||
|
210 | "display(x.hist)", | |||
|
211 | "display(x2.hist)" | |||
|
212 | ], | |||
79 | "language": "python", |
|
213 | "language": "python", | |
80 | "outputs": [], |
|
214 | "outputs": [], | |
81 |
" |
|
215 | "prompt_number": 7 | |
82 | "prompt_number": 7, |
|
|||
83 | "input": "display(x.hist)\ndisplay(x2.hist)" |
|
|||
84 | }, |
|
216 | }, | |
85 | { |
|
217 | { | |
86 | "source": "## Adding IPython display support to existing objects\n\nWhen you are directly writing your own classes, you can adapt them for display in IPython by \nfollowing the above example. But in practice, we often need to work with existing code we\ncan't modify. \n\nWe now illustrate how to add these kinds of extended display capabilities to existing objects.\nWe will use the numpy polynomials and change their default representation to be a formatted\nLaTeX expression.\n\nFirst, consider how a numpy polynomial object renders by default:", |
|
218 | "cell_type": "markdown", | |
87 |
" |
|
219 | "source": [ | |
|
220 | "## Adding IPython display support to existing objects", | |||
|
221 | "", | |||
|
222 | "When you are directly writing your own classes, you can adapt them for display in IPython by ", | |||
|
223 | "following the above example. But in practice, we often need to work with existing code we", | |||
|
224 | "can't modify. ", | |||
|
225 | "", | |||
|
226 | "We now illustrate how to add these kinds of extended display capabilities to existing objects.", | |||
|
227 | "We will use the numpy polynomials and change their default representation to be a formatted", | |||
|
228 | "LaTeX expression.", | |||
|
229 | "", | |||
|
230 | "First, consider how a numpy polynomial object renders by default:" | |||
|
231 | ] | |||
88 | }, |
|
232 | }, | |
89 | { |
|
233 | { | |
90 | "cell_type": "code", |
|
234 | "cell_type": "code", | |
|
235 | "collapsed": true, | |||
|
236 | "input": [ | |||
|
237 | "p = np.polynomial.Polynomial([1,2,3], [-10, 10])", | |||
|
238 | "p" | |||
|
239 | ], | |||
91 | "language": "python", |
|
240 | "language": "python", | |
92 | "outputs": [], |
|
241 | "outputs": [], | |
93 |
" |
|
242 | "prompt_number": 8 | |
94 | "prompt_number": 8, |
|
|||
95 | "input": "p = np.polynomial.Polynomial([1,2,3], [-10, 10])\np" |
|
|||
96 | }, |
|
243 | }, | |
97 | { |
|
244 | { | |
98 | "source": "Next, we define a function that pretty-prints a polynomial as a LaTeX string:", |
|
245 | "cell_type": "markdown", | |
99 |
" |
|
246 | "source": [ | |
|
247 | "Next, we define a function that pretty-prints a polynomial as a LaTeX string:" | |||
|
248 | ] | |||
100 | }, |
|
249 | }, | |
101 | { |
|
250 | { | |
102 | "cell_type": "code", |
|
251 | "cell_type": "code", | |
|
252 | "collapsed": true, | |||
|
253 | "input": [ | |||
|
254 | "def poly2latex(p):", | |||
|
255 | " terms = ['%.2g' % p.coef[0]]", | |||
|
256 | " if len(p) > 1:", | |||
|
257 | " term = 'x'", | |||
|
258 | " c = p.coef[1]", | |||
|
259 | " if c!=1:", | |||
|
260 | " term = ('%.2g ' % c) + term", | |||
|
261 | " terms.append(term)", | |||
|
262 | " if len(p) > 2:", | |||
|
263 | " for i in range(2, len(p)):", | |||
|
264 | " term = 'x^%d' % i", | |||
|
265 | " c = p.coef[i]", | |||
|
266 | " if c!=1:", | |||
|
267 | " term = ('%.2g ' % c) + term", | |||
|
268 | " terms.append(term)", | |||
|
269 | " px = '$P(x)=%s$' % '+'.join(terms)", | |||
|
270 | " dom = r', domain: $[%.2g,\\ %.2g]$' % tuple(p.domain)", | |||
|
271 | " win = r', window: $[%.2g,\\ %.2g]$' % tuple(p.window)", | |||
|
272 | " return px+dom+win" | |||
|
273 | ], | |||
103 | "language": "python", |
|
274 | "language": "python", | |
104 | "outputs": [], |
|
275 | "outputs": [], | |
105 |
" |
|
276 | "prompt_number": 9 | |
106 | "prompt_number": 9, |
|
|||
107 | "input": "def poly2latex(p):\n terms = ['%.2g' % p.coef[0]]\n if len(p) > 1:\n term = 'x'\n c = p.coef[1]\n if c!=1:\n term = ('%.2g ' % c) + term\n terms.append(term)\n if len(p) > 2:\n for i in range(2, len(p)):\n term = 'x^%d' % i\n c = p.coef[i]\n if c!=1:\n term = ('%.2g ' % c) + term\n terms.append(term)\n px = '$P(x)=%s$' % '+'.join(terms)\n dom = r', domain: $[%.2g,\\ %.2g]$' % tuple(p.domain)\n win = r', window: $[%.2g,\\ %.2g]$' % tuple(p.window)\n return px+dom+win" |
|
|||
108 | }, |
|
277 | }, | |
109 | { |
|
278 | { | |
110 | "source": "This produces, on our polynomial ``p``, the following:", |
|
279 | "cell_type": "markdown", | |
111 |
" |
|
280 | "source": [ | |
|
281 | "This produces, on our polynomial ``p``, the following:" | |||
|
282 | ] | |||
112 | }, |
|
283 | }, | |
113 | { |
|
284 | { | |
114 | "cell_type": "code", |
|
285 | "cell_type": "code", | |
|
286 | "collapsed": true, | |||
|
287 | "input": [ | |||
|
288 | "poly2latex(p)" | |||
|
289 | ], | |||
115 | "language": "python", |
|
290 | "language": "python", | |
116 | "outputs": [], |
|
291 | "outputs": [], | |
117 |
" |
|
292 | "prompt_number": 10 | |
118 | "prompt_number": 10, |
|
|||
119 | "input": "poly2latex(p)" |
|
|||
120 | }, |
|
293 | }, | |
121 | { |
|
294 | { | |
122 | "source": "Note that this did *not* produce a formated LaTeX object, because it is simply a string \nwith LaTeX code. In order for this to be interpreted as a mathematical expression, it\nmust be properly wrapped into a Math object:", |
|
295 | "cell_type": "markdown", | |
123 |
" |
|
296 | "source": [ | |
|
297 | "Note that this did *not* produce a formated LaTeX object, because it is simply a string ", | |||
|
298 | "with LaTeX code. In order for this to be interpreted as a mathematical expression, it", | |||
|
299 | "must be properly wrapped into a Math object:" | |||
|
300 | ] | |||
124 | }, |
|
301 | }, | |
125 | { |
|
302 | { | |
126 | "cell_type": "code", |
|
303 | "cell_type": "code", | |
|
304 | "collapsed": true, | |||
|
305 | "input": [ | |||
|
306 | "from IPython.core.display import Math", | |||
|
307 | "Math(poly2latex(p))" | |||
|
308 | ], | |||
127 | "language": "python", |
|
309 | "language": "python", | |
128 | "outputs": [], |
|
310 | "outputs": [], | |
129 |
" |
|
311 | "prompt_number": 11 | |
130 | "prompt_number": 11, |
|
|||
131 | "input": "from IPython.core.display import Math\nMath(poly2latex(p))" |
|
|||
132 | }, |
|
312 | }, | |
133 | { |
|
313 | { | |
134 | "source": "But we can configure IPython to do this automatically for us as follows. We hook into the\nIPython display system and instruct it to use ``poly2latex`` for the latex mimetype, when\nencountering objects of the ``Polynomial`` type defined in the\n``numpy.polynomial.polynomial`` module:", |
|
314 | "cell_type": "markdown", | |
135 |
" |
|
315 | "source": [ | |
|
316 | "But we can configure IPython to do this automatically for us as follows. We hook into the", | |||
|
317 | "IPython display system and instruct it to use ``poly2latex`` for the latex mimetype, when", | |||
|
318 | "encountering objects of the ``Polynomial`` type defined in the", | |||
|
319 | "``numpy.polynomial.polynomial`` module:" | |||
|
320 | ] | |||
136 | }, |
|
321 | }, | |
137 | { |
|
322 | { | |
138 | "cell_type": "code", |
|
323 | "cell_type": "code", | |
|
324 | "collapsed": true, | |||
|
325 | "input": [ | |||
|
326 | "ip = get_ipython()", | |||
|
327 | "latex_formatter = ip.display_formatter.formatters['text/latex']", | |||
|
328 | "latex_formatter.for_type_by_name('numpy.polynomial.polynomial',", | |||
|
329 | " 'Polynomial', poly2latex)" | |||
|
330 | ], | |||
139 | "language": "python", |
|
331 | "language": "python", | |
140 | "outputs": [], |
|
332 | "outputs": [], | |
141 |
" |
|
333 | "prompt_number": 12 | |
142 | "prompt_number": 12, |
|
|||
143 | "input": "ip = get_ipython()\nlatex_formatter = ip.display_formatter.formatters['text/latex']\nlatex_formatter.for_type_by_name('numpy.polynomial.polynomial',\n 'Polynomial', poly2latex)" |
|
|||
144 | }, |
|
334 | }, | |
145 | { |
|
335 | { | |
146 | "source": "For more examples on how to use the above system, and how to bundle similar print functions\ninto a convenient IPython extension, see the ``IPython/extensions/sympyprinting.py`` file. \nThe machinery that defines the display system is in the ``display.py`` and ``displaypub.py`` \nfiles in ``IPython/core``.\n\nOnce our special printer has been loaded, all polynomials will be represented by their \nmathematical form instead:", |
|
336 | "cell_type": "markdown", | |
147 |
" |
|
337 | "source": [ | |
|
338 | "For more examples on how to use the above system, and how to bundle similar print functions", | |||
|
339 | "into a convenient IPython extension, see the ``IPython/extensions/sympyprinting.py`` file. ", | |||
|
340 | "The machinery that defines the display system is in the ``display.py`` and ``displaypub.py`` ", | |||
|
341 | "files in ``IPython/core``.", | |||
|
342 | "", | |||
|
343 | "Once our special printer has been loaded, all polynomials will be represented by their ", | |||
|
344 | "mathematical form instead:" | |||
|
345 | ] | |||
148 | }, |
|
346 | }, | |
149 | { |
|
347 | { | |
150 | "cell_type": "code", |
|
348 | "cell_type": "code", | |
|
349 | "collapsed": true, | |||
|
350 | "input": [ | |||
|
351 | "p" | |||
|
352 | ], | |||
151 | "language": "python", |
|
353 | "language": "python", | |
152 | "outputs": [], |
|
354 | "outputs": [], | |
153 |
" |
|
355 | "prompt_number": 13 | |
154 | "prompt_number": 13, |
|
|||
155 | "input": "p" |
|
|||
156 | }, |
|
356 | }, | |
157 | { |
|
357 | { | |
158 | "cell_type": "code", |
|
358 | "cell_type": "code", | |
|
359 | "collapsed": true, | |||
|
360 | "input": [ | |||
|
361 | "p2 = np.polynomial.Polynomial([-20, 71, -15, 1])", | |||
|
362 | "p2" | |||
|
363 | ], | |||
159 | "language": "python", |
|
364 | "language": "python", | |
160 | "outputs": [], |
|
365 | "outputs": [], | |
161 |
" |
|
366 | "prompt_number": 14 | |
162 | "prompt_number": 14, |
|
|||
163 | "input": "p2 = np.polynomial.Polynomial([-20, 71, -15, 1])\np2" |
|
|||
164 | }, |
|
367 | }, | |
165 | { |
|
368 | { | |
166 | "cell_type": "code", |
|
369 | "cell_type": "code", | |
|
370 | "collapsed": true, | |||
|
371 | "input": [], | |||
167 | "language": "python", |
|
372 | "language": "python", | |
168 | "outputs": [], |
|
373 | "outputs": [], | |
169 |
" |
|
374 | "prompt_number": 14 | |
170 | "prompt_number": 14, |
|
|||
171 | "input": "" |
|
|||
172 | } |
|
375 | } | |
173 | ] |
|
376 | ] | |
174 | } |
|
377 | } | |
175 |
] |
|
378 | ] | |
176 | "metadata": { |
|
|||
177 | "name": "display_protocol" |
|
|||
178 | }, |
|
|||
179 | "nbformat": 2 |
|
|||
180 | } No newline at end of file |
|
379 | } |
@@ -1,28 +1,118 b'' | |||||
1 | { |
|
1 | { | |
2 | "nbformat": 2, |
|
|||
3 | "metadata": { |
|
2 | "metadata": { | |
4 | "name": "formatting" |
|
3 | "name": "formatting" | |
5 | }, |
|
4 | }, | |
|
5 | "nbformat": 2, | |||
6 | "worksheets": [ |
|
6 | "worksheets": [ | |
7 | { |
|
7 | { | |
8 | "cells": [ |
|
8 | "cells": [ | |
9 | { |
|
9 | { | |
10 | "source": "# Title (h1)\n\n## Heading (h2)\n\n### Heading (h3)\n\nHere is a paragraph of text.\n\n* One.\n - Sublist\n - Here we go\n - Sublist\n - Here we go\n - Here we go\n* Two.\n - Sublist\n* Three.\n - Sublist\n\nNow another list:\n\n---\n\n1. Here we go\n 1. Sublist\n 2. Sublist\n2. There we go\n3. Now this\n\nAnd another paragraph.\n\n### Heading (h3)\n\n#### Heading (h4)\n\n##### Heading (h5)\n\n###### Heading (h6)\n\n## Heading (h2)\n\n", |
|
10 | "cell_type": "markdown", | |
11 |
" |
|
11 | "source": [ | |
|
12 | "# Title (h1)", | |||
|
13 | "", | |||
|
14 | "## Heading (h2)", | |||
|
15 | "", | |||
|
16 | "### Heading (h3)", | |||
|
17 | "", | |||
|
18 | "Here is a paragraph of text.", | |||
|
19 | "", | |||
|
20 | "* One.", | |||
|
21 | " - Sublist", | |||
|
22 | " - Here we go", | |||
|
23 | " - Sublist", | |||
|
24 | " - Here we go", | |||
|
25 | " - Here we go", | |||
|
26 | "* Two.", | |||
|
27 | " - Sublist", | |||
|
28 | "* Three.", | |||
|
29 | " - Sublist", | |||
|
30 | "", | |||
|
31 | "Now another list:", | |||
|
32 | "", | |||
|
33 | "---", | |||
|
34 | "", | |||
|
35 | "1. Here we go", | |||
|
36 | " 1. Sublist", | |||
|
37 | " 2. Sublist", | |||
|
38 | "2. There we go", | |||
|
39 | "3. Now this", | |||
|
40 | "", | |||
|
41 | "And another paragraph.", | |||
|
42 | "", | |||
|
43 | "### Heading (h3)", | |||
|
44 | "", | |||
|
45 | "#### Heading (h4)", | |||
|
46 | "", | |||
|
47 | "##### Heading (h5)", | |||
|
48 | "", | |||
|
49 | "###### Heading (h6)", | |||
|
50 | "", | |||
|
51 | "## Heading (h2)", | |||
|
52 | "" | |||
|
53 | ] | |||
12 | }, |
|
54 | }, | |
13 | { |
|
55 | { | |
14 | "source": "# Heading (h1)\n\n## Heading (h2)\n\n### Heading (h3)\n\n#### Heading (h4)\n\n##### Heading (h5)\n\n###### Heading (h6)\n\nNow for a simpel code example:\n\n for i in range(10):\n print i\n\nNow more text", |
|
56 | "cell_type": "markdown", | |
15 |
" |
|
57 | "source": [ | |
|
58 | "# Heading (h1)", | |||
|
59 | "", | |||
|
60 | "## Heading (h2)", | |||
|
61 | "", | |||
|
62 | "### Heading (h3)", | |||
|
63 | "", | |||
|
64 | "#### Heading (h4)", | |||
|
65 | "", | |||
|
66 | "##### Heading (h5)", | |||
|
67 | "", | |||
|
68 | "###### Heading (h6)", | |||
|
69 | "", | |||
|
70 | "Now for a simpel code example:", | |||
|
71 | "", | |||
|
72 | " for i in range(10):", | |||
|
73 | " print i", | |||
|
74 | "", | |||
|
75 | "Now more text" | |||
|
76 | ] | |||
16 | }, |
|
77 | }, | |
17 | { |
|
78 | { | |
18 | "source": "## Heading (h2)\n\nHere is text.\n\n> This is a *block* quote. This is a block quote. This is a block quote. \n> This is a **block** quote. This is a block quote. This is a block quote. \n> This is a `block` quote. This is a block quote. This is a block quote. \n> This is a block quote. This is a block quote. This is a block quote. \n> This is a block quote. This is a block quote. This is a block quote. \n> This is a block quote. This is a block quote. This is a block quote. \n\nHere is text\n\n<table>\n<tr>\n<th>Header 1</th>\n<th>Header 2</th>\n</tr>\n<tr>\n<td>row 1, cell 1</td>\n<td>row 1, cell 2</td>\n</tr>\n<tr>\n<td>row 2, cell 1</td>\n<td>row 2, cell 2</td>\n</tr>\n</table>", |
|
79 | "cell_type": "markdown", | |
19 |
" |
|
80 | "source": [ | |
|
81 | "## Heading (h2)", | |||
|
82 | "", | |||
|
83 | "Here is text.", | |||
|
84 | "", | |||
|
85 | "> This is a *block* quote. This is a block quote. This is a block quote. ", | |||
|
86 | "> This is a **block** quote. This is a block quote. This is a block quote. ", | |||
|
87 | "> This is a `block` quote. This is a block quote. This is a block quote. ", | |||
|
88 | "> This is a block quote. This is a block quote. This is a block quote. ", | |||
|
89 | "> This is a block quote. This is a block quote. This is a block quote. ", | |||
|
90 | "> This is a block quote. This is a block quote. This is a block quote. ", | |||
|
91 | "", | |||
|
92 | "Here is text", | |||
|
93 | "", | |||
|
94 | "<table>", | |||
|
95 | "<tr>", | |||
|
96 | "<th>Header 1</th>", | |||
|
97 | "<th>Header 2</th>", | |||
|
98 | "</tr>", | |||
|
99 | "<tr>", | |||
|
100 | "<td>row 1, cell 1</td>", | |||
|
101 | "<td>row 1, cell 2</td>", | |||
|
102 | "</tr>", | |||
|
103 | "<tr>", | |||
|
104 | "<td>row 2, cell 1</td>", | |||
|
105 | "<td>row 2, cell 2</td>", | |||
|
106 | "</tr>", | |||
|
107 | "</table>" | |||
|
108 | ] | |||
20 | }, |
|
109 | }, | |
21 | { |
|
110 | { | |
22 | "outputs": [], |
|
|||
23 | "cell_type": "code", |
|
111 | "cell_type": "code", | |
24 | "collapsed": true, |
|
112 | "collapsed": true, | |
25 |
" |
|
113 | "input": [], | |
|
114 | "language": "python", | |||
|
115 | "outputs": [] | |||
26 | } |
|
116 | } | |
27 | ] |
|
117 | ] | |
28 | } |
|
118 | } |
@@ -1,138 +1,217 b'' | |||||
1 | { |
|
1 | { | |
2 | "nbformat": 2, |
|
|||
3 | "metadata": { |
|
2 | "metadata": { | |
4 | "name": "grovers" |
|
3 | "name": "grovers" | |
5 | }, |
|
4 | }, | |
|
5 | "nbformat": 2, | |||
6 | "worksheets": [ |
|
6 | "worksheets": [ | |
7 | { |
|
7 | { | |
8 | "cells": [ |
|
8 | "cells": [ | |
9 | { |
|
9 | { | |
10 |
" |
|
10 | "cell_type": "markdown", | |
11 |
" |
|
11 | "source": [ | |
|
12 | "<h1>Grover's Algorithm</h1>" | |||
|
13 | ] | |||
12 | }, |
|
14 | }, | |
13 | { |
|
15 | { | |
14 | "cell_type": "code", |
|
16 | "cell_type": "code", | |
|
17 | "collapsed": true, | |||
|
18 | "input": [ | |||
|
19 | "%load_ext sympyprinting" | |||
|
20 | ], | |||
15 | "language": "python", |
|
21 | "language": "python", | |
16 | "outputs": [], |
|
22 | "outputs": [], | |
17 |
" |
|
23 | "prompt_number": 1 | |
18 | "prompt_number": 1, |
|
|||
19 | "input": "%load_ext sympyprinting" |
|
|||
20 | }, |
|
24 | }, | |
21 | { |
|
25 | { | |
22 | "cell_type": "code", |
|
26 | "cell_type": "code", | |
|
27 | "collapsed": true, | |||
|
28 | "input": [ | |||
|
29 | "from sympy import sqrt, symbols, Rational", | |||
|
30 | "from sympy import expand, Eq, Symbol, simplify, exp, sin", | |||
|
31 | "from sympy.physics.quantum import *", | |||
|
32 | "from sympy.physics.quantum.qubit import *", | |||
|
33 | "from sympy.physics.quantum.gate import *", | |||
|
34 | "from sympy.physics.quantum.grover import *", | |||
|
35 | "from sympy.physics.quantum.qft import QFT, IQFT, Fourier", | |||
|
36 | "from sympy.physics.quantum.circuitplot import circuit_plot" | |||
|
37 | ], | |||
23 | "language": "python", |
|
38 | "language": "python", | |
24 | "outputs": [], |
|
39 | "outputs": [], | |
25 |
" |
|
40 | "prompt_number": 2 | |
26 | "prompt_number": 2, |
|
|||
27 | "input": "from sympy import sqrt, symbols, Rational\nfrom sympy import expand, Eq, Symbol, simplify, exp, sin\nfrom sympy.physics.quantum import *\nfrom sympy.physics.quantum.qubit import *\nfrom sympy.physics.quantum.gate import *\nfrom sympy.physics.quantum.grover import *\nfrom sympy.physics.quantum.qft import QFT, IQFT, Fourier\nfrom sympy.physics.quantum.circuitplot import circuit_plot" |
|
|||
28 | }, |
|
41 | }, | |
29 | { |
|
42 | { | |
30 | "cell_type": "code", |
|
43 | "cell_type": "code", | |
|
44 | "collapsed": true, | |||
|
45 | "input": [ | |||
|
46 | "nqubits = 3" | |||
|
47 | ], | |||
31 | "language": "python", |
|
48 | "language": "python", | |
32 | "outputs": [], |
|
49 | "outputs": [], | |
33 |
" |
|
50 | "prompt_number": 3 | |
34 | "prompt_number": 3, |
|
|||
35 | "input": "nqubits = 3\n" |
|
|||
36 | }, |
|
51 | }, | |
37 | { |
|
52 | { | |
38 | "source": "Grover's algorithm is a quantum algorithm which searches an unordered database (inverts a function).<br/>\nProvides polynomial speedup over classical brute-force search ($O(\\sqrt{N}) vs. O(N))$ ", |
|
53 | "cell_type": "markdown", | |
39 |
" |
|
54 | "source": [ | |
|
55 | "Grover's algorithm is a quantum algorithm which searches an unordered database (inverts a function).<br/>", | |||
|
56 | "Provides polynomial speedup over classical brute-force search ($O(\\sqrt{N}) vs. O(N))$ " | |||
|
57 | ] | |||
40 | }, |
|
58 | }, | |
41 | { |
|
59 | { | |
42 | "source": "Define a black box function that returns True if it is passed the state we are searching for.", |
|
60 | "cell_type": "markdown", | |
43 |
" |
|
61 | "source": [ | |
|
62 | "Define a black box function that returns True if it is passed the state we are searching for." | |||
|
63 | ] | |||
44 | }, |
|
64 | }, | |
45 | { |
|
65 | { | |
46 | "cell_type": "code", |
|
66 | "cell_type": "code", | |
|
67 | "collapsed": true, | |||
|
68 | "input": [ | |||
|
69 | "def black_box(qubits):", | |||
|
70 | " return True if qubits == IntQubit(1, qubits.nqubits) else False" | |||
|
71 | ], | |||
47 | "language": "python", |
|
72 | "language": "python", | |
48 | "outputs": [], |
|
73 | "outputs": [], | |
49 |
" |
|
74 | "prompt_number": 4 | |
50 | "prompt_number": 4, |
|
|||
51 | "input": "def black_box(qubits):\n return True if qubits == IntQubit(1, qubits.nqubits) else False\n" |
|
|||
52 | }, |
|
75 | }, | |
53 | { |
|
76 | { | |
54 | "source": "Build a uniform superposition state to start the search.", |
|
77 | "cell_type": "markdown", | |
55 |
" |
|
78 | "source": [ | |
|
79 | "Build a uniform superposition state to start the search." | |||
|
80 | ] | |||
56 | }, |
|
81 | }, | |
57 | { |
|
82 | { | |
58 | "cell_type": "code", |
|
83 | "cell_type": "code", | |
|
84 | "collapsed": false, | |||
|
85 | "input": [ | |||
|
86 | "psi = superposition_basis(nqubits); psi" | |||
|
87 | ], | |||
59 | "language": "python", |
|
88 | "language": "python", | |
60 | "outputs": [ |
|
89 | "outputs": [ | |
61 | { |
|
90 | { | |
|
91 | "latex": [ | |||
|
92 | "$$\\frac{1}{4} \\sqrt{2} {\\left|0\\right\\rangle } + \\frac{1}{4} \\sqrt{2} {\\left|1\\right\\rangle } + \\frac{1}{4} \\sqrt{2} {\\left|2\\right\\rangle } + \\frac{1}{4} \\sqrt{2} {\\left|3\\right\\rangle } + \\frac{1}{4} \\sqrt{2} {\\left|4\\right\\rangle } + \\frac{1}{4} \\sqrt{2} {\\left|5\\right\\rangle } + \\frac{1}{4} \\sqrt{2} {\\left|6\\right\\rangle } + \\frac{1}{4} \\sqrt{2} {\\left|7\\right\\rangle }$$" | |||
|
93 | ], | |||
62 | "output_type": "pyout", |
|
94 | "output_type": "pyout", | |
63 | "latex": "$$\\frac{1}{4} \\sqrt{2} {\\left|0\\right\\rangle } + \\frac{1}{4} \\sqrt{2} {\\left|1\\right\\rangle } + \\frac{1}{4} \\sqrt{2} {\\left|2\\right\\rangle } + \\frac{1}{4} \\sqrt{2} {\\left|3\\right\\rangle } + \\frac{1}{4} \\sqrt{2} {\\left|4\\right\\rangle } + \\frac{1}{4} \\sqrt{2} {\\left|5\\right\\rangle } + \\frac{1}{4} \\sqrt{2} {\\left|6\\right\\rangle } + \\frac{1}{4} \\sqrt{2} {\\left|7\\right\\rangle }$$", |
|
|||
64 | "prompt_number": 5, |
|
|||
65 | "png": "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\nTkSuQmCC\n", |
|
95 | "png": "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\nTkSuQmCC\n", | |
66 | "text": "\u23bd\u23bd\u23bd \u23bd\u23bd\u23bd \u23bd\u23bd\u23bd \u23bd\u23bd\u23bd \u23bd\u23bd\u23bd \u23bd\u23bd\u23bd \u23bd\u23bd\u23bd \n\u2572\u2571 2 \u22c5\u27580\u27e9 \u2572\u2571 2 \u22c5\u27581\u27e9 \u2572\u2571 2 \u22c5\u27582\u27e9 \u2572\u2571 2 \u22c5\u27583\u27e9 \u2572\u2571 2 \u22c5\u27584\u27e9 \u2572\u2571 2 \u22c5\u27585\u27e9 \u2572\u2571 2 \u22c5\n\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 + \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 + \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 + \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 + \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 + \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 + \u2500\u2500\u2500\u2500\u2500\u2500\n 4 4 4 4 4 4 4 \n\n \u23bd\u23bd\u23bd \n\u27586\u27e9 \u2572\u2571 2 \u22c5\u27587\u27e9\n\u2500\u2500\u2500 + \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n 4" |
|
96 | "prompt_number": 5, | |
|
97 | "text": [ | |||
|
98 | "\u23bd\u23bd\u23bd \u23bd\u23bd\u23bd \u23bd\u23bd\u23bd \u23bd\u23bd\u23bd \u23bd\u23bd\u23bd \u23bd\u23bd\u23bd \u23bd\u23bd\u23bd ", | |||
|
99 | "\u2572\u2571 2 \u22c5\u27580\u27e9 \u2572\u2571 2 \u22c5\u27581\u27e9 \u2572\u2571 2 \u22c5\u27582\u27e9 \u2572\u2571 2 \u22c5\u27583\u27e9 \u2572\u2571 2 \u22c5\u27584\u27e9 \u2572\u2571 2 \u22c5\u27585\u27e9 \u2572\u2571 2 \u22c5", | |||
|
100 | "\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 + \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 + \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 + \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 + \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 + \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 + \u2500\u2500\u2500\u2500\u2500\u2500", | |||
|
101 | " 4 4 4 4 4 4 4 ", | |||
|
102 | "", | |||
|
103 | " \u23bd\u23bd\u23bd ", | |||
|
104 | "\u27586\u27e9 \u2572\u2571 2 \u22c5\u27587\u27e9", | |||
|
105 | "\u2500\u2500\u2500 + \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500", | |||
|
106 | " 4" | |||
|
107 | ] | |||
67 | } |
|
108 | } | |
68 | ], |
|
109 | ], | |
69 |
" |
|
110 | "prompt_number": 5 | |
70 | "prompt_number": 5, |
|
|||
71 | "input": "psi = superposition_basis(nqubits); psi\n" |
|
|||
72 | }, |
|
111 | }, | |
73 | { |
|
112 | { | |
74 | "cell_type": "code", |
|
113 | "cell_type": "code", | |
|
114 | "collapsed": true, | |||
|
115 | "input": [ | |||
|
116 | "v = OracleGate(nqubits, black_box)" | |||
|
117 | ], | |||
75 | "language": "python", |
|
118 | "language": "python", | |
76 | "outputs": [], |
|
119 | "outputs": [], | |
77 |
" |
|
120 | "prompt_number": 6 | |
78 | "prompt_number": 6, |
|
|||
79 | "input": "v = OracleGate(nqubits, black_box)\n" |
|
|||
80 | }, |
|
121 | }, | |
81 | { |
|
122 | { | |
82 | "source": "Perform two iterations of Grover's algorithm. Each iteration, the amplitude of the target state increases.", |
|
123 | "cell_type": "markdown", | |
83 |
" |
|
124 | "source": [ | |
|
125 | "Perform two iterations of Grover's algorithm. Each iteration, the amplitude of the target state increases." | |||
|
126 | ] | |||
84 | }, |
|
127 | }, | |
85 | { |
|
128 | { | |
86 | "cell_type": "code", |
|
129 | "cell_type": "code", | |
|
130 | "collapsed": false, | |||
|
131 | "input": [ | |||
|
132 | "iter1 = qapply(grover_iteration(psi, v)); iter1" | |||
|
133 | ], | |||
87 | "language": "python", |
|
134 | "language": "python", | |
88 | "outputs": [ |
|
135 | "outputs": [ | |
89 | { |
|
136 | { | |
|
137 | "latex": [ | |||
|
138 | "$$\\frac{1}{8} \\sqrt{2} {\\left|0\\right\\rangle } + \\frac{5}{8} \\sqrt{2} {\\left|1\\right\\rangle } + \\frac{1}{8} \\sqrt{2} {\\left|2\\right\\rangle } + \\frac{1}{8} \\sqrt{2} {\\left|3\\right\\rangle } + \\frac{1}{8} \\sqrt{2} {\\left|4\\right\\rangle } + \\frac{1}{8} \\sqrt{2} {\\left|5\\right\\rangle } + \\frac{1}{8} \\sqrt{2} {\\left|6\\right\\rangle } + \\frac{1}{8} \\sqrt{2} {\\left|7\\right\\rangle }$$" | |||
|
139 | ], | |||
90 | "output_type": "pyout", |
|
140 | "output_type": "pyout", | |
91 | "latex": "$$\\frac{1}{8} \\sqrt{2} {\\left|0\\right\\rangle } + \\frac{5}{8} \\sqrt{2} {\\left|1\\right\\rangle } + \\frac{1}{8} \\sqrt{2} {\\left|2\\right\\rangle } + \\frac{1}{8} \\sqrt{2} {\\left|3\\right\\rangle } + \\frac{1}{8} \\sqrt{2} {\\left|4\\right\\rangle } + \\frac{1}{8} \\sqrt{2} {\\left|5\\right\\rangle } + \\frac{1}{8} \\sqrt{2} {\\left|6\\right\\rangle } + \\frac{1}{8} \\sqrt{2} {\\left|7\\right\\rangle }$$", |
|
|||
92 | "prompt_number": 7, |
|
|||
93 | "png": "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\nSUVORK5CYII=\n", |
|
141 | "png": "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\nSUVORK5CYII=\n", | |
94 | "text": "\u23bd\u23bd\u23bd \u23bd\u23bd\u23bd \u23bd\u23bd\u23bd \u23bd\u23bd\u23bd \u23bd\u23bd\u23bd \u23bd\u23bd\u23bd \u23bd\u23bd\n\u2572\u2571 2 \u22c5\u27580\u27e9 5\u22c5\u2572\u2571 2 \u22c5\u27581\u27e9 \u2572\u2571 2 \u22c5\u27582\u27e9 \u2572\u2571 2 \u22c5\u27583\u27e9 \u2572\u2571 2 \u22c5\u27584\u27e9 \u2572\u2571 2 \u22c5\u27585\u27e9 \u2572\u2571 2\n\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 + \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 + \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 + \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 + \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 + \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 + \u2500\u2500\u2500\u2500\n 8 8 8 8 8 8 \n\n\u23bd \u23bd\u23bd\u23bd \n \u22c5\u27586\u27e9 \u2572\u2571 2 \u22c5\u27587\u27e9\n\u2500\u2500\u2500\u2500\u2500 + \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n8 8" |
|
142 | "prompt_number": 7, | |
|
143 | "text": [ | |||
|
144 | "\u23bd\u23bd\u23bd \u23bd\u23bd\u23bd \u23bd\u23bd\u23bd \u23bd\u23bd\u23bd \u23bd\u23bd\u23bd \u23bd\u23bd\u23bd \u23bd\u23bd", | |||
|
145 | "\u2572\u2571 2 \u22c5\u27580\u27e9 5\u22c5\u2572\u2571 2 \u22c5\u27581\u27e9 \u2572\u2571 2 \u22c5\u27582\u27e9 \u2572\u2571 2 \u22c5\u27583\u27e9 \u2572\u2571 2 \u22c5\u27584\u27e9 \u2572\u2571 2 \u22c5\u27585\u27e9 \u2572\u2571 2", | |||
|
146 | "\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 + \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 + \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 + \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 + \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 + \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 + \u2500\u2500\u2500\u2500", | |||
|
147 | " 8 8 8 8 8 8 ", | |||
|
148 | "", | |||
|
149 | "\u23bd \u23bd\u23bd\u23bd ", | |||
|
150 | " \u22c5\u27586\u27e9 \u2572\u2571 2 \u22c5\u27587\u27e9", | |||
|
151 | "\u2500\u2500\u2500\u2500\u2500 + \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500", | |||
|
152 | "8 8" | |||
|
153 | ] | |||
95 | } |
|
154 | } | |
96 | ], |
|
155 | ], | |
97 |
" |
|
156 | "prompt_number": 7 | |
98 | "prompt_number": 7, |
|
|||
99 | "input": "iter1 = qapply(grover_iteration(psi, v)); iter1\n" |
|
|||
100 | }, |
|
157 | }, | |
101 | { |
|
158 | { | |
102 | "cell_type": "code", |
|
159 | "cell_type": "code", | |
|
160 | "collapsed": false, | |||
|
161 | "input": [ | |||
|
162 | "iter2 = qapply(grover_iteration(iter1, v)); iter2" | |||
|
163 | ], | |||
103 | "language": "python", |
|
164 | "language": "python", | |
104 | "outputs": [ |
|
165 | "outputs": [ | |
105 | { |
|
166 | { | |
|
167 | "latex": [ | |||
|
168 | "$$- \\frac{1}{16} \\sqrt{2} {\\left|0\\right\\rangle } + \\frac{11}{16} \\sqrt{2} {\\left|1\\right\\rangle } - \\frac{1}{16} \\sqrt{2} {\\left|2\\right\\rangle } - \\frac{1}{16} \\sqrt{2} {\\left|3\\right\\rangle } - \\frac{1}{16} \\sqrt{2} {\\left|4\\right\\rangle } - \\frac{1}{16} \\sqrt{2} {\\left|5\\right\\rangle } - \\frac{1}{16} \\sqrt{2} {\\left|6\\right\\rangle } - \\frac{1}{16} \\sqrt{2} {\\left|7\\right\\rangle }$$" | |||
|
169 | ], | |||
106 | "output_type": "pyout", |
|
170 | "output_type": "pyout", | |
107 | "latex": "$$- \\frac{1}{16} \\sqrt{2} {\\left|0\\right\\rangle } + \\frac{11}{16} \\sqrt{2} {\\left|1\\right\\rangle } - \\frac{1}{16} \\sqrt{2} {\\left|2\\right\\rangle } - \\frac{1}{16} \\sqrt{2} {\\left|3\\right\\rangle } - \\frac{1}{16} \\sqrt{2} {\\left|4\\right\\rangle } - \\frac{1}{16} \\sqrt{2} {\\left|5\\right\\rangle } - \\frac{1}{16} \\sqrt{2} {\\left|6\\right\\rangle } - \\frac{1}{16} \\sqrt{2} {\\left|7\\right\\rangle }$$", |
|
|||
108 | "prompt_number": 8, |
|
|||
109 | "png": "iVBORw0KGgoAAAANSUhEUgAAAwUAAAAkCAYAAADYfZZ3AAAABHNCSVQICAgIfAhkiAAADSZJREFU\neJztnXmQHFUdxz9J2CyJ4UyiEcIhV1mBUiRKRQoVjwIBC+TQSKFkKY3ihYiY4vAYFRAxEhUkqIgI\nClHBAg2IILpKEcF4gCKlwSjKVZwqoAQKiH/8utmeN697Zrp75zeb+X6qpmrn9XvTvZ/f9Ot5/Y4G\nIYQQQgghhBBCCCGEEEKIQWMnYH0NL1Efiokfcu+L/Psi/77Ivy/y70ffud+ozg/rkEnAzsAah30D\n7AO8JjmOQaUoBh7x2YfBjYnOB1/k3xf590X+fZF/P+TemWHglcB3gfMcj+NyYEvH/XtSFAPP+Axi\nTHQ++CL/vsi/L/Lvi/z7IfcFTO7hvuYCM4B/9XCfIfOBvwOPOB6DJ0Ux8IrPoMZE54Mv8u+L/Psi\n/77Ivx9yX0AvGwVrgeuAf/dwnyHHA2c57t+bohh4xWdQY6LzwRf590X+fZF/X+TfD7kvoJeNAm9e\nDDwG3Ot9IOI5FBM/5N4X+fdF/n2Rf1/k34++dj9IjYITgKXOx7AA2MX5GPoJ75gMcjy83YP8y78f\n8u+L/Pvi7V/ufcn1PyiNgm2BqcBfc7YPAR8Cvg+cCyyk/cpMR0XStgO+BJwBnAzsHWz/PfDWzg55\ng6dXMRkCLgY2jWwb1Hi0cw/d+w/dd1Je/vOp6h9gf+ArwEXAhcBrg+3yH6euuifky8D2mffyH6cO\n/1sAVwJHANOBjYHDks+cleSR/zh1+J8CHAOcDyzDhstMyWyX+3yq1v3XA58HTsEaIMdlXscmeXL9\nD0qj4ATgCznbhoGrgP8B7wQuA87EKpTpBZ+5Q/B+K+B3wBXAiVgwLwAOzuR5EnimzecOCr2IyUxg\nBfB27EQMGdR4FLmHcv6z7jstL/9xqvoHq4P2wC4CRwE/AX4GLMnkkf9W6qp7QvYDPghsnkmT/1bq\n8j8MHARcAjwA3I+tNnMd8FCSR/5bqcP/ZKy+mQUsBj4MvAo4KZNH7uNUrfvnAq9L9nMq1jhYlnkd\nkOTrK/9nAd/s4f5mYy2uPD5G84US7I7aeuDsgnKN4P1SYHWQdgo2w31WJm1HYKTgc4uoa/mqohj0\nIj7jHZOtgGuBa4BbknKzcspUiUcd9Nv5AOX8N0qWl/9WqvofAh4Evp5Jm4T9OHo02Z4i/83UdT3I\nsjFwa/IZuwfb5L+ZuvzPwcZs/xa4HfgatiZ8iPw3U4f/47GbcSkzgP9iMcgi961Urfv3xRodC4CX\nYzeGdsdWO/o19tsoJeq/lz0FOwCfxbpPNgM+B8zrwX6PA75YsP0A4GXYFzfl59jM9P073McWwHuw\nH6FZrsHuDO2bSVuLPTCjDN8rWS6lKAa9jM94x+RezPkbgZ+2yVslHlXo1/MBqvvvprz8t1LV/xTs\nIjI/k7YeaygM0fywHPlvpo7rQcgS7C51DPlvpk7/v8TOgXnAu4FfRPLIfzNV/e+C3aFelkl7HNgG\neG+QV+5bqep/HjZk6ybgN9jolVuw30NLaZ7c7OV/XNkFuIH8LpBNgR+1+YybsQvmXkH6bcCzwLSc\nco3M3/smn3FYkCe9OH8jSD8Ea8V1y2iJMr2mX2KSspTingIoH49+ow73UM5/o0J5+W+mqn+ATbCu\n6JQZwDrg6khZ+R+jzroHbKWRBvBm4j0FIP9Z6vI/h+a71UXI/xhV/Z8KPEHnT+mV+2aq1v0vpPVm\n/+7YUPYYG4p/AF4PfBQbG7U4J89JtG9dbYuN+89+iSdjY7r+UlCukfn7KCyQ+0XyraP1bvVGwKfa\nHFeM0RJlekk/xSSlk0ZB2Xj0E3W5h3L+GxXKy38zVf3H+ARwN7B1ZJv8j1Fn3QM2PGEaxY0C+R+j\nLv9po+AdwGnYHdpF2FCuEPkfo6r/ldhDuWZi85rOw8bEPz+nnNw3U3fdPxlYBbwgZ/uG4P850nGx\n3wH+ENk+jdbhPJ1yCFaBn1iQp5H5e0mSP1xtCOBhrBsn5JPEJ78WMdpl/l7TTzFJ6aRRAOXi0U+M\np3to779Rsbz8F1PG/6ZJ+tXYUIrNI3lS5D+fsnXPIuDA5O+iRgHIfxFl/M8B7sLGVIP9+LkYW4kr\nhvzn043/u4G/JXk3SdIWYbHIm4wv98VUufa+C/hhm8+v3f96h1eWBUlaOInoA5Rb8moImxR2M8XL\nQDUyf5+cHMOCSL5HsDFdIaeXOLbRDvN5xgP6IyYpnTYKysQjxoZ2PkBn/hsVy8t/PlX9D2N3stYA\nu+Xkkf84ZeueLbG7pCntGgUT1X9Iv/ifjA2lyPKi5NiOjJSX/zjd+n862f8emW2TgDuAy3PKTlT3\n/V73p94PbbOPuvz3FauxpZtSNsJWnykzkfpMbA3Xdiv9NDJ/H4x9GWKNgiex5bmyzMOWyeyW0RJl\nvPCOSUonjYKy8ehX6nQPnflvVCgv/8VU9Z9yK3AfrV3J8p9P2bpnGbY8YEpRo0D+86lS98d4Crg0\nSJP/fLr1/xA21CWcU3AVNib+eUG63BdTpe4/EFv1qagXoMV/tuWxGzYju9MJIn/G1kLtB87GJlJs\ng3VTHYmt9vBsl59zJLb80xuwO/ydknYZzQjSp2ABuS9IPxwLdoyZWBfnlMi2lxDvhlqHtQa7/X/H\nE++YdEMsHjofjKr+Oykv//mU9b8Z8J8g7UZsBZCDaF6uVP7jlHW/N3AnNpSiE0L/E9k9+PsHWI71\njGVXwUl9hg0z+Y9Txv992A//8C76o5jPHWkeYqO6J5+q195DseHrTxXkKfotCtgP0lkdvsIWnyfD\n2Brcp2NfpGvpfozU3tid+OyTb+cXfE4j8/ck7Et/dJDnpdjJ8fFM2nTs+QVFzMbGRIavVTnpM9t8\nngfeMUlp11NQFI9BPh+gO/+NkuXlP5+y/hdjF6HPBHnOwc6FbLr8x6lS91yFrUe+IvO6AXN/TfI+\nXS88z/9EdQ/+/oexYSw3Bnl2xmLwg0ya/Mcp6/8c7NlMIZdjMdkkk6a6J5+q116wGxO3Feyjk9+i\nE5rTsHW4j8DWg+2GnYEfY3fXsiwvKNMI3q+i+e4bwEewu/jZsY0jwE5dHl/KaMlyXnjHBNo3CkYo\nH49+pop76N5/o2T5EeQ/RhX/p2Df+U8HeW5K0rPL3Y0g/yFV656p2Co32dcJmPs9k/fpXdAR5D+k\njrr/Spp/gAIsxGLw/kzaCPIfUsX/AZjj2cH21diD5LKMIPcxql57Yay35lcF+xkh4r9o4shEYzm2\nCtAZdPcgipnYnYOLgLdk0oeA7br4nHOwJ/YtwVrKk7DumwtpHj60U5I2CHjHBMaGYQ3lbN9Q41HW\nPVT33015+W+lqv8VwJuwJ3am7IoNm1iJNQ5S5L+ZOuqeWHd9OnzgaexGUYr8N1NX3b8Ce6Do0kza\nIdj8vvMzafLfTFX/V2Pr8b+PsaUud8XW8Q+XbJf7Vur6/qdLwD5akCfqvxeNgklYy2dNkD6Ere+6\nOdaq/DbxbqdOuRu4AvgjNrmiU1ZgY9hi46ouKSgXjhG7BJtYthLrKtsT60Y6OZNnD+LLk/aaDT0m\nU7GnFM5hbOb99VhvzsrkmMAnHv3uHsr5z54PnZaX/zhV/a/FnuB6HnZReAZrJCzH7lineeW/lbqu\nBymvwIaVLkzeX4Q9t6aBLdEo/83U5f9S7IfpBcA92BjvdIjvk0keff9bqcP/0cC5yWfdC2wPvI3m\nmxFyH6dq3Z/yOHZz4k85ZXL9dzqRowzDyY6PwwQfE2w/F3uwy2rsKXjPYOulVmEm8BjFEytC9iJ/\nzNdd2AU2xnRsln2M7bAJHo8H6TOwL0lsKbFOGAX2KVkWBicmk7FJ2TEexC4SUD0e3TBR3EM5/9nz\nodPy8h+nqv8s07DVhu6MbJP/Vuq+HmyJPZAo5PZkP/LfzHhcj7dNyoae9f1vpU7/G2OOH4rkl/s4\nddb9M7EJyjHHuf7Hs6dgbrLjWIvrUGALLAhgXXqxL063PFyizKqS+8qrgAD+kZMeNhK65emK5Qcl\nJs8SfzZESNV4dMNEcQ/l/GfPh07Ly3+cqv6zPEG8QQDyH6Pu68Ej5K8c0u0PhioMqn+Af+ak6/vf\nSp3+19E8VC6L3Meps+4vOoZc/+PZKFibvNJumSyHY49sXghsDdyPrc4giin7AIwUxcQPufdF/n2R\nf1/k3xf590Puu8BrovF8rEv7VOzu92VYS+6rTsczURivdfpBMfFE7n2Rf1/k3xf590X+/ZD7gLJP\nWavKeqy7Jh0OcxNwrNOxCEMx8UPufZF/X+TfF/n3Rf79kPsAr0bBGmysa8o6WtcUFr1FMfFD7n2R\nf1/k3xf590X+/ZD7AK9GwWU0r986F5vgIfxQTPyQe1/k3xf590X+fZF/P+Q+oBdzCqZiS0JluRh4\nNfZwkQewB1ss6sGxCEMx8UPufZF/X+TfF/n3Rf79kPsOGM/nFOwALMYeFjEZuAP4FrY+c8psLFD3\ntJQW44Fi4ofc+yL/vsi/L/Lvi/z7IfdCCCGEEEIIIYQQQgghhBBCCCGEEEIIIYQQQgghhBBt+D/S\nzSfShSQN5wAAAABJRU5ErkJggg==\n", |
|
171 | "png": "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\nzSfShSQN5wAAAABJRU5ErkJggg==\n", | |
110 | "text": "\u23bd\u23bd\u23bd \u23bd\u23bd\u23bd \u23bd\u23bd\u23bd \u23bd\u23bd\u23bd \u23bd\u23bd\u23bd \u23bd\u23bd\u23bd \n \u2572\u2571 2 \u22c5\u27580\u27e9 11\u22c5\u2572\u2571 2 \u22c5\u27581\u27e9 \u2572\u2571 2 \u22c5\u27582\u27e9 \u2572\u2571 2 \u22c5\u27583\u27e9 \u2572\u2571 2 \u22c5\u27584\u27e9 \u2572\u2571 2 \u22c5\u27585\u27e9 \u2572\n- \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 + \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 - \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 - \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 - \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 - \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 - \u2500\n 16 16 16 16 16 16 \n\n \u23bd\u23bd\u23bd \u23bd\u23bd\u23bd \n\u2571 2 \u22c5\u27586\u27e9 \u2572\u2571 2 \u22c5\u27587\u27e9\n\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 - \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n 16 16" |
|
172 | "prompt_number": 8, | |
|
173 | "text": [ | |||
|
174 | "\u23bd\u23bd\u23bd \u23bd\u23bd\u23bd \u23bd\u23bd\u23bd \u23bd\u23bd\u23bd \u23bd\u23bd\u23bd \u23bd\u23bd\u23bd ", | |||
|
175 | " \u2572\u2571 2 \u22c5\u27580\u27e9 11\u22c5\u2572\u2571 2 \u22c5\u27581\u27e9 \u2572\u2571 2 \u22c5\u27582\u27e9 \u2572\u2571 2 \u22c5\u27583\u27e9 \u2572\u2571 2 \u22c5\u27584\u27e9 \u2572\u2571 2 \u22c5\u27585\u27e9 \u2572", | |||
|
176 | "- \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 + \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 - \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 - \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 - \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 - \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 - \u2500", | |||
|
177 | " 16 16 16 16 16 16 ", | |||
|
178 | "", | |||
|
179 | " \u23bd\u23bd\u23bd \u23bd\u23bd\u23bd ", | |||
|
180 | "\u2571 2 \u22c5\u27586\u27e9 \u2572\u2571 2 \u22c5\u27587\u27e9", | |||
|
181 | "\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 - \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500", | |||
|
182 | " 16 16" | |||
|
183 | ] | |||
111 | } |
|
184 | } | |
112 | ], |
|
185 | ], | |
113 |
" |
|
186 | "prompt_number": 8 | |
114 | "prompt_number": 8, |
|
|||
115 | "input": "iter2 = qapply(grover_iteration(iter1, v)); iter2\n" |
|
|||
116 | }, |
|
187 | }, | |
117 | { |
|
188 | { | |
118 | "source": "A single shot measurement is performed to retrieve the target state.", |
|
189 | "cell_type": "markdown", | |
119 |
" |
|
190 | "source": [ | |
|
191 | "A single shot measurement is performed to retrieve the target state." | |||
|
192 | ] | |||
120 | }, |
|
193 | }, | |
121 | { |
|
194 | { | |
122 | "cell_type": "code", |
|
195 | "cell_type": "code", | |
|
196 | "collapsed": false, | |||
|
197 | "input": [ | |||
|
198 | "measure_all_oneshot(iter2)" | |||
|
199 | ], | |||
123 | "language": "python", |
|
200 | "language": "python", | |
124 | "outputs": [ |
|
201 | "outputs": [ | |
125 | { |
|
202 | { | |
|
203 | "latex": [ | |||
|
204 | "$${\\left|001\\right\\rangle }$$" | |||
|
205 | ], | |||
126 | "output_type": "pyout", |
|
206 | "output_type": "pyout", | |
127 | "latex": "$${\\left|001\\right\\rangle }$$", |
|
|||
128 | "prompt_number": 9, |
|
|||
129 | "png": "iVBORw0KGgoAAAANSUhEUgAAACkAAAATCAYAAAANgSQ9AAAABHNCSVQICAgIfAhkiAAAAahJREFU\nSInt1rtrFUEcxfEPQeMr6DXiC3yksFHRRiQoiHVCKiuxyh9gYyMWVhaCooKttZXYiEZQ0yhib7AR\ng5GA+CgUITe+IFrMBMa9e/fO3NZ8YZjZ8zu7e3Z3dnZZoYgL3QqrkvEZPMV7tHAdbXzBWtzC28r+\nub5lNuIJTmOuUmtjGz43XckkRuJ4GlcrtVdYX9kn1zeIE3iOP9hXc/4tONcUMA05Gg+0P6mtw3dc\nTrRcXwv3hTt+ryEkXMJATsi7mK+pP8JMsp3rS7nYI+RxjFfFutRH8KZGn8Uh4bGU+Ep4EYP2DLkd\nCzV6O/Y7Cn2lzGNvKlRDbhLmVVsny1qrwNcPDzDRFPI3lmKrsjr2SwW+fpjAVFPIRd3XuA2x/1Dg\n64cRvEuFujk5g801+lDsPxb6SjgmvDz/0C3k7hr9qPDm/ij0lTCGhzkhX+IA9iTaVhzGtT58uQzj\nqx5zeVKYD4N4hptJ7bzwTV+TaLm+lBvCYt6xFuKssKx1kP5gLOJXbKeET9ttfMMunMTPxJ/rI/xU\n7MTBuP0Yr3EHV6I2hE9dLm6F/4e/u+tyeF0qLvsAAAAASUVORK5CYII=\n", |
|
207 | "png": "iVBORw0KGgoAAAANSUhEUgAAACkAAAATCAYAAAANgSQ9AAAABHNCSVQICAgIfAhkiAAAAahJREFU\nSInt1rtrFUEcxfEPQeMr6DXiC3yksFHRRiQoiHVCKiuxyh9gYyMWVhaCooKttZXYiEZQ0yhib7AR\ng5GA+CgUITe+IFrMBMa9e/fO3NZ8YZjZ8zu7e3Z3dnZZoYgL3QqrkvEZPMV7tHAdbXzBWtzC28r+\nub5lNuIJTmOuUmtjGz43XckkRuJ4GlcrtVdYX9kn1zeIE3iOP9hXc/4tONcUMA05Gg+0P6mtw3dc\nTrRcXwv3hTt+ryEkXMJATsi7mK+pP8JMsp3rS7nYI+RxjFfFutRH8KZGn8Uh4bGU+Ep4EYP2DLkd\nCzV6O/Y7Cn2lzGNvKlRDbhLmVVsny1qrwNcPDzDRFPI3lmKrsjr2SwW+fpjAVFPIRd3XuA2x/1Dg\n64cRvEuFujk5g801+lDsPxb6SjgmvDz/0C3k7hr9qPDm/ij0lTCGhzkhX+IA9iTaVhzGtT58uQzj\nqx5zeVKYD4N4hptJ7bzwTV+TaLm+lBvCYt6xFuKssKx1kP5gLOJXbKeET9ttfMMunMTPxJ/rI/xU\n7MTBuP0Yr3EHV6I2hE9dLm6F/4e/u+tyeF0qLvsAAAAASUVORK5CYII=\n", | |
130 |
" |
|
208 | "prompt_number": 9, | |
|
209 | "text": [ | |||
|
210 | "\u2758001\u27e9" | |||
|
211 | ] | |||
131 | } |
|
212 | } | |
132 | ], |
|
213 | ], | |
133 |
" |
|
214 | "prompt_number": 9 | |
134 | "prompt_number": 9, |
|
|||
135 | "input": "measure_all_oneshot(iter2)\n" |
|
|||
136 | } |
|
215 | } | |
137 | ] |
|
216 | ] | |
138 | } |
|
217 | } |
@@ -1,268 +1,516 b'' | |||||
1 | { |
|
1 | { | |
2 | "nbformat": 2, |
|
|||
3 | "metadata": { |
|
2 | "metadata": { | |
4 | "name": "qerror" |
|
3 | "name": "qerror" | |
5 | }, |
|
4 | }, | |
|
5 | "nbformat": 2, | |||
6 | "worksheets": [ |
|
6 | "worksheets": [ | |
7 | { |
|
7 | { | |
8 | "cells": [ |
|
8 | "cells": [ | |
9 | { |
|
9 | { | |
10 | "source": "<h1>Quantum Error Correction</h1>", |
|
10 | "cell_type": "markdown", | |
11 |
" |
|
11 | "source": [ | |
|
12 | "<h1>Quantum Error Correction</h1>" | |||
|
13 | ] | |||
12 | }, |
|
14 | }, | |
13 | { |
|
15 | { | |
14 | "cell_type": "code", |
|
16 | "cell_type": "code", | |
|
17 | "collapsed": true, | |||
|
18 | "input": [ | |||
|
19 | "%load_ext sympyprinting" | |||
|
20 | ], | |||
15 | "language": "python", |
|
21 | "language": "python", | |
16 | "outputs": [], |
|
22 | "outputs": [], | |
17 |
" |
|
23 | "prompt_number": 1 | |
18 | "prompt_number": 1, |
|
|||
19 | "input": "%load_ext sympyprinting" |
|
|||
20 | }, |
|
24 | }, | |
21 | { |
|
25 | { | |
22 | "cell_type": "code", |
|
26 | "cell_type": "code", | |
|
27 | "collapsed": true, | |||
|
28 | "input": [ | |||
|
29 | "from sympy import sqrt, symbols, Rational", | |||
|
30 | "from sympy import expand, Eq, Symbol, simplify, exp, sin", | |||
|
31 | "from sympy.physics.quantum import *", | |||
|
32 | "from sympy.physics.quantum.qubit import *", | |||
|
33 | "from sympy.physics.quantum.gate import *", | |||
|
34 | "from sympy.physics.quantum.grover import *", | |||
|
35 | "from sympy.physics.quantum.qft import QFT, IQFT, Fourier", | |||
|
36 | "from sympy.physics.quantum.circuitplot import circuit_plot" | |||
|
37 | ], | |||
23 | "language": "python", |
|
38 | "language": "python", | |
24 | "outputs": [], |
|
39 | "outputs": [], | |
25 |
" |
|
40 | "prompt_number": 2 | |
26 | "prompt_number": 2, |
|
|||
27 | "input": "from sympy import sqrt, symbols, Rational\nfrom sympy import expand, Eq, Symbol, simplify, exp, sin\nfrom sympy.physics.quantum import *\nfrom sympy.physics.quantum.qubit import *\nfrom sympy.physics.quantum.gate import *\nfrom sympy.physics.quantum.grover import *\nfrom sympy.physics.quantum.qft import QFT, IQFT, Fourier\nfrom sympy.physics.quantum.circuitplot import circuit_plot" |
|
|||
28 | }, |
|
41 | }, | |
29 | { |
|
42 | { | |
30 |
" |
|
43 | "cell_type": "markdown", | |
31 |
" |
|
44 | "source": [ | |
|
45 | "<h2>5 qubit code</h2>" | |||
|
46 | ] | |||
32 | }, |
|
47 | }, | |
33 | { |
|
48 | { | |
34 | "cell_type": "code", |
|
49 | "cell_type": "code", | |
|
50 | "collapsed": false, | |||
|
51 | "input": [ | |||
|
52 | "M0 = Z(1)*X(2)*X(3)*Z(4); M0" | |||
|
53 | ], | |||
35 | "language": "python", |
|
54 | "language": "python", | |
36 | "outputs": [ |
|
55 | "outputs": [ | |
37 | { |
|
56 | { | |
|
57 | "latex": [ | |||
|
58 | "$$Z_{1} X_{2} X_{3} Z_{4}$$" | |||
|
59 | ], | |||
38 | "output_type": "pyout", |
|
60 | "output_type": "pyout", | |
39 | "latex": "$$Z_{1} X_{2} X_{3} Z_{4}$$", |
|
|||
40 | "prompt_number": 3, |
|
|||
41 | "png": "iVBORw0KGgoAAAANSUhEUgAAAFsAAAAYCAYAAACV+oFbAAAABHNCSVQICAgIfAhkiAAAA2NJREFU\naIHt2EmIHFUcx/FPktHQCS5oSGA0KoILIsaLmIOGOC4MMuA2CCYwGJfgwRUdRnBFFMlN9BAvBiFR\nBBcUPQREXHADMYgoKBIVnShCoqjEZZw4Hv41M9Xd1Rm76lWL0D8o6Fev6vte/+ot//+jr/9cKzGF\nGfyFL/AqdmbXvqzuin/BGsOu7PkZ/I6ncvUX46es7m98jnVd9LVufkovCrUJf+IWHNJSdykO4NEu\nmQ9mnbqvoG6L+AODXTJ7wa/DiyY9j5GC+2fjN7yExV0yV2Man7XcX4etJXi94tfhxZwOxRsF90/E\nD/gAy0qyXxajb31WPkNM+YGSvLr5dXoBjsOFLfeOEiPma6yqwB4RZjyDE/CCip2tmV+nF4VairfE\nJnNaRdYSfCPWwFdwdEVer/kpvWjTIjwtduOhRMx7xOi7KxGvV/w6vGjSw6LjY4l4A9guOrxb/IGU\nqpOf2osmbVYcSjWU/7JbcS6ezdjDpXvXW34dXsxpWATwTxbUXYPLSjAfwiXZ7/NF518s07ke8+vw\nYk5n4he8pj2Ih7exPFfegBsXYN6K63PlRSKTm8YxB3lvCPfiETyGwxLxB7Exe2cbRjtwu/ViVsux\nowNzTsdiDz7FEQX1G0QsC2vFtPoEdx+EuVHxZnW7GH33d3jvFIznyo/jzUT87eIDwhqRxq9peaYb\nL1q1RXty1aTD8TG+x/EtdYO4M+vUdS11OxSbvTRr9KMO7Q1mvMns2VZdi2/Nb3IXCPNWJuCfLj4m\nrNCcCFHeC7gIV1vA7G1Zo5N4P7t24WfzhzxT2gP5VrMbeA9/ZO8cEOcWeY2KeHiW+51IQPI6UnNC\ncRX2i1GWgj+rMbyjeZko68UK3IBTLWB2WXUa2Sm1GO/ipoTM1cKYndJlghMi/Pxfm/0A7qiJvRZf\naV8uutUoTsp+F5q9pGIDcDn2ijS2Dm0SS8ITYpoSoVhZNcQs2SPOpifFRj+N1ytwx8V+co6Ios4S\n/n6JXytwm1TnyB7RfNA/ofrB1YCIoGY3yFViDb6yIjevYYmXkZNxmzj9+hA3m48UUmi9GMEzuWt3\nIvaQOEPZLMK3CelS+/PwnNjMx+UOw6o00NAef+5TbYrntUyEYHlN4cdEfCL52J+QR3jSyJX3iiWq\nr7766quq/gHxxxJqg1cEfAAAAABJRU5ErkJggg==\n", |
|
61 | "png": "iVBORw0KGgoAAAANSUhEUgAAAFsAAAAYCAYAAACV+oFbAAAABHNCSVQICAgIfAhkiAAAA2NJREFU\naIHt2EmIHFUcx/FPktHQCS5oSGA0KoILIsaLmIOGOC4MMuA2CCYwGJfgwRUdRnBFFMlN9BAvBiFR\nBBcUPQREXHADMYgoKBIVnShCoqjEZZw4Hv41M9Xd1Rm76lWL0D8o6Fev6vte/+ot//+jr/9cKzGF\nGfyFL/AqdmbXvqzuin/BGsOu7PkZ/I6ncvUX46es7m98jnVd9LVufkovCrUJf+IWHNJSdykO4NEu\nmQ9mnbqvoG6L+AODXTJ7wa/DiyY9j5GC+2fjN7yExV0yV2Man7XcX4etJXi94tfhxZwOxRsF90/E\nD/gAy0qyXxajb31WPkNM+YGSvLr5dXoBjsOFLfeOEiPma6yqwB4RZjyDE/CCip2tmV+nF4VairfE\nJnNaRdYSfCPWwFdwdEVer/kpvWjTIjwtduOhRMx7xOi7KxGvV/w6vGjSw6LjY4l4A9guOrxb/IGU\nqpOf2osmbVYcSjWU/7JbcS6ezdjDpXvXW34dXsxpWATwTxbUXYPLSjAfwiXZ7/NF518s07ke8+vw\nYk5n4he8pj2Ih7exPFfegBsXYN6K63PlRSKTm8YxB3lvCPfiETyGwxLxB7Exe2cbRjtwu/ViVsux\nowNzTsdiDz7FEQX1G0QsC2vFtPoEdx+EuVHxZnW7GH33d3jvFIznyo/jzUT87eIDwhqRxq9peaYb\nL1q1RXty1aTD8TG+x/EtdYO4M+vUdS11OxSbvTRr9KMO7Q1mvMns2VZdi2/Nb3IXCPNWJuCfLj4m\nrNCcCFHeC7gIV1vA7G1Zo5N4P7t24WfzhzxT2gP5VrMbeA9/ZO8cEOcWeY2KeHiW+51IQPI6UnNC\ncRX2i1GWgj+rMbyjeZko68UK3IBTLWB2WXUa2Sm1GO/ipoTM1cKYndJlghMi/Pxfm/0A7qiJvRZf\naV8uutUoTsp+F5q9pGIDcDn2ijS2Dm0SS8ITYpoSoVhZNcQs2SPOpifFRj+N1ytwx8V+co6Ios4S\n/n6JXytwm1TnyB7RfNA/ofrB1YCIoGY3yFViDb6yIjevYYmXkZNxmzj9+hA3m48UUmi9GMEzuWt3\nIvaQOEPZLMK3CelS+/PwnNjMx+UOw6o00NAef+5TbYrntUyEYHlN4cdEfCL52J+QR3jSyJX3iiWq\nr7766quq/gHxxxJqg1cEfAAAAABJRU5ErkJggg==\n", | |
42 | "text": "Z \u22c5X \u22c5X \u22c5Z \n 1 2 3 4" |
|
62 | "prompt_number": 3, | |
|
63 | "text": [ | |||
|
64 | "Z \u22c5X \u22c5X \u22c5Z ", | |||
|
65 | " 1 2 3 4" | |||
|
66 | ] | |||
43 | } |
|
67 | } | |
44 | ], |
|
68 | ], | |
45 |
" |
|
69 | "prompt_number": 3 | |
46 | "prompt_number": 3, |
|
|||
47 | "input": "M0 = Z(1)*X(2)*X(3)*Z(4); M0\n" |
|
|||
48 | }, |
|
70 | }, | |
49 | { |
|
71 | { | |
50 | "cell_type": "code", |
|
72 | "cell_type": "code", | |
|
73 | "collapsed": false, | |||
|
74 | "input": [ | |||
|
75 | "M1 = Z(2)*X(3)*X(4)*Z(0); M1" | |||
|
76 | ], | |||
51 | "language": "python", |
|
77 | "language": "python", | |
52 | "outputs": [ |
|
78 | "outputs": [ | |
53 | { |
|
79 | { | |
|
80 | "latex": [ | |||
|
81 | "$$Z_{2} X_{3} X_{4} Z_{0}$$" | |||
|
82 | ], | |||
54 | "output_type": "pyout", |
|
83 | "output_type": "pyout", | |
55 | "latex": "$$Z_{2} X_{3} X_{4} Z_{0}$$", |
|
|||
56 | "prompt_number": 4, |
|
|||
57 | "png": "iVBORw0KGgoAAAANSUhEUgAAAFoAAAAYCAYAAAB6OOplAAAABHNCSVQICAgIfAhkiAAAA4lJREFU\naIHt2FuoFWUUB/Df1pPHki5UWmk3eisiohfxIa0siLCyi1AZdqEMIqmQsqioSJEoeqgHiSCjG0EY\nlRKBGSFFNzpEFygqjLIi6B5k6dHTw5o5e/bec07umW/vXvYfBuabNfOfNf9Z37fWtxjgf8Us7MQY\nduELbMar2fFzZrtoL7iWYSS7fww78EzBfg5+zWx78Dnmd+Frr/lTatGBq/APbsQ+bbbF2I2Hu+Rc\nnTl0d4ntfuH87C45+8HfCy3GsQGLSq7PxV94CVO65DwKo/is7fp8rKvA1y/+XmgBpuGNkuvH4Ue8\nj/2qEGOjiLrTsvFJYpoPVeTrNX8vtXA0zmq7drCIlK9xWFViERljeA7H4gU1HO0Dfy+16MAwtoqE\nckJNrqn4Rqx5m3BITb5+86fUogUNPCuy7hmJOO8SUXdHIr5+8fdCi3GsFU4vS8Q3hKeEs18J51Oi\nl/yptRjHcuXl0r6q/9F1OBXPZ9xnV/auv/y90ALh4C48UWK7GhdU4FyD87PzhcLxF6s412f+XmgB\nTsYf2KKzQIc3MQPTcYtYE9djySScN+HawrghdmijmDPJc6eLqXo7HjXxhqMqP/FTbpjAtrda5DgX\nK4Um10z20iPxHT7FgSX2y0StCvdqfsQR+AUXljyzVHliWimi7p4JfJmFP3F8Nl6P1xPyw0H4BHeW\n2LrRgqjZtxbGG3Fe2UsPwEf4Ace02WbjNtEryP/UxyKic2zS2mMYFlvfD8telnHuwfbs3nY0RF08\nLRuvbuOqyw+r8IBOobvVgkjCtxbGy/Fy2UsfFxGwHe9kxwh+12zY7NQs0ueKgj7Hu3hQJIi38Xf2\nzG4hUhEXi3o35/1ebC4mwwcielPxL8aJ2bPtQnerBbFLXFoYL8K3//FNXWOemGZJd0oZzsRjWqOl\nLubgiuy8TOgq2KY1MS4U6zvqN3JgJu7DArH/T43XRKI7BQ8l4GvgcjyZgKuIbSLSc8wQeQv1hd5f\nZNhL8aXO9awOLsFbmpuOV0R1cWhN3nkiea8Sa+0CUXtfV5N3RCTwHIeL5as2pgtn86bNVOW94Kq4\nUmvtulasmSlmYRFPS7N0LBHNrBwbRADWRr77Kh4rUhBnGBb18wohxGaRvFLietGFe0/MoDpo4BHc\nLAJwjUILoE4vYKaI4iJ+E9VASkwRou9IzEtM7xyj+CkB55BmNTTAAAMMUAf/AiT2FBaVsAtVAAAA\nAElFTkSuQmCC\n", |
|
84 | "png": "iVBORw0KGgoAAAANSUhEUgAAAFoAAAAYCAYAAAB6OOplAAAABHNCSVQICAgIfAhkiAAAA4lJREFU\naIHt2FuoFWUUB/Df1pPHki5UWmk3eisiohfxIa0siLCyi1AZdqEMIqmQsqioSJEoeqgHiSCjG0EY\nlRKBGSFFNzpEFygqjLIi6B5k6dHTw5o5e/bec07umW/vXvYfBuabNfOfNf9Z37fWtxjgf8Us7MQY\nduELbMar2fFzZrtoL7iWYSS7fww78EzBfg5+zWx78Dnmd+Frr/lTatGBq/APbsQ+bbbF2I2Hu+Rc\nnTl0d4ntfuH87C45+8HfCy3GsQGLSq7PxV94CVO65DwKo/is7fp8rKvA1y/+XmgBpuGNkuvH4Ue8\nj/2qEGOjiLrTsvFJYpoPVeTrNX8vtXA0zmq7drCIlK9xWFViERljeA7H4gU1HO0Dfy+16MAwtoqE\nckJNrqn4Rqx5m3BITb5+86fUogUNPCuy7hmJOO8SUXdHIr5+8fdCi3GsFU4vS8Q3hKeEs18J51Oi\nl/yptRjHcuXl0r6q/9F1OBXPZ9xnV/auv/y90ALh4C48UWK7GhdU4FyD87PzhcLxF6s412f+XmgB\nTsYf2KKzQIc3MQPTcYtYE9djySScN+HawrghdmijmDPJc6eLqXo7HjXxhqMqP/FTbpjAtrda5DgX\nK4Um10z20iPxHT7FgSX2y0StCvdqfsQR+AUXljyzVHliWimi7p4JfJmFP3F8Nl6P1xPyw0H4BHeW\n2LrRgqjZtxbGG3Fe2UsPwEf4Ace02WbjNtEryP/UxyKic2zS2mMYFlvfD8telnHuwfbs3nY0RF08\nLRuvbuOqyw+r8IBOobvVgkjCtxbGy/Fy2UsfFxGwHe9kxwh+12zY7NQs0ueKgj7Hu3hQJIi38Xf2\nzG4hUhEXi3o35/1ebC4mwwcielPxL8aJ2bPtQnerBbFLXFoYL8K3//FNXWOemGZJd0oZzsRjWqOl\nLubgiuy8TOgq2KY1MS4U6zvqN3JgJu7DArH/T43XRKI7BQ8l4GvgcjyZgKuIbSLSc8wQeQv1hd5f\nZNhL8aXO9awOLsFbmpuOV0R1cWhN3nkiea8Sa+0CUXtfV5N3RCTwHIeL5as2pgtn86bNVOW94Kq4\nUmvtulasmSlmYRFPS7N0LBHNrBwbRADWRr77Kh4rUhBnGBb18wohxGaRvFLietGFe0/MoDpo4BHc\nLAJwjUILoE4vYKaI4iJ+E9VASkwRou9IzEtM7xyj+CkB55BmNTTAAAMMUAf/AiT2FBaVsAtVAAAA\nAElFTkSuQmCC\n", | |
58 | "text": "Z \u22c5X \u22c5X \u22c5Z \n 2 3 4 0" |
|
85 | "prompt_number": 4, | |
|
86 | "text": [ | |||
|
87 | "Z \u22c5X \u22c5X \u22c5Z ", | |||
|
88 | " 2 3 4 0" | |||
|
89 | ] | |||
59 | } |
|
90 | } | |
60 | ], |
|
91 | ], | |
61 |
" |
|
92 | "prompt_number": 4 | |
62 | "prompt_number": 4, |
|
|||
63 | "input": "M1 = Z(2)*X(3)*X(4)*Z(0); M1\n" |
|
|||
64 | }, |
|
93 | }, | |
65 | { |
|
94 | { | |
66 | "cell_type": "code", |
|
95 | "cell_type": "code", | |
|
96 | "collapsed": false, | |||
|
97 | "input": [ | |||
|
98 | "M2 = Z(3)*X(4)*X(0)*Z(1); M2" | |||
|
99 | ], | |||
67 | "language": "python", |
|
100 | "language": "python", | |
68 | "outputs": [ |
|
101 | "outputs": [ | |
69 | { |
|
102 | { | |
|
103 | "latex": [ | |||
|
104 | "$$Z_{3} X_{4} X_{0} Z_{1}$$" | |||
|
105 | ], | |||
70 | "output_type": "pyout", |
|
106 | "output_type": "pyout", | |
71 | "latex": "$$Z_{3} X_{4} X_{0} Z_{1}$$", |
|
|||
72 | "prompt_number": 5, |
|
|||
73 | "png": "iVBORw0KGgoAAAANSUhEUgAAAFoAAAAYCAYAAAB6OOplAAAABHNCSVQICAgIfAhkiAAAA3RJREFU\naIHt2VtoHHUUx/FPTTSY1rTEeiHeSlEExUv1QVQMoggiXlEqXihaVPLmFalIUagifREUtPiiglQK\noiiKKCposSgIQQTBKqKUWC14odZ6aVrjw5nNTiazJjvzn9WH/GBh5/+f/e6Z3575nzP/ZUH/qY7E\nPkxhEl/hHbyVvX7K5q6dB2sNxrPzp/AHNufmL8Mv2dzf2I7RLmJtmp/Si1m6FX/hThxcmLsaB/Bk\nl8xHsoAeKpnbKIIf6ZLZC34TXkzrZVxeMn4OfsdrOKhL5nHYjy8K46PYVIHXK34TXoBD8H7J+Ers\nwicYrALG6yLrLsyOTxe3eX9FXtP8Jr1wPC4pjA2LTPkWR1UFi8yYwhaswCtqBNoDfpNezNIAtoqC\nckpNVh92iDXvDRxek9drfkovZmgRXhRV96JEzPUi6x5MxOsVvwkvpvWYCHpNIl4/XhDBfi2CT6km\n+am9mNYdytulQ1X/RTfhAryUsS+tHF1v+U14gQhwEs+XzK3FNRWYj+Kq7P3FIvBXqwTXY34TXoAz\n8SveM7tBhw+xGEtxg2jon8HYvzDvwu2540XiCW0/jplnXJtFBqXgHyYeQMbwOM7owJ2vF3mtwlMd\neNM6Ft/hc2FkUTeKXhU2aGfMsLioK0s+c5PywnSvyLqH5wpK/KCTWJKIv1E7MZbjGwwVzunGi9b5\n6/GmeDTvqCF8hu9xQmFuBOvEXsFt2dgKnJ07Zw9uyR0PZBf0aYfvG8l4E9m5nbQSN+M3M42uyh/E\nXjMfx7dide64Wy/yGjOH0c+KDJjAx9lrHLu1N2z2KW/SR/Ellonb+yP8mX3mgNiHyOs60e+2uDvF\nw0VRfXgge98yui7/ZGFSviPZIrqKFF7MaXQVDYssfhcnpYaLjGldTDGjq+p8kdF5PYenE7DpYHTd\njZyfRTVeiw9EIUilVSKjdiVkEuvxVGFssbiWxlTH6Le1K/0O/IC7a0fU1mpR9deJYjeAe3BWTe5O\nUU/y3cLR4hr+l9qG87L3/aINur+h71ousjDF0kFsbba2PodEkpR1FlVUunT01QCO4wqciPvE0rFB\nFJqUOlX0vOeKH3QCP9ZkbhMxLxFt2hOiy6ijpeIOvx6niWK7V7b0pdgLGBR/HxXXvVQaNLPH3Z19\nXwoNiJ2+FOrDEYWxPWYX3gUtaEELmq/+AS2CEfeikOXjAAAAAElFTkSuQmCC\n", |
|
107 | "png": "iVBORw0KGgoAAAANSUhEUgAAAFoAAAAYCAYAAAB6OOplAAAABHNCSVQICAgIfAhkiAAAA3RJREFU\naIHt2VtoHHUUx/FPTTSY1rTEeiHeSlEExUv1QVQMoggiXlEqXihaVPLmFalIUagifREUtPiiglQK\noiiKKCposSgIQQTBKqKUWC14odZ6aVrjw5nNTiazJjvzn9WH/GBh5/+f/e6Z3575nzP/ZUH/qY7E\nPkxhEl/hHbyVvX7K5q6dB2sNxrPzp/AHNufmL8Mv2dzf2I7RLmJtmp/Si1m6FX/hThxcmLsaB/Bk\nl8xHsoAeKpnbKIIf6ZLZC34TXkzrZVxeMn4OfsdrOKhL5nHYjy8K46PYVIHXK34TXoBD8H7J+Ers\nwicYrALG6yLrLsyOTxe3eX9FXtP8Jr1wPC4pjA2LTPkWR1UFi8yYwhaswCtqBNoDfpNezNIAtoqC\nckpNVh92iDXvDRxek9drfkovZmgRXhRV96JEzPUi6x5MxOsVvwkvpvWYCHpNIl4/XhDBfi2CT6km\n+am9mNYdytulQ1X/RTfhAryUsS+tHF1v+U14gQhwEs+XzK3FNRWYj+Kq7P3FIvBXqwTXY34TXoAz\n8SveM7tBhw+xGEtxg2jon8HYvzDvwu2540XiCW0/jplnXJtFBqXgHyYeQMbwOM7owJ2vF3mtwlMd\neNM6Ft/hc2FkUTeKXhU2aGfMsLioK0s+c5PywnSvyLqH5wpK/KCTWJKIv1E7MZbjGwwVzunGi9b5\n6/GmeDTvqCF8hu9xQmFuBOvEXsFt2dgKnJ07Zw9uyR0PZBf0aYfvG8l4E9m5nbQSN+M3M42uyh/E\nXjMfx7dide64Wy/yGjOH0c+KDJjAx9lrHLu1N2z2KW/SR/Ellonb+yP8mX3mgNiHyOs60e+2uDvF\nw0VRfXgge98yui7/ZGFSviPZIrqKFF7MaXQVDYssfhcnpYaLjGldTDGjq+p8kdF5PYenE7DpYHTd\njZyfRTVeiw9EIUilVSKjdiVkEuvxVGFssbiWxlTH6Le1K/0O/IC7a0fU1mpR9deJYjeAe3BWTe5O\nUU/y3cLR4hr+l9qG87L3/aINur+h71ousjDF0kFsbba2PodEkpR1FlVUunT01QCO4wqciPvE0rFB\nFJqUOlX0vOeKH3QCP9ZkbhMxLxFt2hOiy6ijpeIOvx6niWK7V7b0pdgLGBR/HxXXvVQaNLPH3Z19\nXwoNiJ2+FOrDEYWxPWYX3gUtaEELmq/+AS2CEfeikOXjAAAAAElFTkSuQmCC\n", | |
74 | "text": "Z \u22c5X \u22c5X \u22c5Z \n 3 4 0 1" |
|
108 | "prompt_number": 5, | |
|
109 | "text": [ | |||
|
110 | "Z \u22c5X \u22c5X \u22c5Z ", | |||
|
111 | " 3 4 0 1" | |||
|
112 | ] | |||
75 | } |
|
113 | } | |
76 | ], |
|
114 | ], | |
77 |
" |
|
115 | "prompt_number": 5 | |
78 | "prompt_number": 5, |
|
|||
79 | "input": "M2 = Z(3)*X(4)*X(0)*Z(1); M2\n" |
|
|||
80 | }, |
|
116 | }, | |
81 | { |
|
117 | { | |
82 | "cell_type": "code", |
|
118 | "cell_type": "code", | |
|
119 | "collapsed": false, | |||
|
120 | "input": [ | |||
|
121 | "M3 = Z(4)*X(0)*X(1)*Z(2); M3" | |||
|
122 | ], | |||
83 | "language": "python", |
|
123 | "language": "python", | |
84 | "outputs": [ |
|
124 | "outputs": [ | |
85 | { |
|
125 | { | |
|
126 | "latex": [ | |||
|
127 | "$$Z_{4} X_{0} X_{1} Z_{2}$$" | |||
|
128 | ], | |||
86 | "output_type": "pyout", |
|
129 | "output_type": "pyout", | |
87 | "latex": "$$Z_{4} X_{0} X_{1} Z_{2}$$", |
|
|||
88 | "prompt_number": 6, |
|
|||
89 | "png": "iVBORw0KGgoAAAANSUhEUgAAAFoAAAAYCAYAAAB6OOplAAAABHNCSVQICAgIfAhkiAAAA2BJREFU\naIHt2F2oZlMYB/DfmDOOYTgiTMfHwZSLuZA0kguTSA3JR+PK6BTNiJqcKWEm5IxGcjEpNwdJSoSJ\niKIQTcqUmjQ1RUO+Bo0MIV/z4bh41nvOPu/Z++Tde+3XhfOvXXutZ6//evZ/P3utZz3M4z/FyTiA\nSRzEHryFN9O1P9lW/wuuUexMz0/iDzxbsF+Jn5Ltb3yClT342jZ/Ti1m4Sb8hTEs6rJdi8N4tEfO\nLcmh+0tsDwvnh3vk7Ad/G1pM4SVcVdJ/IX7HqziiR87TcQgfd/WvxEQNvn7xt6EFOBLvlfSfjX34\nEEfXIcZrIuouSe1zxW8+UJOvbf42tXAGLu/qO0FEyhc4pS6xiIxJPI8z8bIGjvaBv00tZmEQ28WG\nsrwh10J8Jda813FiQ75+8+fUYgYW4Dmx616aifM+EXX3ZOLrF38bWkzhIeH0aCa+ATwjnP1MOJ8T\nbfLn1mIKtyhPlxar/0UncDG2Je5Vtb3rL38bWiAcPIinS2w347oanA/imnR/mXD8lTrO9Zm/DS3A\nefgF75idoMP7OKarb7l40SpswLpCe4E4oR3CqXOMW4FNafxm1flqXf47zS1Ur1qM4l48nvyuzK9P\nwzfYjaES+w0iVy1iEd7FkxWca5RvTHeIqBuvGHcsPsVRqT2OBzLxr0r9X+PGivl71WI1rkj3A9iB\nrWXEx2EXvsNIl20YG0WtYG2XbT3uNlvoQXH0/ajiRYYT3970bDfG8GKhfb548Vz8RESWCV1Hiwlx\nSuxgI74sm/QpEQF7xdfYIYo1P5su2BwwM0m/SKyHa00LvRgf4M805rCoQxRxvch3O7zfisNFERN4\npNBemp4dycRPtdB1tDgLFxTaW9O4xliC29N9Uehc2Gbmuj8kXvCcjHNUCd0Ux4u/YapK2KSQsw5P\nNPVoDnwuhO2gs+n82OKcObAQj4mMZHuns67QIyLT2CDWoqtFAeeuZj7OwE5RC+5gqaiW/ZBxjjYw\nLvaON8xe3xtji/xLxzJRvOkEwyYVu3gD5F46bhNrNZFibs7IbY2Ivj3iBJUT60V03CqK67mKRCtE\nprQfb6d5mlYRx0xvlJ3rhY4xRy3gJLEuSeT7MnB2Y1BU5HJhSbqK+F6kbHUxJDKuIn7Drw045zGP\nefy/8Q8KoQ22z/3wywAAAABJRU5ErkJggg==\n", |
|
130 | "png": "iVBORw0KGgoAAAANSUhEUgAAAFoAAAAYCAYAAAB6OOplAAAABHNCSVQICAgIfAhkiAAAA2BJREFU\naIHt2F2oZlMYB/DfmDOOYTgiTMfHwZSLuZA0kguTSA3JR+PK6BTNiJqcKWEm5IxGcjEpNwdJSoSJ\niKIQTcqUmjQ1RUO+Bo0MIV/z4bh41nvOPu/Z++Tde+3XhfOvXXutZ6//evZ/P3utZz3M4z/FyTiA\nSRzEHryFN9O1P9lW/wuuUexMz0/iDzxbsF+Jn5Ltb3yClT342jZ/Ti1m4Sb8hTEs6rJdi8N4tEfO\nLcmh+0tsDwvnh3vk7Ad/G1pM4SVcVdJ/IX7HqziiR87TcQgfd/WvxEQNvn7xt6EFOBLvlfSfjX34\nEEfXIcZrIuouSe1zxW8+UJOvbf42tXAGLu/qO0FEyhc4pS6xiIxJPI8z8bIGjvaBv00tZmEQ28WG\nsrwh10J8Jda813FiQ75+8+fUYgYW4Dmx616aifM+EXX3ZOLrF38bWkzhIeH0aCa+ATwjnP1MOJ8T\nbfLn1mIKtyhPlxar/0UncDG2Je5Vtb3rL38bWiAcPIinS2w347oanA/imnR/mXD8lTrO9Zm/DS3A\nefgF75idoMP7OKarb7l40SpswLpCe4E4oR3CqXOMW4FNafxm1flqXf47zS1Ur1qM4l48nvyuzK9P\nwzfYjaES+w0iVy1iEd7FkxWca5RvTHeIqBuvGHcsPsVRqT2OBzLxr0r9X+PGivl71WI1rkj3A9iB\nrWXEx2EXvsNIl20YG0WtYG2XbT3uNlvoQXH0/ajiRYYT3970bDfG8GKhfb548Vz8RESWCV1Hiwlx\nSuxgI74sm/QpEQF7xdfYIYo1P5su2BwwM0m/SKyHa00LvRgf4M805rCoQxRxvch3O7zfisNFERN4\npNBemp4dycRPtdB1tDgLFxTaW9O4xliC29N9Uehc2Gbmuj8kXvCcjHNUCd0Ux4u/YapK2KSQsw5P\nNPVoDnwuhO2gs+n82OKcObAQj4mMZHuns67QIyLT2CDWoqtFAeeuZj7OwE5RC+5gqaiW/ZBxjjYw\nLvaON8xe3xtji/xLxzJRvOkEwyYVu3gD5F46bhNrNZFibs7IbY2Ivj3iBJUT60V03CqK67mKRCtE\nprQfb6d5mlYRx0xvlJ3rhY4xRy3gJLEuSeT7MnB2Y1BU5HJhSbqK+F6kbHUxJDKuIn7Drw045zGP\nefy/8Q8KoQ22z/3wywAAAABJRU5ErkJggg==\n", | |
90 | "text": "Z \u22c5X \u22c5X \u22c5Z \n 4 0 1 2" |
|
131 | "prompt_number": 6, | |
|
132 | "text": [ | |||
|
133 | "Z \u22c5X \u22c5X \u22c5Z ", | |||
|
134 | " 4 0 1 2" | |||
|
135 | ] | |||
91 | } |
|
136 | } | |
92 | ], |
|
137 | ], | |
93 |
" |
|
138 | "prompt_number": 6 | |
94 | "prompt_number": 6, |
|
|||
95 | "input": "M3 = Z(4)*X(0)*X(1)*Z(2); M3\n" |
|
|||
96 | }, |
|
139 | }, | |
97 | { |
|
140 | { | |
98 | "source": "These operators should mutually commute.", |
|
141 | "cell_type": "markdown", | |
99 |
" |
|
142 | "source": [ | |
|
143 | "These operators should mutually commute." | |||
|
144 | ] | |||
100 | }, |
|
145 | }, | |
101 | { |
|
146 | { | |
102 | "cell_type": "code", |
|
147 | "cell_type": "code", | |
|
148 | "collapsed": false, | |||
|
149 | "input": [ | |||
|
150 | "gate_simp(Commutator(M0,M1).doit())" | |||
|
151 | ], | |||
103 | "language": "python", |
|
152 | "language": "python", | |
104 | "outputs": [ |
|
153 | "outputs": [ | |
105 | { |
|
154 | { | |
|
155 | "latex": [ | |||
|
156 | "$$0$$" | |||
|
157 | ], | |||
106 | "output_type": "pyout", |
|
158 | "output_type": "pyout", | |
107 | "latex": "$$0$$", |
|
|||
108 | "prompt_number": 7, |
|
|||
109 | "png": "iVBORw0KGgoAAAANSUhEUgAAAAwAAAASCAYAAABvqT8MAAAABHNCSVQICAgIfAhkiAAAAN1JREFU\nKJHN0i1LRFEQxvGf7i6LrGE3adCoUbAZBT+GzWATi9Vm22D3Q9gtZqNo8WXNgi9BUHBdUMO9F8bD\nlG1OOcwz8z9zeM4wZcwU+RKGeMQbOjjGawa3MMJu0I5whtkM2MYYvaCt4Ac7GXCJ80R/wGmTNKPa\nWMN9AoywWQILKgPeE+ADA3QjsBiKGQD9CIzr8zsBOrHWALf4SpqpXJvgJQIT3NRvLWMeTyp7/3zI\nFZaL5hbWcZ2NPlCtwFzQNuqbtzJggDvsBe0EF7GpXL5VHOKzznvYx3M24Z/EL9XoKBNI+V0xAAAA\nAElFTkSuQmCC\n", |
|
159 | "png": "iVBORw0KGgoAAAANSUhEUgAAAAwAAAASCAYAAABvqT8MAAAABHNCSVQICAgIfAhkiAAAAN1JREFU\nKJHN0i1LRFEQxvGf7i6LrGE3adCoUbAZBT+GzWATi9Vm22D3Q9gtZqNo8WXNgi9BUHBdUMO9F8bD\nlG1OOcwz8z9zeM4wZcwU+RKGeMQbOjjGawa3MMJu0I5whtkM2MYYvaCt4Ac7GXCJ80R/wGmTNKPa\nWMN9AoywWQILKgPeE+ADA3QjsBiKGQD9CIzr8zsBOrHWALf4SpqpXJvgJQIT3NRvLWMeTyp7/3zI\nFZaL5hbWcZ2NPlCtwFzQNuqbtzJggDvsBe0EF7GpXL5VHOKzznvYx3M24Z/EL9XoKBNI+V0xAAAA\nAElFTkSuQmCC\n", | |
110 |
" |
|
160 | "prompt_number": 7, | |
|
161 | "text": [ | |||
|
162 | "0" | |||
|
163 | ] | |||
111 | } |
|
164 | } | |
112 | ], |
|
165 | ], | |
113 |
" |
|
166 | "prompt_number": 7 | |
114 | "prompt_number": 7, |
|
|||
115 | "input": "gate_simp(Commutator(M0,M1).doit())\n" |
|
|||
116 | }, |
|
167 | }, | |
117 | { |
|
168 | { | |
118 |
" |
|
169 | "cell_type": "markdown", | |
119 |
" |
|
170 | "source": [ | |
|
171 | "And square to the identity." | |||
|
172 | ] | |||
120 | }, |
|
173 | }, | |
121 | { |
|
174 | { | |
122 | "cell_type": "code", |
|
175 | "cell_type": "code", | |
|
176 | "collapsed": false, | |||
|
177 | "input": [ | |||
|
178 | "for o in [M0,M1,M2,M3]:", | |||
|
179 | " display(gate_simp(o*o))" | |||
|
180 | ], | |||
123 | "language": "python", |
|
181 | "language": "python", | |
124 | "outputs": [ |
|
182 | "outputs": [ | |
125 | { |
|
183 | { | |
|
184 | "latex": [ | |||
|
185 | "$$1$$" | |||
|
186 | ], | |||
126 | "output_type": "display_data", |
|
187 | "output_type": "display_data", | |
127 | "latex": "$$1$$", |
|
|||
128 | "png": "iVBORw0KGgoAAAANSUhEUgAAAAsAAAASCAYAAACNdSR1AAAABHNCSVQICAgIfAhkiAAAAGBJREFU\nKJHt0bENQGAQhuEnWp1CZQFbqExhOI1BtEbABgoj/AoKkcgfCZ23uUvuvcuXHC9QYI5JKWqMCNdh\ncupLdKiwPInRxi5H+eXX5eyo+d1ijh6T/XsBKwY0TxJ8zAZBcgy8TZqNTgAAAABJRU5ErkJggg==\n", |
|
188 | "png": "iVBORw0KGgoAAAANSUhEUgAAAAsAAAASCAYAAACNdSR1AAAABHNCSVQICAgIfAhkiAAAAGBJREFU\nKJHt0bENQGAQhuEnWp1CZQFbqExhOI1BtEbABgoj/AoKkcgfCZ23uUvuvcuXHC9QYI5JKWqMCNdh\ncupLdKiwPInRxi5H+eXX5eyo+d1ijh6T/XsBKwY0TxJ8zAZBcgy8TZqNTgAAAABJRU5ErkJggg==\n", | |
129 |
"text": |
|
189 | "text": [ | |
|
190 | "1" | |||
|
191 | ] | |||
130 | }, |
|
192 | }, | |
131 | { |
|
193 | { | |
|
194 | "latex": [ | |||
|
195 | "$$1$$" | |||
|
196 | ], | |||
132 | "output_type": "display_data", |
|
197 | "output_type": "display_data", | |
133 | "latex": "$$1$$", |
|
|||
134 | "png": "iVBORw0KGgoAAAANSUhEUgAAAAsAAAASCAYAAACNdSR1AAAABHNCSVQICAgIfAhkiAAAAGBJREFU\nKJHt0bENQGAQhuEnWp1CZQFbqExhOI1BtEbABgoj/AoKkcgfCZ23uUvuvcuXHC9QYI5JKWqMCNdh\ncupLdKiwPInRxi5H+eXX5eyo+d1ijh6T/XsBKwY0TxJ8zAZBcgy8TZqNTgAAAABJRU5ErkJggg==\n", |
|
198 | "png": "iVBORw0KGgoAAAANSUhEUgAAAAsAAAASCAYAAACNdSR1AAAABHNCSVQICAgIfAhkiAAAAGBJREFU\nKJHt0bENQGAQhuEnWp1CZQFbqExhOI1BtEbABgoj/AoKkcgfCZ23uUvuvcuXHC9QYI5JKWqMCNdh\ncupLdKiwPInRxi5H+eXX5eyo+d1ijh6T/XsBKwY0TxJ8zAZBcgy8TZqNTgAAAABJRU5ErkJggg==\n", | |
135 |
"text": |
|
199 | "text": [ | |
|
200 | "1" | |||
|
201 | ] | |||
136 | }, |
|
202 | }, | |
137 | { |
|
203 | { | |
|
204 | "latex": [ | |||
|
205 | "$$1$$" | |||
|
206 | ], | |||
138 | "output_type": "display_data", |
|
207 | "output_type": "display_data", | |
139 | "latex": "$$1$$", |
|
|||
140 | "png": "iVBORw0KGgoAAAANSUhEUgAAAAsAAAASCAYAAACNdSR1AAAABHNCSVQICAgIfAhkiAAAAGBJREFU\nKJHt0bENQGAQhuEnWp1CZQFbqExhOI1BtEbABgoj/AoKkcgfCZ23uUvuvcuXHC9QYI5JKWqMCNdh\ncupLdKiwPInRxi5H+eXX5eyo+d1ijh6T/XsBKwY0TxJ8zAZBcgy8TZqNTgAAAABJRU5ErkJggg==\n", |
|
208 | "png": "iVBORw0KGgoAAAANSUhEUgAAAAsAAAASCAYAAACNdSR1AAAABHNCSVQICAgIfAhkiAAAAGBJREFU\nKJHt0bENQGAQhuEnWp1CZQFbqExhOI1BtEbABgoj/AoKkcgfCZ23uUvuvcuXHC9QYI5JKWqMCNdh\ncupLdKiwPInRxi5H+eXX5eyo+d1ijh6T/XsBKwY0TxJ8zAZBcgy8TZqNTgAAAABJRU5ErkJggg==\n", | |
141 |
"text": |
|
209 | "text": [ | |
|
210 | "1" | |||
|
211 | ] | |||
142 | }, |
|
212 | }, | |
143 | { |
|
213 | { | |
|
214 | "latex": [ | |||
|
215 | "$$1$$" | |||
|
216 | ], | |||
144 | "output_type": "display_data", |
|
217 | "output_type": "display_data", | |
145 | "latex": "$$1$$", |
|
|||
146 | "png": "iVBORw0KGgoAAAANSUhEUgAAAAsAAAASCAYAAACNdSR1AAAABHNCSVQICAgIfAhkiAAAAGBJREFU\nKJHt0bENQGAQhuEnWp1CZQFbqExhOI1BtEbABgoj/AoKkcgfCZ23uUvuvcuXHC9QYI5JKWqMCNdh\ncupLdKiwPInRxi5H+eXX5eyo+d1ijh6T/XsBKwY0TxJ8zAZBcgy8TZqNTgAAAABJRU5ErkJggg==\n", |
|
218 | "png": "iVBORw0KGgoAAAANSUhEUgAAAAsAAAASCAYAAACNdSR1AAAABHNCSVQICAgIfAhkiAAAAGBJREFU\nKJHt0bENQGAQhuEnWp1CZQFbqExhOI1BtEbABgoj/AoKkcgfCZ23uUvuvcuXHC9QYI5JKWqMCNdh\ncupLdKiwPInRxi5H+eXX5eyo+d1ijh6T/XsBKwY0TxJ8zAZBcgy8TZqNTgAAAABJRU5ErkJggg==\n", | |
147 |
"text": |
|
219 | "text": [ | |
|
220 | "1" | |||
|
221 | ] | |||
148 | } |
|
222 | } | |
149 | ], |
|
223 | ], | |
150 |
" |
|
224 | "prompt_number": 8 | |
151 | "prompt_number": 8, |
|
|||
152 | "input": "for o in [M0,M1,M2,M3]:\n display(gate_simp(o*o))\n" |
|
|||
153 | }, |
|
225 | }, | |
154 | { |
|
226 | { | |
155 |
" |
|
227 | "cell_type": "markdown", | |
156 |
" |
|
228 | "source": [ | |
|
229 | "<h2>Codewords</h2>" | |||
|
230 | ] | |||
157 | }, |
|
231 | }, | |
158 | { |
|
232 | { | |
159 | "cell_type": "code", |
|
233 | "cell_type": "code", | |
|
234 | "collapsed": false, | |||
|
235 | "input": [ | |||
|
236 | "zero = Rational(1,4)*(1+M0)*(1+M1)*(1+M2)*(1+M3)*IntQubit(0, 5); zero" | |||
|
237 | ], | |||
160 | "language": "python", |
|
238 | "language": "python", | |
161 | "outputs": [ |
|
239 | "outputs": [ | |
162 | { |
|
240 | { | |
|
241 | "latex": [ | |||
|
242 | "$$\\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 }$$" | |||
|
243 | ], | |||
163 | "output_type": "pyout", |
|
244 | "output_type": "pyout", | |
164 | "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 }$$", |
|
|||
165 | "prompt_number": 9, |
|
|||
166 | "png": "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\nhBCC/wPS77xfXVkDTQAAAABJRU5ErkJggg==\n", |
|
245 | "png": "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\nhBCC/wPS77xfXVkDTQAAAABJRU5ErkJggg==\n", | |
167 | "text": "\u239b1 + Z \u22c5X \u22c5X \u22c5Z \u239e\u22c5\u239b1 + Z \u22c5X \u22c5X \u22c5Z \u239e\u22c5\u239b1 + Z \u22c5X \u22c5X \u22c5Z \u239e\u22c5\u239b1 + Z \u22c5X \u22c5X \u22c5Z \u239e\u22c5\u27580\u27e9\n\u239d 1 2 3 4\u23a0 \u239d 2 3 4 0\u23a0 \u239d 3 4 0 1\u23a0 \u239d 4 0 1 2\u23a0 \n\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n 4" |
|
246 | "prompt_number": 9, | |
|
247 | "text": [ | |||
|
248 | "\u239b1 + Z \u22c5X \u22c5X \u22c5Z \u239e\u22c5\u239b1 + Z \u22c5X \u22c5X \u22c5Z \u239e\u22c5\u239b1 + Z \u22c5X \u22c5X \u22c5Z \u239e\u22c5\u239b1 + Z \u22c5X \u22c5X \u22c5Z \u239e\u22c5\u27580\u27e9", | |||
|
249 | "\u239d 1 2 3 4\u23a0 \u239d 2 3 4 0\u23a0 \u239d 3 4 0 1\u23a0 \u239d 4 0 1 2\u23a0 ", | |||
|
250 | "\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500", | |||
|
251 | " 4" | |||
|
252 | ] | |||
168 | } |
|
253 | } | |
169 | ], |
|
254 | ], | |
170 |
" |
|
255 | "prompt_number": 9 | |
171 | "prompt_number": 9, |
|
|||
172 | "input": "zero = Rational(1,4)*(1+M0)*(1+M1)*(1+M2)*(1+M3)*IntQubit(0, 5); zero\n" |
|
|||
173 | }, |
|
256 | }, | |
174 | { |
|
257 | { | |
175 | "cell_type": "code", |
|
258 | "cell_type": "code", | |
|
259 | "collapsed": false, | |||
|
260 | "input": [ | |||
|
261 | "qapply(4*zero)" | |||
|
262 | ], | |||
176 | "language": "python", |
|
263 | "language": "python", | |
177 | "outputs": [ |
|
264 | "outputs": [ | |
178 | { |
|
265 | { | |
|
266 | "latex": [ | |||
|
267 | "$${\\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 }$$" | |||
|
268 | ], | |||
179 | "output_type": "pyout", |
|
269 | "output_type": "pyout", | |
180 | "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 }$$", |
|
|||
181 | "prompt_number": 10, |
|
|||
182 | "png": "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\n", |
|
270 | "png": "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\n", | |
183 | "text": "\u27580\u27e9 + \u27583\u27e9 - \u27585\u27e9 + \u27586\u27e9 - \u27589\u27e9 - \u275810\u27e9 + \u275812\u27e9 - \u275815\u27e9 + \u275817\u27e9 - \u275818\u27e9 - \u275820\u27e9 - \u275823\u27e9 +\n \u275824\u27e9 - \u275827\u27e9 - \u275829\u27e9 - \u275830\u27e9" |
|
271 | "prompt_number": 10, | |
|
272 | "text": [ | |||
|
273 | "\u27580\u27e9 + \u27583\u27e9 - \u27585\u27e9 + \u27586\u27e9 - \u27589\u27e9 - \u275810\u27e9 + \u275812\u27e9 - \u275815\u27e9 + \u275817\u27e9 - \u275818\u27e9 - \u275820\u27e9 - \u275823\u27e9 +", | |||
|
274 | " \u275824\u27e9 - \u275827\u27e9 - \u275829\u27e9 - \u275830\u27e9" | |||
|
275 | ] | |||
184 | } |
|
276 | } | |
185 | ], |
|
277 | ], | |
186 |
" |
|
278 | "prompt_number": 10 | |
187 | "prompt_number": 10, |
|
|||
188 | "input": "qapply(4*zero)\n" |
|
|||
189 | }, |
|
279 | }, | |
190 | { |
|
280 | { | |
191 | "cell_type": "code", |
|
281 | "cell_type": "code", | |
|
282 | "collapsed": false, | |||
|
283 | "input": [ | |||
|
284 | "one = Rational(1,4)*(1+M0)*(1+M1)*(1+M2)*(1+M3)*IntQubit(2**5-1, 5); one" | |||
|
285 | ], | |||
192 | "language": "python", |
|
286 | "language": "python", | |
193 | "outputs": [ |
|
287 | "outputs": [ | |
194 | { |
|
288 | { | |
|
289 | "latex": [ | |||
|
290 | "$$\\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 }$$" | |||
|
291 | ], | |||
195 | "output_type": "pyout", |
|
292 | "output_type": "pyout", | |
196 | "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 }$$", |
|
|||
197 | "prompt_number": 11, |
|
|||
198 | "png": "iVBORw0KGgoAAAANSUhEUgAAAkgAAAAiCAYAAACk7ia6AAAABHNCSVQICAgIfAhkiAAACuxJREFU\neJztnWusXFUZhp/Tnp7SlkILhdqKFUqF1kopCohYUQEbjKhgVGq1tGBVIhYbEVS8i3hBQY2ikIAx\nSLygGJQitBpFVFJBFBMpAopK5GJELUIFKXr88c3O2bNm3/das+fyPsmkp3tmf7Nmve+s+fa6bRBC\nCCGEEJWZDYw2XQghhBBCiF5gKnAUcA+wb7NFEUIIIYQIz6QCrzkJmAnsF7gsQgghhBB9xzjqQRJC\nCCHEEFCkB0kIIYQQYqhQgiSEEEKIYeaEpIO9tCptDPg4cGaX3/fVwLqc1/wbm4s1XiDeCHAlMM05\n/gXg+tbfFwP7xJ77G3BKw7EjfNdHVZryA8gTLvKE3zoIrZk80R3kiQlC+2EMOBb4vnP8MOBEYG/g\nfuBy4Pc5cZL88i/gxcCPK5QN8DcH6fkJx3YBvgs86iF+WX6ECXc2sALYC0scR4Fzsc+9rmTM6cCL\ngJ2txyGYQSP2AnYA12Ci7N4jsaF+fawo+X695geQJ1zkCf+eCK2ZPBEeeWICH3WR5YldgXc6x94K\nXADsia22fw/wJLAqJUaeX87NKV8qI9gHrLuS7XjgtNj/l2AZ4U3AfdQz+uQK5+yOZZ1LE55bi33m\nj9Qo01WtGCud428G3lcjbqjYPurjFOANBd8vpB9AnvARW54I64mQfggVX56QJ+L4qossT7gJ0ijw\nIPDe2LExzAv3O+cW9cvpwNwC5WxjLfBl4JfAN4CNZQO0WA5c5hzbBZjS+vvbVDf6UuD8CuedBLw/\n4fgxwBPAVyuWJ2IlZo6rYsdOBD5WM26o2L7qYzNwdM5rQvoB5AlfseWJsJ4I6YdQ8eUJeSKOz7pI\n84SbIM0CHgd+47zuLqwna0rsWFG/zAbeUaKsXtlCdg9UHaMvBz5b4bxPYJUSZymwHRuLHKtYnogR\nbDx0JzAP23DzEtq7NXsptq/6OAC4m+wrs5B+AHlCnuikFz0R0g+h4ssT8kQcn3WR5omkIbb9sOG1\niGlYQrYlI36eXz5MA4vXjsUKlkUTCZLLPODPwB10Cl6Vd2HZ+hXA1/E7MT5kbKhXHxeQsjKA8H4A\neUKe6KRXPRFaM3kiHXnCf/y6dZHkiaQEyeUs4O/A/hmvyfPLEcDL8wrom0uAU3Ne03SCtCtwK/BX\n/O4avjeW1T4O7OYxbujYdetjFdZdmkRoP4A8IU900queCKlZ6PjyhDwRx0ddJHkiLUGa3Tp+Reuc\np+bELuKX86I/oq6k8QCPOC8FfpZTqCaZDHwTWIxlj3/0GPtJbLlkdE87n4SK7aM+7gRego3/uvS6\nH0CecJEnwnkipB9Cxpcn5Ik4vuoiyxMu/8S2JzgHGzb8CtaDVZXpWNLYNfYA/kv++GaTPUgXY2V0\nu/XmU2/cdxrwLWANljReWyNWN2P7qI/pwP+wMeU43fADyBPyRCe96ImQmoWOL0/IE3F81UWSJ4oM\nsU3ChvZux+4fm0SeX9YBzyhUSk8swbK8PIoY/Qjg0oTHd4Dfpjx3Rk7MaCz27QnPfY322fBlGMVm\n7x/U+v/tmHmeXjFet2L7rI97sSuBOD79APJEN2LLE2E8EVKz0PHlCXkiju+6cD1RJEEC2yhyHHhN\nyvN5fvG1UrAwRwIPFHhdEaPPBA5NeKzGREh6bt+MeK/FMtXPJTy3PzaumcRs8ie1fZH2rsszMOHO\nS345R2F7UJxOfhdh2dhg+zuswUz2CpIz+qr1cRydV4Bg+06scY759AM074mQuhXRrGpslzQNy9TH\ngcB6rO6np7zPoHuiFzSrE7+IhlXaiaw2c9A9EacpzerEh2z9QrSZrifcBGk18DDt+2OB9WKNAx9I\niZvll2cDr0p5LhiLscrLE67bQ2wrsLHGq0le1ncRtr9DnGi89h6yvzwfxfaViDML26X0ATqz6bWY\nMCNY9+RfgGd6ig0wA/gVtrvpGPATbKVAnCr1AfaD8CC2Q6vLfdgmb3G64QfojidC6lZEs6qxXdI0\nLFMf64AvYY3o8dhuvEnnDLInekGzOvHXka9h2e9IkTZzkD0RpynN6sTP0y9Um+l6wk2QzscSIXcP\nq5tbx49MiAnZfvkQDdx+bRZW4OU5r+tmgnQA8BBWme4XcAT4NPAfOmf3nwy8jPTbrkwFPo9NGEvi\nMpK7/26kfVfTnwMXeooNpsGl2MoFsC/KttjzVeuDVnl+SueXfmarPIcnlCW0H6A7ngipW55mdWK7\nJGlYpj5GgT/RvpPu3XTeHmLQPdG0ZnXiF9Gwynckr80cdE/EaUKzOvEhW79QbWaSJ9wE6TnAVton\ncu/Ter8bSU8S0/yyG7ZNQBtls6XjsEzyrhLnbMcmTh0I3OY8twfWNfg0LFucCnwPuAXYBPy6ZPmK\nMBPbdnxPbP+HaOfMOdhVy1KsojdjN7CLc3lKzOdiRloJLMLKPp/2Lc83AM9r/X1h6302YTuUu0sa\nH2PCVHVjg2mwPvb6ZUxMzKtTH6uxVQvulvW0zn0CG+OO02t+gOp1EFK3LM18eCIiScOy9bEQWEB7\nMrANeCHWAEYMuiea1Kxu/AVka1j1O5LWZkYMuicimtDMh+fS9AvRZkakeSLOrcAHsbt73IbNo9qI\n7Q5+Ktb7GFHEL69rfY42yiRIc7EldKsolyABXId9aJedmKDb6Ky4h0u+RxnSbpfyw9jfvysR7x/Y\nZ7yu9f9xOrPUO7Ab+cV5qPVvfPx3HpY5R/fEqRs7zuHYl+dO2q8mqtTHImyp6B9Szl2MZfI7Ep7r\nNT9AtTrohm5JmvmKnaVhmfqYj+kc397jEWyoKc4weAKa0axu/CIa+m43YTg80ZRmPn87kvDdZkYk\neeJROpO1zdiu2QuBp2A9Vo8llKeIX67Fhvsqk9Y9WISjgevrvHkOBwOfCRjfJa27uC6TsFUVrw8Q\nGyxTX4J9YdxVI2WYTHt35A10+uIi4E0p54f2A3TXEyF186WZSxENi3IQdsUf50rgk86xYfFEP2jm\nUlTDqqS1mYPuiX7WLI7v37ysNjPLEz3Jamw2+g1UF3cLtqojBGNYV2O3CJUgnYttr++bZcCZsf+/\nDev2LLIRVxIbgHdj3ZbrsSvlTzGxOuJgbOlsVg9lSD9Adz0RQjffmrnkaViGUexKLD7uv5n2ZdLD\n4Il+0syliIZ1SGozh8ET/axZHN+/eWltZhFP9BSLsGV8UC9BehZmjhDbpnebEAnSaVgDG9ExYawG\n52BjthFnY12WeStE0piBjTVHj3uBV2IT6SYDv8Am9mUxKH4IpZtvzVyyNKzCzUxMFp2C3RMpWs48\nLJ7oN81csjSsi9tmDosn+lmzOD5/89LazKKe6Bl8dw8eQ/qy135hBDOLz3tzbcQa1qtbj010jgvX\nYQHWjbwEOASblPYWD3GnYhMBt2NXSXOxz/LGguf3ux9C6hZKM5ckDatwAjYJdQ52dRhffjssnug3\nzVyyNKxDUps5LJ6I6DfN4vj8zctqM8t4oivkbf+9AcuAo0lbZ2Gzv6/BJlFV4VA6V2X0C2uxyZfL\nsPu+bMXPnaBPpvMq8wekT4CuwjTgBdjy2a3YlUxd5tDeTRqV95YSMfrZD6F1C6GZS5KGZfSLsxDb\nbO0m2lfKHFYyZj97ot80c0nTsCppbeYweQL6S7M4vn/zstrMsp5onNDdg0IIIYQQPUfaZkoRO7De\no0ewSdrR6owZgcslhBBCCNEYRe+wG7J7UAghhBBCCCGEEEIIIYQQQgghhBBCCCGEEEIIIQaG/wNQ\n49kSjUC+pQAAAABJRU5ErkJggg==\n", |
|
293 | "png": "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\n49kSjUC+pQAAAABJRU5ErkJggg==\n", | |
199 | "text": "\u239b1 + Z \u22c5X \u22c5X \u22c5Z \u239e\u22c5\u239b1 + Z \u22c5X \u22c5X \u22c5Z \u239e\u22c5\u239b1 + Z \u22c5X \u22c5X \u22c5Z \u239e\u22c5\u239b1 + Z \u22c5X \u22c5X \u22c5Z \u239e\u22c5\u275831\u27e9\n\u239d 1 2 3 4\u23a0 \u239d 2 3 4 0\u23a0 \u239d 3 4 0 1\u23a0 \u239d 4 0 1 2\u23a0 \n\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n 4" |
|
294 | "prompt_number": 11, | |
|
295 | "text": [ | |||
|
296 | "\u239b1 + Z \u22c5X \u22c5X \u22c5Z \u239e\u22c5\u239b1 + Z \u22c5X \u22c5X \u22c5Z \u239e\u22c5\u239b1 + Z \u22c5X \u22c5X \u22c5Z \u239e\u22c5\u239b1 + Z \u22c5X \u22c5X \u22c5Z \u239e\u22c5\u275831\u27e9", | |||
|
297 | "\u239d 1 2 3 4\u23a0 \u239d 2 3 4 0\u23a0 \u239d 3 4 0 1\u23a0 \u239d 4 0 1 2\u23a0 ", | |||
|
298 | "\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500", | |||
|
299 | " 4" | |||
|
300 | ] | |||
200 | } |
|
301 | } | |
201 | ], |
|
302 | ], | |
202 |
" |
|
303 | "prompt_number": 11 | |
203 | "prompt_number": 11, |
|
|||
204 | "input": "one = Rational(1,4)*(1+M0)*(1+M1)*(1+M2)*(1+M3)*IntQubit(2**5-1, 5); one\n" |
|
|||
205 | }, |
|
304 | }, | |
206 | { |
|
305 | { | |
207 | "cell_type": "code", |
|
306 | "cell_type": "code", | |
|
307 | "collapsed": false, | |||
|
308 | "input": [ | |||
|
309 | "qapply(4*one)" | |||
|
310 | ], | |||
208 | "language": "python", |
|
311 | "language": "python", | |
209 | "outputs": [ |
|
312 | "outputs": [ | |
210 | { |
|
313 | { | |
|
314 | "latex": [ | |||
|
315 | "$$- {\\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 }$$" | |||
|
316 | ], | |||
211 | "output_type": "pyout", |
|
317 | "output_type": "pyout", | |
212 | "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 }$$", |
|
|||
213 | "prompt_number": 12, |
|
|||
214 | "png": "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\n", |
|
318 | "png": "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\n", | |
215 | "text": "-\u27581\u27e9 - \u27582\u27e9 - \u27584\u27e9 + \u27587\u27e9 - \u27588\u27e9 - \u275811\u27e9 - \u275813\u27e9 + \u275814\u27e9 - \u275816\u27e9 + \u275819\u27e9 - \u275821\u27e9 - \u275822\u27e9 \n+ \u275825\u27e9 - \u275826\u27e9 + \u275828\u27e9 + \u275831\u27e9" |
|
319 | "prompt_number": 12, | |
|
320 | "text": [ | |||
|
321 | "-\u27581\u27e9 - \u27582\u27e9 - \u27584\u27e9 + \u27587\u27e9 - \u27588\u27e9 - \u275811\u27e9 - \u275813\u27e9 + \u275814\u27e9 - \u275816\u27e9 + \u275819\u27e9 - \u275821\u27e9 - \u275822\u27e9 ", | |||
|
322 | "+ \u275825\u27e9 - \u275826\u27e9 + \u275828\u27e9 + \u275831\u27e9" | |||
|
323 | ] | |||
216 | } |
|
324 | } | |
217 | ], |
|
325 | ], | |
218 |
" |
|
326 | "prompt_number": 12 | |
219 | "prompt_number": 12, |
|
|||
220 | "input": "qapply(4*one)\n" |
|
|||
221 | }, |
|
327 | }, | |
222 | { |
|
328 | { | |
223 | "source": "<h2>The encoding circuit</h2>", |
|
329 | "cell_type": "markdown", | |
224 |
" |
|
330 | "source": [ | |
|
331 | "<h2>The encoding circuit</h2>" | |||
|
332 | ] | |||
225 | }, |
|
333 | }, | |
226 | { |
|
334 | { | |
227 | "cell_type": "code", |
|
335 | "cell_type": "code", | |
|
336 | "collapsed": true, | |||
|
337 | "input": [ | |||
|
338 | "encoding_circuit = H(3)*H(4)*CNOT(2,0)*CNOT(3,0)*CNOT(4,0)*H(1)*H(4)*\\", | |||
|
339 | " CNOT(2,1)*CNOT(4,1)*H(2)*CNOT(3,2)*CNOT(4,2)*H(3)*\\", | |||
|
340 | " H(4)*CNOT(4, 3)*Z(4)*H(4)*Z(4)" | |||
|
341 | ], | |||
228 | "language": "python", |
|
342 | "language": "python", | |
229 | "outputs": [], |
|
343 | "outputs": [], | |
230 |
" |
|
344 | "prompt_number": 13 | |
231 | "prompt_number": 13, |
|
|||
232 | "input": "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)\n" |
|
|||
233 | }, |
|
345 | }, | |
234 | { |
|
346 | { | |
235 | "cell_type": "code", |
|
347 | "cell_type": "code", | |
|
348 | "collapsed": false, | |||
|
349 | "input": [ | |||
|
350 | "circuit_plot(encoding_circuit, nqubits=5, scale=0.5)" | |||
|
351 | ], | |||
236 | "language": "python", |
|
352 | "language": "python", | |
237 | "outputs": [ |
|
353 | "outputs": [ | |
238 | { |
|
354 | { | |
239 | "output_type": "pyout", |
|
355 | "output_type": "pyout", | |
240 | "prompt_number": 14, |
|
356 | "prompt_number": 14, | |
241 | "text": "<sympy.physics.quantum.circuitplot.CircuitPlot object at 0x38a6950>" |
|
357 | "text": [ | |
|
358 | "<sympy.physics.quantum.circuitplot.CircuitPlot object at 0x38a6950>" | |||
|
359 | ] | |||
242 | }, |
|
360 | }, | |
243 | { |
|
361 | { | |
244 | "output_type": "display_data", |
|
362 | "output_type": "display_data", | |
245 | "png": "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\nPol+/frhq6++0jvW/dtY9YnXUPBWVCIiqtWVK1fQvXt3pKamolu3bjXKtU0bZGZmYtiwYfj111+h\nUql0jpcOUGQtAAACtklEQVSdnY2hQ4ciIyMD7dq10zne3r178fzzz+P333+v8RTR2iQnJyMiIgIZ\nGRka+6kt3oYNG/Df//4X2dnZXI/4F7xyQUREtXriiSfw2WefYcSIETh//rxOdX7++WcEBwdjw4YN\neiUWANCjRw+88cYbGD58OK5evapTnaNHj2L69OnYtm2bXokFAAQEBGDMmDEICgrS+a6Pr7/+Gm+9\n9Ra2bNnCxEITQUREpIN169aJVq1aidWrV4vbt28/+P2f/5SUlJSIlStXCmdnZ7F582aDY6nVahEV\nFSXatWsnvvjiC3H37l2N8QoKCkRUVJRwdnYWycnJBserrq4W8+fPF56enmLnzp2iqqpKY7zLly+L\nRYsWidatW4uMjAyD41k7JhdERKSztLQ0ERwcLFQqlZg3b55ISEgQAMSXX34p5syZI5ycnMT48eNF\nZmamLPH27dsnhgwZIlxcXMSbb74pNm/eLACI+Ph4MW3aNPHYY4+J6dOnizNnzsgSLzExUfTv31+0\nbdtWvPfee2LLli0CgNi4caMYO3ascHJyEhEREeLixYuyxLNWXHNBRER6y8nJwfr163Hu3Dls2bIF\nkyZNgpeXF2bNmoU2bdrIHu/8+fOIjY3FhQsXsHXrVkyePBm9evXCzJkz0aJFC9njnTp1CnFxcbh8\n+TK2bduGKVOmoH///pg6dSocHR1lj2dtmFwQERGRrLigk4iIiGTF5IKIiIhkxeSCiIiIZMXkgoiI\niGTF5IKIiIhkxeSCiIiIZMXkgoiIiGTF5IKIiIhkxeSCiIiIZMXkgoiIiGTF5IKIiIhkxeSCiIiI\nZMXkgoiIiGTF5IKIiIhkxeSCiIiIZMXkgoiIiGTF5IKIiIhkxeSCiIiIZMXkgoiIiGTF5IKIiIhk\nxeSCiIiIZMXkgoiIiGTF5IKIiIhk9X8OQhhdOtBzlgAAAABJRU5ErkJggg==\n" |
|
363 | "png": "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\nPol+/frhq6++0jvW/dtY9YnXUPBWVCIiqtWVK1fQvXt3pKamolu3bjXKtU0bZGZmYtiwYfj111+h\nUql0jpcOUGQtAAACtklEQVSdnY2hQ4ciIyMD7dq10zne3r178fzzz+P333+v8RTR2iQnJyMiIgIZ\nGRka+6kt3oYNG/Df//4X2dnZXI/4F7xyQUREtXriiSfw2WefYcSIETh//rxOdX7++WcEBwdjw4YN\neiUWANCjRw+88cYbGD58OK5evapTnaNHj2L69OnYtm2bXokFAAQEBGDMmDEICgrS+a6Pr7/+Gm+9\n9Ra2bNnCxEITQUREpIN169aJVq1aidWrV4vbt28/+P2f/5SUlJSIlStXCmdnZ7F582aDY6nVahEV\nFSXatWsnvvjiC3H37l2N8QoKCkRUVJRwdnYWycnJBserrq4W8+fPF56enmLnzp2iqqpKY7zLly+L\nRYsWidatW4uMjAyD41k7JhdERKSztLQ0ERwcLFQqlZg3b55ISEgQAMSXX34p5syZI5ycnMT48eNF\nZmamLPH27dsnhgwZIlxcXMSbb74pNm/eLACI+Ph4MW3aNPHYY4+J6dOnizNnzsgSLzExUfTv31+0\nbdtWvPfee2LLli0CgNi4caMYO3ascHJyEhEREeLixYuyxLNWXHNBRER6y8nJwfr163Hu3Dls2bIF\nkyZNgpeXF2bNmoU2bdrIHu/8+fOIjY3FhQsXsHXrVkyePBm9evXCzJkz0aJFC9njnTp1CnFxcbh8\n+TK2bduGKVOmoH///pg6dSocHR1lj2dtmFwQERGRrLigk4iIiGTF5IKIiIhkxeSCiIiIZMXkgoiI\niGTF5IKIiIhkxeSCiIiIZMXkgoiIiGTF5IKIiIhkxeSCiIiIZMXkgoiIiGTF5IKIiIhkxeSCiIiI\nZMXkgoiIiGTF5IKIiIhkxeSCiIiIZMXkgoiIiGTF5IKIiIhkxeSCiIiIZMXkgoiIiGTF5IKIiIhk\nxeSCiIiIZMXkgoiIiGTF5IKIiIhk9X8OQhhdOtBzlgAAAABJRU5ErkJggg==\n" | |
246 | } |
|
364 | } | |
247 | ], |
|
365 | ], | |
248 |
" |
|
366 | "prompt_number": 14 | |
249 | "prompt_number": 14, |
|
|||
250 | "input": "circuit_plot(encoding_circuit, nqubits=5, scale=0.5)" |
|
|||
251 | }, |
|
367 | }, | |
252 | { |
|
368 | { | |
253 | "cell_type": "code", |
|
369 | "cell_type": "code", | |
|
370 | "collapsed": false, | |||
|
371 | "input": [ | |||
|
372 | "represent(4*encoding_circuit, nqubits=5)" | |||
|
373 | ], | |||
254 | "language": "python", |
|
374 | "language": "python", | |
255 | "outputs": [ |
|
375 | "outputs": [ | |
256 | { |
|
376 | { | |
|
377 | "latex": [ | |||
|
378 | "$$\\left(\\begin{smallmatrix}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{smallmatrix}\\right)$$" | |||
|
379 | ], | |||
257 | "output_type": "pyout", |
|
380 | "output_type": "pyout", | |
258 | "latex": "$$\\left(\\begin{smallmatrix}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{smallmatrix}\\right)$$", |
|
|||
259 | "prompt_number": 15, |
|
381 | "prompt_number": 15, | |
260 | "text": "\u23a11 0 1 0 1 0 1 0 0 -1 0 -1 0 -1 0 -1 0 -1 0 -\n\u23a2 \n\u23a20 1 0 1 0 1 0 1 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0\n\u23a2 \n\u23a20 1 0 -1 0 1 0 -1 -1 0 1 0 -1 0 1 0 -1 0 1 0\n\u23a2 \n\u23a21 0 -1 0 1 0 -1 0 0 -1 0 1 0 -1 0 1 0 -1 0 1\n\u23a2 \n\u23a20 -1 0 -1 0 1 0 1 1 0 1 0 -1 0 -1 0 -1 0 -1 0\n\u23a2 \n\u23a2-1 0 -1 0 1 0 1 0 0 1 0 1 0 -1 0 -1 0 -1 0 -\n\u23a2 \n\u23a21 0 -1 0 -1 0 1 0 0 -1 0 1 0 1 0 -1 0 1 0 -\n\u23a2 \n\u23a20 1 0 -1 0 -1 0 1 -1 0 1 0 1 0 -1 0 1 0 -1 0\n\u23a2 \n\u23a20 -1 0 -1 0 -1 0 -1 1 0 1 0 1 0 1 0 -1 0 -1 0\n\u23a2 \n\u23a2-1 0 -1 0 -1 0 -1 0 0 1 0 1 0 1 0 1 0 -1 0 -\n\u23a2 \n\u23a2-1 0 1 0 -1 0 1 0 0 1 0 -1 0 1 0 -1 0 -1 0 1\n\u23a2 \n\u23a20 -1 0 1 0 -1 0 1 1 0 -1 0 1 0 -1 0 -1 0 1 0\n\u23a2 \n\u23a21 0 1 0 -1 0 -1 0 0 -1 0 -1 0 1 0 1 0 -1 0 -\n\u23a2 \n\u23a20 1 0 1 0 -1 0 -1 -1 0 -1 0 1 0 1 0 -1 0 -1 0\n\u23a2 \n\u23a20 -1 0 1 0 1 0 -1 1 0 -1 0 -1 0 1 0 1 0 -1 0\n\u23a2 \n\u23a2-1 0 1 0 1 0 -1 0 0 1 0 -1 0 -1 0 1 0 1 0 -\n\u23a2 \n\u23a20 1 0 1 0 1 0 1 1 0 1 0 1 0 1 0 -1 0 -1 0\n\u23a2 \n\u23a21 0 1 0 1 0 1 0 0 1 0 1 0 1 0 1 0 -1 0 -\n\u23a2 \n\u23a2-1 0 1 0 -1 0 1 0 0 -1 0 1 0 -1 0 1 0 1 0 -\n\u23a2 \n\u23a20 -1 0 1 0 -1 0 1 -1 0 1 0 -1 0 1 0 1 0 -1 0\n\u23a2 \n\u23a2-1 0 -1 0 1 0 1 0 0 -1 0 -1 0 1 0 1 0 -1 0 -\n\u23a2 \n\u23a20 -1 0 -1 0 1 0 1 -1 0 -1 0 1 0 1 0 -1 0 -1 0\n\u23a2 \n\u23a20 -1 0 1 0 1 0 -1 -1 0 1 0 1 0 -1 0 -1 0 1 0\n\u23a2 \n\u23a2-1 0 1 0 1 0 -1 0 0 -1 0 1 0 1 0 -1 0 -1 0 1\n\u23a2 \n\u23a21 0 1 0 1 0 1 0 0 1 0 1 0 1 0 1 0 1 0 1\n\u23a2 \n\u23a20 1 0 1 0 1 0 1 1 0 1 0 1 0 1 0 1 0 1 0\n\u23a2 \n\u23a20 -1 0 1 0 -1 0 1 -1 0 1 0 -1 0 1 0 -1 0 1 0\n\u23a2 \n\u23a2-1 0 1 0 -1 0 1 0 0 -1 0 1 0 -1 0 1 0 -1 0 1\n\u23a2 \n\u23a20 -1 0 -1 0 1 0 1 -1 0 -1 0 1 0 1 0 1 0 1 0\n\u23a2 \n\u23a2-1 0 -1 0 1 0 1 0 0 -1 0 -1 0 1 0 1 0 1 0 1\n\u23a2 \n\u23a2-1 0 1 0 1 0 -1 0 0 -1 0 1 0 1 0 -1 0 1 0 -\n\u23a2 \n\u23a30 -1 0 1 0 1 0 -1 -1 0 1 0 1 0 -1 0 1 0 -1 0\n\n1 0 -1 0 -1 -1 0 -1 0 -1 0 -1 0 \u23a4\n \u23a5\n -1 0 -1 0 0 -1 0 -1 0 -1 0 -1\u23a5\n \u23a5\n -1 0 1 0 0 -1 0 1 0 -1 0 1 \u23a5\n \u23a5\n 0 -1 0 1 -1 0 1 0 -1 0 1 0 \u23a5\n \u23a5\n 1 0 1 0 0 -1 0 -1 0 1 0 1 \u23a5\n \u23a5\n1 0 1 0 1 -1 0 -1 0 1 0 1 0 \u23a5\n \u23a5\n1 0 -1 0 1 1 0 -1 0 -1 0 1 0 \u23a5\n \u23a5\n -1 0 1 0 0 1 0 -1 0 -1 0 1 \u23a5\n \u23a5\n -1 0 -1 0 0 -1 0 -1 0 -1 0 -1\u23a5\n \u23a5\n1 0 -1 0 -1 -1 0 -1 0 -1 0 -1 0 \u23a5\n \u23a5\n 0 -1 0 1 -1 0 1 0 -1 0 1 0 \u23a5\n \u23a5\n -1 0 1 0 0 -1 0 1 0 -1 0 1 \u23a5\n \u23a5\n1 0 1 0 1 -1 0 -1 0 1 0 1 0 \u23a5\n \u23a5\n 1 0 1 0 0 -1 0 -1 0 1 0 1 \u23a5\n \u23a5\n -1 0 1 0 0 1 0 -1 0 -1 0 1 \u23a5\n \u23a5\n1 0 -1 0 1 1 0 -1 0 -1 0 1 0 \u23a5\n \u23a5\n -1 0 -1 0 0 1 0 1 0 1 0 1 \u23a5\n \u23a5\n1 0 -1 0 -1 1 0 1 0 1 0 1 0 \u23a5\n \u23a5\n1 0 1 0 -1 -1 0 1 0 -1 0 1 0 \u23a5\n \u23a5\n 1 0 -1 0 0 -1 0 1 0 -1 0 1 \u23a5\n \u23a5\n1 0 1 0 1 1 0 1 0 -1 0 -1 0 \u23a5\n \u23a5\n 1 0 1 0 0 1 0 1 0 -1 0 -1\u23a5\n \u23a5\n 1 0 -1 0 0 1 0 -1 0 -1 0 1 \u23a5\n \u23a5\n 0 1 0 -1 1 0 -1 0 -1 0 1 0 \u23a5\n \u23a5\n 0 1 0 1 -1 0 -1 0 -1 0 -1 0 \u23a5\n \u23a5\n 1 0 1 0 0 -1 0 -1 0 -1 0 -1\u23a5\n \u23a5\n -1 0 1 0 0 1 0 -1 0 1 0 -1\u23a5\n \u23a5\n 0 -1 0 1 1 0 -1 0 1 0 -1 0 \u23a5\n \u23a5\n -1 0 -1 0 0 -1 0 -1 0 1 0 1 \u23a5\n \u23a5\n 0 -1 0 -1 -1 0 -1 0 1 0 1 0 \u23a5\n \u23a5\n1 0 -1 0 1 -1 0 1 0 1 0 -1 0 \u23a5\n \u23a5\n -1 0 1 0 0 -1 0 1 0 1 0 -1\u23a6" |
|
382 | "text": [ | |
|
383 | "\u23a11 0 1 0 1 0 1 0 0 -1 0 -1 0 -1 0 -1 0 -1 0 -", | |||
|
384 | "\u23a2 ", | |||
|
385 | "\u23a20 1 0 1 0 1 0 1 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0", | |||
|
386 | "\u23a2 ", | |||
|
387 | "\u23a20 1 0 -1 0 1 0 -1 -1 0 1 0 -1 0 1 0 -1 0 1 0", | |||
|
388 | "\u23a2 ", | |||
|
389 | "\u23a21 0 -1 0 1 0 -1 0 0 -1 0 1 0 -1 0 1 0 -1 0 1", | |||
|
390 | "\u23a2 ", | |||
|
391 | "\u23a20 -1 0 -1 0 1 0 1 1 0 1 0 -1 0 -1 0 -1 0 -1 0", | |||
|
392 | "\u23a2 ", | |||
|
393 | "\u23a2-1 0 -1 0 1 0 1 0 0 1 0 1 0 -1 0 -1 0 -1 0 -", | |||
|
394 | "\u23a2 ", | |||
|
395 | "\u23a21 0 -1 0 -1 0 1 0 0 -1 0 1 0 1 0 -1 0 1 0 -", | |||
|
396 | "\u23a2 ", | |||
|
397 | "\u23a20 1 0 -1 0 -1 0 1 -1 0 1 0 1 0 -1 0 1 0 -1 0", | |||
|
398 | "\u23a2 ", | |||
|
399 | "\u23a20 -1 0 -1 0 -1 0 -1 1 0 1 0 1 0 1 0 -1 0 -1 0", | |||
|
400 | "\u23a2 ", | |||
|
401 | "\u23a2-1 0 -1 0 -1 0 -1 0 0 1 0 1 0 1 0 1 0 -1 0 -", | |||
|
402 | "\u23a2 ", | |||
|
403 | "\u23a2-1 0 1 0 -1 0 1 0 0 1 0 -1 0 1 0 -1 0 -1 0 1", | |||
|
404 | "\u23a2 ", | |||
|
405 | "\u23a20 -1 0 1 0 -1 0 1 1 0 -1 0 1 0 -1 0 -1 0 1 0", | |||
|
406 | "\u23a2 ", | |||
|
407 | "\u23a21 0 1 0 -1 0 -1 0 0 -1 0 -1 0 1 0 1 0 -1 0 -", | |||
|
408 | "\u23a2 ", | |||
|
409 | "\u23a20 1 0 1 0 -1 0 -1 -1 0 -1 0 1 0 1 0 -1 0 -1 0", | |||
|
410 | "\u23a2 ", | |||
|
411 | "\u23a20 -1 0 1 0 1 0 -1 1 0 -1 0 -1 0 1 0 1 0 -1 0", | |||
|
412 | "\u23a2 ", | |||
|
413 | "\u23a2-1 0 1 0 1 0 -1 0 0 1 0 -1 0 -1 0 1 0 1 0 -", | |||
|
414 | "\u23a2 ", | |||
|
415 | "\u23a20 1 0 1 0 1 0 1 1 0 1 0 1 0 1 0 -1 0 -1 0", | |||
|
416 | "\u23a2 ", | |||
|
417 | "\u23a21 0 1 0 1 0 1 0 0 1 0 1 0 1 0 1 0 -1 0 -", | |||
|
418 | "\u23a2 ", | |||
|
419 | "\u23a2-1 0 1 0 -1 0 1 0 0 -1 0 1 0 -1 0 1 0 1 0 -", | |||
|
420 | "\u23a2 ", | |||
|
421 | "\u23a20 -1 0 1 0 -1 0 1 -1 0 1 0 -1 0 1 0 1 0 -1 0", | |||
|
422 | "\u23a2 ", | |||
|
423 | "\u23a2-1 0 -1 0 1 0 1 0 0 -1 0 -1 0 1 0 1 0 -1 0 -", | |||
|
424 | "\u23a2 ", | |||
|
425 | "\u23a20 -1 0 -1 0 1 0 1 -1 0 -1 0 1 0 1 0 -1 0 -1 0", | |||
|
426 | "\u23a2 ", | |||
|
427 | "\u23a20 -1 0 1 0 1 0 -1 -1 0 1 0 1 0 -1 0 -1 0 1 0", | |||
|
428 | "\u23a2 ", | |||
|
429 | "\u23a2-1 0 1 0 1 0 -1 0 0 -1 0 1 0 1 0 -1 0 -1 0 1", | |||
|
430 | "\u23a2 ", | |||
|
431 | "\u23a21 0 1 0 1 0 1 0 0 1 0 1 0 1 0 1 0 1 0 1", | |||
|
432 | "\u23a2 ", | |||
|
433 | "\u23a20 1 0 1 0 1 0 1 1 0 1 0 1 0 1 0 1 0 1 0", | |||
|
434 | "\u23a2 ", | |||
|
435 | "\u23a20 -1 0 1 0 -1 0 1 -1 0 1 0 -1 0 1 0 -1 0 1 0", | |||
|
436 | "\u23a2 ", | |||
|
437 | "\u23a2-1 0 1 0 -1 0 1 0 0 -1 0 1 0 -1 0 1 0 -1 0 1", | |||
|
438 | "\u23a2 ", | |||
|
439 | "\u23a20 -1 0 -1 0 1 0 1 -1 0 -1 0 1 0 1 0 1 0 1 0", | |||
|
440 | "\u23a2 ", | |||
|
441 | "\u23a2-1 0 -1 0 1 0 1 0 0 -1 0 -1 0 1 0 1 0 1 0 1", | |||
|
442 | "\u23a2 ", | |||
|
443 | "\u23a2-1 0 1 0 1 0 -1 0 0 -1 0 1 0 1 0 -1 0 1 0 -", | |||
|
444 | "\u23a2 ", | |||
|
445 | "\u23a30 -1 0 1 0 1 0 -1 -1 0 1 0 1 0 -1 0 1 0 -1 0", | |||
|
446 | "", | |||
|
447 | "1 0 -1 0 -1 -1 0 -1 0 -1 0 -1 0 \u23a4", | |||
|
448 | " \u23a5", | |||
|
449 | " -1 0 -1 0 0 -1 0 -1 0 -1 0 -1\u23a5", | |||
|
450 | " \u23a5", | |||
|
451 | " -1 0 1 0 0 -1 0 1 0 -1 0 1 \u23a5", | |||
|
452 | " \u23a5", | |||
|
453 | " 0 -1 0 1 -1 0 1 0 -1 0 1 0 \u23a5", | |||
|
454 | " \u23a5", | |||
|
455 | " 1 0 1 0 0 -1 0 -1 0 1 0 1 \u23a5", | |||
|
456 | " \u23a5", | |||
|
457 | "1 0 1 0 1 -1 0 -1 0 1 0 1 0 \u23a5", | |||
|
458 | " \u23a5", | |||
|
459 | "1 0 -1 0 1 1 0 -1 0 -1 0 1 0 \u23a5", | |||
|
460 | " \u23a5", | |||
|
461 | " -1 0 1 0 0 1 0 -1 0 -1 0 1 \u23a5", | |||
|
462 | " \u23a5", | |||
|
463 | " -1 0 -1 0 0 -1 0 -1 0 -1 0 -1\u23a5", | |||
|
464 | " \u23a5", | |||
|
465 | "1 0 -1 0 -1 -1 0 -1 0 -1 0 -1 0 \u23a5", | |||
|
466 | " \u23a5", | |||
|
467 | " 0 -1 0 1 -1 0 1 0 -1 0 1 0 \u23a5", | |||
|
468 | " \u23a5", | |||
|
469 | " -1 0 1 0 0 -1 0 1 0 -1 0 1 \u23a5", | |||
|
470 | " \u23a5", | |||
|
471 | "1 0 1 0 1 -1 0 -1 0 1 0 1 0 \u23a5", | |||
|
472 | " \u23a5", | |||
|
473 | " 1 0 1 0 0 -1 0 -1 0 1 0 1 \u23a5", | |||
|
474 | " \u23a5", | |||
|
475 | " -1 0 1 0 0 1 0 -1 0 -1 0 1 \u23a5", | |||
|
476 | " \u23a5", | |||
|
477 | "1 0 -1 0 1 1 0 -1 0 -1 0 1 0 \u23a5", | |||
|
478 | " \u23a5", | |||
|
479 | " -1 0 -1 0 0 1 0 1 0 1 0 1 \u23a5", | |||
|
480 | " \u23a5", | |||
|
481 | "1 0 -1 0 -1 1 0 1 0 1 0 1 0 \u23a5", | |||
|
482 | " \u23a5", | |||
|
483 | "1 0 1 0 -1 -1 0 1 0 -1 0 1 0 \u23a5", | |||
|
484 | " \u23a5", | |||
|
485 | " 1 0 -1 0 0 -1 0 1 0 -1 0 1 \u23a5", | |||
|
486 | " \u23a5", | |||
|
487 | "1 0 1 0 1 1 0 1 0 -1 0 -1 0 \u23a5", | |||
|
488 | " \u23a5", | |||
|
489 | " 1 0 1 0 0 1 0 1 0 -1 0 -1\u23a5", | |||
|
490 | " \u23a5", | |||
|
491 | " 1 0 -1 0 0 1 0 -1 0 -1 0 1 \u23a5", | |||
|
492 | " \u23a5", | |||
|
493 | " 0 1 0 -1 1 0 -1 0 -1 0 1 0 \u23a5", | |||
|
494 | " \u23a5", | |||
|
495 | " 0 1 0 1 -1 0 -1 0 -1 0 -1 0 \u23a5", | |||
|
496 | " \u23a5", | |||
|
497 | " 1 0 1 0 0 -1 0 -1 0 -1 0 -1\u23a5", | |||
|
498 | " \u23a5", | |||
|
499 | " -1 0 1 0 0 1 0 -1 0 1 0 -1\u23a5", | |||
|
500 | " \u23a5", | |||
|
501 | " 0 -1 0 1 1 0 -1 0 1 0 -1 0 \u23a5", | |||
|
502 | " \u23a5", | |||
|
503 | " -1 0 -1 0 0 -1 0 -1 0 1 0 1 \u23a5", | |||
|
504 | " \u23a5", | |||
|
505 | " 0 -1 0 -1 -1 0 -1 0 1 0 1 0 \u23a5", | |||
|
506 | " \u23a5", | |||
|
507 | "1 0 -1 0 1 -1 0 1 0 1 0 -1 0 \u23a5", | |||
|
508 | " \u23a5", | |||
|
509 | " -1 0 1 0 0 -1 0 1 0 1 0 -1\u23a6" | |||
|
510 | ] | |||
261 | } |
|
511 | } | |
262 | ], |
|
512 | ], | |
263 |
" |
|
513 | "prompt_number": 15 | |
264 | "prompt_number": 15, |
|
|||
265 | "input": "represent(4*encoding_circuit, nqubits=5)" |
|
|||
266 | } |
|
514 | } | |
267 | ] |
|
515 | ] | |
268 | } |
|
516 | } |
@@ -1,162 +1,348 b'' | |||||
1 | { |
|
1 | { | |
2 | "nbformat": 2, |
|
|||
3 | "metadata": { |
|
2 | "metadata": { | |
4 | "name": "qft" |
|
3 | "name": "qft" | |
5 | }, |
|
4 | }, | |
|
5 | "nbformat": 2, | |||
6 | "worksheets": [ |
|
6 | "worksheets": [ | |
7 | { |
|
7 | { | |
8 | "cells": [ |
|
8 | "cells": [ | |
9 | { |
|
9 | { | |
10 | "source": "<h1>Quantum Fourier Transform</h1>", |
|
10 | "cell_type": "markdown", | |
11 |
" |
|
11 | "source": [ | |
|
12 | "<h1>Quantum Fourier Transform</h1>" | |||
|
13 | ] | |||
12 | }, |
|
14 | }, | |
13 | { |
|
15 | { | |
14 | "cell_type": "code", |
|
16 | "cell_type": "code", | |
|
17 | "collapsed": true, | |||
|
18 | "input": [ | |||
|
19 | "%load_ext sympyprinting" | |||
|
20 | ], | |||
15 | "language": "python", |
|
21 | "language": "python", | |
16 | "outputs": [], |
|
22 | "outputs": [], | |
17 |
" |
|
23 | "prompt_number": 1 | |
18 | "prompt_number": 1, |
|
|||
19 | "input": "%load_ext sympyprinting" |
|
|||
20 | }, |
|
24 | }, | |
21 | { |
|
25 | { | |
22 | "cell_type": "code", |
|
26 | "cell_type": "code", | |
|
27 | "collapsed": true, | |||
|
28 | "input": [ | |||
|
29 | "from sympy import sqrt, symbols, Rational", | |||
|
30 | "from sympy import expand, Eq, Symbol, simplify, exp, sin", | |||
|
31 | "from sympy.physics.quantum import *", | |||
|
32 | "from sympy.physics.quantum.qubit import *", | |||
|
33 | "from sympy.physics.quantum.gate import *", | |||
|
34 | "from sympy.physics.quantum.grover import *", | |||
|
35 | "from sympy.physics.quantum.qft import QFT, IQFT, Fourier", | |||
|
36 | "from sympy.physics.quantum.circuitplot import circuit_plot" | |||
|
37 | ], | |||
23 | "language": "python", |
|
38 | "language": "python", | |
24 | "outputs": [], |
|
39 | "outputs": [], | |
25 |
" |
|
40 | "prompt_number": 2 | |
26 | "prompt_number": 2, |
|
|||
27 | "input": "from sympy import sqrt, symbols, Rational\nfrom sympy import expand, Eq, Symbol, simplify, exp, sin\nfrom sympy.physics.quantum import *\nfrom sympy.physics.quantum.qubit import *\nfrom sympy.physics.quantum.gate import *\nfrom sympy.physics.quantum.grover import *\nfrom sympy.physics.quantum.qft import QFT, IQFT, Fourier\nfrom sympy.physics.quantum.circuitplot import circuit_plot" |
|
|||
28 | }, |
|
41 | }, | |
29 | { |
|
42 | { | |
30 | "source": "QFT is useful for a quantum algorithm for factoring numbers which is exponentially faster than what is thought to be possible on a classical machine.<br>\nThe transform does a DFT on the state of a quantum system<br>\nThere is a simple decomposition of the QFT in terms of a few elementary gates.", |
|
43 | "cell_type": "markdown", | |
31 |
" |
|
44 | "source": [ | |
|
45 | "QFT is useful for a quantum algorithm for factoring numbers which is exponentially faster than what is thought to be possible on a classical machine.<br>", | |||
|
46 | "The transform does a DFT on the state of a quantum system<br>", | |||
|
47 | "There is a simple decomposition of the QFT in terms of a few elementary gates." | |||
|
48 | ] | |||
32 | }, |
|
49 | }, | |
33 | { |
|
50 | { | |
34 | "source": "<h2>QFT Gate and Circuit</h2>", |
|
51 | "cell_type": "markdown", | |
35 |
" |
|
52 | "source": [ | |
|
53 | "<h2>QFT Gate and Circuit</h2>" | |||
|
54 | ] | |||
36 | }, |
|
55 | }, | |
37 | { |
|
56 | { | |
38 | "source": "Build a 3 qubit QFT and decompose it into primitive gates.", |
|
57 | "cell_type": "markdown", | |
39 |
" |
|
58 | "source": [ | |
|
59 | "Build a 3 qubit QFT and decompose it into primitive gates." | |||
|
60 | ] | |||
40 | }, |
|
61 | }, | |
41 | { |
|
62 | { | |
42 | "cell_type": "code", |
|
63 | "cell_type": "code", | |
|
64 | "collapsed": false, | |||
|
65 | "input": [ | |||
|
66 | "fourier = QFT(0,3).decompose(); fourier" | |||
|
67 | ], | |||
43 | "language": "python", |
|
68 | "language": "python", | |
44 | "outputs": [ |
|
69 | "outputs": [ | |
45 | { |
|
70 | { | |
|
71 | "latex": [ | |||
|
72 | "$$SWAP_{0,2} H_{0} C_{0}{\\left(S_{1}\\right)} H_{1} C_{0}{\\left(T_{2}\\right)} C_{1}{\\left(S_{2}\\right)} H_{2}$$" | |||
|
73 | ], | |||
46 | "output_type": "pyout", |
|
74 | "output_type": "pyout", | |
47 | "latex": "$$SWAP_{0,2} H_{0} C_{0}{\\left(S_{1}\\right)} H_{1} C_{0}{\\left(T_{2}\\right)} C_{1}{\\left(S_{2}\\right)} H_{2}$$", |
|
|||
48 | "prompt_number": 3, |
|
|||
49 | "png": "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\n", |
|
75 | "png": "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\n", | |
50 | "text": "SWAP \u22c5H \u22c5C \u239bS \u239e\u22c5H \u22c5C \u239bT \u239e\u22c5C \u239bS \u239e\u22c5H \n 0,2 0 0\u239d 1\u23a0 1 0\u239d 2\u23a0 1\u239d 2\u23a0 2" |
|
76 | "prompt_number": 3, | |
|
77 | "text": [ | |||
|
78 | "SWAP \u22c5H \u22c5C \u239bS \u239e\u22c5H \u22c5C \u239bT \u239e\u22c5C \u239bS \u239e\u22c5H ", | |||
|
79 | " 0,2 0 0\u239d 1\u23a0 1 0\u239d 2\u23a0 1\u239d 2\u23a0 2" | |||
|
80 | ] | |||
51 | } |
|
81 | } | |
52 | ], |
|
82 | ], | |
53 |
" |
|
83 | "prompt_number": 3 | |
54 | "prompt_number": 3, |
|
|||
55 | "input": "fourier = QFT(0,3).decompose(); fourier\n" |
|
|||
56 | }, |
|
84 | }, | |
57 | { |
|
85 | { | |
58 | "cell_type": "code", |
|
86 | "cell_type": "code", | |
|
87 | "collapsed": false, | |||
|
88 | "input": [ | |||
|
89 | "circuit_plot(fourier, nqubits=3)" | |||
|
90 | ], | |||
59 | "language": "python", |
|
91 | "language": "python", | |
60 | "outputs": [ |
|
92 | "outputs": [ | |
61 | { |
|
93 | { | |
62 | "output_type": "pyout", |
|
94 | "output_type": "pyout", | |
63 | "prompt_number": 4, |
|
95 | "prompt_number": 4, | |
64 | "text": "<sympy.physics.quantum.circuitplot.CircuitPlot object at 0x4992910>" |
|
96 | "text": [ | |
|
97 | "<sympy.physics.quantum.circuitplot.CircuitPlot object at 0x4992910>" | |||
|
98 | ] | |||
65 | }, |
|
99 | }, | |
66 | { |
|
100 | { | |
67 | "output_type": "display_data", |
|
101 | "output_type": "display_data", | |
68 | "png": "iVBORw0KGgoAAAANSUhEUgAAAa8AAADFCAYAAADjc32JAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAEnhJREFUeJzt3X9MVfXjx/HXuZeuAiECSZlOizkXGjVrECEgQbq0WWHa\nomXpVpNpzbIflLVafxi12qzW/FSzH1t/kJm1Ya5mTn7IbentF7OoGFFiq8RMELho/DjfP5p8Y9yL\ngJd77vv6fGznn/PWw+vNkfvivM+5V8u2bVsAABjE5XQAAABGi/ICABiH8gIAGIfyAgAYh/ICABiH\n8gIAGIfyAgAYh/ICABiH8gIAGIfyAgAYh/ICABiH8gIAGIfyAgAYh/ICABiH8gIAGIfyAgAYh/IC\nABiH8gIAGIfyAgAYh/ICABiH8gIAGIfyAgAYh/ICABiH8gIAGIfyAgAYh/ICABgnKsorOTlZlmWN\n25acnOz0FAeEcq6RNC9pfM5jpM0RQGhYtm3bToc4W5ZlaTynMd7HH41QZomkeUnjkyfS5gggNKLi\nygsAcG6hvAAAxqG8AADGifryWrZsmdLT0+VyueTxeDRv3jytWbNGknTo0CEVFhZq+vTpcrlcSkxM\nVFZWlrZs2eJw6rHp7e3VK6+8opUrV6qkpETFxcV666231NXVpaVLlzodb1QOHjwol8slt9utOXPm\naPHixbr22msHzuN1112nxYsXKycnR/Hx8XK73ero6HA6NoBwsaPAmabxxRdf2JZl2Q888EDA8fLy\nctuyLPv9998f0/HDKVgWv99v33jjjfamTZsG7S8vL7dnz55tl5SUjPhYTvlvno0bN9orVqywOzs7\nB/Z9//33tmVZ9urVqwf9vYMHD9qTJ08+4zEBRI+ov/KSpNraWknSkiVLAo5XVVXJ7XZr0aJF4YwV\nUnfddZemTZumjRs3Dtr/2GOPqbOzU9dff71Dycbm66+/VkVFheLj4wf21dTUSJIWLlw46M9efvnl\nmj9/fljzAecKv98/ZF9/f7+6u7sdSPP/zonyqqmpkcfjUW5u7pCxnp4eeb1eZWRkKDEx0YF0Z6+9\nvV2VlZVasWJFwPGMjAwVFRWFOdXYffPNN8rPz5fb7R60//QvIfn5+YP29/X16YILLghbPuBc0dXV\npblz5w787En/Fte9996rp59+2sFk50B59ff3y+v1KjMzU7GxsUPGfT6f/H7/kBdEk9TV1amnp0eN\njY0Bx/Py8jRz5swwpxq7o0ePatWqVUP219bW6tJLL9W0adMG7e/p6Ql6VQ1g7OLj47V161YtX75c\ntbW1A8XV1NSkp556ytFsMY5+9TCor69Xe3u7CgoKAo5XVVVJkhYsWBDGVKGVnZ0tt9utDRs26Jdf\nftEtt9yia665RjEx/57eJ554wuGEoxNo+bapqUl//PGH7r777iFjEydO1G233RaOaMA5p6ioSBUV\nFVq+fLkyMzPV2dmpXbt26fzzz3c2WLCbYZKM2oJ56aWXbMuy7KysLPuGG24YsqWkpNgul8v+66+/\ngh7D6bmNZK4vvPCCPWHCBNuyLNuyLDs+Pt5et26d3dbWZsy8hjuPb775pm1Zlv32228H/TOmzJGN\nje3st6BXXrZBH6ljWVbQsZqaGsXExKiqqkpxcXGDxvr6+jRp0iSlp6crJSVl2K8RKd+PYHN9+OGH\ntXTpUlVUVKiqqkpffPGFtmzZoiNHjmj79u1Bjxcp85KGP4/B7neNRCTNETDNf5cKa2trNWXKFH3w\nwQeO32qJ6s82tG1bqampuuSSS+Tz+YaMHzhwQNnZ2SotLR32vV2R9Pl4I83S0NCgxYsX688//1RH\nR4c8Hs+YjxUuw+VJS0tTT0+PDh8+HLJjAhjef4tr165dSkhI0J49e1RSUuJ4gUX1AxsNDQ06duyY\n8vLyAo7X1dVJMvt+1/PPPx9w/5w5c3THHXdIMv/K47ffftOvv/4a9DwCGB8nT55UUlLSoHtcRUVF\neu+999Tc3Oxotqgur9NLTYEekZckr9craWxLUZGgs7NT1dXVQcdPnDihq6++WhMmTAhfqHFwNkuG\nAMYuLi5OL7744pCHMwoLCwM+ERxOUV1eNTU1sixr2PKaNWuWpk6dGuZkobFv3z7t2bMn4G9Ara2t\n2rFjh8rLyx1IFlqny8vkK2QAoRW15XXq1ClVV1crLS1NqampQ8br6+vV2tpq9Ccz7N27V2lpaSor\nK9MPP/wwsL+5uVk333yzysrKjH/B9/v9+uyzzzR58mSlp6c7HQdAhIi693m1tLRo5cqVOnz4sI4e\nParjx48rNzdXd955p0pLS7Vz506Vl5erqalJlmWpsrJSBQUFevbZZ5WTk+N0/FE5cuSI9u/fr2+/\n/Vbr169XW1ubUlJSFBsbq82bNys7O9vpiGNi27aKi4vV0dGh5uZmtbS0SJKysrI0efJk3XPPPbyv\nCzjHRfXThqYcfzT4n5SdPyZwroqkn6eoXTYEAEQvygsAYJyouec13KcznK2kpKRxO/ZYhGqukTYv\nKfTnMRLnCODsRUV5RcoabDiMZK6RtC49GiPNbOr8AIQOy4YAAONQXgAA41BeAADjUF4AAONQXgAA\n41BeAADjUF4AAONQXgAA41BeAADjUF4AAONQXgAA41BeAADjUF4AAONQXgAA41BeAADjUF4AAONQ\nXgAA41BeAADjUF4AAONQXgAA41BeAADjUF4AAONQXgAA41BeAADjUF4AAONQXgAA41BeAADjUF4A\nAONQXgAA41BeAADjUF4AAONQXgAA41BewDhLTk6WZVnjtiUnJzs9RUmhnWekzAmRy7Jt23Y6BELL\nsixF82k1bX7jnTdSvh+hzBEpc8JgkXReuPICABiH8gIAGIfyAhyybNkypaeny+VyyePxaN68eVqz\nZo0k6dChQyosLNT06dPlcrmUmJiorKwsbdmyxeHUY9fb26tXXnlFK1euVElJiYqLi/XWW2+pq6tL\nS5cudToeDEN5AQ758MMP9c4770iS1q1bp2+++Uavv/66JGnmzJnau3ev7rvvPknS1q1bdeDAAa1d\nu9apuGelu7tbt9xyizo7O/Xuu++qoqJCH330kVpbW3XVVVcpISHB6YgwDOUFOKi2tlaStGTJkoDj\nVVVVcrvdWrRoUThjhdxdd92ladOmaePGjYP2P/bYY+rs7NT111/vUDKYKsbpAAit1tZWSVJPT4/O\nO+88h9PgTGpqauTxeJSbmztkrKenR16vVxkZGUpMTHQgXWi0t7ersrJSu3btCjiekZGhoqKiMKeC\n6bjyihLd3d1avny5ZsyYIUmaMmWKtm/f7nAqDKe/v19er1eZmZmKjY0dMu7z+eT3+5Wfn+9AutCp\nq6tTT0+PGhsbA47n5eVp5syZYU4F01FeUeKhhx7Srl27dOrUKUn//ra7atUq/fTTTw4nQzD19fVq\nb29XQUFBwPGqqipJ0oIFC8KYKvSys7Pldru1YcMGPfLII/J6vert7R0Yf+KJJxxMB1PxJuUoER8f\nL7/fP2hfTEyMHn30UW3atMmhVOMjkt4oORLB8r788st68MEHlZmZGfATJXw+n44fP67W1lalpKSM\n+vjhNlyOF198UU8++aT++ecfSVJcXJxWrVqlTZs2BVwSjZQ5YbCIOi92EJLY2NhCtAVSXFxsn3fe\n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\n" |
|
102 | "png": "iVBORw0KGgoAAAANSUhEUgAAAa8AAADFCAYAAADjc32JAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAEnhJREFUeJzt3X9MVfXjx/HXuZeuAiECSZlOizkXGjVrECEgQbq0WWHa\nomXpVpNpzbIflLVafxi12qzW/FSzH1t/kJm1Ya5mTn7IbentF7OoGFFiq8RMELho/DjfP5p8Y9yL\ngJd77vv6fGznn/PWw+vNkfvivM+5V8u2bVsAABjE5XQAAABGi/ICABiH8gIAGIfyAgAYh/ICABiH\n8gIAGIfyAgAYh/ICABiH8gIAGIfyAgAYh/ICABiH8gIAGIfyAgAYh/ICABiH8gIAGIfyAgAYh/IC\nABiH8gIAGIfyAgAYh/ICABiH8gIAGIfyAgAYh/ICABiH8gIAGIfyAgAYh/ICABgnKsorOTlZlmWN\n25acnOz0FAeEcq6RNC9pfM5jpM0RQGhYtm3bToc4W5ZlaTynMd7HH41QZomkeUnjkyfS5gggNKLi\nygsAcG6hvAAAxqG8AADGifryWrZsmdLT0+VyueTxeDRv3jytWbNGknTo0CEVFhZq+vTpcrlcSkxM\nVFZWlrZs2eJw6rHp7e3VK6+8opUrV6qkpETFxcV666231NXVpaVLlzodb1QOHjwol8slt9utOXPm\naPHixbr22msHzuN1112nxYsXKycnR/Hx8XK73ero6HA6NoBwsaPAmabxxRdf2JZl2Q888EDA8fLy\nctuyLPv9998f0/HDKVgWv99v33jjjfamTZsG7S8vL7dnz55tl5SUjPhYTvlvno0bN9orVqywOzs7\nB/Z9//33tmVZ9urVqwf9vYMHD9qTJ08+4zEBRI+ov/KSpNraWknSkiVLAo5XVVXJ7XZr0aJF4YwV\nUnfddZemTZumjRs3Dtr/2GOPqbOzU9dff71Dycbm66+/VkVFheLj4wf21dTUSJIWLlw46M9efvnl\nmj9/fljzAecKv98/ZF9/f7+6u7sdSPP/zonyqqmpkcfjUW5u7pCxnp4eeb1eZWRkKDEx0YF0Z6+9\nvV2VlZVasWJFwPGMjAwVFRWFOdXYffPNN8rPz5fb7R60//QvIfn5+YP29/X16YILLghbPuBc0dXV\npblz5w787En/Fte9996rp59+2sFk50B59ff3y+v1KjMzU7GxsUPGfT6f/H7/kBdEk9TV1amnp0eN\njY0Bx/Py8jRz5swwpxq7o0ePatWqVUP219bW6tJLL9W0adMG7e/p6Ql6VQ1g7OLj47V161YtX75c\ntbW1A8XV1NSkp556ytFsMY5+9TCor69Xe3u7CgoKAo5XVVVJkhYsWBDGVKGVnZ0tt9utDRs26Jdf\nftEtt9yia665RjEx/57eJ554wuGEoxNo+bapqUl//PGH7r777iFjEydO1G233RaOaMA5p6ioSBUV\nFVq+fLkyMzPV2dmpXbt26fzzz3c2WLCbYZKM2oJ56aWXbMuy7KysLPuGG24YsqWkpNgul8v+66+/\ngh7D6bmNZK4vvPCCPWHCBNuyLNuyLDs+Pt5et26d3dbWZsy8hjuPb775pm1Zlv32228H/TOmzJGN\nje3st6BXXrZBH6ljWVbQsZqaGsXExKiqqkpxcXGDxvr6+jRp0iSlp6crJSVl2K8RKd+PYHN9+OGH\ntXTpUlVUVKiqqkpffPGFtmzZoiNHjmj79u1Bjxcp85KGP4/B7neNRCTNETDNf5cKa2trNWXKFH3w\nwQeO32qJ6s82tG1bqampuuSSS+Tz+YaMHzhwQNnZ2SotLR32vV2R9Pl4I83S0NCgxYsX688//1RH\nR4c8Hs+YjxUuw+VJS0tTT0+PDh8+HLJjAhjef4tr165dSkhI0J49e1RSUuJ4gUX1AxsNDQ06duyY\n8vLyAo7X1dVJMvt+1/PPPx9w/5w5c3THHXdIMv/K47ffftOvv/4a9DwCGB8nT55UUlLSoHtcRUVF\neu+999Tc3Oxotqgur9NLTYEekZckr9craWxLUZGgs7NT1dXVQcdPnDihq6++WhMmTAhfqHFwNkuG\nAMYuLi5OL7744pCHMwoLCwM+ERxOUV1eNTU1sixr2PKaNWuWpk6dGuZkobFv3z7t2bMn4G9Ara2t\n2rFjh8rLyx1IFlqny8vkK2QAoRW15XXq1ClVV1crLS1NqampQ8br6+vV2tpq9Ccz7N27V2lpaSor\nK9MPP/wwsL+5uVk333yzysrKjH/B9/v9+uyzzzR58mSlp6c7HQdAhIi693m1tLRo5cqVOnz4sI4e\nParjx48rNzdXd955p0pLS7Vz506Vl5erqalJlmWpsrJSBQUFevbZZ5WTk+N0/FE5cuSI9u/fr2+/\n/Vbr169XW1ubUlJSFBsbq82bNys7O9vpiGNi27aKi4vV0dGh5uZmtbS0SJKysrI0efJk3XPPPbyv\nCzjHRfXThqYcfzT4n5SdPyZwroqkn6eoXTYEAEQvygsAYJyouec13KcznK2kpKRxO/ZYhGqukTYv\nKfTnMRLnCODsRUV5RcoabDiMZK6RtC49GiPNbOr8AIQOy4YAAONQXgAA41BeAADjUF4AAONQXgAA\n41BeAADjUF4AAONQXgAA41BeAADjUF4AAONQXgAA41BeAADjUF4AAONQXgAA41BeAADjUF4AAONQ\nXgAA41BeAADjUF4AAONQXgAA41BeAADjUF4AAONQXgAA41BeAADjUF4AAONQXgAA41BeAADjUF4A\nAONQXgAA41BeAADjUF4AAONQXgAA41BewDhLTk6WZVnjtiUnJzs9RUmhnWekzAmRy7Jt23Y6BELL\nsixF82k1bX7jnTdSvh+hzBEpc8JgkXReuPICABiH8gIAGIfyAhyybNkypaeny+VyyePxaN68eVqz\nZo0k6dChQyosLNT06dPlcrmUmJiorKwsbdmyxeHUY9fb26tXXnlFK1euVElJiYqLi/XWW2+pq6tL\nS5cudToeDEN5AQ758MMP9c4770iS1q1bp2+++Uavv/66JGnmzJnau3ev7rvvPknS1q1bdeDAAa1d\nu9apuGelu7tbt9xyizo7O/Xuu++qoqJCH330kVpbW3XVVVcpISHB6YgwDOUFOKi2tlaStGTJkoDj\nVVVVcrvdWrRoUThjhdxdd92ladOmaePGjYP2P/bYY+rs7NT111/vUDKYKsbpAAit1tZWSVJPT4/O\nO+88h9PgTGpqauTxeJSbmztkrKenR16vVxkZGUpMTHQgXWi0t7ersrJSu3btCjiekZGhoqKiMKeC\n6bjyihLd3d1avny5ZsyYIUmaMmWKtm/f7nAqDKe/v19er1eZmZmKjY0dMu7z+eT3+5Wfn+9AutCp\nq6tTT0+PGhsbA47n5eVp5syZYU4F01FeUeKhhx7Srl27dOrUKUn//ra7atUq/fTTTw4nQzD19fVq\nb29XQUFBwPGqqipJ0oIFC8KYKvSys7Pldru1YcMGPfLII/J6vert7R0Yf+KJJxxMB1PxJuUoER8f\nL7/fP2hfTEyMHn30UW3atMmhVOMjkt4oORLB8r788st68MEHlZmZGfATJXw+n44fP67W1lalpKSM\n+vjhNlyOF198UU8++aT++ecfSVJcXJxWrVqlTZs2BVwSjZQ5YbCIOi92EJLY2NhCtAVSXFxsn3fe\neXZXV9eQsd7eXjsuLs6eO3dusB/RiPxZHc6PP/5oP/3003Z+fr7t8Xhsy7Ls5cuXR/yc2CJz48or\nStx000365JNPBi3HxMXFaffu3Zo/f76DyUIvon77G4FAeW3bVmpqqi655BL5fL4hf+fAgQPKzs5W\naWnpGd/bFSnfj9HkaGho0OLFi/Xnn3+qo6NDHo9nzMdC+ETSeeGeV5R4/fXXNWPGDCUkJOj888/X\nxIkTdf/990ddcUWLhoYGHTt2THl5eQHH6+rqJJl/v+v5558PuH/OnDm64447JCliXgxhFh6VjxJT\np05VY2Oj9u7dq99//115eXlKS0tzOhaCOP3+rkCPyEuS1+uVJKOfNOzs7FR1dbXKysoCjp84cUJX\nX321JkyYEOZkiAaUVxRxu91auHCh0zEwAjU1NbIsa9jymjVrlqZOnRrmZKGzb98+7dmzR83NzUN+\nkWptbdWOHTu0bds2h9LBdCwbAmF26tQpVVdXKy0tTampqUPG6+vr1draavyS7969e5WWlqaysjL9\n8MMPA/ubm5t18803q6yszPhlUTiHKy8gTFpaWrRy5UodPnxYR48e1fHjx5Wbm6s777xTpaWl2rlz\np8rLy9XU1CTLslRZWamCggI9++yzysnJcTr+qB05ckT79+/Xt99+q/Xr16utrU0pKSmKjY3V5s2b\nlZ2d7XREGIynDWGcSHriaST4zyidPRZCJ5LOC8uGAADjUF4AAONQXgAA4/DABhAGlmWN27GTkpLG\n7dijFap5RtKcEJkoL2CcRcoN7vE20nlG0k1/mItlQwCAcSgvAIBxKC8AgHEoLwCAcSgvAIBxKC8A\ngHEoLwCAcSgvAIBxKC8AgHEoLwCAcSgvAIBxKC8AgHEoLwCAcSgvAIBxKC8AgHEoLwCAcSgvAIBx\nKC8AgHEoLwCAcSgvAIBxKC8AgHEoLwCAcSgvAIBxKC8AgHEoLwCAcSgvAIBxKC8AgHEoLwCAcSgv\nAIBxKC8AgHEoLwCAcSgvAIBxKC8ACCI5OVmWZY3blpyc7PQUjWXZtm07HQIYDcuyxD9bc5l0/sY7\nq0nfCymy8nLlBQAwDuUFADAO5QUAY7Bs2TKlp6fL5XLJ4/Fo3rx5WrNmjSTp0KFDKiws1PTp0+Vy\nuZSYmKisrCxt2bLF4dTRg3teME4krbtj9Ew6f2fKun//fl177bVav369Nm/ePGT8ueee08aNG7Vt\n2zatWLFi1MePNJGUlysvABij2tpaSdKSJUsCjldVVcntdmvRokXhjHVOoLxgDL/frx07dkiSjh07\n5nAajFZTU5PeeecdSVJfX5+zYUKkpqZGHo9Hubm5Q8Z6enrk9XqVkZGhxMREB9Kdvf7+flVUVKi/\nv3/Q/p9//lmff/65Q6n+RXnBCD6fT9OmTdPq1aslSdOnT9e2bdscToWRsG1bGzZs0BVXXKH77rtP\nknTZZZfpyJEjDic7O/39/fJ6vcrMzFRsbOyQcZ/PJ7/fr/z8fAfShcbJkyf16quvau3atQMF9vPP\nP6uwsFDff/+9o9koL0S8/v5+FRcXq62tTR0dHZL+/aFavXq1/v77b4fT4Uyqq6v1xhtvqLu7W11d\nXZKkX3/9VevWrXM42dmpr69Xe3u7CgoKAo5XVVVJkhYsWBDGVKEVFxenTz/9VAcPHtTatWslSYWF\nhXr88cd17733OpotxtGvDozAjz/+qLa2tiH7Y2JitHv3bt1+++0OpMJIvf/++/L7/YP29fb26uOP\nP3YoUWicvt+1e/duffnll0PGfT6fLMsy+spLkhISEvTpp58OlHRZWZlKS0udDaVhnja0LCvcWQAg\n4gR7um7ZsmX6+OOP1dbWpri4uEFjfX19mjRpki699FJ99913QY/N6+zYBV02tG2bjS1itquuukpu\nt3vQv9GkpCR1d3c7no1t+O27774b8uIeGxurBx54wPFsZ9qGe33ct2+frrzyyiFzk6SvvvpK3d3d\nI7rqcnqOZ9qampo0Y8YM/e9//9OJEyeUk5OjNWvWqK+vz9Fc3POCEXbu3Kl58+YpNjZW8fHxmjFj\nhvbs2aOJEyc6HQ1nMHfuXG3dulWTJk1SQkKCJkyYoKVLl+q5555zOtqYNTQ06NixY8rLyws4XldX\nJ8ns+12S1NXVpaKiIj3++OMqLS0dWEI8ePCgnnnmGUezcc8LRrj44ovl8/l06NAhnTx5UrNnz2bJ\nxSAlJSW69dZb1djYqAsvvFBTpkxxOtJZOX2/K9Aj8pLk9Xolyfj7XfHx8frkk0+Unp4+sO90gbW3\ntzuYjE/YAICggn2ixO23367t27frjz/+UGpq6pDxiy66SJMmTVJjY+OYjo8zY9kQAEbh1KlTqq6u\nVlpaWsDiqq+vV2trq+bPn+9AunMH5QUAI9DS0qIFCxYoPT1dR48eVUtLi3Jzc/Xaa69J+ve+bE5O\njhYuXCjLslRZWamCggLHP4kiWrFsCABB8J9RRi6uvAAAxqG8AADGobwAAMbhfV4AMIzxfD9hUlLS\nuB072lFeABAED1NELpYNAQDGobwAAMahvAAAxqG8AADGobwAAMahvAAAxqG8AADGobwAAMahvAAA\nxqG8AADGobwAAMahvAAAxqG8AADGobwAAMahvAAAxqG8AADGobwAAMahvAAAxqG8AADGobwAAMah\nvAAAxqG8AADGobwAAMahvAAAxqG8AADGobwAAMahvAAAxqG8AADGobwAAMahvAAAxqG8AADGobwA\nAMahvAAAxqG8AADG+T9bnbupimRS1gAAAABJRU5ErkJggg==\n" | |
69 | } |
|
103 | } | |
70 | ], |
|
104 | ], | |
71 |
" |
|
105 | "prompt_number": 4 | |
72 | "prompt_number": 4, |
|
|||
73 | "input": "circuit_plot(fourier, nqubits=3)" |
|
|||
74 | }, |
|
106 | }, | |
75 | { |
|
107 | { | |
76 | "source": "The QFT circuit can be represented in various symbolic forms.", |
|
108 | "cell_type": "markdown", | |
77 |
" |
|
109 | "source": [ | |
|
110 | "The QFT circuit can be represented in various symbolic forms." | |||
|
111 | ] | |||
78 | }, |
|
112 | }, | |
79 | { |
|
113 | { | |
80 | "cell_type": "code", |
|
114 | "cell_type": "code", | |
|
115 | "collapsed": true, | |||
|
116 | "input": [ | |||
|
117 | "m = represent(fourier, nqubits=3)" | |||
|
118 | ], | |||
81 | "language": "python", |
|
119 | "language": "python", | |
82 | "outputs": [], |
|
120 | "outputs": [], | |
83 |
" |
|
121 | "prompt_number": 5 | |
84 | "prompt_number": 5, |
|
|||
85 | "input": "m = represent(fourier, nqubits=3)" |
|
|||
86 | }, |
|
122 | }, | |
87 | { |
|
123 | { | |
88 | "cell_type": "code", |
|
124 | "cell_type": "code", | |
|
125 | "collapsed": false, | |||
|
126 | "input": [ | |||
|
127 | "m" | |||
|
128 | ], | |||
89 | "language": "python", |
|
129 | "language": "python", | |
90 | "outputs": [ |
|
130 | "outputs": [ | |
91 | { |
|
131 | { | |
|
132 | "latex": [ | |||
|
133 | "$$\\left(\\begin{smallmatrix}\\frac{1}{4} \\sqrt{2} & \\frac{1}{4} \\sqrt{2} & \\frac{1}{4} \\sqrt{2} & \\frac{1}{4} \\sqrt{2} & \\frac{1}{4} \\sqrt{2} & \\frac{1}{4} \\sqrt{2} & \\frac{1}{4} \\sqrt{2} & \\frac{1}{4} \\sqrt{2}\\\\\\frac{1}{4} \\sqrt{2} & \\frac{1}{4} \\sqrt{2} e^{\\frac{1}{4} \\mathbf{\\imath} \\pi} & \\frac{1}{4} \\sqrt{2} \\mathbf{\\imath} & \\frac{1}{4} \\sqrt{2} \\mathbf{\\imath} e^{\\frac{1}{4} \\mathbf{\\imath} \\pi} & - \\frac{1}{4} \\sqrt{2} & - \\frac{1}{4} \\sqrt{2} e^{\\frac{1}{4} \\mathbf{\\imath} \\pi} & - \\frac{1}{4} \\sqrt{2} \\mathbf{\\imath} & - \\frac{1}{4} \\sqrt{2} \\mathbf{\\imath} e^{\\frac{1}{4} \\mathbf{\\imath} \\pi}\\\\\\frac{1}{4} \\sqrt{2} & \\frac{1}{4} \\sqrt{2} \\mathbf{\\imath} & - \\frac{1}{4} \\sqrt{2} & - \\frac{1}{4} \\sqrt{2} \\mathbf{\\imath} & \\frac{1}{4} \\sqrt{2} & \\frac{1}{4} \\sqrt{2} \\mathbf{\\imath} & - \\frac{1}{4} \\sqrt{2} & - \\frac{1}{4} \\sqrt{2} \\mathbf{\\imath}\\\\\\frac{1}{4} \\sqrt{2} & \\frac{1}{4} \\sqrt{2} \\mathbf{\\imath} e^{\\frac{1}{4} \\mathbf{\\imath} \\pi} & - \\frac{1}{4} \\sqrt{2} \\mathbf{\\imath} & \\frac{1}{4} \\sqrt{2} e^{\\frac{1}{4} \\mathbf{\\imath} \\pi} & - \\frac{1}{4} \\sqrt{2} & - \\frac{1}{4} \\sqrt{2} \\mathbf{\\imath} e^{\\frac{1}{4} \\mathbf{\\imath} \\pi} & \\frac{1}{4} \\sqrt{2} \\mathbf{\\imath} & - \\frac{1}{4} \\sqrt{2} e^{\\frac{1}{4} \\mathbf{\\imath} \\pi}\\\\\\frac{1}{4} \\sqrt{2} & - \\frac{1}{4} \\sqrt{2} & \\frac{1}{4} \\sqrt{2} & - \\frac{1}{4} \\sqrt{2} & \\frac{1}{4} \\sqrt{2} & - \\frac{1}{4} \\sqrt{2} & \\frac{1}{4} \\sqrt{2} & - \\frac{1}{4} \\sqrt{2}\\\\\\frac{1}{4} \\sqrt{2} & - \\frac{1}{4} \\sqrt{2} e^{\\frac{1}{4} \\mathbf{\\imath} \\pi} & \\frac{1}{4} \\sqrt{2} \\mathbf{\\imath} & - \\frac{1}{4} \\sqrt{2} \\mathbf{\\imath} e^{\\frac{1}{4} \\mathbf{\\imath} \\pi} & - \\frac{1}{4} \\sqrt{2} & \\frac{1}{4} \\sqrt{2} e^{\\frac{1}{4} \\mathbf{\\imath} \\pi} & - \\frac{1}{4} \\sqrt{2} \\mathbf{\\imath} & \\frac{1}{4} \\sqrt{2} \\mathbf{\\imath} e^{\\frac{1}{4} \\mathbf{\\imath} \\pi}\\\\\\frac{1}{4} \\sqrt{2} & - \\frac{1}{4} \\sqrt{2} \\mathbf{\\imath} & - \\frac{1}{4} \\sqrt{2} & \\frac{1}{4} \\sqrt{2} \\mathbf{\\imath} & \\frac{1}{4} \\sqrt{2} & - \\frac{1}{4} \\sqrt{2} \\mathbf{\\imath} & - \\frac{1}{4} \\sqrt{2} & \\frac{1}{4} \\sqrt{2} \\mathbf{\\imath}\\\\\\frac{1}{4} \\sqrt{2} & - \\frac{1}{4} \\sqrt{2} \\mathbf{\\imath} e^{\\frac{1}{4} \\mathbf{\\imath} \\pi} & - \\frac{1}{4} \\sqrt{2} \\mathbf{\\imath} & - \\frac{1}{4} \\sqrt{2} e^{\\frac{1}{4} \\mathbf{\\imath} \\pi} & - \\frac{1}{4} \\sqrt{2} & \\frac{1}{4} \\sqrt{2} \\mathbf{\\imath} e^{\\frac{1}{4} \\mathbf{\\imath} \\pi} & \\frac{1}{4} \\sqrt{2} \\mathbf{\\imath} & \\frac{1}{4} \\sqrt{2} e^{\\frac{1}{4} \\mathbf{\\imath} \\pi}\\end{smallmatrix}\\right)$$" | |||
|
134 | ], | |||
92 | "output_type": "pyout", |
|
135 | "output_type": "pyout", | |
93 | "latex": "$$\\left(\\begin{smallmatrix}\\frac{1}{4} \\sqrt{2} & \\frac{1}{4} \\sqrt{2} & \\frac{1}{4} \\sqrt{2} & \\frac{1}{4} \\sqrt{2} & \\frac{1}{4} \\sqrt{2} & \\frac{1}{4} \\sqrt{2} & \\frac{1}{4} \\sqrt{2} & \\frac{1}{4} \\sqrt{2}\\\\\\frac{1}{4} \\sqrt{2} & \\frac{1}{4} \\sqrt{2} e^{\\frac{1}{4} \\mathbf{\\imath} \\pi} & \\frac{1}{4} \\sqrt{2} \\mathbf{\\imath} & \\frac{1}{4} \\sqrt{2} \\mathbf{\\imath} e^{\\frac{1}{4} \\mathbf{\\imath} \\pi} & - \\frac{1}{4} \\sqrt{2} & - \\frac{1}{4} \\sqrt{2} e^{\\frac{1}{4} \\mathbf{\\imath} \\pi} & - \\frac{1}{4} \\sqrt{2} \\mathbf{\\imath} & - \\frac{1}{4} \\sqrt{2} \\mathbf{\\imath} e^{\\frac{1}{4} \\mathbf{\\imath} \\pi}\\\\\\frac{1}{4} \\sqrt{2} & \\frac{1}{4} \\sqrt{2} \\mathbf{\\imath} & - \\frac{1}{4} \\sqrt{2} & - \\frac{1}{4} \\sqrt{2} \\mathbf{\\imath} & \\frac{1}{4} \\sqrt{2} & \\frac{1}{4} \\sqrt{2} \\mathbf{\\imath} & - \\frac{1}{4} \\sqrt{2} & - \\frac{1}{4} \\sqrt{2} \\mathbf{\\imath}\\\\\\frac{1}{4} \\sqrt{2} & \\frac{1}{4} \\sqrt{2} \\mathbf{\\imath} e^{\\frac{1}{4} \\mathbf{\\imath} \\pi} & - \\frac{1}{4} \\sqrt{2} \\mathbf{\\imath} & \\frac{1}{4} \\sqrt{2} e^{\\frac{1}{4} \\mathbf{\\imath} \\pi} & - \\frac{1}{4} \\sqrt{2} & - \\frac{1}{4} \\sqrt{2} \\mathbf{\\imath} e^{\\frac{1}{4} \\mathbf{\\imath} \\pi} & \\frac{1}{4} \\sqrt{2} \\mathbf{\\imath} & - \\frac{1}{4} \\sqrt{2} e^{\\frac{1}{4} \\mathbf{\\imath} \\pi}\\\\\\frac{1}{4} \\sqrt{2} & - \\frac{1}{4} \\sqrt{2} & \\frac{1}{4} \\sqrt{2} & - \\frac{1}{4} \\sqrt{2} & \\frac{1}{4} \\sqrt{2} & - \\frac{1}{4} \\sqrt{2} & \\frac{1}{4} \\sqrt{2} & - \\frac{1}{4} \\sqrt{2}\\\\\\frac{1}{4} \\sqrt{2} & - \\frac{1}{4} \\sqrt{2} e^{\\frac{1}{4} \\mathbf{\\imath} \\pi} & \\frac{1}{4} \\sqrt{2} \\mathbf{\\imath} & - \\frac{1}{4} \\sqrt{2} \\mathbf{\\imath} e^{\\frac{1}{4} \\mathbf{\\imath} \\pi} & - \\frac{1}{4} \\sqrt{2} & \\frac{1}{4} \\sqrt{2} e^{\\frac{1}{4} \\mathbf{\\imath} \\pi} & - \\frac{1}{4} \\sqrt{2} \\mathbf{\\imath} & \\frac{1}{4} \\sqrt{2} \\mathbf{\\imath} e^{\\frac{1}{4} \\mathbf{\\imath} \\pi}\\\\\\frac{1}{4} \\sqrt{2} & - \\frac{1}{4} \\sqrt{2} \\mathbf{\\imath} & - \\frac{1}{4} \\sqrt{2} & \\frac{1}{4} \\sqrt{2} \\mathbf{\\imath} & \\frac{1}{4} \\sqrt{2} & - \\frac{1}{4} \\sqrt{2} \\mathbf{\\imath} & - \\frac{1}{4} \\sqrt{2} & \\frac{1}{4} \\sqrt{2} \\mathbf{\\imath}\\\\\\frac{1}{4} \\sqrt{2} & - \\frac{1}{4} \\sqrt{2} \\mathbf{\\imath} e^{\\frac{1}{4} \\mathbf{\\imath} \\pi} & - \\frac{1}{4} \\sqrt{2} \\mathbf{\\imath} & - \\frac{1}{4} \\sqrt{2} e^{\\frac{1}{4} \\mathbf{\\imath} \\pi} & - \\frac{1}{4} \\sqrt{2} & \\frac{1}{4} \\sqrt{2} \\mathbf{\\imath} e^{\\frac{1}{4} \\mathbf{\\imath} \\pi} & \\frac{1}{4} \\sqrt{2} \\mathbf{\\imath} & \\frac{1}{4} \\sqrt{2} e^{\\frac{1}{4} \\mathbf{\\imath} \\pi}\\end{smallmatrix}\\right)$$", |
|
|||
94 | "prompt_number": 6, |
|
136 | "prompt_number": 6, | |
95 | "text": "\u23a1 \u23bd\u23bd\u23bd \u23bd\u23bd\u23bd \u23bd\u23bd\u23bd \u23bd\u23bd\u23bd \u23bd\u23bd\u23bd \u23bd\u23bd\u23bd \u23bd\u23bd\u23bd \n\u23a2\u2572\u2571 2 \u2572\u2571 2 \u2572\u2571 2 \u2572\u2571 2 \u2572\u2571 2 \u2572\u2571 2 \u2572\u2571 2 \n\u23a2\u2500\u2500\u2500\u2500\u2500 \u2500\u2500\u2500\u2500\u2500 \u2500\u2500\u2500\u2500\u2500 \u2500\u2500\u2500\u2500\u2500 \u2500\u2500\u2500\u2500\u2500 \u2500\u2500\u2500\u2500\u2500 \u2500\u2500\u2500\u2500\u2500 \n\u23a2 4 4 4 4 4 4 4 \n\u23a2 \n\u23a2 \u2148\u22c5\u03c0 \u2148\u22c5\u03c0 \u2148\u22c5\u03c0 \n\u23a2 \u2500\u2500\u2500 \u2500\u2500\u2500 \u2500\u2500\u2500 \n\u23a2 \u23bd\u23bd\u23bd \u23bd\u23bd\u23bd 4 \u23bd\u23bd\u23bd \u23bd\u23bd\u23bd 4 \u23bd\u23bd\u23bd \u23bd\u23bd\u23bd 4 \u23bd\u23bd\u23bd \n\u23a2\u2572\u2571 2 \u2572\u2571 2 \u22c5\u212f \u2572\u2571 2 \u22c5\u2148 \u2572\u2571 2 \u22c5\u2148\u22c5\u212f -\u2572\u2571 2 -\u2572\u2571 2 \u22c5\u212f -\u2572\u2571 2 \u22c5\n\u23a2\u2500\u2500\u2500\u2500\u2500 \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 \u2500\u2500\u2500\u2500\u2500\u2500\u2500 \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 \u2500\u2500\u2500\u2500\u2500\u2500 \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 \u2500\u2500\u2500\u2500\u2500\u2500\u2500\n\u23a2 4 4 4 4 4 4 4 \n\u23a2 \n\u23a2 \u23bd\u23bd\u23bd \u23bd\u23bd\u23bd \u23bd\u23bd\u23bd \u23bd\u23bd\u23bd \u23bd\u23bd\u23bd \u23bd\u23bd\u23bd \u23bd\u23bd\u23bd\n\u23a2\u2572\u2571 2 \u2572\u2571 2 \u22c5\u2148 -\u2572\u2571 2 -\u2572\u2571 2 \u22c5\u2148 \u2572\u2571 2 \u2572\u2571 2 \u22c5\u2148 -\u2572\u2571 2 \n\u23a2\u2500\u2500\u2500\u2500\u2500 \u2500\u2500\u2500\u2500\u2500\u2500\u2500 \u2500\u2500\u2500\u2500\u2500\u2500 \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 \u2500\u2500\u2500\u2500\u2500 \u2500\u2500\u2500\u2500\u2500\u2500\u2500 \u2500\u2500\u2500\u2500\u2500\u2500\n\u23a2 4 4 4 4 4 4 4 \n\u23a2 \n\u23a2 \u2148\u22c5\u03c0 \u2148\u22c5\u03c0 \u2148\u22c5\u03c0 \n\u23a2 \u2500\u2500\u2500 \u2500\u2500\u2500 \u2500\u2500\u2500 \n\u23a2 \u23bd\u23bd\u23bd \u23bd\u23bd\u23bd 4 \u23bd\u23bd\u23bd \u23bd\u23bd\u23bd 4 \u23bd\u23bd\u23bd \u23bd\u23bd\u23bd 4 \u23bd\u23bd\u23bd \n\u23a2\u2572\u2571 2 \u2572\u2571 2 \u22c5\u2148\u22c5\u212f -\u2572\u2571 2 \u22c5\u2148 \u2572\u2571 2 \u22c5\u212f -\u2572\u2571 2 -\u2572\u2571 2 \u22c5\u2148\u22c5\u212f \u2572\u2571 2 \u22c5\u2148\n\u23a2\u2500\u2500\u2500\u2500\u2500 \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 \u2500\u2500\u2500\u2500\u2500\u2500 \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 \u2500\u2500\u2500\u2500\u2500\u2500\u2500\n\u23a2 4 4 4 4 4 4 4 \n\u23a2 \n\u23a2 \u23bd\u23bd\u23bd \u23bd\u23bd\u23bd \u23bd\u23bd\u23bd \u23bd\u23bd\u23bd \u23bd\u23bd\u23bd \u23bd\u23bd\u23bd \u23bd\u23bd\u23bd \n\u23a2\u2572\u2571 2 -\u2572\u2571 2 \u2572\u2571 2 -\u2572\u2571 2 \u2572\u2571 2 -\u2572\u2571 2 \u2572\u2571 2 \n\u23a2\u2500\u2500\u2500\u2500\u2500 \u2500\u2500\u2500\u2500\u2500\u2500 \u2500\u2500\u2500\u2500\u2500 \u2500\u2500\u2500\u2500\u2500\u2500 \u2500\u2500\u2500\u2500\u2500 \u2500\u2500\u2500\u2500\u2500\u2500 \u2500\u2500\u2500\u2500\u2500 \n\u23a2 4 4 4 4 4 4 4 \n\u23a2 \n\u23a2 \u2148\u22c5\u03c0 \u2148\u22c5\u03c0 \u2148\u22c5\u03c0 \n\u23a2 \u2500\u2500\u2500 \u2500\u2500\u2500 \u2500\u2500\u2500 \n\u23a2 \u23bd\u23bd\u23bd \u23bd\u23bd\u23bd 4 \u23bd\u23bd\u23bd \u23bd\u23bd\u23bd 4 \u23bd\u23bd\u23bd \u23bd\u23bd\u23bd 4 \u23bd\u23bd\u23bd \n\u23a2\u2572\u2571 2 -\u2572\u2571 2 \u22c5\u212f \u2572\u2571 2 \u22c5\u2148 -\u2572\u2571 2 \u22c5\u2148\u22c5\u212f -\u2572\u2571 2 \u2572\u2571 2 \u22c5\u212f -\u2572\u2571 2 \u22c5\n\u23a2\u2500\u2500\u2500\u2500\u2500 \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 \u2500\u2500\u2500\u2500\u2500\u2500\u2500 \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 \u2500\u2500\u2500\u2500\u2500\u2500 \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 \u2500\u2500\u2500\u2500\u2500\u2500\u2500\n\u23a2 4 4 4 4 4 4 4 \n\u23a2 \n\u23a2 \u23bd\u23bd\u23bd \u23bd\u23bd\u23bd \u23bd\u23bd\u23bd \u23bd\u23bd\u23bd \u23bd\u23bd\u23bd \u23bd\u23bd\u23bd \u23bd\u23bd\u23bd\n\u23a2\u2572\u2571 2 -\u2572\u2571 2 \u22c5\u2148 -\u2572\u2571 2 \u2572\u2571 2 \u22c5\u2148 \u2572\u2571 2 -\u2572\u2571 2 \u22c5\u2148 -\u2572\u2571 2 \n\u23a2\u2500\u2500\u2500\u2500\u2500 \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 \u2500\u2500\u2500\u2500\u2500\u2500 \u2500\u2500\u2500\u2500\u2500\u2500\u2500 \u2500\u2500\u2500\u2500\u2500 \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 \u2500\u2500\u2500\u2500\u2500\u2500\n\u23a2 4 4 4 4 4 4 4 \n\u23a2 \n\u23a2 \u2148\u22c5\u03c0 \u2148\u22c5\u03c0 \u2148\u22c5\u03c0 \n\u23a2 \u2500\u2500\u2500 \u2500\u2500\u2500 \u2500\u2500\u2500 \n\u23a2 \u23bd\u23bd\u23bd \u23bd\u23bd\u23bd 4 \u23bd\u23bd\u23bd \u23bd\u23bd\u23bd 4 \u23bd\u23bd\u23bd \u23bd\u23bd\u23bd 4 \u23bd\u23bd\u23bd \n\u23a2\u2572\u2571 2 -\u2572\u2571 2 \u22c5\u2148\u22c5\u212f -\u2572\u2571 2 \u22c5\u2148 -\u2572\u2571 2 \u22c5\u212f -\u2572\u2571 2 \u2572\u2571 2 \u22c5\u2148\u22c5\u212f \u2572\u2571 2 \u22c5\u2148\n\u23a2\u2500\u2500\u2500\u2500\u2500 \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 \u2500\u2500\u2500\u2500\u2500\u2500 \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 \u2500\u2500\u2500\u2500\u2500\u2500\u2500\n\u23a3 4 4 4 4 4 4 4 \n\n \u23bd\u23bd\u23bd \u23a4\n \u2572\u2571 2 \u23a5\n \u2500\u2500\u2500\u2500\u2500 \u23a5\n 4 \u23a5\n \u23a5\n \u2148\u22c5\u03c0\u23a5\n \u2500\u2500\u2500\u23a5\n \u23bd\u23bd\u23bd 4 \u23a5\n\u2148 -\u2572\u2571 2 \u22c5\u2148\u22c5\u212f \u23a5\n\u2500 \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u23a5\n 4 \u23a5\n \u23a5\n \u23bd\u23bd\u23bd \u23a5\n -\u2572\u2571 2 \u22c5\u2148 \u23a5\n \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 \u23a5\n 4 \u23a5\n \u23a5\n \u2148\u22c5\u03c0 \u23a5\n \u2500\u2500\u2500 \u23a5\n \u23bd\u23bd\u23bd 4 \u23a5\n -\u2572\u2571 2 \u22c5\u212f \u23a5\n \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 \u23a5\n 4 \u23a5\n \u23a5\n \u23bd\u23bd\u23bd \u23a5\n -\u2572\u2571 2 \u23a5\n \u2500\u2500\u2500\u2500\u2500\u2500 \u23a5\n 4 \u23a5\n \u23a5\n \u2148\u22c5\u03c0 \u23a5\n \u2500\u2500\u2500 \u23a5\n \u23bd\u23bd\u23bd 4 \u23a5\n\u2148 \u2572\u2571 2 \u22c5\u2148\u22c5\u212f \u23a5\n\u2500 \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 \u23a5\n 4 \u23a5\n \u23a5\n \u23bd\u23bd\u23bd \u23a5\n \u2572\u2571 2 \u22c5\u2148 \u23a5\n \u2500\u2500\u2500\u2500\u2500\u2500\u2500 \u23a5\n 4 \u23a5\n \u23a5\n \u2148\u22c5\u03c0 \u23a5\n \u2500\u2500\u2500 \u23a5\n \u23bd\u23bd\u23bd 4 \u23a5\n \u2572\u2571 2 \u22c5\u212f \u23a5\n \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 \u23a5\n 4 \u23a6" |
|
137 | "text": [ | |
|
138 | "\u23a1 \u23bd\u23bd\u23bd \u23bd\u23bd\u23bd \u23bd\u23bd\u23bd \u23bd\u23bd\u23bd \u23bd\u23bd\u23bd \u23bd\u23bd\u23bd \u23bd\u23bd\u23bd ", | |||
|
139 | "\u23a2\u2572\u2571 2 \u2572\u2571 2 \u2572\u2571 2 \u2572\u2571 2 \u2572\u2571 2 \u2572\u2571 2 \u2572\u2571 2 ", | |||
|
140 | "\u23a2\u2500\u2500\u2500\u2500\u2500 \u2500\u2500\u2500\u2500\u2500 \u2500\u2500\u2500\u2500\u2500 \u2500\u2500\u2500\u2500\u2500 \u2500\u2500\u2500\u2500\u2500 \u2500\u2500\u2500\u2500\u2500 \u2500\u2500\u2500\u2500\u2500 ", | |||
|
141 | "\u23a2 4 4 4 4 4 4 4 ", | |||
|
142 | "\u23a2 ", | |||
|
143 | "\u23a2 \u2148\u22c5\u03c0 \u2148\u22c5\u03c0 \u2148\u22c5\u03c0 ", | |||
|
144 | "\u23a2 \u2500\u2500\u2500 \u2500\u2500\u2500 \u2500\u2500\u2500 ", | |||
|
145 | "\u23a2 \u23bd\u23bd\u23bd \u23bd\u23bd\u23bd 4 \u23bd\u23bd\u23bd \u23bd\u23bd\u23bd 4 \u23bd\u23bd\u23bd \u23bd\u23bd\u23bd 4 \u23bd\u23bd\u23bd ", | |||
|
146 | "\u23a2\u2572\u2571 2 \u2572\u2571 2 \u22c5\u212f \u2572\u2571 2 \u22c5\u2148 \u2572\u2571 2 \u22c5\u2148\u22c5\u212f -\u2572\u2571 2 -\u2572\u2571 2 \u22c5\u212f -\u2572\u2571 2 \u22c5", | |||
|
147 | "\u23a2\u2500\u2500\u2500\u2500\u2500 \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 \u2500\u2500\u2500\u2500\u2500\u2500\u2500 \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 \u2500\u2500\u2500\u2500\u2500\u2500 \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 \u2500\u2500\u2500\u2500\u2500\u2500\u2500", | |||
|
148 | "\u23a2 4 4 4 4 4 4 4 ", | |||
|
149 | "\u23a2 ", | |||
|
150 | "\u23a2 \u23bd\u23bd\u23bd \u23bd\u23bd\u23bd \u23bd\u23bd\u23bd \u23bd\u23bd\u23bd \u23bd\u23bd\u23bd \u23bd\u23bd\u23bd \u23bd\u23bd\u23bd", | |||
|
151 | "\u23a2\u2572\u2571 2 \u2572\u2571 2 \u22c5\u2148 -\u2572\u2571 2 -\u2572\u2571 2 \u22c5\u2148 \u2572\u2571 2 \u2572\u2571 2 \u22c5\u2148 -\u2572\u2571 2 ", | |||
|
152 | "\u23a2\u2500\u2500\u2500\u2500\u2500 \u2500\u2500\u2500\u2500\u2500\u2500\u2500 \u2500\u2500\u2500\u2500\u2500\u2500 \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 \u2500\u2500\u2500\u2500\u2500 \u2500\u2500\u2500\u2500\u2500\u2500\u2500 \u2500\u2500\u2500\u2500\u2500\u2500", | |||
|
153 | "\u23a2 4 4 4 4 4 4 4 ", | |||
|
154 | "\u23a2 ", | |||
|
155 | "\u23a2 \u2148\u22c5\u03c0 \u2148\u22c5\u03c0 \u2148\u22c5\u03c0 ", | |||
|
156 | "\u23a2 \u2500\u2500\u2500 \u2500\u2500\u2500 \u2500\u2500\u2500 ", | |||
|
157 | "\u23a2 \u23bd\u23bd\u23bd \u23bd\u23bd\u23bd 4 \u23bd\u23bd\u23bd \u23bd\u23bd\u23bd 4 \u23bd\u23bd\u23bd \u23bd\u23bd\u23bd 4 \u23bd\u23bd\u23bd ", | |||
|
158 | "\u23a2\u2572\u2571 2 \u2572\u2571 2 \u22c5\u2148\u22c5\u212f -\u2572\u2571 2 \u22c5\u2148 \u2572\u2571 2 \u22c5\u212f -\u2572\u2571 2 -\u2572\u2571 2 \u22c5\u2148\u22c5\u212f \u2572\u2571 2 \u22c5\u2148", | |||
|
159 | "\u23a2\u2500\u2500\u2500\u2500\u2500 \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 \u2500\u2500\u2500\u2500\u2500\u2500 \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 \u2500\u2500\u2500\u2500\u2500\u2500\u2500", | |||
|
160 | "\u23a2 4 4 4 4 4 4 4 ", | |||
|
161 | "\u23a2 ", | |||
|
162 | "\u23a2 \u23bd\u23bd\u23bd \u23bd\u23bd\u23bd \u23bd\u23bd\u23bd \u23bd\u23bd\u23bd \u23bd\u23bd\u23bd \u23bd\u23bd\u23bd \u23bd\u23bd\u23bd ", | |||
|
163 | "\u23a2\u2572\u2571 2 -\u2572\u2571 2 \u2572\u2571 2 -\u2572\u2571 2 \u2572\u2571 2 -\u2572\u2571 2 \u2572\u2571 2 ", | |||
|
164 | "\u23a2\u2500\u2500\u2500\u2500\u2500 \u2500\u2500\u2500\u2500\u2500\u2500 \u2500\u2500\u2500\u2500\u2500 \u2500\u2500\u2500\u2500\u2500\u2500 \u2500\u2500\u2500\u2500\u2500 \u2500\u2500\u2500\u2500\u2500\u2500 \u2500\u2500\u2500\u2500\u2500 ", | |||
|
165 | "\u23a2 4 4 4 4 4 4 4 ", | |||
|
166 | "\u23a2 ", | |||
|
167 | "\u23a2 \u2148\u22c5\u03c0 \u2148\u22c5\u03c0 \u2148\u22c5\u03c0 ", | |||
|
168 | "\u23a2 \u2500\u2500\u2500 \u2500\u2500\u2500 \u2500\u2500\u2500 ", | |||
|
169 | "\u23a2 \u23bd\u23bd\u23bd \u23bd\u23bd\u23bd 4 \u23bd\u23bd\u23bd \u23bd\u23bd\u23bd 4 \u23bd\u23bd\u23bd \u23bd\u23bd\u23bd 4 \u23bd\u23bd\u23bd ", | |||
|
170 | "\u23a2\u2572\u2571 2 -\u2572\u2571 2 \u22c5\u212f \u2572\u2571 2 \u22c5\u2148 -\u2572\u2571 2 \u22c5\u2148\u22c5\u212f -\u2572\u2571 2 \u2572\u2571 2 \u22c5\u212f -\u2572\u2571 2 \u22c5", | |||
|
171 | "\u23a2\u2500\u2500\u2500\u2500\u2500 \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 \u2500\u2500\u2500\u2500\u2500\u2500\u2500 \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 \u2500\u2500\u2500\u2500\u2500\u2500 \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 \u2500\u2500\u2500\u2500\u2500\u2500\u2500", | |||
|
172 | "\u23a2 4 4 4 4 4 4 4 ", | |||
|
173 | "\u23a2 ", | |||
|
174 | "\u23a2 \u23bd\u23bd\u23bd \u23bd\u23bd\u23bd \u23bd\u23bd\u23bd \u23bd\u23bd\u23bd \u23bd\u23bd\u23bd \u23bd\u23bd\u23bd \u23bd\u23bd\u23bd", | |||
|
175 | "\u23a2\u2572\u2571 2 -\u2572\u2571 2 \u22c5\u2148 -\u2572\u2571 2 \u2572\u2571 2 \u22c5\u2148 \u2572\u2571 2 -\u2572\u2571 2 \u22c5\u2148 -\u2572\u2571 2 ", | |||
|
176 | "\u23a2\u2500\u2500\u2500\u2500\u2500 \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 \u2500\u2500\u2500\u2500\u2500\u2500 \u2500\u2500\u2500\u2500\u2500\u2500\u2500 \u2500\u2500\u2500\u2500\u2500 \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 \u2500\u2500\u2500\u2500\u2500\u2500", | |||
|
177 | "\u23a2 4 4 4 4 4 4 4 ", | |||
|
178 | "\u23a2 ", | |||
|
179 | "\u23a2 \u2148\u22c5\u03c0 \u2148\u22c5\u03c0 \u2148\u22c5\u03c0 ", | |||
|
180 | "\u23a2 \u2500\u2500\u2500 \u2500\u2500\u2500 \u2500\u2500\u2500 ", | |||
|
181 | "\u23a2 \u23bd\u23bd\u23bd \u23bd\u23bd\u23bd 4 \u23bd\u23bd\u23bd \u23bd\u23bd\u23bd 4 \u23bd\u23bd\u23bd \u23bd\u23bd\u23bd 4 \u23bd\u23bd\u23bd ", | |||
|
182 | "\u23a2\u2572\u2571 2 -\u2572\u2571 2 \u22c5\u2148\u22c5\u212f -\u2572\u2571 2 \u22c5\u2148 -\u2572\u2571 2 \u22c5\u212f -\u2572\u2571 2 \u2572\u2571 2 \u22c5\u2148\u22c5\u212f \u2572\u2571 2 \u22c5\u2148", | |||
|
183 | "\u23a2\u2500\u2500\u2500\u2500\u2500 \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 \u2500\u2500\u2500\u2500\u2500\u2500 \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 \u2500\u2500\u2500\u2500\u2500\u2500\u2500", | |||
|
184 | "\u23a3 4 4 4 4 4 4 4 ", | |||
|
185 | "", | |||
|
186 | " \u23bd\u23bd\u23bd \u23a4", | |||
|
187 | " \u2572\u2571 2 \u23a5", | |||
|
188 | " \u2500\u2500\u2500\u2500\u2500 \u23a5", | |||
|
189 | " 4 \u23a5", | |||
|
190 | " \u23a5", | |||
|
191 | " \u2148\u22c5\u03c0\u23a5", | |||
|
192 | " \u2500\u2500\u2500\u23a5", | |||
|
193 | " \u23bd\u23bd\u23bd 4 \u23a5", | |||
|
194 | "\u2148 -\u2572\u2571 2 \u22c5\u2148\u22c5\u212f \u23a5", | |||
|
195 | "\u2500 \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u23a5", | |||
|
196 | " 4 \u23a5", | |||
|
197 | " \u23a5", | |||
|
198 | " \u23bd\u23bd\u23bd \u23a5", | |||
|
199 | " -\u2572\u2571 2 \u22c5\u2148 \u23a5", | |||
|
200 | " \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 \u23a5", | |||
|
201 | " 4 \u23a5", | |||
|
202 | " \u23a5", | |||
|
203 | " \u2148\u22c5\u03c0 \u23a5", | |||
|
204 | " \u2500\u2500\u2500 \u23a5", | |||
|
205 | " \u23bd\u23bd\u23bd 4 \u23a5", | |||
|
206 | " -\u2572\u2571 2 \u22c5\u212f \u23a5", | |||
|
207 | " \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 \u23a5", | |||
|
208 | " 4 \u23a5", | |||
|
209 | " \u23a5", | |||
|
210 | " \u23bd\u23bd\u23bd \u23a5", | |||
|
211 | " -\u2572\u2571 2 \u23a5", | |||
|
212 | " \u2500\u2500\u2500\u2500\u2500\u2500 \u23a5", | |||
|
213 | " 4 \u23a5", | |||
|
214 | " \u23a5", | |||
|
215 | " \u2148\u22c5\u03c0 \u23a5", | |||
|
216 | " \u2500\u2500\u2500 \u23a5", | |||
|
217 | " \u23bd\u23bd\u23bd 4 \u23a5", | |||
|
218 | "\u2148 \u2572\u2571 2 \u22c5\u2148\u22c5\u212f \u23a5", | |||
|
219 | "\u2500 \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 \u23a5", | |||
|
220 | " 4 \u23a5", | |||
|
221 | " \u23a5", | |||
|
222 | " \u23bd\u23bd\u23bd \u23a5", | |||
|
223 | " \u2572\u2571 2 \u22c5\u2148 \u23a5", | |||
|
224 | " \u2500\u2500\u2500\u2500\u2500\u2500\u2500 \u23a5", | |||
|
225 | " 4 \u23a5", | |||
|
226 | " \u23a5", | |||
|
227 | " \u2148\u22c5\u03c0 \u23a5", | |||
|
228 | " \u2500\u2500\u2500 \u23a5", | |||
|
229 | " \u23bd\u23bd\u23bd 4 \u23a5", | |||
|
230 | " \u2572\u2571 2 \u22c5\u212f \u23a5", | |||
|
231 | " \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 \u23a5", | |||
|
232 | " 4 \u23a6" | |||
|
233 | ] | |||
96 | } |
|
234 | } | |
97 | ], |
|
235 | ], | |
98 |
" |
|
236 | "prompt_number": 6 | |
99 | "prompt_number": 6, |
|
|||
100 | "input": "m" |
|
|||
101 | }, |
|
237 | }, | |
102 | { |
|
238 | { | |
103 | "cell_type": "code", |
|
239 | "cell_type": "code", | |
|
240 | "collapsed": false, | |||
|
241 | "input": [ | |||
|
242 | "represent(Fourier(0,3), nqubits=3)*4/sqrt(2)" | |||
|
243 | ], | |||
104 | "language": "python", |
|
244 | "language": "python", | |
105 | "outputs": [ |
|
245 | "outputs": [ | |
106 | { |
|
246 | { | |
|
247 | "latex": [ | |||
|
248 | "$$\\left(\\begin{smallmatrix}1 & 1 & 1 & 1 & 1 & 1 & 1 & 1\\\\1 & \\omega & \\omega^{2} & \\omega^{3} & \\omega^{4} & \\omega^{5} & \\omega^{6} & \\omega^{7}\\\\1 & \\omega^{2} & \\omega^{4} & \\omega^{6} & 1 & \\omega^{2} & \\omega^{4} & \\omega^{6}\\\\1 & \\omega^{3} & \\omega^{6} & \\omega & \\omega^{4} & \\omega^{7} & \\omega^{2} & \\omega^{5}\\\\1 & \\omega^{4} & 1 & \\omega^{4} & 1 & \\omega^{4} & 1 & \\omega^{4}\\\\1 & \\omega^{5} & \\omega^{2} & \\omega^{7} & \\omega^{4} & \\omega & \\omega^{6} & \\omega^{3}\\\\1 & \\omega^{6} & \\omega^{4} & \\omega^{2} & 1 & \\omega^{6} & \\omega^{4} & \\omega^{2}\\\\1 & \\omega^{7} & \\omega^{6} & \\omega^{5} & \\omega^{4} & \\omega^{3} & \\omega^{2} & \\omega\\end{smallmatrix}\\right)$$" | |||
|
249 | ], | |||
107 | "output_type": "pyout", |
|
250 | "output_type": "pyout", | |
108 | "latex": "$$\\left(\\begin{smallmatrix}1 & 1 & 1 & 1 & 1 & 1 & 1 & 1\\\\1 & \\omega & \\omega^{2} & \\omega^{3} & \\omega^{4} & \\omega^{5} & \\omega^{6} & \\omega^{7}\\\\1 & \\omega^{2} & \\omega^{4} & \\omega^{6} & 1 & \\omega^{2} & \\omega^{4} & \\omega^{6}\\\\1 & \\omega^{3} & \\omega^{6} & \\omega & \\omega^{4} & \\omega^{7} & \\omega^{2} & \\omega^{5}\\\\1 & \\omega^{4} & 1 & \\omega^{4} & 1 & \\omega^{4} & 1 & \\omega^{4}\\\\1 & \\omega^{5} & \\omega^{2} & \\omega^{7} & \\omega^{4} & \\omega & \\omega^{6} & \\omega^{3}\\\\1 & \\omega^{6} & \\omega^{4} & \\omega^{2} & 1 & \\omega^{6} & \\omega^{4} & \\omega^{2}\\\\1 & \\omega^{7} & \\omega^{6} & \\omega^{5} & \\omega^{4} & \\omega^{3} & \\omega^{2} & \\omega\\end{smallmatrix}\\right)$$", |
|
|||
109 | "prompt_number": 7, |
|
251 | "prompt_number": 7, | |
110 | "text": "\u23a11 1 1 1 1 1 1 1 \u23a4\n\u23a2 \u23a5\n\u23a2 2 3 4 5 6 7\u23a5\n\u23a21 \u03c9 \u03c9 \u03c9 \u03c9 \u03c9 \u03c9 \u03c9 \u23a5\n\u23a2 \u23a5\n\u23a2 2 4 6 2 4 6\u23a5\n\u23a21 \u03c9 \u03c9 \u03c9 1 \u03c9 \u03c9 \u03c9 \u23a5\n\u23a2 \u23a5\n\u23a2 3 6 4 7 2 5\u23a5\n\u23a21 \u03c9 \u03c9 \u03c9 \u03c9 \u03c9 \u03c9 \u03c9 \u23a5\n\u23a2 \u23a5\n\u23a2 4 4 4 4\u23a5\n\u23a21 \u03c9 1 \u03c9 1 \u03c9 1 \u03c9 \u23a5\n\u23a2 \u23a5\n\u23a2 5 2 7 4 6 3\u23a5\n\u23a21 \u03c9 \u03c9 \u03c9 \u03c9 \u03c9 \u03c9 \u03c9 \u23a5\n\u23a2 \u23a5\n\u23a2 6 4 2 6 4 2\u23a5\n\u23a21 \u03c9 \u03c9 \u03c9 1 \u03c9 \u03c9 \u03c9 \u23a5\n\u23a2 \u23a5\n\u23a2 7 6 5 4 3 2 \u23a5\n\u23a31 \u03c9 \u03c9 \u03c9 \u03c9 \u03c9 \u03c9 \u03c9 \u23a6" |
|
252 | "text": [ | |
|
253 | "\u23a11 1 1 1 1 1 1 1 \u23a4", | |||
|
254 | "\u23a2 \u23a5", | |||
|
255 | "\u23a2 2 3 4 5 6 7\u23a5", | |||
|
256 | "\u23a21 \u03c9 \u03c9 \u03c9 \u03c9 \u03c9 \u03c9 \u03c9 \u23a5", | |||
|
257 | "\u23a2 \u23a5", | |||
|
258 | "\u23a2 2 4 6 2 4 6\u23a5", | |||
|
259 | "\u23a21 \u03c9 \u03c9 \u03c9 1 \u03c9 \u03c9 \u03c9 \u23a5", | |||
|
260 | "\u23a2 \u23a5", | |||
|
261 | "\u23a2 3 6 4 7 2 5\u23a5", | |||
|
262 | "\u23a21 \u03c9 \u03c9 \u03c9 \u03c9 \u03c9 \u03c9 \u03c9 \u23a5", | |||
|
263 | "\u23a2 \u23a5", | |||
|
264 | "\u23a2 4 4 4 4\u23a5", | |||
|
265 | "\u23a21 \u03c9 1 \u03c9 1 \u03c9 1 \u03c9 \u23a5", | |||
|
266 | "\u23a2 \u23a5", | |||
|
267 | "\u23a2 5 2 7 4 6 3\u23a5", | |||
|
268 | "\u23a21 \u03c9 \u03c9 \u03c9 \u03c9 \u03c9 \u03c9 \u03c9 \u23a5", | |||
|
269 | "\u23a2 \u23a5", | |||
|
270 | "\u23a2 6 4 2 6 4 2\u23a5", | |||
|
271 | "\u23a21 \u03c9 \u03c9 \u03c9 1 \u03c9 \u03c9 \u03c9 \u23a5", | |||
|
272 | "\u23a2 \u23a5", | |||
|
273 | "\u23a2 7 6 5 4 3 2 \u23a5", | |||
|
274 | "\u23a31 \u03c9 \u03c9 \u03c9 \u03c9 \u03c9 \u03c9 \u03c9 \u23a6" | |||
|
275 | ] | |||
111 | } |
|
276 | } | |
112 | ], |
|
277 | ], | |
113 |
" |
|
278 | "prompt_number": 7 | |
114 | "prompt_number": 7, |
|
|||
115 | "input": "represent(Fourier(0,3), nqubits=3)*4/sqrt(2)\n" |
|
|||
116 | }, |
|
279 | }, | |
117 | { |
|
280 | { | |
118 |
" |
|
281 | "cell_type": "markdown", | |
119 |
" |
|
282 | "source": [ | |
|
283 | "<h2>QFT in Action</h2>" | |||
|
284 | ] | |||
120 | }, |
|
285 | }, | |
121 | { |
|
286 | { | |
122 | "source": "Build a 3 qubit state to take the QFT of.", |
|
287 | "cell_type": "markdown", | |
123 |
" |
|
288 | "source": [ | |
|
289 | "Build a 3 qubit state to take the QFT of." | |||
|
290 | ] | |||
124 | }, |
|
291 | }, | |
125 | { |
|
292 | { | |
126 | "cell_type": "code", |
|
293 | "cell_type": "code", | |
|
294 | "collapsed": false, | |||
|
295 | "input": [ | |||
|
296 | "state = (Qubit('000') + Qubit('010') + Qubit('100') + Qubit('110'))/sqrt(4); state" | |||
|
297 | ], | |||
127 | "language": "python", |
|
298 | "language": "python", | |
128 | "outputs": [ |
|
299 | "outputs": [ | |
129 | { |
|
300 | { | |
|
301 | "latex": [ | |||
|
302 | "$$\\frac{1}{2} \\left({\\left|000\\right\\rangle } + {\\left|010\\right\\rangle } + {\\left|100\\right\\rangle } + {\\left|110\\right\\rangle }\\right)$$" | |||
|
303 | ], | |||
130 | "output_type": "pyout", |
|
304 | "output_type": "pyout", | |
131 | "latex": "$$\\frac{1}{2} \\left({\\left|000\\right\\rangle } + {\\left|010\\right\\rangle } + {\\left|100\\right\\rangle } + {\\left|110\\right\\rangle }\\right)$$", |
|
|||
132 | "prompt_number": 8, |
|
|||
133 | "png": "iVBORw0KGgoAAAANSUhEUgAAAP4AAAAiCAYAAAB/amQFAAAABHNCSVQICAgIfAhkiAAABR5JREFU\neJztnFtoHFUYx3/bJNamphoraRvFVq2YQgQt+iBKKyqiguLlIYJQQX3wQbG+FC8g61MplGoror3g\nBXzwpYhI9UG0iohaBUWrBkGFWm94b1Mqac368M24k3Eu58yeMzuZ/X6w7M6Z/358/z2ZmXMNKIqi\nZDAM9Hc7CUVRymE+sAb4BljR3VQURXHBPAPNBDAEnOU5F0VRKkgLfeIrSi0weeIrilIzev3CPx24\nuNtJlEQveQX1m0mfReAmsBX40zKhKANIgoeAG4HJ2Pn5wL3AzcAFwBTwc0IcV7op4G5gbyE3dsT9\nmnoAaAAbgQ+A6RRNlb2GuPBhqpsrfk11RfyeA/yRn342nfbx+xFzpwTHzdj5PuAj4KHgeBHwCbDO\ns+4eYIm5jcI0I59Ncwu1TyK//2kpsavsNcSlj7r4NdUV9bsRufgL0wgS62RkfzNwbuS4GTt/G/AX\n0ioIWQccYXbyrnWnAvcbeohj22KyyW0EeBl4D/ia7D+MKnv14aMOfsuo32HgnYy4mdwOPIPccV4E\n1heIcT7wVKysGfncAD4DXopplgIzwAZPupBHKTbescdC27TMbQA4Mfi8mfQ/jCp7Bfc+6uK3rPq9\nBdgUD2rygzwP3AFcBNwKPG7wnTgbgJ0Z588ExoEPY+U/Ad8BV3nShbwGXJfpIJmFBb5jmtsx4G+H\n8ULK9ArufdTFb1n1uxu4nPZNBihnVL8PuAzpk6SxLHg/nHBuCljpSRfyPnBJRn4usc3NdbwyvdpQ\nh7r1gQu/vwA3RQvKuPDHgYNIsySNpcH7VMK5I7QHBF3rohwEzsjI0RVFcnMdryyvNtShbn3gwu8k\nch3+R3jhtzy8QkaB33LMLQjejyWcayFTGT50UUaAX3PydEGR3FzHK8urDXWoWx+48DsJLI8Kwt12\njU6zy2AYOJqj+TLj3EKkqeJDFzII/INZn6tTbHNzHa9MrzbUoW594MLvAdotB6Ccbba/kz8N+AVw\nnPbdLcog8KMnXcgEMmORRAPYlhLrPGBXQvkM8CDJLR3b3PKoslcb6lC3PnDhdzmxhTxlXPg/AGM5\nmmngK/7fDxtEVvrt86QLWQk8m5JbC9hObFQ04ELg6YTyGdJXTNnmlkeVvdpQh7r1gQu/q4DvowVl\nXPj7kabHMrKfZp8iU4ZR1gAnMHsq0LVuNbJGIYv9KeWHDb6bhGluruN1w6sNdahbH3Tqd4xY66WM\nUf0ZZG5xVY7uBeBqZncLrkfWL7/hUXcD8EqeCceY5uY6Xje82lCHuvVBp37PBl6PFpg88RcAdyFr\ngA8Az5G94SCJTcHrzQzNHuABZMHBVmQ24Eqkz+JLtwiZJjlu6adTTHLrB+5DBmXuDMp2I5sw9gJv\nW8brllfXPkx1VfdbVv1OAK8SWweQN5o/D3gCeATp12xBmhxrkea7DduAj2n3P5aQvOuqH2myHEWm\nIZKmMVzphpDf4JCpiRhvIauiTEjym5VbH3BtSqxvgc8Tyqvo1bUPU13V/ZZRv4sRH2uRQXZjxpE+\n0EhwPIoMiFxqEySS9A5i0wpznDK2fFaFXvIK9fC7BdknY80Q8BjSjAC5AbQwvxPGCffj1wXb5bVz\nmV7yCvXwu8JVoPXIZoGBPKGiKPVgDHgXae4ritIDjCL985OD417/X32KUnsWAw/Tbt6vBq7pXjqK\nonRK3nTeScjE/zTtHXejwBXI1j9FUeYgeQt4BpEFA1Fa6EWvKIqiKIqiKIqiKIqiKF3nX7rsUf7i\n3lIWAAAAAElFTkSuQmCC\n", |
|
305 | "png": "iVBORw0KGgoAAAANSUhEUgAAAP4AAAAiCAYAAAB/amQFAAAABHNCSVQICAgIfAhkiAAABR5JREFU\neJztnFtoHFUYx3/bJNamphoraRvFVq2YQgQt+iBKKyqiguLlIYJQQX3wQbG+FC8g61MplGoror3g\nBXzwpYhI9UG0iohaBUWrBkGFWm94b1Mqac368M24k3Eu58yeMzuZ/X6w7M6Z/358/z2ZmXMNKIqi\nZDAM9Hc7CUVRymE+sAb4BljR3VQURXHBPAPNBDAEnOU5F0VRKkgLfeIrSi0weeIrilIzev3CPx24\nuNtJlEQveQX1m0mfReAmsBX40zKhKANIgoeAG4HJ2Pn5wL3AzcAFwBTwc0IcV7op4G5gbyE3dsT9\nmnoAaAAbgQ+A6RRNlb2GuPBhqpsrfk11RfyeA/yRn342nfbx+xFzpwTHzdj5PuAj4KHgeBHwCbDO\ns+4eYIm5jcI0I59Ncwu1TyK//2kpsavsNcSlj7r4NdUV9bsRufgL0wgS62RkfzNwbuS4GTt/G/AX\n0ioIWQccYXbyrnWnAvcbeohj22KyyW0EeBl4D/ia7D+MKnv14aMOfsuo32HgnYy4mdwOPIPccV4E\n1heIcT7wVKysGfncAD4DXopplgIzwAZPupBHKTbescdC27TMbQA4Mfi8mfQ/jCp7Bfc+6uK3rPq9\nBdgUD2rygzwP3AFcBNwKPG7wnTgbgJ0Z588ExoEPY+U/Ad8BV3nShbwGXJfpIJmFBb5jmtsx4G+H\n8ULK9ArufdTFb1n1uxu4nPZNBihnVL8PuAzpk6SxLHg/nHBuCljpSRfyPnBJRn4usc3NdbwyvdpQ\nh7r1gQu/vwA3RQvKuPDHgYNIsySNpcH7VMK5I7QHBF3rohwEzsjI0RVFcnMdryyvNtShbn3gwu8k\nch3+R3jhtzy8QkaB33LMLQjejyWcayFTGT50UUaAX3PydEGR3FzHK8urDXWoWx+48DsJLI8Kwt12\njU6zy2AYOJqj+TLj3EKkqeJDFzII/INZn6tTbHNzHa9MrzbUoW594MLvAdotB6Ccbba/kz8N+AVw\nnPbdLcog8KMnXcgEMmORRAPYlhLrPGBXQvkM8CDJLR3b3PKoslcb6lC3PnDhdzmxhTxlXPg/AGM5\nmmngK/7fDxtEVvrt86QLWQk8m5JbC9hObFQ04ELg6YTyGdJXTNnmlkeVvdpQh7r1gQu/q4DvowVl\nXPj7kabHMrKfZp8iU4ZR1gAnMHsq0LVuNbJGIYv9KeWHDb6bhGluruN1w6sNdahbH3Tqd4xY66WM\nUf0ZZG5xVY7uBeBqZncLrkfWL7/hUXcD8EqeCceY5uY6Xje82lCHuvVBp37PBl6PFpg88RcAdyFr\ngA8Az5G94SCJTcHrzQzNHuABZMHBVmQ24Eqkz+JLtwiZJjlu6adTTHLrB+5DBmXuDMp2I5sw9gJv\nW8brllfXPkx1VfdbVv1OAK8SWweQN5o/D3gCeATp12xBmhxrkea7DduAj2n3P5aQvOuqH2myHEWm\nIZKmMVzphpDf4JCpiRhvIauiTEjym5VbH3BtSqxvgc8Tyqvo1bUPU13V/ZZRv4sRH2uRQXZjxpE+\n0EhwPIoMiFxqEySS9A5i0wpznDK2fFaFXvIK9fC7BdknY80Q8BjSjAC5AbQwvxPGCffj1wXb5bVz\nmV7yCvXwu8JVoPXIZoGBPKGiKPVgDHgXae4ritIDjCL985OD417/X32KUnsWAw/Tbt6vBq7pXjqK\nonRK3nTeScjE/zTtHXejwBXI1j9FUeYgeQt4BpEFA1Fa6EWvKIqiKIqiKIqiKIqiKF3nX7rsUf7i\n3lIWAAAAAElFTkSuQmCC\n", | |
134 | "text": "\u2758000\u27e9 + \u2758010\u27e9 + \u2758100\u27e9 + \u2758110\u27e9\n\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n 2" |
|
306 | "prompt_number": 8, | |
|
307 | "text": [ | |||
|
308 | "\u2758000\u27e9 + \u2758010\u27e9 + \u2758100\u27e9 + \u2758110\u27e9", | |||
|
309 | "\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500", | |||
|
310 | " 2" | |||
|
311 | ] | |||
135 | } |
|
312 | } | |
136 | ], |
|
313 | ], | |
137 |
" |
|
314 | "prompt_number": 8 | |
138 | "prompt_number": 8, |
|
|||
139 | "input": "state = (Qubit('000') + Qubit('010') + Qubit('100') + Qubit('110'))/sqrt(4); state\n" |
|
|||
140 | }, |
|
315 | }, | |
141 | { |
|
316 | { | |
142 |
" |
|
317 | "cell_type": "markdown", | |
143 |
" |
|
318 | "source": [ | |
|
319 | "Perform the QFT." | |||
|
320 | ] | |||
144 | }, |
|
321 | }, | |
145 | { |
|
322 | { | |
146 | "cell_type": "code", |
|
323 | "cell_type": "code", | |
|
324 | "collapsed": false, | |||
|
325 | "input": [ | |||
|
326 | "qapply(fourier*state)" | |||
|
327 | ], | |||
147 | "language": "python", |
|
328 | "language": "python", | |
148 | "outputs": [ |
|
329 | "outputs": [ | |
149 | { |
|
330 | { | |
|
331 | "latex": [ | |||
|
332 | "$$\\frac{1}{2} \\sqrt{2} {\\left|000\\right\\rangle } + \\frac{1}{2} \\sqrt{2} {\\left|100\\right\\rangle }$$" | |||
|
333 | ], | |||
150 | "output_type": "pyout", |
|
334 | "output_type": "pyout", | |
151 | "latex": "$$\\frac{1}{2} \\sqrt{2} {\\left|000\\right\\rangle } + \\frac{1}{2} \\sqrt{2} {\\left|100\\right\\rangle }$$", |
|
|||
152 | "prompt_number": 9, |
|
|||
153 | "png": "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\nMHDVAAAAAElFTkSuQmCC\n", |
|
335 | "png": "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\nMHDVAAAAAElFTkSuQmCC\n", | |
154 | "text": "\u23bd\u23bd\u23bd \u23bd\u23bd\u23bd \n\u2572\u2571 2 \u22c5\u2758000\u27e9 \u2572\u2571 2 \u22c5\u2758100\u27e9\n\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 + \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n 2 2" |
|
336 | "prompt_number": 9, | |
|
337 | "text": [ | |||
|
338 | "\u23bd\u23bd\u23bd \u23bd\u23bd\u23bd ", | |||
|
339 | "\u2572\u2571 2 \u22c5\u2758000\u27e9 \u2572\u2571 2 \u22c5\u2758100\u27e9", | |||
|
340 | "\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 + \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500", | |||
|
341 | " 2 2" | |||
|
342 | ] | |||
155 | } |
|
343 | } | |
156 | ], |
|
344 | ], | |
157 |
" |
|
345 | "prompt_number": 9 | |
158 | "prompt_number": 9, |
|
|||
159 | "input": "qapply(fourier*state)\n" |
|
|||
160 | } |
|
346 | } | |
161 | ] |
|
347 | ] | |
162 | } |
|
348 | } |
1 | NO CONTENT: modified file |
|
NO CONTENT: modified file | ||
The requested commit or file is too big and content was truncated. Show full diff |
1 | NO CONTENT: modified file |
|
NO CONTENT: modified file | ||
The requested commit or file is too big and content was truncated. Show full diff |
1 | NO CONTENT: modified file |
|
NO CONTENT: modified file | ||
The requested commit or file is too big and content was truncated. Show full diff |
1 | NO CONTENT: modified file |
|
NO CONTENT: modified file | ||
The requested commit or file is too big and content was truncated. Show full diff |
1 | NO CONTENT: modified file |
|
NO CONTENT: modified file | ||
The requested commit or file is too big and content was truncated. Show full diff |
1 | NO CONTENT: modified file |
|
NO CONTENT: modified file | ||
The requested commit or file is too big and content was truncated. Show full diff |
General Comments 0
You need to be logged in to leave comments.
Login now