格罗弗算法(英语:Grover's algorithm)是一种量子算法,于1996年由计算机科学家洛夫·格罗弗提出。假设现在有一个未知的函数,格罗弗算法只需测试此未知的函数 O ( N ) {displaystyle O({sqrt {N}})} 和−2的差别足够大,便有 2 r t ≈ π / 2 {displaystyle 2rtapprox pi /2} , 或 r = π / 4 t = π / 4 arcsin ( 1 / N ) ≈ π N / 4 {displaystyle r=pi /4t=pi /4arcsin(1/{sqrt {N}})approx pi {sqrt {N}}/4} . 这样以来,就有
( U s U ω ) r = M M − 1 . {displaystyle (U_{s}U_{omega })^{r}=M{begin{bmatrix}i&0\0&-iend{bmatrix}}M^{-1}.}
作用在初始态上将会有
( U s U ω ) r ≈ M M − 1 = | ω ⟩ 1 cos ( t ) − | x ⟩ sin ( t ) cos ( t ) . {displaystyle (U_{s}U_{omega })^{r}{begin{bmatrix}0\1end{bmatrix}}approx M{begin{bmatrix}i&0\0&-iend{bmatrix}}M^{-1}{begin{bmatrix}0\1end{bmatrix}}=|omega rangle {frac {1}{cos(t)}}-|xrangle {frac {sin(t)}{cos(t)}}.}
简短的计算表明,格罗弗算法将具有 O ( 1 N ) {displaystyle Oleft({frac {1}{N}}right)} 量级的误差.