Important
このリポジトリはAmazon Braket Algorithm LibraryをNCDC環境用にforkしたものです。オリジナルのリポジトリから以下の改変を行っています:
- uvを使用したパッケージ管理への移行
- READMEの日本語化
- その他NCDC環境に合わせたカスタマイズ
Amazon Braket Algorithm Libraryは、代表的な量子アルゴリズムと実験的なワークロードの実装をすぐに実行できるサンプルノートブックとして提供するライブラリです。
現在、Braketアルゴリズムは以下のOS上でテストされています:
- Linux
- Windows
- macOS
ノートブックをローカルで実行する場合は、notebooks/textbook/requirements.txtにある追加の依存関係が必要です。詳細はnotebooks/textbook/README.mdを参照してください。
| アルゴリズム | ノートブック | 参考文献 |
|---|---|---|
| ベルの不等式 | Bells_Inequality.ipynb | Bell1964, Greenberger1990 |
| Bernstein-Vazirani | Bernstein_Vazirani_Algorithm.ipynb | Bernstein1997 |
| CHSH不等式 | CHSH_Inequality.ipynb | Clauser1970 |
| Deutsch-Jozsa | Deutsch_Jozsa_Algorithm.ipynb | Deutsch1992 |
| Groverの探索アルゴリズム | Grovers_Search.ipynb | Figgatt2017, Baker2019 |
| QAOA(量子近似最適化アルゴリズム) | Quantum_Approximate_Optimization_Algorithm.ipynb | Farhi2014 |
| 量子回路ボルンマシン | Quantum_Circuit_Born_Machine.ipynb | Benedetti2019, Liu2018 |
| QFT(量子フーリエ変換) | Quantum_Fourier_Transform.ipynb | Coppersmith2002 |
| QPE(量子位相推定) | Quantum_Phase_Estimation_Algorithm.ipynb | Kitaev1995 |
| 量子ウォーク | Quantum_Walk.ipynb | Childs2002 |
| Shorの素因数分解アルゴリズム | Shors_Algorithm.ipynb | Shor1998 |
| Simonのアルゴリズム | Simons_Algorithm.ipynb | Simon1997 |
| アルゴリズム | ノートブック | 参考文献 |
|---|---|---|
| 量子PCA(主成分分析) | Quantum_Principal_Component_Analysis.ipynb | He2022 |
| QMC(量子モンテカルロ) | Quantum_Computing_Quantum_Monte_Carlo.ipynb | Motta2018, Peruzzo2014 |
| 適応的ショット割り当て | 2_Adaptive_Shot_Allocation.ipynb | Shlosberg2023 |
| 機能 | ノートブック |
|---|---|
| ランダム回路生成 | Random_Circuit.ipynb |
⚠️ 以下のプロジェクトはAmazon Braketが提供するものではありません。これらのプロジェクトの使用(該当するライセンスの遵守や特定の目的への適合性を含む)については、ユーザー自身の責任となります。
Braketを使用した他のリポジトリでの量子アルゴリズム実装:
| アルゴリズム | リポジトリ | 参考文献 | 追加の依存関係 |
|---|---|---|---|
| 量子強化学習 | quantum-computing-exploration-for-drug-discovery-on-aws | Learning Retrosynthetic Planning through Simulated Experience(2019) | dependencies |
uvは高速なPythonパッケージマネージャーです。
git clone https://github.com/amazon-braket/amazon-braket-algorithm-library.git
cd amazon-braket-algorithm-library
uv syncテスト用の依存関係も含める場合:
uv sync --extra testコマンドを実行する:
uv run python <your_script.py>
uv run pytest test/unit_testsgit clone https://github.com/amazon-braket/amazon-braket-algorithm-library.git
cd amazon-braket-algorithm-library
pip install .ノートブックをローカルのIDEで実行するには、まずAWSアカウントと連携するためのプロファイルを設定します。詳細はAWS CLIの設定を参照してください。
プロファイル作成後、以下のコマンドでAWS_PROFILEを設定し、以降のコマンドがAWSアカウントとリソースにアクセスできるようにします:
export AWS_PROFILE=YOUR_PROFILE_NAMEAmazon Braketを初めて使用する場合は、AWSコンソールからサービスのオンボーディングと必要なリソースの作成を行ってください。
アルゴリズムライブラリの使用中にバグが発生したり問題に直面した場合は、GitHubのissueトラッカーに投稿してお知らせください。
その他の問題や一般的な質問については、Quantum Computing Stack Exchangeで質問し、タグ「amazon-braket」を追加してください。
Amazon Braketに関するフィードバックや実装してほしい機能がある場合は、ぜひお聞かせください。 GitHub issuesがフィードバックと機能リクエストを収集するための推奨メカニズムです。他のユーザーも会話に参加でき、+1で優先度を示すことができます。
このプロジェクトはApache-2.0ライセンスの下でライセンスされています。