Схема
можно перевести на следующий код:
operation Teleport(msg, there) {
let register = AllocateRegister();
let here = register;
H(here);
CNOT(here, there);
CNOT(msg, here);
H(msg);
// Measure out the entanglement.
if (M(msg) == One) { Z(there); }
if (M(here) == One) { X(there); }
}
}
Как возникают операторы if? Почему после измерений используются двойные линии?
Могу я спросить, какой язык в этом примере? Это Q #?
—
Норриус
Нет, но это было основано на Q #. Я не хотел требовать от читателей Q-знакомства, поэтому я создал этот псевдокод, который использует только функции из широко используемых языков.
—
Р. Шопен