MapperFnEvolutionSynthesis
class MapperFnEvolutionSynthesis(mapper_fn, product_formula=None)
Bases : object
A F2QSynthesisPlugin pour la transcompilation Evolution selon un mappage personnalisé.
Ce plugin associe l' 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' de la porte Evolution , avec le même temps d'évolution .
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 (Nonevaleur par défaut), c'est la synthèse par défaut de la porte elle-même qui est utilisée (uneLieTrotterdé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 :
- l'opérateur à mapper.
- le nombre de qubits sur lesquels l'opérateur résultant doit être défini.
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' , avec le temps d'évolution d'origine et la product_formula synthèse.
Paramètres
- in_node (DAGOpNode) – l'instruction de circuit basée sur les fermions d'entrée. Lorsque ce plugin est appelé, l'attribut
in_node.opdoit être de typeEvolution. - out_dag (DAGCircuit) – le circuit de sortie basé sur des qubits.
- f2q_layout (dict[QuantumRegister, QuantumRegister]) – le paramètre
F2QLayoutde transpilation globale.
Type de retour
Aucun
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
- in_node (DAGOpNode)
- out_dag (DAGCircuit)
- f2q_layout (dict[QuantumRegister, QuantumRegister])
Type de retour
Aucun