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) - 膨大な種類の回路、命令、ゲート - 回路ベースの量子計算の主要な構成要素。 -
量子情報ライブラリ (
qiskit.quantum_info) - 量子状態、演算子、チャンネルを扱うためのツールキット。 このモジュールを使って、入力観測値を指定し、プリミティブクエリからの出力の忠実度を解析します。 -
トランスパイラ
qiskit.transpiler) - 量子回路を特定のデバイス・トポロジーに合わせて変換し、実際の量子プロセッシング・ユニット(QPU)での実行に最適化する。 -
プリミティブ (
qiskit.primitives) - サンプラーおよびエスティメーターのプリミティブに関する基本定義と参照実装を含むモジュール。各量子ハードウェアプロバイダーは、これに基づいて独自の実装を構築することができます。 IBM Quantum プリミティブに関する詳細については、ドキュメントをご覧ください。
インストール
Qiskit SDK のインストールに関するより詳しい説明については、 インストールページをご覧ください。 今すぐインストールする準備ができている場合は、次のコマンドを実行してください:
pip install qiskitベンチマーキングとベンチプレスパッケージ
ベンチマークは、開発ワークフローのさまざまな段階で、量子ソフトウェアの相対的なパフォーマンスを比較するために重要です。 量子ソフトウェアのベンチマークテストは、例えば、回路の構築、操作、トランスパイルの速度と品質を調べることができる。 IBM Quantum は、可能な限り最もパフォーマンスの高いSDKを提供することを約束し、その目的のために、 Qiskit SDK、主要な大学、国立研究所、および IBM の研究者によって開発された1,000以上のテストを使用してベンチマークされています。 これらのテストに使用されたベンチマーク・スイートは『Benchpress』と名付けられ、現在オープンソースのパッケージとして提供されている。 Benchpressパッケージを使用して、量子SDKのパフォーマンスを独自に分析できるようになりました。
Qiskit アドオン
Qiskitアドオンは、実用規模のアルゴリズム発見のための研究機能のコレクションです。 これらの機能は、量子アルゴリズムの作成と実行のためのツールで構成されるQiskitの高性能な基盤の上に構築されています。 アドオンとは、ワークフローにプラグインして拡張したり、新しい量子アルゴリズムを設計したりするためのモジュラー・ソフトウェア・コンポーネントである。 利用可能なQiskitアドオンのセットとその使い始め方については、 ドキュメントをご覧ください。
Qiskitエコシステム
Qiskit以外にも、"Qiskit "の名前を使用しながらもQiskit自体の一部ではない多くのオープンソースプロジェクトがあります。 これらのプロジェクトの中には、 IBM Quantum チームによってメンテナンスされているものもあれば、より広範なオープンソースコミュニティによってサポートされているものもある。 Qiskit SDK はモジュール方式で拡張できるように設計されているため、開発者はこのような機能を拡張するプロジェクトを簡単に作ることができる。
Qiskitエコシステムで人気のあるプロジェクトには次のようなものがあります:
- Qiskit Aer (
qiskit-aer) - 現実的なノイズモデルを持つ量子計算シミュレータ用パッケージ。 複数の異なるシミュレーション手法を用いて、ノイズの有無にかかわらず量子回路を実行するためのインターフェースを提供する。 メンテナンスは IBM Quantum。 - qBraid SDK (
qbraid) - プラットフォームにとらわれない量子ソフトウェアと量子ハードウェアプロバイダのための量子ランタイムフレームワークで、プログラムの仕様定義からジョブの投入、結果の後処理や可視化まで、量子ジョブのライフサイクル管理を効率化するように設計されています。 メンテナンスは qBraid。 - mthree
mthree- M3 (Matrix-free Measurement Mitigation) を実装するためのパッケージ。次元削減ステップの後、直接 LU 因数分解か、公称O(1)ステップで収束する前提条件付き反復法を用いて、補正された 測定確率を解く測定緩和手法で、並列計算が可能。 メンテナンスは IBM Quantum。
Qiskitエコシステムのページでは、プロジェクトのカタログを見ることができる。
次のステップ
- Qiskit 回路ライブラリで利用可能な回路と命令のライブラリについて学びましょう。
- Qiskitトランスパイラとトランスパイラの多くのオプションについては、 トランスパイラのセクションをお読みください。
- プリミティブ・インターフェースを活用して、量子プログラミングを効率化する方法をご紹介します。