MCXSynthesisNDirtyI15
class qiskit.transpiler.passes.synthesis.hls_plugins.MCXSynthesisNDirtyI15
Bases: HighLevelSynthesisPlugin
Plugin de síntesis para una puerta X multicontrolada basado en el artículo de Iten et al. (2016).
Véase [1] para más detalles.
El nombre de este plugin es :mcx.n_dirty_i15 que puede usarse como clave en un HLSConfig para utilizar este método con HighLevelSynthesis.
Para una puerta X multicontrolada con qubits de control, este método de síntesis requiere qubits auxiliares sucios adicionales. El circuito sintetizado consta de qubits y como máximo puertas CX. Para se utilizan en su lugar circuitos explícitos eficientes.
El complemento admite las siguientes opciones específicas:
- num_clean_ancillas: El número de qubits auxiliares limpios disponibles.
- num_dirty_ancillas: El número de qubits auxiliares sucios disponibles.
- fase_relativa: Cuando se establece en
True, el método aplica la puerta X multicontrolada optimizada hasta una fase relativa, de forma que, por el lema 8 de [1], las fases relativas deaction partse cancelan con las fases dereset part. - action\only: cuando se establece en
True, el método sólo aplica elaction partdel lema 8 de [1].
Referencias
- Iten y otros. et al., Circuitos cuánticos para isometrías, Phys. Rev. A 93, 23 de marzo de 2018 (2016), arXiv:1501.06911
Métodos
run
run(high_level_object, coupling_map=None, target=None, qubits=None, **options)
Ejecuta la síntesis para la puerta MCX dada.