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)

Erstellen Sie ein Pyomo-Modell zur Anordnung fermionischer Moden, um die Anregungsspannen zu minimieren.

Das Modell erzeugt eine Permutation, bei der jeder ursprüngliche Modusindex genau einer Position in einer linearen Reihenfolge zugeordnet wird. Für jedes 2-Modus- und 4-Modus-Anregungs-Tupel wird die Spannweite der besetzten Positionen entsprechend dem gewählten Ziel minimiert.

Anmerkung

Die Liste excitations wird wie folgt vorverarbeitet:

  • Indizes, die innerhalb desselben Tupels zweimal vorkommen, werden aufgehoben
  • Die resultierenden Tupel der Länge 0 oder 1 werden ignoriert, sodass im resultierenden Minimierungsmodell keine Abstandsbeschränkung auferlegt wird
  • Folglich werden nur nachbearbeitete Tupel der Länge 2 oder 4 erwartet
Siehe auch

Eine ausführlichere Erörterung und Erläuterung der Gründe für diese Vorverarbeitung finden Sie im Abschnitt „ III.B “ dieses Artikels.

Parameter

  • excitations (Sequence[tuple[int, int] | tuple[int, int, int, int]]) – eine Folge von Erregungsindex-Tupeln über die Indizes der fermionischen Moden.

  • num_modes (int) – die Gesamtzahl der zu ordnenden fermionischen Moden.

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

    der gewählte Objektivmodus. Dies kann eines der folgenden Literale sein:

    • minmax: minimiert die maximale Anregungsspanne.
    • avg: minimiert die durchschnittliche Anregungsdauer.
    • multi: minimiert max_span + mix_delta * average_span.
  • mix_delta (float) – das im Fall von … verwendete Mischgewicht objective="multi".

Rückgabe

Ein Pyomo-Optimierungsmodell, das die Permutationsvariablen, Spannweitenvariablen, Nebenbedingungen und das Ziel enthält. Lösen Sie dieses Modell mit einem Pyomo-Löser, um eine optimierte Reihenfolge zu erhalten.

Erhöhungen

  • ValueError – wenn ein nachbearbeitetes Anregungstupel eine Länge hat, die nicht 2 oder 4 beträgt.
  • ValueError – wenn eine unbekannte Größe gewählt objective wird.

Rückgabetyp

pyomo.core.base.PyomoModel.ConcreteModel

War diese Seite hilfreich?
Melden Sie auf GitHub einen Fehler, einen Tippfehler oder fordern Sie Inhalte an.