Python(Qiskit)について(20)

概要

  • Qiskit について, 学習サイト の サンプルプログラムを動かしてみた.
  • 動作環境は, 学習サイト上 で行った
  • 実行プログラム, 解説は, 下記の参照サイトをご覧ください

感想

  1. ベルンシュタイン・ヴァジラニ アルゴリズムの演算方法で, 量子オラクルについて確認してみた.
  2. 5 ~ 6量子ビットで確認したが出力結果が改行されなかったので, wbrタグを手動埋め込みし改行させて確認している.
  3. 下記の (参考)シミュレーターでの実験 の通り, ベルンシュタイン・ヴァジラニ アルゴリズム の プログラム内に, 秘密の文字列を反転する操作が実装されており, 個人的には, 手計算前に, 秘密の文字列 を 反転させる操作 と 符合すると予想する.
  4. 演習問題では, 10量子ビット(“1110110101”)での記述もあったが, 実行後に, エラー(Too large to display)となったため, 詳細は確認できなかったが, 5 ~ 6量子ビットで確認出来たので, 十分だと思う.

ベルンシュタイン・ヴァジラニ アルゴリズム(演習問題改題ほか)

  1. 量子オラクル(5量子ビット “10011”)
  2. [手計算]

    [結果]
    手計算との一致を確認できた.

     


  3. 量子オラクル(6量子ビット “010110”)
  4. [手計算]

    [結果]
    手計算との一致を確認できた.

     


  5. (参考)量子オラクル(10量子ビット “1110110101”)
  6. [結果]
    エラー出力された.

     


  7. (参考)シミュレーターでの実験
  8. 公式サイトでは, 秘密の文字列 “011” で, シミュレーターによる実験を見ることが出来る.
    ⇒ プログラム中に, 以下の実装箇所があるが, これをコメントアウト(秘密の文字列の反転を行わない)して, 結果を確認してみる.

    [結果]
    シミュレーター の 結果が, 秘密の文字列 “110” で, 出力されることを確認できた.

     


参照サイト

コメントを残す

メールアドレスが公開されることはありません。

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください