-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathghz_scaling.nb
8349 lines (8247 loc) · 433 KB
/
ghz_scaling.nb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
(* Content-type: application/vnd.wolfram.mathematica *)
(*** Wolfram Notebook File ***)
(* http://www.wolfram.com/nb *)
(* CreatedBy='Mathematica 11.3' *)
(*CacheID: 234*)
(* Internal cache information:
NotebookFileLineBreakTest
NotebookFileLineBreakTest
NotebookDataPosition[ 158, 7]
NotebookDataLength[ 443363, 8341]
NotebookOptionsPosition[ 435745, 8226]
NotebookOutlinePosition[ 436078, 8241]
CellTagsIndexPosition[ 436035, 8238]
WindowFrame->Normal*)
(* Beginning of Notebook Content *)
Notebook[{
Cell[BoxData[{
RowBox[{
RowBox[{"SetDirectory", " ", "@", " ",
RowBox[{"NotebookDirectory", "[", "]"}]}], ";"}], "\[IndentingNewLine]",
RowBox[{
RowBox[{"Import", "[", "\"\<QuEST.m\>\"", "]"}],
";"}], "\[IndentingNewLine]",
RowBox[{
RowBox[{"Install", "[", "\"\<quest_link_GPU\>\"", "]"}], ";"}]}], "Input",
CellChangeTimes->{{3.7817010352451563`*^9, 3.7817010683875637`*^9}},
CellLabel->"In[1]:=",ExpressionUUID->"61b46933-b801-42b5-9ded-557304c7a387"],
Cell[CellGroupData[{
Cell["Generating input states", "Section",
CellChangeTimes->{{3.781701385355392*^9,
3.781701387707705*^9}},ExpressionUUID->"3b50a3e2-a877-47f1-8fd9-\
bedab9e53d81"],
Cell[BoxData[
RowBox[{
RowBox[{"ghzState", "[",
RowBox[{"numQb_", ",", " ",
RowBox[{"{", "\[Theta]1_", "}"}]}], "]"}], " ", ":=",
RowBox[{"Join", "[", "\[IndentingNewLine]", "\t",
RowBox[{
RowBox[{"{",
RowBox[{
RowBox[{"Subscript", "[",
RowBox[{"Ry", ",", "0"}], "]"}], "[",
RowBox[{"\[Pi]", "/", "2"}], "]"}], "}"}], ",", "\[IndentingNewLine]",
"\t",
RowBox[{"Table", "[",
RowBox[{
RowBox[{
SubscriptBox["C", "qb"], "[",
RowBox[{
SubscriptBox["Ry",
RowBox[{"qb", "+", "1"}]], "[", "\[Pi]", "]"}], "]"}], ",",
RowBox[{"{",
RowBox[{"qb", ",", "0", ",",
RowBox[{"numQb", "-", "2"}]}], "}"}]}], "]"}], ",",
"\[IndentingNewLine]", "\t",
RowBox[{"Table", "[",
RowBox[{
RowBox[{
SubscriptBox["Rz", "qb"], "[", "\[Theta]1", "]"}], ",",
RowBox[{"{",
RowBox[{"qb", ",", "0", ",",
RowBox[{"numQb", "-", "1"}]}], "}"}]}], "]"}]}], "]"}]}]], "Input",
InitializationCell->True,
CellChangeTimes->{{3.78170139390342*^9, 3.781701542653274*^9}, {
3.781701790598852*^9, 3.7817018087179737`*^9}},
CellLabel->"In[4]:=",ExpressionUUID->"d91569e1-2a26-4c95-9b76-38476ba3662e"],
Cell[CellGroupData[{
Cell[BoxData[
RowBox[{"DrawCircuit", " ", "@", " ",
RowBox[{"ghzState", "[",
RowBox[{"5", ",", " ",
RowBox[{"{", "0", "}"}]}], "]"}]}]], "Input",
CellChangeTimes->{{3.7817011012276583`*^9, 3.781701122315834*^9},
3.781701411496375*^9, {3.781701490451922*^9, 3.7817015562601852`*^9}, {
3.781704318587516*^9, 3.781704332641638*^9}, {3.782046749110735*^9,
3.782046749213369*^9}},
CellLabel->"In[5]:=",ExpressionUUID->"8e4cc9a3-ae09-42ad-883c-129c12927012"],
Cell[BoxData[
GraphicsBox[
{EdgeForm[GrayLevel[0]], FaceForm[GrayLevel[
1]], {{LineBox[{{0, 0.5}, {1, 0.5}}], LineBox[{{0, 1.5}, {1, 1.5}}],
LineBox[{{0, 2.5}, {1, 2.5}}], LineBox[{{0, 3.5}, {1, 3.5}}],
LineBox[{{0, 4.5}, {1, 4.5}}]}, {LineBox[{{1, 0.5}, {2, 0.5}}],
LineBox[{{1, 1.5}, {2, 1.5}}], LineBox[{{1, 2.5}, {2, 2.5}}],
LineBox[{{1, 3.5}, {2, 3.5}}], LineBox[{{1, 4.5}, {2, 4.5}}]}, {
LineBox[{{2, 0.5}, {3, 0.5}}], LineBox[{{2, 1.5}, {3, 1.5}}],
LineBox[{{2, 2.5}, {3, 2.5}}], LineBox[{{2, 3.5}, {3, 3.5}}],
LineBox[{{2, 4.5}, {3, 4.5}}]}, {LineBox[{{3, 0.5}, {4, 0.5}}],
LineBox[{{3, 1.5}, {4, 1.5}}], LineBox[{{3, 2.5}, {4, 2.5}}],
LineBox[{{3, 3.5}, {4, 3.5}}], LineBox[{{3, 4.5}, {4, 4.5}}]}, {
LineBox[{{4, 0.5}, {5, 0.5}}], LineBox[{{4, 1.5}, {5, 1.5}}],
LineBox[{{4, 2.5}, {5, 2.5}}], LineBox[{{4, 3.5}, {5, 3.5}}],
LineBox[{{4, 4.5}, {5, 4.5}}]}, {LineBox[{{5, 0.5}, {6, 0.5}}],
LineBox[{{5, 1.5}, {6, 1.5}}], LineBox[{{5, 2.5}, {6, 2.5}}],
LineBox[{{5, 3.5}, {6, 3.5}}], LineBox[{{5, 4.5}, {6, 4.5}}]}}, {{
RectangleBox[{0.1, 0.1}, {0.9, 0.9}],
InsetBox["\<\"Ry\"\>", {0.5, 0.5}]}, {
{FaceForm[GrayLevel[0]], DiskBox[{1.5, 0.5}, 0.1],
LineBox[{{1.5, 0.5}, {1.5, 1.5}}]}, {
RectangleBox[{1.1, 1.1}, {1.9, 1.9}],
InsetBox["\<\"Ry\"\>", {1.5, 1.5}]}}, {
{FaceForm[GrayLevel[0]], DiskBox[{2.5, 1.5}, 0.1],
LineBox[{{2.5, 1.5}, {2.5, 2.5}}]}, {
RectangleBox[{2.1, 2.1}, {2.9, 2.9}],
InsetBox["\<\"Ry\"\>", {2.5, 2.5}]}}, {
{FaceForm[GrayLevel[0]], DiskBox[{3.5, 2.5}, 0.1],
LineBox[{{3.5, 2.5}, {3.5, 3.5}}]}, {
RectangleBox[{3.1, 3.1}, {3.9, 3.9}],
InsetBox["\<\"Ry\"\>", {3.5, 3.5}]}}, {
{FaceForm[GrayLevel[0]], DiskBox[{4.5, 3.5}, 0.1],
LineBox[{{4.5, 3.5}, {4.5, 4.5}}]}, {
RectangleBox[{4.1, 4.1}, {4.9, 4.9}],
InsetBox["\<\"Ry\"\>", {4.5, 4.5}]}}, {
RectangleBox[{4.1, 0.1}, {4.9, 0.9}],
InsetBox["\<\"Rz\"\>", {4.5, 0.5}]}, {
RectangleBox[{4.1, 1.1}, {4.9, 1.9}],
InsetBox["\<\"Rz\"\>", {4.5, 1.5}]}, {
RectangleBox[{4.1, 2.1}, {4.9, 2.9}],
InsetBox["\<\"Rz\"\>", {4.5, 2.5}]}, {
RectangleBox[{5.1, 3.1}, {5.9, 3.9}],
InsetBox["\<\"Rz\"\>", {5.5, 3.5}]}, {
RectangleBox[{5.1, 4.1}, {5.9, 4.9}],
InsetBox["\<\"Rz\"\>", {5.5, 4.5}]}}},
ImageSize->180,
Method->{"ShrinkWrap" -> True}]], "Output",
CellChangeTimes->{{3.7817043216601753`*^9, 3.781704332819704*^9},
3.782046749469442*^9, 3.782050496683824*^9, 3.7820637536990223`*^9,
3.782762114113165*^9},
CellLabel->"Out[5]=",ExpressionUUID->"73e241e9-3180-4d3a-a918-6af4356101d7"]
}, Open ]],
Cell[BoxData[
RowBox[{
RowBox[{"squeezedState", "[",
RowBox[{"numQb_", ",", " ",
RowBox[{"{",
RowBox[{"\[Theta]1_", ",", "\[Theta]2_", ",", "\[Theta]3_"}], "}"}]}],
"]"}], " ", ":=", " ",
RowBox[{"With", "[",
RowBox[{
RowBox[{"{", "\[IndentingNewLine]",
RowBox[{"connec", "=",
RowBox[{"Join", "[", "\[IndentingNewLine]",
RowBox[{
RowBox[{"Flatten", "[",
RowBox[{
RowBox[{"Table", "[",
RowBox[{
RowBox[{"{",
RowBox[{"qb1", ",", "qb2"}], "}"}], ",",
RowBox[{"{",
RowBox[{"qb1", ",", "0", ",",
RowBox[{"numQb", "-", "2"}]}], "}"}], ",",
RowBox[{"{",
RowBox[{"qb2", ",",
RowBox[{"qb1", "+", "1"}], ",",
RowBox[{"numQb", "-", "1"}]}], "}"}]}], "]"}], ",", "1"}],
"]"}], ",",
RowBox[{"Flatten", "[",
RowBox[{
RowBox[{"Table", "[",
RowBox[{
RowBox[{"{",
RowBox[{"qb2", ",", "qb1"}], "}"}], ",",
RowBox[{"{",
RowBox[{"qb1", ",", "0", ",",
RowBox[{"numQb", "-", "2"}]}], "}"}], ",",
RowBox[{"{",
RowBox[{"qb2", ",",
RowBox[{"qb1", "+", "1"}], ",",
RowBox[{"numQb", "-", "1"}]}], "}"}]}], "]"}], ",", "1"}],
"]"}]}], "]"}]}], "}"}], ",", "\[IndentingNewLine]", "\t",
RowBox[{"Join", "[", "\[IndentingNewLine]", "\t\t",
RowBox[{
RowBox[{"Table", "[",
RowBox[{
RowBox[{
SubscriptBox["Ry", "qb"], "[",
RowBox[{"\[Pi]", "/", "2"}], "]"}], ",",
RowBox[{"{",
RowBox[{"qb", ",", "0", ",",
RowBox[{"numQb", "-", "1"}]}], "}"}]}], "]"}], ",",
"\[IndentingNewLine]", "\t\t",
RowBox[{"Table", "[",
RowBox[{
RowBox[{
SubscriptBox["C",
RowBox[{
"link", "\[LeftDoubleBracket]", "1", "\[RightDoubleBracket]"}]],
"[",
RowBox[{
SubscriptBox["Rz",
RowBox[{
"link", "\[LeftDoubleBracket]", "2", "\[RightDoubleBracket]"}]],
"[", "\[Theta]1", "]"}], "]"}], ",",
RowBox[{"{",
RowBox[{"link", ",", "connec"}], "}"}]}], "]"}], ",",
"\[IndentingNewLine]", "\t\t",
RowBox[{"Table", "[",
RowBox[{
RowBox[{
SubscriptBox["Rx", "qb"], "[", "\[Theta]2", "]"}], ",",
RowBox[{"{",
RowBox[{"qb", ",", "0", ",",
RowBox[{"numQb", "-", "1"}]}], "}"}]}], "]"}], ",",
"\[IndentingNewLine]", "\t\t",
RowBox[{"Table", "[",
RowBox[{
RowBox[{
SubscriptBox["Rz", "qb"], "[", "\[Theta]3", "]"}], ",",
RowBox[{"{",
RowBox[{"qb", ",", "0", ",",
RowBox[{"numQb", "-", "1"}]}], "}"}]}], "]"}]}], "]"}]}],
"]"}]}]], "Input",
InitializationCell->True,
CellChangeTimes->{{3.781701141227655*^9, 3.781701145187675*^9}, {
3.781701662807287*^9, 3.7817017800470324`*^9}, {3.781701836158741*^9,
3.781701968574329*^9}, {3.781702009600038*^9, 3.7817020803026743`*^9}},
CellLabel->"In[5]:=",ExpressionUUID->"a4b7aa3c-330b-4b87-9932-5aacf88db9cc"],
Cell[CellGroupData[{
Cell[BoxData[
RowBox[{"DrawCircuit", " ", "@", " ",
RowBox[{"squeezedState", "[",
RowBox[{"3", ",", " ",
RowBox[{"{",
RowBox[{"0", ",", "0", ",", "0"}], "}"}]}], "]"}]}]], "Input",
CellChangeTimes->{{3.782064223575762*^9, 3.7820642298300447`*^9}},
CellLabel->"In[7]:=",ExpressionUUID->"c4d23c59-e67b-4d18-a122-48f56bda4f6c"],
Cell[BoxData[
GraphicsBox[
{EdgeForm[GrayLevel[0]], FaceForm[GrayLevel[
1]], {{LineBox[{{0, 0.5}, {1, 0.5}}], LineBox[{{0, 1.5}, {1, 1.5}}],
LineBox[{{0, 2.5}, {1, 2.5}}]}, {LineBox[{{1, 0.5}, {2, 0.5}}],
LineBox[{{1, 1.5}, {2, 1.5}}], LineBox[{{1, 2.5}, {2, 2.5}}]}, {
LineBox[{{2, 0.5}, {3, 0.5}}], LineBox[{{2, 1.5}, {3, 1.5}}],
LineBox[{{2, 2.5}, {3, 2.5}}]}, {LineBox[{{3, 0.5}, {4, 0.5}}],
LineBox[{{3, 1.5}, {4, 1.5}}], LineBox[{{3, 2.5}, {4, 2.5}}]}, {
LineBox[{{4, 0.5}, {5, 0.5}}], LineBox[{{4, 1.5}, {5, 1.5}}],
LineBox[{{4, 2.5}, {5, 2.5}}]}, {LineBox[{{5, 0.5}, {6, 0.5}}],
LineBox[{{5, 1.5}, {6, 1.5}}], LineBox[{{5, 2.5}, {6, 2.5}}]}, {
LineBox[{{6, 0.5}, {7, 0.5}}], LineBox[{{6, 1.5}, {7, 1.5}}],
LineBox[{{6, 2.5}, {7, 2.5}}]}, {LineBox[{{7, 0.5}, {8, 0.5}}],
LineBox[{{7, 1.5}, {8, 1.5}}], LineBox[{{7, 2.5}, {8, 2.5}}]}, {
LineBox[{{8, 0.5}, {9, 0.5}}], LineBox[{{8, 1.5}, {9, 1.5}}],
LineBox[{{8, 2.5}, {9, 2.5}}]}}, {{RectangleBox[{0.1, 0.1}, {0.9, 0.9}],
InsetBox["\<\"Ry\"\>", {0.5, 0.5}]}, {
RectangleBox[{0.1, 1.1}, {0.9, 1.9}],
InsetBox["\<\"Ry\"\>", {0.5, 1.5}]}, {
RectangleBox[{0.1, 2.1}, {0.9, 2.9}],
InsetBox["\<\"Ry\"\>", {0.5, 2.5}]}, {
{FaceForm[GrayLevel[0]], DiskBox[{1.5, 0.5}, 0.1],
LineBox[{{1.5, 0.5}, {1.5, 1.5}}]}, {
RectangleBox[{1.1, 1.1}, {1.9, 1.9}],
InsetBox["\<\"Rz\"\>", {1.5, 1.5}]}}, {
{FaceForm[GrayLevel[0]], DiskBox[{2.5, 0.5}, 0.1],
LineBox[{{2.5, 0.5}, {2.5, 2.5}}]}, {
RectangleBox[{2.1, 2.1}, {2.9, 2.9}],
InsetBox["\<\"Rz\"\>", {2.5, 2.5}]}}, {
{FaceForm[GrayLevel[0]], DiskBox[{3.5, 1.5}, 0.1],
LineBox[{{3.5, 1.5}, {3.5, 2.5}}]}, {
RectangleBox[{3.1, 2.1}, {3.9, 2.9}],
InsetBox["\<\"Rz\"\>", {3.5, 2.5}]}}, {
{FaceForm[GrayLevel[0]], DiskBox[{4.5, 1.5}, 0.1],
LineBox[{{4.5, 0.5}, {4.5, 1.5}}]}, {
RectangleBox[{4.1, 0.1}, {4.9, 0.9}],
InsetBox["\<\"Rz\"\>", {4.5, 0.5}]}}, {
{FaceForm[GrayLevel[0]], DiskBox[{5.5, 2.5}, 0.1],
LineBox[{{5.5, 0.5}, {5.5, 2.5}}]}, {
RectangleBox[{5.1, 0.1}, {5.9, 0.9}],
InsetBox["\<\"Rz\"\>", {5.5, 0.5}]}}, {
{FaceForm[GrayLevel[0]], DiskBox[{6.5, 2.5}, 0.1],
LineBox[{{6.5, 1.5}, {6.5, 2.5}}]}, {
RectangleBox[{6.1, 1.1}, {6.9, 1.9}],
InsetBox["\<\"Rz\"\>", {6.5, 1.5}]}}, {
RectangleBox[{6.1, 0.1}, {6.9, 0.9}],
InsetBox["\<\"Rx\"\>", {6.5, 0.5}]}, {
RectangleBox[{7.1, 1.1}, {7.9, 1.9}],
InsetBox["\<\"Rx\"\>", {7.5, 1.5}]}, {
RectangleBox[{7.1, 2.1}, {7.9, 2.9}],
InsetBox["\<\"Rx\"\>", {7.5, 2.5}]}, {
RectangleBox[{7.1, 0.1}, {7.9, 0.9}],
InsetBox["\<\"Rz\"\>", {7.5, 0.5}]}, {
RectangleBox[{8.1, 1.1}, {8.9, 1.9}],
InsetBox["\<\"Rz\"\>", {8.5, 1.5}]}, {
RectangleBox[{8.1, 2.1}, {8.9, 2.9}],
InsetBox["\<\"Rz\"\>", {8.5, 2.5}]}}},
ImageSize->270,
Method->{"ShrinkWrap" -> True}]], "Output",
CellChangeTimes->{
3.781702027493348*^9, 3.781702059492772*^9, 3.781703710086138*^9, {
3.782046804742302*^9, 3.782046805498564*^9}, 3.782050498901252*^9,
3.782062152523615*^9, 3.7820637552537737`*^9, {3.782064223865388*^9,
3.782064230008534*^9}, 3.782762115676447*^9},
CellLabel->"Out[7]=",ExpressionUUID->"c23fccf4-851e-4397-950a-e1bc118adb5d"]
}, Open ]]
}, Open ]],
Cell[CellGroupData[{
Cell["Recomp input states", "Section",
CellChangeTimes->{{3.781701385355392*^9, 3.781701387707705*^9}, {
3.781703429471623*^9,
3.781703430551787*^9}},ExpressionUUID->"63e8381d-2262-4f42-aa92-\
a196e58b6fc2"],
Cell[BoxData[{
RowBox[{
RowBox[{
SubscriptBox["pSwap",
RowBox[{"a_", ",", "b_"}]], " ", ":=", " ",
RowBox[{
RowBox[{
SubscriptBox["U",
RowBox[{"a", ",", "b"}]], "[",
RowBox[{"(", GridBox[{
{"1", "0", "0", "0"},
{"0", "0",
RowBox[{"Exp", "[",
RowBox[{"\[ImaginaryI]", " ", "#"}], "]"}], "0"},
{"0",
RowBox[{"Exp", "[",
RowBox[{"\[ImaginaryI]", " ", "#"}], "]"}], "0", "0"},
{"0", "0", "0", "1"}
}], ")"}], "]"}], "&"}]}], "\[IndentingNewLine]",
"\[IndentingNewLine]",
RowBox[{"(*", " ",
RowBox[{"used", " ", "for", " ", "GHZ", " ", "states"}], " ",
"*)"}]}], "\[IndentingNewLine]",
RowBox[{
RowBox[{"getRecompCircuit", "[", "n_", "]"}], " ", ":=", " ",
RowBox[{"Module", "[",
RowBox[{
RowBox[{"{", "gates", "}"}], ",", "\[IndentingNewLine]",
RowBox[{
RowBox[{"gates", " ", "=", " ",
RowBox[{"Flatten", "@",
RowBox[{"ConstantArray", "[",
RowBox[{
RowBox[{"{",
RowBox[{
RowBox[{"Transpose", " ", "@", " ",
RowBox[{"Table", "[",
RowBox[{
RowBox[{"{",
RowBox[{
SubscriptBox["Rz", "q"], ",",
SubscriptBox["Rx", "q"], ",",
SubscriptBox["Ry", "q"], ",",
SubscriptBox["Rz", "q"]}], "}"}], ",",
RowBox[{"{",
RowBox[{"q", ",", "0", ",",
RowBox[{"n", "-", "1"}]}], "}"}]}], "]"}]}], ",", " ",
RowBox[{"Table", "[",
RowBox[{
SubscriptBox["pSwap",
RowBox[{"q", ",",
RowBox[{"Mod", "[",
RowBox[{
RowBox[{"q", "+", "1"}], ",", "n"}], "]"}]}]], ",", " ",
RowBox[{"{",
RowBox[{"q", ",", "0", ",",
RowBox[{"n", "-", "1"}]}], "}"}]}], "]"}]}], "}"}], ",", " ",
"2"}], "]"}]}]}], ";", "\[IndentingNewLine]",
RowBox[{"gates", " ", "=", " ",
RowBox[{"Join", "[",
RowBox[{"gates", ",", " ",
RowBox[{"Reverse", "[", "gates", "]"}]}], "]"}]}], ";",
"\[IndentingNewLine]",
RowBox[{"AppendTo", "[",
RowBox[{"gates", ",", " ", "G"}], "]"}], ";", "\[IndentingNewLine]",
RowBox[{"MapThread", "[",
RowBox[{"Compose", ",", " ",
RowBox[{"{",
RowBox[{"gates", ",", " ",
RowBox[{"Table", "[",
RowBox[{
SubscriptBox["\[Theta]", "t"], ",",
RowBox[{"{",
RowBox[{"t", ",",
RowBox[{"Length", "[", "gates", "]"}]}], "}"}]}], "]"}]}],
"}"}]}], "]"}]}]}], "]"}]}]}], "Input",
InitializationCell->True,
CellChangeTimes->CompressedData["
1:eJwlz0sowwEAx/E/Sks4IBdiqJVJLtKMxUqhTAgThmnmPY8yomZzHIsoo1g0
eTUzm+cOHrVp3kJihWkcVptI8kj4/+bw63P71TeisimvypMgiEhysICt1guj
nWxu9vMqTFqjmKGL2LfAePHZOeyjchyQtWF2QePbySvMqqMnFMY42T7bgkwo
uWY2wmAKUwQFNeZJeOXhq4YqV+4sbJISc1Drx1iFKb+pm/D5M7i2jDQ0KMPt
QKdXVTnp9RetHlJ32uzwwXDvtpVFf4eX/nn/qpTNFaRP8ppeyBcNKeHHCmMU
Fj3Oj8Nhw4gKCtlxU/CbJ9fADilXB49lnQYYIK6/gBZ7/iVsCVu2QrHM6FaU
plAvkXpt97vtc84cQo1m7wg6+In+evyFFodARsMLDY5c0eMhTzmbApf1pnR4
uxCeDe/OfvKhbf6gCOqsmWVwJnBaAXcpU8OQGrW4Blnd8i3YxUm2e8eSfdXG
Bxgb9SrVkpomTD1QMtdeoiMd+8wphQtf3Ap4SlvnQ6rtRggHnYpq+AdObw7r
"],
CellLabel->"In[6]:=",ExpressionUUID->"d1ad65eb-96b1-456b-b3ed-7873bc2f33aa"],
Cell[CellGroupData[{
Cell[BoxData[
RowBox[{"DrawCircuit", "[",
RowBox[{
RowBox[{"getRecompCircuit", "[", "5", "]"}], ",", " ", "5"}],
"]"}]], "Input",
CellChangeTimes->{{3.781703512732169*^9, 3.781703523968021*^9}},
CellLabel->"In[10]:=",ExpressionUUID->"a69802bb-2fac-4da4-b585-fc4d1d72141b"],
Cell[BoxData[
GraphicsBox[
{EdgeForm[GrayLevel[0]], FaceForm[GrayLevel[
1]], {{LineBox[{{0, 0.5}, {1, 0.5}}], LineBox[{{0, 1.5}, {1, 1.5}}],
LineBox[{{0, 2.5}, {1, 2.5}}], LineBox[{{0, 3.5}, {1, 3.5}}],
LineBox[{{0, 4.5}, {1, 4.5}}]}, {LineBox[{{1, 0.5}, {2, 0.5}}],
LineBox[{{1, 1.5}, {2, 1.5}}], LineBox[{{1, 2.5}, {2, 2.5}}],
LineBox[{{1, 3.5}, {2, 3.5}}], LineBox[{{1, 4.5}, {2, 4.5}}]}, {
LineBox[{{2, 0.5}, {3, 0.5}}], LineBox[{{2, 1.5}, {3, 1.5}}],
LineBox[{{2, 2.5}, {3, 2.5}}], LineBox[{{2, 3.5}, {3, 3.5}}],
LineBox[{{2, 4.5}, {3, 4.5}}]}, {LineBox[{{3, 0.5}, {4, 0.5}}],
LineBox[{{3, 1.5}, {4, 1.5}}], LineBox[{{3, 2.5}, {4, 2.5}}],
LineBox[{{3, 3.5}, {4, 3.5}}], LineBox[{{3, 4.5}, {4, 4.5}}]}, {
LineBox[{{4, 0.5}, {5, 0.5}}], LineBox[{{4, 1.5}, {5, 1.5}}],
LineBox[{{4, 2.5}, {5, 2.5}}], LineBox[{{4, 3.5}, {5, 3.5}}],
LineBox[{{4, 4.5}, {5, 4.5}}]}, {LineBox[{{5, 0.5}, {6, 0.5}}],
LineBox[{{5, 1.5}, {6, 1.5}}], LineBox[{{5, 2.5}, {6, 2.5}}],
LineBox[{{5, 3.5}, {6, 3.5}}], LineBox[{{5, 4.5}, {6, 4.5}}]}, {
LineBox[{{6, 0.5}, {7, 0.5}}], LineBox[{{6, 1.5}, {7, 1.5}}],
LineBox[{{6, 2.5}, {7, 2.5}}], LineBox[{{6, 3.5}, {7, 3.5}}],
LineBox[{{6, 4.5}, {7, 4.5}}]}, {LineBox[{{7, 0.5}, {8, 0.5}}],
LineBox[{{7, 1.5}, {8, 1.5}}], LineBox[{{7, 2.5}, {8, 2.5}}],
LineBox[{{7, 3.5}, {8, 3.5}}],
LineBox[{{7, 4.5}, {8, 4.5}}]}, {{LineBox[{{8.5, 0.5}, {9.5, 0.5}}],
LineBox[{{8.5, 1.5}, {9.5, 1.5}}], LineBox[{{8.5, 2.5}, {9.5, 2.5}}],
LineBox[{{8.5, 3.5}, {9.5, 3.5}}], LineBox[{{8.5, 4.5}, {9.5, 4.5}}]}, {
LineBox[{{8, 0.5}, {9, 0.5}}], LineBox[{{8, 2.5}, {9, 2.5}}],
LineBox[{{8, 3.5}, {9, 3.5}}]}, {LineBox[{{9, 0.5}, {10, 0.5}}],
LineBox[{{9, 2.5}, {10, 2.5}}], LineBox[{{9, 3.5}, {10, 3.5}}]}}, {
LineBox[{{10, 0.5}, {11, 0.5}}], LineBox[{{10, 1.5}, {11, 1.5}}],
LineBox[{{10, 2.5}, {11, 2.5}}], LineBox[{{10, 3.5}, {11, 3.5}}],
LineBox[{{10, 4.5}, {11, 4.5}}]}, {LineBox[{{11, 0.5}, {12, 0.5}}],
LineBox[{{11, 1.5}, {12, 1.5}}], LineBox[{{11, 2.5}, {12, 2.5}}],
LineBox[{{11, 3.5}, {12, 3.5}}], LineBox[{{11, 4.5}, {12, 4.5}}]}, {
LineBox[{{12, 0.5}, {13, 0.5}}], LineBox[{{12, 1.5}, {13, 1.5}}],
LineBox[{{12, 2.5}, {13, 2.5}}], LineBox[{{12, 3.5}, {13, 3.5}}],
LineBox[{{12, 4.5}, {13, 4.5}}]}, {LineBox[{{13, 0.5}, {14, 0.5}}],
LineBox[{{13, 1.5}, {14, 1.5}}], LineBox[{{13, 2.5}, {14, 2.5}}],
LineBox[{{13, 3.5}, {14, 3.5}}], LineBox[{{13, 4.5}, {14, 4.5}}]}, {
LineBox[{{14, 0.5}, {15, 0.5}}], LineBox[{{14, 1.5}, {15, 1.5}}],
LineBox[{{14, 2.5}, {15, 2.5}}], LineBox[{{14, 3.5}, {15, 3.5}}],
LineBox[{{14, 4.5}, {15, 4.5}}]}, {LineBox[{{15, 0.5}, {16, 0.5}}],
LineBox[{{15, 1.5}, {16, 1.5}}], LineBox[{{15, 2.5}, {16, 2.5}}],
LineBox[{{15, 3.5}, {16, 3.5}}], LineBox[{{15, 4.5}, {16, 4.5}}]}, {
LineBox[{{16, 0.5}, {17, 0.5}}], LineBox[{{16, 1.5}, {17, 1.5}}],
LineBox[{{16, 2.5}, {17, 2.5}}], LineBox[{{16, 3.5}, {17, 3.5}}],
LineBox[{{16, 4.5}, {17, 4.5}}]}, {LineBox[{{17, 0.5}, {18, 0.5}}],
LineBox[{{17, 1.5}, {18, 1.5}}], LineBox[{{17, 2.5}, {18, 2.5}}],
LineBox[{{17, 3.5}, {18, 3.5}}],
LineBox[{{17, 4.5}, {18, 4.5}}]}, {{LineBox[{{18.5, 0.5}, {19.5, 0.5}}],
LineBox[{{18.5, 1.5}, {19.5, 1.5}}],
LineBox[{{18.5, 2.5}, {19.5, 2.5}}],
LineBox[{{18.5, 3.5}, {19.5, 3.5}}],
LineBox[{{18.5, 4.5}, {19.5, 4.5}}]}, {LineBox[{{18, 0.5}, {19, 0.5}}],
LineBox[{{18, 2.5}, {19, 2.5}}], LineBox[{{18, 3.5}, {19, 3.5}}]}, {
LineBox[{{19, 0.5}, {20, 0.5}}], LineBox[{{19, 2.5}, {20, 2.5}}],
LineBox[{{19, 3.5}, {20, 3.5}}]}}, {{
LineBox[{{20.5, 0.5}, {21.5, 0.5}}],
LineBox[{{20.5, 1.5}, {21.5, 1.5}}],
LineBox[{{20.5, 2.5}, {21.5, 2.5}}],
LineBox[{{20.5, 3.5}, {21.5, 3.5}}],
LineBox[{{20.5, 4.5}, {21.5, 4.5}}]}, {LineBox[{{20, 0.5}, {21, 0.5}}],
LineBox[{{20, 2.5}, {21, 2.5}}], LineBox[{{20, 3.5}, {21, 3.5}}]}, {
LineBox[{{21, 0.5}, {22, 0.5}}], LineBox[{{21, 2.5}, {22, 2.5}}],
LineBox[{{21, 3.5}, {22, 3.5}}]}}, {LineBox[{{22, 0.5}, {23, 0.5}}],
LineBox[{{22, 1.5}, {23, 1.5}}], LineBox[{{22, 2.5}, {23, 2.5}}],
LineBox[{{22, 3.5}, {23, 3.5}}], LineBox[{{22, 4.5}, {23, 4.5}}]}, {
LineBox[{{23, 0.5}, {24, 0.5}}], LineBox[{{23, 1.5}, {24, 1.5}}],
LineBox[{{23, 2.5}, {24, 2.5}}], LineBox[{{23, 3.5}, {24, 3.5}}],
LineBox[{{23, 4.5}, {24, 4.5}}]}, {LineBox[{{24, 0.5}, {25, 0.5}}],
LineBox[{{24, 1.5}, {25, 1.5}}], LineBox[{{24, 2.5}, {25, 2.5}}],
LineBox[{{24, 3.5}, {25, 3.5}}], LineBox[{{24, 4.5}, {25, 4.5}}]}, {
LineBox[{{25, 0.5}, {26, 0.5}}], LineBox[{{25, 1.5}, {26, 1.5}}],
LineBox[{{25, 2.5}, {26, 2.5}}], LineBox[{{25, 3.5}, {26, 3.5}}],
LineBox[{{25, 4.5}, {26, 4.5}}]}, {LineBox[{{26, 0.5}, {27, 0.5}}],
LineBox[{{26, 1.5}, {27, 1.5}}], LineBox[{{26, 2.5}, {27, 2.5}}],
LineBox[{{26, 3.5}, {27, 3.5}}], LineBox[{{26, 4.5}, {27, 4.5}}]}, {
LineBox[{{27, 0.5}, {28, 0.5}}], LineBox[{{27, 1.5}, {28, 1.5}}],
LineBox[{{27, 2.5}, {28, 2.5}}], LineBox[{{27, 3.5}, {28, 3.5}}],
LineBox[{{27, 4.5}, {28, 4.5}}]}, {LineBox[{{28, 0.5}, {29, 0.5}}],
LineBox[{{28, 1.5}, {29, 1.5}}], LineBox[{{28, 2.5}, {29, 2.5}}],
LineBox[{{28, 3.5}, {29, 3.5}}], LineBox[{{28, 4.5}, {29, 4.5}}]}, {
LineBox[{{29, 0.5}, {30, 0.5}}], LineBox[{{29, 1.5}, {30, 1.5}}],
LineBox[{{29, 2.5}, {30, 2.5}}], LineBox[{{29, 3.5}, {30, 3.5}}],
LineBox[{{29, 4.5}, {30, 4.5}}]}, {{LineBox[{{30.5, 0.5}, {31.5, 0.5}}],
LineBox[{{30.5, 1.5}, {31.5, 1.5}}],
LineBox[{{30.5, 2.5}, {31.5, 2.5}}],
LineBox[{{30.5, 3.5}, {31.5, 3.5}}],
LineBox[{{30.5, 4.5}, {31.5, 4.5}}]}, {LineBox[{{30, 0.5}, {31, 0.5}}],
LineBox[{{30, 2.5}, {31, 2.5}}], LineBox[{{30, 3.5}, {31, 3.5}}]}, {
LineBox[{{31, 0.5}, {32, 0.5}}], LineBox[{{31, 2.5}, {32, 2.5}}],
LineBox[{{31, 3.5}, {32, 3.5}}]}}, {LineBox[{{32, 0.5}, {33, 0.5}}],
LineBox[{{32, 1.5}, {33, 1.5}}], LineBox[{{32, 2.5}, {33, 2.5}}],
LineBox[{{32, 3.5}, {33, 3.5}}], LineBox[{{32, 4.5}, {33, 4.5}}]}, {
LineBox[{{33, 0.5}, {34, 0.5}}], LineBox[{{33, 1.5}, {34, 1.5}}],
LineBox[{{33, 2.5}, {34, 2.5}}], LineBox[{{33, 3.5}, {34, 3.5}}],
LineBox[{{33, 4.5}, {34, 4.5}}]}, {LineBox[{{34, 0.5}, {35, 0.5}}],
LineBox[{{34, 1.5}, {35, 1.5}}], LineBox[{{34, 2.5}, {35, 2.5}}],
LineBox[{{34, 3.5}, {35, 3.5}}], LineBox[{{34, 4.5}, {35, 4.5}}]}, {
LineBox[{{35, 0.5}, {36, 0.5}}], LineBox[{{35, 1.5}, {36, 1.5}}],
LineBox[{{35, 2.5}, {36, 2.5}}], LineBox[{{35, 3.5}, {36, 3.5}}],
LineBox[{{35, 4.5}, {36, 4.5}}]}, {LineBox[{{36, 0.5}, {37, 0.5}}],
LineBox[{{36, 1.5}, {37, 1.5}}], LineBox[{{36, 2.5}, {37, 2.5}}],
LineBox[{{36, 3.5}, {37, 3.5}}], LineBox[{{36, 4.5}, {37, 4.5}}]}, {
LineBox[{{37, 0.5}, {38, 0.5}}], LineBox[{{37, 1.5}, {38, 1.5}}],
LineBox[{{37, 2.5}, {38, 2.5}}], LineBox[{{37, 3.5}, {38, 3.5}}],
LineBox[{{37, 4.5}, {38, 4.5}}]}, {LineBox[{{38, 0.5}, {39, 0.5}}],
LineBox[{{38, 1.5}, {39, 1.5}}], LineBox[{{38, 2.5}, {39, 2.5}}],
LineBox[{{38, 3.5}, {39, 3.5}}], LineBox[{{38, 4.5}, {39, 4.5}}]}, {
LineBox[{{39, 0.5}, {40, 0.5}}], LineBox[{{39, 1.5}, {40, 1.5}}],
LineBox[{{39, 2.5}, {40, 2.5}}], LineBox[{{39, 3.5}, {40, 3.5}}],
LineBox[{{39, 4.5}, {40, 4.5}}]}}, {{
RectangleBox[{0.1, 0.1}, {0.9, 0.9}],
InsetBox["\<\"Rz\"\>", {0.5, 0.5}]}, {
RectangleBox[{0.1, 1.1}, {0.9, 1.9}],
InsetBox["\<\"Rz\"\>", {0.5, 1.5}]}, {
RectangleBox[{0.1, 2.1}, {0.9, 2.9}],
InsetBox["\<\"Rz\"\>", {0.5, 2.5}]}, {
RectangleBox[{0.1, 3.1}, {0.9, 3.9}],
InsetBox["\<\"Rz\"\>", {0.5, 3.5}]}, {
RectangleBox[{0.1, 4.1}, {0.9, 4.9}],
InsetBox["\<\"Rz\"\>", {0.5, 4.5}]}, {
RectangleBox[{1.1, 0.1}, {1.9, 0.9}],
InsetBox["\<\"Rx\"\>", {1.5, 0.5}]}, {
RectangleBox[{1.1, 1.1}, {1.9, 1.9}],
InsetBox["\<\"Rx\"\>", {1.5, 1.5}]}, {
RectangleBox[{1.1, 2.1}, {1.9, 2.9}],
InsetBox["\<\"Rx\"\>", {1.5, 2.5}]}, {
RectangleBox[{1.1, 3.1}, {1.9, 3.9}], InsetBox["\<\"Rx\"\>", {1.5, 3.5}]}
, {RectangleBox[{1.1, 4.1}, {1.9, 4.9}],
InsetBox["\<\"Rx\"\>", {1.5, 4.5}]}, {
RectangleBox[{2.1, 0.1}, {2.9, 0.9}],
InsetBox["\<\"Ry\"\>", {2.5, 0.5}]}, {
RectangleBox[{2.1, 1.1}, {2.9, 1.9}],
InsetBox["\<\"Ry\"\>", {2.5, 1.5}]}, {
RectangleBox[{2.1, 2.1}, {2.9, 2.9}],
InsetBox["\<\"Ry\"\>", {2.5, 2.5}]}, {
RectangleBox[{2.1, 3.1}, {2.9, 3.9}],
InsetBox["\<\"Ry\"\>", {2.5, 3.5}]}, {
RectangleBox[{2.1, 4.1}, {2.9, 4.9}],
InsetBox["\<\"Ry\"\>", {2.5, 4.5}]}, {
RectangleBox[{3.1, 0.1}, {3.9, 0.9}],
InsetBox["\<\"Rz\"\>", {3.5, 0.5}]}, {
RectangleBox[{3.1, 1.1}, {3.9, 1.9}],
InsetBox["\<\"Rz\"\>", {3.5, 1.5}]}, {
RectangleBox[{3.1, 2.1}, {3.9, 2.9}],
InsetBox["\<\"Rz\"\>", {3.5, 2.5}]}, {
RectangleBox[{3.1, 3.1}, {3.9, 3.9}],
InsetBox["\<\"Rz\"\>", {3.5, 3.5}]}, {
RectangleBox[{3.1, 4.1}, {3.9, 4.9}],
InsetBox["\<\"Rz\"\>", {3.5, 4.5}]}, {
RectangleBox[{4.1, 0.1}, {4.9, 1.9}],
InsetBox["\<\"U\"\>", {4.5, 1.}]}, {RectangleBox[{5.1, 1.1}, {5.9, 2.9}],
InsetBox["\<\"U\"\>", {5.5, 2.}]}, {
RectangleBox[{6.1, 2.1}, {6.9, 3.9}],
InsetBox["\<\"U\"\>", {6.5, 3.}]}, {RectangleBox[{7.1, 3.1}, {7.9, 4.9}],
InsetBox["\<\"U\"\>", {7.5, 4.}]}, {{{LineBox[{{8, 4.5}, {8.1, 4.5}}],
LineBox[{{8.1, 4.5}, {8.4, 1.5}}],
LineBox[{{8.4, 1.5}, {8.5, 1.5}}]}, {LineBox[{{8, 1.5}, {8.1, 1.5}}],
LineBox[{{8.1, 1.5}, {8.4, 4.5}}],
LineBox[{{8.4, 4.5}, {8.5, 4.5}}]}}, {
RectangleBox[{8.6, 0.1}, {9.4, 1.9}],
InsetBox["\<\"U\"\>", {9., 1.}]}, {{LineBox[{{9.5, 4.5}, {9.6, 4.5}}],
LineBox[{{9.6, 4.5}, {9.9, 1.5}}],
LineBox[{{9.9, 1.5}, {10., 1.5}}]}, {LineBox[{{9.5, 1.5}, {9.6, 1.5}}],
LineBox[{{9.6, 1.5}, {9.9, 4.5}}],
LineBox[{{9.9, 4.5}, {10., 4.5}}]}}}, {
RectangleBox[{10.1, 0.1}, {10.9, 0.9}],
InsetBox["\<\"Rz\"\>", {10.5, 0.5}]}, {
RectangleBox[{10.1, 1.1}, {10.9, 1.9}],
InsetBox["\<\"Rz\"\>", {10.5, 1.5}]}, {
RectangleBox[{10.1, 2.1}, {10.9, 2.9}],
InsetBox["\<\"Rz\"\>", {10.5, 2.5}]}, {
RectangleBox[{10.1, 3.1}, {10.9, 3.9}],
InsetBox["\<\"Rz\"\>", {10.5, 3.5}]}, {
RectangleBox[{10.1, 4.1}, {10.9, 4.9}],
InsetBox["\<\"Rz\"\>", {10.5, 4.5}]}, {
RectangleBox[{11.1, 0.1}, {11.9, 0.9}],
InsetBox["\<\"Rx\"\>", {11.5, 0.5}]}, {
RectangleBox[{11.1, 1.1}, {11.9, 1.9}],
InsetBox["\<\"Rx\"\>", {11.5, 1.5}]}, {
RectangleBox[{11.1, 2.1}, {11.9, 2.9}],
InsetBox["\<\"Rx\"\>", {11.5, 2.5}]}, {
RectangleBox[{11.1, 3.1}, {11.9, 3.9}],
InsetBox["\<\"Rx\"\>", {11.5, 3.5}]}, {
RectangleBox[{11.1, 4.1}, {11.9, 4.9}],
InsetBox["\<\"Rx\"\>", {11.5, 4.5}]}, {
RectangleBox[{12.1, 0.1}, {12.9, 0.9}],
InsetBox["\<\"Ry\"\>", {12.5, 0.5}]}, {
RectangleBox[{12.1, 1.1}, {12.9, 1.9}],
InsetBox["\<\"Ry\"\>", {12.5, 1.5}]}, {
RectangleBox[{12.1, 2.1}, {12.9, 2.9}],
InsetBox["\<\"Ry\"\>", {12.5, 2.5}]}, {
RectangleBox[{12.1, 3.1}, {12.9, 3.9}],
InsetBox["\<\"Ry\"\>", {12.5, 3.5}]}, {
RectangleBox[{12.1, 4.1}, {12.9, 4.9}],
InsetBox["\<\"Ry\"\>", {12.5, 4.5}]}, {
RectangleBox[{13.1, 0.1}, {13.9, 0.9}],
InsetBox["\<\"Rz\"\>", {13.5, 0.5}]}, {
RectangleBox[{13.1, 1.1}, {13.9, 1.9}],
InsetBox["\<\"Rz\"\>", {13.5, 1.5}]}, {
RectangleBox[{13.1, 2.1}, {13.9, 2.9}],
InsetBox["\<\"Rz\"\>", {13.5, 2.5}]}, {
RectangleBox[{13.1, 3.1}, {13.9, 3.9}],
InsetBox["\<\"Rz\"\>", {13.5, 3.5}]}, {
RectangleBox[{13.1, 4.1}, {13.9, 4.9}],
InsetBox["\<\"Rz\"\>", {13.5, 4.5}]}, {
RectangleBox[{14.1, 0.1}, {14.9, 1.9}],
InsetBox["\<\"U\"\>", {14.5, 1.}]}, {
RectangleBox[{15.1, 1.1}, {15.9, 2.9}],
InsetBox["\<\"U\"\>", {15.5, 2.}]}, {
RectangleBox[{16.1, 2.1}, {16.9, 3.9}],
InsetBox["\<\"U\"\>", {16.5, 3.}]}, {
RectangleBox[{17.1, 3.1}, {17.9, 4.9}],
InsetBox["\<\"U\"\>", {17.5, 4.}]}, {{{LineBox[{{18, 4.5}, {18.1, 4.5}}],
LineBox[{{18.1, 4.5}, {18.4, 1.5}}],
LineBox[{{18.4, 1.5}, {18.5, 1.5}}]}, {
LineBox[{{18, 1.5}, {18.1, 1.5}}], LineBox[{{18.1, 1.5}, {18.4, 4.5}}],
LineBox[{{18.4, 4.5}, {18.5, 4.5}}]}}, {
RectangleBox[{18.6, 0.1}, {19.4, 1.9}],
InsetBox["\<\"U\"\>", {19., 1.}]}, {{
LineBox[{{19.5, 4.5}, {19.6, 4.5}}],
LineBox[{{19.6, 4.5}, {19.9, 1.5}}],
LineBox[{{19.9, 1.5}, {20., 1.5}}]}, {
LineBox[{{19.5, 1.5}, {19.6, 1.5}}],
LineBox[{{19.6, 1.5}, {19.9, 4.5}}],
LineBox[{{19.9, 4.5}, {20., 4.5}}]}}}, {{{
LineBox[{{20, 4.5}, {20.1, 4.5}}], LineBox[{{20.1, 4.5}, {20.4, 1.5}}],
LineBox[{{20.4, 1.5}, {20.5, 1.5}}]}, {
LineBox[{{20, 1.5}, {20.1, 1.5}}], LineBox[{{20.1, 1.5}, {20.4, 4.5}}],
LineBox[{{20.4, 4.5}, {20.5, 4.5}}]}}, {
RectangleBox[{20.6, 0.1}, {21.4, 1.9}],
InsetBox["\<\"U\"\>", {21., 1.}]}, {{
LineBox[{{21.5, 4.5}, {21.6, 4.5}}],
LineBox[{{21.6, 4.5}, {21.9, 1.5}}],
LineBox[{{21.9, 1.5}, {22., 1.5}}]}, {
LineBox[{{21.5, 1.5}, {21.6, 1.5}}],
LineBox[{{21.6, 1.5}, {21.9, 4.5}}],
LineBox[{{21.9, 4.5}, {22., 4.5}}]}}}, {
RectangleBox[{22.1, 3.1}, {22.9, 4.9}],
InsetBox["\<\"U\"\>", {22.5, 4.}]}, {
RectangleBox[{23.1, 2.1}, {23.9, 3.9}],
InsetBox["\<\"U\"\>", {23.5, 3.}]}, {
RectangleBox[{24.1, 1.1}, {24.9, 2.9}],
InsetBox["\<\"U\"\>", {24.5, 2.}]}, {
RectangleBox[{25.1, 0.1}, {25.9, 1.9}],
InsetBox["\<\"U\"\>", {25.5, 1.}]}, {
RectangleBox[{25.1, 4.1}, {25.9, 4.9}],
InsetBox["\<\"Rz\"\>", {25.5, 4.5}]}, {
RectangleBox[{25.1, 3.1}, {25.9, 3.9}],
InsetBox["\<\"Rz\"\>", {25.5, 3.5}]}, {
RectangleBox[{25.1, 2.1}, {25.9, 2.9}],
InsetBox["\<\"Rz\"\>", {25.5, 2.5}]}, {
RectangleBox[{26.1, 1.1}, {26.9, 1.9}],
InsetBox["\<\"Rz\"\>", {26.5, 1.5}]}, {
RectangleBox[{26.1, 0.1}, {26.9, 0.9}],
InsetBox["\<\"Rz\"\>", {26.5, 0.5}]}, {
RectangleBox[{26.1, 4.1}, {26.9, 4.9}],
InsetBox["\<\"Ry\"\>", {26.5, 4.5}]}, {
RectangleBox[{26.1, 3.1}, {26.9, 3.9}],
InsetBox["\<\"Ry\"\>", {26.5, 3.5}]}, {
RectangleBox[{26.1, 2.1}, {26.9, 2.9}],
InsetBox["\<\"Ry\"\>", {26.5, 2.5}]}, {
RectangleBox[{27.1, 1.1}, {27.9, 1.9}],
InsetBox["\<\"Ry\"\>", {27.5, 1.5}]}, {
RectangleBox[{27.1, 0.1}, {27.9, 0.9}],
InsetBox["\<\"Ry\"\>", {27.5, 0.5}]}, {
RectangleBox[{27.1, 4.1}, {27.9, 4.9}],
InsetBox["\<\"Rx\"\>", {27.5, 4.5}]}, {
RectangleBox[{27.1, 3.1}, {27.9, 3.9}],
InsetBox["\<\"Rx\"\>", {27.5, 3.5}]}, {
RectangleBox[{27.1, 2.1}, {27.9, 2.9}],
InsetBox["\<\"Rx\"\>", {27.5, 2.5}]}, {
RectangleBox[{28.1, 1.1}, {28.9, 1.9}],
InsetBox["\<\"Rx\"\>", {28.5, 1.5}]}, {
RectangleBox[{28.1, 0.1}, {28.9, 0.9}],
InsetBox["\<\"Rx\"\>", {28.5, 0.5}]}, {
RectangleBox[{28.1, 4.1}, {28.9, 4.9}],
InsetBox["\<\"Rz\"\>", {28.5, 4.5}]}, {
RectangleBox[{28.1, 3.1}, {28.9, 3.9}],
InsetBox["\<\"Rz\"\>", {28.5, 3.5}]}, {
RectangleBox[{28.1, 2.1}, {28.9, 2.9}],
InsetBox["\<\"Rz\"\>", {28.5, 2.5}]}, {
RectangleBox[{29.1, 1.1}, {29.9, 1.9}],
InsetBox["\<\"Rz\"\>", {29.5, 1.5}]}, {
RectangleBox[{29.1, 0.1}, {29.9, 0.9}],
InsetBox["\<\"Rz\"\>", {29.5, 0.5}]}, {{{
LineBox[{{30, 4.5}, {30.1, 4.5}}], LineBox[{{30.1, 4.5}, {30.4, 1.5}}],
LineBox[{{30.4, 1.5}, {30.5, 1.5}}]}, {
LineBox[{{30, 1.5}, {30.1, 1.5}}], LineBox[{{30.1, 1.5}, {30.4, 4.5}}],
LineBox[{{30.4, 4.5}, {30.5, 4.5}}]}}, {
RectangleBox[{30.6, 0.1}, {31.4, 1.9}],
InsetBox["\<\"U\"\>", {31., 1.}]}, {{
LineBox[{{31.5, 4.5}, {31.6, 4.5}}],
LineBox[{{31.6, 4.5}, {31.9, 1.5}}],
LineBox[{{31.9, 1.5}, {32., 1.5}}]}, {
LineBox[{{31.5, 1.5}, {31.6, 1.5}}],
LineBox[{{31.6, 1.5}, {31.9, 4.5}}],
LineBox[{{31.9, 4.5}, {32., 4.5}}]}}}, {
RectangleBox[{32.1, 3.1}, {32.9, 4.9}],
InsetBox["\<\"U\"\>", {32.5, 4.}]}, {
RectangleBox[{33.1, 2.1}, {33.9, 3.9}],
InsetBox["\<\"U\"\>", {33.5, 3.}]}, {
RectangleBox[{34.1, 1.1}, {34.9, 2.9}],
InsetBox["\<\"U\"\>", {34.5, 2.}]}, {
RectangleBox[{35.1, 0.1}, {35.9, 1.9}],
InsetBox["\<\"U\"\>", {35.5, 1.}]}, {
RectangleBox[{35.1, 4.1}, {35.9, 4.9}],
InsetBox["\<\"Rz\"\>", {35.5, 4.5}]}, {
RectangleBox[{35.1, 3.1}, {35.9, 3.9}],
InsetBox["\<\"Rz\"\>", {35.5, 3.5}]}, {
RectangleBox[{35.1, 2.1}, {35.9, 2.9}],
InsetBox["\<\"Rz\"\>", {35.5, 2.5}]}, {
RectangleBox[{36.1, 1.1}, {36.9, 1.9}],
InsetBox["\<\"Rz\"\>", {36.5, 1.5}]}, {
RectangleBox[{36.1, 0.1}, {36.9, 0.9}],
InsetBox["\<\"Rz\"\>", {36.5, 0.5}]}, {
RectangleBox[{36.1, 4.1}, {36.9, 4.9}],
InsetBox["\<\"Ry\"\>", {36.5, 4.5}]}, {
RectangleBox[{36.1, 3.1}, {36.9, 3.9}],
InsetBox["\<\"Ry\"\>", {36.5, 3.5}]}, {
RectangleBox[{36.1, 2.1}, {36.9, 2.9}],
InsetBox["\<\"Ry\"\>", {36.5, 2.5}]}, {
RectangleBox[{37.1, 1.1}, {37.9, 1.9}],
InsetBox["\<\"Ry\"\>", {37.5, 1.5}]}, {
RectangleBox[{37.1, 0.1}, {37.9, 0.9}],
InsetBox["\<\"Ry\"\>", {37.5, 0.5}]}, {
RectangleBox[{37.1, 4.1}, {37.9, 4.9}],
InsetBox["\<\"Rx\"\>", {37.5, 4.5}]}, {
RectangleBox[{37.1, 3.1}, {37.9, 3.9}],
InsetBox["\<\"Rx\"\>", {37.5, 3.5}]}, {
RectangleBox[{37.1, 2.1}, {37.9, 2.9}],
InsetBox["\<\"Rx\"\>", {37.5, 2.5}]}, {
RectangleBox[{38.1, 1.1}, {38.9, 1.9}],
InsetBox["\<\"Rx\"\>", {38.5, 1.5}]}, {
RectangleBox[{38.1, 0.1}, {38.9, 0.9}],
InsetBox["\<\"Rx\"\>", {38.5, 0.5}]}, {
RectangleBox[{38.1, 4.1}, {38.9, 4.9}],
InsetBox["\<\"Rz\"\>", {38.5, 4.5}]}, {
RectangleBox[{38.1, 3.1}, {38.9, 3.9}],
InsetBox["\<\"Rz\"\>", {38.5, 3.5}]}, {
RectangleBox[{38.1, 2.1}, {38.9, 2.9}],
InsetBox["\<\"Rz\"\>", {38.5, 2.5}]}, {
RectangleBox[{39.1, 1.1}, {39.9, 1.9}],
InsetBox["\<\"Rz\"\>", {39.5, 1.5}]}, {
RectangleBox[{39.1, 0.1}, {39.9, 0.9}],
InsetBox["\<\"Rz\"\>", {39.5, 0.5}]}}},
ImageSize->1200,
Method->{"ShrinkWrap" -> True}]], "Output",
CellChangeTimes->{{3.781703520204818*^9, 3.781703524805736*^9},
3.781703710194449*^9, 3.7820467449677963`*^9, {3.782050510040349*^9,
3.7820505327857513`*^9}, {3.782050564679967*^9, 3.782050575742337*^9},
3.782050623960462*^9, 3.782061651264739*^9, 3.7820637611080008`*^9},
CellLabel->"Out[10]=",ExpressionUUID->"9fbeb733-6559-4bc1-845f-ce776d5a5f4d"]
}, Open ]],
Cell[BoxData[
RowBox[{
RowBox[{"(*", " ",
RowBox[{
RowBox[{"used", " ", "for", " ", "squeezed"}], "-", "states"}], " ",
"*)"}], "\[IndentingNewLine]",
RowBox[{
RowBox[{"getRecompCircuit", "[", "n_", "]"}], " ", ":=", " ",
RowBox[{"Module", "[",
RowBox[{
RowBox[{"{", "gates", "}"}], ",", "\[IndentingNewLine]",
RowBox[{
RowBox[{"gates", " ", "=", " ",
RowBox[{"Flatten", "@",
RowBox[{"ConstantArray", "[",
RowBox[{
RowBox[{"{",
RowBox[{
RowBox[{"Transpose", " ", "@", " ",
RowBox[{"Table", "[",
RowBox[{
RowBox[{"{",
RowBox[{
SubscriptBox["Rz", "q"], ",",
SubscriptBox["Rx", "q"], ",",
SubscriptBox["Ry", "q"], ",",
SubscriptBox["Rz", "q"]}], "}"}], ",",
RowBox[{"{",
RowBox[{"q", ",", "0", ",",
RowBox[{"n", "-", "1"}]}], "}"}]}], "]"}]}], ",", " ",
RowBox[{"Table", "[",
RowBox[{
SubscriptBox["pSwap",
RowBox[{"q", ",",
RowBox[{"Mod", "[",
RowBox[{
RowBox[{"q", "+", "1"}], ",", "n"}], "]"}]}]], ",", " ",
RowBox[{"{",
RowBox[{"q", ",", "0", ",",
RowBox[{"n", "-", "1"}]}], "}"}]}], "]"}]}], "}"}], ",", " ",
"2"}], "]"}]}]}], ";", "\[IndentingNewLine]",
RowBox[{"gates", " ", "=", " ",
RowBox[{"Join", "[",
RowBox[{"gates", ",", " ",
RowBox[{"Reverse", "[", "gates", "]"}]}], "]"}]}], ";",
"\[IndentingNewLine]",
RowBox[{"AppendTo", "[",
RowBox[{"gates", ",", " ", "G"}], "]"}], ";", "\[IndentingNewLine]",
RowBox[{"MapThread", "[",
RowBox[{"Compose", ",", " ",
RowBox[{"{",
RowBox[{"gates", ",", " ",
RowBox[{"Table", "[",
RowBox[{
SubscriptBox["\[Theta]", "t"], ",",
RowBox[{"{",
RowBox[{"t", ",",
RowBox[{"Length", "[", "gates", "]"}]}], "}"}]}], "]"}]}],
"}"}]}], "]"}]}]}], "]"}]}]}]], "Input",
InitializationCell->True,
CellChangeTimes->{{3.782050632226469*^9, 3.7820506379145727`*^9}, {
3.782050973541593*^9, 3.7820509739736347`*^9}, {3.78205143167198*^9,
3.782051431912498*^9}, {3.7820616675697107`*^9, 3.782061668211225*^9}, {
3.782062143324292*^9, 3.78206214342634*^9}},
CellLabel->"In[8]:=",ExpressionUUID->"43b3dd8e-29a2-4848-b9e5-e4cf9646a42c"],
Cell[CellGroupData[{
Cell[BoxData[
RowBox[{"DrawCircuit", "[",
RowBox[{
RowBox[{"getRecompCircuit", "[", "5", "]"}], ",", " ", "5"}],
"]"}]], "Input",
CellLabel->"In[12]:=",ExpressionUUID->"aa26fcb3-7a45-4528-b514-48923e281e06"],
Cell[BoxData[
GraphicsBox[
{EdgeForm[GrayLevel[0]], FaceForm[GrayLevel[
1]], {{LineBox[{{0, 0.5}, {1, 0.5}}], LineBox[{{0, 1.5}, {1, 1.5}}],
LineBox[{{0, 2.5}, {1, 2.5}}], LineBox[{{0, 3.5}, {1, 3.5}}],
LineBox[{{0, 4.5}, {1, 4.5}}]}, {LineBox[{{1, 0.5}, {2, 0.5}}],
LineBox[{{1, 1.5}, {2, 1.5}}], LineBox[{{1, 2.5}, {2, 2.5}}],
LineBox[{{1, 3.5}, {2, 3.5}}], LineBox[{{1, 4.5}, {2, 4.5}}]}, {
LineBox[{{2, 0.5}, {3, 0.5}}], LineBox[{{2, 1.5}, {3, 1.5}}],
LineBox[{{2, 2.5}, {3, 2.5}}], LineBox[{{2, 3.5}, {3, 3.5}}],
LineBox[{{2, 4.5}, {3, 4.5}}]}, {LineBox[{{3, 0.5}, {4, 0.5}}],
LineBox[{{3, 1.5}, {4, 1.5}}], LineBox[{{3, 2.5}, {4, 2.5}}],
LineBox[{{3, 3.5}, {4, 3.5}}], LineBox[{{3, 4.5}, {4, 4.5}}]}, {
LineBox[{{4, 0.5}, {5, 0.5}}], LineBox[{{4, 1.5}, {5, 1.5}}],
LineBox[{{4, 2.5}, {5, 2.5}}], LineBox[{{4, 3.5}, {5, 3.5}}],
LineBox[{{4, 4.5}, {5, 4.5}}]}, {LineBox[{{5, 0.5}, {6, 0.5}}],
LineBox[{{5, 1.5}, {6, 1.5}}], LineBox[{{5, 2.5}, {6, 2.5}}],
LineBox[{{5, 3.5}, {6, 3.5}}], LineBox[{{5, 4.5}, {6, 4.5}}]}, {
LineBox[{{6, 0.5}, {7, 0.5}}], LineBox[{{6, 1.5}, {7, 1.5}}],
LineBox[{{6, 2.5}, {7, 2.5}}], LineBox[{{6, 3.5}, {7, 3.5}}],
LineBox[{{6, 4.5}, {7, 4.5}}]}, {LineBox[{{7, 0.5}, {8, 0.5}}],
LineBox[{{7, 1.5}, {8, 1.5}}], LineBox[{{7, 2.5}, {8, 2.5}}],
LineBox[{{7, 3.5}, {8, 3.5}}],
LineBox[{{7, 4.5}, {8, 4.5}}]}, {{LineBox[{{8.5, 0.5}, {9.5, 0.5}}],
LineBox[{{8.5, 1.5}, {9.5, 1.5}}], LineBox[{{8.5, 2.5}, {9.5, 2.5}}],
LineBox[{{8.5, 3.5}, {9.5, 3.5}}], LineBox[{{8.5, 4.5}, {9.5, 4.5}}]}, {
LineBox[{{8, 0.5}, {9, 0.5}}], LineBox[{{8, 2.5}, {9, 2.5}}],
LineBox[{{8, 3.5}, {9, 3.5}}]}, {LineBox[{{9, 0.5}, {10, 0.5}}],
LineBox[{{9, 2.5}, {10, 2.5}}], LineBox[{{9, 3.5}, {10, 3.5}}]}}, {
LineBox[{{10, 0.5}, {11, 0.5}}], LineBox[{{10, 1.5}, {11, 1.5}}],
LineBox[{{10, 2.5}, {11, 2.5}}], LineBox[{{10, 3.5}, {11, 3.5}}],
LineBox[{{10, 4.5}, {11, 4.5}}]}, {LineBox[{{11, 0.5}, {12, 0.5}}],
LineBox[{{11, 1.5}, {12, 1.5}}], LineBox[{{11, 2.5}, {12, 2.5}}],
LineBox[{{11, 3.5}, {12, 3.5}}], LineBox[{{11, 4.5}, {12, 4.5}}]}, {
LineBox[{{12, 0.5}, {13, 0.5}}], LineBox[{{12, 1.5}, {13, 1.5}}],
LineBox[{{12, 2.5}, {13, 2.5}}], LineBox[{{12, 3.5}, {13, 3.5}}],
LineBox[{{12, 4.5}, {13, 4.5}}]}, {LineBox[{{13, 0.5}, {14, 0.5}}],
LineBox[{{13, 1.5}, {14, 1.5}}], LineBox[{{13, 2.5}, {14, 2.5}}],
LineBox[{{13, 3.5}, {14, 3.5}}], LineBox[{{13, 4.5}, {14, 4.5}}]}, {
LineBox[{{14, 0.5}, {15, 0.5}}], LineBox[{{14, 1.5}, {15, 1.5}}],
LineBox[{{14, 2.5}, {15, 2.5}}], LineBox[{{14, 3.5}, {15, 3.5}}],
LineBox[{{14, 4.5}, {15, 4.5}}]}, {LineBox[{{15, 0.5}, {16, 0.5}}],
LineBox[{{15, 1.5}, {16, 1.5}}], LineBox[{{15, 2.5}, {16, 2.5}}],
LineBox[{{15, 3.5}, {16, 3.5}}], LineBox[{{15, 4.5}, {16, 4.5}}]}, {
LineBox[{{16, 0.5}, {17, 0.5}}], LineBox[{{16, 1.5}, {17, 1.5}}],
LineBox[{{16, 2.5}, {17, 2.5}}], LineBox[{{16, 3.5}, {17, 3.5}}],
LineBox[{{16, 4.5}, {17, 4.5}}]}, {LineBox[{{17, 0.5}, {18, 0.5}}],
LineBox[{{17, 1.5}, {18, 1.5}}], LineBox[{{17, 2.5}, {18, 2.5}}],
LineBox[{{17, 3.5}, {18, 3.5}}],
LineBox[{{17, 4.5}, {18, 4.5}}]}, {{LineBox[{{18.5, 0.5}, {19.5, 0.5}}],
LineBox[{{18.5, 1.5}, {19.5, 1.5}}],
LineBox[{{18.5, 2.5}, {19.5, 2.5}}],
LineBox[{{18.5, 3.5}, {19.5, 3.5}}],
LineBox[{{18.5, 4.5}, {19.5, 4.5}}]}, {LineBox[{{18, 0.5}, {19, 0.5}}],
LineBox[{{18, 2.5}, {19, 2.5}}], LineBox[{{18, 3.5}, {19, 3.5}}]}, {
LineBox[{{19, 0.5}, {20, 0.5}}], LineBox[{{19, 2.5}, {20, 2.5}}],
LineBox[{{19, 3.5}, {20, 3.5}}]}}, {{
LineBox[{{20.5, 0.5}, {21.5, 0.5}}],
LineBox[{{20.5, 1.5}, {21.5, 1.5}}],
LineBox[{{20.5, 2.5}, {21.5, 2.5}}],
LineBox[{{20.5, 3.5}, {21.5, 3.5}}],
LineBox[{{20.5, 4.5}, {21.5, 4.5}}]}, {LineBox[{{20, 0.5}, {21, 0.5}}],
LineBox[{{20, 2.5}, {21, 2.5}}], LineBox[{{20, 3.5}, {21, 3.5}}]}, {
LineBox[{{21, 0.5}, {22, 0.5}}], LineBox[{{21, 2.5}, {22, 2.5}}],
LineBox[{{21, 3.5}, {22, 3.5}}]}}, {LineBox[{{22, 0.5}, {23, 0.5}}],
LineBox[{{22, 1.5}, {23, 1.5}}], LineBox[{{22, 2.5}, {23, 2.5}}],
LineBox[{{22, 3.5}, {23, 3.5}}], LineBox[{{22, 4.5}, {23, 4.5}}]}, {
LineBox[{{23, 0.5}, {24, 0.5}}], LineBox[{{23, 1.5}, {24, 1.5}}],
LineBox[{{23, 2.5}, {24, 2.5}}], LineBox[{{23, 3.5}, {24, 3.5}}],
LineBox[{{23, 4.5}, {24, 4.5}}]}, {LineBox[{{24, 0.5}, {25, 0.5}}],
LineBox[{{24, 1.5}, {25, 1.5}}], LineBox[{{24, 2.5}, {25, 2.5}}],
LineBox[{{24, 3.5}, {25, 3.5}}], LineBox[{{24, 4.5}, {25, 4.5}}]}, {
LineBox[{{25, 0.5}, {26, 0.5}}], LineBox[{{25, 1.5}, {26, 1.5}}],
LineBox[{{25, 2.5}, {26, 2.5}}], LineBox[{{25, 3.5}, {26, 3.5}}],
LineBox[{{25, 4.5}, {26, 4.5}}]}, {LineBox[{{26, 0.5}, {27, 0.5}}],
LineBox[{{26, 1.5}, {27, 1.5}}], LineBox[{{26, 2.5}, {27, 2.5}}],
LineBox[{{26, 3.5}, {27, 3.5}}], LineBox[{{26, 4.5}, {27, 4.5}}]}, {
LineBox[{{27, 0.5}, {28, 0.5}}], LineBox[{{27, 1.5}, {28, 1.5}}],
LineBox[{{27, 2.5}, {28, 2.5}}], LineBox[{{27, 3.5}, {28, 3.5}}],
LineBox[{{27, 4.5}, {28, 4.5}}]}, {LineBox[{{28, 0.5}, {29, 0.5}}],
LineBox[{{28, 1.5}, {29, 1.5}}], LineBox[{{28, 2.5}, {29, 2.5}}],
LineBox[{{28, 3.5}, {29, 3.5}}], LineBox[{{28, 4.5}, {29, 4.5}}]}, {
LineBox[{{29, 0.5}, {30, 0.5}}], LineBox[{{29, 1.5}, {30, 1.5}}],
LineBox[{{29, 2.5}, {30, 2.5}}], LineBox[{{29, 3.5}, {30, 3.5}}],
LineBox[{{29, 4.5}, {30, 4.5}}]}, {{LineBox[{{30.5, 0.5}, {31.5, 0.5}}],
LineBox[{{30.5, 1.5}, {31.5, 1.5}}],
LineBox[{{30.5, 2.5}, {31.5, 2.5}}],
LineBox[{{30.5, 3.5}, {31.5, 3.5}}],
LineBox[{{30.5, 4.5}, {31.5, 4.5}}]}, {LineBox[{{30, 0.5}, {31, 0.5}}],
LineBox[{{30, 2.5}, {31, 2.5}}], LineBox[{{30, 3.5}, {31, 3.5}}]}, {
LineBox[{{31, 0.5}, {32, 0.5}}], LineBox[{{31, 2.5}, {32, 2.5}}],
LineBox[{{31, 3.5}, {32, 3.5}}]}}, {LineBox[{{32, 0.5}, {33, 0.5}}],
LineBox[{{32, 1.5}, {33, 1.5}}], LineBox[{{32, 2.5}, {33, 2.5}}],
LineBox[{{32, 3.5}, {33, 3.5}}], LineBox[{{32, 4.5}, {33, 4.5}}]}, {
LineBox[{{33, 0.5}, {34, 0.5}}], LineBox[{{33, 1.5}, {34, 1.5}}],
LineBox[{{33, 2.5}, {34, 2.5}}], LineBox[{{33, 3.5}, {34, 3.5}}],
LineBox[{{33, 4.5}, {34, 4.5}}]}, {LineBox[{{34, 0.5}, {35, 0.5}}],
LineBox[{{34, 1.5}, {35, 1.5}}], LineBox[{{34, 2.5}, {35, 2.5}}],
LineBox[{{34, 3.5}, {35, 3.5}}], LineBox[{{34, 4.5}, {35, 4.5}}]}, {
LineBox[{{35, 0.5}, {36, 0.5}}], LineBox[{{35, 1.5}, {36, 1.5}}],
LineBox[{{35, 2.5}, {36, 2.5}}], LineBox[{{35, 3.5}, {36, 3.5}}],
LineBox[{{35, 4.5}, {36, 4.5}}]}, {LineBox[{{36, 0.5}, {37, 0.5}}],
LineBox[{{36, 1.5}, {37, 1.5}}], LineBox[{{36, 2.5}, {37, 2.5}}],
LineBox[{{36, 3.5}, {37, 3.5}}], LineBox[{{36, 4.5}, {37, 4.5}}]}, {
LineBox[{{37, 0.5}, {38, 0.5}}], LineBox[{{37, 1.5}, {38, 1.5}}],
LineBox[{{37, 2.5}, {38, 2.5}}], LineBox[{{37, 3.5}, {38, 3.5}}],
LineBox[{{37, 4.5}, {38, 4.5}}]}, {LineBox[{{38, 0.5}, {39, 0.5}}],
LineBox[{{38, 1.5}, {39, 1.5}}], LineBox[{{38, 2.5}, {39, 2.5}}],
LineBox[{{38, 3.5}, {39, 3.5}}], LineBox[{{38, 4.5}, {39, 4.5}}]}, {
LineBox[{{39, 0.5}, {40, 0.5}}], LineBox[{{39, 1.5}, {40, 1.5}}],
LineBox[{{39, 2.5}, {40, 2.5}}], LineBox[{{39, 3.5}, {40, 3.5}}],
LineBox[{{39, 4.5}, {40, 4.5}}]}}, {{
RectangleBox[{0.1, 0.1}, {0.9, 0.9}],
InsetBox["\<\"Rz\"\>", {0.5, 0.5}]}, {
RectangleBox[{0.1, 1.1}, {0.9, 1.9}],
InsetBox["\<\"Rz\"\>", {0.5, 1.5}]}, {
RectangleBox[{0.1, 2.1}, {0.9, 2.9}],
InsetBox["\<\"Rz\"\>", {0.5, 2.5}]}, {
RectangleBox[{0.1, 3.1}, {0.9, 3.9}],
InsetBox["\<\"Rz\"\>", {0.5, 3.5}]}, {
RectangleBox[{0.1, 4.1}, {0.9, 4.9}],
InsetBox["\<\"Rz\"\>", {0.5, 4.5}]}, {
RectangleBox[{1.1, 0.1}, {1.9, 0.9}],
InsetBox["\<\"Rx\"\>", {1.5, 0.5}]}, {
RectangleBox[{1.1, 1.1}, {1.9, 1.9}],
InsetBox["\<\"Rx\"\>", {1.5, 1.5}]}, {
RectangleBox[{1.1, 2.1}, {1.9, 2.9}],
InsetBox["\<\"Rx\"\>", {1.5, 2.5}]}, {
RectangleBox[{1.1, 3.1}, {1.9, 3.9}], InsetBox["\<\"Rx\"\>", {1.5, 3.5}]}
, {RectangleBox[{1.1, 4.1}, {1.9, 4.9}],
InsetBox["\<\"Rx\"\>", {1.5, 4.5}]}, {
RectangleBox[{2.1, 0.1}, {2.9, 0.9}],
InsetBox["\<\"Ry\"\>", {2.5, 0.5}]}, {
RectangleBox[{2.1, 1.1}, {2.9, 1.9}],
InsetBox["\<\"Ry\"\>", {2.5, 1.5}]}, {
RectangleBox[{2.1, 2.1}, {2.9, 2.9}],
InsetBox["\<\"Ry\"\>", {2.5, 2.5}]}, {
RectangleBox[{2.1, 3.1}, {2.9, 3.9}],
InsetBox["\<\"Ry\"\>", {2.5, 3.5}]}, {
RectangleBox[{2.1, 4.1}, {2.9, 4.9}],
InsetBox["\<\"Ry\"\>", {2.5, 4.5}]}, {
RectangleBox[{3.1, 0.1}, {3.9, 0.9}],
InsetBox["\<\"Rz\"\>", {3.5, 0.5}]}, {
RectangleBox[{3.1, 1.1}, {3.9, 1.9}],
InsetBox["\<\"Rz\"\>", {3.5, 1.5}]}, {
RectangleBox[{3.1, 2.1}, {3.9, 2.9}],
InsetBox["\<\"Rz\"\>", {3.5, 2.5}]}, {
RectangleBox[{3.1, 3.1}, {3.9, 3.9}],
InsetBox["\<\"Rz\"\>", {3.5, 3.5}]}, {