qiskit.circuit.library.evolved_operator_ansatz
qiskit.circuit.library.evolved_operator_ansatz(operators, reps=1, evolution=None, insert_barriers=False, name='EvolvedOps', parameter_prefix='t', remove_identities=True, flatten=None)
Construire un ansatz à partir des évolutions des opérateurs.
Pour un ensemble d'opérateurs et de répétitions (reps), ce circuit est défini comme suit
où les exponentielles sont développées à l'aide de la formule du produit spécifiée par evolution.
Exemples :
from qiskit.circuit.library import evolved_operator_ansatz
from qiskit.quantum_info import Pauli
ops = [Pauli("ZZI"), Pauli("IZZ"), Pauli("IXI")]
ansatz = evolved_operator_ansatz(ops, reps=3, insert_barriers=True)
ansatz.draw("mpl")
Paramètres
- operators (BaseOperator | Sequence[BaseOperator]) – Les opérateurs pour évoluer. Il peut s'agir d'un seul opérateur ou d'une séquence d'opérateurs.
- reps (int) – Le nombre de fois qu'il faut répéter les opérateurs évolués.
- evolution (EvolutionSynthesis | None) – Une spécification de la synthèse d'évolution à utiliser pour le fichier
PauliEvolutionGate. Par défaut, il s'agit d'une trotterisation de premier ordre. Notez que les opérateurs de typeOperatorsont développés à l'aide de la méthodeHamiltonianGatecar il n'y a pas de termes hamiltoniens à développer dans la trotterisation. - insert_barriers (bool) – L'insertion ou non de barrières entre chaque évolution.
- name (str) – Le nom du circuit.
- parameter_prefix (str | Sequence[str]) – Définissez les noms des paramètres du circuit. S'il s'agit d'une chaîne de caractères, le même préfixe sera utilisé pour chaque paramètre. Il peut également s'agir d'une liste permettant de spécifier un préfixe pour chaque opérateur.
- remove_identities (bool) – Si
True, ignorez les opérateurs d'identité (notez que nous ne vérifions pas les entrées)Operatorles entrées). Cette opération permet également de supprimer les paramètres associés aux identités. - flatten (bool | None) – Si
True, un circuit plat est renvoyé au lieu d'être imbriqué dans plusieurs couches d'objets de porte. La valeurFalseest nettement moins performante, en particulier pour la liaison des paramètres, mais peut être souhaitable pour une visualisation plus propre.
Type de retour
Cette page a-t-elle été utile ?
Signaler un bogue, une coquille ou proposer du contenu sur GitHub.