Skip to main content
IBM Quantum Platform

LayerwiseEvolver

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

GitHub

Bases : TEBDEvolver

Un cas particulier de la TEBDEvolver basé sur des modèles d'évolution en couches.

Comme l'explique également le document quimb_layerscette implémentation extrait les mises à jour alternées des obligations paires/impaires implémentées dans l'original quimb.tensor.TEBD pour en faire la responsabilité de l'utilisateur final. Pour ce faire, il remplace l'unique hamiltonien fourni à l'instance TEBDEvolver par une séquence d'instances LayerModel instances. Chacune de ces instances codifie une seule couche d' interactions. Ceux-ci devraient imposer la mise à jour alternée des liens pairs et impairs du réseau tensoriel sous-jacent.

Cette interface plus complexe est motivée par le fait qu'elle offre beaucoup plus de flexibilité et permet aux utilisateurs de définir des formules de produits Trotter personnalisées plutôt que d'être limités à celles implémentées directement par quimb .

Initialiser une LayerwiseEvolver instance.

Paramètres

  • evolution_state (quimb_tebd.MPOState | MatrixProductState) – transmis à TEBDEvolver. Veuillez vous référer à sa documentation pour plus de détails.
  • layers (list[LayerModel]) – la liste des modèles décrivant des couches uniques d'interactions. Voir ci-dessus ainsi que les explications fournies dans quimb_layers.
  • args - tout autre argument positionnel sera transmis au constructeur TEBDEvolver constructeur.
  • kwargs - tout autre argument de type mot-clé sera transmis au TEBDEvolver constructeur.

Attributs

layers

Les couches d'interactions utilisées pour mettre en œuvre l'évolution temporelle.


Méthodes

step

step()

GitHub

Effectuer un seul pas de temps de la TEBD.

Cela permettra d'itérer sur les layers et appliquera leur interaction à l'état interne.

Type de retour

Aucun

Cette page a-t-elle été utile ?
Signaler un bogue, une coquille ou proposer du contenu sur GitHub.