Per gli argomenti trattati in questo capitolo, si segue la presentazione fornita nel Capitolo 4 di Michael A. Nielsen and Isaac L. Chuang, (2010).

Analogamente al caso classico, anche nell’ambito della computazione quantistica ci si interroga sull’esistenza di un insieme finito di porte logiche quantistiche che possieda la proprietà di completezza funzionale, ovvero tale che ogni operatore unitario (e quindi ogni porta logica quantistica) possa essere realizzato come combinazione circuitale delle porte contenute nell’insieme. Tuttavia, ciò non è possibile in senso stretto: gli operatori che agiscono su uno spazio di Hilbert a dimensione finita ma su campo complesso formano un insieme non numerabile, mentre le combinazioni finite di elementi di un insieme finito sono numerabili. Ne consegue che non esiste un insieme finito di porte logiche quantistiche in grado di generare esattamente tutti gli operatori unitari possibili.

La questione viene quindi riformulata in termini più pratici e teoricamente rilevanti: ci si chiede se esista un insieme finito di porte logiche quantistiche tale che ogni operatore unitario possa essere approssimato con accuratezza arbitraria come combinazione circuitale delle porte che esso contiene. Tale nozione prende il nome di completezza funzionale (o universalità) quantistica.

In questo capitolo si dimostra che l’insieme è funzionalmente completo.

Per chiarezza espositiva, può essere utile fare riferimento allo schema concettuale riportato in figura \ref{fig:completezza}, che illustra in maniera sintetica i principali passaggi costruttivi attraverso cui è possibile ottenere qualsiasi operatore unitario , a partire dal set universale appena citato.

\begin{figure}[H] \centering \input{schema/schema.tex}% \caption{Schema concettuale di costruzione di qualsiasi porta logica utilizzando porte Hadamard, e NOT controllato. Ogni riquadro rappresenta una porta logica. Le freccie tratteggiate indicano una costruzione approssimata a differenza delle altre.} %fatta eccezione dell’unico stondato sulla destra che indica l’utilizzo di uno specifico teorema.} \label{fig:completezza} \end{figure}

I seguenti risultati sulle porte logiche di rotazione saranno utili in seguito. Per le dimostrazioni, si rimanda al Teorema 4.1 di Michael A. Nielsen and Isaac L. Chuang, (2010).

Lemma (di decomposizione per porte logiche a singolo qubit). Per ogni porta logica a singolo qubit, esistono tali che:

Corollario. Siano e versori in non paralleli. Per ogni porta logica a singolo qubit, esistono tali che:

Corollario. Per ogni porta logica a singolo qubit, esistono porte logiche a singolo qubit tali che:

dove .

Approssimazione di porte logiche

Definizione (Approssimazione di porte logiche). Un insieme di porte logiche si dice approssimabile da un insieme di porte logiche se e a qubit circuito quantistico di sole porte logiche di tale che:

dove è uno stato di un sistema di qubit[^1] e un autostato appartenente alla base computazionale, il cui autovalore corrispondente , negli stati e , ha probabilità di essere misurato[^2] rispettivamente e .

Definizione (Completezza funzionale quantistica). Un insieme di porte logiche quantistiche si dice funzionalmente completo se l’insieme di tutte le porte logiche è approssimabile da .

Definizione (Norma operatoriale). Sia un’operatore lineare che opera sullo spazio di Hilbert . La norma di è:

dove è normalizzato.

Definizione (Distanza tra operatori). Siano e operatori lineari su uno spazio di Hilbert . La distanza tra e è la distanza indotta dalla norma operatoriale:

Lemma. Siano e porte logiche a qubit. Allora: \begin{equation} E(U, V) \le 2d(U, V) \label{eq:thm-distanza-1} \end{equation} e inoltre, se e sono sequenze di porte logiche a qubit: \begin{equation} d(U, V) \le \sum_{i=1}^{m} d(U_i, V_i) \label{eq:thm-distanza-2} \end{equation}

Dimostrazione. Siano e le probabilità introdotte nella definizione \ref{def:approssimazione} e e gli stati normalizzati tali che . Secondo il postulato della regola di Born, tali probabilità sono esprimibili come: \begin{align*} P_U - P_V &= |\braket{\lambda|U|\Psi}|^2 - |\braket{\lambda|V|\Psi}|^2 \ &= \braket{\Psi|U^\dagger|\lambda} \braket{\lambda|U|\Psi} - \braket{\Psi|V^\dagger|\lambda} \braket{\lambda|V|\Psi} \end{align*} Aggiungendo e sottraendo lo stesso termine e fattorizzando, si ottiene: \begin{align*} P_U - P_V &= \braket{\Psi|U^\dagger|\lambda} ( \braket{\lambda|U|\Psi} - \braket{\lambda|V|\Psi} ) + (\braket{\Psi|U^\dagger|\lambda} - \braket{\Psi|V^\dagger|\lambda}) \braket{\lambda|V|\Psi} \ &= \braket{\Psi|U^\dagger|\lambda}\braket{\lambda|U-V|\Psi} + \braket{\Psi|(U-V)^\dagger|\lambda}\braket{\lambda|V|\Psi} \end{align*} Applicando prima la disuguaglianza triangolare e dopo la disuguaglianza di Cauchy-Schwarz e poiché i fattori e sono entrambi minori o uguali ad 1, si ha: \begin{align*} |P_U - P_V| &\le |\braket{\Psi|U^\dagger|\lambda}\braket{\lambda|U-V|\Psi}| + |\braket{\Psi|(U-V)^\dagger|\lambda}\braket{\lambda|V|\Psi}| \ &\le |(U - V)\ket\Psi| + |(U - V)\ket\Psi| \ &\le 2d(U, V) \end{align*} L’espressione \eqref{eq:thm-distanza-1} è così dimostrata.

Siano ora e sequenze di 2 porte logiche a qubit. Per almeno uno stato si ha: Aggiungendo e sottraendo lo stesso termine e fattorizzando si ottiene: Applicando la disuguaglianza triangolare e la definizione di distanza tra porte logiche, poiché le norme sono invarianti sotto operatori unitari, si ha: \begin{align*} d(U_2 U_1, V_2 V_1) &\le |(U_2 - V_2) U_1 \ket\Psi| + |V_2 (U_1 - V_1) \ket\Psi| \ &\le d(U_2, V_2) + d(U_1, V_1) \end{align*} La dimostrazione dell’espressione \eqref{eq:thm-distanza-2}, per sequenze di un generico numero di porte logiche a qubit, segue per induzione.

Teorema. Tutte le porte logiche a singolo qubit sono approssimabili dalle porte Hadamard e .

Dimostrazione. Si consideri che: Ciò è evidente essendo e, poiché : Poiché , segue che: \begin{align*} T \cdot HTH &= \cos^2\left(\frac{\pi}{8}\right)I -i \sin\left(\frac{\pi}{8}\right) \left[ \cos\left(\frac{\pi}{8}\right)\sigma_1 + \sin\left(\frac{\pi}{8}\right)\sigma_2 + \cos\left(\frac{\pi}{8}\right)\sigma_3 \right] \ &= \cos\left( \frac{\theta}{2} \right) I - i \sin\left( \frac{\theta}{2} \right) (\hat n \cdot \vec \sigma) = R_{\hat n}(\theta) \end{align*} dove il versore e l’angolo sono definiti come segue:

\begin{align*} \cos\left(\frac{\theta}{2}\right) := \cos^2\left(\frac{\pi}{8}\right) \implies \sin\left(\frac{\theta}{2}\right) &= \sqrt{1 - \cos^2\left(\frac{\theta}{2}\right)} = \sqrt{1 - \cos^4\left(\frac{\pi}{8}\right)} \ &= \sin\left(\frac{\pi}{8}\right)\sqrt{1 + \cos^2\left(\frac{\pi}{8}\right)} \end{align*} L’angolo così definito è un multiplo irrazionale di , ovvero tale che:

Per la dimostrazione, si rimanda a \cite{boykin1999universalfaulttolerantquantumcomputing}.

Da ciò e dal teorema del ritorno di Poincaré, per il quale si rimanda a \citep[Capitolo 3]{arnold1989mathematical}, consegue che l’immagine della successione è un insieme denso in , ovvero:

\begin{figure}[H] \centering \includegraphics[scale=0.45]{denso.pdf} \caption{Successione con tale che .} \label{fig:denso} \end{figure}

Fissato ora un versore , si ha per ogni quanto segue:

Essendo le rotazioni operatori unitari, conserva la norma, pertanto:

Poiché , gli autovalori di sono , dunque lo spettro di è . Ne consegue che \begin{align*} d(R_{\hat m}(\alpha), R_{\hat m}(\alpha + \beta)) &= \sup_{|\Psi| = 1}|(R_{\hat m}(\alpha) - R_{\hat m}(\alpha + \beta))\ket\Psi| \ &= \max(|1 - e^{-\frac{i}{2} \beta}|, |1 - e^{\frac{i}{2} \beta}|) = |1 - e^{\frac{i}{2} \beta}| \end{align*}

Considerando che , dalla continuità della funzione segue per definizione che:

Unendo questo risultato a quello di densità si ottiene:

Ricordando le relazioni , , , è semplice dedurre che:

dove, se , allora . In particolare e non sono paralleli perché .

Siano una qualsiasi porta logica a singolo qubit, esprimibile come segue secondo il corollario \ref{thm:decomposizione-2}, e la seguente porta logica composta da sole porte Hadamard e : \begin{align*} U = e^{i\alpha}R_{\hat n}(\beta)R_{\hat m}(\gamma)R_{\hat n}(\delta), \quad V &= R_{\hat n}^{n_1}(\theta) H R_{\hat n}^{n_2}(\theta) H R_{\hat n}^{n_3}(\theta) \ &= (THTH)^{n_1} H (THTH)^{n_2} H (THTH)^{n_3} \end{align*} Utilizzando la disequazione \eqref{eq:thm-distanza-2} del teorema \ref{thm:distanza} e considerando che, stando alla definizione \ref{def:approssimazione}, , segue l’approssimabilità da dimostrare.

[^1] Nel caso in cui il circuito sia ad un numero di qubit , la sua applicazione allo stato è intesa come l’applicazione di su uno stato esteso ad uno sistema di qubit, e che il confronto tra e avviene considerando le probabilità di misura sui soli qubit logici, trascurando quelli ausiliari.

[^2] La misura coinvolge tutti i qubit, in quanto si considera l’osservabile globale , il cui insieme di autostati ortonormali corrisponde alla base computazionale.

Costruzione di porte controllate

La porta Toffoli è realizzabile con una composizione di sole porte a singolo qubit e porte CNOT. La dimostrazione per costruzione è data dal seguente circuito.

\begin{figure}[H] \centering \begin{quantikz}[column sep=0.5em, row sep=2.3em] \lstick{} & \ctrl{2} & \rstick{} \ \lstick{} & \ctrl{0} & \rstick{} \ \lstick{} & \targ{} & \rstick{} \end{quantikz} = \begin{quantikz}[column sep=0.7em] \lstick{} & & & & \ctrl{2} & & & & \ctrl{2} & & \ctrl{1} & & \ctrl{1} & \gate{T} & \rstick{} \ \lstick{} & & \ctrl{1} & & & & \ctrl{1} & & & \gate{T^\dagger} & \targ{} & \gate{T^\dagger} & \targ{} & \gate{S} & \rstick{} \ \lstick{} & \gate{H} & \targ{} & \gate{T^\dagger} & \targ{} & \gate{T} & \targ{} & \gate{T^\dagger} & \targ{} & \gate{T} & \gate{H} & & & & \rstick{} \end{quantikz} %\caption{Realizzazione di una porta Toffoli con porte a singolo qubit e CNOT.} \label{fig:costruzione-toffoli} \end{figure}

\def\cPhaseShift{\begin{pmatrix} 1 & 0 \ 0 & e^{i\alpha} \end{pmatrix}}

Sia una porta a singolo qubit. L’operazione controllata è realizzabile con una composizione di sole porte a singolo qubit e porte CNOT. Infatti, come assicura il corollario \ref{thm:decomposizione-3}, esistono e porte logiche a singolo qubit tali che , che permettono la costruzione del seguente circuito equivalente alla porta controllata . \begin{figure}[H] \centering \begin{quantikz}[column sep=1em, row sep={3.75em,between origins}, baseline=(current bounding box.center)] \lstick{} & \ctrl{1} & \rstick{} \ \lstick{} & \gate{U} & \rstick{} \end{quantikz} = \begin{quantikz}[baseline=(current bounding box.center)] \lstick{} & & \ctrl{1} & & \ctrl{1} & \gate{\cPhaseShift} & \rstick{} \ \lstick{} & \gate{C} & \targ{} & \gate{B} & \targ{} & \gate{A} & \rstick{}\ \end{quantikz} %\caption{} \label{fig:costruzione-controlled-u} \end{figure} L’uguaglianza è evidente calcolando esplicitamente l’operatore matriciale rappresentato dal circuito: \begin{align*} &\left[ \begin{pmatrix} 1 & 0 \ 0 & e^{i\alpha} \end{pmatrix} \otimes A \right] \cdot \text{CNOT} \cdot (I \otimes B) \cdot \text{CNOT} \cdot (I \otimes C) \ &= \begin{pmatrix} A & 0 \ 0 & e^{i\alpha} A \end{pmatrix} \begin{pmatrix} B & 0 \ 0 & \sigma_1 B \end{pmatrix} \begin{pmatrix} C & 0 \ 0 & \sigma_1 C \end{pmatrix} \ &= \begin{pmatrix} ABC & 0 \ 0 & e^{i\alpha} A \sigma_1 B \sigma_1 C \end{pmatrix} = \begin{pmatrix} I & 0 \ 0 & U \end{pmatrix} = C(U) \end{align*}

Sia una porta a singolo qubit. L’operazione controllata è realizzabile, come mostrato dal circuito seguente, con una composizione di sole porte Toffoli e della porta , sfruttando qubit ausiliari inizializzati a , detti qubit di lavoro (o qubit ancilla). L’equivalenza è evidente se si considerano le tavole di verità di queste porte e quindi di come ogni porta che compone il circuito trasformi sequenzialmente gli stati della base computazionale. \begin{figure}[H] \centering \hspace{0.5cm} % sposta verso destra \resizebox{0.9\textwidth}{!}{ \begin{quantikz}[column sep=1em, baseline=(current bounding box.center)] \lstick{} & \ctrl{4} & \rstick{} \ \lstick{} & \ctrl{0} & \rstick{} \ \lstick{} & \ctrl{0} & \rstick{} \ \lstick{} & \ctrl{0} & \rstick{} \ & \ \vdots\ & \ \lstick{} & \gate{U} & \rstick{} \end{quantikz} \ \ \ =\ \ \ \begin{quantikz}[baseline=(current bounding box.center)] \lstick{} & \ctrl{5} & & & & & & \ctrl{5} & \rstick[4]{ controllo} \ \lstick{} & \ctrl{0} & & & & & & \ctrl{0} & \rstick{} \ \lstick{} & & \ctrl{4} & & & & \ctrl{4} & & \rstick{} \ \lstick{} & & & \ctrl{4} & & \ctrl{4} & & & \rstick{} \ & & & & \ \vdots\ & & & & \ \lstick{} & \targ{} & \ctrl{0} & & & & \ctrl{0} & \targ{} & \rstick[3]{ lavoro} \ \lstick{} & & \targ{} & \ctrl{0} & & \ctrl{0} & \targ{} & & \rstick{} \ \lstick{} & & & \targ{} & \ctrl{1} & \targ{} & & & \rstick{} \ \lstick{} & & & & \gate{U} & & & & \rstick{target} \end{quantikz}} %\caption{} \label{fig:costruzione-controlled-u-singolo} \end{figure}

Porte logiche a due livelli

Definizione (Operatore a due livelli). Sia un operatore agente sullo spazio di Hilbert a dimensione finita . L’operatore si dice a due livelli se esiste un sottospazio al più a 2 dimensioni tale che:

dove è il sottospazio di ortogonale a .

Teorema. Per ogni porta logica a qubit a due livelli, esiste un circuito equivalente ad composto da sole porte e una porta , dove è la porta logica a singolo qubit che definisce l’azione di nel sottospazio bidimensionale su cui agisce non banalmente.

Dimostrazione. Sia un generico stato di qubit.

dove e sono gli elementi della base computazionale, quindi indica il codice binario associato secondo la nomenclatura utilizzata.

La porta logica a due livelli opera non banalmente sui soli vettori di un sottospazio generato da al massimo due vettori di base e .

dove e definiscono la porta a singolo qubit come:

Definizione (Codice Gray). Siano e due codici binari diversi ed entrambi ad cifre. Un codice Gray da a è una sequenza finita di codici binari ad cifre dove il primo è , l’ultimo è e i codici adiacenti differiscono per esattamente una cifra.

L’implementazione di avviene tramite l’utilizzo dei codici Gray appena definiti ed è suddivisa nei tre seguenti punti:

  1. Applicazione sequenziale di porte controllate , in modo da implementare un circuito che trasformi soltanto il vettore di base in , dove è il penultimo elemento del codice Gray da a : con .
  2. Applicazione di una porta controllata , con qubit target nella posizione dell’unica cifra diversa tra gli ultimi due elementi del codice Gray, e con qubit di controllo che limitino la trasformazione ai soli vettori di base rappresentati dal codice le cui restanti cifre siano del valore di quelle dell’ultimo codice .
  3. Applicazione in ordine inverso delle porte utilizzate al primo punto.

Esempio. Sia la seguente porta logica a due livelli e la relativa porta logica a singolo qubit che definisce l’azione di nel sottospazio bidimensionale su cui agisce non banalmente.

U = \scalebox{0.5}{$ \begin{pmatrix} a & 0 & 0 & 0 & 0 & 0 & 0 & b \\ 0 & 1 & 0 & 0 & 0 & 0 & 0 & 0 \\ 0 & 0 & 1 & 0 & 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & 1 & 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 & 1 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 & 0 & 1 & 0 & 0 \\ 0 & 0 & 0 & 0 & 0 & 0 & 1 & 0 \\ c & 0 & 0 & 0 & 0 & 0 & 0 & d \end{pmatrix}$} \quad\quad \tilde U = \begin{pmatrix} a & b \\ c & d \end{pmatrix}

In questo caso i vettori di base su cui agisce non banalmente sono e , di cui un codice Gray e, di conseguenza, un circuito che implementa sono: \begin{center} %\vspace{-0.7cm} \begin{minipage}{4cm} \begin{align*} i &= 000 \ g_1 &= 001 \ g_2 &= 011 \ j &= 111 \end{align*} \end{minipage} %\hspace{0.5cm} \begin{minipage}{6cm} \begin{figure}[H] \centering \begin{quantikz} \lstick{} & \octrl{2} & \octrl{2} & \gate{\tilde U} & \octrl{2} & \octrl{2} & \rstick{} \ \lstick{} & \octrl{0} & \targ{} & \ctrl{0} & \targ{} & \octrl{0} & \rstick{} \ \lstick{} & \targ{} & \ctrl{0} & \ctrl{-2} & \ctrl{0} & \targ{} & \rstick{} \end{quantikz} %\caption{} %\label{fig:} \end{figure} \end{minipage} \end{center}

Teorema. Per ogni operatore unitario che opera su uno spazio di Hilbert di dimensione , esistono operatori su unitari a due livelli tali che:

Dimostrazione. La seguente è una dimostrazione per costruzione del caso di operatori rappresentati da matrici in , generalizzabile al caso di operatori agenti su spazi di Hilbert -dimensionali. Abbia quindi la seguente rappresentazione matriciale:

Siano definite di conseguenza le matrici come segue[^3]: \begin{align*} U_1 &= \begin{cases} \quad\quad I \vphantom{ \scalebox{0.7}{} } & \text{se } b = 0 \ \scalebox{0.7}{} \cdot \dfrac{1}{\lambda} & \text{se } b \neq 0 \end{cases} \quad\quad\implies\quad\quad U_1 U = \begin{pmatrix} a’ & d’ & g’ \ 0 & e’ & h’ \ c’ & f’ & j’ \end{pmatrix} \[15pt] U_2 &= \begin{cases} \scalebox{0.7}{} & \text{se } c’ = 0 \[15pt] \scalebox{0.7}{} \cdot \dfrac{1}{\lambda’} & \text{se } c’ \neq 0 \end{cases} \quad\implies\quad U_2 U_1 U = \begin{pmatrix} 1 & d” & g” \ 0 & e” & h” \ 0 & f” & j” \end{pmatrix} \[15pt] U_3 &= \begin{pmatrix} 1 & 0 & 0 \ 0 & e”^* & f”^* \ 0 & h”^* & j”^* \end{pmatrix} \quad\quad\quad \parbox{0.6\textwidth}{ dove gli apici definiscono le componenti delle matrici risultanti e } \end{align*} Moltiplicando tra loro le matrici così definite ed essendo la trasposta coniugata di una matrice unitaria a due livelli ancora una matrice unitaria a due livelli, per definizione di operatore unitario, si ottiene la tesi.

[^3] Si denota con il complesso coniugato di .

Bibliografia