# Porta quantistica

Una porta quantistica o porta quantica è una porta logica basata sulla fisica quantistica e su circuiti che operano con un piccolo numero di qubit. Sono l'analogo quantistico delle porte logiche digitali dei computer convenzionali.
Le porte quantistiche, a differenza di quelle tradizionali, sono reversibili. Alcune porte logiche classiche universali come la porta di Toffoli forniscono la reversibilità e possono essere mappate direttamente in porte logiche quantistiche.

## Rappresentazione

Le porte logiche quantistiche sono rappresentate da matrici unitarie. Il numero di qubit in ingresso e in uscita dalla porta deve essere uguale; una porta che agisce su $n$ qubit è rappresentata da una matrice unitaria $2^{n}\times 2^{n}$. Gli stati quantistici su cui agiscono le porte sono vettori in $2^{n}$ dimensioni complesse. I vettori della base sono i possibili esiti della misura dello stato, e uno stato quantistico è una combinazione lineare di questi esiti. Le porte quantistiche più comuni operano su spazi a uno o due qubit, proprio come le porte logiche classiche operano su uno o due bit.
Gli stati quantistici sono tipicamente rappresentati da "ket", seguendo la notazione bra-ket.
La rappresentazione vettoriale di un singolo qubit è:
    $|a\rangle =v_{0}|0\rangle +v_{1}|1\rangle \rightarrow {\begin{bmatrix}v_{0}\\v_{1}\end{bmatrix}}$,
dove $v_{0}$ e $v_{1}$ sono ampiezze di probabilità complesse del qubit. Questi valori determinano la probabilità di misurare uno 0 o un 1, quando si misura lo stato del qubit.
Il valore zero è rappresentato dal ket $|0\rangle ={\begin{bmatrix}1\\0\end{bmatrix}}$, e il valore uno dal ket $|1\rangle ={\begin{bmatrix}0\\1\end{bmatrix}}$.
Il prodotto tensoriale (o prodotto di Kronecker) è usato per combinare stati quantistici. Lo stato combinato di due qubit è il prodotto tensoriale dei due qubit. Il prodotto tensoriale è indicato dal simbolo $\otimes$.
La rappresentazione vettoriale di due qubit è:
    $|ab\rangle =|a\rangle \otimes |b\rangle =v_{00}|00\rangle +v_{01}|01\rangle +v_{10}|10\rangle +v_{11}|11\rangle \rightarrow {\begin{bmatrix}v_{00}\\v_{01}\\v_{10}\\v_{11}\end{bmatrix}}$,
L'azione della porta su uno specifico stato quantistico si trova moltiplicando il vettore $|\psi _{1}\rangle$ che rappresenta lo stato, per la matrice $U$ che rappresenta la porta. Il risultato è un nuovo stato quantistico
    $|\psi _{2}\rangle =U|\psi _{1}\rangle$

## Esempi importanti
### Porta di Hadamard

La porta di Hadamard agisce su un singolo qubit. Ha il seguente effetto sugli stati di base $|0\rangle$ e $|1\rangle$:
    ${\begin{aligned}|0\rangle &\longrightarrow {\frac {|0\rangle +|1\rangle }{\sqrt {2}}}\\|1\rangle &\longrightarrow {\frac {|0\rangle -|1\rangle }{\sqrt {2}}}\end{aligned}}$
Ciò significa che una misura dello stato in uscita avrà la stessa probabilità di dare 1 o 0 (cioè si crea una sovrapposizione). Rappresenta una rotazione di $\pi$ intorno all'asse $({\hat {x}}+{\hat {z}})/{\sqrt {2}}$ nella sfera di Bloch. Equivalentemente, è la combinazione di due rotazioni, di $\pi$ intorno all'asse Z, e poi di $\pi /2$ intorno all'asse Y: $R_{y}(\pi /2)R_{z}(\pi )=iH$. Viene rappresentata dalla matrice di Hadamard:
    $H={\frac {1}{\sqrt {2}}}{\begin{bmatrix}1&1\\1&-1\end{bmatrix}}$.
Siccome $HH^{\dagger }=I$ dove I è la matrice identità, H è una matrice unitaria (come tutte le porte logiche quantistiche).

### Porta X di Pauli

La porta X di Pauli agisce su un singolo qubit. È l'equivalente quantistico della porta NOT per i computer classici (rispetto alla base standard $|0\rangle$, $|1\rangle$, che distingue la direzione Z, nel senso che una misura dell'autovalore 1 corrisponde al classico 1 e una misura di -1 corrisponde a 0). Equivale a una rotazione di $\pi$ radianti intorno all'asse X della sfera di Bloch. Manda $|0\rangle$ in $|1\rangle$ e $|1\rangle$ in $|0\rangle$. A causa di questa caratteristica, viene talvolta chiamata bit-flip. Viene rappresentata dalla prima delle matrici di Pauli:
    $X={\begin{bmatrix}0&1\\1&0\end{bmatrix}}$.

### Porta Y di Pauli

La porta Y di Pauli agisce su un singolo qubit. Equivale a una rotazione di $\pi$ radianti attorno all'asse Y della sfera di Bloch. Manda $|0\rangle$ in $i|1\rangle$ e $|1\rangle$ in $-i|0\rangle$. Viene rappresentata dalla seconda delle matrici di Pauli:
    $Y={\begin{bmatrix}0&-i\\i&0\end{bmatrix}}$.

### Porta Z di Pauli ($R_{\pi }$)

La porta Z di Pauli agisce su un singolo qubit. Equivale a una rotazione di $\pi$ radianti attorno all'asse Z della sfera di Bloch. Perciò, è un caso particolare di porta di phase shift con $\phi =\pi$. Lascia lo stato di base $|0\rangle$ invariato mentre manda $|1\rangle$ in $-|1\rangle$. A causa di questa caratteristica, è talvolta chiamata phase-flip. Viene rappresentata dalla terza matrice di Pauli:
    $Z={\begin{bmatrix}1&0\\0&-1\end{bmatrix}}$.

### Porte di phase shift

Si tratta di una famiglia di porte a singolo qubit che mandano gli stati di base $|0\rangle \mapsto |0\rangle$ e $|1\rangle \mapsto e^{i\phi }|1\rangle$. La probabilità di misurare uno $|0\rangle$ o $|1\rangle$ non cambia dopo aver applicato questa porta, tuttavia modifica la fase dello stato quantistico. È equivalente a tracciare un cerchio orizzontale (una linea di latitudine) sulla sfera di Bloch di $\phi$ radianti.
    $R_{\phi }={\begin{bmatrix}1&0\\0&e^{i\phi }\end{bmatrix}}$
dove $\phi$ è il phase shift. Alcuni esempi comuni sono la porta T dove $\phi ={\frac {\pi }{4}}$, la porta S (anche se S si usa talvolta per le porte SWAP) dove $\phi ={\frac {\pi }{2}}$ e la porta Z di Pauli dove $\phi =\pi$.
Le porte di phase gate sono correlate come segue:
    $Z={\begin{bmatrix}1&0\\0&e^{i\pi }\end{bmatrix}}={\begin{bmatrix}1&0\\0&-1\end{bmatrix}}$
    $S={\begin{bmatrix}1&0\\0&e^{i{\frac {\pi }{2}}}\end{bmatrix}}={\begin{bmatrix}1&0\\0&i\end{bmatrix}}={\sqrt {Z}}$
    $T={\begin{bmatrix}1&0\\0&e^{i{\frac {\pi }{4}}}\end{bmatrix}}={\sqrt {S}}={\sqrt[{4}]{Z}}$