|
114 | 114 | },
|
115 | 115 | {
|
116 | 116 | "cell_type": "code",
|
117 |
| - "execution_count": 5, |
| 117 | + "execution_count": 7, |
118 | 118 | "metadata": {},
|
119 | 119 | "outputs": [],
|
120 | 120 | "source": [
|
|
137 | 137 | },
|
138 | 138 | {
|
139 | 139 | "cell_type": "code",
|
140 |
| - "execution_count": 6, |
| 140 | + "execution_count": 8, |
141 | 141 | "metadata": {},
|
142 | 142 | "outputs": [
|
143 | 143 | {
|
144 | 144 | "name": "stdout",
|
145 | 145 | "output_type": "stream",
|
146 | 146 | "text": [
|
147 |
| - "gates for encoded 0 = {'u2': 14, 'cx': 7, 'measure': 5, 'reset': 2, 'barrier': 1}\n", |
148 |
| - "gates for encoded 1 = {'u3': 3, 'barrier': 2, 'u2': 14, 'cx': 7, 'measure': 5, 'reset': 2}\n" |
| 147 | + "gates for encoded 0 = {'u2': 20, 'cx': 11, 'measure': 5, 'reset': 2, 'barrier': 1}\n", |
| 148 | + "gates for encoded 1 = {'u3': 3, 'barrier': 2, 'u2': 20, 'cx': 11, 'measure': 5, 'reset': 2}\n" |
149 | 149 | ]
|
150 | 150 | }
|
151 | 151 | ],
|
|
163 | 163 | },
|
164 | 164 | {
|
165 | 165 | "cell_type": "code",
|
166 |
| - "execution_count": 7, |
| 166 | + "execution_count": 9, |
167 | 167 | "metadata": {},
|
168 | 168 | "outputs": [
|
169 | 169 | {
|
|
188 | 188 | },
|
189 | 189 | {
|
190 | 190 | "cell_type": "code",
|
191 |
| - "execution_count": 8, |
| 191 | + "execution_count": 10, |
192 | 192 | "metadata": {},
|
193 | 193 | "outputs": [],
|
194 | 194 | "source": [
|
|
204 | 204 | },
|
205 | 205 | {
|
206 | 206 | "cell_type": "code",
|
207 |
| - "execution_count": 9, |
| 207 | + "execution_count": 14, |
208 | 208 | "metadata": {},
|
209 | 209 | "outputs": [
|
210 | 210 | {
|
211 | 211 | "name": "stdout",
|
212 | 212 | "output_type": "stream",
|
213 | 213 | "text": [
|
214 |
| - "{(QuantumRegister(3, 'code_qubit'), 0): 0, (QuantumRegister(3, 'code_qubit'), 1): 2, (QuantumRegister(3, 'code_qubit'), 2): 4, (QuantumRegister(2, 'link_qubit'), 0): 1, (QuantumRegister(2, 'link_qubit'), 1): 3}\n" |
| 214 | + "{Qubit(QuantumRegister(3, 'code_qubit'), 0): 0, Qubit(QuantumRegister(3, 'code_qubit'), 1): 2, Qubit(QuantumRegister(3, 'code_qubit'), 2): 4, Qubit(QuantumRegister(2, 'link_qubit'), 0): 1, Qubit(QuantumRegister(2, 'link_qubit'), 1): 3}\n" |
215 | 215 | ]
|
216 | 216 | }
|
217 | 217 | ],
|
218 | 218 | "source": [
|
219 | 219 | "def get_initial_layout(code,line):\n",
|
220 | 220 | " initial_layout = {}\n",
|
221 | 221 | " for j in range(d):\n",
|
222 |
| - " initial_layout[(code.code_qubit,j)] = line[2*j]\n", |
| 222 | + " initial_layout[code.code_qubit[j]] = line[2*j]\n", |
223 | 223 | " for j in range(d-1):\n",
|
224 |
| - " initial_layout[(code.link_qubit,j)] = line[2*j+1]\n", |
| 224 | + " initial_layout[code.link_qubit[j]] = line[2*j+1]\n", |
225 | 225 | " return initial_layout\n",
|
226 | 226 | "\n",
|
227 | 227 | "initial_layout = get_initial_layout(code,line)\n",
|
|
238 | 238 | },
|
239 | 239 | {
|
240 | 240 | "cell_type": "code",
|
241 |
| - "execution_count": 10, |
| 241 | + "execution_count": 15, |
242 | 242 | "metadata": {},
|
243 | 243 | "outputs": [
|
244 | 244 | {
|
|
269 | 269 | },
|
270 | 270 | {
|
271 | 271 | "cell_type": "code",
|
272 |
| - "execution_count": 11, |
| 272 | + "execution_count": 16, |
273 | 273 | "metadata": {},
|
274 | 274 | "outputs": [],
|
275 | 275 | "source": [
|
|
289 | 289 | },
|
290 | 290 | {
|
291 | 291 | "cell_type": "code",
|
292 |
| - "execution_count": 12, |
| 292 | + "execution_count": 17, |
293 | 293 | "metadata": {},
|
294 | 294 | "outputs": [],
|
295 | 295 | "source": [
|
|
321 | 321 | },
|
322 | 322 | {
|
323 | 323 | "cell_type": "code",
|
324 |
| - "execution_count": 13, |
| 324 | + "execution_count": 19, |
325 | 325 | "metadata": {},
|
326 | 326 | "outputs": [],
|
327 | 327 | "source": [
|
|
330 | 330 | },
|
331 | 331 | {
|
332 | 332 | "cell_type": "code",
|
333 |
| - "execution_count": 14, |
| 333 | + "execution_count": 20, |
334 | 334 | "metadata": {},
|
335 | 335 | "outputs": [
|
336 | 336 | {
|
337 | 337 | "name": "stdout",
|
338 | 338 | "output_type": "stream",
|
339 | 339 | "text": [
|
340 |
| - "{'0': {'1 1 10 01': 8, '1 0 11 01': 20, '0 1 11 01': 8, '0 0 11 00': 137, '0 1 10 11': 67, '1 0 01 11': 61, '1 0 00 01': 35, '0 0 11 11': 177, '1 1 10 10': 1, '0 1 11 10': 23, '1 0 10 00': 159, '0 0 10 01': 99, '0 0 10 10': 1250, '0 0 00 11': 342, '0 1 01 00': 82, '0 0 00 00': 4180, '0 0 01 01': 559, '1 0 11 10': 20, '1 1 01 01': 1, '0 1 00 10': 17, '1 0 00 10': 427, '1 1 00 11': 13, '1 1 11 00': 2, '0 1 01 11': 16, '1 0 01 00': 21, '1 0 10 11': 16, '1 1 01 10': 2, '0 1 00 01': 175, '0 0 01 10': 269, '0 1 10 00': 5}, '1': {'1 1 10 01': 102, '1 0 11 01': 10, '0 1 11 01': 32, '0 0 11 00': 5, '1 1 00 00': 4099, '1 0 01 11': 20, '1 0 00 01': 203, '0 1 10 11': 13, '1 1 10 10': 1195, '1 1 11 11': 173, '0 1 11 10': 25, '1 0 10 00': 8, '0 0 10 01': 7, '0 0 00 11': 21, '0 1 01 00': 23, '0 0 00 00': 2, '1 0 11 10': 32, '1 1 01 01': 563, '0 1 00 10': 416, '1 0 00 10': 14, '1 1 00 11': 352, '1 1 11 00': 162, '0 1 01 11': 58, '1 0 01 00': 106, '1 0 10 11': 54, '1 1 01 10': 246, '0 1 00 01': 42, '0 0 01 10': 6, '0 1 10 00': 203}}\n" |
| 340 | + "{'0': {'1 0 01 11': 39, '1 1 00 11': 27, '0 1 01 00': 81, '0 0 01 10': 410, '1 1 01 10': 14, '0 1 00 10': 39, '1 0 00 01': 58, '1 0 11 01': 24, '1 1 01 01': 4, '0 0 10 01': 94, '1 1 10 10': 2, '1 1 00 00': 5, '0 1 10 11': 25, '1 0 10 11': 35, '1 0 00 10': 421, '0 0 10 10': 534, '0 0 11 00': 231, '0 1 01 11': 31, '0 1 00 01': 207, '1 1 11 11': 2, '0 0 01 01': 389, '1 0 01 00': 34, '0 1 11 01': 11, '1 1 10 01': 5, '0 1 10 00': 5, '0 0 11 11': 65, '0 1 11 10': 19, '0 0 00 11': 711, '1 0 10 00': 176, '0 0 00 00': 4468, '1 0 11 10': 26}, '1': {'1 0 01 11': 37, '0 0 01 10': 12, '1 1 01 10': 378, '0 1 00 10': 435, '0 0 10 01': 17, '1 1 01 01': 388, '0 1 10 11': 33, '1 0 00 10': 49, '0 0 10 10': 3, '0 1 01 11': 41, '0 1 00 01': 56, '0 0 11 11': 1, '1 1 11 00': 302, '1 0 11 10': 9, '1 1 00 11': 667, '0 1 01 00': 48, '1 0 00 01': 178, '1 0 11 01': 14, '1 1 10 10': 586, '1 1 00 00': 4291, '1 0 10 11': 37, '0 0 11 00': 3, '1 1 11 11': 80, '0 0 01 01': 3, '1 0 01 00': 115, '0 1 11 01': 18, '1 1 10 01': 98, '0 1 10 00': 206, '0 1 11 10': 43, '0 0 00 11': 27, '1 0 10 00': 14, '0 0 00 00': 3}}\n" |
341 | 341 | ]
|
342 | 342 | }
|
343 | 343 | ],
|
|
355 | 355 | },
|
356 | 356 | {
|
357 | 357 | "cell_type": "code",
|
358 |
| - "execution_count": 15, |
| 358 | + "execution_count": 21, |
359 | 359 | "metadata": {},
|
360 | 360 | "outputs": [
|
361 | 361 | {
|
362 | 362 | "name": "stdout",
|
363 | 363 | "output_type": "stream",
|
364 | 364 | "text": [
|
365 | 365 | "d = 3 ,log = 0\n",
|
366 |
| - "logical error probability for matching = 0.0322265625\n", |
367 |
| - "logical error probability for lookup table = 0.02294921875\n", |
368 |
| - "logical error probability for postselection = 0.0\n", |
| 366 | + "logical error probability for matching = 0.0352783203125\n", |
| 367 | + "logical error probability for lookup table = 0.03857421875\n", |
| 368 | + "logical error probability for postselection = 0.0011178180192264698\n", |
369 | 369 | "\n",
|
370 | 370 | "d = 3 ,log = 1\n",
|
371 |
| - "logical error probability for matching = 0.034423828125\n", |
372 |
| - "logical error probability for lookup table = 0.0208740234375\n", |
373 |
| - "logical error probability for postselection = 0.000487685930260912\n", |
| 371 | + "logical error probability for matching = 0.0411376953125\n", |
| 372 | + "logical error probability for lookup table = 0.0361328125\n", |
| 373 | + "logical error probability for postselection = 0.0006986492780624127\n", |
374 | 374 | "\n"
|
375 | 375 | ]
|
376 | 376 | }
|
|
399 | 399 | },
|
400 | 400 | {
|
401 | 401 | "cell_type": "code",
|
402 |
| - "execution_count": 16, |
| 402 | + "execution_count": 22, |
403 | 403 | "metadata": {},
|
404 | 404 | "outputs": [
|
405 | 405 | {
|
|
409 | 409 | "gates for d = 3 with encoded 0: {'u2': 6, 'cx': 4, 'measure': 5, 'barrier': 1} \n",
|
410 | 410 | "\n",
|
411 | 411 | "d = 3 ,log = 0\n",
|
412 |
| - "logical error probability for matching = 0.0338134765625\n", |
413 |
| - "logical error probability for lookup table = 0.026123046875\n", |
414 |
| - "logical error probability for postselection = 0.0\n", |
| 412 | + "logical error probability for matching = 0.03466796875\n", |
| 413 | + "logical error probability for lookup table = 0.0379638671875\n", |
| 414 | + "logical error probability for postselection = 0.0004439511653718091\n", |
415 | 415 | "\n",
|
416 | 416 | "d = 3 ,log = 1\n",
|
417 |
| - "logical error probability for matching = 0.035400390625\n", |
418 |
| - "logical error probability for lookup table = 0.02197265625\n", |
419 |
| - "logical error probability for postselection = 0.00048204386599180526\n", |
| 417 | + "logical error probability for matching = 0.034423828125\n", |
| 418 | + "logical error probability for lookup table = 0.0301513671875\n", |
| 419 | + "logical error probability for postselection = 0.0009170105456212746\n", |
420 | 420 | "\n",
|
421 | 421 | "\n",
|
422 | 422 | "gates for d = 4 with encoded 0: {'u2': 12, 'cx': 6, 'measure': 7, 'barrier': 1} \n",
|
423 | 423 | "\n",
|
424 | 424 | "d = 4 ,log = 0\n",
|
425 |
| - "logical error probability for matching = 0.0203857421875\n", |
426 |
| - "logical error probability for lookup table = 0.0157470703125\n", |
| 425 | + "logical error probability for matching = 0.0247802734375\n", |
| 426 | + "logical error probability for lookup table = 0.0179443359375\n", |
427 | 427 | "logical error probability for postselection = 0.0\n",
|
428 | 428 | "\n",
|
429 | 429 | "d = 4 ,log = 1\n",
|
430 |
| - "logical error probability for matching = 0.0218505859375\n", |
431 |
| - "logical error probability for lookup table = 0.01318359375\n", |
| 430 | + "logical error probability for matching = 0.020751953125\n", |
| 431 | + "logical error probability for lookup table = 0.015869140625\n", |
432 | 432 | "logical error probability for postselection = 0.0\n",
|
433 | 433 | "\n",
|
434 | 434 | "\n",
|
435 | 435 | "gates for d = 5 with encoded 0: {'u2': 12, 'cx': 8, 'measure': 9, 'barrier': 1} \n",
|
436 | 436 | "\n",
|
437 | 437 | "d = 5 ,log = 0\n",
|
438 |
| - "logical error probability for matching = 0.01025390625\n", |
439 |
| - "logical error probability for lookup table = 0.0035400390625\n", |
| 438 | + "logical error probability for matching = 0.017333984375\n", |
| 439 | + "logical error probability for lookup table = 0.0086669921875\n", |
440 | 440 | "logical error probability for postselection = 0.0\n",
|
441 | 441 | "\n",
|
442 | 442 | "d = 5 ,log = 1\n",
|
443 |
| - "logical error probability for matching = 0.01220703125\n", |
444 |
| - "logical error probability for lookup table = 0.0035400390625\n", |
| 443 | + "logical error probability for matching = 0.0157470703125\n", |
| 444 | + "logical error probability for lookup table = 0.0062255859375\n", |
445 | 445 | "logical error probability for postselection = 0.0\n",
|
446 | 446 | "\n",
|
447 | 447 | "\n",
|
448 | 448 | "gates for d = 6 with encoded 0: {'u2': 12, 'cx': 10, 'measure': 11, 'barrier': 1} \n",
|
449 | 449 | "\n",
|
450 | 450 | "d = 6 ,log = 0\n",
|
451 |
| - "logical error probability for matching = 0.0162353515625\n", |
452 |
| - "logical error probability for lookup table = 0.001708984375\n", |
| 451 | + "logical error probability for matching = 0.010009765625\n", |
| 452 | + "logical error probability for lookup table = 0.0013427734375\n", |
453 | 453 | "logical error probability for postselection = 0.0\n",
|
454 | 454 | "\n",
|
455 | 455 | "d = 6 ,log = 1\n",
|
456 |
| - "logical error probability for matching = 0.0181884765625\n", |
457 |
| - "logical error probability for lookup table = 0.00244140625\n", |
| 456 | + "logical error probability for matching = 0.0108642578125\n", |
| 457 | + "logical error probability for lookup table = 0.001953125\n", |
458 | 458 | "logical error probability for postselection = 0.0\n",
|
459 | 459 | "\n",
|
460 | 460 | "\n",
|
461 | 461 | "gates for d = 7 with encoded 0: {'u2': 12, 'cx': 12, 'measure': 13, 'barrier': 1} \n",
|
462 | 462 | "\n",
|
463 | 463 | "d = 7 ,log = 0\n",
|
464 |
| - "logical error probability for matching = 0.008544921875\n", |
| 464 | + "logical error probability for matching = 0.007568359375\n", |
465 | 465 | "logical error probability for lookup table = 0.000244140625\n",
|
466 | 466 | "logical error probability for postselection = 0.0\n",
|
467 | 467 | "\n",
|
468 | 468 | "d = 7 ,log = 1\n",
|
469 |
| - "logical error probability for matching = 0.009765625\n", |
470 |
| - "logical error probability for lookup table = 0.0001220703125\n", |
| 469 | + "logical error probability for matching = 0.0091552734375\n", |
| 470 | + "logical error probability for lookup table = 0.0003662109375\n", |
471 | 471 | "logical error probability for postselection = 0.0\n",
|
472 | 472 | "\n",
|
473 | 473 | "\n"
|
|
518 | 518 | },
|
519 | 519 | {
|
520 | 520 | "cell_type": "code",
|
521 |
| - "execution_count": null, |
| 521 | + "execution_count": 23, |
522 | 522 | "metadata": {},
|
523 | 523 | "outputs": [],
|
524 | 524 | "source": [
|
|
528 | 528 | ],
|
529 | 529 | "metadata": {
|
530 | 530 | "kernelspec": {
|
531 |
| - "display_name": "stable", |
| 531 | + "display_name": "Python 3", |
532 | 532 | "language": "python",
|
533 |
| - "name": "stable" |
| 533 | + "name": "python3" |
534 | 534 | },
|
535 | 535 | "language_info": {
|
536 | 536 | "codemirror_mode": {
|
|
542 | 542 | "name": "python",
|
543 | 543 | "nbconvert_exporter": "python",
|
544 | 544 | "pygments_lexer": "ipython3",
|
545 |
| - "version": "3.7.0" |
| 545 | + "version": "3.6.8" |
546 | 546 | }
|
547 | 547 | },
|
548 | 548 | "nbformat": 4,
|
|
0 commit comments