build_excitation_span_minimization_model
build_excitation_span_minimization_model(excitations, num_modes, *, objective='multi', mix_delta=0.1)
Construire un modèle Pyomo permettant de classer les modes fermioniques de manière à minimiser les intervalles d'excitation.
Le modèle construit une permutation dans laquelle chaque index de mode d'origine est affecté à une seule et unique position dans un ordre linéaire. Pour chaque tuple d'excitation à 2 modes et à 4 modes, l'étendue des positions occupées est minimisée en fonction de l'objectif choisi.
La liste excitations est prétraitée comme suit :
- les indices qui apparaissent deux fois dans le même tuple sont supprimés
- les tuples obtenus, de longueur 0 ou 1, sont ignorés; par conséquent, aucune contrainte de distance n'est imposée dans le modèle de minimisation obtenu
- Par conséquent, seules des tuples post-traitées d'une longueur de 2 ou 4 sont attendues
Pour une analyse et une explication plus détaillées du raisonnement qui sous-tend ce prétraitement, veuillez vous reporter à la section III.B de cet article.
Paramètres
-
excitations (Sequence[tuple[int, int] | tuple[int, int, int, int]]) – une suite de tuples d'indices d'excitation sur les indices des modes fermioniques.
-
num_modes (int) – le nombre total de modes fermioniques à classer.
-
objective (Literal['minmax', 'multi', 'avg']) –
le mode objectif sélectionné. Il peut s'agir de l'un des littéraux suivants :
minmax: réduit au minimum l'amplitude maximale d'excitation.avg: réduit au minimum la durée moyenne d'excitation.multi: minimisemax_span + mix_delta * average_span.
-
mix_delta (float) – le poids de mélange utilisé dans le cas de
objective="multi".
Retours
Un modèle d'optimisation Pyomo intégrant les variables de permutation, les variables de span, les contraintes et l'objectif. Résolvez ce modèle à l'aide d'un solveur Pyomo afin d'obtenir un ordre optimisé.
Augmentations
- ValueError – si un tuple d'excitation post-traité a une longueur différente de 2 ou 4.
- ValueError – si
objectivel'on choisit une inconnue.
Type de retour