3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

qBraid LabでQiskitを使う手順

Last updated at Posted at 2024-08-04

qBraid LabでQiskitを使う場合の手順です。旧IBM Quantum LabのようにWebブラウザー上からインストールなしでQiskitを使うことができます。(IBM Quantumの実デバイスでの実行時にjobエラーが出ていましたが、現在は解消されました!)

ご注意:公式には、ご自身のパソコンにQiskitをインストールして使うことをおすすめしています。インストールの手順はこちら(macOS版Windows版)をご覧ください。

1. qBraid環境へのログイン

ブラウザーを開き、 https://www.qbraid.com/ のサイトに入り、右上の「START NOW」をクリックします。

image.png

GoogleのID(gmail)かまたは、Emailアドレスでログインできます。Emailアドレスの場合は、下の方の「Create An Account」でアカウントを作ってログインします。

image.png

Googleでログインする場合を紹介します。アカウントを選択します。
image.png

書かれていることに問題がなければ「次へ」をクリックします。
image.png

アンケートに答えない場合は「Skip」をクリックします。
image.png

2. qBraid Labでの最初の操作手順

上側中央の紫色の「Launch Lab>」をクリックします。
image.png

右側一番上のFreeのタブの「Start」をクリックします。
image.png

以下のようにLab環境に入れます。Qiskitはすでにインストールされています。真ん中の紫の「Start Tour」をクリックします。
image.png

使い方のツアーを見たい方は「Next」を押していきます。見なくてもいい人は右上の「x」をクリックします。
image.png

Qiskitを使って、IBM Quantumの実機の量子コンピューターを使うのであれば、課金は必要ないので、左の「Not Now」をクリックします。
image.png

(2024/08/25 追記・修正)
右側の「ENVIRONMENTS」枠から「+ADD」をクリックして、
image.png

たくさんの環境が出てきますので、「Qiskit」と名前のつく環境を探します。
検索バーで「qiskit」を検索した結果、以下のように様々なバージョンのQiskitカーネル環境が出てきますので、この中から最新のものを選びましょう。2024年8月現在、最新は「IBM Quantum Global Summer School 2024」なので、今回はこちらを選びます。
image.png

「Install」をクリックするとインストールが始まり、インストール終了までしばらく時間がかかります。
image.png

インストールが終了すると真ん中の「Launcher」タブに、Qiskit印の「Python 3[QGSS-24]」のアイコンが増えているので、こちらをクリックすると、
image.png

新しいjupyter ノートブックが開きます。この環境には、Qiskitがインストールされているため、そのままコーディングをすることができます。
image.png

(2024/08/25 追記・修正ここまで)

3. Qiskitで回路を作成し、IBM Quantumの実機で実行

続けて、ベル状態(2量子ビットのエンタングルメント)の回路を作成して、IBM Quantumの実機で実行してみましょう。

以下のコードをノートブックの最初のセルに貼り付け、「Shift」+「Enter」で実行します。

from qiskit import QuantumCircuit
from qiskit_aer import AerSimulator
from qiskit.transpiler.preset_passmanagers import generate_preset_pass_manager
from qiskit_ibm_runtime import SamplerV2 as Sampler
from qiskit.visualization import plot_histogram

qc = QuantumCircuit(2,2)
qc.h(0) 
qc.cx(0,1) 
qc.measure(0, 0)
qc.measure(1, 1)
qc.draw(output="mpl")

以下のようにベル状態を作る量子回路が表示されるでしょう。
image.png

実機でこの回路を実行してみます。
qBraid環境で初めて実行するためIBM Quantum のAPIトークンを読み込む必要があります。Openアカウント(無償)の場合のコードを以下に記載します。<IBM Quantum API key>の部分に、IBM QuantumプラットフォームからコピーしてきたAPI Tokenを貼り付けてください。

# Real backend
from qiskit_ibm_runtime import QiskitRuntimeService

QiskitRuntimeService.save_account(channel='ibm_quantum', instance='ibm-q/open/main', token='<IBM Quantum API key>', overwrite=True)
service = QiskitRuntimeService()

IBM Quantumプラットフォームの右上あたりの「API Token」から四角が二重になったアイコンをクリックするとコピーできます。
image.png

続けて以下のコマンドでデバイスを指定します。

# 以下でデバイスを指定できます。
backend = service.backend('ibm_brisbane')  # 例)ibm_brisbaneを使う場合
#一番空いているバックエンドを自動的に選択することもできます
backend = service.least_busy(operational=True)
print("最も空いているバックエンドは: ", backend)

最も空いているバックエンドは: <IBMBackend('ibm_nazca')>と出てきましたので、そのままibm_nazcaを使って実行します。

# 実機のバックエンドでの実行に最適な回路に変換します
pm = generate_preset_pass_manager(backend=backend, optimization_level=1)
isa_circuit = pm.run(qc)

# Samplerで実行します
sampler = Sampler(backend)
job = sampler.run([isa_circuit])
print("job id:", job.job_id()) # 実行に時間がかかるのでjob_idを表示します

job idが以下のように表示されるはずです。
job id: ctqm8gjsj17g00xxxxxxなどの英数字

以下のコマンドでjobのstatus(実行状況)を確認します。

job = service.job(job.job_id()) 
job.status() # ジョブの実行状態を確認します

'DONE'が表示されたら、実機での実行が終わっているので、以下のセルを実行して結果を確認します。

### 'DONE'になってから実行します ###
result = job.result()
print(result[0].data.c.get_counts())
plot_histogram(result[0].data.c.get_counts())

以下の結果が表示されたら成功です!
image.png

お疲れ様でした!

3
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?