|
31 | 31 | "cell_type": "code", |
32 | 32 | "execution_count": null, |
33 | 33 | "source": [ |
| 34 | + "%kata T11_EntangledPairst\n", |
| 35 | + "\n", |
34 | 36 | "operation EntangledPairs (qsAlice : Qubit[], qsBob : Qubit[]) : Unit is Adj{\n", |
35 | 37 | " Fact(Length(qsAlice) == Length(qsBob), \"Alice and Bob should have the same number of qubits\");\n", |
36 | 38 | " // ...\n", |
|
107 | 109 | "cell_type": "code", |
108 | 110 | "execution_count": null, |
109 | 111 | "source": [ |
| 112 | + "%kata T21_RotateAndMeasure\n", |
| 113 | + "\n", |
110 | 114 | "operation RotateAndMeasure(q : Qubit, basisIndex: Int) : Result {\n", |
111 | 115 | " // ...\n", |
112 | 116 | "\n", |
|
147 | 151 | "cell_type": "code", |
148 | 152 | "execution_count": null, |
149 | 153 | "source": [ |
| 154 | + "%kata T22_RandomBasesArray\n", |
| 155 | + "\n", |
150 | 156 | "operation RandomBasesArray (basesIndices: Int[], N: Int) : Int[] {\n", |
151 | 157 | " // ...\n", |
152 | 158 | "\n", |
|
174 | 180 | "cell_type": "code", |
175 | 181 | "execution_count": null, |
176 | 182 | "source": [ |
| 183 | + "%kata T23_MeasureQubitArray\n", |
| 184 | + "\n", |
177 | 185 | "operation MeasureQubitArray (qs: Qubit[], basesIndices: Int[]) : Result[] {\n", |
178 | 186 | " // ...\n", |
179 | 187 | "\n", |
|
203 | 211 | "cell_type": "code", |
204 | 212 | "execution_count": null, |
205 | 213 | "source": [ |
| 214 | + "%kata T24_GenerateSharedKey\n", |
| 215 | + "\n", |
206 | 216 | "function GenerateSharedKey (basesAlice: Int[], basesBob: Int[], results: Result[]) : Bool[] {\n", |
207 | 217 | " let key = new Bool[0];\n", |
208 | 218 | " // ...\n", |
|
226 | 236 | "cell_type": "code", |
227 | 237 | "execution_count": null, |
228 | 238 | "source": [ |
229 | | - "operation T24_E91Protocol () : Unit {\n", |
| 239 | + "operation T25_E91Protocol () : Unit {\n", |
230 | 240 | " // 1. Alice and Bob are distributed arrays of entangled pairs\n", |
231 | 241 | "\n", |
232 | 242 | " // 2. Alice and Bob choose random measurement bases\n", |
|
244 | 254 | "cell_type": "code", |
245 | 255 | "execution_count": null, |
246 | 256 | "source": [ |
247 | | - "%simulate T24_E91Protocol" |
| 257 | + "%simulate T25_E91Protocol" |
248 | 258 | ], |
249 | 259 | "outputs": [], |
250 | 260 | "metadata": {} |
|
283 | 293 | "cell_type": "code", |
284 | 294 | "execution_count": null, |
285 | 295 | "source": [ |
| 296 | + "%kata T31_CorrelationCheck\n", |
| 297 | + "\n", |
286 | 298 | "function CorrelationCheck(basesAlice: Int[], basesBob: Int[], resultsAlice: Result[], resultsBob: Result[]) : Double {\n", |
287 | 299 | " // ...\n", |
288 | 300 | "\n", |
|
323 | 335 | "cell_type": "code", |
324 | 336 | "execution_count": null, |
325 | 337 | "source": [ |
| 338 | + "%kata T32_Eavesdrop\n", |
| 339 | + "\n", |
326 | 340 | "operation Eavesdrop (qAlice : Qubit, qBob : Qubit, basisIndex : Int) : (Result, Result) {\n", |
327 | 341 | " Fact(basisIndex == 2 or basisIndex == 3, \"Eve should measure in one of Alice's and Bob's compatible basis\");\n", |
328 | 342 | " // ...\n", |
|
0 commit comments