Cosa significano i doppi fili nei circuiti quantistici e come si relazionano con le dichiarazioni if?


10

Il circuito

inserisci qui la descrizione dell'immagine

può essere tradotto al seguente codice:

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); }
  }
}

Come nascono le dichiarazioni if? Perché le doppie linee vengono utilizzate dopo le misurazioni?


Posso chiedere qual è la lingua in quell'esempio? È Q #?
Norrius,

2
No, ma era basato su Q #. Non volevo chiedere ai lettori la familiarità Q #, quindi ho creato questo pseudo-codice che utilizza solo funzionalità di linguaggi ampiamente utilizzati.
R. Chopin,

Risposte:


13

Le doppie linee sono una convenzione comune per i bit classici negli schemi circuitali quantistici. In questo caso, rappresentano i bit derivanti dalle misurazioni dei qubit msge here.

Le operazioni controllate che coinvolgono i bit classici sono solo operazioni che vengono eseguite se quei bit classici hanno il valore 1, che è ciò a ifcui servono le istruzioni nello pseudocodice.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.