Welcome to Qudas’s documentation!#

Qudas は、量子計算と古典最適化をまたいだワークフローを組み立てるための Python ライブラリです。役割は大きく次の三つに分かれます。

  1. パイプライン (QdPipeline) 名前付きステップと set_context によるランタイム注入で、前処理・古典モデル・後処理などの 古典ステップ列 を記述します。ステップが量子/アニーリング Executor へ問題を委譲し、結果を後段へ返す流れを想定しています。外側の反復(IteratorMixin)や最適化(OptimizerMixin / OptimizerStep)から準備段へ戻る経路も置けます。 サポートする主な操作: fit / optimize / predict / get_results / get_models / context 系。 未サポート: 公開メソッドとしての transform / fit_transform、および set_params の step ネスト指定。

  2. 形式変換 (QuData) 最適化・QUBO まわりの表現を QuData.input() / QuData.output() で行き来させる 変換専用の Public 入口 です。実装の正は QdAnnealingIR / QdAnnealingOutput であり、Executor による実行は不要です。量子回路そのものの変換は行いません(回路はゲートスタック側)。

  3. ゲート方式・アニーリング方式(オプション) qudas[gate] ではゲート用 Input / Block・IR / Executor / Output(主に Qiskit)。qudas[annealing] ではアニーリング実行用の同様の層に加え、QUBO 変換の canonical 実装(QdAnnealingIR)を提供します。変換 API と実行 API は別経路です。

インストールの目安:

  • pip install qudas … コア(NumPy + matplotlib)。import qudas はサブモジュールを eager load します(SDK は遅延 import)

  • pip install "qudas[annealing]" … データ変換 + アニーリング実行用ライブラリ一式

  • pip install "qudas[gate]" … Qiskit ベースのゲート実行

  • pip install "qudas[all]" … 上記をまとめて

詳しい手順とコード例は Quickstart を参照してください。

パイプラインの概念図#

_images/fmqa_pipeline.png

QdPipeline のイメージ。左のランタイムコンテキスト(パラメータ、乱数、ロガー、共有成果物)を set_context で受け取り、古典ステップの列のなかで量子/アニーリング Executor への委譲や、最適化ループからのフィードバックを表現します。#

変換と実行の関係#

_images/data_abstract.png

変換と実行 (現行整理)。QuData / QdAnnealingIR が QUBO 系の相互変換、青・紫はゲート/アニーリングの実行スタックです。変換のみの利用に Executor は不要です。#

「本ライブラリは、国立研究開発法人新エネルギー・産業技術総合開発機構(NEDO)の委託業務の結果得られたものです。」