実習の準備#
IBM Quantum#
IBM Quantum Platformからインスタンスを作る#
IBM Quantumを利用するには、IBM Quantum Platformにアカウントを作り、量子コンピュータを利用するインターフェースとなる「インスタンス」を作成する必要があります。また、IBMの量子コンピュータにジョブを投げるためには、アカウントに紐づいたAPI Keyを取得する必要があります。
まずIBM Quantum PlatformウェブサイトからIDを取得し、サービスにログインしてください。次にこのページを参考にして適当な名前をつけたインスタンスを生成してください。
(ローカル環境)APIキーを取得し、Qiskit設定に保存する#
APIキーはユーザー名+パスワードの代わりとしてPythonプログラム中でIBM Cloudに接続するために使用されます。キーをローカルディスクに書き込める環境にある場合は、設定ファイルに保存することで、以降の認証を自動化できます。
IBM Quantum Platformのホーム画面右上のCreate API keyという枠をクリックし、作成する新しいキーに適当な名前を付けてCreateを押してください。作成されたキーはその場でコピーもしくはダウンロードする必要があります(あとから取得することはできません)。

コピーしたキーを下のコードセルの__paste_your_api_key_here__
というところに貼り付け、実行してください。
from qiskit_ibm_runtime import QiskitRuntimeService
QiskitRuntimeService.save_account('__paste_your_api_key_here__')
トークンを保存することで、プログラム中でのIBM Quantumへの認証(QiskitRuntimeServiceの取得)は
from qiskit_ibm_runtime import QiskitRuntimeService
service = QiskitRuntimeService(channel='ibm_quantum_platform')
のようになります。
ローカルディスクに書き込める環境でない場合(このワークブックをインタラクティブに使っている場合など)は、Pythonプログラムを実行するたびに(Jupyterのカーネルを再起動するたびに)手動で認証を行う必要があります。
from qiskit_ibm_runtime import QiskitRuntimeService
service = QiskitRuntimeService(channel='ibm_quantum_platform', token='__paste_your_api_key_here__')
ワークブックの使い方#
インタラクティブHTML#
このワークブックの各ページにあるプログラムの書かれたセルは、そのままJupyter Notebookのようにブラウザ上で実行することができます。ページの右上のにカーソルを乗せ、現れるメニューから Live Codeをクリックしてください。ページのタイトルの下にステータス表示が現れるので、readyと表示されるまで待ちます。

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

この状態になったら、入力セルの内容を自由に書き換えて、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-optimization matplotlib pylatexenc pandas tabulate