Welcome to Qudas’s documentation!#
Qudas は、量子計算と古典最適化をまたいだワークフローを組み立てるための Python ライブラリです。役割は大きく次の三つに分かれます。
パイプライン (
QdPipeline) 名前付きステップとset_contextによるランタイム注入で、前処理・古典モデル・後処理などの 古典ステップ列 を記述します。ステップが量子/アニーリング Executor へ問題を委譲し、結果を後段へ返す流れを想定しています。外側の反復(IteratorMixin)や最適化(OptimizerMixin/OptimizerStep)から準備段へ戻る経路も置けます。 サポートする主な操作:fit/optimize/predict/get_results/get_models/ context 系。 未サポート: 公開メソッドとしてのtransform/fit_transform、およびset_paramsの step ネスト指定。形式変換 (
QuData) 最適化・QUBO まわりの表現をQuData.input()/QuData.output()で行き来させる 変換専用の Public 入口 です。実装の正はQdAnnealingIR/QdAnnealingOutputであり、Executor による実行は不要です。量子回路そのものの変換は行いません(回路はゲートスタック側)。ゲート方式・アニーリング方式(オプション)
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 を参照してください。
パイプラインの概念図#
QdPipeline のイメージ。左のランタイムコンテキスト(パラメータ、乱数、ロガー、共有成果物)を set_context で受け取り、古典ステップの列のなかで量子/アニーリング Executor への委譲や、最適化ループからのフィードバックを表現します。#
変換と実行の関係#
変換と実行 (現行整理)。QuData / QdAnnealingIR が QUBO 系の相互変換、青・紫はゲート/アニーリングの実行スタックです。変換のみの利用に Executor は不要です。#
コアとデータ変換
ゲート方式(オプション)
アニーリング方式(オプション)
リリースノート
「本ライブラリは、国立研究開発法人新エネルギー・産業技術総合開発機構(NEDO)の委託業務の結果得られたものです。」