実習の準備#

IBM Quantum#

IBMidを取得し、IBM Quantumにログインする#

IBM Quantumを利用するには、IBMidというアカウントを作り、サービストークンを取得する必要があります。IBM QuantumウェブサイトからIDを取得し、サービスにログインしてください。

(ローカル環境)IBM Quantum APIトークンを取得し、Qiskit設定に保存する#

IBM Quantum Lab(IBM Quantumウェブサイト上のJupyter Lab)でプログラムを実行する場合、以下の手続きは不要です。

ログインしたらホーム画面のYour API tokenという欄からトークンをコピーできます。

_images/ibmq_home.png

アカウントごとに発行されるサービストークンは、ユーザー名+パスワードの代わりとしてPythonプログラム中でIBMQに接続するために使用されます。ローカルディスクに書き込める環境にある場合は、一度トークンを設定ファイルに保存することで、以降の認証を自動化できます。下のコードセルの__paste_your_token_here__のところにIBM Quantumからコピーしたトークンを貼り付け、実行してください。

from qiskit_ibm_runtime import QiskitRuntimeService

QiskitRuntimeService.save_account('__paste_your_token_here__')

トークンを保存することで、プログラム中でのIBM Quantumへの認証(QiskitRuntimeServiceの取得)は

from qiskit_ibm_runtime import QiskitRuntimeService

service = QiskitRuntimeService(channel='ibm_quantum')

のようになります。ちなみにIBM Quantum Labでは最初からトークンが保存されている状態なので、このコードで認証が行なえます。

ローカルディスクに書き込める環境でない場合(このワークブックをインタラクティブに使っている場合など)は、Pythonプログラムを実行するたびに(Jupyterのカーネルを再起動するたびに)手動で認証を行う必要があります。

from qiskit_ibm_runtime import QiskitRuntimeService

service = QiskitRuntimeService(channel='ibm_quantum', token='__paste_your_token_here__')

ワークブックの使い方#

インタラクティブHTML#

このワークブックの各ページにあるプログラムの書かれたセルは、そのままJupyter Notebookのようにブラウザ上で実行することができます。ページの右上のにカーソルを乗せ、現れるメニューから Live Codeをクリックしてください。ページのタイトルの下にステータス表示が現れるので、readyと表示されるまで待ちます。

_images/toggle_interactive.jpg

ページがインタラクティブになると、コード・セルにrunおよびrestartというボタンが現れ、直下にセルの出力が表示されるようになります。

_images/interactive_cell.jpg

この状態になったら、入力セルの内容を自由に書き換えて、runボタンをクリックして(もしくはShift + Enterで)Pythonコードを実行することができます。このときいくつか注意すべき点があります。

  • restartを押すまでページ全体が一つのプログラムになっているので、定義された変数などはセルをまたいで利用される。

  • しばらく何もしないでページを放置していると、実行サーバーとの接続が切れてしまう。その場合ページを再度読み込んで、改めてインタラクティブコンテンツを起動する必要がある。

  • コードはmybinder.orgという外部サービス上で実行されるので、個人情報等センシティブな内容の送信は極力避ける。
    (通信は暗号化されていて、mybinder.org中ではそれぞれのユーザーのプログラムは独立のコンテナ中で動くので、情報が外に筒抜けということではないはずですが、念の為。)
    ただし上で出てきたように、IBM Quantumのサービストークンだけはどうしても送信する必要があります。

Jupyter Notebook#

インタラクティブHTMLのセキュリティの問題が気になったり、編集したコードを保存したいと考えたりする場合は、ページの元になったノートブックファイルをダウンロードし、自分のローカルの環境で実行することもできます。右上ののメニューの.ipynbをクリックするか、もしくはのメニューのrepositoryからリンクされているgithubレポジトリをクローンしてください。

ノートブックをローカルに実行するためには、Pythonバージョン3.10以上が必要です。また、pipを使って以下のパッケージをインストールする必要があります。

pip install qiskit qiskit-aer qiskit-ibm-runtime qiskit-experiments qiskit-machine-learning qiskit-optimization matplotlib pylatexenc pandas tabulate