Skip to content

ncdcdev/amazon-braket-algorithm-library

 
 

Repository files navigation

Amazon Braket Algorithm Library

Build

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

方法1: uv を使用する(推奨)

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_tests

方法2: pip を使用する

git clone https://github.com/amazon-braket/amazon-braket-algorithm-library.git
cd amazon-braket-algorithm-library
pip install .

AWS設定

AWSプロファイルの設定

ノートブックをローカルのIDEで実行するには、まずAWSアカウントと連携するためのプロファイルを設定します。詳細はAWS CLIの設定を参照してください。

プロファイル作成後、以下のコマンドでAWS_PROFILEを設定し、以降のコマンドがAWSアカウントとリソースにアクセスできるようにします:

export AWS_PROFILE=YOUR_PROFILE_NAME

Amazon Braketに必要なリソースの設定

Amazon Braketを初めて使用する場合は、AWSコンソールからサービスのオンボーディングと必要なリソースの作成を行ってください。


サポート

問題とバグレポート

アルゴリズムライブラリの使用中にバグが発生したり問題に直面した場合は、GitHubのissueトラッカーに投稿してお知らせください。

その他の問題や一般的な質問については、Quantum Computing Stack Exchangeで質問し、タグ「amazon-braket」を追加してください。

フィードバックと機能リクエスト

Amazon Braketに関するフィードバックや実装してほしい機能がある場合は、ぜひお聞かせください。 GitHub issuesがフィードバックと機能リクエストを収集するための推奨メカニズムです。他のユーザーも会話に参加でき、+1で優先度を示すことができます。


ライセンス

このプロジェクトはApache-2.0ライセンスの下でライセンスされています。

About

Amazon Braketの公式サンプルのfork

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Jupyter Notebook 86.8%
  • Python 13.2%