三浦ノート

自分の経験したことを検索可能にしていくブログ.誰かの役に立ってくれれば嬉しいです.

量子コンピュータで量子もつれ状態を生成する(Qiskitチュートリアル)

Qiskit をインストールして,チュートリアルの 量子もつれ状態の生成を実機で行うまでやってみたのでまとめていきます.公式のドキュメントがとても詳しいので簡単でした.

windows10 ,python 3.7.3 で行いました.

Qiskit のインストール

Qiskit の APIドキュメント を参考にして Qiskit をインストールします.

私は Anaconda を入れてなかったので,pythonの venv で仮想環境を作って Qiskit をインストールしました.

パワーシェルで,

python -m venv qiskitenv
./qiskitenv/Scripts/activate
pip install --upgrade pip
pip install qiskit numpy jupyterlab matplotlib

と実行していきました.

python で import qiskit が読み込めたので成功です.

IBM Q アカウント作成

量子コンピュータの実機も使ってみたいので アカウントを作りました.

IBM Q Experience でサインインして,トークンを保存します.

ダッシュボードでは使用可能な量子コンピュータバックエンドの一覧が見れます.

Getting Started with Qiskit

Getting Started with Qiskit リンク1リンク2 を見ながら,量子もつれ状態 を生成します.

回路シミュレーター

まずはリンク1を参考に,QASM(カズム)シミュレーターを用いた生成を行いました.シミュレーションなので理論値に従う結果が出力されます.

追記:下のノートの In[11] で量子回路の latex_sorce を表示する circuit.draw(output='latex_source') の出力が見にくい状態になっていますが,print(circuit.draw(output='latex_source')) とするときれいに表示されてすぐコピペでコンパイルできる状態で出力してくれます.

Qiskit_getting_started

クラウド量子コンピュータ

次に リンク2 を参考に,量子コンピュータ実機を用いた生成を行いました.ノイズの影響が現れます.

今回は ibmq_ourense という 5qubits のbackend を使いました.

待ち時間が結構ありました.動いているプログラムにもよるのでしょうが,1つのキューが終わるのに30秒~5分くらいかかっていました.

今後は

Qiskit の使い方が1通りわかった気がするので,次は実際に量子アルゴリズムを勉強ながら,実装していきたいです.