LayerwiseEvolver
class LayerwiseEvolver(evolution_state, layers, *args, **kwargs)
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
TEBDEvolverconstructeur. - kwargs - tout autre argument de type mot-clé sera transmis au
TEBDEvolverconstructeur.
Attributs
layers
Les couches d'interactions utilisées pour mettre en œuvre l'évolution temporelle.