Operazioni di misurazione di Pauli a qubit singolo e a più qubit

Mentre si lavora con Q#, si scopre che le misurazioni Pauli sono un tipo comune di misurazione. Le misurazioni Pauli generalizzano le misurazioni delle basi di calcolo per includere misurazioni in altre basi e parità tra qubit diversi. In questi casi, è comune discutere di misurare un operatore Pauli, che è un operatore come $X,Y,Z o $Z\otimes$, X\otimes X, X\otimes Y$ e così via. Per le nozioni di base sulla misurazione quantistica, vedere Qubit e Più qubit.

La discussione sulle misurazioni in termini di operatori Pauli è comune nel sottocampo della correzione degli errori quantistici.
La guida di Q# segue una convenzione simile. L'articolo seguente illustra questa considerazione alternativa delle misurazioni.

Suggerimento

In Q# gli operatori di Pauli a più qubit sono in genere rappresentati da matrici di tipo Pauli[]. Ad esempio, per rappresentare $X \otimes Z \otimes Y$, è possibile usare la matrice [PauliX, PauliZ, PauliY].

Prima di approfondire i dettagli sulla misurazione di Pauli, è utile pensare alle conseguenze della misurazione di un singolo qubit all'interno di un computer quantistico sullo stato quantistico. Si immagini uno stato quantistico a $n$ qubit; la misurazione di un qubit esclude immediatamente metà delle possibilità di $2^n$ in cui potrebbe trovarsi lo stato. In altre parole, la misurazione proietta lo stato quantistico su uno dei due semi-spazi. È possibile generalizzare il modo in cui si pensa alla misurazione per riflettere questa intuizione.

Per identificare in modo conciso questi sottospazi, è necessario un linguaggio per descriverli. Un modo per descrivere i due sottospazi è specificarli tramite una matrice che ha solo due autovalori univoci, che per convenzione si considera siano $\pm 1$. Per un semplice esempio di descrizione di questi sottospazi, si consideri $Z$:

$$\begin{\begin{align} Z & =\begin{bmatrix} 1 & 0 \\ 0 & -1 \end{bmatrix}. \end{align} $$

Leggendo gli elementi diagonali della matrice $Z$ di Pauli, si può vedere che $Z$ ha due autovettori, $\ket{0}$ e $\ket{1}$, con gli autovalori corrispondenti $\pm 1$. Pertanto, se una misura del qubit restituisce Zero (corrispondente allo stato $\ket{0}$), è noto che lo stato del qubit è + $1$ eigenstate dell'operatore $Z$ . Analogamente, se il risultato è One, è noto che lo stato del qubit è - $1$ eigenstate di $Z$. Nel linguaggio delle misurazioni di Pauli questo processo è definito "misurazione di Pauli $Z$," ed è interamente equivalente all'esecuzione di una misurazione in base al calcolo.

Anche le matrici $2\times 2$ che sono una trasformazione unitaria di $Z$ soddisfano questi criteri. In altre parole si potrebbe usare anche una matrice $A=U^\dagger Z U$, dove $U$ è qualsiasi altra matrice unitaria, per creare una matrice che definisce i due risultati di una misurazione nei relativi autovettori $\pm 1$. La notazione delle misurazioni di Pauli fa riferimento a questa equivalenza unitaria identificando le misurazioni $X,Y,Z$ come misurazioni equivalenti che è possibile eseguire per ottenere informazioni da un qubit. Queste misurazioni vengono fornite qui per praticità.

Misurazione di Pauli Trasformazione unitaria
$Z$ $\mathbf{1}$
$X$ $H$
$S$ $HS^{\dagger}$

Cioè, usando questa lingua, virgolette; & measure $Y$" equivale all'applicazione di $HS^\dagger$ e quindi alla misurazione nella base computazionale, dove S è un'operazione quantistica intrinseca talvolta denominata " gate di fase,& quot; e può essere simulato usando la matrice unitaria

$$\begin{\begin{align}S =1 amp; 0 0 \\& i \end{bmatrix}.&\begin{bmatrix} \end{align} $$

Equivale anche all'applicazione di $HS^\dagger$ al vettore di stato quantistico e quindi alla misurazione di $Z$, in modo che l'operazione seguente sia equivalente a Measure([PauliY], [q]):

operation MeasureY(qubit : Qubit) : Result {
    mutable result = Zero;
    within {
        Adjoint S(q);
        H(q);
    } apply {
        set result = M(q);
    }
    return result;
}

Lo stato corretto viene quindi trovato trasformando di nuovo alla base di calcolo, che equivale ad applicare $SH$ al vettore di stato quantistico. Nel frammento di codice la trasformazione alla base di calcolo viene gestita automaticamente con l'uso del within … apply blocco.

In Q#, il risultato---that è, le informazioni classiche estratte dall'interazione con lo stato---is dato utilizzando un Result valore $j \in \{\texttt{Zero}, \texttt{One}\}$ che indica se il risultato si trova nell'eigenspace $(-1)^j$ dell'operatore Pauli misurato.

Misurazioni a più qubit

Le misurazioni degli operatori di Pauli a più qubit sono definite in modo analogo, come illustrato in:

$$Z Z\otimes=\begin{bmatrix}1 & 0 & 0& 0\\& amp;-1& 0& 0\\ 0& 0&-1& 0\\ 0& 0& 0& 1\end{bmatrix}. $$

Di conseguenza, i prodotti tensoriali di due operatori di Pauli $Z$ formano una matrice composta da due spazi costituiti dagli autovalori $+1$ e $-1$. Come nel caso di un singolo qubit, entrambi costituiscono un mezzo spazio, vale a dire che metà dello spazio vettoriale accessibile appartiene all'autospazio $+1$ e la metà rimanente all'autospazio $-1$. In generale, è facile vedere dalla definizione del prodotto tensoriale che qualsiasi prodotto tensoriale degli operatori di Pauli $Z$ e l'identità rispettano questo concetto. Ad esempio,

$$\begin{align}Z \otimes=\mathbf{{1}\begin{bmatrix} 1 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 \\ 0 amp; 0 && -1 & 0 \\ 0 amp; 0 && 0 amp; 0 & -1 .\end{bmatrix} \end{align} $$

Come in precedenza, qualsiasi trasformazione unitaria di tali matrici descrive anche due spazi a metà etichettati con $\pm 1$ eigenvalues. Ad esempio, $X\otimes X = H\otimes H(Z\otimes Z)H\otimes H$ dell'identità in cui $Z=HXH$. Analogamente al caso di un qubit, tutte le misurazioni Pauli a due qubit possono essere scritte come U^\dagger (Z\otimes 1) U$ per $4 4\times$ matrici $unitari U$.$ Le trasformazioni vengono enumerate nella tabella seguente.

Nota

In questa tabella$\operatorname{, SWAP}$ viene usato per indicare la matrice\begin{align}\operatorname{$$ SWAP&}amp; =\left(matrice 1 amp; 0 & 0 & 0 \\ 0 & 0 amp; 1 && 0 0 &\\ amp; 1 & 0 & 0 \\ 0 amp; 0 && 0 & 1 \end{matrice}\right)$$\end{align}utilizzata per simulare l'operazione SWAPintrinseca .&}\begin{

Misurazione di Pauli Trasformazione unitaria
$Z\otimes\mathbf{1}$ $\mathbf{1}\otimes \mathbf{1}$
$X\otimes\mathbf{1}$ $H\otimes\mathbf{1}$
$Y\otimes\mathbf{1}$ $HS^\dagger\otimes\mathbf{1}$
$\mathbf{1}\otimes Z$ $\operatorname{SWAP}$
$\mathbf{1}\otimes X$ $(H\otimes\mathbf{1})\operatorname{SWAP}$
$\mathbf{1}\otimes Y$ $(HS^\dagger\otimes\mathbf{1})\operatorname{SWAP}$
$Z\otimes Z$ $\operatorname{CNOT}_{10}$
$X\otimes Z$ $\operatorname{CNOT}_{10}(H\otimes\mathbf{1})$
$Y\otimes Z$ $\operatorname{CNOT}_{10}(HS^\dagger\otimes\mathbf{1})$
$Z\otimes X$ $\operatorname{CNOT}_{10}(\mathbf{1}\otimes H)$
$X\otimes X$ $\operatorname{CNOT}_{10}(H\otimes H)$
$Y\otimes X$ $\operatorname{CNOT}_{10}(HS^\dagger\otimes H)$
$Z\otimes Y$ $\operatorname{CNOT}_{10}(\mathbf{1}\otimes HS^\dagger)$
$X\otimes Y$ $\operatorname{CNOT}_{10}(H\otimes HS^\dagger)$
$Y\otimes Y$ $\operatorname{CNOT}_{10}(HS^\dagger\otimes HS^\dagger)$

Qui l'operazione CNOT viene visualizzata per il motivo seguente. Ogni misura Pauli che non include la $\mathbf{1}$ matrice equivale a un'unità a $Z\otimes mediante$ il ragionamento precedente. Gli autovalori di $Z\otimes Z$ dipendono solo dalla parità dei qubit che comprendono ciascun vettore che si basa sul calcolo e le operazioni Controlled-NOT servono a calcolare questa parità e ad archiviarla nel primo bit. Dopo aver misurato il primo bit, è possibile recuperare l'identità del mezzo spazio risultante, che equivale a misurare l'operatore di Pauli.

Inoltre, anche se può essere tentata la tentazione di presupporre che la misurazione $Z$\otimes z sia uguale alla misurazione $sequenziale di Z\otimes{1}$\mathbb{ e successivamente $\mathbb{1}\otimes Z$, questo presupposto sarebbe false. Il motivo è che la misurazione $Z\otimes Z$ proietta lo stato quantistico nell'autostato $+1$ o $-1$ di questi operatori. La misurazione di $Z\otimes\mathbb{1}$ e quindi $\mathbb{1}\otimes Z$ proietta il vettore di stato quantistico prima su mezzo spazio di $Z\otimes\mathbb{{1}$ e poi su mezzo spazio di $\mathbb{{1}\otimes Z$. Poiché ci sono quattro vettori che si basano sul calcolo, l'esecuzione di entrambe le misurazioni riduce lo stato a un quarto di spazio e di conseguenza lo riduce a un singolo vettore che si basa sul calcolo.

Correlazioni tra qubit

Un altro modo per misurare i prodotti tensoriali delle matrici di Pauli, ad esempio $X\otimes X$ o $Z\otimes Z$, è che queste misurazioni consentono di esaminare le informazioni archiviate nelle correlazioni tra due qubit. La misurazione di $X\otimes 1$ consente di esaminare le informazioni archiviate localmente nel primo qubit. Anche se entrambi i tipi di misurazioni sono ugualmente utili nel calcolo quantistico, la prima mostra la potenza del calcolo quantistico. Rivela che nel calcolo quantistico spesso le informazioni desiderate non vengono archiviate in un singolo qubit, ma vengono archiviate non in locale in tutti i qubit contemporaneamente e quindi solo esaminandole tramite una misurazione congiunta, ad esempio $Z\otimes Z$, queste informazioni diventano evidenti.

È anche possibile misurare operatori di Pauli arbitrari, ad esempio $X\otimes Y \otimes Z \otimes\mathbf{1}$. Tutti questi prodotti tensoriali degli operatori di Pauli hanno solo due autovalori $\pm 1$ ed entrambi gli autospazi costituiscono metà spazio dell'intero spazio vettoriale. Pertanto coincidono con i requisiti indicati in precedenza.

In Q# tali misurazioni restituiscono $j$ se la misurazione restituisce un risultato nell'autospazio del segno $(-1)^j$. La presenza di misurazioni Pauli come funzionalità predefinita in Q# è utile perché la misurazione di tali operatori richiede lunghe catene di porte e basi NOT controllate per descrivere il cancello diagonale $U$ necessario per esprimere l'operazione come prodotto tensore di $Z$ e $1$. Potendo specificare che si vuole eseguire una di queste misurazioni predefinite, non è necessario preoccuparsi di come trasformare la base in modo che una misurazione in base al calcolo offra le informazioni necessarie. Q# gestisce automaticamente tutte le trasformazioni di base necessarie.

Teorema di non clonazione

Le informazioni quantistiche sono molto potenti. Consente di eseguire operazioni sorprendenti, ad esempio numeri di fattore in modo esponenziale rispetto agli algoritmi classici più noti, o simulare in modo efficiente sistemi elettronici correlati che richiedono in modo classico un costo esponenziale per simulare accuratamente. Esistono tuttavia limitazioni alla potenza del calcolo quantistico. Una di queste limitazioni è data dal teorema di non clonazione.

Il teorema di non clonazione ha un nome appropriato. Non consente la clonazione di stati quantistici generici da parte di un computer quantistico. La prova del teorema è molto semplice. Anche se una prova completa del teorema di no clonazione è troppo tecnica per questo articolo, la prova nel caso di qubit ausiliari aggiuntivi non rientra nell'ambito.

Per un computer quantistico di questo tipo, l'operazione di clonazione deve essere descritta con una matrice unitaria. La misurazione quantistica non è consentita perché danneggerebbe lo stato quantistico da clonare. Per simulare l'operazione di clonazione, la matrice unitaria usata deve avere la proprietà per $$ U \ket{\psi}\ket{{0}=\ket{\psi}\ket{\psi}$$ per qualsiasi stato $\ket{\psi}$. La proprietà di linearità della moltiplicazione della matrice implica quindi che per qualsiasi secondo stato quantistico $\ket{\phi}$,

$$\begin{\begin{align}U \left[ \frac{{1}{\sqrt{{2}}\left(\ket{\phi}+\ket{\psi}\right) \right] \ket{{0}& =\frac{1}{\sqrt{2}} U\ket{\phi}\ket{{0} + \frac{1}{\sqrt{{2}} U\ket{\psi}\ket{0}\\& =\frac{1}{\sqrt{2}}\left( \ket{\phi}\ket{\phi} + \ket{\psi}\ket{\psi}\right) \\& \ne\left( \frac{{2}}\left{1}{\sqrt{(\ket{\phi}+\ket{\psi}\right) \right) \otimes\left( \frac{1}{\sqrt{{2}}\left(\ket{\phi}+\ket{\psi}\right) \right). \end{align} $$

Ciò crea l'idea fondamentale alla base del teorema di non clonazione: qualsiasi dispositivo che copia uno stato quantistico sconosciuto deve provocare errori almeno in alcuni degli stati copiati. Anche se il presupposto chiave per cui l'operatore di clonazione agisce in modo lineare sullo stato di input può essere violato tramite l'aggiunta e la misurazione di qubit ausiliari, tali interazioni comportano anche la perdita di informazioni sul sistema tramite le statistiche di misurazione e impediscono la clonazione esatta anche in questi casi.

Il teorema di non clonazione è importante per la comprensione qualitativa del calcolo quantistico, perché se si potessero clonare gli stati quantistici senza alcuno sforzo, si avrebbe la meravigliosa possibilità di ricavare informazioni dagli stati quantistici. In effetti, si potrebbe violare il principio di indeterminazione vantato di Heisenberg. In alternativa, è possibile usare un operatore di clonazione ottimale per prendere un singolo campione da una distribuzione quantistica complessa e ricavare tutte le informazioni possibili su tale distribuzione da un solo campione. Questo sarebbe come capovolgere una moneta e osservare le teste e poi dire a un amico il risultato che li ha risposto " Ah la distribuzione di tale moneta deve essere Bernoulli con $p=0.512643\ldots$!&Quot; Tale affermazione non sarebbe senza distinzione perché un bit di informazioni (il risultato della testa) semplicemente non può fornire i molti bit di informazioni necessarie per codificare la distribuzione senza informazioni sostanziali precedenti. Analogamente, senza le informazioni precedenti non è possibile clonare perfettamente uno stato quantistico così come non è possibile preparare un insieme di tali monete senza conoscere $p$.

Nel calcolo quantistico le informazioni non sono gratuite. Ogni qubit misurato genera un singolo bit di informazioni e il teorema di non clonazione dimostra che non esiste una porta secondaria che consenta di aggirare il compromesso fondamentale tra le informazioni ottenute sul sistema e il disturbo richiamato su di esso.

Passaggi successivi