【課題】振幅増幅を確認する

グローバーのアルゴリズムを適用し、振幅が変化していく過程を可視化することを試みます。また検索に必要な反復回数と量子ビット数との関係も調べてみます。

  1. \(n=6\)個の量子ビットからなるリスト(\(N=2^6\)個の要素、\(0\leq x<64\))から適当な整数\(x\)を一つ選び、その数\(x\)を見つけるグローバーのアルゴリズムを実装する。

  2. グローバーの反復を任意の回数繰り返すプログラムを作成する。

  3. 実装した回路を繰り返し実行し、求める解\(x\)を観測した回数と反復した回数との相関関係を図にする。

  4. 計算で求めた検索に必要な反復回数と、測定で求めた最適な反復回数が一致することを確認する。

  5. 同じ要素リストから2つの整数\(x_1\)\(x_2\)を見つける問題へ量子回路を拡張し、3.と同様に、求める解を観測した回数と反復した回数との相関関係を図にする。

  6. 解が一つの場合で、リストのサイズを\(n=4\)から\(n=10\)まで変えた時に、測定で求めた最適な反復回数が\(n\)とどういう相関関係にあるか図で示す。また、その結果を考察する。

提出するもの

  • 1と2のコード

  • 3, 5, 6の結果の図と、6の結果の考察