Amazon BraketでQiskitを利用する
この記事ではAWSが提供する量子コンピューティングサービスの1つである、Amazon Braket NotebookからQiskitを利用する方法について説明します。
Amazon Braket学習コース
AWSでの量子コンピューティングサービスであるAmazon braketについての学習コースを作成しました。
量子コンピュータやAWSの知識が無い方でも学び始められ、最終的には量子機械学習についても学べます。 こちらも利用し、量子技術のスキルを身につけましょう!
Amazon Braket NotebookからQiskitを実行する
AWSが提供する量子コンピューティングサービスの1つである、Amazon Braket Notebookインスタンスには、Amazon Braket SDK、Qiskit、Pennylaneなどの量子コンピューティングSDKが既に利用できる状態でインストールされています。
今回はQiskitを用いて簡単な回路を実行します。
まずはAmazon Braket Notebookインスタンスを起動し、新しいファイルを開きます。
Amazon Braket Notebookインスタンスは、起動時間に応じて料金が発生するので注意しましょう。
以下の様に通常のQiskitと同様にモジュールをインポートできます。
import qiskit
from qiskit import QuantumCircuit
この記事を書いている時点では、Qiskit1.2.0がデフォルトでインストールされています。
print(qiskit.__version__)
#1.2.0
量子回路もいつも通り定義できます。今回はベルの回路を作成しています。
circuit = QuantumCircuit(2)
circuit.h(0)
circuit.cx(0, 1)
量子回路の実行方法は、通常のQiskitと記載の仕方が異なります。以下はローカルシミュレータ利用時のコードです。
local_simulator
という変数にバックエンドを定義し、実行しています。100回の実行としています。
from qiskit_braket_provider import BraketLocalBackend
local_simulator = BraketLocalBackend()
local_task = local_simulator.run(circuit, shots=100)
結果の確認方法は通常のQiskitと同様です。
print(local_task.result().get_counts())
#{'11': 44, '00': 56}
ヒストグラムもいつも通り以下で確認できます。
from qiskit.visualization import plot_histogram
plot_histogram(local_task.result().get_counts())

Amazon Braket managedシミュレータを扱いたい場合、利用可能なシミュレータは以下で確認可能です。
from qiskit_braket_provider import BraketProvider
provider = BraketProvider()
provider.backends(statuses=["ONLINE"], types=["SIMULATOR"])
#[BraketBackend[SV1], BraketBackend[TN1], BraketBackend[dm1]]
例えば、SV1シミュレータを用いて回路を実行する場合は以下の通り記載します。利用時間に応じた料金が発生することに注意しましょう。
sv1 = provider.get_backend("SV1")
sv1_task = sv1.run(circuit, shots=100)
print(sv1_task.result().get_counts())
#{'00': 48, '11': 52}
Amazon Braket学習コース
AWSでの量子コンピューティングサービスであるAmazon braketについての学習コースを作成しました。
量子コンピュータやAWSの知識が無い方でも学び始められ、最終的には量子機械学習についても学べます。 こちらも利用し、量子技術のスキルを身につけましょう!
Qiskit試験対策問題集
qiskitについての資格試験をIBMが提供しています。
この資格を取得することでqiskitや量子プログラミングに関する知識を証明することが可能です。 こちらの資格取得を目指される方のため、Udemyというサイト上にて日本語版、英語版で問題集を作りました!解説もなるべくわかりやすく作成いたしましたので、是非是非ご活用ください。