Skip to main content
IBM Quantum Platform

MapperFnEvolutionSynthesis

class MapperFnEvolutionSynthesis(mapper_fn, product_formula=None)

Bases : object

A F2QSynthesisPlugin pour la transcompilation Evolution selon un mappage personnalisé.

Ce plugin associe l' HH de l'hamiltonien fermionique de la porte Evolution d'entrée à un opérateur de qubit à l'aide de mapper_fn et émet un PauliEvolutionGate. Il préserve ainsi la convention d' eitHe^{-i t H} de la porte Evolution , avec le même temps d'évolution tt.

La manière dont cette expression est PauliEvolutionGate ensuite décomposée en portes de base est régie par la formule de produit transmise en tant que product_formula. Le fait de conserver la valeur par défaut (None) revient à utiliser la synthèse par défaut PauliEvolutionGatede l’élément (une LieTrotter décomposition du premier ordre avec une seule répétition). Le fait de fournir un terme explicite EvolutionSynthesis – par exemple un terme d'ordre supérieur ou SuzukiTrotter comportant plusieurs répétitions – permet de choisir une formule de produit de Trotter-Suzuki différente, ce qui permet de réduire l'erreur de Trotter au prix d'une plus grande profondeur de circuit.

L'initialisation de ce plugin de passe de transcompilation peut s'effectuer à l'aide des arguments indiqués ci-dessous.

Paramètres

  • mapper_fn (MapperFunction) – la fonction de correspondance entre les fermions et les qubits.
  • product_formula (EvolutionSynthesis | None) – la formule du produit permettant de synthétiser l'émissif PauliEvolutionGate. Si ( None valeur par défaut), c'est la synthèse par défaut de la porte elle-même qui est utilisée (une LieTrotter décomposition du premier ordre avec une seule répétition).

Attributs

mapper_fn

Type: MapperFunction

La fonction de correspondance entre les fermions et les qubits.

Les deux arguments d'entrée doivent être les suivants :

  1. l'opérateur à mapper.
  2. le nombre de qubits sur lesquels l'opérateur résultant doit être défini.
Remarque

Il incombe à l'utilisateur de s'assurer que cette fonction est bien synchronisée avec le paramètre F2QLayout global de transpilation.

product_formula

Type : EvolutionSynthesis | None

La formule du produit utilisée pour synthétiser le signal émis PauliEvolutionGate, ou bien pour None s'en remettre à la synthèse par défaut de cette porte.


Méthodes

run

run(in_node, out_dag, *, f2q_layout)

Exécute ce plugin de transpilation.

L'hamiltonien fermionique de la porte Evolution d'entrée est mappé sur un opérateur de qubit via mapper_fn, simplifié, puis ajouté à out_dag en tant que mettant PauliEvolutionGate en œuvre l' eitHe^{-i t H}, avec le temps d'évolution d'origine tt et la product_formula synthèse.

Paramètres

Type de retour

Aucun

Voir aussi

Consultez la documentation de F2QSynthesisPlugin pour obtenir des explications plus détaillées sur les arguments.

Augmentations

NotImplementedError – lorsqu’il agit in_node sur des modes fermioniques répartis sur plusieurs instances FermionicRegister .

Paramètres

Type de retour

Aucun

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