最初の量子プログラムを構築して実行する
はじめに
以下の動画では、Olivia Lanes がこのレッスンの内容を説明しています。別ウィンドウで開きたい場合は、YouTube 動画をご利用ください。
今日から量子コンピューターを使う へようこそ!このコースの目標は、事前知識なしにできるだけ短い時間で実際の量子コンピューター上でコードを実行することです。さっそく始めましょう。
この最初のレッスンは、好奇心旺盛な初心者から多忙なリーダーまで幅広い方に対応した、やさしいハンズオン形式の量子コンピューティング入門です。量子Circuit について学び、エンタングルメントを生成する小さな量子プログラムを作成して、実際の IBM® 量子コンピューター上で実行します。実際の量子コンピューターでの実行をスキップしたい場合は、同じプログラムをシミュレーターで実行することもできます。
このノートブックは、新しい Google Colab ランタイムで上から下まで実行することも、ローカルで実行することもできます。
セットアップ
このノートブックを Google Colab で実行するには、ブラウザーでノートブックを開いてセルを実行できる Google アカウントが必要です。
実際の IBM 量子コンピューターで実行するには、(無料の)IBM Quantum® Platform アカウントも必要です。Open Plan を使用してインスタンスを開くと、28 日間のローリングウィンドウあたり 10 分の量子プロセッサーユニット(QPU)時間を取得できます。これは実際にはかなりの量です!アカウントに問題がある場合は、サポートページをご覧ください。
また、IBM Quantum Platform の手順に従って Qiskit をインストールした後、このノートブックをローカルで実行することもできます。
インストールとインポート
Colab では、全員が同じツールを使用できるよう、ノートブック内に依存関係をインストールします。次のセルでは、ビジュアライゼーション・モジュールと Aer(高速シミュレーター)および IBM Runtime クライアント(量子コンピューター実行用)という 2 つのアドオンを含む Qiskit をインストールします。
次に、いくつかのインポートがあります。QuantumCircuit クラスは、量子ビット(Qubit)を定義し、それらの Qubit に対する操作を定義する場所です。これが最初の量子用語です。Qubit は量子計算の基本的な構成要素であり、ビットが古典計算の構成要素であるのと同様です。Circuit を作成しながら、Qubit の特別な性質についてさらに学んでいきます。次に、plot_histogram は量子Circuit の結果を視覚化するために使用されます。AerSimulator は、古典コンピューター上で量子Circuit をシミュレートすることを可能にします。ただし、シミュレーターは実際の量子コンピューターと同じ規模で量子Circuit を実行することはできません。だからこそ、実際の量子コンピューターが必要なのです。シミュレーターはテスト、デバッグ、教育目的、または QPU の無料 10 分を使い切った場合に役立ちます。preset_passmanagers はハードウェア上で効率的に実行するよう Circuit を最適化するのに役立ちます。Circuit が複雑になるほど、これは非常に重要になります。Sampler と QiskitRuntimeService は実際に量子コンピューター上で Circuit を実行するために必要です。詳細は後述します。
# Added by doQumentation — required packages for this notebook
!pip install -q qiskit
!pip install 'qiskit[visualization]' qiskit-ibm-runtime qiskit-aer
# Core Qiskit imports
from qiskit import QuantumCircuit
from qiskit.visualization import plot_histogram
from qiskit_aer import AerSimulator
from qiskit.transpiler.preset_passmanagers import generate_preset_pass_manager
# IBM Runtime specific imports
from qiskit_ibm_runtime import SamplerV2 as Sampler, QiskitRuntimeService
次に、簡単な環境チェックを行います。バージョンを確認し、インポートを確認します。
ここで何か失敗した場合は、通常、依存関係のインストールに問題があります。今すぐ修正することで、後で紛らわしいエラーが発生するのを防ぐことができます。
import sys
import qiskit
import qiskit_aer
import qiskit_ibm_runtime
print("Python:", sys.version.split()[0])
print("qiskit:", qiskit.__version__)
print("qiskit-aer:", qiskit_aer.__version__)
print("qiskit-ibm-runtime:", qiskit_ibm_runtime.__version__)
Python: 3.12.2
qiskit: 2.2.3
qiskit-aer: 0.17.2
qiskit-ibm-runtime: 0.41.1