Complementos de la pasada del transpilador
La fase del transpilador F2QSynthesis expone una interfaz de complemento (véase F2QSynthesisPlugin) a través de la cual se pueden registrar implementaciones para la conversión de instrucciones basadas en fermiones a otras basadas en qubits.
Los complementos disponibles se gestionan mediante el F2QSynthesisPluginManager. Es fundamental elegir la combinación adecuada de complementos de síntesis, ¡y la fase de transpilación F2QSynthesis no tiene definidos ningún complemento por defecto! Para ello, consulta el transpilador presets.
F2QSynthesisPlugin(*args, **kwargs) | El protocolo para los complementos de la etapa del transpilador F2QSynthesis . |
F2QSynthesisPluginManager() | Un sencillo gestor de los complementos de síntesis de fermiones a qubits instalados. |
Los complementos que se vayan a utilizar en tiempo de ejecución deben registrarse en el atributo F2QSynthesis.methods . Esto se puede hacer fácilmente mediante el argumento config de, que F2QSynthesis especifica los complementos que se van a utilizar desde el, o F2QSynthesisPluginManager bien se puede hacer manualmente escribiendo directamente F2QSynthesis.methods en.
En la tabla siguiente se enumeran los complementos de síntesis integrados, ordenados según el sobre el FermionicGate que actúan:
Nombre de la instrucción del circuito | Nombre del método del complemento | Referencia |
|---|---|---|
Evolution | MapperFn | MapperFnEvolutionSynthesis |
InitializeModes | TrivialOccupation | TrivialOccupationInitializeModesSynthesis |
OrbitalRotation | GivensDecomposition | GivensDecompositionOrbitalRotationSynthesis |
PrepareSlaterDeterminant | GivensDecompositionSlater | GivensDecompositionSlaterDeterminantSynthesis |
GivensDecompositionOrbitalRotationSynthesis() | A F2QSynthesisPlugin para la transpilación OrbitalRotation a rotaciones de Givens. |
GivensDecompositionSlaterDeterminantSynthesis(*) | Una F2QSynthesisPlugin para la transpilación PrepareSlaterDeterminant. |
MapperFnEvolutionSynthesis(mapper_fn[,...] ) | A F2QSynthesisPlugin para la transpilación Evolution bajo una asignación personalizada. |
TrivialOccupationInitializeModesSynthesis() | Una opción para F2QSynthesisPlugin la transpilación con InitializeModes una ocupación mínima. |