Skip to main content
IBM Quantum Platform

build_excitation_span_minimization_model

build_excitation_span_minimization_model(excitations, num_modes, *, objective='multi', mix_delta=0.1)

励起スパンを最小化するために、フェルミオンモードを並べ替えるPyomoモデルを構築する。

このモデルは、元のモードの各インデックスが、線形順序における正確に1つの位置に割り当てられるような順列を構築する。 すべての2モードおよび4モードの励起タプルについて、選択された目的関数に従って、占有位置のスパンが最小化される。

このリスト excitations は、次のように前処理されます:

  • 同じタプル内で2回出現するインデックスは相殺される
  • 長さが 0 または 1 の結果のタプルは無視されるため、結果として得られる最小化モデルには距離制約が課されない
  • したがって、長さが2または4のポストプロセス済みタプルのみが想定されます
関連資料

この前処理の背景にある考え方について、より詳細な考察と説明については、 本論文の III.B のセクションを参照してください。

パラメーター

  • excitations (Sequence[tuple[int, int] | tuple[int, int, int, int]]) – フェルミオンモードのインデックスにわたる励起インデックスのタプルの列。

  • num_modes (int) – 整列させるフェルミオンモードの総数。

  • objective (Literal['minmax', 'multi', 'avg']) –

    選択された目的モード。 これは、以下のリテラルのいずれかである可能性があります:

    • minmax: 最大励起スパンを最小限に抑えます。
    • avg: 平均励起スパンを最小限に抑える。
    • multi: を最小限に抑えます max_span + mix_delta * average_span
  • mix_delta (float) – …の場合に使用される混合重量 objective="multi"

戻り値

順列変数、スパン変数、制約条件、および目的関数を記述したPyomo最適化モデル。 このモデルをPyomoソルバーで解き、最適化された発注計画を導き出してください。

昇給

  • ValueError – 後処理された励起タプルの長さが 2 または 4 以外の場合。
  • ValueError – 未知数が選ばれた objective 場合。

戻りの型

pyomo.core.base.PyomoModel.ConcreteModel

このページは役に立ちましたか?
バグや誤字の報告、またはコンテンツの要求はGitHubで行ってください。