QdInputBase#

class qudas.core.input_base.QdInputBase[source]#

Bases: ABC

qudas の各 Executor に入力されるデータの基底クラス。

ゲート方式、アニーリングのQUBO方式のどちらでも利用できる共通インターフェースを提供します。 ゲート系を対象とするサブクラスでは to_ir をオーバーライドして、 ゲート用の中間表現 (IR) を返すように実装してください。

abstract classmethod from_dict(data: dict) QdInputBase[source]#

to_dict で得られた辞書からインスタンスを復元します。

abstract to_dict() dict[source]#

オブジェクトを辞書にシリアライズします。

to_ir() Any[source]#

入力をゲート回路などの中間表現に変換します。

デフォルト実装は NotImplementedError を送出します。 ゲート系を扱うサブクラスで必要に応じてオーバーライドしてください。

QdOutputBase#

class qudas.core.output_base.QdOutputBase[source]#

Bases: ABC

qudas Executor から返却される結果データの基底クラス。

ゲート・アニーリング方式に依存しない共通機能として “”to_dict での辞書変換`` と visualize による可視化を提供します。

abstract classmethod from_sdk_format(sdk_obj: Any, target: str) QdOutputBase[source]#

外部 SDK 向けのフォーマットからインスタンスを生成します。

abstract to_dict() dict[source]#

結果を辞書へシリアライズします。

abstract to_sdk_format(target: str)[source]#

外部 SDK 向けのフォーマットに変換します。

例: target="qiskit"target="amplify" など

abstract visualize()[source]#

結果を可視化します。

QdExecutorBase#

class qudas.core.executor_base.QdExecutorBase(provider: str, provider_config: Dict[str, Any] | None = None, provider_map: Dict[str, str] | None = None, provider_config_map: Dict[str, Dict[str, Any]] | None = None)[source]#

Bases: ABC

ゲート/アニーリング方式を問わない Executor の共通インターフェース。

resolve_provider(label: str) str[source]#

Resolve the provider for a given block label.

resolve_provider_config(label: str) Dict[str, Any][source]#

Resolve the provider configuration for a given block label.

abstract run(input_data: QdInputBase) QdOutputBase[source]#

単一の入力を実行し、結果を返します。

run_split(input_data: QdInputBase) QdOutputBase[source]#

大規模入力の分割実行や並列実行を行うオプショナルメソッド。

デフォルト実装は NotImplementedError を送出します。 必要な場合にサブクラスでオーバーライドしてください。