
6.3
さらに反復する?
111
振幅増幅の演算では、ターゲットの値を明確にしておきます。つまり、
flip
サブルーチンが対象の
値の中に組み込まれているのです。これでは、振幅増幅を行う意味がないと思えるかもしれません。
増幅すべき値が既にわかっているのなら、なぜその値を見つける必要があるのでしょうか?
QPU
レジ
スタ内で選択した値の位相を反転するサブルーチンの最も簡単な例として、
flip
サブルーチンを使用
しました。実際の応用では、
flip
はそのアプリケーションに固有の論理演算を表す位相反転の組み合
わせを実行する、より複雑なサブルーチンで置き換えられるでしょう。
10
章では、
QPU
レジスタの位
相に対して計算がどのように実行されるかをより詳しく説明します。アプリケーションでこの種の位相
論理演算が利用される場合、その演算は
flip
の代わりになる可能性がありますので、振幅増幅は非常
に便利です。
鍵となる点は、
mirror
サブルーチンと一緒に
flip
を使うことを議論していますが、より複雑な位
相変化のサブルーチンを
mirror
と組み合わせると、位相の変化を振幅の大きさの違いに変換すること
ができるということです。
6.3
さらに反復する?
図6-4では、
2
回の振幅増幅の反復を
B
状態に適用します。そうすると、有標値を観察する成功確率
は
90.8 %
になります。振幅増幅の反復を引き続き適用して、さらに成功確率を
100 %
に近づけること
ができるでしょうか?
これは簡単に試すことができます。例 6-2 は、指定された回数だけ振 ...