Qiskit の紹介
「Qiskit」という名前は、量子コンピューター上でプログラムを実行するためのソフトウェア群を指す総称です。その中で最も代表的なのは、オープンソースの Qiskit SDK と、IBM Quantum Compute Service(旧称 Qiskit Runtime Service)を通じて利用するランタイム環境で、これらを使って IBM® の QPU 上でワークロードを実行できます。量子技術の進化に合わせて Qiskit も進化しており、毎年新しい機能がリリースされ、この中核となる量子ソフトウェア群が拡張されています。
さらに、多くのオープンソースプロジェクトが、より広い Qiskit エコシステムの一部となっています。これらのソフトウェアツールは Qiskit 自体の一部ではありませんが、Qiskit と連携し、価値のある追加機能を提供できます。
IBM は、量子コンピューティングの責任ある開発に取り組んでいます。詳細と責任ある量子の原則については、責任ある量子コンピューティングのトピックをご覧ください。
Qiskit SDK
Qiskit SDK(パッケージ名 qiskit)は、拡張された(静的、動的、スケジュール済みの)量子回路、演算子、プリミティブのレベルで量子コンピューターを扱うためのオープンソースの SDK です。このライブラリは Qiskit の中核コンポーネントであり、Qiskit の名を冠するパッケージの中で最大で、量子計算のための最も幅広いツール群を備えており、他の多くのコンポーネントがこれと連携します。
Qiskit SDK の最も便利な機能には、次のようなものがあります。
-
量子回路構築ツール (
qiskit.circuit) - レジスタ、量子回路、命令、ゲート、パラメータ、制御フローオブジェクトを初期化・操作するためのツールです。 -
量子回路ライブラリ (
qiskit.circuit.library) - 回路ベースの量子計算の重要な構成要素となる、幅広い種類の量子回路、命令、ゲートを提供します。 -
Quantum info ライブラリ (
qiskit.quantum_info) - 厳密な計算(サンプリングノイズなし)を用いて、量子状態、演算子、チャネルを扱うためのツールキットです。このモジュールを使って、入力の observable を指定したり、プリミティブのクエリから得られた出力の忠実度を分析したりします。 -
トランスパイラー (
qiskit.transpiler) - 量子回路を特定のデバイスのトポロジーに合わせて変換・適合させ、実際の QPU での実行に向けて最適化するためのツールです。 -
プリミティブ (
qiskit.primitives) - Sampler と Estimator プリミティブの基本定義と参照実装を含むモジュールで、量子ハードウェアの各プロバイダーはここから独自の実装を派生させることができます。IBM Quantum のプリミティブの詳細については、ドキュメントを参照してください。
インストール
Qiskit SDK のインストールに関するより詳しい説明は、インストールのページをご覧ください。今すぐインストールする準備ができている場合は、次を実行するだけです。
pip install qiskit
ベンチマーク
ベンチマークは、開発ワークフローのさまざまな段階にわたって、量子ソフトウェアの相対的な性能を比較するために重要です。量子ソフトウェアのベンチマークテストでは、たとえば、量子回路の構築、操作、トランスパイルの速度と品質を調べます。IBM Quantum は、可能な限り高性能な SDK の提供に取り組んでおり、そのために Qiskit SDK は、主要な大学、国立研究所、IBM の研究者が開発した1,000を超えるテストでベンチマークされています。これらのテストに使用されるベンチマークスイートは Benchpress という名前で、現在はオープンソースパッケージとして公開されています。Benchpress パッケージを使って、量子 SDK の性能について独自の分析を行うことができます。
次のステップ
- Qiskit の量子回路ライブラリで利用できる量子回路と命令のライブラリについて学びます。
- トランスパイラーセクションで、Qiskit のトランスパイラーと、トランスパイルのさまざまなオプションについて読みます。
- プリミティブインターフェースを使って量子プログラミングを効率化する方法を調べます。
- Qiskit と連携し、その機能を拡張するオープンソースプロジェクトが集まる Qiskit エコシステムをご覧ください。