らんだむな記憶

blogというものを体験してみようか!的なー

Qiskit (44) —グローバーのアルゴリズム

一番ピンと来なかった数式の変形がすっきりしたので先へ進もう。次に書籍 p.162 図4-12 の説明を理解したい。まず、周辺で語られている話をまとめると、

$$
\begin{align*}
\ket{s} = H^{\otimes n } \ket{0}^{\otimes n } = \frac{1}{\sqrt{2^n}} \sum_{x=0}^{2^n-1} \ket{x}
\end{align*}
$$

として、

$$
\begin{align*}
\cdots + \frac{1}{\sqrt{2^n}} \ket{\omega} =\ket{s} \xrightarrow{U_f} \ket{s} -\frac{2}{\sqrt{2^n}} \ket{\omega} \xrightarrow{U_s} \cdots + \frac{3 \cdot 2^n - 4}{2^n \sqrt{2^n}} \ket{\omega}
\end{align*}
$$

となって、$\ket{\omega}$ の確率振幅が増幅して嬉しいというストーリーである。

図の意味を踏まえると、$\ket{\omega}$ を法線とする超平面 $\omega^{\perp}$ に対する $\ket{s}$ の高さを求めるのが検証しやすい。$\ket{s} + \alpha \ket{\omega}$ と $\ket{\omega}$ が直交する時、$\alpha$ が「$\ket{s}$ の $\omega^{\perp}$ に対する高さ」になる。
$\ket{\omega}$ は$(\C^2)^{\otimes n}$ に属する計算基底状態のいずれか、従って単位ベクトルであることに注意すると、$0 = \braket{s|\omega} + \alpha \braket{\omega|\omega}$ より、$\alpha = - \braket{s|\omega} = - \frac{1}{\sqrt{2^n}}$ である。よって、$- \frac{1}{\sqrt{2^n}} \ket{\omega}$ は、$\ket{\omega}$ 方向の「$\ket{s}$ を基点とする垂線ベクトル」である。このことから、$U_f$ によって $- \frac{2}{\sqrt{2^n}} \ket{\omega}$ が $\ket{s}$ に加わることは、$\ket{s}$ を $\omega^\perp$ について反転させることを意味する。

次に $\ket{s}$ に対して $U_f \ket{s}$ の反転を考える。つまり、$\beta \ket{s} - U_f \ket{s}$ と $\ket{s}$ が直交するケースを考える。そのような $\beta$ が求まれば、$U_f \ket{s} + 2 (\beta \ket{s} - U_f \ket{s})$ が $U_s \ket{s}$ の $\ket{s}$ に関する反転となる。よって、$0 = \beta \braket{s|s} - \bra{s} U_f \ket{s}$ を計算する。

$$
\begin{align*}
\beta &= \bra{s} U_f \ket{s} \\
&= \braket{s|s} - \frac{2}{\sqrt{2^n}} \braket{s|\omega} = 1 - \frac{2}{2^n}
\end{align*}
$$

である。このことから

$$
\begin{align*}
U_f \ket{s} + 2 (\beta \ket{s} - U_f \ket{s}) &= - \ket{s} + \frac{2}{\sqrt{2^n}} \ket{\omega} + 2 (1 - \frac{2}{2^n}) \ket{s} \\
&= (1 - \frac{4}{2^n}) \ket{s} + \frac{2}{\sqrt{2^n}} \ket{\omega} \\
&= \frac{2^n - 4}{2^n} \ket{s} + \frac{2}{\sqrt{2^n}} \ket{\omega}
\end{align*}
$$

より、確かに $U_s U_f \ket{s}$ が得られた。

高次元空間の話を 2 次元の模式図で説明しているだけなので、図だけでそのまま理解するのは苦しいが、$\ket{\omega}$ の確率振幅が大きくなる理由をイメージ図として理解できたと思う。

或いは、$\ket{\omega}$ と $\ket{s}$ が張る超平面と超平面 $\omega^\perp$ の交線上に $\ket{\omega^\perp}$ をとっているのかもしれない。(そう解釈すると $\ket{\omega^\perp}$ を軸に反転させるという表現が意味を持ってくる。)