QdInputBase - Qudas 0.2.0 documentation

Hide navigation sidebar
Hide table of contents sidebar
Back to top
Toggle table of contents sidebar

# QdInputBase

class qudas.core.input_base.QdInputBase

  Bases: `ABC`

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

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

  abstract classmethod from_dict(data: dict) → QdInputBase

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

  abstract to_dict() → dict

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

  to_ir() → Any

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

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

# QdOutputBase

class qudas.core.output_base.QdOutputBase

  Bases: `ABC`

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

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

  abstract classmethod from_sdk_format(sdk_obj: Any, target: str) → QdOutputBase

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

  abstract to_dict() → dict

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

  abstract to_sdk_format(target: str)

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

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

  abstract visualize()

    結果を可視化します。

# 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)

  Bases: `ABC`

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

  resolve_provider(label: str) → str

    Resolve the provider for a given block label.

  resolve_provider_config(label: str) → Dict[str, Any]

    Resolve the provider configuration for a given block label.

  abstract run(input_data: QdInputBase) → QdOutputBase

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

  run_split(input_data: QdInputBase) → QdOutputBase

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

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