Qiskitハンズオン:Hello World - Qiskit Patterns
このノートブックではQiskit Patternsのワークフローを歩んで、QiskitのSampler primitiveを使用します。
このチュートリアルは、IBM Quantum Documentation: Hello Worldのコンテンツを一部取り上げています。
有用なリンク:
- IBM Cloudアカウントを作成して、IBM Quantum Platformにアクセスしてください。
- 大学メールアド レスをお持ちの方:無料トライアル期間を延長するフィーチャーコードをこちらで取得してください。
- 大学メールアドレスをお持ちでない方:アカウントを有効化する手順。クレジットカードを登録してアカウントを完全に有効化してください。このプロセスでクレジットカードに請求が発生することはありません。この有効化により、トライアル期間終了後(30日間)もIBM CloudおよびIBM Quantumプラットフォームの無料リソースに引き続きアクセスできます。
- コーディング環境の構築にクラウドベースプラットフォームを使用します。QBraidまたはGoogle Colabを使用できます。
- このノートブックの後、Quantum Teleportationプロトコルを学びます。
その他のリンク — Qiskitコミュニティと学習リソース:
- Grok sphere
- IBM Quantum Composer
- IBM Quantum Learning
- Qiskit Global Summer School 2025 講義
- Qiskit v2.X 認定資格
- Qiskit アドボケートプログラム
- 量子コンピューティング夏のインターンシップ
- Qiskit YouTube
Qiskitのインストール
オンラインのjupyter lab環境(ガイド参照:Online lab environments)を使用するか、ローカルにQiskitをインストールすることもできます。
QiskitインストールガイドInstall the Qiskit SDK and the Qiskit Runtime clientに従って、以下の手順を完了させてください:
-
視覚化パッケージを含むQiskitをインストールする:
pip install qiskit[visualization] -
qiskit-ibm-runtimeをインストールする:
pip install qiskit-ibm-runtime -
jupyterをインストールする:
pip install jupyter使用するPythonのバージョンがpython>=3.10であることを確認して、最新のQiskitバージョンとの互換性を保護してください:
# Added by doQumentation — required packages for this notebook
!pip install -q IPython
from platform import python_version
print(python_version())
3.13.7
Pythonのアップグレードが必要で方法がわからない場合は、OSごとのPythonアップグレード方法に関するガイドを参照してください:How to update Python
%pip install qiskit[visualization]
%pip install qiskit-ibm-runtime
%pip install
%pip install qiskit-aer
zsh:1: no matches found: qiskit[visualization]
Note: you may need to restart the kernel to use updated packages.
Requirement already satisfied: qiskit-ibm-runtime in /Users/astricornish/miniforge3/envs/um-qiskit/lib/python3.13/site-packages (0.43.0)
Requirement already satisfied: requests>=2.19 in /Users/astricornish/miniforge3/envs/um-qiskit/lib/python3.13/site-packages (from qiskit-ibm-runtime) (2.32.5)
Requirement already satisfied: requests-ntlm>=1.1.0 in /Users/astricornish/miniforge3/envs/um-qiskit/lib/python3.13/site-packages (from qiskit-ibm-runtime) (1.3.0)
Requirement already satisfied: numpy>=1.13 in /Users/astricornish/miniforge3/envs/um-qiskit/lib/python3.13/site-packages (from qiskit-ibm-runtime) (2.3.3)
Requirement already satisfied: urllib3>=1.21.1 in /Users/astricornish/miniforge3/envs/um-qiskit/lib/python3.13/site-packages (from qiskit-ibm-runtime) (2.5.0)
Requirement already satisfied: python-dateutil>=2.8.0 in /Users/astricornish/miniforge3/envs/um-qiskit/lib/python3.13/site-packages (from qiskit-ibm-runtime) (2.9.0.post0)
Requirement already satisfied: ibm-platform-services>=0.22.6 in /Users/astricornish/miniforge3/envs/um-qiskit/lib/python3.13/site-packages (from qiskit-ibm-runtime) (0.69.0)
Requirement already satisfied: pydantic>=2.5.0 in /Users/astricornish/miniforge3/envs/um-qiskit/lib/python3.13/site-packages (from qiskit-ibm-runtime) (2.12.2)
Requirement already satisfied: qiskit>=1.4.1 in /Users/astricornish/miniforge3/envs/um-qiskit/lib/python3.13/site-packages (from qiskit-ibm-runtime) (2.2.1)
Requirement already satisfied: packaging in /Users/astricornish/miniforge3/envs/um-qiskit/lib/python3.13/site-packages (from qiskit-ibm-runtime) (25.0)
Requirement already satisfied: ibm_cloud_sdk_core<4.0.0,>=3.24.2 in /Users/astricornish/miniforge3/envs/um-qiskit/lib/python3.13/site-packages (from ibm-platform-services>=0.22.6->qiskit-ibm-runtime) (3.24.2)
Requirement already satisfied: PyJWT<3.0.0,>=2.10.1 in /Users/astricornish/miniforge3/envs/um-qiskit/lib/python3.13/site-packages (from ibm_cloud_sdk_core<4.0.0,>=3.24.2->ibm-platform-services>=0.22.6->qiskit-ibm-runtime) (2.10.1)
Requirement already satisfied: six>=1.5 in /Users/astricornish/miniforge3/envs/um-qiskit/lib/python3.13/site-packages (from python-dateutil>=2.8.0->qiskit-ibm-runtime) (1.17.0)
Requirement already satisfied: charset_normalizer<4,>=2 in /Users/astricornish/miniforge3/envs/um-qiskit/lib/python3.13/site-packages (from requests>=2.19->qiskit-ibm-runtime) (3.4.4)
Requirement already satisfied: idna<4,>=2.5 in /Users/astricornish/miniforge3/envs/um-qiskit/lib/python3.13/site-packages (from requests>=2.19->qiskit-ibm-runtime) (3.11)
Requirement already satisfied: certifi>=2017.4.17 in /Users/astricornish/miniforge3/envs/um-qiskit/lib/python3.13/site-packages (from requests>=2.19->qiskit-ibm-runtime) (2025.10.5)
Requirement already satisfied: annotated-types>=0.6.0 in /Users/astricornish/miniforge3/envs/um-qiskit/lib/python3.13/site-packages (from pydantic>=2.5.0->qiskit-ibm-runtime) (0.7.0)
Requirement already satisfied: pydantic-core==2.41.4 in /Users/astricornish/miniforge3/envs/um-qiskit/lib/python3.13/site-packages (from pydantic>=2.5.0->qiskit-ibm-runtime) (2.41.4)
Requirement already satisfied: typing-extensions>=4.14.1 in /Users/astricornish/miniforge3/envs/um-qiskit/lib/python3.13/site-packages (from pydantic>=2.5.0->qiskit-ibm-runtime) (4.15.0)
Requirement already satisfied: typing-inspection>=0.4.2 in /Users/astricornish/miniforge3/envs/um-qiskit/lib/python3.13/site-packages (from pydantic>=2.5.0->qiskit-ibm-runtime) (0.4.2)
Requirement already satisfied: rustworkx>=0.15.0 in /Users/astricornish/miniforge3/envs/um-qiskit/lib/python3.13/site-packages (from qiskit>=1.4.1->qiskit-ibm-runtime) (0.17.1)
Requirement already satisfied: scipy>=1.5 in /Users/astricornish/miniforge3/envs/um-qiskit/lib/python3.13/site-packages (from qiskit>=1.4.1->qiskit-ibm-runtime) (1.16.2)
Requirement already satisfied: dill>=0.3 in /Users/astricornish/miniforge3/envs/um-qiskit/lib/python3.13/site-packages (from qiskit>=1.4.1->qiskit-ibm-runtime) (0.4.0)
Requirement already satisfied: stevedore>=3.0.0 in /Users/astricornish/miniforge3/envs/um-qiskit/lib/python3.13/site-packages (from qiskit>=1.4.1->qiskit-ibm-runtime) (5.5.0)
Requirement already satisfied: cryptography>=1.3 in /Users/astricornish/miniforge3/envs/um-qiskit/lib/python3.13/site-packages (from requests-ntlm>=1.1.0->qiskit-ibm-runtime) (46.0.2)
Requirement already satisfied: pyspnego>=0.4.0 in /Users/astricornish/miniforge3/envs/um-qiskit/lib/python3.13/site-packages (from requests-ntlm>=1.1.0->qiskit-ibm-runtime) (0.12.0)
Requirement already satisfied: cffi>=2.0.0 in /Users/astricornish/miniforge3/envs/um-qiskit/lib/python3.13/site-packages (from cryptography>=1.3->requests-ntlm>=1.1.0->qiskit-ibm-runtime) (2.0.0)
Requirement already satisfied: pycparser in /Users/astricornish/miniforge3/envs/um-qiskit/lib/python3.13/site-packages (from cffi>=2.0.0->cryptography>=1.3->requests-ntlm>=1.1.0->qiskit-ibm-runtime) (2.23)
Note: you may need to restart the kernel to use updated packages.
[31mERROR: You must give at least one requirement to install (see "pip help install")[0m[31m
[0mNote: you may need to restart the kernel to use updated packages.
Requirement already satisfied: qiskit-aer in /Users/astricornish/miniforge3/envs/um-qiskit/lib/python3.13/site-packages (0.17.2)
Requirement already satisfied: qiskit>=1.1.0 in /Users/astricornish/miniforge3/envs/um-qiskit/lib/python3.13/site-packages (from qiskit-aer) (2.2.1)
Requirement already satisfied: numpy>=1.16.3 in /Users/astricornish/miniforge3/envs/um-qiskit/lib/python3.13/site-packages (from qiskit-aer) (2.3.3)
Requirement already satisfied: scipy>=1.0 in /Users/astricornish/miniforge3/envs/um-qiskit/lib/python3.13/site-packages (from qiskit-aer) (1.16.2)
Requirement already satisfied: psutil>=5 in /Users/astricornish/miniforge3/envs/um-qiskit/lib/python3.13/site-packages (from qiskit-aer) (7.1.0)
Requirement already satisfied: python-dateutil>=2.8.0 in /Users/astricornish/miniforge3/envs/um-qiskit/lib/python3.13/site-packages (from qiskit-aer) (2.9.0.post0)
Requirement already satisfied: six>=1.5 in /Users/astricornish/miniforge3/envs/um-qiskit/lib/python3.13/site-packages (from python-dateutil>=2.8.0->qiskit-aer) (1.17.0)
Requirement already satisfied: rustworkx>=0.15.0 in /Users/astricornish/miniforge3/envs/um-qiskit/lib/python3.13/site-packages (from qiskit>=1.1.0->qiskit-aer) (0.17.1)
Requirement already satisfied: dill>=0.3 in /Users/astricornish/miniforge3/envs/um-qiskit/lib/python3.13/site-packages (from qiskit>=1.1.0->qiskit-aer) (0.4.0)
Requirement already satisfied: stevedore>=3.0.0 in /Users/astricornish/miniforge3/envs/um-qiskit/lib/python3.13/site-packages (from qiskit>=1.1.0->qiskit-aer) (5.5.0)
Requirement already satisfied: typing-extensions in /Users/astricornish/miniforge3/envs/um-qiskit/lib/python3.13/site-packages (from qiskit>=1.1.0->qiskit-aer) (4.15.0)
Note: you may need to restart the kernel to use updated packages.
必要なインポート
このチュートリアルに必要なインポートを行います。
from qiskit import QuantumCircuit, QuantumRegister, ClassicalRegister
import qiskit_ibm_runtime
from qiskit.transpiler.preset_passmanagers import generate_preset_pass_manager
from qiskit_ibm_runtime import SamplerV2 as Sampler
from qiskit.quantum_info import SparsePauliOp
from qiskit.quantum_info import Statevector
from qiskit.visualization import plot_bloch_multivector, plot_state_qsphere
from IPython.display import display, Latex
IBM Quantum Platformアカウントのセットアップ
実際のハードウェアで量子Circuit を実行するには、IBM Cloudアカウントが必要です。
このガイド Set up your IBM Cloud account の指示に従って、以下の手順を完了してください。
- IBM Cloudアカウントをお持ちでない場合は、作成してください。
- IBMidを使用して IBM Quantum Platform アカウントにログインするか、新規作成してください。
- IBM Quantum Platformダッシュボードにアクセスし、APIトークンを作成して、安全な場所にコピーしてください。(下記の最初の参考画像を参照してください。)
- 参考画像の後にあるコードセルで、
deleteThisAndPasteYourAPIKeyHereをAPIキーに置き換えてください。 - ☰ メインメニューの「インスタンス」ページに移動し、インスタンスを作成してください。Networkの機関に所属していない場合は、オープンプランを選択してください。(下記の2番目の参考画像を参照してください。)
- インスタンスが作成されたら、関連するCRNコードをコピーしてください。(CRNは Cloud Resource Names の略です。)インスタンスを確認するために更新が必要な場合があります。
- 参考画像の後にあるコードセルで、
deleteThisAndPasteYourCRNHereをCRNコードに置き換えてください。
注意: APIキーは安全なパスワードと同様に扱ってください。APIキーを安全な環境および信頼できない環境で使用する方法の詳細については、Set up your IBM Cloud account ガイドを参照してください。
#@title personals
your_api_key = "YOUR_API_KEY"
your_crn = "YOUR_CRN"
from qiskit_ibm_runtime import QiskitRuntimeService
# Save your API key to access real devices
your_api_key = your_api_key
your_crn = your_crn
QiskitRuntimeService.save_account(
channel="ibm_cloud",
token=your_api_key,
instance=your_crn,
set_as_default=True,
overwrite=True,
)
Qiskit パターンフレームワークを使用したシンプルな量子アルゴリズムの作成と実行
Qiskit パターンの概念的フレームワークは、量子アルゴリズムの構造として考えることができます。
Qiskit パターンを使用して量子プログラムを記述する4つのステップは以下の通りです:
-
問題を量子ネイティブ形式にマッピングします。
-
Circuit と演算子を最適化します。
-
Qiskit プリミティブ関数を使用して実行します。
-
結果を分析します。