Skip to main content
QUICK REVIEW

[論文レビュー] Five Quantum Algorithms Using Quipper

Safat Siddiqui, Mohammed Jahirul Islam|arXiv (Cornell University)|Jun 17, 2014
Quantum Computing Algorithms and Architecture参考文献 6被引用数 4
ひとこと要約

本論文は、関数型量子プログラミング言語であるQuipperを用いて、Deutschの、Deutsch-Jozsaの、Simonの、Groverの、Shorの5つの基礎的量子アルゴリズムの最初の実装を提示する。Quipperの量子アルゴリズム開発における使いやすさとスケーラビリティを示し、8×8および16×16のユニタリ行列コンストラクタおよびShorのアルゴリズム用のオラクルのカスタム実装を含む。Quipperシミュレータを用いたテストにより正しさが検証された。

ABSTRACT

Quipper is a recently released quantum programming language. In this report, we explore Quipper's programming framework by implementing the Deutsch's, Deutsch-Jozsa's, Simon's, Grover's, and Shor's factoring algorithms. It will help new quantum programmers in an instructive manner. We choose Quipper especially for its usability and scalability though it's an ongoing development project. We have also provided introductory concepts of Quipper and prerequisite backgrounds of the algorithms for readers' convenience. We also have written codes for oracles (black boxes or functions) for individual algorithms and tested some of them using the Quipper simulator to prove correctness and introduce the readers with the functionality. As Quipper 0.5 does not include more than \ensuremath{4 imes 4} matrix constructors for Unitary operators, we have also implemented \ensuremath{8 imes 8} and \ensuremath{16 imes 16} matrix constructors.

研究の動機と目的

  • Quipperが主要な量子アルゴリズムを実装する上で実用的でスケーラブルであることを示すこと。
  • コアとなる量子アルゴリズムの段階的実装を通じて、新規の量子プログラマー向けの教育的フレームワークを提供すること。
  • Quipper 0.5では4×4を超えるサポートがなかったことから、8×8および16×16のユニタリ行列コンストラクタを実装することで、Quipperの能力を拡張すること。
  • Quipperシミュレータを用いて正しさの検証を実施するため、Shorのアルゴリズム用のカスタムオラクル(ブラックボックス)を設計・実装すること。
  • 実行可能でテスト可能なQuipperコードを生成することで、量子アルゴリズム理論と将来の物理的実装の間のギャップを埋めること。

提案手法

  • Haskellの型システムと高階関数を活用した、Quipperの関数型量子プログラミングフレームワークを用いて各アルゴリズムを実装する。
  • Shorのアルゴリズムにおいて逆量子フーリエ変換(QFT†)を適用するために、QuipperLib.QFTモジュールのqft_big_endian関数を用いる。
  • 入力および出力のキュービット数と、キュービットペアを量子回路にマッピングする関数をパラメータとする、Oracleデータ型を用いてオラクルを第一級の値として定義する。
  • 制御NOTおよび制御-制御-NOTゲートを用いて、モジュロ指数関数の論理を実装した、Shorのアルゴリズム用の特別なオラクルを構築する。例:mod15_base7_oracle(a=7, N=15)およびmod21_base20_oracle(a=20, N=21)。
  • 古典的ハードウェア上で測定と回路実行フェーズをエミュレートすることで、Quipperシミュレータを用いたシミュレーションによりオラクルの正しさを検証する。
  • Quipperの能力を拡張するため、8×8および16×16のユニタリ行列コンストラクタをカスタム実装し、より大規模な量子回路の構築を可能にする。

実験結果

リサーチクエスチョン

  • RQ1Quipperは、Shorの因数分解やGroverの探索といった主要な量子アルゴリズムを、スケーラブルかつ再利用可能な方法で効果的に表現・シミュレートできるか?
  • RQ2制御量子ゲートを用いて、モジュロ算術の論理を正しく実装した状態で、Shorのアルゴリズム用のオラクルをQuipperでどのように実装できるか?
  • RQ3Quipper 0.5では4×4までしかサポートしていない行列コンストラクタのサイズ制限が、より大規模な量子回路の実装をどの程度妨げるか?
  • RQ4Quipperのネイティブな制限を克服するために、8×8および16×16のユニタリコンストラクタをカスタムで実装することは成功したか?
  • RQ5Quipperシミュレータは、物理的実行の前に量子回路実装の正しさをどの程度効果的に検証できるか?

主な発見

  • 本論文は、Deutschの、Deutsch-Jozsaの、Simonの、Groverの、Shorの5つの主要な量子アルゴリズムをすべてQuipperで実装し、量子アルゴリズムプロトタイピングにおけるその実用性を示した。
  • Quipperのネイティブな4×4の制限を超える能力を拡張するため、8×8および16×16のユニタリ行列コンストラクタをカスタム実装した。これにより、より大規模な回路構築が可能になった。
  • モジュロ指数関数を符号化するため、制御NOTおよびマルチ制御NOT操作を用いて、f_{(7,15)}およびf_{(20,21)}の2つのケースについて、Shorのアルゴリズム用のオラクルを正しく実装した。
  • Quipperシミュレータは、測定結果の古典的シミュレーションと回路動作のエミュレーションを通じて、オラクル実装の正しさを成功裏に検証した。
  • Shorのアルゴリズムの実装には、アダマールゲート、オラクルの適用、QFT†、測定を含む完全な回路生成が含まれており、完全でテスト可能な量子サブルーチンを形成している。
  • 本研究は、基本的な量子回路から複雑なアルゴリズムへと至る教育的パイプラインを確立し、理論から実行可能なコードに段階的に移行できるように、新規学習者を支援する構造的枠組みを提供した。

より良い研究を、今すぐ始めましょう

論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。