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.
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:
Nome dell'istruzione del circuito | Nome del metodo del plugin | Riferimenti |
|---|---|---|
Evolution | MapperFn | MapperFnEvolutionSynthesis |
InitializeModes | TrivialOccupation | TrivialOccupationInitializeModesSynthesis |
OrbitalRotation | GivensDecomposition | GivensDecompositionOrbitalRotationSynthesis |
PrepareSlaterDeterminant | GivensDecompositionSlater | GivensDecompositionSlaterDeterminantSynthesis |
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. |