Convenzioni del diagramma del circuito quantistico

A volte gli algoritmi quantistici sono più facili da comprendere in un diagramma del circuito rispetto alla rappresentazione di matrice scritta equivalente. Questo articolo illustra come leggere i diagrammi del circuito quantistico e le relative convenzioni.

Per altre informazioni, vedere Come visualizzare i diagrammi dei circuiti quantistici.

Lettura dei diagrammi del circuito quantistico

In un circuito quantistico il tempo scorre da sinistra a destra. Le porte quantistiche vengono ordinate cronologicamente, quindi la porta più a sinistra è quella applicata per prima ai qubit.

Prendere il diagramma del circuito quantistico seguente come esempio:

Diagramma di un circuito quantistico con due registri, un cancello hadamard, un cancello controllato e una misura.

  1. Registro Qubit: i registri Qubit vengono visualizzati come linee orizzontali, con ogni riga che rappresenta un qubit. La riga superiore è contrassegnata con l'etichetta 0, la seconda riga è registrata qubit etichettata 1 e così via.
  2. Gate quantistico: le operazioni quantistiche sono rappresentate dai cancelli quantistici. Il termine porta quantistica è un'analogia con le porte logiche classiche. Le porte che agiscono su uno o più registri di qubit sono definite riquadri. In questo esempio il simbolo rappresenta un'operazione Hadamard.
  3. Gate controllato: i cancelli controllati agiscono su due o più qubit. In questo esempio il simbolo rappresenta un gate CNOT. Il cerchio nero rappresenta il qubit del controllo e la croce all'interno di un cerchio rappresenta il target qubit.
  4. Operazione di misurazione: il simbolo del contatore rappresenta un'operazione di misurazione. L'operazione di misurazione accetta un registro qubit come input e restituisce informazioni classiche.

Applicazione di cancelli quantistici

Poiché il tempo passa da sinistra a destra, il gate più a sinistra viene applicato per primo, ad esempio, l'azione del circuito quantistico seguente è la matrice $unitaria CBA$.

Diagramma dei cancelli quantistici applicati a sinistra a destra in un circuito quantistico.

Nota

La moltiplicazione della matrice rispetta la convenzione opposta: la matrice più a destra viene applicata per prima. Nei diagrammi dei circuiti quantistici, tuttavia, la porta più a sinistra viene applicata per prima. Questa differenza può a volte causare confusione, è quindi importante notare questa differenza significativa tra la notazione algebrica lineare e i diagrammi dei circuiti quantistici.

Input e output di circuiti quantistici

In un diagramma del circuito quantistico, i fili che entrano in un gate quantistico rappresentano i qubit che sono input per il gate quantistico e i fili che escono dal gate quantistico rappresentano i qubit che vengono restituiti dal gate quantistico.

Il numero di input di un gate quantistico è uguale al numero di output di un gate quantistico. Ciò è dovuto al fatto che le operazioni quantistiche sono unitarie e quindi reversibili. Se un gate quantistico aveva più output rispetto agli input, non sarebbe reversibile e quindi non unitario, che è una contraddizione.

Per questo motivo, qualsiasi riquadro disegnato in un diagramma del circuito deve avere esattamente lo stesso numero di linee in entrata e in uscita.

Operazioni multi-qubit

I diagrammi dei circuiti a qubit multipli seguono convenzioni simili a quelle a qubit singolo. Ad esempio, è possibile definire $un'operazione $$ unitaria a due qubit (H S\otimes X),$ quindi il circuito quantistico equivalente è il seguente:

Diagramma del circuito di un'operazione unitaria a due qubit.

È anche possibile visualizzare $B$ come un'azione su un singolo registro a due qubit anziché su due registri a un qubit, a seconda del contesto in cui viene usato il circuito.

La proprietà più utile di questi diagrammi dei circuiti astratti è forse che consentono di descrivere algoritmi quantistici complessi a livello generale senza doverli compilare fino alle porte fondamentali. Ciò significa che è possibile ottenere un'idea del flusso di dati per un algoritmo quantistico di grandi dimensioni senza dover comprendere tutti i dettagli del funzionamento di ognuna delle subroutine all'interno dell'algoritmo.

Porte controllate

I cancelli controllati quantistici sono porte a due qubit che applicano un gate a qubit singolo a un target qubit se un qubit di controllo è in uno stato specifico.

Si consideri ad esempio un gate controllato quantistico, denotato $\Lambda(G),$ dove un singolo qubit controlla l'applicazione dell'operazione $G$ . Il gate $\Lambdacontrollato (G)$ può essere compreso esaminando l'esempio seguente di input dello stato del prodotto:

$\Lambda(G) (\alpha\ket{{0} + \beta\ket{1}) \ket{\psi}=\alpha\ket{{0}\ket{\psi} + \beta\ket{{1} G\ket{\psi}$

Vale a dire che la porta controllata applica $G$ al registro contenente $\psi$ se e solo se il qubit di controllo accetta il valore $1$. In generale, tali operazioni controllate sono descritte nei diagrammi del circuito in base al simbolo seguente:

Diagramma del circuito di un cancello controllato da singly.

Qui il cerchio nero indica il bit quantistico su cui viene controllata la porta e una linea verticale indica l'unità applicata quando il qubit di controllo accetta il valore $1$.

Per i casi speciali in cui $G=X e $G=Z$, viene usata la notazione seguente per descrivere la versione controllata dei cancelli (si noti che il gate controllato-X$ è il gate CNOT):

Diagramma del circuito per casi speciali di cancelli controllati.

Q# fornisce metodi per generare automaticamente la versione controllata di un'operazione, che consente al programmatore di non dover eseguire manualmente queste operazioni. Di seguito è illustrato un esempio di questa situazione:

operation PrepareSuperposition(qubit : Qubit) : Unit
is Ctl { // Auto-generate the controlled specialization of the operation
    H(qubit);
}

Cancelli controllati in modo classico

I cancelli quantistici possono essere applicati anche dopo una misurazione, in cui il risultato della misurazione funge da bit di controllo classico.

Il simbolo seguente rappresenta un cancello controllato in modo classico, in cui $G viene applicato in base al bit $di controllo classico 1$$:

Diagramma del circuito che rappresenta un'operazione controllata.

Operatore di misurazione

Le operazioni di misurazione accettano un registro qubit, lo misura e restituisce il risultato come informazioni classiche.

Un'operazione di misurazione viene indicata da un simbolo del contatore e accetta sempre come input un registro di qubit (indicato da una linea continua) e restituisce informazioni classiche (indicate da una linea doppia). In particolare, il simbolo dell'operazione di misurazione è simile al seguente:

Simbolo che rappresenta un'operazione di misurazione.

In Q#, l'operatore Measure implementa l'operazione di misurazione.

Esempio: Trasformazione unitaria

Si consideri la trasformazione unitaria $\text{ CNOT}_{01}(H\otimes 1)$. Questa sequenza di porte è di fondamentale importanza per il calcolo quantistico perché crea uno stato a due qubit con entanglement massimo:

$\mathrm{CNOT}_{01}(H\otimes 1)\left=\ket{00}\frac{1}{\sqrt{2}}({00}\ket{ + ), \ket{11}\right$

Le operazioni con questa o maggiore complessità sono onnipresenti negli algoritmi quantistici e nella correzione degli errori quantistici.

Il diagramma del circuito per la preparazione di questo stato quantistico con entanglement massimo è:

Diagramma del circuito per uno stato a due qubit massimamente intangilato.

Il simbolo dietro il cancello Hadamard rappresenta un cancello CNOT, dove il cerchio nero indica il qubit di controllo e la croce all'interno di un cerchio indica il target qubit. Questo circuito quantistico viene rappresentato come se agisse su due qubit (o, in modo equivalente, come due registri costituiti da un qubit).

Esempio: Diagramma del circuito di teleportazione

La teleportazione quantistica è uno dei migliori algoritmi quantistici per illustrare i componenti del circuito.

La teleportazione quantistica è un protocollo che consente la trasmissione di uno stato quantistico da un qubit a un altro, con l'aiuto di uno stato intangibile condiviso tra il mittente e il ricevitore e la comunicazione classica tra di essi.

A scopo di apprendimento, il mittente è chiamato Alice, il ricevitore viene chiamato Bob e il qubit da teleportare viene chiamato qubit del messaggio. Alice e Bob contengono un qubit ogni e Alice ha un qubit aggiuntivo che è il qubit del messaggio.

Il diagramma del circuito seguente illustra il protocollo di teleportazione:

Diagramma del circuito quantistico del protocollo di teleportazione.

Si suddivideno i passaggi del protocollo di teleportazione:

  1. Il registro qubit etichettato 0 è il qubit del messaggio, il registro qubit etichettato 1 è il qubit di Alice e il registro qubit etichettato 2 è il qubit di Bob. Il qubit del messaggio si trova in uno stato sconosciuto e Alice e i qubit di Bob si trovano nello $\ket{0}$ stato.
  2. Un gate $Hadamard H$ viene applicato al qubit di Alice. Poiché il qubit si trova nello $\ket{0}$ stato, lo stato risultante è{2}}$\frac{1}{\sqrt{ (\ket{{0} + \ket{1})$.
  3. Un gate CNOT viene applicato ai qubit di Alice e Bob. Il qubit di Alice è il qubit di controllo e il qubit di Bob è il target qubit. Lo stato risultante è $\frac{{1}{\sqrt{2}}(\ket{00} + \ket{{11})$. Alice e Bob condividono ora uno stato intangled.
  4. Un gate CNOT viene applicato al qubit del messaggio e al qubit di Alice. Poiché il qubit di Alice è anche intangled con qubit di Bob, lo stato risultante è uno stato entangled a tre qubit.
  5. Un gate $Hadamard H$ viene applicato al qubit del messaggio.
  6. Alice misura i suoi due qubit e comunica i risultati della misurazione a Bob: questo non si riflette nel circuito. I risultati della misura sono due bit classici, che possono accettare i valori 00, 01, 10 o 1
  7. Due porte pauli controllate classicamente vengono applicate al qubit di Bob, a seconda del bit $di risultato 1$. Lo stato risultante è lo stato del qubit del messaggio originale.

Passaggi successivi