Notazione dirac nel calcolo quantistico

La notazione Dirac è progettata per soddisfare le esigenze precise di esprimere gli stati e l'algebra lineare nella meccanica quantistica. Prende il nome dal fisico Paul Dirac, che ha sviluppato la notazione negli anni '30. La notazione Dirac è un modo conciso e potente per descrivere gli stati e le operazioni quantistici. Viene usato nel calcolo quantistico per descrivere gli stati quantistici, le operazioni quantistiche e le misurazioni quantistiche.

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

Limitazioni della notazione vettoriale a colonne

Anche se la notazione del vettore di colonna è comune nell'algebra lineare, viene spesso usata nel calcolo quantistico, soprattutto quando si gestiscono più qubit. Ad esempio, quando si definisce $\psi$ come vettore non è esplicitamente chiaro se $\psi$ è una riga o un vettore di colonna. Pertanto, se $\phi$ e $\psi$ sono vettori, è altrettanto poco chiaro se\psi$ $\phiè anche definito, perché le forme di $\phi$ e $\psi$ potrebbero non essere chiare nel contesto. Oltre all'ambiguità sulle forme dei vettori, l'espressione di vettori persino semplici usando la notazione algebrica lineare può essere complessa. Ad esempio, se si vuole descrivere uno $stato n-qubit$ in cui ogni qubit accetta il valore $0$, si esprime formalmente lo stato come

$$\begin{bmatrix}1 \\ 0 \end{bmatrix}\otimes\cdots\otimes\begin{bmatrix}1 \\ 0 \end{bmatrix}. $$

La valutazione di questo prodotto tensore è poco pratica perché il vettore si trova in uno spazio esponenzialmente grande. Di conseguenza, questa notazione è, infatti, la migliore descrizione dello stato che può essere data usando la notazione precedente.

Tipi di vettori nella notazione di Dirac

Nella notazione di Dirac esistono due tipi di vettori: il vettore bra e il vettore ket, chiamati così perché quando vengono combinati formano un prodotto braket o interno. Se $\psi$ è un vettore di colonna, è possibile scriverlo nella notazione Dirac come $\ket{\psi}$, dove \ $\ket{cdot}$ indica che si tratta di un vettore di colonna unità, ad esempio un vettore di ket . Analogamente, il vettore riga $\psi^\dagger$ viene espresso come $\bra{\psi}$. In altre parole, $\psi^\dagger$ viene ottenuto applicando la coniugazione complessa eseguita in modo indipendente da ogni termine 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$.

La convenzione seguente viene usata per descrivere gli stati quantistici che codificano i valori zero e uno (stati di base computazionale a qubit singolo):

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

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

La notazione seguente viene spesso usata per descrivere gli stati risultanti dall'applicazione del gate Hadamard a $\ket{0}$ e $\ket{1}$. Questi stati corrispondono ai vettori di unità nelle $direzioni +x$ e $-x$ sulla sfera Bloch:

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

Questi stati possono anche essere espansi usando la notazione di Dirac come somme di $\ket{0}$ e $\ket{1}$:

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

Vettori di base computazionale

Ciò dimostra perché questi stati sono chiamati spesso base computazionale: ogni stato quantistico può sempre essere espresso come somma di vettori di base computazionale e tali somme sono facilmente espresse usando la notazione di Dirac. È vero anche il contrario nel senso che gli stati $\ket{+}$ e $\ket{-}$ formano anche una base per gli stati quantistici. Lo si può vedere dal fatto che

$$\ket{{0}=\frac{1}{\sqrt{2}}(\ket{+} + \ket{-}),\qquad\frac{{1}{\sqrt{=\ket{{1}{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}{1}={\frac{3}{5}}\ket{+ {\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 include anche una struttura di prodotto tensore implicita. Questa struttura è importante perché nel calcolo quantistico, il vettore di stato descritto da due registri quantistici non correlati è i prodotti tensori dei due vettori di stato. Descrivere in modo conciso la struttura del prodotto tensoriale o la sua mancanza è fondamentale per spiegare una computazione quantistica. La struttura del prodotto tensore implica che è possibile scrivere $\psi\otimes\phi$ per due vettori di stato quantistico $\phi$ e $\psi$ come .$\ket{\psi}\otimes\ket{\phi}$ Tuttavia, per convenzione la scrittura $\otimes$ tra i vettori non è necessaria ed è possibile scrivere\phi}=$$\ket{\psi}\ket{\phi}\ket{\psi . Per altre informazioni sui vettori e sui prodotti tensoriali, vedere Vettori e matrici nel calcolo quantistico. Ad esempio, lo stato con due qubit inizializzati allo stato zero è:

$$\ket{0}\otimes\ket{0}=\ket{{0}\ket{{0}=\ket{{00}=\begin{bmatrix} 1 \\ 0 \end{bmatrix}\otimes\begin{bmatrix} 1 \\ 0 \end{bmatrix}=\begin{bmatrix} 1 \\ 0 \\ 0 \\ 0 \end{bmatrix}. $$

Analogamente, lo stato $\ket{p per integer $p$}$ rappresenta uno stato quantistico che codifica l'intero $p$ nella rappresentazione binaria. Ad esempio, se si desidera esprimere il numero $5$ usando una codifica binaria senza segno, è possibile esprimerla allo stesso modo come

$$\ket{1}\ket{0}\ket{1}=\ket{101}=\ket{5}. $$

All'interno di questa notazione, $\ket{0}$ non è necessario fare riferimento a uno stato a qubit, ma piuttosto a un registro qubit che archivia una codifica binaria pari $a 0$. Le differenze tra queste due notazioni sono chiare dal contesto. Questa convenzione è utile per semplificare il primo esempio, che può essere scritto in uno dei modi seguenti:

$$\begin{bmatrix}1 \\ 0 \end{bmatrix}\otimes\cdots\otimes\begin{bmatrix}1 \\ 0 \end{bmatrix}=\ket{{0}\otimes\cdots\otimes\ket{0}=|0\cdots 0\rangle=\ket{{0}^{\otimes n}$$

dove $\ket{0}^{\otimes n}$ rappresenta il prodotto tensoriale di $n$$\ket{0}$ stati quantistici.

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 è compresa tra $0$ e $2^{n-1}$ per $n$ bit. Prima di tutto, si noti che esistono $2^{n}$ configurazioni diverse che $possono essere eseguite da n$ bit. È possibile osservarlo notando che un bit può assumere $2$ valori, ma due bit possono assumere $4$ valori e così via. In generale, ciò significa che esistono $2^n$ diverse stringhe di bit possibili, ma il valore più grande codificato in una di esse è $1\cdots 1=2^n-1$ e quindi è il limite superiore della somma. Come nota laterale, in questo esempio non è stato usato +^ n+ in analogia con{0}$\ket{ ^{\otimes n{0}$}\ket{=.}$}=\ket{{\otimes}$\ket{ Questa convenzione notazione è riservata allo stato di base computazionale con ogni qubit inizializzato su zero. Sebbene tale convenzione sia sensata in questo caso, non viene usata nella letteratura del calcolo quantistico.

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}.$$

Ciò significa che è possibile distribuire la notazione del prodotto tensoriale nella notazione di Dirac in modo che prendere i prodotti tensoriali tra vettori di stato finisca per sembrare solo una normale moltiplicazione.

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 del vettore bra del vettore è $\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}=+\ket{0}$ \frac{4}{5}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 nella notazione di Dirac come $\ket{\psi}\bra{\phi}$ e a volte è chiamato ketbra perché i bra e i ket si presentano nell'ordine opposto a quelle delle braket. 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 0\end{bmatrix}=\ket{1}\qquad\begin{bmatrix}\\\bra{1} 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}$. È importante ribadire che tali proiettori non possono essere applicati su 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}{0}=\ket{\bra{0}+\ket{\bra{1}={1}\begin{bmatrix}1& 0 0\\& amp; 1 \end{bmatrix}. $$

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

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

è quindi possibile osservare che questo è 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 eigenvalue $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 quelli caratterizzati da un singolo vettore ket o funzione d'onda e non possono essere scritti come combinazione statistica (o combinazione convessa) di altri stati quantistici. Uno stato quantistico misto è un insieme statistico di stati puri.

In una sfera Bloch, gli stati puri sono rappresentati da un punto sulla superficie della sfera, mentre gli stati misti sono rappresentati da un punto interno. Lo stato misto di un singolo qubit è rappresentato dal centro della sfera, dalla 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 delle probabilità e consente anche di descrivere l'incertezza statistica e 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 stabilire quanto un dato operatore di densità $\rho$ sia puro, è possibile esaminare la traccia (ovvero 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 Q# linguaggio di programmazione: l'inizio di questo documento ha indicato che lo stato quantistico è l'oggetto fondamentale delle informazioni nel calcolo quantistico. Può quindi sorprendere che in Q# non esista una nozione di stato quantistico. Tutti gli stati sono invece descritti solo dalle operazioni usate per prepararli. L'esempio precedente ne è un'eccellente dimostrazione. 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 non solo ha il vantaggio che è possibile ragionare classicamente su di esso, ma definisce anche concisamente le operazioni necessarie per 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.

Passaggi successivi