L'algoritmo quantistico di stima della fase (in inglese: quantum phase estimation algorithm ), è un algoritmo quantistico per la stima della fase (o di un autovalore) di un autovettore di un operatore unitario. Più precisamente, data una matrice unitaria
U
{\displaystyle U}
e uno stato quantico
|
ψ
⟩
{\displaystyle |\psi \rangle }
tale che
U
|
ψ
⟩
=
e
2
π
i
θ
|
ψ
⟩
{\displaystyle U|\psi \rangle =e^{2\pi i\theta }|\psi \rangle }
, l'algoritmo stima il valore di
θ
{\displaystyle \theta }
con alta probabilità entro un errore
ε
{\displaystyle \varepsilon }
, usando
O
(
log
(
1
/
ε
)
)
{\displaystyle O(\log(1/\varepsilon ))}
qubit (senza contare quelli usati per codificare lo stato dell'autovettore) e
O
(
1
/
ε
)
{\displaystyle O(1/\varepsilon )}
operazioni U controllate .
La stima della fase è usata frequentemente come subroutine in altri algoritmi quantistici, come l'algoritmo di Shor [ 1] e l'algoritmo quantistico per sistemi di equazioni lineari.
Sia U un operatore unitario che agisce su m qubit con un autovettore
|
ψ
⟩
,
{\displaystyle |\psi \rangle ,}
tale che
U
|
ψ
⟩
=
e
2
π
i
θ
|
ψ
⟩
,
0
≤
θ
<
1
{\displaystyle U|\psi \rangle =e^{2\pi i\theta }\left|\psi \right\rangle ,0\leq \theta <1}
.
Bisogna trovare l'autovalore
e
2
π
i
θ
{\displaystyle e^{2\pi i\theta }}
di
|
ψ
⟩
{\displaystyle |\psi \rangle }
, che in questo caso è equivalente a stimare la fase
θ
{\displaystyle \theta }
, a un livello finito di precisione. Si può scrivere l'autovalore nella forma
e
2
π
i
θ
{\displaystyle e^{2\pi i\theta }}
perché U è un operatore unitario su uno spazio vettoriale complesso, così gli autovalori devono essere numeri complessi con valore assoluto 1.
Circuito quantistico per la stima della fase
L'input consiste di due registri (due parti): gli
n
{\displaystyle n}
qubit superiori costituiscono il primo registro, e gli
m
{\displaystyle m}
qubit inferiori costituiscono il secondo registro.
Lo stato iniziale del sistema è:
|
0
⟩
⊗
n
|
ψ
⟩
.
{\displaystyle |0\rangle ^{\otimes n}|\psi \rangle .}
Dopo aver applicato la porta di Hadamard a n bit
H
⊗
n
{\displaystyle H^{\otimes n}}
sul primo registro, lo stato diventa
1
2
n
2
(
|
0
⟩
+
|
1
⟩
)
⊗
n
|
ψ
⟩
{\displaystyle {\frac {1}{2^{\frac {n}{2}}}}(|0\rangle +|1\rangle )^{\otimes n}|\psi \rangle }
.
Sia
U
{\displaystyle U}
un operatore unitario con autovettore
|
ψ
⟩
{\displaystyle |\psi \rangle }
tale che
U
|
ψ
⟩
=
e
2
π
i
θ
|
ψ
⟩
,
{\displaystyle U|\psi \rangle =e^{2\pi i\theta }|\psi \rangle ,}
perciò
U
2
j
|
ψ
⟩
=
U
2
j
−
1
U
|
ψ
⟩
=
U
2
j
−
1
e
2
π
i
θ
|
ψ
⟩
=
⋯
=
e
2
π
i
2
j
θ
|
ψ
⟩
{\displaystyle U^{2^{j}}|\psi \rangle =U^{2^{j}-1}U|\psi \rangle =U^{2^{j}-1}e^{2\pi i\theta }|\psi \rangle =\cdots =e^{2\pi i2^{j}\theta }|\psi \rangle }
.
C
−
U
{\displaystyle C-U}
è una porta U controllata che applica l'operatore
U
{\displaystyle U}
sul secondo registro se e solo se il suo bit di controllo corrispondente (del primo registro) è
|
1
⟩
{\displaystyle |1\rangle }
.
Assumendo per semplicità che le porte controllate siano applicate sequenzialmente, dopo aver applicato
C
−
U
2
0
{\displaystyle C-U^{2^{0}}}
all'
n
{\displaystyle n}
-esimo qubit del primo registro e al secondo registro, lo stato diventa
1
2
1
2
(
|
0
⟩
|
ψ
⟩
+
|
1
⟩
e
2
π
i
2
0
θ
|
ψ
⟩
)
⏟
n-esimo qubit e secondo registro
⊗
1
2
n
−
1
2
(
|
0
⟩
+
|
1
⟩
)
⊗
n
−
1
⏟
qubit dal primo al
(
n
−
1
)
-esimo
=
1
2
1
2
(
|
0
⟩
|
ψ
⟩
+
e
2
π
i
2
0
θ
|
1
⟩
|
ψ
⟩
)
⊗
1
2
n
−
1
2
(
|
0
⟩
+
|
1
⟩
)
⊗
n
−
1
{\displaystyle {\frac {1}{2^{\frac {1}{2}}}}\underbrace {\left(|0\rangle |\psi \rangle +|1\rangle e^{2\pi i2^{0}\theta }|\psi \rangle \right)} _{\text{n-esimo qubit e secondo registro}}\otimes {\frac {1}{2^{\frac {n-1}{2}}}}\underbrace {\left(|0\rangle +|1\rangle \right)^{\otimes ^{n-1}}} _{{\text{qubit dal primo al }}(n-1){\text{-esimo}}}={\frac {1}{2^{\frac {1}{2}}}}\left(|0\rangle |\psi \rangle +e^{2\pi i2^{0}\theta }|1\rangle |\psi \rangle \right)\otimes {\frac {1}{2^{\frac {n-1}{2}}}}\left(|0\rangle +|1\rangle \right)^{\otimes ^{n-1}}}
=
1
2
1
2
(
|
0
⟩
+
e
2
π
i
2
0
θ
|
1
⟩
)
|
ψ
⟩
⊗
1
2
n
−
1
2
(
|
0
⟩
+
|
1
⟩
)
⊗
n
−
1
=
1
2
n
2
(
|
0
⟩
+
e
2
π
i
2
0
θ
|
1
⟩
)
⏟
n
-esimo qubit
⊗
(
|
0
⟩
+
|
1
⟩
)
⊗
n
−
1
|
ψ
⟩
,
{\displaystyle ={\frac {1}{2^{\frac {1}{2}}}}\left(|0\rangle +e^{2\pi i2^{0}\theta }|1\rangle \right)|\psi \rangle \otimes {\frac {1}{2^{\frac {n-1}{2}}}}\left(|0\rangle +|1\rangle \right)^{\otimes ^{n-1}}={\frac {1}{2^{\frac {n}{2}}}}\underbrace {\left(|0\rangle +e^{2\pi i2^{0}\theta }|1\rangle \right)} _{n{\text{-esimo qubit}}}\otimes \left(|0\rangle +|1\rangle \right)^{\otimes ^{n-1}}|\psi \rangle ,}
dove si usa:
|
0
⟩
|
ψ
⟩
+
|
1
⟩
⊗
e
2
π
i
2
j
θ
|
ψ
⟩
=
(
|
0
⟩
+
e
2
π
i
2
j
θ
|
1
⟩
)
|
ψ
⟩
,
∀
j
.
{\displaystyle |0\rangle |\psi \rangle +|1\rangle \otimes e^{2\pi i2^{j}\theta }|\psi \rangle =(|0\rangle +e^{2\pi i2^{j}\theta }|1\rangle )|\psi \rangle ,\ \forall j.}
Dopo aver applicato tutte le restanti
n
−
1
{\displaystyle n-1}
operazioni controllate
C
−
U
2
j
{\displaystyle C-U^{2^{j}}}
con
1
≤
j
≤
n
−
1
,
{\displaystyle 1\leq j\leq n-1,}
come visto in figura, lo stato del primo registro può essere descritto come
1
2
n
2
(
|
0
⟩
+
e
2
π
i
2
n
−
1
θ
|
1
⟩
)
⏟
primo qubit
⊗
⋯
⊗
(
|
0
⟩
+
e
2
π
i
2
1
θ
|
1
⟩
)
⏟
(
n
−
1
)
-esimo qubit
⊗
(
|
0
⟩
+
e
2
π
i
2
0
θ
|
1
⟩
)
⏟
n
-esimo qubit
=
1
2
n
2
∑
k
=
0
2
n
−
1
e
2
π
i
θ
k
|
k
⟩
,
{\displaystyle {\frac {1}{2^{\frac {n}{2}}}}\underbrace {\left(|0\rangle +e^{2\pi i2^{n-1}\theta }|1\rangle \right)} _{\text{primo qubit}}\otimes \cdots \otimes \underbrace {\left(|0\rangle +e^{2\pi i2^{1}\theta }|1\rangle \right)} _{(n-1){\text{-esimo qubit}}}\otimes \underbrace {\left(|0\rangle +e^{2\pi i2^{0}\theta }|1\rangle \right)} _{n{\text{-esimo qubit}}}={\frac {1}{2^{\frac {n}{2}}}}\sum _{k=0}^{2^{n}-1}e^{2\pi i\theta k}|k\rangle ,}
dove
|
k
⟩
{\displaystyle |k\rangle }
denota la rappresentazione binaria di
k
{\displaystyle k}
, cioè la
k
{\displaystyle k}
-esima base computazionale, e lo stato del secondo registro è lasciato invariato in
|
ψ
⟩
{\displaystyle |\psi \rangle }
.
Applicare la trasformata di Fourier quantistica inversa su
1
2
n
2
∑
k
=
0
2
n
−
1
e
2
π
i
θ
k
|
k
⟩
{\displaystyle {\frac {1}{2^{\frac {n}{2}}}}\sum _{k=0}^{2^{n}-1}e^{2\pi i\theta k}|k\rangle }
porta a
1
2
n
2
∑
k
=
0
2
n
−
1
e
2
π
i
θ
k
1
2
n
2
∑
x
=
0
2
n
−
1
e
−
2
π
i
k
x
2
n
|
x
⟩
=
1
2
n
∑
x
=
0
2
n
−
1
∑
k
=
0
2
n
−
1
e
2
π
i
θ
k
e
−
2
π
i
k
x
2
n
|
x
⟩
=
1
2
n
∑
x
=
0
2
n
−
1
∑
k
=
0
2
n
−
1
e
−
2
π
i
k
2
n
(
x
−
2
n
θ
)
|
x
⟩
.
{\displaystyle {\frac {1}{2^{\frac {n}{2}}}}\sum _{k=0}^{2^{n}-1}e^{2\pi i\theta k}{\frac {1}{2^{\frac {n}{2}}}}\sum _{x=0}^{2^{n}-1}e^{\frac {-2\pi ikx}{2^{n}}}|x\rangle ={\frac {1}{2^{n}}}\sum _{x=0}^{2^{n}-1}\sum _{k=0}^{2^{n}-1}e^{2\pi i\theta k}e^{\frac {-2\pi ikx}{2^{n}}}|x\rangle ={\frac {1}{2^{n}}}\sum _{x=0}^{2^{n}-1}\sum _{k=0}^{2^{n}-1}e^{-{\frac {2\pi ik}{2^{n}}}\left(x-2^{n}\theta \right)}|x\rangle .}
Lo stato complessivo dei due registri è
1
2
n
∑
x
=
0
2
n
−
1
∑
k
=
0
2
n
−
1
e
−
2
π
i
k
2
n
(
x
−
2
n
θ
)
|
x
⟩
⊗
|
ψ
⟩
.
{\displaystyle {\frac {1}{2^{n}}}\sum _{x=0}^{2^{n}-1}\sum _{k=0}^{2^{n}-1}e^{-{\frac {2\pi ik}{2^{n}}}\left(x-2^{n}\theta \right)}|x\rangle \otimes |\psi \rangle .}
Si può approssimare il valore di
θ
∈
[
0
,
1
]
{\displaystyle \theta \in [0,1]}
arrotondando
2
n
θ
{\displaystyle 2^{n}\theta }
all'intero più vicino. Ciò significa che
2
n
θ
=
a
+
2
n
δ
,
{\displaystyle 2^{n}\theta =a+2^{n}\delta ,}
dove
a
{\displaystyle a}
è l'intero più vicino a
2
n
θ
,
{\displaystyle 2^{n}\theta ,}
e la differenza
2
n
δ
{\displaystyle 2^{n}\delta }
soddisfa
0
⩽
|
2
n
δ
|
⩽
1
2
{\displaystyle 0\leqslant |2^{n}\delta |\leqslant {\tfrac {1}{2}}}
.
Possiamo ora scrivere lo stato del primo e del secondo registro nel modo seguente:
1
2
n
∑
x
=
0
2
n
−
1
∑
k
=
0
2
n
−
1
e
−
2
π
i
k
2
n
(
x
−
a
)
e
2
π
i
δ
k
|
x
⟩
⊗
|
ψ
⟩
.
{\displaystyle {\frac {1}{2^{n}}}\sum _{x=0}^{2^{n}-1}\sum _{k=0}^{2^{n}-1}e^{-{\frac {2\pi ik}{2^{n}}}\left(x-a\right)}e^{2\pi i\delta k}|x\rangle \otimes |\psi \rangle .}
Effettuando una misura nella base computazionale sul primo registro dà il risultato
|
a
⟩
{\displaystyle |a\rangle }
con probabilità
Pr
(
a
)
=
|
⟨
a
|
1
2
n
∑
x
=
0
2
n
−
1
∑
k
=
0
2
n
−
1
e
−
2
π
i
k
2
n
(
x
−
a
)
e
2
π
i
δ
k
|
x
⏟
Stato del primo registro
⟩
|
2
=
1
2
2
n
|
∑
k
=
0
2
n
−
1
e
2
π
i
δ
k
|
2
=
{
1
δ
=
0
1
2
2
n
|
1
−
e
2
π
i
2
n
δ
1
−
e
2
π
i
δ
|
2
δ
≠
0
{\displaystyle \Pr(a)=\left|\left\langle a\underbrace {\left|{\frac {1}{2^{n}}}\sum _{x=0}^{2^{n}-1}\sum _{k=0}^{2^{n}-1}e^{{\frac {-2\pi ik}{2^{n}}}(x-a)}e^{2\pi i\delta k}\right|x} _{\text{Stato del primo registro}}\right\rangle \right|^{2}={\frac {1}{2^{2n}}}\left|\sum _{k=0}^{2^{n}-1}e^{2\pi i\delta k}\right|^{2}={\begin{cases}1&\delta =0\\&\\{\frac {1}{2^{2n}}}\left|{\frac {1-{e^{2\pi i2^{n}\delta }}}{1-{e^{2\pi i\delta }}}}\right|^{2}&\delta \neq 0\end{cases}}}
Per
δ
=
0
{\displaystyle \delta =0}
l'approssimazione è precisa, perciò
a
=
2
n
θ
{\displaystyle a=2^{n}\theta }
e
Pr
(
a
)
=
1.
{\displaystyle \Pr(a)=1.}
In questo caso, si può sempre misurare il valore preciso della fase.[ 2] [ 3] Lo stato del sistema dopo la misura è
|
2
n
θ
⟩
⊗
|
ψ
⟩
{\displaystyle |2^{n}\theta \rangle \otimes |\psi \rangle }
.[ 1]
Per
δ
≠
0
{\displaystyle \delta \neq 0}
siccome
|
δ
|
⩽
1
2
n
+
1
{\displaystyle |\delta |\leqslant {\tfrac {1}{2^{n+1}}}}
l'algoritmo produce il risultato corretto con probabilità
Pr
(
a
)
⩾
4
π
2
≈
0.405
{\displaystyle \Pr(a)\geqslant {\frac {4}{\pi ^{2}}}\approx 0.405}
. Si dimostra questo come segue:[ 2] [ 3]
Pr
(
a
)
=
1
2
2
n
|
1
−
e
2
π
i
2
n
δ
1
−
e
2
π
i
δ
|
2
per
δ
≠
0
=
1
2
2
n
|
2
sin
(
π
2
n
δ
)
2
sin
(
π
δ
)
|
2
|
1
−
e
2
i
x
|
2
=
4
|
sin
(
x
)
|
2
=
1
2
2
n
|
sin
(
π
2
n
δ
)
|
2
|
sin
(
π
δ
)
|
2
⩾
1
2
2
n
|
sin
(
π
2
n
δ
)
|
2
|
π
δ
|
2
|
sin
(
π
δ
)
|
⩽
|
π
δ
|
per
|
δ
|
⩽
1
2
n
+
1
⩾
1
2
2
n
|
2
⋅
2
n
δ
|
2
|
π
δ
|
2
|
2
⋅
2
n
δ
|
⩽
|
sin
(
π
2
n
δ
)
|
per
|
δ
|
⩽
1
2
n
+
1
⩾
4
π
2
{\displaystyle {\begin{aligned}\Pr(a)&={\frac {1}{2^{2n}}}\left|{\frac {1-{e^{2\pi i2^{n}\delta }}}{1-{e^{2\pi i\delta }}}}\right|^{2}&&{\text{per }}\delta \neq 0\\[6pt]&={\frac {1}{2^{2n}}}\left|{\frac {2\sin \left(\pi 2^{n}\delta \right)}{2\sin(\pi \delta )}}\right|^{2}&&\left|1-e^{2ix}\right|^{2}=4\left|\sin(x)\right|^{2}\\[6pt]&={\frac {1}{2^{2n}}}{\frac {\left|\sin \left(\pi 2^{n}\delta \right)\right|^{2}}{|\sin(\pi \delta )|^{2}}}\\[6pt]&\geqslant {\frac {1}{2^{2n}}}{\frac {\left|\sin \left(\pi 2^{n}\delta \right)\right|^{2}}{|\pi \delta |^{2}}}&&|\sin(\pi \delta )|\leqslant |\pi \delta |{\text{ per }}|\delta |\leqslant {\frac {1}{2^{n+1}}}\\[6pt]&\geqslant {\frac {1}{2^{2n}}}{\frac {|2\cdot 2^{n}\delta |^{2}}{|\pi \delta |^{2}}}&&|2\cdot 2^{n}\delta |\leqslant |\sin(\pi 2^{n}\delta )|{\text{ per }}|\delta |\leqslant {\frac {1}{2^{n+1}}}\\[6pt]&\geqslant {\frac {4}{\pi ^{2}}}\end{aligned}}}
Questo risultato mostra che si misurerà la miglior stima di
θ
{\displaystyle \theta }
con alta probabilità. Incrementando il numero di qubit di
O
(
log
(
1
/
ϵ
)
)
{\displaystyle O(\log(1/\epsilon ))}
e ignorando quegli ultimi qubit si può incrementare la probabilità a
1
−
ϵ
{\displaystyle 1-\epsilon }
.[ 3]
^ a b Michael A. Nielsen e Isaac L. Chuang, Quantum computation and quantum information , ristampa, Cambridge, Cambridge Univ. Press, 2001, ISBN 978-0521635035 .
^ a b Guiliano Benenti, Giulio Casati e Giuliano Strini, Principles of quantum computation and information , ristampa, New Jersey, World Scientific, 2004, ISBN 978-9812388582 .
^ a b c R. Cleve, A. Ekert e C. Macchiavello, Quantum algorithms revisited , in Proceedings of the Royal Society A: Mathematical, Physical and Engineering Sciences , vol. 454, n. 1969, 8 January 1998, Bibcode :1998RSPSA.454..339C , DOI :10.1098/rspa.1998.0164 , arXiv :quant-ph/9708016 .