Схема
можно перевести на следующий код:
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? Почему после измерений используются двойные линии?
circuit-construction
notation
Р. Шопен
источник
источник
Ответы:
Двойные линии - одно общее соглашение для классических битов в квантовых схемах. В этом случае они представляют биты, возникающие из измерений кубитов
msg
иhere
.Контролируемые операции, включающие классические биты, являются просто операциями, которые выполняются, если эти классические биты имеют значение 1, для чего используются
if
операторы в псевдокоде.источник