らんだむな記憶

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

Qiskit (48) —量子振幅増幅

量子振幅増幅の内容を読み進める。書籍のこの項目で注意するべき箇所は一点のみで、それは $\ket{\omega^\perp}$ の意味である。「変数はグローバーアルゴリズムと同じものを使う」とあるが、これは正確ではなくて、「同じ考え方で作ったものを使う」といったほうが正しい。つまり、グローバーアルゴリズムでは計算基底状態から作った $\ket{s}$ と、与えられた計算基底状態の 1 つ $\ket{\omega}$ とが張る空間の中でに状態の回転を見ていた。この時、$\ket{\omega^\perp}$ としては、

$$
\begin{align*}
\ket{\omega^\perp} = C (\ket{s} - \frac{1}{2^n} \ket{\omega})
\end{align*}
$$

ここで、$C = \sqrt{1 - \frac{1}{2^n}}^{-1}$ であった。今回はこれではなく、$\ket{s} = H^{\otimes n} \ket{0}^{\otimes n}$ の代わりに $\ket{\Omega} = \mathcal{A} \ket{0}$ を使うので、$\ket{\omega}$ と $\ket{\Omega}$ が張る空間の中で、

$$
\begin{align*}
\ket{\omega^\perp} = C^\prime (\ket{\Omega} - \braket{\omega|\Omega} \ket{\omega})
\end{align*}
$$

を考えることになる。ここで $C^\prime$ は規格化定数である。

あとは、$U_f$ を $\mathcal{U}_{\omega^\perp}$ に、$U_s$ を $\mathcal{U}_\Omega$ に読み替えたら話の流れとしてはまったく同じ議論である。

結局は $n$ がどういう値でも、2 次元に制限した実空間での話になるのでそれほど複雑度の上がる話ではないことが分かった。書籍の付属コードを実行してp.171 まで完了とする。

textbook では 3. Example: 3 Qubits の部分が近いと思う。