simplify
simplify(mapper_fn)
Enveloppe une fonction de mappage de manière à simplifier l'opérateur qu'elle renvoie.
La simplification des fusions permet de regrouper les termes de Pauli en double et, par la même occasion, de classer les termes selon un ordre canonique. Il est utile de demander expressément cet ordre dans deux situations :
- Il n'est pas garanti que l'ordre des termes généré par un mappeur non simplifié reste stable d'une exécution à l'autre, car les opérateurs du noyau Rust ne préservent pas l'ordre dans lequel leurs termes ont été ajoutés. Une formule de produit synthétise les termes dans l'ordre où elle les reçoit; ainsi, un mappeur non simplifié peut générer à chaque fois un circuit différent (bien qu'aussi valable). La simplification permet d'y voir plus clair.
- Elle fusionne les termes correspondant à la même chaîne de Pauli, ce qui raccourcit le circuit synthétisé lorsqu'un mappeur génère de tels doublons.
Utilisez-le pour encadrer n'importe quel élément MapperFunction:
MapperFnEvolutionSynthesis(simplify(jordan_wigner))Paramètres
mapper_fn (Callable[[OperatorTrait, int], SparseObservable]) – la fonction de mappage à encapsuler.
Retours
Une fonction de mappage qui simplifie tout ce que renvoie mapper_fn .
Type de retour
Callable [[ OperatorTrait, int ], SparseObservable ]
Cette page a-t-elle été utile ?
Signaler un bogue, une coquille ou proposer du contenu sur GitHub.