@@ -24,22 +24,28 @@ const groverLink = {
2424 ] ,
2525 "gates" :[ { "id" :"~vn6c" , "name" :"Oracle" , "circuit" :{ "cols" :[ [ "Z" , "•" , "◦" , "•" , "•" ] ] } } ]
2626} ;
27- const teleportLink = { "cols" :[
28- [ 1 , "H" ] ,
29- [ 1 , "•" , 1 , 1 , "X" ] ,
30- [ "…" , "…" , 1 , 1 , "…" ] ,
31- [ "…" , "…" , 1 , 1 , "…" ] ,
32- [ "e^-iYt" ] ,
33- [ "X^t" ] ,
34- [ "Bloch" ] ,
35- [ "•" , "X" ] ,
36- [ "H" ] ,
37- [ "Measure" , "Measure" ] ,
38- [ 1 , "•" , 1 , 1 , "X" ] ,
39- [ "•" , 1 , 1 , 1 , "Z" ] ,
40- [ 1 , 1 , 1 , 1 , "Bloch" ] ]
27+ const teleportLink = {
28+ "cols" :[
29+ [ 1 , "H" ] ,
30+ [ 1 , "•" , 1 , 1 , "X" ] ,
31+ [ "…" , "…" , 1 , 1 , "…" ] ,
32+ [ "…" , "…" , 1 , 1 , "…" ] ,
33+ [ "~87lj" ] ,
34+ [ "Bloch" ] ,
35+ [ "•" , "X" ] ,
36+ [ "H" ] ,
37+ [ "Measure" , "Measure" ] ,
38+ [ 1 , "•" , 1 , 1 , "X" ] ,
39+ [ "•" , 1 , 1 , 1 , "Z" ] ,
40+ [ 1 , 1 , 1 , 1 , "Bloch" ] ,
41+ [ 1 , 1 , 1 , 1 , "~f7c0" ]
42+ ] ,
43+ "gates" :[
44+ { "id" :"~87lj" , "name" :"message" , "circuit" :{ "cols" :[ [ "e^-iYt" ] , [ "X^t" ] ] } } ,
45+ { "id" :"~f7c0" , "name" :"received" , "matrix" :"{{1,0},{0,1}}" }
46+ ]
4147} ;
42- const erasureLink = { "cols" :[
48+ const eraserLink = { "cols" :[
4349 [ 1 , "H" ] ,
4450 [ 1 , "•" , 1 , 1 , "X" ] ,
4551 [ 1 , 1 , "QFT7" ] ,
@@ -57,6 +63,121 @@ const erasureLink = {"cols":[
5763 [ "•" , "◦" , "Chance7" ] ,
5864 [ "•" , "•" , "Chance7" ]
5965] } ;
66+ const chshTestLink = {
67+ "cols" : [
68+ [ "H" ] ,
69+ [ "◦" , 1 , 1 , 1 , "X" ] ,
70+ [ "X^-¼" ] ,
71+ [ "…" , "…" , "…" , "…" , "…" ] ,
72+ [ "~da85" , "~5s2n" , 1 , "~5s2n" , "~ahov" ] ,
73+ [ 1 , "H" , 1 , "H" ] ,
74+ [ 1 , "Measure" , 1 , "Measure" ] ,
75+ [ "X^½" , "•" ] ,
76+ [ 1 , 1 , 1 , "•" , "X^½" ] ,
77+ [ "Measure" , 1 , 1 , 1 , "Measure" ] ,
78+ [ "…" , "…" , "…" , "…" , "…" ] ,
79+ [ 1 , "•" , "X" , "•" ] ,
80+ [ "•" , 1 , "X" ] ,
81+ [ 1 , 1 , "X" , 1 , "•" ] ,
82+ [ 1 , 1 , "Chance" ] ,
83+ [ 1 , 1 , "~q6e" ]
84+ ] ,
85+ "gates" : [
86+ { "id" :"~da85" , "name" :"Alice" , "matrix" :"{{1,0},{0,1}}" } ,
87+ { "id" :"~ahov" , "name" :"Bob" , "matrix" :"{{1,0},{0,1}}" } ,
88+ { "id" :"~5s2n" , "name" :"Referee" , "matrix" :"{{1,0},{0,1}}" } ,
89+ { "id" :"~q6e" , "name" :"Win?" , "matrix" :"{{1,0},{0,1}}" }
90+ ]
91+ } ;
92+ const additionLink = { "cols" :[
93+ [ "Counting5" , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , "X" ] ,
94+ [ "Chance5" , 1 , 1 , 1 , 1 , "Measure" , "Chance5" ] ,
95+ [ "…" , "…" , "…" , "…" , "…" , "…" , "…" , "…" , "…" , "…" , "…" ] ,
96+ [ "X" , "X" , "X" , "X" , "•" , 1 , 1 , "X" , "X" , "X" ] ,
97+ [ "Swap" , 1 , 1 , 1 , "Swap" , 1 , "•" ] ,
98+ [ 1 , 1 , 1 , 1 , "•" , 1 , 1 , "X" ] ,
99+ [ 1 , "Swap" , 1 , 1 , "Swap" , 1 , 1 , "•" ] ,
100+ [ 1 , 1 , 1 , 1 , "•" , 1 , 1 , 1 , "X" ] ,
101+ [ 1 , 1 , "Swap" , 1 , "Swap" , 1 , 1 , 1 , "•" ] ,
102+ [ 1 , 1 , 1 , 1 , "•" , 1 , 1 , 1 , 1 , "X" ] ,
103+ [ 1 , 1 , 1 , "Swap" , "Swap" , 1 , 1 , 1 , 1 , "•" ] ,
104+ [ 1 , 1 , 1 , 1 , "•" , 1 , 1 , 1 , 1 , 1 , "X" ] ,
105+ [ 1 , 1 , 1 , "Swap" , "Swap" , 1 , 1 , 1 , 1 , "•" ] ,
106+ [ 1 , 1 , "Swap" , 1 , "Swap" , 1 , 1 , 1 , "•" ] ,
107+ [ 1 , "Swap" , 1 , 1 , "Swap" , 1 , 1 , "•" ] ,
108+ [ "Swap" , 1 , 1 , 1 , "Swap" , 1 , "•" ] ,
109+ [ "X" , "X" , "X" , "X" , "•" ] ,
110+ [ 1 , 1 , 1 , "•" , 1 , 1 , 1 , 1 , 1 , "X" ] ,
111+ [ 1 , 1 , "•" , 1 , 1 , 1 , 1 , 1 , "X" ] ,
112+ [ 1 , "•" , 1 , 1 , 1 , 1 , 1 , "X" ] ,
113+ [ "•" , 1 , 1 , 1 , 1 , 1 , "X" ] ,
114+ [ "…" , "…" , "…" , "…" , "…" , "…" , "…" , "…" , "…" , "…" , "…" ] ,
115+ [ "Chance5" , 1 , 1 , 1 , 1 , 1 , "Chance5" ]
116+ ] } ;
117+ const qftLink = { "cols" :[
118+ [ "Counting8" ] ,
119+ [ "Chance8" ] ,
120+ [ "…" , "…" , "…" , "…" , "…" , "…" , "…" , "…" ] ,
121+ [ "rev8" ] ,
122+ [ "H" ] ,
123+ [ "Z^½" , "•" ] ,
124+ [ 1 , "H" ] ,
125+ [ "Z^¼" , "Z^½" , "•" ] ,
126+ [ 1 , 1 , "H" ] ,
127+ [ "Z^⅛" , "Z^¼" , "Z^½" , "•" ] ,
128+ [ 1 , 1 , 1 , "H" ] ,
129+ [ "Z^⅟₁₆" , "Z^⅛" , "Z^¼" , "Z^½" , "•" ] ,
130+ [ 1 , 1 , 1 , 1 , "H" ] ,
131+ [ "Z^⅟₃₂" , "Z^⅟₁₆" , "Z^⅛" , "Z^¼" , "Z^½" , "•" ] ,
132+ [ 1 , 1 , 1 , 1 , 1 , "H" ] ,
133+ [ "Z^⅟₆₄" , "Z^⅟₃₂" , "Z^⅟₁₆" , "Z^⅛" , "Z^¼" , "Z^½" , "•" ] ,
134+ [ 1 , 1 , 1 , 1 , 1 , 1 , "H" ] ,
135+ [ "Z^⅟₁₂₈" , "Z^⅟₆₄" , "Z^⅟₃₂" , "Z^⅟₁₆" , "Z^⅛" , "Z^¼" , "Z^½" , "•" ] ,
136+ [ 1 , 1 , 1 , 1 , 1 , 1 , 1 , "H" ]
137+ ] } ;
138+ const superdenseCodingLink = { "cols" :[
139+ [ 1 , 1 , "H" ] ,
140+ [ 1 , 1 , "•" , 1 , 1 , 1 , "X" ] ,
141+ [ "…" , "…" , "…" , "…" , "…" , "…" , "…" ] ,
142+ [ "Counting2" ] ,
143+ [ "Measure" , "Measure" ] ,
144+ [ "Chance" , "Chance" ] ,
145+ [ 1 , "•" , "X" ] ,
146+ [ "•" , 1 , "Z" ] ,
147+ [ 1 , 1 , "Swap" , 1 , 1 , "Swap" ] ,
148+ [ 1 , 1 , 1 , 1 , 1 , "•" , "X" ] ,
149+ [ 1 , 1 , 1 , 1 , 1 , "H" ] ,
150+ [ 1 , 1 , 1 , 1 , 1 , "Measure" , "Measure" ] ,
151+ [ 1 , 1 , 1 , 1 , 1 , "Chance" , "Chance" ]
152+ ] } ;
153+ const symmetryBreakingLink = {
154+ "cols" :[
155+ [ "~tpqg" , 1 , "~r2ku" ] ,
156+ [ "…" , "…" , "…" , "…" ] ,
157+ [ "H" ] ,
158+ [ 1 , 1 , "H" ] ,
159+ [ "•" , "X" ] ,
160+ [ 1 , 1 , "•" , "X" ] ,
161+ [ 1 , "Swap" , 1 , "Swap" ] ,
162+ [ "•" , "X" ] ,
163+ [ 1 , 1 , "•" , "X" ] ,
164+ [ "X^½" , "◦" ] ,
165+ [ 1 , 1 , "X^½" , "◦" ] ,
166+ [ 1 , "X^½" ] ,
167+ [ 1 , 1 , 1 , "X^½" ] ,
168+ [ "Measure" , "Measure" , "Measure" , "Measure" ] ,
169+ [ 1 , "~57au" ] ,
170+ [ "•" , 1 , "Chance" ] ,
171+ [ 1 , "•" , 1 , "Chance" ] ,
172+ [ "◦" , 1 , "Chance" ] ,
173+ [ 1 , "◦" , 1 , "Chance" ]
174+ ] ,
175+ "gates" : [
176+ { "id" :"~tpqg" , "name" :"Alice^1" , "matrix" :"{{1,0,0,0},{0,1,0,0},{0,0,1,0},{0,0,0,1}}" } ,
177+ { "id" :"~r2ku" , "name" :"Alice^2" , "matrix" :"{{1,0,0,0},{0,1,0,0},{0,0,1,0},{0,0,0,1}}" } ,
178+ { "id" :"~57au" , "name" :"disagree" , "matrix" :"{{1,0,0,0},{0,1,0,0},{0,0,1,0},{0,0,0,1}}" }
179+ ]
180+ } ;
60181
61182/**
62183 * @param {!Revision } revision
@@ -89,11 +210,21 @@ function initMenu(revision, obsIsAnyOverlayShowing) {
89210
90211 const groverAnchor = /** @type {!HTMLAnchorElement } */ document . getElementById ( 'example-anchor-grover' ) ;
91212 const teleportAnchor = /** @type {!HTMLAnchorElement } */ document . getElementById ( 'example-anchor-teleport' ) ;
92- const erasureAnchor = /** @type {!HTMLAnchorElement } */ document . getElementById ( 'example-anchor-delayed-erasure' ) ;
213+ const eraserAnchor = /** @type {!HTMLAnchorElement } */ document . getElementById ( 'example-anchor-delayed-eraser' ) ;
214+ const additionAnchor = /** @type {!HTMLAnchorElement } */ document . getElementById ( 'example-addition' ) ;
215+ const superdenseCodeAnchor = /** @type {!HTMLAnchorElement } */ document . getElementById ( 'example-superdense-coding' ) ;
216+ const symmetryBreakAnchor = /** @type {!HTMLAnchorElement } */ document . getElementById ( 'example-symmetry-break' ) ;
217+ const chshTestAnchor = /** @type {!HTMLAnchorElement } */ document . getElementById ( 'example-chsh-test' ) ;
218+ const qftAnchor = /** @type {!HTMLAnchorElement } */ document . getElementById ( 'example-qft' ) ;
93219
94220 for ( let [ a , t ] of [ [ groverAnchor , groverLink ] ,
95221 [ teleportAnchor , teleportLink ] ,
96- [ erasureAnchor , erasureLink ] ] ) {
222+ [ eraserAnchor , eraserLink ] ,
223+ [ additionAnchor , additionLink ] ,
224+ [ superdenseCodeAnchor , superdenseCodingLink ] ,
225+ [ symmetryBreakAnchor , symmetryBreakingLink ] ,
226+ [ chshTestAnchor , chshTestLink ] ,
227+ [ qftAnchor , qftLink ] ] ) {
97228 let text = JSON . stringify ( t ) ;
98229 a . href = "#circuit=" + text ;
99230 a . onclick = ev => {
0 commit comments