Skip to main content
IBM Quantum Platform

Passages du transpileur

Ce module propose différents passages de transcompilation pour les étapes décrites dans qiskit_fermions.transpiler.


Étapes d'optimisation

Ces passes permettent différents types d'optimisation des instances FermionicDAGCircuit .

MergeOrbitalRotations()Une étape de transpilation consistant à fusionner des séries de rotations orbitales consécutives en une seule.
MergeSlaterDeterminantPreparation()Une étape de transpilation fusionnant une initialisation et une rotation en une préparation du déterminant de Slater.
QDriftTrotterization(num_terms, *[,...] )Une passe de transpilation visant à « trotteriser » les portes Evolution via le protocole « qDRIFT ».
RelabelModes( [permutation, solveur] )Une passe de transpilation visant à renommer les modes fermioniques.

Étapes de mise en page

Ces passes sont destinées à faciliter la configuration des paramètres F2QLayout généraux du processus de transpilation. Ce paramètre doit être saisi dans le champ f2q_layout du property_set, d'où il sera lu lors des passes de synthèse.

TrivialF2QLayout()Cela permet de mapper de manière triviale les modes fermioniques nn aux qubits nn.
CustomF2QLayout(mise en page)Définit la valeur fournie par l'utilisateur dans F2QLayout le transcompilateur.

Passes de synthèse

La logique principale permettant de mapper un FermionicDAGCircuit vers un DAGCircuit est mise en œuvre par un seul passage de synthèse, à savoir le F2QSynthesis. Son principe est similaire à celui de Qiskit, car HighLevelSynthesis il se contente de parcourir les instructions FermionicDAGCircuit et de confier la conversion en instructions basées sur les qubits aux plugins de passage de transpileur pour chacun des types rencontrés FermionicGate.

F2QSynthesis( [config] )Une étape de transpilation visant à mapper les instructions des circuits basés sur des fermions vers celles basées sur des qubits.
F2QSynthesisConfigLe type de dictionnaire utilisé pour configurer le F2QSynthesis.methods.
Cette page a-t-elle été utile ?
Signaler un bogue, une coquille ou proposer du contenu sur GitHub.