User Tools

Site Tools


Sidebar

python:qiskit:インストール

概要

Qiskit 1.1を入れた記録。

  • 環境: Ubuntu 22.04
  • プログラム実行にはJupyterLabを使用

手順

今回はインストールにはPIPを使います。

$ sudo apt install python3-pip

Qiskitの導入

Qiskitはバージョンによって頻繁に文法が変わるので、仮想環境の中にインストールしてバージョンごとに使い分けるのがおすすめです。

  1. 仮想環境の作成にはvenvを使います。
    $ sudo apt install python3-venv
  2. 仮想環境を作成します(ここではホームディレクトリに qiskit-1.1-venv というディレクトリを作り、その中に仮想環境を構築します)
    $ python3 -m venv ~/qiskit-1.1-venv
    • 作成した仮想環境が必要なくなったら、このディレクトリを削除すればよいです
  3. 仮想環境を有効化します。
    source ~/qiskit-1.1-venv/bin/activate
    • 仮想環境が有効化されているときは、コマンドラインの先頭に (qiskit-1.1-venv) のように表示されます
    • 仮想環境を終了するには以下のコマンドを使用します。
      $ deactivate
  4. Qiskitと、その他必要なものを入れます。
    $ pip install qiskit pandas matplotlib pylatexenc
    • ちなみに、現在入っているパッケージやそのバージョンは次のように確認できます。
      $ pip freeze

Jupyter Labの導入

  1. Jupyter Labを入れます。
    $ pip install jupyterlab
  2. $HOME/.local/binに導入されるので、パスを通します
    $ sed -i '$aexport PATH="$HOME/.local/bin:$PATH"' .bashrc
    $ source ~/.bashrc

WSLの場合

WindowsのブラウザでWSLで起動したJupyter Labが開けるようにします。

  1. 設定ファイルを作成します。
    $ jupyter lab --generate-config
  2. 設定ファイルを開きます
    $ vi ~/.jupyter/jupyter_lab_config.py
  3. 以下の文を追加します。
    # c.ServerApp.use_redirect_file = True
    c.ServerApp.use_redirect_file = False
    
    # c.ServerApp.browser = ''
    c.ServerApp.browser = '/mnt/c/Program\ Files\ \(x86\)/Microsoft/Edge/Application/msedge.exe %s'

サンプルプログラム

Qiskitを実際に動かしてみます。 仮想環境のJupyter Labを起動しましょう

$ ~/qiskit-1.1-venv/bin/jupyter-lab
  • ブラウザが自動的に開き、Jupyter Labが実行されます。
  • 終了は、コマンドラインで Ctrl+c です。

新しいノートブックを作成して、以下を実行してください。

#Qiskitを呼び出します。
from qiskit import *
 
#量子レジスタと古典レジスタをそれぞれ2ビットずつ作成します
qr=QuantumRegister(2)
cr=ClassicalRegister(2)
circuit=QuantumCircuit(qr,cr)
 
#(1) 0番目の量子レジスタにアダマールゲートを作用させたあと、
#(2) 0番目の量子レジスタを制御ビットとするCNOTゲートを1番目の量子レジスタに作用させ、
#(3) 最後に測定を行う
#という量子回路を作成します
circuit.h(qr[0])
circuit.cx(qr[0], qr[1])
circuit.measure(qr,cr)
 
#Matplotlibで量子回路をプロットしてみます
circuit.draw(output='mpl')

うまくいっていれば、量子回路が表示されるはずです。

python/qiskit/インストール.txt · Last modified: 2024/05/18 12:14 by koudai