|
19 | 19 | },
|
20 | 20 | {
|
21 | 21 | "cell_type": "code",
|
22 |
| - "execution_count": null, |
| 22 | + "execution_count": 1, |
23 | 23 | "metadata": {},
|
24 |
| - "outputs": [], |
| 24 | + "outputs": [ |
| 25 | + { |
| 26 | + "data": { |
| 27 | + "text/plain": [ |
| 28 | + "'0.1.0'" |
| 29 | + ] |
| 30 | + }, |
| 31 | + "execution_count": 1, |
| 32 | + "metadata": {}, |
| 33 | + "output_type": "execute_result" |
| 34 | + } |
| 35 | + ], |
25 | 36 | "source": [
|
26 |
| - "import pyqasm \n", |
| 37 | + "import pyqasm\n", |
| 38 | + "\n", |
27 | 39 | "pyqasm.__version__"
|
28 | 40 | ]
|
29 | 41 | },
|
30 | 42 | {
|
31 | 43 | "cell_type": "code",
|
32 |
| - "execution_count": null, |
| 44 | + "execution_count": 2, |
33 | 45 | "metadata": {},
|
34 | 46 | "outputs": [],
|
35 | 47 | "source": [
|
|
45 | 57 | },
|
46 | 58 | {
|
47 | 59 | "cell_type": "code",
|
48 |
| - "execution_count": null, |
| 60 | + "execution_count": 3, |
49 | 61 | "metadata": {},
|
50 | 62 | "outputs": [],
|
51 | 63 | "source": [
|
52 |
| - "\n", |
53 | 64 | "qasm = \"\"\"\n",
|
54 | 65 | "// A program containing the Deutsch-Josza algorithm in OpenQASM 3\n",
|
55 | 66 | "OPENQASM 3;\n",
|
|
106 | 117 | },
|
107 | 118 | {
|
108 | 119 | "cell_type": "code",
|
109 |
| - "execution_count": null, |
| 120 | + "execution_count": 4, |
110 | 121 | "metadata": {},
|
111 | 122 | "outputs": [],
|
112 | 123 | "source": [
|
113 | 124 | "program = loads(qasm)\n",
|
| 125 | + "\n", |
114 | 126 | "program.unroll()"
|
115 | 127 | ]
|
116 | 128 | },
|
117 | 129 | {
|
118 | 130 | "cell_type": "code",
|
119 |
| - "execution_count": null, |
| 131 | + "execution_count": 5, |
120 | 132 | "metadata": {},
|
121 |
| - "outputs": [], |
| 133 | + "outputs": [ |
| 134 | + { |
| 135 | + "name": "stdout", |
| 136 | + "output_type": "stream", |
| 137 | + "text": [ |
| 138 | + "OPENQASM 3.0;\n", |
| 139 | + "include \"stdgates.inc\";\n", |
| 140 | + "qubit[4] q;\n", |
| 141 | + "qubit[1] ancilla;\n", |
| 142 | + "x ancilla[0];\n", |
| 143 | + "h q[0];\n", |
| 144 | + "h q[1];\n", |
| 145 | + "h q[2];\n", |
| 146 | + "h q[3];\n", |
| 147 | + "h ancilla[0];\n", |
| 148 | + "cx q[0], ancilla[0];\n", |
| 149 | + "cx q[1], ancilla[0];\n", |
| 150 | + "cx q[2], ancilla[0];\n", |
| 151 | + "cx q[3], ancilla[0];\n", |
| 152 | + "h q[0];\n", |
| 153 | + "h q[1];\n", |
| 154 | + "h q[2];\n", |
| 155 | + "h q[3];\n", |
| 156 | + "bit[4] result;\n", |
| 157 | + "result[0] = measure q[0];\n", |
| 158 | + "result[1] = measure q[1];\n", |
| 159 | + "result[2] = measure q[2];\n", |
| 160 | + "result[3] = measure q[3];\n", |
| 161 | + "\n" |
| 162 | + ] |
| 163 | + } |
| 164 | + ], |
122 | 165 | "source": [
|
123 | 166 | "print(dumps(program))"
|
124 | 167 | ]
|
|
133 | 176 | ],
|
134 | 177 | "metadata": {
|
135 | 178 | "kernelspec": {
|
136 |
| - "display_name": "Python 3", |
| 179 | + "display_name": "sdk311", |
137 | 180 | "language": "python",
|
138 | 181 | "name": "python3"
|
139 | 182 | },
|
|
147 | 190 | "name": "python",
|
148 | 191 | "nbconvert_exporter": "python",
|
149 | 192 | "pygments_lexer": "ipython3",
|
150 |
| - "version": "3.11.6" |
| 193 | + "version": "3.11.9" |
151 | 194 | }
|
152 | 195 | },
|
153 | 196 | "nbformat": 4,
|
|
0 commit comments