O circuito
pode ser traduzido para o seguinte código:
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); }
}
}
Como as declarações if acontecem? Por que as linhas duplas são usadas após as medições?
circuit-construction
notation
R. Chopin
fonte
fonte
Respostas:
As linhas duplas são uma convenção comum para bits clássicos em diagramas de circuitos quânticos. Nesse caso, eles representam os bits resultantes das medições dos qubits
msg
ehere
.As operações controladas que envolvem os bits clássicos são apenas operações que são executadas se esses bits clássicos tiverem o valor 1, que é o que
if
servem as declarações no pseudocódigo.fonte