量子コンピューティングの基礎的な概念を学ぶためのコードスニペット集です。
このプロジェクトはVisual Studio Code(VS Code)で快適に実行・編集できます。
- 拡張機能「Python」「Jupyter」をインストールすることで、ノートブックの作成・実行・デバッグが可能です。
- VS Codeの「ノートブック」ビューで.ipynbファイルを直接開き、セルごとに実行・編集できます。
- 仮想環境(venv)を利用する場合は、VS CodeのコマンドパレットからPythonインタープリターを選択してください。
推奨手順
- VS Codeでこのフォルダを開く
- 必要な拡張機能(Python, Jupyter)をインストール
- 仮想環境を有効化し、カーネルとして選択
- 各ノートブック(.ipynb)を開いてセルを実行
VS Code上での実行・編集は、学習や実験に非常に便利です。
このリポジトリには、量子コンピューティングの基本的なアルゴリズムと概念を実装したJupyter Notebookが含まれています。Qiskitを使用して、量子回路の作成、シミュレーション、測定を行います。
- Hadamardゲートの基本動作を学習
- 量子重ね合わせ状態の生成
- 測定による確率分布の確認(|0⟩と|1⟩が50%ずつ)
- 量子エンタングルメント(量子もつれ)の実装
- Bell状態(最大エンタングル状態)の生成
- 2量子ビット間の相関関係の確認
- 量子テレポーテーションプロトコルの実装
- エンタングルメントと古典通信を使った量子状態の転送
- 測定と条件付きゲート操作による状態の再構築
- 量子並列性を活用した関数の性質判定
- 古典コンピュータより効率的な問題解決の実例
- オラクルの実装と量子干渉の利用
- 構造化されていないデータベースの探索アルゴリズム
- 振幅増幅による探索の高速化
- O(√N)の計算量での探索実現
- 量子コンピュータの威力を示す代表的なアルゴリズム
- 量子フーリエ変換を使った周期発見
- RSA暗号に影響を与える実用的な量子アルゴリズム
- 量子計算と古典計算の違いを体験
- Qiskitを使った量子回路の作成例
- 実用的な量子計算の限界と現実的なアプローチ
pip install qiskit qiskit-aer matplotlib numpy- リポジトリをクローン:
git clone https://github.com/code4oyama/QuantumCodeSnippets.git
cd QuantumCodeSnippets- 必要なパッケージをインストール:
pip install -r requirements.txt- Jupyter Notebookを起動して、各ノートブックを実行:
jupyter notebook量子コンピューティングを初めて学ぶ場合は、以下の順序で進めることをお勧めします:
- 1量子ビットのHゲート - 量子重ね合わせの基本
- Bell状態 - 量子エンタングルメントの理解
- 量子テレポーテーション - 複雑な量子プロトコルの実装
- Deutsch-Jozsaアルゴリズム - 量子アルゴリズムの基礎
- Groverの探索 - 量子探索アルゴリズムの実践
- Shorのアルゴリズム - 高度な量子アルゴリズムの理解
本アプリは「独自ライセンス」に基づき公開しています。
- 利用・複製・改変:自由に行えます。
- 配布・再配布:禁止します。
- 商用利用:禁止します。
- 著作権表示:本アプリの著作権表示を削除しないでください。
- 無保証:本アプリの利用によるいかなる損害も、作者は一切責任を負いません。
本アプリのソースコードおよび成果物は、個人または組織内での利用・複製・改変は許可しますが、 第三者への配布や再配布、または商用目的での利用・販売・公開は禁止します。 また、著作権表示および本ライセンス文は削除せず、必ず残してください。
ご不明点があれば、リポジトリ管理者までご連絡ください。
プルリクエストを歓迎します。大きな変更の場合は、まずissueを開いて変更内容を議論してください。