O que os fios duplos significam nos circuitos quânticos e como eles se relacionam com as instruções if?


10

O circuito

insira a descrição da imagem aqui

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?


Posso perguntar qual é o idioma nesse exemplo? É Q #?
Norrius 31/03

2
Não, mas foi baseado em Q #. Como não queria exigir familiaridade com o Q # dos leitores, criei esse pseudocódigo que usa apenas recursos de linguagens amplamente usadas.
R. Chopin

Respostas:


13

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 msge here.

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 ifservem as declarações no pseudocódigo.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.