Passaggi del transpiler
Questo modulo offre diversi passaggi di transpilazione per le fasi illustrate in qiskit_fermions.transpiler.
Passaggi di ottimizzazione
Questi passaggi consentono diversi tipi di ottimizzazione delle istanze FermionicDAGCircuit .
MergeOrbitalRotations() | Un passaggio di transpilazione che unisce una serie di rotazioni orbitali consecutive in un’unica rotazione. |
MergeSlaterDeterminantPreparation() | Un passaggio di transpilazione che unisce un'inizializzazione e una rotazione in una preparazione del determinante di Slater. |
QDriftTrotterization(num_terms, *[,...] ) | Un passaggio di transpilazione per "Trotterizzare" i gate Evolution tramite il protocollo qDRIFT. |
RelabelModes( [permutazione, risolutore] ) | Un passaggio di transpilazione per riassegnare le etichette alle modalità fermioniche. |
Passaggi di impaginazione
Questi passaggi sono pensati per facilitare la configurazione delle impostazioni F2QLayout globali del processo di transpilazione. Questa impostazione deve essere inserita nel campo f2q_layout del property_set, da dove verrà letta durante i passaggi di sintesi.
TrivialF2QLayout() | Mappa in modo banale le modalità fermioniche ai qubit . |
CustomF2QLayout(impaginazione) | Imposta il valore fornito dall'utente F2QLayout nel transpiler. |
Passaggi di sintesi
La logica principale per la mappatura da un FermionicDAGCircuit a un DAGCircuit è implementata da un unico passaggio di sintesi, ovvero il F2QSynthesis. È concettualmente simile a quello di Qiskit, poiché HighLevelSynthesis si limita a scorrere le istruzioni FermionicDAGCircuit e a delegare la mappatura alle istruzioni basate sui qubit ai plugin del Transpiler Pass per ciascuno dei tipi di dati incontrati FermionicGate.
F2QSynthesis( [config] ) | Un passaggio di transpilazione per mappare le istruzioni dei circuiti basati sui fermioni a quelle basate sui qubit. |
F2QSynthesisConfig | Il tipo di dizionario utilizzato per configurare il F2QSynthesis.methods. |