Condividi tramite


Notazione dirac nel calcolo quantistico

la notazione Dirac è un modo conciso e potente per descrivere gli stati e le operazioni quantistici. Fu chiamato dopo il fisico Paul Dirac, che sviluppò la notazione negli anni '30. La notazione dirac viene usata nel calcolo quantistico per descrivere gli stati quantistici, le operazioni quantistiche e le misurazioni quantistiche.

Questo articolo presenta la notazione Dirac e illustra come usarlo per descrivere gli stati quantistici e le operazioni.

Vettori nella notazione Dirac

Esistono due tipi di vettori nella notazione Dirac: il vettore bra, corrispondente a un vettore di riga e il vettore ket, corrispondente a un vettore di colonna.

Se $\psi$ è un vettore di colonna, è possibile scriverlo nella notazione Dirac come $\ket{\psi}$, dove il $\ket{\cdot}$ indica che si tratta di un vettore di ket.

Analogamente, il vettore di riga $\psi^\dagger$ viene espresso come $\bra{\psi}$, che è un vettore bra . In altre parole, $\psi^\dagger$ si ottiene applicando la coniugazione complessa elemento per elemento agli elementi della trasposta di $\psi$. La notazione bra-ket implica direttamente che $\braket{\psi|\psi}$ è il prodotto interno del vettore $\psi$ con se stesso, che è per definizione $1$.

Più in generale, se $\psi$ e $\phi$ sono vettori di stato quantistico, il prodotto interno è $\braket{\phi|\psi}$. Questo prodotto interno implica che la probabilità di misurare lo stato $\ket{\psi}$ sia $\ket{\phi}$$|\braket{\phi|\psi}|^2$.

Gli stati di base di calcolo $0$ e $1$ sono rappresentati rispettivamente come $\begin{bmatrix} 1 \ 0 \end{bmatrix}=\ket{{0}$ e $\begin{bmatrix} 0 \ 1 \end{bmatrix}=\ket{1}$.

Esempio: Rappresentare l'operazione di Hadamard con la notazione di Dirac

Applicare il gate Hadamard $H$ agli stati quantistici $\ket{0}$ e $\ket{1}$ usando la notazione Dirac:

$$ \frac{1}{\sqrt{2}}\begin{bmatrix} 1 \\ 1 \end{bmatrix}=H\ket{{0}=\ket{+}$$

$$ \frac{1}{\sqrt{2}}\begin{bmatrix} 1 \\ -1 \end{bmatrix}=H\ket{{1}=\ket{-}$$

Gli stati risultanti corrispondono ai vettori unitari nella direzione $+x$ e nella direzione $-x$ sulla sfera di Bloch. Questi stati possono anche essere espansi usando la notazione di Dirac come somme di $\ket{0}$ e $\ket{1}$:

$$ \ket{+}=\frac{{1}{\sqrt{2}}(\ket{0} + \ket{1}) $$

$$ \ket{-} = \frac{1}{\sqrt{ {2}}(\ket{0} - \ket{1}) $$

Vettori di base computazionale

Ogni stato quantistico può sempre essere espresso come somme di vettori di base di calcolo e tali somme sono facilmente espresse usando la notazione Dirac. È vero anche il contrario nel senso che gli stati $\ket{+}$ e $\ket{-}$ formano anche una base per gli stati quantistici. Si può vedere questa base dal fatto che

$$ \ket{0} = \frac{1}{\sqrt{2}}(\ket{+} + \ket{-}) $$

$$ \ket{1} = \frac{1}{\sqrt{2}}(\ket{+} - \ket{-}) $$

Come esempio di notazione Dirac, si consideri la braket $\braket{0 | 1}$, ovvero il prodotto interno tra $0$ e $1$. Questa operazione può essere scritta come segue

$$ \braket{0 | 1 1}=\begin{bmatrix}& 0 0 \end{bmatrix}\begin{bmatrix}\\ 1\end{bmatrix}=0. $$

Questo esempio indica che $\ket{{0}$ e $\ket{{1}$ sono vettori ortogonali, vale a dire $\braket{0 | 1 1}=\braket{| 0 0.}=$ Inoltre, per definizione $\braket{0 0 |}=\braket{1 1 |}=1$, il che significa che i due vettori di base computazionali possono anche essere chiamati ortonormali.

Queste proprietà ortonormaali vengono utilizzate nell'esempio seguente. Se si ha uno stato $\ket{\psi}={\frac{3}{5}}\ket{{1}+ {\frac{{4}{5}}\ket{0}$, perché $\braket{1 | 0}=0$ la probabilità di misurare $1 è$

$$ \big|\braket{1 |\psi}\big|^2=\left|\frac{{3}{5}\braket{1 | 1} +\frac{{4}{5}\braket{1 | 0}\right|^2=\frac{{9}{{25}. $$

Notazione del prodotto tensoriale

La notazione Dirac è utile per esprimere il prodotto tensore . Il prodotto Tensor è importante nel calcolo quantistico perché il vettore di stato descritto da due registri quantistici non correlati è il prodotto tensore dei due vettori di stato.

Il prodotto tensore $\psi\otimes\phi$ per due vettori di stato quantistici $\phi$ e $\psi$ viene scritto nella notazione Dirac come $\ket{\psi}\otimes\ket{\phi}$. Per convenzione, è anche possibile scrivere il prodotto tensore come $\ket{\psi}\ket{\phi}=\ket{\psi\phi}$.

Ad esempio, lo stato con due qubit inizializzati allo stato zero è $\ket{{0}\otimes\ket{0}=\ket{0}\ket{0}=\ket{00}$.

Esempio: Descrivere la sovrapposizione con la notazione di Dirac

Come un altro esempio di come è possibile usare la notazione Dirac per descrivere uno stato quantistico, considerare i modi equivalenti seguenti per scrivere uno stato quantistico che è una sovrapposizione uguale su ogni possibile stringa di lunghezza $n di bit$

$$ H^{\otimes n}\ket{0}=\frac{1}{2^{n/2}}\sum_{j=0}^{2^n-1}\ket{j}=\ket{+}^{\otimes n}. $$

In questo caso ci si potrebbe chiedere perché la somma va da $0$ a $2^{n}-1$ per $n$ bit. In primo luogo, esistono $2^{n}$ configurazioni diverse che $$ bit possono assumere. È possibile vedere questa configurazione notando che un bit può accettare $2 valori di$, ma due bit possono accettare $4 valori$ e così via. In generale, ciò significa che ci sono $2^n$ stringhe di bit diverse e che il valore più grande codificato in uno qualsiasi di essi è $1\cdots 1=2^n-1$, costituendo quindi il limite superiore per la somma. Inoltre, in questo esempio non è stato usato $\ket{+}^{\otimes n}=\ket{+}$ in analogia con $\ket{{0}^{\otimes n}=\ket{{0}$. Questa convenzione di notazione è riservata allo stato di base computazionale con ogni qubit inizializzato a zero.

Esprimere la linearità con la notazione di Dirac

Un'altra caratteristica della notazione Dirac è il fatto che è lineare. Ad esempio, per due numeri $\alpha$ complessi e $\beta$, è possibile scrivere

$$ \ket{\psi} \otimes ( \alpha\ket{\phi} + \beta\ket{\chi})=\alpha\ket{\psi}\ket{\phi} + \beta\ket{\psi}\ket{\chi}.$$

Puoi distribuire la notazione del prodotto tensoriale nella notazione di Dirac in modo che la presa dei prodotti tensoriali tra vettori di stato risulti simile alla moltiplicazione ordinaria.

I vettori bra seguono una convenzione simile a quella dei vettori ket. Il vettore $\bra{\psi}\bra{\phi}$, ad esempio, è equivalente al vettore di stato $\psi^\dagger\otimes\phi^\dagger=(\psi\otimes\phi)^\dagger$. Se il vettore $\ket{\psi}$ di ket è $\alpha\ket{0} + \beta\ket{1}$, la versione bra è $\bra{\psi}=\ket{\psi}^\dagger= (\bra{{0}\alpha^* +\bra{1}\beta^*)$.

Si supponga, ad esempio, di voler calcolare la probabilità di misurare lo stato $\ket{\psi}=\frac{3}{5}\ket{{1}+\frac{4}{5}\ket{0}$usando un programma quantistico per misurare gli stati come $\ket{+}$ o .$\ket{{-}$ Quindi la probabilità che il dispositivo indichi che lo stato sia $\ket{-}$ è

$$|\braket{- |\psi}|^2=\left|\frac{{1}{\sqrt{{2}}(\bra{0} - \bra{{1})(\frac{3}{5}\ket{{1} + \frac{{4}{5}\ket{0}) \right|^2=\left|-\frac{3}{5\sqrt{{2}} + \frac{{4}{5\sqrt{2}}\right|^2=\frac{{1}{{50}.$$

Il fatto che il segno negativo venga visualizzato nel calcolo della probabilità è una manifestazione dell'interferenza quantistica, che è uno dei meccanismi che rendono il calcolo quantistico vantaggioso rispetto al calcolo classico.

ketbra o prodotto esterno

L'ultimo elemento di cui è importante parlare nell'ambito della notazione di Dirac è la ketbra o prodotto esterno. Il prodotto esterno è rappresentato nelle notazioni Dirac come $\ket{\psi}\bra{\phi}$. Il prodotto esterno viene definito tramite moltiplicazione di matrice come $\ket{\psi}\bra{\phi}=\psi\phi^\dagger$ per i vettori di stato quantico $\psi$ e $\phi$. L'esempio più semplice e probabilmente più comune di questa notazione è

$$ \ket{0} \bra{ {0} = \begin{bmatrix}1\\ 0 \end{bmatrix}\begin{bmatrix}1&0 \end{bmatrix}=\begin{bmatrix}1 &0\\ 0 &0\end{bmatrix}\qquad\ket{1}\bra{1}=\begin{bmatrix}0\\ 1 \end{bmatrix}\begin{bmatrix}0&1 \end{bmatrix}=\begin{bmatrix}0 &0\\ 0 &1\end{bmatrix}. $$

Le ketbra sono spesso chiamate proiettori perché proiettano uno stato quantistico su un valore fisso. Poiché queste operazioni non sono unitari (e non mantengono nemmeno la norma di un vettore), un computer quantistico non può applicare in modo deterministico un proiettore. I proiettori, tuttavia, sono molto utili per descrivere l'azione che la misurazione esercita su uno stato quantistico. Ad esempio, se si misura uno stato $\ket{\psi}$ su $0$, la trasformazione risultante che lo stato sperimenta come risultato della misurazione è

$$\ket{\psi} \rightarrow \frac{(\ket{{0}\bra{{0})\ket{\psi}}{|\braket{0 |\psi}|}=\ket{{0},$$

come ci si aspetterebbe se si misurasse lo stato e lo si trovasse come $\ket{0}$. Per ribadire, tali proiettori non possono essere applicati a uno stato in un computer quantistico in modo deterministico. Al contrario, possono al massimo essere applicati in modo casuale con il risultato $\ket{0}$ visualizzato con una probabilità fissa. La probabilità che una misurazione di questo tipo riesca può essere scritta come valore atteso del proiettore quantistico nello stato

$$ \bra{\psi} (\ket{0}\bra{0})\ket{\psi}=|\braket{\psi| 0}|^2, $$

che illustra che i proiettori danno un nuovo modo di esprimere il processo di misurazione.

Se invece si considera di misurare il primo qubit di uno stato multi-qubit su $1$, è anche possibile descrivere questo processo in modo pratico usando proiettori e notazione Dirac:

$$P(\text{first qubit = 1})=\bra{\psi}\left(\ket{{1}\bra{{1}\otimes \mathbf{\mathbf{1}^{\otimes n-1}\right) . \ket{\psi} $$

In questo caso la matrice di identità può essere convenientemente scritta nella notazione di Dirac come

$$ \mathbb{I}=\ket{{0}\bra{0}+\ket{{1}\bra{1}=\begin{bmatrix}1&0\\ 0&1 \end{bmatrix}. $$

Nel caso in cui ci siano due qubit, il proiettore può essere espanso come

$$ \ket{1} \bra{1} \otimes \mathbb{I}=\ket{{1}\bra{1}\otimes (\ket{0}\bra{0}+\ket{1}\bra{{1})=\ket{10}\bra{{10} + . \ket{{11}\bra{{11} $$

e si può notare che questo proiettore è coerente con la discussione sulle probabilità di misurazione per gli stati multiqubit usando la notazione a vettori di colonna:

$$ P(\text{first qubit = 1})=\psi^\dagger (e_{10}e_{10}^\dagger + e_{{11}e_{{11}^\dagger)\psi=|e_{{10}^\dagger\psi|^2 + |e_{11}^\dagger\psi|^2, $$

che corrisponde alla discussione sulla misurazione di più qubit. La generalizzazione di questo risultato al caso dei qubit multipli, tuttavia, è leggermente più semplice da esprimere usando la notazione di Dirac piuttosto che la notazione vettoriale a colonne ed è del tutto equivalente a quanto trattato in precedenza.

Operatori di densità

Un altro operatore utile per esprimere l'uso della notazione di Dirac è l'operatore di densità, noto anche come operatore di stato. Come il vettore di stato quantistico, l'operatore di densità descrive lo stato quantistico di un sistema. Anche se i vettori di stato quantistico possono rappresentare solo stati puri, gli operatori di densità possono anche rappresentare stati misti.

Più in generale, una data matrice $\rho$ è un operatore di densità valido se sono sodisfatte le condizioni seguenti:

  • $\rho$ è una matrice di numeri complessi
  • $\rho = \rho^{\dagger}$ (vale a dire che $\rho$ è hermitiano)
  • Ogni autovalore $p$ di $\rho$ è non negativo
  • La somma di tutti gli autovalori di $\rho$ è 1

Insieme, queste condizioni garantiscono che $\rho$ può essere considerato come un insieme. Un operatore di densità per un vettore di stato quantistico $\ket{\psi}$ assume la forma $\rho =\sum_i p_i \ket{\psi_i}\bra{\psi_i}$ è una scomposizione dell'autovalore di $\rho$, quindi $\rho$ descrive l'insieme $\rho ={\ket{\psi_i}\text{ con probabilità } p_i }$.

Gli stati quantistici puri sono caratterizzati da un singolo vettore ket o funzione d'onda e non possono essere espressi come una mistura statistica, o combinazione convessa, di altri stati quantistici. Uno stato quantistico misto è un insieme statistico di stati puri.

Una sfera Bloch rappresenta gli stati puri di un punto sulla superficie della sfera e gli stati misti da un punto interno sulla sfera. Il centro della sfera rappresenta uno stato misto di un singolo qubit, in base alla simmetria. La purezza di uno stato può essere visualizzata come il grado in cui si trova vicino alla superficie della sfera.

Questo concetto di rappresentazione dello stato come matrice, anziché come vettore, è spesso utile perché offre un modo pratico per rappresentare i calcoli di probabilità. Consente inoltre di descrivere sia l'incertezza statistica che l'incertezza quantistica all'interno dello stesso formalismo.

Un operatore di densità $\rho$ rappresenta uno stato puro se e solo se:

  • $\rho$ può essere scritto come prodotto esterno di un vettore di stato, $\rho=\ket{\psi}\bra{\psi}$
  • $\rho =\rho^2$
  • $tr(\rho^2)=1$

Per determinare quanto un dato operatore di densità $\rho$ si avvicini a essere puro, è possibile esaminare la traccia - la somma degli elementi diagonali - di $\rho^2$. Un operatore di densità rappresenta uno stato puro se e solo se $tr(\rho ^{2})=1$.

Sequenze di porte Q# equivalenti a stati quantistici

Un punto finale che vale la pena generare sulla notazione quantistica e sul linguaggio di programmazione Q#: in precedenza, questo articolo ha menzionato che lo stato quantistico è l'oggetto fondamentale delle informazioni nel calcolo quantistico. Potrebbe quindi venire una sorpresa che in Q# non esiste alcuna nozione di stato quantistico. Al contrario, Q# descrive tutti gli stati solo dalle operazioni usate per prepararli. L'esempio precedente è un'ottima illustrazione di questa definizione. Anziché esprimere una sovrapposizione uniforme su ogni stringa di bit quantistica in un registro, è possibile rappresentare il risultato come $H^{\otimes n}\ket{0}$. Questa descrizione esponenzialmente più breve dello stato ha il vantaggio che è possibile ragionare classicamente su di esso. Definisce anche concisamente le operazioni che devono essere propagate attraverso lo stack software per implementare l'algoritmo. Per questo motivo, Q# è progettato per generare sequenze di porte invece di stati quantistici. Tuttavia a livello teorico le due prospettive sono equivalenti.