Skip to main content
IBM Quantum Platform

LayerwiseEvolver

class LayerwiseEvolver(evolution_state, layers, *args, **kwargs)

GitHub

Basen: TEBDEvolver

Ein Spezialfall des TEBDEvolver auf der Grundlage schichtweiser Evolutionsmodelle.

Wie auch in quimb_layerserläutert, werden bei dieser Implementierung die abwechselnden geraden/ungeraden Aktualisierungen der Anleihen, die im Original quimb.tensor.TEBD in die Verantwortung des Endnutzers. Dies geschieht, indem der einzelne Hamiltonian, der der TEBDEvolver instanz durch eine Folge von LayerModel instanzen. Jede einzelne dieser Instanzen kodiert eine einzige Ebene von Interaktionen. Diese sollten die abwechselnde Aktualisierung von geraden und ungeraden Bindungen des zugrunde liegenden Tensornetzes erzwingen.

Die Motivation für diese kompliziertere Schnittstelle ist, dass sie viel mehr Flexibilität bietet und es den Benutzern ermöglicht, eigene Trotter-Produktformeln zu definieren, anstatt auf die von quimb direkt implementierten Formeln beschränkt zu sein.

Initialisieren Sie eine LayerwiseEvolver instanz.

Parameter

  • evolution_state (quimb_tebd.MPOState | MatrixProductState) – weitergeleitet an TEBDEvolver. Weitere Einzelheiten entnehmen Sie bitte der Dokumentation.
  • layers (list[LayerModel]) – die Liste der Modelle, die einzelne Schichten von Interaktionen beschreiben. Siehe oben sowie die Erläuterungen in quimb_layers.
  • args - alle weiteren Positionsargumente werden an den TEBDEvolver konstruktor weitergeleitet.
  • kwargs - alle weiteren Schlüsselwortargumente werden an den TEBDEvolver konstruktor weitergeleitet.

Attribute

layers

Die Interaktionsebenen, die zur Umsetzung der zeitlichen Entwicklung verwendet werden.


Methoden

step

step()

GitHub

Führen Sie einen einzelnen Zeitschritt von TEBD durch.

Dies führt zu einer Iteration über die layers und wendet deren Interaktion auf den internen Zustand an.

Rückgabetyp

Keine

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