Skip to main content
IBM Quantum Platform

Plugin del passaggio del transpiler

Il passaggio del transpiler F2QSynthesis espone un'interfaccia plugin (vedi F2QSynthesisPlugin) attraverso la quale è possibile registrare le implementazioni per la mappatura delle istruzioni basate sui fermioni a quelle basate sui qubit.

I plugin disponibili sono gestiti dal F2QSynthesisPluginManager. La scelta della giusta combinazione di plugin di sintesi è fondamentale e il passaggio di transpilazione F2QSynthesis non ha alcun plugin predefinito! A tal fine, consultare il transpiler presets.

Rubrica 1
Rubrica 2
F2QSynthesisPlugin(*args, **kwargs)Il protocollo per i plugin relativi alla fase di transpilazione F2QSynthesis .
F2QSynthesisPluginManager()Un semplice gestore dei plugin installati per la sintesi da fermioni a qubit.

I plugin da utilizzare in fase di esecuzione devono essere registrati nell'attributo F2QSynthesis.methods . Ciò può essere fatto facilmente tramite l'argomento config che F2QSynthesis specifica i plugin da utilizzare dal oppure F2QSynthesisPluginManager può essere fatto manualmente scrivendo direttamente F2QSynthesis.methods nel.

La tabella seguente elenca i plugin di sintesi integrati, ordinati in base all’oggetto su FermionicGate cui agiscono:

Rubrica 1
Rubrica 2
GivensDecompositionOrbitalRotationSynthesis()A F2QSynthesisPlugin per la trasposizione OrbitalRotation nelle rotazioni di Givens.
GivensDecompositionSlaterDeterminantSynthesis(*)A F2QSynthesisPlugin per la transpilazione PrepareSlaterDeterminant.
MapperFnEvolutionSynthesis(mapper_fn[,...] )A F2QSynthesisPlugin per la transpilazione Evolution con una mappatura personalizzata.
TrivialOccupationInitializeModesSynthesis()A F2QSynthesisPlugin per la transpilazione InitializeModes con occupazione minima.

Funzioni di supporto aggiuntive

L'ordine dei termini di Pauli generato da una funzione di mappatura viene mantenuto durante la sintesi, poiché una formula di prodotto sintetizza i termini nell'ordine in cui li riceve. Questi adattatori avvolgono una funzione di mappatura per scegliere quell'ordine:

Rubrica 1
Rubrica 2
group_wise(mapper_fn)Avvolge una funzione di mappatura in modo che mappi un operatore un gruppo alla volta.
simplify(mapper_fn)Avvolge una funzione mapper in modo da semplificare l'operatore che restituisce.
Questa pagina è stata utile?
Segnala un bug, un errore di battitura o richiedi contenuti su GitHub.