グローバーのアルゴリズム
つまり、 r = π / 4 t = π / 4 arcsin  ( 1 / N ) ≈ π N / 4 {\displaystyle r=\pi /4t=\pi /4\arcsin(1/{\sqrt {N}})\approx \pi {\sqrt {N}}/4} が得られる。このとき、システムは
[ | ω ⟩ | s ⟩ ] ( U s U ω ) r [ 0 1 ] ≈ [ | ω ⟩ | s ⟩ ] M [ i 0 0 − i ] M − 1 [ 0 1 ] = | ω ⟩ 1 cos  ( t ) − | s ⟩ sin  ( t ) cos  ( t ) {\displaystyle [|\omega \rangle \,|s\rangle ](U_{s}U_{\omega })^{r}{\begin{bmatrix}0\\1\end{bmatrix}}\approx [|\omega \rangle \,|s\rangle ]M{\begin{bmatrix}i&0\\0&-i\end{bmatrix}}M^{-1}{\begin{bmatrix}0\\1\end{bmatrix}}=|\omega \rangle {\frac {1}{\cos(t)}}-|s\rangle {\frac {\sin(t)}{\cos(t)}}}
の状態で終了する。 少し計算すれば、観測によって(エラー確率 O(1/N) を除き)正しい答え ω {\displaystyle \omega } が得られることがわかる。
グローバーのアルゴリズムの目的は普通「データベース探索」とされるが、「逆関数の導出」と言うとより正確かもしれない。おおざっぱにいうと、y=f(x)という量子コンピュータで処理できる関数があったとして、このアルゴリズムを使うとあるyを与えるxの値を計算することができる。データベース探索は、データベースをインデックスxに対してデータyを与える関数と考えれば、逆関数を求めることと同値である。
グローバーのアルゴリズムは、平均と中央値を推定すること、また衝突問題(w:Collision problem)を解くのにも使える。また、可能性のある解を総当たりで探すことによってNP完全問題を解くことにも使える。これは、膨大な可能性を試すのに、重ね合わせを用いることで限られた計算量しか消費しないので、古典アルゴリズムに比べてかなりのスピードアップを見込めるが、指数時間かかってしまうことは変らない。あらかじめ解が複数あることとその個数がわかっている場合、このアルゴリズムはさらに高速化することができる。