Qiskit入門
「Qiskit」という名前は、量子コンピューター上でプログラムを実行するためのソフトウェア集合を指す総称です。これ らのソフトウェアツールの中で最も注目すべきものは、オープンソースのQiskit SDKと、IBM®の量子処理ユニット(QPU)上でワークロードを実行できるランタイム環境(Qiskit Runtimeを使用してアクセス)です。量子技術の進化とともに、Qiskitも発展し続け、この量子ソフトウェアのコアコレクションを拡張する新しい機能が毎年リリースされています。
さらに、多くのオープンソースプロジェクトがより広いQiskitエコシステムの一部となっています。これらのソフトウェアツールはQiskit自体の一部ではありませんが、Qiskitと連携して有益な追加機能を提供します。
IBMは量子コンピューティングの責任ある開発に取り組んでいます。責任ある量子コンピューティングのトピックで、詳細と私たちの責任ある量子の原則をご確認ください。
Qiskit SDK
Qiskit SDK(パッケージ名 qiskit)は、拡張された(静的、動的、スケジュール済みの)量子回路、演算子、およびプリミティブのレベルで量子コンピューターを扱うためのオープンソースSDKです。このライブラリはQiskitのコアコンポーネントであり、量子計算のための最も広範なツール群を備えたQiskit名下最大のパッケージで、他の多くのコンポーネントがこれと連携しています。
Qiskit SDKの最も有用な機能の一部を以下 に示します。
-
回路構築ツール (
qiskit.circuit) - レジスタ、回路、命令、ゲート、パラメーター、制御フローオブジェクトの初期化と操作に使用します。 -
回路ライブラリ (
qiskit.circuit.library) - 回路ベースの量子計算における重要な構成要素となる、幅広い回路、命令、ゲートを提供します。 -
量子情報ライブラリ (
qiskit.quantum_info) - 量子状態、演算子、チャンネルを正確な計算(サンプリングノイズなし)で扱うためのツールキットです。このモジュールを使用して、入力オブザーバブルを指定し、プリミティブクエリの出力の忠実度を分析します。 -
トランスパイラー (
qiskit.transpiler) - 特定のデバイストポロジーに合わせて量子回路を変換・適応させ、実際の量子処理ユニット(QPU)上での実行のために最適化します。 -
プリミティブ (
qiskit.primitives) - SamplerおよびEstimatorプリミティブの基本定義とリファレンス実装を含むモジュールです。異なる量子ハードウェアプロバイダーはこれ を基に独自の実装を派生させることができます。Qiskit Runtimeプリミティブの詳細についてはドキュメントをご覧ください。
インストール
Qiskit SDKのインストールに関する詳しい説明はインストールページをご覧ください。今すぐインストールする場合は、次のコマンドを実行してください。
pip install qiskit
ベンチマーキングとBenchpressパッケージ
ベンチマーキングは、開発ワークフローのさまざまな段階にわたって量子ソフトウェアの相対的なパフォーマンスを比較するために重要です。量子ソフトウェアのベンチマーキングテストでは、例えば回路の構築、操作、トランスパイルの速度と品質を 調べます。IBM Quantumは可能な限り最高のパフォーマンスを持つSDKを提供することに取り組んでおり、そのためQiskit SDKは、主要大学、国立研究所、およびIBMの研究者が開発した1,000以上のテストを使用してベンチマーキングされています。これらのテストに使用されるベンチマーキングスイート「Benchpress」がオープンソースパッケージとして公開されました。BenchpressパッケージをQiskit SDK性能の独自分析に活用できます。
Qiskit Runtime
Qiskit Runtimeは、IBM Quantum®ハードウェア上で量子計算を実行するためのクラウドベースのサービスです。qiskit-ibm-runtimeパッケージはそのサービスのクライアントであり、Qiskit IBM Providerの後継です。Qiskit Runtimeサービスは量子計算を効率化し、IBM Quantumハードウェア向けにQiskitプリミティブの最適な実装を提供します。Qiskit Runtimeプリミティブを使い始めるには、ドキュメントをご覧ください。
Qiskit Runtimeは、エラー抑制やエラー緩和などの手法を含む追加の古典的・量子的計算リソースを使用して、量子プロセッサー上での量子回路実行からより高品質な結果を返すよう設計されています。具体例としては、エラー抑制のためのダイナミカルデカップリング、エラー緩和のための読み出し緩和およびゼロノイズ外挿(ZNE)が挙げられます。これらのオプションの設定方法については、エラー緩和の設定ページをご覧ください。
Qiskit Runtimeには、IBMハードウェア上で量子プログラムを実行するための3種類の実行モードも含まれています。Job、Session、および Batchは、それぞれ異なるユースケースと量子ジョブキューへの影響を持ちます。Jobは指定されたショット数で実行できるプリミティブへの単一クエリです。Sessionを使用すると、量子コンピューター上の反復ワークロードで複数のジョブを効率的に実行できます。Batchモードでは、すべてのジョブを一度に送信して並列処理できます。なお、Open Planユーザーはセッションジョブを送信できません。
Qiskit Runtimeをすぐにインストールするには、次のコマンドを実行してください。
pip install qiskit-ibm-runtime
量子プログラムを構築するための開発環境の設定に関する詳細は、インストールページをご覧ください。